aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/boot/head.S
diff options
context:
space:
mode:
authorroot <root@lamia.panaceas.james.local>2013-10-23 19:00:40 +0100
committerroot <root@lamia.panaceas.james.local>2013-10-23 19:00:40 +0100
commitbcc8731efe65f9184cc46edcbbf79771759b8d84 (patch)
tree1d8224d459723644743f58fb5dd47a56f9ba928e /xen/arch/x86/boot/head.S
parent170fa9967176c8627fe2e75dbe1dc5212019afde (diff)
downloadxen-bcc8731efe65f9184cc46edcbbf79771759b8d84.tar.gz
xen-bcc8731efe65f9184cc46edcbbf79771759b8d84.tar.bz2
xen-bcc8731efe65f9184cc46edcbbf79771759b8d84.zip
patches to support booting from my grub
Diffstat (limited to 'xen/arch/x86/boot/head.S')
-rw-r--r--xen/arch/x86/boot/head.S19
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)