/*#*
*#* $Log$
+ *#* Revision 1.25 2004/12/08 08:31:02 bernie
+ *#* CPU_HARVARD: Define to 1 for AVR and DSP56K.
+ *#*
+ *#* Revision 1.24 2004/12/08 08:04:13 bernie
+ *#* Doxygen fixes.
+ *#*
+ *#* Revision 1.23 2004/11/16 22:41:58 bernie
+ *#* Support 64bit CPUs.
+ *#*
+ *#* Revision 1.22 2004/11/16 21:57:59 bernie
+ *#* CPU_IDLE: Rename from SCHEDULER_IDLE.
+ *#*
*#* Revision 1.21 2004/11/16 21:34:25 bernie
*#* Commonize obsolete names for IRQ macros; Doxygen fixes.
*#*
#define CPU_STACK_GROWS_UPWARD 1
#define CPU_SP_ON_EMPTY_SLOT 0
#define CPU_BYTE_ORDER CPU_BIG_ENDIAN
+ #define CPU_HARVARD 1
/* Memory is word-addessed in the DSP56K */
#define CPU_BITS_PER_CHAR 16
#define CPU_STACK_GROWS_UPWARD 0
#define CPU_SP_ON_EMPTY_SLOT 1
#define CPU_BYTE_ORDER CPU_LITTLE_ENDIAN
+ #define CPU_HARVARD 1
/*!
* Initialization value for registers in stack frame.
/*!
- * \name Default type sizes
- *
- * \def SIZEOF_CHAR SIZEOF_SHORT SIZEOF_INT SIZEOF_LONG SIZEOF_PTR
- * \def CPU_BITS_PER_CHAR CPU_BITS_PER_SHORT CPU_BITS_PER_INT
- * \def CPU_BITS_PER_LONG CPU_BITS_PER_PTR
+ * \name Default type sizes.
*
* These defaults are reasonable for most 16/32bit machines.
* Some of these macros may be overridden by CPU-specific code above.
#endif /* !SIZEOF_INT */
#ifndef SIZEOF_LONG
-#define SIZEOF_LONG 4
+#if CPU_REG_BITS > 32
+ #define SIZEOF_LONG 8
+#else
+ #define SIZEOF_LONG 4
+#endif
#endif
#ifndef SIZEOF_PTR
* profile system load with an external strobe, or to save CPU cycles
* in hosted environments such as emulators.
*/
-#ifndef SCHEDULER_IDLE
+#ifndef CPU_IDLE
#if defined(ARCH_EMUL) && (ARCH & ARCH_EMUL)
/* This emulator hook should yield the CPU to the host. */
EXTERN_C_BEGIN
void SchedulerIdle(void);
EXTERN_C_END
- #define SCHEDULER_IDLE SchedulerIdle()
+ #define CPU_IDLE SchedulerIdle()
#else /* !ARCH_EMUL */
- #define SCHEDULER_IDLE do { /* nothing */ } while (0)
+ #define CPU_IDLE do { /* nothing */ } while (0)
#endif /* !ARCH_EMUL */
-#endif /* !SCHEDULER_IDLE */
+#endif /* !CPU_IDLE */
+
+/* OBSOLETE */
+#define SCHEDULER_IDLE CPU_IDLE
#endif /* DEVLIB_CPU_H */