[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 3/5] x86/efi: Simplify efi_arch_handle_cmdline()
-Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but all this work is useless; it's making a memory allocation just to prepend the image name which cmdline_cook() intentionally strips back out. Simply forgo the work and identify EFI_LOADER as one of the loaders which doesn't prepend the image name. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> CC: Wei Liu <wl@xxxxxxx> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> CC: Julien Grall <julien@xxxxxxx> CC: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx> CC: Bertrand Marquis <bertrand.marquis@xxxxxxx> CC: Roberto Bagnara <roberto.bagnara@xxxxxxxxxxx> CC: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx> v2: * Brand new. I can't find anything which cares about the image name in the slightest. This logic is from bf6501a62e80 ("x86-64: EFI boot code") when EFI was introduced, at whcih point GRUB2 was the only excluded loader in cmdline_cook(). --- xen/arch/x86/efi/efi-boot.h | 10 +--------- xen/arch/x86/setup.c | 7 +++++-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h index eebc54180bf7..1a2a2dd83c9b 100644 --- a/xen/arch/x86/efi/efi-boot.h +++ b/xen/arch/x86/efi/efi-boot.h @@ -309,6 +309,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name, { union string name; + /* NB place_string() prepends, so call in reverse order. */ if ( cmdline_options ) { name.w = cmdline_options; @@ -317,15 +318,6 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name, } if ( cfgfile_options ) place_string(&mbi.cmdline, cfgfile_options); - /* Insert image name last, as it gets prefixed to the other options. */ - if ( image_name ) - { - name.w = image_name; - w2s(&name); - } - else - name.s = "xen"; - place_string(&mbi.cmdline, name.s); if ( mbi.cmdline ) mbi.flags |= MBI_CMDLINE; diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index b171a8f4cf84..200520392481 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -850,8 +850,11 @@ static const char *__init cmdline_cook(const char *p, const char *loader_name) while ( *p == ' ' ) p++; - /* GRUB2 and PVH don't not include image name as first item on command line. */ - if ( xen_guest || loader_is_grub2(loader_name) ) + /* + * PVH, our EFI loader, and GRUB2 don't not include image name as first + * item on command line. + */ + if ( xen_guest || efi_enabled(EFI_LOADER) || loader_is_grub2(loader_name) ) return p; /* Strip image name plus whitespace. */ -- 2.30.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |