Changeset 0160b1c8 in mainline
- Timestamp:
- 2009-03-13T12:28:12Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 99d6fd0
- Parents:
- afdce6eb
- Location:
- kernel/arch/ia32
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/include/pm.h
rafdce6eb r0160b1c8 59 59 60 60 61 #define selector(des) ((des) << 3)61 #define gdtselector(des) ((des) << 3) 62 62 63 63 #define PL_KERNEL 0 -
kernel/arch/ia32/src/ddi/ddi.c
rafdce6eb r0160b1c8 157 157 */ 158 158 gdt_p[TSS_DES].access = AR_PRESENT | AR_TSS | DPL_KERNEL; 159 tr_load( selector(TSS_DES));159 tr_load(gdtselector(TSS_DES)); 160 160 161 161 /* -
kernel/arch/ia32/src/pm.c
rafdce6eb r0160b1c8 128 128 129 129 d->unused = 0; 130 d->selector = selector(KTEXT_DES);130 d->selector = gdtselector(KTEXT_DES); 131 131 132 132 d->access = AR_PRESENT | AR_INTERRUPT; /* masking interrupt */ … … 215 215 * to its own TSS. We just need to load the TR register. 216 216 */ 217 tr_load( selector(TSS_DES));217 tr_load(gdtselector(TSS_DES)); 218 218 219 219 clean_IOPL_NT_flags(); /* Disable I/O on nonprivileged levels and clear NT flag. */ -
kernel/arch/ia32/src/proc/scheduler.c
rafdce6eb r0160b1c8 66 66 /* Set kernel stack for CPL3 -> CPL0 switch via interrupt */ 67 67 CPU->arch.tss->esp0 = kstk; 68 CPU->arch.tss->ss0 = selector(KDATA_DES);68 CPU->arch.tss->ss0 = gdtselector(KDATA_DES); 69 69 70 70 /* Set up TLS in GS register */ -
kernel/arch/ia32/src/syscall.c
rafdce6eb r0160b1c8 45 45 46 46 /* set kernel mode CS selector */ 47 write_msr(IA32_MSR_SYSENTER_CS, selector(KTEXT_DES));47 write_msr(IA32_MSR_SYSENTER_CS, gdtselector(KTEXT_DES)); 48 48 /* set kernel mode entry point */ 49 49 write_msr(IA32_MSR_SYSENTER_EIP, (uint32_t) sysenter_handler); -
kernel/arch/ia32/src/userspace.c
rafdce6eb r0160b1c8 75 75 "iret\n" 76 76 : 77 : [udata_des] "i" ( selector(UDATA_DES) | PL_USER),77 : [udata_des] "i" (gdtselector(UDATA_DES) | PL_USER), 78 78 [stack_size] "r" ((uint8_t *) kernel_uarg->uspace_stack + THREAD_STACK_SIZE), 79 79 [ipl] "r" (ipl), 80 [utext_des] "i" ( selector(UTEXT_DES) | PL_USER),80 [utext_des] "i" (gdtselector(UTEXT_DES) | PL_USER), 81 81 [entry] "r" (kernel_uarg->uspace_entry), 82 82 [uarg] "r" (kernel_uarg->uspace_uarg), 83 [tls_des] "r" ( selector(TLS_DES))83 [tls_des] "r" (gdtselector(TLS_DES)) 84 84 : "eax"); 85 85
Note:
See TracChangeset
for help on using the changeset viewer.