On Tuesday, January 14, 2014 12:09:08 PM joeyli wrote: > 於 日,2014-01-12 於 01:30 +0100,Rafael J. Wysocki 提到: > > OK > > > > I don't see any adverse effects of the patch below on a couple of my > > test > > boxes, but (a) they are Intel-based and (b) they are non-EFI, so it > > would be > > good to give it a go on as many machines as reasonably possible. > > > > Thanks, > > Rafael > > > > --- > > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > Subject: ACPI / init: Run acpi_early_init() before > > efi_enter_virtual_mode() > > > > According to Matt Fleming, if acpi_early_init() was executed befpre > > efi_enter_virtual_mode(), the EFI initialization could benefit from > > it, so make that happen. > > > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > --- > > init/main.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > Index: linux-pm/init/main.c > > =================================================================== > > --- linux-pm.orig/init/main.c > > +++ linux-pm/init/main.c > > @@ -615,6 +615,7 @@ asmlinkage void __init start_kernel(void > > calibrate_delay(); > > pidmap_init(); > > anon_vma_init(); > > + acpi_early_init(); > > #ifdef CONFIG_X86 > > if (efi_enabled(EFI_RUNTIME_SERVICES)) > > efi_enter_virtual_mode(); > > @@ -641,7 +642,6 @@ asmlinkage void __init start_kernel(void > > > > check_bugs(); > > > > - acpi_early_init(); /* before LAPIC and SMP init */ > > sfi_init_late(); > > > > if (efi_enabled(EFI_RUNTIME_SERVICES)) { > > > > > > > > This patch works to me on Acer Gateway Z5WT2 UEFI notebook and Intel > UEFI development board. > > Does it possible move acpi_early_init() to before timekeeping_init()? We can do that if it doesn't cause any problems to happen. Please resubmit your patch with a changelog and we'll ask everyone to try it. Thanks! > The position is also before efi_enter_virtual_mode() and that will be > useful for parsing ACPI TAD to set system clock: > > diff --git a/init/main.c b/init/main.c > index febc511..b6d93c8 100644 > --- a/init/main.c > +++ b/init/main.c > @@ -565,6 +565,7 @@ asmlinkage void __init start_kernel(void) > init_timers(); > hrtimers_init(); > softirq_init(); > + acpi_early_init(); > timekeeping_init(); > time_init(); > sched_clock_postinit(); > @@ -641,7 +642,6 @@ asmlinkage void __init start_kernel(void) > > check_bugs(); > > - acpi_early_init(); /* before LAPIC and SMP init */ > sfi_init_late(); > > if (efi_enabled(EFI_RUNTIME_SERVICES)) { > > > Thanks a lot! > Joey Lee > -- I speak only for myself. Rafael J. Wysocki, 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