/* the following macro is used when enabling interrupts */ #ifdefined(MACH_ATARI_ONLY) /* block out HSYNC = ipl 2 on the atari */ #define ALLOWINT (~0x500) #else /* portable version */ #define ALLOWINT (~0x700) #endif/* machine compilation types */
#ifdef __ASSEMBLER__ /* * This defines the normal kernel pt-regs layout. * * regs a3-a6 and d6-d7 are preserved by C code * the kernel doesn't mess with usp unless it needs to
*/ #define SWITCH_STACK_SIZE (6*4+4) /* includes return address */
#ifdef CONFIG_COLDFIRE #ifdef CONFIG_COLDFIRE_SW_A7 /* * This is made a little more tricky on older ColdFires. There is no * separate supervisor and user stack pointers. Need to artificially * construct a usp in software... When doing this we need to disable * interrupts, otherwise bad things will happen.
*/
.globl sw_usp
.globl sw_ksp
/* * All other types of m68k parts (68000, 680x0, CPU32) have the same * entry and exit code.
*/
/* * a -1 in the orig_d0 field signifies * that the stack frame is NOT for syscall
*/
.macro SAVE_ALL_INT
clrl %sp@- /* stk_adj */
pea -1:w /* orig d0 */
movel %d0,%sp@- /* d0 */
moveml %d1-%d5/%a0-%a2,%sp@-
.endm
/* * Register %a2 is reserved and set to current task on MMU enabled systems. * Non-MMU systems do not reserve %a2 in this way, and this definition is * not used for them.
*/ #ifdef CONFIG_MMU
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.