public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Edward Pickup" <edward.pickup@arm.com>
To: devel@edk2.groups.io, zhichao.gao@intel.com
Cc: ray.ni@intel.com, sami.mujawar@arm.com, nd@arm.com
Subject: Re: [edk2-devel] [PATCH v1-resend 1/1] ShellPkg: Add revision check for DSDT Header on Arm
Date: Tue, 23 Aug 2022 10:44:06 +0100	[thread overview]
Message-ID: <000ed4cf-8ddd-dc0a-a01e-c8ee4ee833a1@arm.com> (raw)
In-Reply-To: <17037DFB6DE2D1A9.18444@groups.io>

Hi Zhichao,

Would it be possible to get some feedback on this patch?

Regards,

Edward

On 20/07/2022 09:59, Edward Pickup via groups.io wrote:
> Bugzilla: 3995 (https://bugzilla.tianocore.org/show_bug.cgi?id=3995)
>
> ACPI 6.4 spec states that if the revision field in the DSDT header is less
> than 2, then all integers are restricted in width to 32 bits, including in
> SSDTs.
>
> Arm Base boot requirements state that platforms must conform to ACPI 6.3
> or later, and that legacy tables are not supported.
>
> Adds a check for this field and raise warning if revision is less
> than 2 on arm.
>
> Signed-off-by: Edward Pickup <edward.pickup@arm.com>
> ---
>
> The changes can be seen at https://github.com/edpickup/edk2/tree/2073_add_DSDT_revision_check_v1_resend
>
> Notes:
>      v1:
>        - Resending with rebase and bugzilla id
>        - No code changes since previous submit.
>          Ref: https://edk2.groups.io/g/devel/message/89378
>
>   ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParser.c | 18 +++++++++++++++++-
>   1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParser.c
> index e75e4622239ed03b171adc92d32b5eeb75a8edef..7f30a8409bb711d4edf77ed04319c628ef8aea73 100644
> --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParser.c
> +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dsdt/DsdtParser.c
> @@ -1,7 +1,7 @@
>   /** @file
>
>     DSDT table parser
>
>   
>
> -  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
>
> +  Copyright (c) 2016 - 2022, ARM Limited. All rights reserved.
>
>     SPDX-License-Identifier: BSD-2-Clause-Patent
>
>   
>
>     @par Reference(s):
>
> @@ -39,4 +39,20 @@ ParseAcpiDsdt (
>     }
>
>   
>
>     DumpAcpiHeader (Ptr);
>
> +
>
> +  // As per 19.6.29 in the version 6.4 of the ACPI spec, a revision less than 2
>
> +  // restricts integers to 32 bit width. This may not be intended, raise a
>
> +  // warning
>
> + #if defined (MDE_CPU_AARCH64) || defined (MDE_CPU_ARM)
>
> +  if (AcpiTableRevision < 2) {
>
> +    IncrementWarningCount ();
>
> +    Print (
>
> +      L"WARNING: DSDT Table Revision less than 2. Integer width restricted to "
>
> +      L"32 bits. Table Revision = %d.\n",
>
> +      AcpiTableRevision
>
> +      );
>
> +    return;
>
> +  }
>
> +
>
> + #endif
>
>   }
>

       reply	other threads:[~2022-08-23  9:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <17037DFB6DE2D1A9.18444@groups.io>
2022-08-23  9:44 ` Edward Pickup [this message]
2022-08-24  2:30   ` [edk2-devel] [PATCH v1-resend 1/1] ShellPkg: Add revision check for DSDT Header on Arm Gao, Zhichao

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-list 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=000ed4cf-8ddd-dc0a-a01e-c8ee4ee833a1@arm.com \
    --to=devel@edk2.groups.io \
    /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