]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - inmates/lib/x86/header.S
tiny-demo inmate partially works under qemu
[jailhouse.git] / inmates / lib / x86 / header.S
index af8e918504171e97af42fa71d048b425d38c06ba..d687811aa834f7056abd2030e482c3658e4e2cd6 100644 (file)
@@ -44,7 +44,21 @@ start16:
        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