ljmpl $INMATE_CS32,$start32 + FSEGMENT_BASE
+ ## Multiboot header
+ .align 4
+mb_header:
+ .int 0x1BADB002 # header
+ .int 0x10000 # flags
+ .int -(0x1BADB002 + 0x10000) # checksum
+ .int mb_header + FSEGMENT_BASE # header_addr
+ .int FSEGMENT_BASE # load_addr
+ .int load_end # load_end_addr
+ .int load_end # bss_end_addr
+ .int startmb + FSEGMENT_BASE # entry_addr
+
.code32
+startmb:
+ lgdtl %cs:gdt_ptr + FSEGMENT_BASE
start32:
mov %cr4,%eax
or $X86_CR4_PAE,%eax