- 16-bit start up codes clean up
This commit is contained in:
Tom Rini 2019-12-08 10:51:00 -05:00
commit b38c3a641f
1 changed files with 3 additions and 7 deletions

View File

@ -13,8 +13,6 @@
#include <asm/processor-flags.h>
#define BOOT_SEG 0xffff0000 /* linear segment of boot code */
#define a32 .byte 0x67;
#define o32 .byte 0x66;
.section .start16, "ax"
.code16
@ -33,8 +31,8 @@ start16:
wbinvd
/* load the temporary Global Descriptor Table */
o32 cs lidt idt_ptr
o32 cs lgdt gdt_ptr
data32 cs lidt idt_ptr
data32 cs lgdt gdt_ptr
/* Now, we enter protected mode */
movl %cr0, %eax
@ -46,10 +44,8 @@ o32 cs lgdt gdt_ptr
ff:
/* Finally restore BIST and jump to the 32-bit initialization code */
movw $code32start, %ax
movw %ax, %bp
movl %ecx, %eax
o32 cs ljmp *(%bp)
data32 cs ljmp *code32start
/* 48-bit far pointer */
code32start: