From bcc8731efe65f9184cc46edcbbf79771759b8d84 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 23 Oct 2013 19:00:40 +0100 Subject: patches to support booting from my grub --- xen/arch/x86/boot/head.S | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'xen/arch/x86/boot/head.S') 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) -- cgit v1.2.3