Re: [edk2-devel] SbsaQemu: Initial support for static ACPI tables

2020-05-27 Thread Leif Lindholm
On Tue, May 26, 2020 at 14:16:52 +0100, Graeme Gregory wrote:
> On Mon, May 25, 2020 at 03:44:24AM +0530, Tanmay Jagdale wrote:
> > Add the following static ACPI tables for the SBSA Qemu platform
> >   - DSDT
> >   - FADT
> >   - GTDT
> >   - MADT
> 
> Comment below on MADT

...

> > +  {
> > +// Format: EFI_ACPI_6_0_GICC_STRUCTURE_INIT(GicId, AcpiCpuUid, Mpidr, 
> > Flags,
> > +//  PmuIrq, GicBase, GicVBase,
> > +//  GicHBase, GsivId, GicRBase)
> > +// Note: The GIC Structure of the primary CPU must be the first entry
> > +// (see note in 5.2.12.14 GICC Structure of ACPI v6.0).
> > +EFI_ACPI_6_0_GICC_STRUCTURE_INIT( // A53-0
> > +0, 0, GET_MPID(0, 0), EFI_ACPI_6_0_GIC_ENABLED, 23,
> > +FixedPcdGet32 (PcdGicDistributorBase),
> > +0x2c02, 0x2c01, 25, 0 /* GicRBase */, 0 /* Efficiency */),
> 
> Sometimes you stare at code so long you missed that this says A53 when
> SbsaQemu obviously uses A57 emulated cores.

SbsaQemu *currently* uses A57 emulated cores.
However, this is only a comment.
I guess, for now, when we're still hard-coding stuff, CPU-# would be a
better comment than A53-#.
I don't have any other comments on this.

/
Leif

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#60372): https://edk2.groups.io/g/devel/message/60372
Mute This Topic: https://groups.io/mt/74446518/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [edk2-devel] SbsaQemu: Initial support for static ACPI tables

2020-05-26 Thread Graeme Gregory
On Mon, May 25, 2020 at 03:44:24AM +0530, Tanmay Jagdale wrote:
> Add the following static ACPI tables for the SBSA Qemu platform
>   - DSDT
>   - FADT
>   - GTDT
>   - MADT

Comment below on MADT

>   - MCFG
>   - SPCR
> 
> Currently we support 4 CPUs.
> 
> Co-authored-by: Graeme Gregory 
> Co-authored-by: Jonathan Cameron 
> Co-authored-by: Tanmay Jagdale 
> Signed-off-by: Tanmay Jagdale 
> ---
>  Platform/Qemu/SbsaQemu/SbsaQemu.dsc   |   11 +-
>  Platform/Qemu/SbsaQemu/SbsaQemu.fdf   |   14 +
>  Silicon/Qemu/SbsaQemu/Acpi.dsc.inc|   42 +
>  Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.h |   61 +
>  .../Qemu/SbsaQemu/AcpiTables/AcpiTables.inf   |   47 +
>  Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl | 1400 +
>  Silicon/Qemu/SbsaQemu/AcpiTables/Fadt.aslc|   85 +
>  Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc|   71 +
>  Silicon/Qemu/SbsaQemu/AcpiTables/Madt.aslc|   85 +
>  Silicon/Qemu/SbsaQemu/AcpiTables/Mcfg.aslc|   50 +
>  Silicon/Qemu/SbsaQemu/AcpiTables/Spcr.aslc|  122 ++
>  .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c |6 +
>  .../SbsaQemuPlatformDxe.inf   |   10 +
>  13 files changed, 2003 insertions(+), 1 deletion(-)
>  create mode 100644 Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.h
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.inf
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Fadt.aslc
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Madt.aslc
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Mcfg.aslc
>  create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Spcr.aslc
> 
> diff --git a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc 
> b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
> index 4db3ab4651..ac1398af8f 100644
> --- a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
> +++ b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
> @@ -300,6 +300,10 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
>gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
>gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
>  
> +  # Core and Cluster Count
> +  gArmPlatformTokenSpaceGuid.PcdCoreCount|4
> +  gArmPlatformTokenSpaceGuid.PcdClusterCount|1
> +
># DEBUG_ASSERT_ENABLED   0x01
># DEBUG_PRINT_ENABLED0x02
># DEBUG_CODE_ENABLED 0x04
> @@ -376,7 +380,6 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
>#
>gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
>  
> -  gArmPlatformTokenSpaceGuid.PcdCoreCount|1
>gArmTokenSpaceGuid.PcdVFPEnabled|1
>  
># System Memory Base -- fixed
> @@ -516,6 +519,7 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
>ShellPkg/Application/Shell/Shell.inf {
>  
>
> ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
> +  
> NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
>
> NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
>
> NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
>
> NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
> @@ -675,3 +679,8 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
>MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
> +
> +  #
> +  # ACPI Support
> +!include Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
> +  
> MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
> diff --git a/Platform/Qemu/SbsaQemu/SbsaQemu.fdf 
> b/Platform/Qemu/SbsaQemu/SbsaQemu.fdf
> index be7c78aceb..7f1a60e3ee 100644
> --- a/Platform/Qemu/SbsaQemu/SbsaQemu.fdf
> +++ b/Platform/Qemu/SbsaQemu/SbsaQemu.fdf
> @@ -227,6 +227,14 @@ READ_LOCK_STATUS   = TRUE
>INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
>INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
>  
> +  #
> +  # ACPI support
> +  #
> +  INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
> +  INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
> +  INF RuleOverride = ACPITABLE 
> Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.inf
> +  INF 
> MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
> +
>#
># PCI support
>#
> @@ -301,3 +309,9 @@ READ_LOCK_STATUS   = TRUE
>}
>  
>  !include ArmVirtPkg/ArmVirtRules.fdf.inc
> +
> +[Rule.Common.USER_DEFINED.ACPITABLE]
> +  FILE FREEFORM = $(NAMED_GUID) {
> +RAW ACPI   |.acpi
> +RAW ASL|.aml
> +  }
> diff --git a/Silicon/Qemu/SbsaQemu/Acpi.dsc.inc 
> b/Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
> new file mode 100644
> index 00..76d0fac079
> --- /dev/null
> +++ b/Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
> @@ -0,0 +1,42 @@
> +#
>

[edk2-devel] SbsaQemu: Initial support for static ACPI tables

2020-05-24 Thread Tanmay Jagdale
Add the following static ACPI tables for the SBSA Qemu platform
  - DSDT
  - FADT
  - GTDT
  - MADT
  - MCFG
  - SPCR

Currently we support 4 CPUs.

Co-authored-by: Graeme Gregory 
Co-authored-by: Jonathan Cameron 
Co-authored-by: Tanmay Jagdale 
Signed-off-by: Tanmay Jagdale 
---
 Platform/Qemu/SbsaQemu/SbsaQemu.dsc   |   11 +-
 Platform/Qemu/SbsaQemu/SbsaQemu.fdf   |   14 +
 Silicon/Qemu/SbsaQemu/Acpi.dsc.inc|   42 +
 Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.h |   61 +
 .../Qemu/SbsaQemu/AcpiTables/AcpiTables.inf   |   47 +
 Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl | 1400 +
 Silicon/Qemu/SbsaQemu/AcpiTables/Fadt.aslc|   85 +
 Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc|   71 +
 Silicon/Qemu/SbsaQemu/AcpiTables/Madt.aslc|   85 +
 Silicon/Qemu/SbsaQemu/AcpiTables/Mcfg.aslc|   50 +
 Silicon/Qemu/SbsaQemu/AcpiTables/Spcr.aslc|  122 ++
 .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c |6 +
 .../SbsaQemuPlatformDxe.inf   |   10 +
 13 files changed, 2003 insertions(+), 1 deletion(-)
 create mode 100644 Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.h
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.inf
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Fadt.aslc
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Gtdt.aslc
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Madt.aslc
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Mcfg.aslc
 create mode 100644 Silicon/Qemu/SbsaQemu/AcpiTables/Spcr.aslc

diff --git a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc 
b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
index 4db3ab4651..ac1398af8f 100644
--- a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
+++ b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc
@@ -300,6 +300,10 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
   gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
   gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
 
+  # Core and Cluster Count
+  gArmPlatformTokenSpaceGuid.PcdCoreCount|4
+  gArmPlatformTokenSpaceGuid.PcdClusterCount|1
+
   # DEBUG_ASSERT_ENABLED   0x01
   # DEBUG_PRINT_ENABLED0x02
   # DEBUG_CODE_ENABLED 0x04
@@ -376,7 +380,6 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
   #
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
 
-  gArmPlatformTokenSpaceGuid.PcdCoreCount|1
   gArmTokenSpaceGuid.PcdVFPEnabled|1
 
   # System Memory Base -- fixed
@@ -516,6 +519,7 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
   ShellPkg/Application/Shell/Shell.inf {
 
   
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+  
NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
   
NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
   
NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
   
NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
@@ -675,3 +679,8 @@ DEFINE NETWORK_HTTP_BOOT_ENABLE   = FALSE
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+
+  #
+  # ACPI Support
+!include Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
+  
MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
diff --git a/Platform/Qemu/SbsaQemu/SbsaQemu.fdf 
b/Platform/Qemu/SbsaQemu/SbsaQemu.fdf
index be7c78aceb..7f1a60e3ee 100644
--- a/Platform/Qemu/SbsaQemu/SbsaQemu.fdf
+++ b/Platform/Qemu/SbsaQemu/SbsaQemu.fdf
@@ -227,6 +227,14 @@ READ_LOCK_STATUS   = TRUE
   INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
   INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
 
+  #
+  # ACPI support
+  #
+  INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+  INF MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
+  INF RuleOverride = ACPITABLE Silicon/Qemu/SbsaQemu/AcpiTables/AcpiTables.inf
+  INF 
MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+
   #
   # PCI support
   #
@@ -301,3 +309,9 @@ READ_LOCK_STATUS   = TRUE
   }
 
 !include ArmVirtPkg/ArmVirtRules.fdf.inc
+
+[Rule.Common.USER_DEFINED.ACPITABLE]
+  FILE FREEFORM = $(NAMED_GUID) {
+RAW ACPI   |.acpi
+RAW ASL|.aml
+  }
diff --git a/Silicon/Qemu/SbsaQemu/Acpi.dsc.inc 
b/Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
new file mode 100644
index 00..76d0fac079
--- /dev/null
+++ b/Silicon/Qemu/SbsaQemu/Acpi.dsc.inc
@@ -0,0 +1,42 @@
+#
+#  Copyright (c) 2018, Linaro Limited. All rights reserved.
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+
+#
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform
+#
+##