Linux Documentation
 help / color / mirror / Atom feed
From: Hanjun Guo <guohanjun@huawei.com>
To: Jose Marinho <Jose.Marinho@arm.com>, Robin Murphy <Robin.Murphy@arm.com>
Cc: Catalin Marinas <Catalin.Marinas@arm.com>,
	Jeremy Linton <Jeremy.Linton@arm.com>,
	James Morse <James.Morse@arm.com>,
	Rob Herring <Rob.Herring@arm.com>, Will Deacon <will@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>,
	nd <nd@arm.com>
Subject: Re: [PATCH 3/3] Documentation/arm64: Update ACPI tables from BBR
Date: Thu, 25 May 2023 19:43:37 +0800	[thread overview]
Message-ID: <6a6c2018-6e90-e11a-113d-a0459e5fcb1f@huawei.com> (raw)
In-Reply-To: <DBBPR08MB6012B565A6B819C2506E62BF88439@DBBPR08MB6012.eurprd08.prod.outlook.com>

On 2023/5/22 18:55, Jose Marinho wrote:
> Hi Hanjun, Robin,
> 
>> On 2023-05-19 08:10, Hanjun Guo wrote:
>>> On 2023/5/18 21:40, Robin Murphy wrote:
>>>> On 2023-05-18 13:07, Hanjun Guo wrote:
>>>>> Hi Jose,
>>>>>
>>>>> On 2023/5/18 18:52, Jose Marinho wrote:
>>>>>> The BBR specification requires (or conditionally requires) a set of
>>>>>> ACPI tables for a proper working system.
>>>>>> This commit updates:
>>>>>> - the list of ACPI tables to reflect the contents of BBR version
>>>>>> 2.0 (seehttps://developer.arm.com/documentation/den0044/g).
>>>>>> - the list of ACPI tables in acpi_object_usage. This last update
>>>>>> ensures that both files remain coherent.
>>>>> Thanks for the update, some comments inline.
>>>>>
>>>>>> Signed-off-by: Jose Marinho<jose.marinho@arm.com>
>>>>>> Reviewed-by: Samer El-Haj-Mahmoud <Samer.El-Haj-
>> Mahmoud@arm.com>
>>>>>> ---
>>>>>>    Documentation/arm64/acpi_object_usage.rst | 81
>>>>>> +++++++++++++++++++++--
>>>>>>    Documentation/arm64/arm-acpi.rst          | 71
>>>>>> +++++++++++++++++---
>>>>>>    2 files changed, 139 insertions(+), 13 deletions(-)
>>>>>>
>>>>>> diff --git a/Documentation/arm64/acpi_object_usage.rst
>>>>>> b/Documentation/arm64/acpi_object_usage.rst
>>>>>> index 484ef9676653..1da22200fdf8 100644
>>>>>> --- a/Documentation/arm64/acpi_object_usage.rst
>>>>>> +++ b/Documentation/arm64/acpi_object_usage.rst
>>>>>> @@ -17,16 +17,37 @@ For ACPI on arm64, tables also fall into the
>>>>>> following categories:
>>>>>>           -  Recommended: BERT, EINJ, ERST, HEST, PCCT, SSDT
>>>>>> -       -  Optional: BGRT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS,
>>>>>> FPDT, IBFT,
>>>>>> -          IORT, MCHI, MPST, MSCT, NFIT, PMTT, RASF, SBST, SLIT,
>>>>>> SPMI, SRAT,
>>>>>> -          STAO, TCPA, TPM2, UEFI, XENV
>>>>>> +       -  Optional: AGDI, BGRT, CEDT, CPEP, CSRT, DBG2, DRTM,
>>>>>> +ECDT,
>>>>>> FACS, FPDT,
>>>>>> +          HMAT, IBFT, IORT, MCHI, MPAM, MPST, MSCT, NFIT, PMTT,
>>>>>> PPTT, RASF, SBST,
>>>>>> +          SDEI, SLIT, SPMI, SRAT, STAO, TCPA, TPM2, UEFI, XENV
>>>>>> -       -  Not supported: BOOT, DBGP, DMAR, ETDT, HPET, IVRS, LPIT,
>>>>>> MSDM, OEMx,
>>>>>> -          PSDT, RSDT, SLIC, WAET, WDAT, WDRT, WPBT
>>>>>> +       -  Not supported: AEST, APMT, BOOT, DBGP, DMAR, ETDT, HPET,
>>>>>> IVRS, LPIT,
>>>>> AEST is ARM Error Source Table, and it can be used for ARM
>>>>> platforms, so I thinsk AEST is not belong to "Not supportted", "Optional"
>> instead.
>>>> Can you point to the code in Linux which does anything with AEST,
>>>> optionally or otherwise?;)
>>>>> and APMT is the same.
>>>>>
>>>>>> +          MSDM, OEMx, PDTT, PSDT, RAS2, RSDT, SLIC, WAET, WDAT,
>>>>>> WDRT, WPBT
>>>>> PDTT and RAS2 are now used for ARM too, please move it to Optional
>>>>> :)
> The 6.3 kernel does not yet have code consuming either table.
> 
> Perhaps the categories {"Required", "Recommended", "Optional", "Not supported"}
> listed in Documentation/arm64/acpi_object_usage.rst should be defined.
> 
> My opinion (which may be unaligned with the original intent behind the categories) is, If a table
> is consumed by kernel code, then it is supported, i.e. in {"Required", "Recommended", "Optional"}.
> Otherwise, the table is "Not supported".
> 
>>>> Ditto; as stated in arm-acpi.rst this is Linux documentation covering
>>>> the interaction between Linux and ACPI. It is not some kind of
>>>> generic
>>> Hmm, let me see...
>>>
>>> OK, I checked the arm-acpi.rst, it is saying:
>>>
>>> "Detailed expectations for ACPI tables and object are listed in the
>>> file Documentation/arm64/acpi_object_usage.rst."
>>>
>>> So if I remember correctly, it is the guidance of ACPI tables and
>>> methods usage on arm64, to align with the BBR.
>> "The purpose of this document is to describe the interaction between ACPI
>> and Linux only, on an ARMv8 system -- that is, what Linux expects of ACPI
>> and what ACPI can expect of Linux."
>>
>> I don't see how it could get much clearer than that. Yes, phrasing like "ACPI
>> on arm64" is used elsewhere, but remember that in context "arm64"
>> means "AArch64 Linux".
>>
>>>> ACPI-on-Arm guidance whitepaper. If and when Linux actually supports
>>>> these tables in the sense of meaningfully consuming them, that is
>>>> when we can document such support.
>>> If this is the case, we don't need categories of "Required",
>>> "Recommmened" and etc.
>> Certainly the distinction between required and optional is significant and
>> useful, since Linux may fail to boot at all if a required table is missing. I'd
>> agree I can't really make sense of the "recommended"
>> category though - it's not like firmware could make up RAS support if the
>> hardware doesn't have it, and whether SSDTs are appropriate or not seems
>> to depend on the fundamental design of the system, rather than being
>> something an OS should dictate :/
>>
> I agree with Robin that it isn’t clear what "Recommended" versus "Optional" signifies.
> Maybe the distinction should be better discussed, and we can make those clarifications in a separate change?

Looks good to me.

Thanks
Hanjun

      reply	other threads:[~2023-05-25 11:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-18 10:51 [PATCH 0/3] Update ACPI documentation for Arm systems Jose Marinho
2023-05-18 10:52 ` [PATCH 1/3] Documentation/arm64: Update ARM and arch reference Jose Marinho
2023-05-18 10:52 ` [PATCH 2/3] Documentation/arm64: Update references in arm-acpi Jose Marinho
2023-05-18 10:52 ` [PATCH 3/3] Documentation/arm64: Update ACPI tables from BBR Jose Marinho
2023-05-18 12:07   ` Hanjun Guo
2023-05-18 13:40     ` Robin Murphy
2023-05-19  7:10       ` Hanjun Guo
2023-05-19 10:50         ` Robin Murphy
2023-05-22 10:55           ` Jose Marinho
2023-05-25 11:43             ` Hanjun Guo [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6a6c2018-6e90-e11a-113d-a0459e5fcb1f@huawei.com \
    --to=guohanjun@huawei.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=James.Morse@arm.com \
    --cc=Jeremy.Linton@arm.com \
    --cc=Jose.Marinho@arm.com \
    --cc=Rob.Herring@arm.com \
    --cc=Robin.Murphy@arm.com \
    --cc=Samer.El-Haj-Mahmoud@arm.com \
    --cc=corbet@lwn.net \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=nd@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox