Re: [edk2-devel] SbsaQemu: Initial support for static ACPI tables
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
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
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 +# +##