|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH for-xen-4.5 v4 10/18] x86: move cmdline from mbi to boot_info
Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx>
---
xen/arch/x86/boot_info.c | 10 ++++------
xen/arch/x86/efi/efi-boot.h | 8 +++-----
xen/arch/x86/setup.c | 4 +---
xen/common/efi/runtime.c | 1 +
xen/include/asm-x86/boot_info.h | 3 +++
5 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/xen/arch/x86/boot_info.c b/xen/arch/x86/boot_info.c
index a81e98b..7d8b0e5 100644
--- a/xen/arch/x86/boot_info.c
+++ b/xen/arch/x86/boot_info.c
@@ -30,6 +30,7 @@ static multiboot_info_t __read_mostly mbi;
static boot_info_t __read_mostly boot_info_mb = {
.boot_loader_name = "UNKNOWN",
+ .cmdline = NULL,
.warn_msg = NULL,
.err_msg = NULL
};
@@ -40,12 +41,6 @@ unsigned long __init __init_mbi(u32 mbd_pa)
enable_bsp_exception_support();
- if ( mbd->cmdline )
- {
- mbi.flags |= MBI_CMDLINE;
- mbi.cmdline = mbd->cmdline;
- }
-
if ( mbd->mem_lower || mbd->mem_upper )
{
mbi.flags |= MBI_MEMLIMITS;
@@ -77,5 +72,8 @@ boot_info_t __init *__init_boot_info(u32 mbd_pa)
if ( mbd->boot_loader_name )
boot_info_mb.boot_loader_name = __va(mbd->boot_loader_name);
+ if ( mbd->cmdline )
+ boot_info_mb.cmdline = __va(mbd->cmdline);
+
return &boot_info_mb;
}
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 19be165..f02e604 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -290,10 +290,10 @@ static void __init efi_arch_handle_cmdline(CHAR16
*image_name,
{
name.w = cmdline_options;
w2s(&name);
- place_string_u32(&mbi.cmdline, name.s);
+ place_string_char(&boot_info_efi.cmdline, name.s);
}
if ( cfgfile_options )
- place_string_u32(&mbi.cmdline, cfgfile_options);
+ place_string_char(&boot_info_efi.cmdline, cfgfile_options);
/* Insert image name last, as it gets prefixed to the other options. */
if ( image_name )
{
@@ -302,10 +302,8 @@ static void __init efi_arch_handle_cmdline(CHAR16
*image_name,
}
else
name.s = "xen";
- place_string_u32(&mbi.cmdline, name.s);
+ place_string_char(&boot_info_efi.cmdline, name.s);
- if ( mbi.cmdline )
- mbi.flags |= MBI_CMDLINE;
/*
* These must not be initialized statically, since the value must
* not get relocated when processing base relocations later.
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a9dbc05..8f83969 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -578,9 +578,7 @@ void __init noreturn __start_xen(unsigned long mbi_p,
boot_info_t *boot_info_ptr
}
/* Parse the command-line options. */
- cmdline = cmdline_cook((mbi->flags & MBI_CMDLINE) ?
- __va(mbi->cmdline) : NULL,
- boot_info->boot_loader_name);
+ cmdline = cmdline_cook(boot_info->cmdline, boot_info->boot_loader_name);
if ( (kextra = strstr(cmdline, " -- ")) != NULL )
{
/*
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 7846b2b..ee2ee2d 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -55,6 +55,7 @@ const struct efi_pci_rom *__read_mostly efi_pci_roms;
#ifndef CONFIG_ARM /* TODO - disabled until implemented on ARM */
boot_info_t __read_mostly boot_info_efi = {
.boot_loader_name = "EFI",
+ .cmdline = NULL,
.warn_msg = NULL,
.err_msg = NULL
};
diff --git a/xen/include/asm-x86/boot_info.h b/xen/include/asm-x86/boot_info.h
index 9e68447..44d1674 100644
--- a/xen/include/asm-x86/boot_info.h
+++ b/xen/include/asm-x86/boot_info.h
@@ -33,6 +33,9 @@ typedef struct {
/* Boot loader name. */
const char *boot_loader_name;
+ /* Xen command line. */
+ char *cmdline;
+
/*
* Info about warning occurred during boot_info initialization.
* NULL if everything went OK.
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |