Rev 798 | Rev 820 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 798 | Rev 807 | ||
---|---|---|---|
Line 56... | Line 56... | ||
56 | movl $START_STACK, %esp # initialize stack pointer |
56 | movl $START_STACK, %esp # initialize stack pointer |
57 | lgdt bootstrap_gdtr # initialize Global Descriptor Table register |
57 | lgdt bootstrap_gdtr # initialize Global Descriptor Table register |
58 | 58 | ||
59 | movw $gdtselector(KDATA_DES), %cx |
59 | movw $gdtselector(KDATA_DES), %cx |
60 | movw %cx, %es |
60 | movw %cx, %es |
61 | movw %cx, %gs |
- | |
62 | movw %cx, %fs |
- | |
63 | movw %cx, %ds # kernel data + stack |
61 | movw %cx, %ds # kernel data + stack |
64 | movw %cx, %ss |
62 | movw %cx, %ss |
- | 63 | # Simics seems to remove hidden part of GS on entering user mode |
|
- | 64 | # when _visible_ part of GS does not point to user-mode segment |
|
- | 65 | movw $gdtselector(UDATA_DES), %cx |
|
- | 66 | movw %cx, %fs |
|
- | 67 | movw %cx, %gs |
|
65 | 68 | ||
66 | jmpl $gdtselector(KTEXT32_DES), $multiboot_meeting_point |
69 | jmpl $gdtselector(KTEXT32_DES), $multiboot_meeting_point |
67 | multiboot_meeting_point: |
70 | multiboot_meeting_point: |
68 | 71 | ||
69 | movl %eax, grub_eax # save parameters from GRUB |
72 | movl %eax, grub_eax # save parameters from GRUB |