Changeset f4946de in mainline
- Timestamp:
- 2010-07-12T16:00:33Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- efbd094
- Parents:
- 4e91239
- Location:
- kernel/arch/ia32
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/include/pm.h
r4e91239 rf4946de 67 67 #define AR_CODE (3 << 3) 68 68 #define AR_WRITABLE (1 << 1) 69 #define AR_INTERRUPT (0x0e) 70 #define AR_TSS (0x09) 69 #define AR_INTERRUPT (0xe) 70 #define AR_TRAP (0xf) 71 #define AR_TSS (0x9) 71 72 72 73 #define DPL_KERNEL (PL_KERNEL << 5) -
kernel/arch/ia32/src/asm.S
r4e91239 rf4946de 313 313 314 314 cld 315 sti316 315 317 316 /* Call syscall_handler(edx, ecx, ebx, esi, edi, ebp, eax) */ -
kernel/arch/ia32/src/pm.c
r4e91239 rf4946de 130 130 d->selector = gdtselector(KTEXT_DES); 131 131 132 d->access = AR_PRESENT | AR_INTERRUPT; /* masking interrupt */133 134 132 if (i == VECTOR_SYSCALL) { 135 133 /* 136 * The syscall interrupt gate must be calleable from137 * userland. 134 * The syscall trap gate must be callable from 135 * userland. Interrupts will remain enabled. 138 136 */ 139 d->access |= DPL_USER; 137 d->access = AR_PRESENT | AR_TRAP | DPL_USER; 138 } else { 139 /* 140 * Other interrupts use interrupt gates which 141 * disable interrupts. 142 */ 143 d->access = AR_PRESENT | AR_INTERRUPT; 140 144 } 141 145 }
Note:
See TracChangeset
for help on using the changeset viewer.