diff options
Diffstat (limited to 'xen/arch/x86/boot/head.S')
-rw-r--r-- | xen/arch/x86/boot/head.S | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index b12eefb8be..8c0a80e41d 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -32,6 +32,15 @@ ENTRY(start) /* Checksum: must be the negated sum of the first two fields. */ .long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) + .align 8 + /*Magic number */ + .quad 0xdeadbeefef104ead + .quad sym_phys(efi_loader_signature) + .quad sym_phys(efi_system_table_addr) + .quad sym_phys(realmode_available) + .quad sym_phys(boot_vid_mode) + .quad sym_phys(boot_vid_info) + .section .init.text, "ax" .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!" @@ -195,6 +204,16 @@ __start: reloc: #include "reloc.S" + .align 8 + + .globl efi_loader_signature +efi_loader_signature: + .quad 0x1 /* Non zero - must not be in bss, as xen resets the bss on init */ + + .globl efi_system_table_addr +efi_system_table_addr: + .quad 0x1 /* Non zero - must not be in bss, as xen resets the bss on init */ + ENTRY(trampoline_start) #include "trampoline.S" GLOBAL(trampoline_end) |