Rev 534 | Rev 685 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 534 | Rev 680 | ||
---|---|---|---|
Line 78... | Line 78... | ||
78 | jmpl $gdtselector(KTEXT32_DES), $now_in_prot |
78 | jmpl $gdtselector(KTEXT32_DES), $now_in_prot |
79 | 79 | ||
80 | no_long_mode: |
80 | no_long_mode: |
81 | 1: |
81 | 1: |
82 | jmp 1b |
82 | jmp 1b |
- | 83 | ||
- | 84 | .code32 |
|
- | 85 | .align 4 |
|
- | 86 | multiboot_header: |
|
- | 87 | .long MULTIBOOT_HEADER_MAGIC |
|
- | 88 | .long MULTIBOOT_HEADER_FLAGS |
|
- | 89 | .long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) # checksum |
|
- | 90 | .long multiboot_header + BOOT_OFFSET |
|
- | 91 | .long unmapped_ktext_start + BOOT_OFFSET |
|
- | 92 | .long 0 |
|
- | 93 | .long 0 |
|
- | 94 | .long multiboot_image_start + BOOT_OFFSET |
|
- | 95 | ||
- | 96 | multiboot_image_start: |
|
- | 97 | movl $START_STACK, %esp # initialize stack pointer |
|
- | 98 | # FIXME TODO |
|
83 | 99 | ||
84 | # Protected 32-bit. We want to reuse the code-seg descriptor, |
100 | # Protected 32-bit. We want to reuse the code-seg descriptor, |
85 | # the Default operand size must not be 1 when entering long mode |
101 | # the Default operand size must not be 1 when entering long mode |
86 | .code32 |
- | |
87 | now_in_prot: |
102 | now_in_prot: |
88 | # Set up stack & data descriptors |
103 | # Set up stack & data descriptors |
89 | movw $gdtselector(KDATA_DES), %ax |
104 | movw $gdtselector(KDATA_DES), %ax |
90 | movw %ax, %ds |
105 | movw %ax, %ds |
91 | movw %ax, %ss |
106 | movw %ax, %ss |