aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/boot
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-07-28 08:32:01 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-07-28 08:32:01 +0100
commit0ca05118e2242a90c1988465d629b900bc2a448e (patch)
treeb54d25663f1bc26136b9118221487335dfb7dfad /xen/arch/x86/boot
parentafd4af82c3024b5adefd2665e661734b2102dea9 (diff)
downloadxen-0ca05118e2242a90c1988465d629b900bc2a448e.tar.gz
xen-0ca05118e2242a90c1988465d629b900bc2a448e.tar.bz2
xen-0ca05118e2242a90c1988465d629b900bc2a448e.zip
x86: Correctly cook command lines for GRUB2.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/boot')
-rw-r--r--xen/arch/x86/boot/reloc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 47b558b29c..b51d472ebe 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -106,12 +106,17 @@ multiboot_info_t *reloc(multiboot_info_t *mbi_old)
mbi->mmap_addr = (u32)reloc_mbi_struct(
(memory_map_t *)mbi->mmap_addr, mbi->mmap_length);
+ if ( mbi->flags & MBI_LOADERNAME )
+ mbi->boot_loader_name = (u32)reloc_mbi_string(
+ (char *)mbi->boot_loader_name);
+
/* Mask features we don't understand or don't relocate. */
mbi->flags &= (MBI_MEMLIMITS |
- MBI_DRIVES |
+ MBI_BOOTDEV |
MBI_CMDLINE |
MBI_MODULES |
- MBI_MEMMAP);
+ MBI_MEMMAP |
+ MBI_LOADERNAME);
return mbi;
}