Re: [RFC PATCH 1/2] efi: Make 'efi_enabled' a function to

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux