From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.366.1656433589149618866 for ; Tue, 28 Jun 2022 09:26:29 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: dimitrije.pavlov@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EC446152B; Tue, 28 Jun 2022 09:26:28 -0700 (PDT) Received: from R90X9F89.arm.com (R90X9F89.arm.com [10.118.111.158]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8A0C03F792; Tue, 28 Jun 2022 09:26:28 -0700 (PDT) From: "Dimitrije Pavlov" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Graeme Gregory , Radoslaw Biernacki , Jeff Booher-Kaeding , Samer El-Haj-Mahmoud , Sunny Wang , Jeremy Linton Subject: [edk2-platforms][PATCH v1 1/1] Silicon/Qemu: Provide _STA ACPI method Date: Tue, 28 Jun 2022 11:26:11 -0500 Message-Id: <20220628162611.6252-1-Dimitrije.Pavlov@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit 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 Cc: Leif Lindholm Cc: Graeme Gregory Cc: Radoslaw Biernacki Cc: Jeff Booher-Kaeding Cc: Samer El-Haj-Mahmoud Cc: Sunny Wang Cc: Jeremy Linton Signed-off-by: Dimitrije Pavlov --- 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