On Mon, 19 Jan 2015 13:51:45 +0000 , Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > On Mon, Jan 19, 2015 at 11:55:32AM +0000, Ard Biesheuvel wrote: > > On 19 January 2015 at 11:42, Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > > > On Wed, Jan 14, 2015 at 03:04:52PM +0000, Hanjun Guo wrote: > > >> From: Al Stone <al.stone@xxxxxxxxxx> > > >> > > >> Introduce one early parameters "off" and "force" for "acpi", acpi=off > > >> will be the default behavior for ARM64, so introduce acpi=force to > > >> enable ACPI on ARM64. > > >> > > >> Disable ACPI before early parameters parsed, and enable it to pass > > >> "acpi=force" if people want use ACPI on ARM64. This ensures DT be > > >> the prefer one if ACPI table and DT both are provided at this moment. > > > [...] > > >> --- a/arch/arm64/kernel/setup.c > > >> +++ b/arch/arm64/kernel/setup.c > > >> @@ -62,6 +62,7 @@ > > >> #include <asm/memblock.h> > > >> #include <asm/psci.h> > > >> #include <asm/efi.h> > > >> +#include <asm/acpi.h> > > >> > > >> unsigned int processor_id; > > >> EXPORT_SYMBOL(processor_id); > > >> @@ -388,6 +389,8 @@ void __init setup_arch(char **cmdline_p) > > >> early_fixmap_init(); > > >> early_ioremap_init(); > > >> > > >> + disable_acpi(); > > >> + > > >> parse_early_param(); > > >> > > >> /* > > > > > > Did we get to any conclusion here? DT being the preferred one is fine > > > when both DT and ACPI are present but do we still want the kernel to > > > ignore ACPI altogether if DT is not present? It's a bit harder to detect > > > the presence of DT at this point since the EFI_STUB added one already. I > > > guess we could move the "acpi=force" argument passing to EFI_STUB if no > > > DT is present at boot. > > > > Since the EFI stub populates the /chosen node in DT, I would prefer > > for it to add a property there to indicate whether it created the DT > > from scratch rather than adding ACPI specific stuff in there (even if > > it is just a string to concatenate) > > This works for me. So we could pass "acpi=force" in EFI stub if it > created the DT from scratch *and* ACPI tables are present (can it detect > the latter? And maybe it could print something if none are available). > If that works, the actual kernel can assume that ACPI needs to be > explicitly enabled via acpi=force, irrespective of how much information > it has in DT. Ditto for me. I think this is a fine solution. And, yes, the stub can easily detect the presence of ACPI by looking in the UEFI config table. g. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html