Rearrange #ifdefs a bit, so SIGALTSTACK overrides CPU-specific threading.
Change-Id: Ie3661f53bd7576d965fcc52facb532199b87c017
This commit is contained in:
parent
cbd44f4bc4
commit
268b725c40
2 changed files with 26 additions and 29 deletions
|
@ -1,4 +1,11 @@
|
||||||
#if defined(CPU_ARM)
|
/* First some generic implementations */
|
||||||
|
#if defined(HAVE_WIN32_FIBER_THREADS)
|
||||||
|
#include "thread-win32.c"
|
||||||
|
#elif defined(HAVE_SIGALTSTACK_THREADS)
|
||||||
|
#include "thread-unix.c"
|
||||||
|
|
||||||
|
/* Now the CPU-specific implementations */
|
||||||
|
#elif defined(CPU_ARM)
|
||||||
#include "arm/thread.c"
|
#include "arm/thread.c"
|
||||||
#elif defined(CPU_COLDFIRE)
|
#elif defined(CPU_COLDFIRE)
|
||||||
#include "m68k/thread.c"
|
#include "m68k/thread.c"
|
||||||
|
@ -7,15 +14,6 @@
|
||||||
#elif defined(CPU_MIPS)
|
#elif defined(CPU_MIPS)
|
||||||
#include "mips/thread.c"
|
#include "mips/thread.c"
|
||||||
#else
|
#else
|
||||||
|
/* Nothing? OK, give up */
|
||||||
/* generic thread.c */
|
|
||||||
|
|
||||||
#if defined(HAVE_WIN32_FIBER_THREADS)
|
|
||||||
#include "thread-win32.c"
|
|
||||||
#elif defined(HAVE_SIGALTSTACK_THREADS)
|
|
||||||
#include "thread-unix.c"
|
|
||||||
#else
|
|
||||||
#error Missing thread impl
|
#error Missing thread impl
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -23,18 +23,10 @@
|
||||||
#define __ASM_THREAD_H__
|
#define __ASM_THREAD_H__
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#if defined(CPU_ARM)
|
|
||||||
#include "arm/thread.h"
|
|
||||||
#elif defined(CPU_COLDFIRE)
|
|
||||||
#include "m68k/thread.h"
|
|
||||||
#elif CONFIG_CPU == SH7034
|
|
||||||
#include "sh/thread.h"
|
|
||||||
#elif defined(CPU_MIPS)
|
|
||||||
#include "mips/thread.h"
|
|
||||||
#else
|
|
||||||
|
|
||||||
/* generic thread.h */
|
/* generic thread.h */
|
||||||
|
|
||||||
|
#if defined(HAVE_WIN32_FIBER_THREADS) || defined(HAVE_SIGALTSTACK_THREADS)
|
||||||
|
|
||||||
struct regs
|
struct regs
|
||||||
{
|
{
|
||||||
void (*start)(void); /* thread's entry point, or NULL when started */
|
void (*start)(void); /* thread's entry point, or NULL when started */
|
||||||
|
@ -44,14 +36,21 @@ struct regs
|
||||||
uintptr_t stack; /* pointer to start of the stack buffer */
|
uintptr_t stack; /* pointer to start of the stack buffer */
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef HAVE_SIGALTSTACK_THREADS
|
#ifdef HAVE_SIGALTSTACK_THREADS
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
/* MINSIGSTKSZ for the OS to deliver the signal + 0x3000 for us */
|
/* MINSIGSTKSZ for the OS to deliver the signal + 0x3000 for us */
|
||||||
#define DEFAULT_STACK_SIZE (MINSIGSTKSZ+0x3000) /* Bytes */
|
#define DEFAULT_STACK_SIZE (MINSIGSTKSZ+0x3000) /* Bytes */
|
||||||
#elif defined(HAVE_WIN32_FIBER_THREADS)
|
#elif defined(HAVE_WIN32_FIBER_THREADS)
|
||||||
#define DEFAULT_STACK_SIZE 0x1000 /* Bytes */
|
#define DEFAULT_STACK_SIZE 0x1000 /* Bytes */
|
||||||
|
#endif
|
||||||
|
#elif defined(CPU_ARM)
|
||||||
|
#include "arm/thread.h"
|
||||||
|
#elif defined(CPU_COLDFIRE)
|
||||||
|
#include "m68k/thread.h"
|
||||||
|
#elif CONFIG_CPU == SH7034
|
||||||
|
#include "sh/thread.h"
|
||||||
|
#elif defined(CPU_MIPS)
|
||||||
|
#include "mips/thread.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __ASM_THREAD_H__ */
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue