On Sat, 2013-01-05 at 11:28 +0800, Guo Chao wrote: > query EFI facilities > Reply-To: <1357219085-4312-2-git-send-email-matt@xxxxxxxxxxxxxxxxx> > In-Reply-To: <1357219085-4312-2-git-send-email-matt@xxxxxxxxxxxxxxxxx> > > > diff --git a/init/main.c b/init/main.c > > index e33e09d..e71d924 100644 > > --- a/init/main.c > > +++ b/init/main.c > > @@ -604,7 +604,7 @@ asmlinkage void __init start_kernel(void) > > pidmap_init(); > > anon_vma_init(); > > #ifdef CONFIG_X86 > > - if (efi_enabled) > > + if (efi_enabled(EFI_RUNTIME_SERVICES)) > > efi_enter_virtual_mode(); > > #endif > > thread_info_cache_init(); > > @@ -632,7 +632,7 @@ asmlinkage void __init start_kernel(void) > > acpi_early_init(); /* before LAPIC and SMP init */ > > sfi_init_late(); > > > > - if (efi_enabled) { > > + if (efi_enabled(EFI_RUNTIME_SERVICES)) { > > efi_late_init(); > > efi_free_boot_services(); > > } > > I just wonder why we compile efi code away explicitly by CONFIG_X86 in > one place and implicitly by if (0) in another place, in the same > function. Because ia64 also has an efi_enter_virtual_mode() implementation, but that's called internally by arch/ia64. The setup we've got at the moment isn't ideal, as there's a couple of oddities like this dotted around the kernel. I have plans to try and unify the EFI code a bit more based on a patch that Matthew Garrett wrote, which should allow us to do away with things like the above. -- Matt Fleming, Intel Open Source Technology Center -- 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