On 11/21/13 at 05:57pm, Borislav Petkov wrote: > On Thu, Nov 21, 2013 at 02:17:09PM +0800, dyoung@xxxxxxxxxx wrote: > > --- efi.orig/arch/x86/platform/efi/efi.c > > +++ efi/arch/x86/platform/efi/efi.c > > @@ -653,6 +653,10 @@ void __init efi_init(void) > > > > set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility); > > > > + efi.fw_vendor = (unsigned long)efi.systab->fw_vendor; > > + efi.runtime = (unsigned long)efi.systab->runtime; > > + efi.config_table = (unsigned long)efi.systab->tables; > > A bit more readable: > > efi.config_table = (unsigned long)efi.systab->tables; > efi.fw_vendor = (unsigned long)efi.systab->fw_vendor; > efi.runtime = (unsigned long)efi.systab->runtime; Hmm, UEFI spec mentions the them like below so I use the order: Several fields of the EFI System Table must be converted from physical pointers to virtual pointers using the ConvertPointer() service. These fields include FirmwareVendor, RuntimeServices, and ConfigurationTable. But since you like the reverse I can change it in next version. -- Thanks for review Dave -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html