[edk2] [PATCH v1] Platform/ARM/VExpressPkg: Fix RSDT pointer in RSDP

Sami Mujawar posted 1 patch 6 years, 1 month ago
Failed in applying to current master (apply log)
Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
[edk2] [PATCH v1] Platform/ARM/VExpressPkg: Fix RSDT pointer in RSDP
Posted by Sami Mujawar 6 years, 1 month ago
According to the SBBR Specification (ARM DEN 0044B), Section 4.2.1.1
  "Within the RSDP, the RsdtAddress field must be null (zero)
   and the XsdtAddresss MUST be a valid, non-null, 64-bit value."

The PcdAcpiExposedTableVersions is used to indicate the ACPI versions
that are supported. The default value for PcdAcpiExposedTableVersions
is 0x3E which indicates that the ACPI versions 1.0B and above are
supported.

For ACPI 1.0B the RSDT pointer is set in the RSDP table. However for
ACPI versions greater than ACPI 1.0B the AcpiTableDxe populates
the RSDP with the RSDT address set to NULL.

Therefore set the PcdAcpiExposedTableVersions to 0x20 indicating
support for ACPI 5.0 and above.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
---

The changes can be seen at 
https://github.com/samimujawar/edk2-platforms/tree/212_fvp_rsdt_fix_v1

Notes:
    v1:
    - Setup PcdAcpiExposedTableVersions correctly so that the
      AcpiTableDxe populates the RSDP with the RSDT address set
      to NULL.                                                     [SAMI]

 Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
index 295e9a126b0ebaa4653d7e25e2f7d8c396403764..cdf9e2d49784d542701dc84eb511f592e77ec106 100644
--- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
@@ -1,5 +1,5 @@
 #
-#  Copyright (c) 2011-2017, ARM Limited. All rights reserved.
+#  Copyright (c) 2011-2018, ARM Limited. All rights reserved.
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -162,6 +162,11 @@ [PcdsFixedAtBuild.common]
   # the entire FVP address space can be covered by 36 bit VAs
   gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|36
 
+  #
+  # ACPI Table Version
+  #
+  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20
+
 ################################################################################
 #
 # Components Section - list of all EDK II Modules needed by this Platform
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v1] Platform/ARM/VExpressPkg: Fix RSDT pointer in RSDP
Posted by Ard Biesheuvel 6 years, 1 month ago
On 6 March 2018 at 14:15, Sami Mujawar <sami.mujawar@arm.com> wrote:
> According to the SBBR Specification (ARM DEN 0044B), Section 4.2.1.1
>   "Within the RSDP, the RsdtAddress field must be null (zero)
>    and the XsdtAddresss MUST be a valid, non-null, 64-bit value."
>
> The PcdAcpiExposedTableVersions is used to indicate the ACPI versions
> that are supported. The default value for PcdAcpiExposedTableVersions
> is 0x3E which indicates that the ACPI versions 1.0B and above are
> supported.
>
> For ACPI 1.0B the RSDT pointer is set in the RSDP table. However for
> ACPI versions greater than ACPI 1.0B the AcpiTableDxe populates
> the RSDP with the RSDT address set to NULL.
>
> Therefore set the PcdAcpiExposedTableVersions to 0x20 indicating
> support for ACPI 5.0 and above.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>

I am changing the subject into

Platform/ARM/VExpressPkg: Provide only 64-bit ACPI entrypoint

but the patch looks fine to me.

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Pushed as 9422cb8c75b3

Thanks


> ---
>
> The changes can be seen at
> https://github.com/samimujawar/edk2-platforms/tree/212_fvp_rsdt_fix_v1
>
> Notes:
>     v1:
>     - Setup PcdAcpiExposedTableVersions correctly so that the
>       AcpiTableDxe populates the RSDP with the RSDT address set
>       to NULL.                                                     [SAMI]
>
>  Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
> index 295e9a126b0ebaa4653d7e25e2f7d8c396403764..cdf9e2d49784d542701dc84eb511f592e77ec106 100644
> --- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
> +++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc
> @@ -1,5 +1,5 @@
>  #
> -#  Copyright (c) 2011-2017, ARM Limited. All rights reserved.
> +#  Copyright (c) 2011-2018, ARM Limited. All rights reserved.
>  #
>  #  This program and the accompanying materials
>  #  are licensed and made available under the terms and conditions of the BSD License
> @@ -162,6 +162,11 @@ [PcdsFixedAtBuild.common]
>    # the entire FVP address space can be covered by 36 bit VAs
>    gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|36
>
> +  #
> +  # ACPI Table Version
> +  #
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20
> +
>  ################################################################################
>  #
>  # Components Section - list of all EDK II Modules needed by this Platform
> --
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
>
>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel