Rev 3984 | Rev 4015 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3984 | Rev 3985 | ||
|---|---|---|---|
| Line 102... | Line 102... | ||
| 102 | mov %bx, KA2PA(vesa_bpp) |
102 | mov %bx, KA2PA(vesa_bpp) |
| 103 | #endif |
103 | #endif |
| 104 | 104 | ||
| 105 | call map_kernel # map kernel and turn paging on |
105 | call map_kernel # map kernel and turn paging on |
| 106 | 106 | ||
| 107 | movl grub_eax, %eax |
- | |
| 108 | movl grub_ebx, %ebx |
- | |
| 109 | cmpl $MULTIBOOT_LOADER_MAGIC, %eax # compare GRUB signature |
- | |
| 110 | je valid_boot |
- | |
| 111 | - | ||
| 112 | xorl %ecx, %ecx # no memory map available |
- | |
| 113 | movl %ecx, e820counter |
- | |
| 114 | - | ||
| 115 | jmp invalid_boot |
- | |
| 116 | - | ||
| 117 | valid_boot: |
- | |
| 118 | - | ||
| 119 | movl grub_eax, %eax |
- | |
| 120 | movl grub_ebx, %ebx |
- | |
| 121 | - | ||
| 122 | # ia32_boot(grub_eax, grub_ebx) |
107 | # ia32_cboot(grub_eax, grub_ebx) |
| 123 | pushl %ebx |
108 | pushl grub_ebx |
| 124 | pushl %eax |
109 | pushl grub_eax |
| 125 | call ia32_cboot # Does not return. |
110 | call ia32_cboot # Does not return. |
| 126 | 111 | ||
| 127 | # Not reached. |
112 | # Not reached. |
| 128 | 113 | ||
| 129 | invalid_boot: |
- | |
| 130 | - | ||
| 131 | cli |
114 | cli |
| 132 | hlt |
115 | hlt |
| 133 | 116 | ||
| 134 | .global map_kernel |
117 | .global map_kernel |
| 135 | map_kernel: |
118 | map_kernel: |