.byte type ;\
.text
-#define IDT_ENTRY(vec,type) IDT_BASE_ENTRY(vec,KERNEL_CS,type)
-#define IDT_ENTRY_INT(vec,type) IDT_BASE_ENTRY_INT(vec,KERNEL_CS,type)
+#define IDT_ENTRY(vec,type) IDT_BASE_ENTRY(vec,KERNEL32_CS,type)
+#define IDT_ENTRY_INT(vec,type) IDT_BASE_ENTRY_INT(vec,KERNEL32_CS,type)
/*
* No error code. Clear error code and push trap number.
Entry(master_idt)
Entry(hi_remap_data)
.text
+ .align 12
Entry(hi_remap_text)
EXCEPTION(0x00,t_zero_div)
pushl %eax /* err/eax - syscall code */
pushl $0 /* clear trap number slot */
pusha /* save the general registers */
- orl $(EFL_IF),R_EFLAGS-R_EDI(%esp) /* (edi was last reg pushed) */
+ orl $(EFL_IF),R32_EFLAGS-R32_EDI(%esp) /* (edi was last reg pushed) */
movl $ EXT(lo_sysenter),%ebx
enter_lohandler:
pushl %ds
movl %ecx,%cr3
movl %ecx,%gs:CPU_ACTIVE_CR3
1:
- testb $3,R_CS(%esp)
+ testb $3,R32_CS(%esp)
jz 2f
movl %esp,%edx /* came from user mode */
subl %gs:CPU_HI_ISS,%edx
movl $0, %ecx /* If so, reset DR7 (the control) */
movl %ecx, %dr7
2:
- movl R_TRAPNO(%esp),%ecx // Get the interrupt vector
+ movl R32_TRAPNO(%esp),%ecx // Get the interrupt vector
addl $1,%gs:hwIntCnt(,%ecx,4) // Bump the count
jmp *%ebx
pushl $(T_PAGE_FAULT) /* mark a page fault trap */
pusha /* save the general registers */
movl %cr2,%eax /* get the faulting address */
- movl %eax,R_CR2-R_EDI(%esp) /* save in esp save slot */
+ movl %eax,R32_CR2-R32_EDI(%esp)/* save in esp save slot */
movl $ EXT(lo_alltraps),%ebx
jmp enter_lohandler
pushl %gs /* restore gs. */
push_none:
pushl $(SS_32) /* 32-bit state flavor */
- movl %eax,R_TRAPNO(%esp) /* set trap number */
- movl %edx,R_ERR(%esp) /* set error code */
+ movl %eax,R32_TRAPNO(%esp) /* set trap number */
+ movl %edx,R32_ERR(%esp) /* set error code */
/* now treat as fault from user */
/* except that segment registers are */
/* already pushed */