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.web11.98510.1674811428933234252 for ; Fri, 27 Jan 2023 01:23:49 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: vivek.gautam@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 5C0D02F; Fri, 27 Jan 2023 01:24:30 -0800 (PST) Received: from usa.arm.com (a077843.arm.com [10.162.43.190]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3F8A93F64C; Fri, 27 Jan 2023 01:23:46 -0800 (PST) From: "Vivek Kumar Gautam" To: devel@edk2.groups.io Cc: ardb+tianocore@kernel.org, leif@nuviainc.com, Sami.Mujawar@arm.com, Pierre.Gondois@arm.com, Vivek.Gautam@arm.com Subject: [edk2-platforms][PATCH V2 1/5] Platform/Sgi: Add SSDT table for Virtio-P9 Date: Fri, 27 Jan 2023 14:53:34 +0530 Message-Id: <20230127092338.72056-2-vivek.gautam@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230127092338.72056-1-vivek.gautam@arm.com> References: <20230127092338.72056-1-vivek.gautam@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Some of the Arm reference design FVP platforms support the Virtio-p9 device as part of the RoS subsystem. Add an entry for this device in the SSDT acpi table. The device entry is listed in a new SSDT file as only some of the reference design FVP platforms support it and so this file is included in the build for only the platforms that support Virtio-P9 device. Signed-off-by: Vivek Gautam --- Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc | 7 +++- Platform/ARM/SgiPkg/AcpiTables/SsdtRosVirtioP9.asl | 42 ++++++++++++++++++= ++ Platform/ARM/SgiPkg/SgiPlatform.dec | 7 +++- 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc b/Platform/ARM/SgiPk= g/SgiMemoryMap2.dsc.inc index 78ee48e354a8..12dcd82eb132 100644 --- a/Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc +++ b/Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc @@ -1,5 +1,5 @@ #=0D -# Copyright (c) 2020 - 2022, Arm Limited. All rights reserved.=0D +# Copyright (c) 2020 - 2023, Arm Limited. All rights reserved.=0D #=0D # SPDX-License-Identifier: BSD-2-Clause-Patent=0D #=0D @@ -38,6 +38,11 @@ gArmSgiTokenSpaceGuid.PcdVirtioNetBaseAddress|0x0C150000=0D gArmSgiTokenSpaceGuid.PcdVirtioNetInterrupt|460=0D =0D + # Virtio P9=0D + gArmSgiTokenSpaceGuid.PcdVirtioP9BaseAddress|0x0C190000=0D + gArmSgiTokenSpaceGuid.PcdVirtioP9Size|0x10000=0D + gArmSgiTokenSpaceGuid.PcdVirtioP9Interrupt|459=0D +=0D # PCIe=0D gArmTokenSpaceGuid.PcdPciMmio32Base|0x60000000=0D gArmTokenSpaceGuid.PcdPciMmio32Size|0x10000000=0D diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRosVirtioP9.asl b/Platform/= ARM/SgiPkg/AcpiTables/SsdtRosVirtioP9.asl new file mode 100644 index 000000000000..a1aab5e094b3 --- /dev/null +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRosVirtioP9.asl @@ -0,0 +1,42 @@ +/** @file=0D +* Secondary System Description Table Fields (SSDT) for Virtio-P9 device.=0D +*=0D +* Some of the Arm Reference Design FVP platforms support the Virtio-P9 dev= ice=0D +* as part of the RoS subsystem. The Virtio-P9 device implements a subset o= f the=0D +* Plan 9 file protocol over a virtio transport. It enables accessing a sha= red=0D +* directory on the host's filesystem from a running FVP platform.=0D +* This file describes the SSDT entry for this Virtio-P9 device=0D +*=0D +* Copyright (c) 2023, Arm Ltd. All rights reserved.=0D +*=0D +* SPDX-License-Identifier: BSD-2-Clause-Patent=0D +*=0D +* @par Specification Reference:=0D +* - ACPI 6.4, Chapter 5, Section 5.2.11.2, Secondary System Description = Table=0D +**/=0D +=0D +#include "SgiAcpiHeader.h"=0D +#include "SgiPlatform.h"=0D +=0D +DefinitionBlock ("SsdtRosVirtioP9.aml", "SSDT", 2, "ARMLTD", "ARMSGI",=0D + EFI_ACPI_ARM_OEM_REVISION) {=0D + Scope (_SB) {=0D + // VIRTIO P9 device=0D + Device (VP90) {=0D + Name (_HID, "LNRO0005")=0D + Name (_UID, 2)=0D + Name (_CCA, 1) // mark the device coherent=0D +=0D + Name (_CRS, ResourceTemplate() {=0D + Memory32Fixed (=0D + ReadWrite,=0D + FixedPcdGet32 (PcdVirtioP9BaseAddress),=0D + FixedPcdGet32 (PcdVirtioP9Size)=0D + )=0D + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {=0D + FixedPcdGet32 (PcdVirtioP9Interrupt)=0D + }=0D + })=0D + }=0D + } // Scope(_SB)=0D +}=0D diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dec b/Platform/ARM/SgiPkg/SgiP= latform.dec index b9be5c9060b6..e878af24d56b 100644 --- a/Platform/ARM/SgiPkg/SgiPlatform.dec +++ b/Platform/ARM/SgiPkg/SgiPlatform.dec @@ -1,5 +1,5 @@ #=0D -# Copyright (c) 2018 - 2022, Arm Limited. All rights reserved.=0D +# Copyright (c) 2018 - 2023, Arm Limited. All rights reserved.=0D #=0D # SPDX-License-Identifier: BSD-2-Clause-Patent=0D #=0D @@ -46,6 +46,11 @@ gArmSgiTokenSpaceGuid.PcdVirtioNetSize|0x00000000|UINT32|0x00000008=0D gArmSgiTokenSpaceGuid.PcdVirtioNetInterrupt|0x00000000|UINT32|0x00000009= =0D =0D + # Virtio P9=0D + gArmSgiTokenSpaceGuid.PcdVirtioP9BaseAddress|0x00000000|UINT32|0x0000002= 8=0D + gArmSgiTokenSpaceGuid.PcdVirtioP9Size|0x00000000|UINT32|0x00000029=0D + gArmSgiTokenSpaceGuid.PcdVirtioP9Interrupt|0x00000000|UINT32|0x0000002A= =0D +=0D # Chip count on the platform=0D gArmSgiTokenSpaceGuid.PcdChipCount|1|UINT32|0x0000000B=0D =0D --=20 2.25.1