[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 10/16] efi: create efi_enabled()
>>> On 20.08.16 at 00:43, <daniel.kiper@xxxxxxxxxx> wrote: > --- a/xen/arch/x86/efi/stub.c > +++ b/xen/arch/x86/efi/stub.c > @@ -4,9 +4,10 @@ > #include <xen/lib.h> > #include <asm/page.h> > > -#ifndef efi_enabled > -const bool_t efi_enabled = 0; > -#endif > +bool_t efi_enabled(int feature) > +{ > + return false; > +} Plain bool please, the more that you use false. And I'm relatively certain I did ask for the parameter type to be unsigned int, as you don't mean to pass negative values. > @@ -739,8 +739,10 @@ void __init noreturn __start_xen(unsigned long mbi_p) > l3_bootmap[l3_table_offset(BOOTSTRAP_MAP_BASE)] = > l3e_from_paddr(__pa(l2_bootmap), __PAGE_HYPERVISOR); > > - memmap_type = loader; > + memmap_type = "EFI"; > } > + else if ( efi_enabled(EFI_BOOT) ) > + memmap_type = "EFI"; Is the change ahead of the "else" really necessary? > @@ -1078,7 +1080,7 @@ void __init noreturn __start_xen(unsigned long mbi_p) > > if ( !xen_phys_start ) > panic("Not enough memory to relocate Xen."); > - reserve_e820_ram(&boot_e820, efi_enabled ? mbi->mem_upper : > __pa(&_start), > + reserve_e820_ram(&boot_e820, efi_enabled(EFI_BOOT) ? mbi->mem_upper : > __pa(&_start), Is this really EFI_BOOT and not EFI_LOADER? > @@ -1153,7 +1160,6 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE > *SystemTable) > > #ifndef CONFIG_ARM /* TODO - runtime service support */ > > -static bool_t __initdata efi_rs_enable = 1; > static bool_t __initdata efi_map_uc; > > static void __init parse_efi_param(char *s) > @@ -1171,7 +1177,10 @@ static void __init parse_efi_param(char *s) > *ss = '\0'; > > if ( !strcmp(s, "rs") ) > - efi_rs_enable = val; > + { > + if ( !val ) > + __clear_bit(EFI_RS, &efi_flags); "else __set_bit(...)" to continue to allow to override an earlier "efi=no-rs". > @@ -43,6 +37,9 @@ UINT64 __read_mostly efi_boot_max_var_store_size; > UINT64 __read_mostly efi_boot_remain_var_store_size; > UINT64 __read_mostly efi_boot_max_var_size; > > +/* Bit fields representing available EFI features/properties. */ Bit field ... > +unsigned long efi_flags; An unsigned int would suffice for now, afaict. > @@ -53,6 +50,12 @@ struct efi __read_mostly efi = { > > const struct efi_pci_rom *__read_mostly efi_pci_roms; > > +/* Test whether EFI_* bits are enabled. */ > +bool_t efi_enabled(int feature) > +{ > + return test_bit(feature, &efi_flags); > +} Please either make the comment useful, or drop it. > --- a/xen/include/xen/efi.h > +++ b/xen/include/xen/efi.h > @@ -2,13 +2,17 @@ > #define __XEN_EFI_H__ > > #ifndef __ASSEMBLY__ > +#include <xen/bitops.h> If efi_enabled() doesn't get inlined here I don't see what you need this include for. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |