/*#*
*#* $Log$
+ *#* Revision 1.7 2005/11/27 03:04:38 bernie
+ *#* Add POSIX emulation for IRQ_* macros; Add Qt support.
+ *#*
+ *#* Revision 1.6 2005/07/19 07:26:49 bernie
+ *#* Add missing #endif.
+ *#*
+ *#* Revision 1.5 2005/06/27 21:24:17 bernie
+ *#* CPU_CSOURCE(): New macro.
+ *#*
*#* Revision 1.4 2005/06/14 06:15:10 bernie
*#* Add X86_64 support.
*#*
/*! Macro to include cpu-specific versions of the headers. */
#define CPU_HEADER(module) PP_STRINGIZE(PP_CAT3(module, _, CPU_ID).h)
+/*! Macro to include cpu-specific versions of implementation files. */
+#define CPU_CSOURCE(module) PP_STRINGIZE(PP_CAT3(module, _, CPU_ID).c)
+
#if CPU_I196
#elif CPU_X86
#define NOP asm volatile ("nop")
- #define IRQ_DISABLE FIXME
- #define IRQ_ENABLE FIXME
- #define IRQ_SAVE_DISABLE(x) FIXME
- #define IRQ_RESTORE(x) FIXME
- typedef uint32_t cpuflags_t; // FIXME
+ /* Get IRQ_* definitions from the hosting environment. */
+ #include <cfg/os.h>
+ #if OS_EMBEDDED
+ #define IRQ_DISABLE FIXME
+ #define IRQ_ENABLE FIXME
+ #define IRQ_SAVE_DISABLE(x) FIXME
+ #define IRQ_RESTORE(x) FIXME
+ typedef uint32_t cpuflags_t; // FIXME
+ #endif /* OS_EMBEDDED */
+
#define CPU_REGS_CNT 7
#define CPU_STACK_GROWS_UPWARD 0
#elif CPU_PPC
#define NOP asm volatile ("nop" ::)
+
#define IRQ_DISABLE FIXME
#define IRQ_ENABLE FIXME
#define IRQ_SAVE_DISABLE(x) FIXME
}
#define IRQ_GETSTATE() irq_getstate()
-
-
typedef uint16_t cpuflags_t;
typedef unsigned int cpustack_t;
#else /* CPU_REG_BITS > 32 */
#define SIZEOF_PTR 8
#endif
+#endif
#ifndef CPU_BITS_PER_CHAR
#define CPU_BITS_PER_CHAR (SIZEOF_CHAR * 8)