SBBR requires platforms to provide the _STA ACPI method for each defined device. This patch implements a stub method that always indicates devices are present and functional.
Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Leif Lindholm <quic_llind...@quicinc.com> Cc: Graeme Gregory <gra...@nuviainc.com> Cc: Radoslaw Biernacki <r...@semihalf.com> Cc: Jeff Booher-Kaeding <jeff.booher-kaed...@arm.com> Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahm...@arm.com> Cc: Sunny Wang <sunny.w...@arm.com> Cc: Jeremy Linton <jeremy.lin...@arm.com> Signed-off-by: Dimitrije Pavlov <dimitrije.pav...@arm.com> --- Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl | 38 +++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl index 1bf9fbb99e75..3357916571fe 100644 --- a/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl +++ b/Silicon/Qemu/SbsaQemu/AcpiTables/Dsdt.asl @@ -16,6 +16,9 @@ Name (_PRS, ResourceTemplate() { \ Interrupt (ResourceProducer, Level, ActiveHigh, Exclusive) { Irq } \ }) \ + Method (_STA) { \ + Return (0xF) \ + } \ Method (_CRS, 0) { Return (_PRS) } \ Method (_SRS, 1) { } \ Method (_DIS) { } \ @@ -40,6 +43,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 0x00001000) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 33 } }) + Method (_STA) { + Return (0xF) + } } // AHCI Host Controller @@ -57,13 +63,18 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", FixedPcdGet32 (PcdPlatformAhciSize)) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 42 } }) + Method (_STA) { + Return (0xF) + } } // USB EHCI Host Controller Device (USB0) { Name (_HID, "LNRO0D20") Name (_CID, "PNP0D20") - + Method (_STA) { + Return (0xF) + } Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate() { Memory32Fixed (ReadWrite, @@ -77,6 +88,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", // Root Hub Device (RHUB) { Name (_ADR, 0x00000000) // Address of Root Hub should be 0 as per ACPI 5.0 spec + Method (_STA) { + Return (0xF) + } // Ports connected to Root Hub Device (HUB1) { @@ -87,6 +101,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 0x00000000, // Reserved 0 must be zero 0x00000000 // Reserved 1 must be zero }) + Method (_STA) { + Return (0xF) + } Device (PRT1) { Name (_ADR, 0x00000001) @@ -102,6 +119,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) + Method (_STA) { + Return (0xF) + } } // USB0_RHUB_HUB1_PRT1 Device (PRT2) { Name (_ADR, 0x00000002) @@ -117,6 +137,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) + Method (_STA) { + Return (0xF) + } } // USB0_RHUB_HUB1_PRT2 Device (PRT3) { @@ -133,6 +156,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) + Method (_STA) { + Return (0xF) + } } // USB0_RHUB_HUB1_PRT3 Device (PRT4) { @@ -149,6 +175,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) + Method (_STA) { + Return (0xF) + } } // USB0_RHUB_HUB1_PRT4 } // USB0_RHUB_HUB1 } // USB0_RHUB @@ -164,6 +193,10 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", Name (_UID, "PCI0") Name (_CCA, One) // Initially mark the PCI coherent (for JunoR1) + Method (_STA) { + Return (0xF) + } + Method (_CBA, 0, NotSerialized) { return (FixedPcdGet32 (PcdPciExpressBaseAddress)) } @@ -402,6 +435,9 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", FixedPcdGet64 (PcdPciExpressBarSize), // Length ,, , AddressRangeMemory, TypeStatic) }) + Method (_STA) { + Return (0xF) + } } // OS Control Handoff -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90811): https://edk2.groups.io/g/devel/message/90811 Mute This Topic: https://groups.io/mt/92048259/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-