Re: [PATCH v5 18/18] Documentation: ACPI for ARM64

From: Catalin Marinas
Date: Tue Jan 06 2015 - 09:03:24 EST


On Tue, Jan 06, 2015 at 01:51:27PM +0000, G Gregory wrote:
> On 6 January 2015 at 11:20, Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
> > On Mon, Jan 05, 2015 at 08:16:30PM +0000, Arnd Bergmann wrote:
> >> On Monday 05 January 2015 13:13:02 Catalin Marinas wrote:
> >> > > since passing no DT tables to OS but
> >> > > acpi=force is missing is a corner case, we can do a follow up patch to
> >> > > fix that, does it make sense?
> >> >
> >> > Not entirely. Why would no dtb and no acpi=force be a corner case? I
> >> > thought this should be the default when only ACPI tables are passed, no
> >> > need for an additional acpi=force argument.
> >>
> >> We don't really support the case of only ACPI tables for now. The expectation
> >> is that you always have working DT support, at least for the next few years
> >> as ACPI features are ramping up, and without acpi=force it should not try
> >> to use ACPI at all.
> >
> > So if both DT and ACPI are present, just use DT unless acpi=force is
> > passed. So far I think we agree but what I want to avoid is always
> > mandating acpi=force even when the DT tables are missing (in the long
> > run).
> >
> > Now, what's preventing a vendor firmware from providing only ACPI
> > tables? Do we enforce it in some way (arm-acpi.txt, kernel warning etc.)
> > that both DT and ACPI are supported, or at least that dts files are
> > merged in the kernel first?
>
> How do we tell the difference between a DT passed purely for booting purposes
> ie a skeleton DT. And one which actually has hardware description as this needs
> to be done before unpacking the DT.

You do the check in EFI_STUB (part of the kernel). An ACPI-only firmware
should never pass a DT to the kernel, not even for booting purposes
(EFI_STUB builds one on the fly to pass parameters to the kernel but
that's purely an internal kernel decision).

There are other ways as well, but if we decide to enforce this, I think
EFI_STUB is the best option.

--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/