[RFC PATCH v2 27/35] ACPICA: Add new MADT GICC flags fields [code first?]
Salil Mehta
salil.mehta at huawei.com
Fri Sep 15 02:21:42 PDT 2023
Hi Russel,
> From: Russell King <linux at armlinux.org.uk>
> Sent: Friday, September 15, 2023 8:09 AM
> To: Salil Mehta <salil.mehta at huawei.com>
> Cc: Ard Biesheuvel <ardb at kernel.org>; Jonathan Cameron
> <jonathan.cameron at huawei.com>; James Morse <james.morse at arm.com>; linux-
> pm at vger.kernel.org; loongarch at lists.linux.dev; linux-acpi at vger.kernel.org;
> linux-arch at vger.kernel.org; linux-kernel at vger.kernel.org; linux-arm-
> kernel at lists.infradead.org; linux-riscv at lists.infradead.org;
> kvmarm at lists.linux.dev; x86 at kernel.org; Jean-Philippe Brucker <jean-
> philippe at linaro.org>; jianyong.wu at arm.com; justin.he at arm.com
> Subject: Re: [RFC PATCH v2 27/35] ACPICA: Add new MADT GICC flags fields
> [code first?]
>
> On Fri, Sep 15, 2023 at 02:29:13AM +0000, Salil Mehta wrote:
> > On x86, during init, if the MADT entry for LAPIC is found to be
> > online-capable and is enabled as well then possible and present
>
> Note that the ACPI spec says enabled + online-capable isn't defined.
>
> "The information conveyed by this bit depends on the value of the
> Enabled bit. If the Enabled bit is set, this bit is reserved and
> must be zero."
>
> So, if x86 is doing something with the enabled && online-capable
> state (other than ignoring the online-capable) then technically it
> is doing something that the spec doesn't define - and it's
> completely fine if aarch64 does something else (maybe treating it
> strictly as per the spec and ignoring online-capable.)
I would suggest that we should concentrate on what is actually
required. The fact of the matter is there is no need to keep
ACPI MADT.GICC.Enabled and ACPI MADT.GICC.online-capable bits
mutually exclusive. (please correct my understanding here
if I am wrong here)
It is a different matter that x86 has implemented above
requirement first for their x2APIC and spec are still not
reflecting what has been implemented as part of the code.
(I would add, for whatever reasons)
On ARM we have copied something from x86 ACPI Specification
which has not been updated yet. (why it is not updated? Maybe
x86 folks can clarify more on this?). Even on ARM, mutual
exclusiveness of the bits is not required. But does it breaks
anything on ARM to *not* have mutual exclusiveness.
AFAICS, no, but ARM Arch guys can confirm this?)
If bits are *not* required to be mutually exclusive on either
platforms x86/ARM then, I think, it makes sense to update
ACPI specification for both of the platforms.
Thanks
Salil.
More information about the linux-riscv
mailing list