Changeset 1d3d2cf in mainline for kernel/arch/amd64/src
- Timestamp:
- 2010-08-11T14:18:34Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- be3f94c
- Parents:
- 482dde7
- Location:
- kernel/arch/amd64/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/asm.S
r482dde7 r1d3d2cf 244 244 */ 245 245 xorq %rdx, %rdx 246 cmpq $( gdtselector(KTEXT_DES)), ISTATE_OFFSET_CS(%rsp)246 cmpq $(GDT_SELECTOR(KTEXT_DES)), ISTATE_OFFSET_CS(%rsp) 247 247 cmovnzq %rdx, %rbp 248 248 -
kernel/arch/amd64/src/boot/boot.S
r482dde7 r1d3d2cf 85 85 86 86 /* Kernel data + stack */ 87 movw $ gdtselector(KDATA_DES), %cx87 movw $GDT_SELECTOR(KDATA_DES), %cx 88 88 movw %cx, %es 89 89 movw %cx, %ds … … 94 94 * when _visible_ part of GS does not point to user-mode segment. 95 95 */ 96 movw $ gdtselector(UDATA_DES), %cx96 movw $GDT_SELECTOR(UDATA_DES), %cx 97 97 movw %cx, %fs 98 98 movw %cx, %gs 99 99 100 jmpl $ gdtselector(KTEXT32_DES), $multiboot_meeting_point100 jmpl $GDT_SELECTOR(KTEXT32_DES), $multiboot_meeting_point 101 101 multiboot_meeting_point: 102 102 … … 182 182 183 183 /* At this point we are in compatibility mode */ 184 jmpl $ gdtselector(KTEXT_DES), $start64184 jmpl $GDT_SELECTOR(KTEXT_DES), $start64 185 185 186 186 /** Print string to EGA display (in light red) and halt. … … 645 645 .section K_DATA_START, "aw", @progbits 646 646 647 .global bootstrap_gdtr648 647 bootstrap_gdtr: 649 .word gdtselector(GDT_ITEMS)648 .word GDT_SELECTOR(GDT_ITEMS) 650 649 .long KA2PA(gdt) 651 650 -
kernel/arch/amd64/src/boot/vesa_ret.inc
r482dde7 r1d3d2cf 7 7 8 8 /* Kernel data + stack */ 9 movw $ gdtselector(KDATA_DES), %cx9 movw $GDT_SELECTOR(KDATA_DES), %cx 10 10 movw %cx, %es 11 11 movw %cx, %ds … … 17 17 */ 18 18 19 movw $ gdtselector(UDATA_DES), %cx19 movw $GDT_SELECTOR(UDATA_DES), %cx 20 20 movw %cx, %fs 21 21 movw %cx, %gs 22 22 23 jmpl $ gdtselector(KTEXT32_DES), $vesa_meeting_point23 jmpl $GDT_SELECTOR(KTEXT32_DES), $vesa_meeting_point -
kernel/arch/amd64/src/ddi/ddi.c
r482dde7 r1d3d2cf 153 153 tss_descriptor_t *tss_desc = (tss_descriptor_t *) &gdt_p[TSS_DES]; 154 154 tss_desc->type = AR_TSS; 155 tr_load( gdtselector(TSS_DES));155 tr_load(GDT_SELECTOR(TSS_DES)); 156 156 157 157 /* -
kernel/arch/amd64/src/pm.c
r482dde7 r1d3d2cf 171 171 172 172 d->unused = 0; 173 d->selector = gdtselector(KTEXT_DES);173 d->selector = GDT_SELECTOR(KTEXT_DES); 174 174 175 175 d->present = 1; … … 291 291 * to its own TSS. We just need to load the TR register. 292 292 */ 293 tr_load( gdtselector(TSS_DES));293 tr_load(GDT_SELECTOR(TSS_DES)); 294 294 } 295 295 -
kernel/arch/amd64/src/smp/ap.S
r482dde7 r1d3d2cf 61 61 orl $1, %eax 62 62 movl %eax, %cr0 # switch to protected mode 63 jmpl $ gdtselector(KTEXT32_DES), $jump_to_kernel - BOOT_OFFSET + AP_BOOT_OFFSET63 jmpl $GDT_SELECTOR(KTEXT32_DES), $jump_to_kernel - BOOT_OFFSET + AP_BOOT_OFFSET 64 64 65 65 jump_to_kernel: 66 66 .code32 67 movw $ gdtselector(KDATA_DES), %ax67 movw $GDT_SELECTOR(KDATA_DES), %ax 68 68 movw %ax, %ds 69 69 movw %ax, %es 70 70 movw %ax, %ss 71 movw $ gdtselector(UDATA_DES), %ax71 movw $GDT_SELECTOR(UDATA_DES), %ax 72 72 movw %ax, %gs 73 73 … … 94 94 95 95 # At this point we are in compatibility mode 96 jmpl $ gdtselector(KTEXT_DES), $start64 - BOOT_OFFSET + AP_BOOT_OFFSET96 jmpl $GDT_SELECTOR(KTEXT_DES), $start64 - BOOT_OFFSET + AP_BOOT_OFFSET 97 97 98 98 .code64 -
kernel/arch/amd64/src/syscall.c
r482dde7 r1d3d2cf 58 58 */ 59 59 write_msr(AMD_MSR_STAR, 60 ((uint64_t) (gdtselector(KDATA_DES) | PL_USER) << 48) |61 ((uint64_t) (gdtselector(KTEXT_DES) | PL_KERNEL) << 32));60 ((uint64_t) (GDT_SELECTOR(KDATA_DES) | PL_USER) << 48) | 61 ((uint64_t) (GDT_SELECTOR(KTEXT_DES) | PL_KERNEL) << 32)); 62 62 write_msr(AMD_MSR_LSTAR, (uint64_t)syscall_entry); 63 63 /* Mask RFLAGS on syscall -
kernel/arch/amd64/src/userspace.c
r482dde7 r1d3d2cf 65 65 "xorq %%rdi, %%rdi\n" 66 66 "iretq\n" 67 :: [udata_des] "i" ( gdtselector(UDATA_DES) | PL_USER),67 :: [udata_des] "i" (GDT_SELECTOR(UDATA_DES) | PL_USER), 68 68 [stack_size] "r" (kernel_uarg->uspace_stack + THREAD_STACK_SIZE), 69 69 [ipl] "r" (ipl), 70 [utext_des] "i" ( gdtselector(UTEXT_DES) | PL_USER),70 [utext_des] "i" (GDT_SELECTOR(UTEXT_DES) | PL_USER), 71 71 [entry] "r" (kernel_uarg->uspace_entry), 72 72 [uarg] "r" (kernel_uarg->uspace_uarg)
Note:
See TracChangeset
for help on using the changeset viewer.