From nobody Fri May 17 22:37:41 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+90998+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1656693153303840.9823588210885; Fri, 1 Jul 2022 09:32:33 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id C3wyYY1788612xNdbr5KZ4Hn; Fri, 01 Jul 2022 09:32:32 -0700 X-Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.40]) by mx.groups.io with SMTP id smtpd.web11.40538.1656693151472058301 for ; Fri, 01 Jul 2022 09:32:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bo+l/LR5WOhdZch2RseFdAi0wlIQTIjtMaogoikNqpf8wpkZeaHeJUGDOm95wIg66Xf1X5mEv0MtSPWCKbVMCwd/ah8Hobo/OOyXn7Ojk3nRbnyx28g6jD7Oy46DlOnRfVbx8tZiiOgTuw0XjNcIbzVI/j0hhOZ261ar4s2/IyVBR7X7RoYMjIeVVnYXIPLsrzAPaOXFfx0EBbwNfosCDalsE50kgTTelfG3uivl+OHyvPYnECsX1UtDRrygSn6wA/FnSY4UB94KVA7fWes8SnKHVJixaPdfvJWBnTOfhXnD7epE8gRnjJT8eFsqKvJMSCHcXaQc3G9Idj+wfuE4DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MjjxvJTNL0sXW+Bjdw2xGbkdZJgSg5iSJZiVnk5iJis=; b=n1N46xUZJ+URSMeL5sfcqOZDcBAONy+mcSSKdEm3tnhqT/CiJcIHxZw/ncVBZnz7gxQi0Kb0brIXQHK5T8wfWWAmQU6MzhL2TKcb4oewlGIqN4z84uj1z0mLSPZH6Si0iTZ52UIGm8dBYzPNb8vT9AAyEWxQ87jCURE0aHApBvqCodyXlyZRae+Yzwu/0dJec48iM3KeCQUEJQINyqKlam3cy5slxgptQGPz8hmamoG/S4ZsNZhy64rfneqns49dsxEA0BCv1+FaBEI8KJ8QaCKrlhQ71u4GCxabu/hrf6VMze+5bR8xKa7QwoDffFH/F/BX6kZc/7Qf/k/GTbQe3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.238) smtp.rcpttodomain=arm.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from DM6PR03CA0097.namprd03.prod.outlook.com (2603:10b6:5:333::30) by BN6PR12MB1186.namprd12.prod.outlook.com (2603:10b6:404:1c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14; Fri, 1 Jul 2022 16:32:29 +0000 X-Received: from DM6NAM11FT051.eop-nam11.prod.protection.outlook.com (2603:10b6:5:333:cafe::ab) by DM6PR03CA0097.outlook.office365.com (2603:10b6:5:333::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17 via Frontend Transport; Fri, 1 Jul 2022 16:32:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.238) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+90998+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.238 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.238; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (12.22.5.238) by DM6NAM11FT051.mail.protection.outlook.com (10.13.172.243) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5395.14 via Frontend Transport; Fri, 1 Jul 2022 16:32:28 +0000 X-Received: from drhqmail201.nvidia.com (10.126.190.180) by DRHQMAIL105.nvidia.com (10.27.9.14) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Fri, 1 Jul 2022 16:32:27 +0000 X-Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Fri, 1 Jul 2022 09:32:27 -0700 X-Received: from perses.nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.986.26 via Frontend Transport; Fri, 1 Jul 2022 09:32:27 -0700 From: "Jeff Brasen via groups.io" To: CC: , , , Jeff Brasen Subject: [edk2-devel] [PATCH v2 1/4] DynamicTablesPkg: AcpiSsdtPcieLibArm: Correct translation value Date: Fri, 1 Jul 2022 10:32:34 -0600 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-NVConfidentiality: public X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 483958c4-930e-4f6d-e93a-08da5b7f49f8 X-MS-TrafficTypeDiagnostic: BN6PR12MB1186:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: 3OSxy5YDSvB3paacZ+DXZDc2HgPC2agpaFXAb6AbX3C6zBEZ/FuTCTSTotIdOSO59YOpARRKDzoSy32NQJ5xSUvDe4FoHtfZFd14vmj9P8F5DkDWtUb0Ci21wVZhz/FM9IS9FtRQh8hAkvySEwS8fKDBZR3fQvAVJq5J3rZbHWm4z/SPODVVMTSKhwnofXECo0cShFCP4R2HU95VFhSBio3Ufo1B6ScH+iDZsM2kDz1J/B5FnH+xDHeNw00wbLCM16E0iADQFVUPqySsoMkBTnBHgTOFGJa823C5gOa9gNUJKkFaLZy7r3h64oH+t+SYq/Xa1f/g1zw6NGuLyIMIWE3+ILHpAjBY9vTMSgUfx7fU7vNnssAAYJb8T+Tm95hWI2MM4ZrzfvdFJdkgjwWJnwl8SKZb3Ospb1XPqvaQCwC4A63WTsevcL0P6jGsLFt4vjnDe+tZCN0ATPz4tFdVMqMcSnTi85XR4qNp2gwGAoPJfJeH2YMkBRKSlcGtYuhQmogPBDP9T9UFTHFOgIpcqHKu5IDDRE7aNl/cp66nogDFjxzmsRKjkJ1zhViKWWi1O2Bd4jmJWv/r03elAq6wSHxfqoHPjcoJwp+8mdwHXRPKVRQ6LweE94VKzEG1cQd8LLqzHJRfQdM0xHpPrvHHodl9mig23bZydOJLtLSBanuLWsD3ES227AzVI4iMaiYv+pTenL7j5B0VJHxrtHbA4RhhbkdjKizQJIMtZbLQCHanwTLI2Rdv+dwVLUE90cE774Tz0A6yQ7ooREbnM94vwTQsghKM9w79LAzJNR8KludErYSocZIF0i0Tt3eiu333X+4hZEV5sAkjKzD3u/4mOytv41oKdXTpyMss3uMDPkeBq+fv2StiZPnMvLBwaJdq X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2022 16:32:28.5276 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 483958c4-930e-4f6d-e93a-08da5b7f49f8 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[12.22.5.238];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT051.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1186 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jbrasen@nvidia.com X-Gm-Message-State: iNfxPWyrQZ8kNZ0tGHRMTLrvx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1656693152; bh=z5KN12+3kgtMhCkm080jTWmjJH7avZNL897dQeOcdco=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=Dsm7PUr7jR1ZAkvBdwIDaxHO0ByIzVrOdhbnYCPMcPaRIevA76EkEJMWBlNAKldDu+z MtSUs4t+AhSK0B6xIJdGgv9MVIOWvlaJHi5Lp7SP71n9naleOeURCXYDBRVFbMOdy46Pu 0uvCkYC+aV9BxzZvwbU70P8eBoOGxPozVOo= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1656693154356100002 Content-Type: text/plain; charset="utf-8" The translation value in ACPI should be the difference between the CPU and = PCIe address. Signed-off-by: Jeff Brasen --- .../Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c index a34018151f..d4c5f47b07 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c @@ -540,6 +540,7 @@ GeneratePciCrs ( UINT32 RefCount; CM_ARM_PCI_ADDRESS_MAP_INFO *AddrMapInfo; AML_OBJECT_NODE_HANDLE CrsNode; + BOOLEAN IsPosDecode; =20 ASSERT (Generator !=3D NULL); ASSERT (CfgMgrProtocol !=3D NULL); @@ -609,6 +610,11 @@ GeneratePciCrs ( } =20 Translation =3D (AddrMapInfo->CpuAddress !=3D AddrMapInfo->PciAddress); + if (AddrMapInfo->CpuAddress >=3D AddrMapInfo->PciAddress) { + IsPosDecode =3D TRUE; + } else { + IsPosDecode =3D FALSE; + } =20 switch (AddrMapInfo->SpaceCode) { case PCI_SS_IO: @@ -616,12 +622,12 @@ GeneratePciCrs ( FALSE, TRUE, TRUE, - TRUE, + IsPosDecode, 3, 0, AddrMapInfo->PciAddress, AddrMapInfo->PciAddress + AddrMapInfo->AddressSize - 1, - Translation ? AddrMapInfo->CpuAddress : 0, + Translation ? AddrMapInfo->CpuAddress - AddrMapInfo->Pc= iAddress : 0, AddrMapInfo->AddressSize, 0, NULL, @@ -635,7 +641,7 @@ GeneratePciCrs ( case PCI_SS_M32: Status =3D AmlCodeGenRdDWordMemory ( FALSE, - TRUE, + IsPosDecode, TRUE, TRUE, TRUE, @@ -643,7 +649,7 @@ GeneratePciCrs ( 0, AddrMapInfo->PciAddress, AddrMapInfo->PciAddress + AddrMapInfo->AddressSize - 1, - Translation ? AddrMapInfo->CpuAddress : 0, + Translation ? AddrMapInfo->CpuAddress - AddrMapInfo->Pc= iAddress : 0, AddrMapInfo->AddressSize, 0, NULL, @@ -657,7 +663,7 @@ GeneratePciCrs ( case PCI_SS_M64: Status =3D AmlCodeGenRdQWordMemory ( FALSE, - TRUE, + IsPosDecode, TRUE, TRUE, TRUE, @@ -665,7 +671,7 @@ GeneratePciCrs ( 0, AddrMapInfo->PciAddress, AddrMapInfo->PciAddress + AddrMapInfo->AddressSize - 1, - Translation ? AddrMapInfo->CpuAddress : 0, + Translation ? AddrMapInfo->CpuAddress - AddrMapInfo->Pc= iAddress : 0, AddrMapInfo->AddressSize, 0, NULL, --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90998): https://edk2.groups.io/g/devel/message/90998 Mute This Topic: https://groups.io/mt/92113675/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri May 17 22:37:41 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+91000+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1656693153840884.9669913816267; Fri, 1 Jul 2022 09:32:33 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id E3N6YY1788612x7epNPVw5zt; Fri, 01 Jul 2022 09:32:33 -0700 X-Received: from NAM04-MW2-obe.outbound.protection.outlook.com (NAM04-MW2-obe.outbound.protection.outlook.com [40.107.101.66]) by mx.groups.io with SMTP id smtpd.web08.40581.1656693152721631964 for ; Fri, 01 Jul 2022 09:32:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S84pKdV8MG3IMSEQWhGUvO1pZ2EDqjdvI7+//+vMubqmRc6HGHhybzJ5w7FDLMWvdY1N1eECnuZua0DaXrOO1TqnUPj0ebq9NnhwcYztvSWDlbLE+bHGAbH28xKjncn3HC5/0Ow5kegywRJCj4gALkqhJumsTaL5Lew3KHDDCOc27lBWuhcRTEM01HW4u6vQOi7kq1T1iahqBg1UCRn6Qq5T4+8+7uIDFNByalqs+UQjL0MQTkYqknBt6BbjhVqV+1HA9TiRiHIc5FBUl0lIUvGkyX6lj9IKv8lMp5WKQ/NX8wRwBrlLVGb6FKirr6RitsSLlFX1+epg1wRffu8Ulg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PxrnWBC9wlcJC9XKhVgNtXzEKrQ2llXS0RZypDhrUbA=; b=jMOl+lwDnsnn6Su5H8tgvVVHENmT3KF+DwJunsI09Q12ZE46qmod1Pg3l6N/464nO1zG66Zg74AtJ2QRPGeZOVanjqx2430tpQhiwTRykMtW2szOdo3vwe9m3UoNOc1H7QbWwqVzalaDzDUX9A9A85qWfAcAInm6sy1bzl908BpAFVHyb86euNp8M3WNWs5Vwe8tIJHkU+jIgivBkqn0pE+NysMWFACrp9vk/lMKPBRgCCUbNLJwaiLCJQ5xDE8z5fVqxXVS8LnDcUQ7eo4ZYLL2KIYv79gie0ood29asH1UbtbF5jr3JTJruKE75deMOYBila7Et7EWyI7GENUX8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.234) smtp.rcpttodomain=arm.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from BN6PR22CA0026.namprd22.prod.outlook.com (2603:10b6:404:37::12) by MWHPR12MB1311.namprd12.prod.outlook.com (2603:10b6:300:13::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Fri, 1 Jul 2022 16:32:30 +0000 X-Received: from BN8NAM11FT016.eop-nam11.prod.protection.outlook.com (2603:10b6:404:37:cafe::57) by BN6PR22CA0026.outlook.office365.com (2603:10b6:404:37::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15 via Frontend Transport; Fri, 1 Jul 2022 16:32:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.234) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+91000+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.234 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.234; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (12.22.5.234) by BN8NAM11FT016.mail.protection.outlook.com (10.13.176.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5395.14 via Frontend Transport; Fri, 1 Jul 2022 16:32:29 +0000 X-Received: from drhqmail202.nvidia.com (10.126.190.181) by DRHQMAIL101.nvidia.com (10.27.9.10) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Fri, 1 Jul 2022 16:32:28 +0000 X-Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Fri, 1 Jul 2022 09:32:28 -0700 X-Received: from perses.nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.986.26 via Frontend Transport; Fri, 1 Jul 2022 09:32:27 -0700 From: "Jeff Brasen via groups.io" To: CC: , , , Jeff Brasen Subject: [edk2-devel] [PATCH v2 2/4] DynamicTablesPkg: AcpiSsdtPcieLibArm: Allow use of segment number as UID Date: Fri, 1 Jul 2022 10:32:35 -0600 Message-ID: <63668e8cc9cad1351b8db7a4f19febe83587ac0a.1656693003.git.jbrasen@nvidia.com> In-Reply-To: References: MIME-Version: 1.0 X-NVConfidentiality: public X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1fb213a5-8bee-4f87-d7aa-08da5b7f4a7f X-MS-TrafficTypeDiagnostic: MWHPR12MB1311:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: QKhunjo5MHWmjqv9abFGBpqNMQzbHw/NSQTNGFWVVHWiRjIQQSD58sBMzazrhvYzs6knvaROFTgAiwv+ItmmP/o4UdVtK5nyNyGYkiwjOn/BPL57EsHQ6wi8Lr7cmbcRgKOgXFEIkO4Gt8kIE0d1TvFCQNxQhFgSsTGKczkbFYzqwRWrETFtCzvuVD9MiFDbkuQ2cyp4jX+jRn2/MW4hSx1gEwsZ7SrutdYPhFM1+dt4RsguZPWnuEttcsBfLTjebss0XyI8V0L9c0OYjf3irst//Ng6EB/M/etY0yo0b7JiF3O9jI25fHI2g+7phOK0nvN4qylZMDMVwM6D3Uuy0o+xPYYoSC40slai143JgtS/C+tCA94tWP/wnzaHx89kbsoFRJvvWlTIx9FL3vT+9vwkgfkrSxXerlbgDmBnKGakCAAaKAbSyj4gtD7OLAgMH/w+bwzn07QamDBi/pM/ay7lD/8S6ZB+Y1eVAlp41KLJxqoX8WOJuCXK1H54zp/5wYIIJYbdVGrys1qH+gkEccns1W+WFe1X25qCaMOFPhojYiCtAOqBxydN1Lfjhksu+WlHR1/ITOexE6hP7/4xuCgaU4Ja9HfJhBgsFQbAVMkJXwvlnG+vvojtQpJGWN/+FZ31s55fdhr5JmhXwAIU3/TVLsUyyMD2/NSIjTyzw86eCvgOA2C38pfP1ikTCIpbe/kVBnFkxuo8Yd7oEqjk+2ZUR6QfY6OAmAwQUTZBzlWNmEDC23Rv35MSVSD3wNQAOgD5ivEm1gTdqcATC6GBnbFmfxJ15Gn8jkiPuMA34enSktLbN1GB+2hfqjrXnC+62gqyifrGbaaN0IFf/nOthHu/Ka6THFKghhteAJmPgy+OB1tI4gIT0nGVkVjuluoO X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2022 16:32:29.3338 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1fb213a5-8bee-4f87-d7aa-08da5b7f4a7f X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[12.22.5.234];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT016.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1311 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jbrasen@nvidia.com X-Gm-Message-State: z1YyHuf6QsNI8kXFVMAdgY39x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1656693153; bh=vHAlGrAJamksPuTkTaCcUdQsP/Ok31k1jJWEykJB8RI=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=P3wy8V33V0OqQ+4C5JqraQ5oTn8EVN/YhI797nCqvzucYGjqcify8ZwwXrSOrKco53v 3/uAe5ZyhRk210a+WRRvsifg0hY7KYj6VRbB6w3zs3/ctIxKz5C9uqBp0f4F8dLwrlVLo YdS0SCHTgpIJMtGx7aYMevZ+rgUTkMysArM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1656693154350100001 Content-Type: text/plain; charset="utf-8" Add support for selecting to use index or segment number as UID and name. This allows the path of the nodes to be well known. Signed-off-by: Jeff Brasen --- DynamicTablesPkg/DynamicTablesPkg.dec | 3 +++ .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 19 ++++++++++++++++++- .../Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf | 3 +++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/DynamicTablesPkg/DynamicTablesPkg.dec b/DynamicTablesPkg/Dynam= icTablesPkg.dec index 9b74c5a671..a890a048be 100644 --- a/DynamicTablesPkg/DynamicTablesPkg.dec +++ b/DynamicTablesPkg/DynamicTablesPkg.dec @@ -57,5 +57,8 @@ # Non BSA Compliant 16550 Serial HID gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdNonBsaCompliant16550SerialHid|""= |VOID*|0x40000008 =20 + # Use PCI segment numbers as UID + gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdPciUseSegmentAsUid|FALSE|BOOLEAN= |0x40000009 + [Guids] gEdkiiDynamicTablesPkgTokenSpaceGuid =3D { 0xab226e66, 0x31d8, 0x4613, {= 0x87, 0x9d, 0xd2, 0xfa, 0xb6, 0x10, 0x26, 0x3c } } diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c index d4c5f47b07..80776ceb79 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c @@ -1002,6 +1002,7 @@ BuildSsdtPciTableEx ( UINTN Index; EFI_ACPI_DESCRIPTION_HEADER **TableList; ACPI_PCI_GENERATOR *Generator; + UINT32 Uid; =20 ASSERT (This !=3D NULL); ASSERT (AcpiTableInfo !=3D NULL); @@ -1057,13 +1058,29 @@ BuildSsdtPciTableEx ( *Table =3D TableList; =20 for (Index =3D 0; Index < PciCount; Index++) { + if (PcdGetBool (PcdPciUseSegmentAsUid)) { + Uid =3D PciInfo[Index].PciSegmentGroupNumber; + if (Uid > MAX_PCI_ROOT_COMPLEXES_SUPPORTED) { + DEBUG (( + DEBUG_ERROR, + "ERROR: SSDT-PCI: Pci root complexes segment number: %d." + " Greater than maximum number of Pci root complexes supported = =3D %d.\n", + Uid, + MAX_PCI_ROOT_COMPLEXES_SUPPORTED + )); + return EFI_INVALID_PARAMETER; + } + } else { + Uid =3D Index; + } + // Build a SSDT table describing the Pci devices. Status =3D BuildSsdtPciTable ( Generator, CfgMgrProtocol, AcpiTableInfo, &PciInfo[Index], - Index, + Uid, &TableList[Index] ); if (EFI_ERROR (Status)) { diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieL= ibArm.inf b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLi= bArm.inf index 283b564801..431e32a777 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.i= nf +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.i= nf @@ -30,3 +30,6 @@ AcpiHelperLib AmlLib BaseLib + +[Pcd] + gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdPciUseSegmentAsUid --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91000): https://edk2.groups.io/g/devel/message/91000 Mute This Topic: https://groups.io/mt/92113679/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri May 17 22:37:41 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+90999+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1656693153535758.2610050289986; Fri, 1 Jul 2022 09:32:33 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id qyVBYY1788612x6KWTEzeyPR; Fri, 01 Jul 2022 09:32:33 -0700 X-Received: from NAM04-MW2-obe.outbound.protection.outlook.com (NAM04-MW2-obe.outbound.protection.outlook.com [40.107.101.50]) by mx.groups.io with SMTP id smtpd.web09.41031.1656693152384132725 for ; Fri, 01 Jul 2022 09:32:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HaC4jp01hJHK0YnCHhUS82l+UK/t661EPtX/lJyowKPUWx10Vxrca7OZusw9wrbMxmDN+PV0gSJ5+5bDfWX5rHppP5hdqulIO9PXrQ2ZfK/zsBYPn9m7n8wBITXaFw4Qy6AbTSu8dwxnxvyKxwou/1ehEv2nfVk18Oaz+oo6ZgnIB6aBXs+u04jxW3IvNGXk0BLT2CEUtKXCkNenNwxKaEyLlrCiSXSuWxOMIQWw2Ow/oIAXwYZ2CIQ8isuUy54tp07eo4Ql9+2OFXC9J4kPecV0PVCz3xbCflBvmB4PNeaCFVyG8U5PcI6dWW1qrjEF4EK7zDBcqp536z6S6OQvbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YaMuIH3jpiVwDVSYAwp0auIeOrjcQSsucpHpIeeeTFE=; b=O471V3btSXDD9cHELe+7/tmdsH+/I3vxhxI/hfDwTIegv+paz+jXYoXawMG5Hbm2u7LE2PJfyGpoP9yHmibjIaFYc4ol1HXzOlmFtYBVAMGP6nzrv7RxzQMzbglsbbh/aXti+9aq+6TjqMU0iepJ9v9QJdCbhFtSv8JgVS+wIGRdVlz43hMDnsBIqonCmdUNPqUx5YDIm+rRGAv1Mla1aNvmnWrFtF8VVvqCYdedyGNEspD+7LkIG10DyE0/5jwe54AfLnLaHNOzgLFJMJPUAeNNW564StR+32G42JVqey0U4deaiGyKblgmZo+QjGa/I5cOvZ4JMPFtkupi/xZWxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.236) smtp.rcpttodomain=arm.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from DS7PR03CA0331.namprd03.prod.outlook.com (2603:10b6:8:55::26) by DM4PR12MB5135.namprd12.prod.outlook.com (2603:10b6:5:392::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14; Fri, 1 Jul 2022 16:32:30 +0000 X-Received: from DM6NAM11FT004.eop-nam11.prod.protection.outlook.com (2603:10b6:8:55:cafe::5a) by DS7PR03CA0331.outlook.office365.com (2603:10b6:8:55::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14 via Frontend Transport; Fri, 1 Jul 2022 16:32:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.236) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+90999+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.236 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.236; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (12.22.5.236) by DM6NAM11FT004.mail.protection.outlook.com (10.13.172.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5395.17 via Frontend Transport; Fri, 1 Jul 2022 16:32:30 +0000 X-Received: from drhqmail202.nvidia.com (10.126.190.181) by DRHQMAIL109.nvidia.com (10.27.9.19) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Fri, 1 Jul 2022 16:32:29 +0000 X-Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Fri, 1 Jul 2022 09:32:28 -0700 X-Received: from perses.nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.986.26 via Frontend Transport; Fri, 1 Jul 2022 09:32:28 -0700 From: "Jeff Brasen via groups.io" To: CC: , , , Jeff Brasen Subject: [edk2-devel] [PATCH v2 3/4] DynamicTablesPkg: AcpiSsdtPcieLibArm: Support UID > 0xF Date: Fri, 1 Jul 2022 10:32:36 -0600 Message-ID: <7e64a840aeaa98da9ea1f6257c808b56040c8cd0.1656693003.git.jbrasen@nvidia.com> In-Reply-To: References: MIME-Version: 1.0 X-NVConfidentiality: public X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18973412-5a46-455f-7ab2-08da5b7f4ae8 X-MS-TrafficTypeDiagnostic: DM4PR12MB5135:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: yg008AMCNRyZd6MXV/zhZ8Ba6Wu4oXynHiUI/M18ARr/7Pja4rzk/vcShjlWJWsufxGLRYO39DeHw9c5tjhF27Aq6iWjHS9/aPm8hvTdWQiZ+pJVabPJ7Gvedber2MSv5FIMnxJ7+uCc7/oORLLqKGp3GbvWlkZBgZN9RbBiV9cchJMsrnquBbtuj3tRm0GK3bjIEwXfVJk2rMJJEUR1bohWr+CnnYFBdR62KwdLSVOk5hVQQzlIeD9xaa2hhSn8B3dxxhmkrUJzl39YUQZ3pfI4kOH3RLX7MJCx/fDkGyW5dn0zBilJlpJXMQ2e+JGygy+bC5F26e5PgYwNx8/Lk9jMDcrB90zfs32JbHDv7Zz93yCF0JRRz9D4dC9WiNnYThtbCQypmn4MbbYnvod7RXhrTKcqp0iUFrWy0SQrdfUTeB3GHL+KhIyJfX8qeI3TfR10wesVQUn+8UnxI/c7XpTqNoHVk82JYHi87P69wIxUbYnXCH6mr+CBG0z+H9w8cZ3VqQtIczADZJMgrZQfp/as76HdFd0eFy0CoqtRXLiCINJ08xCiEvk7dt0FnPjXZzBADbsNzK5oQlUvFamMf8uh8ju6z161x2weo1n8zZLq/Orz2LFiNxGkTrK0zBIjHkpTbNJ/LaF8wuX4rYjbWiaw8wPIChaKVgqcIKYp9y+eaDw8iPl6bKE0MYe1T3Z4pEDhhmE6tiQCfzFYU54TOovEIDSlZyqjKmessISthfld5DOUQbXeUfawQoOCYi9VE7XHTBy9KYzTxeomoWq0q+JvUKN/3AhXw3yPhDAcUMTNr6ziNoB5LkO+yX8nXoORj+IbKTa7OYhMJb1J6HUu53J7oyZrdjbJECKko4jrgI73iC5hvVuws/xmVkJQ6Tdl X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2022 16:32:30.0820 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 18973412-5a46-455f-7ab2-08da5b7f4ae8 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[12.22.5.236];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT004.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5135 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jbrasen@nvidia.com X-Gm-Message-State: UfJ0ZSY0Aj6x8QeEo2OPIS2sx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1656693153; bh=ODfunS4OmbkskvD1uunNVbdJmyeZdI3ingOAebjz4yc=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=HpzgX8iMXrimKCHUM621nJZW6QDItxTZ66S69HNq58Ubn6RJbBQgIQMYrH0tt1nrQ1I 2gOjq6v69bjt1xsFT0+fpMDYt+i2H+7J/U7IRsVIsb+mcsKGRNzXHr2AEVcJ9VZswB+pY zLtntx26O6t25IpupY4+sXNjedKuWneKhvs= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1656693154625100015 Content-Type: text/plain; charset="utf-8" Add support for PCIe devices with UID > 0xF. This is done by using the next value in the name so PCI5, PC26, etc Signed-off-by: Jeff Brasen --- .../Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 11 +++++++---- .../Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c index 80776ceb79..9f785ca5ac 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c @@ -824,7 +824,10 @@ GeneratePciDevice ( =20 // Write the name of the PCI device. CopyMem (AslName, "PCIx", AML_NAME_SEG_SIZE + 1); - AslName[AML_NAME_SEG_SIZE - 1] =3D AsciiFromHex (Uid); + AslName[AML_NAME_SEG_SIZE - 1] =3D AsciiFromHex (Uid & 0xF); + if (Uid > 0xF) { + AslName[AML_NAME_SEG_SIZE - 2] =3D AsciiFromHex ((Uid >> 4) & 0xF); + } =20 // ASL: Device (PCIx) {} Status =3D AmlCodeGenDevice (AslName, ScopeNode, &PciNode); @@ -1060,13 +1063,13 @@ BuildSsdtPciTableEx ( for (Index =3D 0; Index < PciCount; Index++) { if (PcdGetBool (PcdPciUseSegmentAsUid)) { Uid =3D PciInfo[Index].PciSegmentGroupNumber; - if (Uid > MAX_PCI_ROOT_COMPLEXES_SUPPORTED) { + if (Uid >=3D MAX_PCI_ROOT_COMPLEXES_SUPPORTED) { DEBUG (( DEBUG_ERROR, "ERROR: SSDT-PCI: Pci root complexes segment number: %d." - " Greater than maximum number of Pci root complexes supported = =3D %d.\n", + " Greater than maximum supported value =3D %d.\n", Uid, - MAX_PCI_ROOT_COMPLEXES_SUPPORTED + MAX_PCI_ROOT_COMPLEXES_SUPPORTED - 1 )); return EFI_INVALID_PARAMETER; } diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.h b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.h index 59a0d601a3..515a3e1785 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.h +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.h @@ -31,7 +31,7 @@ Corresponding changes would be needed to support the Name and UID fields describing the Pci root complexes. */ -#define MAX_PCI_ROOT_COMPLEXES_SUPPORTED 16 +#define MAX_PCI_ROOT_COMPLEXES_SUPPORTED 256 =20 // _SB scope of the AML namespace. #define SB_SCOPE "\\_SB_" --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90999): https://edk2.groups.io/g/devel/message/90999 Mute This Topic: https://groups.io/mt/92113677/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri May 17 22:37:41 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+91001+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1656693155619395.73228067665184; Fri, 1 Jul 2022 09:32:35 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id UW8iYY1788612xU2ZTHlr4eN; Fri, 01 Jul 2022 09:32:35 -0700 X-Received: from NAM02-BN1-obe.outbound.protection.outlook.com (NAM02-BN1-obe.outbound.protection.outlook.com [40.107.212.82]) by mx.groups.io with SMTP id smtpd.web11.40540.1656693154500182170 for ; Fri, 01 Jul 2022 09:32:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k35hZyMUc0GXTWLUJQ/MG78XXcTKgUu/zUlvHc+X9w3on42Mi0np/gZAUBv4hZrMyheuwSE9GYGYdnc9Hyl0Md8QuBeimC962BQSxCyX2lKO2a+ZqPeZji3EZOunZB6IUIcpLBJ1AlzfndZQeCLVoUyHvKhkuMxlOiHXmGGx30EQzpA+mL8xD9qv4lEhTtfnv+uDcyZcGuifFAc5ZU1s0qOhQZ/AeD05cR3TbGZm3+CZktk/zlE6jqVT9nYZwX3+TTYOSudOfCHfKpF/wg6E0X6U63IsONyRpQGnwH5LZuFg44ONCrfXNkZE+xevuUFFWQ6zyTWFuepTwbQ23wwEFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=w9vnDwnGqBX0B3yN5/sswxZp7K1ZEKIJrI3XBoKzEsk=; b=WhmxKihsJ5oJsN506KY5CxTVVQRR/oHcT6R5oawsPh0kct/oYzDibudg+1eFeb4Mrck8IwMSKjJ65c3iQbO0lJaEdnvVwT7jWh2dTxriHV7DsjRsn1NjSmLn2Msd4tf9JSgnXGMOufGF9T7eK5+43/JbgbhmPs90yTKvELJnnYa9LDPtdR7OUcFgUPPPFKqJUQ8zYaaPMQpCkn6jChGmM9uzbfrscpb9iTe2/buZPPiLH/lZP1fP4pu10ylimtiK2tXnxLygcRbvrHrIMHjEKevioy8H568O1irmjfRVakNWQstzvZvh3q9+3yykgCJWeM5/G6XRmL+4mZUr6F37VQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.235) smtp.rcpttodomain=arm.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from MW4PR04CA0186.namprd04.prod.outlook.com (2603:10b6:303:86::11) by MWHPR12MB1582.namprd12.prod.outlook.com (2603:10b6:301:10::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Fri, 1 Jul 2022 16:32:31 +0000 X-Received: from CO1NAM11FT017.eop-nam11.prod.protection.outlook.com (2603:10b6:303:86:cafe::14) by MW4PR04CA0186.outlook.office365.com (2603:10b6:303:86::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15 via Frontend Transport; Fri, 1 Jul 2022 16:32:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.235) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+91001+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.235 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.235; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (12.22.5.235) by CO1NAM11FT017.mail.protection.outlook.com (10.13.175.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5395.14 via Frontend Transport; Fri, 1 Jul 2022 16:32:30 +0000 X-Received: from drhqmail202.nvidia.com (10.126.190.181) by DRHQMAIL107.nvidia.com (10.27.9.16) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Fri, 1 Jul 2022 16:32:30 +0000 X-Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Fri, 1 Jul 2022 09:32:29 -0700 X-Received: from perses.nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.986.26 via Frontend Transport; Fri, 1 Jul 2022 09:32:29 -0700 From: "Jeff Brasen via groups.io" To: CC: , , , Jeff Brasen Subject: [edk2-devel] [PATCH v2 4/4] DynamicTablesPkg: AcpiSsdtPcieLibArm: Add support for override protocol Date: Fri, 1 Jul 2022 10:32:37 -0600 Message-ID: <4f14ba2221eeaeb00ca75f33016d9216a9aef635.1656693003.git.jbrasen@nvidia.com> In-Reply-To: References: MIME-Version: 1.0 X-NVConfidentiality: public X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 304e5c5f-db26-4c6a-a00b-08da5b7f4b43 X-MS-TrafficTypeDiagnostic: MWHPR12MB1582:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: sbDoPxVjM2POinDUzc/JOxn674pFQlO40HWZI76BykQuVTsscs9D94//rWWW8M38PsqgOg/cz+u3ouEPoFlLLTp8qkECdd6pRkZiQyQGaS0bvu/1IR5BRu9cNHxlwNPRYzdJ8mKq+fXxsw7tuEiDOtUjHGLUFpztINMn0AgvpJwgGm3Cu1q1an0uRcRD+PB386ODYXslh3P7sIkBrUao+q0TAe7mv/U8mXevSidgObwslhNjdEc2lvL214XXzKcZTOkycTWbocY5cdWGwuuwlctN6SmRIO1jiBgh12OeEne1abUfDCfYKjZAm1SDrs5mVDRQ2PVU4mhO/nUQcriVbG8zqfz2JstDjKubpKexDom/xbNsyqnWg1/8CzUWGLGKAZl+aDYX8SFDt1DasgBEFTwux9Ukz5FcNUXRPxTDxEjYZ1MBF8TP2JrG3SH8FaNO4mGaJfic6r45wPXfU8JTBCMNdgM5HUOyJWeVRxjgqe3PNlDnVH4dDU+f5jb4rwzCWk1iNLpadQLirwrEvNH+ryG6WBrZ+LN98Y2ekXtCvJfDXTYdTpCfRcSKCdIoRsGVM4I2aEDJon2fXlO6G2GQewMvn9ndF+UB5OoyAAUtbAU8grDsIvhFCoLs0hFZzzqIOZoyfbNTqPBfTRyGO8UABuuqM6RvAaWUghv66xMwGlgMOIu5TblSFlyA/WMOgyWslmXbVNzqgwcyLoHkeUy5fi0BYsNfIhkL0sHmpxK7hsfuYumgatvHWrR9Sh2jMs1bYvYWks6LMgoCTJeQI0eUslJ3UuIZQuppNSPR+YX9X2HfeZFpkAJP1W+gjv4hMMBvHMR6Y4gKkB5MDgw0dW1zYkU36uXAukkKzum+VM1Nlzj9FBbOUxSy5xrgLKQPiiof X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2022 16:32:30.6950 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 304e5c5f-db26-4c6a-a00b-08da5b7f4b43 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[12.22.5.235];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT017.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1582 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jbrasen@nvidia.com X-Gm-Message-State: 9aicToQfGeGY64WtEAFTXuqzx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1656693155; bh=hmtVCwzA+JaZIfucDCeGemzn8M7gEYMZAA5MtYzwpAY=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=j6jC3JmOtQs0rACamI/pfeRXUV6ZZ9NN3RomXUQjEL88KK3EZ6QqOe1HLON9k5HON2b P+Mbb3azOaAAodZmuvP09CxvuptqL2Fk19Pqhtl88SqofCTh/gjWpgR9N+RIs9ggh2YyZ HlFH1NRQky4DcSoU0xtBKfpJv9ao/m8RjhM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1656693156356100017 Content-Type: text/plain; charset="utf-8" Some platfoms may want to modify the ACPI table created. Add support for protocol that can provide an alternative implementation. Signed-off-by: Jeff Brasen --- DynamicTablesPkg/DynamicTablesPkg.dec | 3 + .../Protocol/SsdtPcieOverrideProtocol.h | 63 +++++++++++++++++++ .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 31 ++++++++- .../Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.inf | 4 ++ 4 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 DynamicTablesPkg/Include/Protocol/SsdtPcieOverrideProto= col.h diff --git a/DynamicTablesPkg/DynamicTablesPkg.dec b/DynamicTablesPkg/Dynam= icTablesPkg.dec index a890a048be..bb66bdaf14 100644 --- a/DynamicTablesPkg/DynamicTablesPkg.dec +++ b/DynamicTablesPkg/DynamicTablesPkg.dec @@ -43,6 +43,9 @@ # Dynamic Table Factory Protocol GUID gEdkiiDynamicTableFactoryProtocolGuid =3D { 0x91d1e327, 0xfe5a, 0x49b8, = { 0xab, 0x65, 0xe, 0xce, 0x2d, 0xdb, 0x45, 0xec } } =20 + # Protocol to override PCI SSDT table generation + gEdkiiDynamicTableSsdtPcieOverrideProtocolGuid =3D { 0x962e8b44, 0x23b3,= 0x41da, { 0x9f, 0x36, 0xca, 0xde, 0x68, 0x49, 0xfb, 0xf6 } } + [PcdsFixedAtBuild] =20 # Maximum number of Custom ACPI Generators diff --git a/DynamicTablesPkg/Include/Protocol/SsdtPcieOverrideProtocol.h b= /DynamicTablesPkg/Include/Protocol/SsdtPcieOverrideProtocol.h new file mode 100644 index 0000000000..29568a0159 --- /dev/null +++ b/DynamicTablesPkg/Include/Protocol/SsdtPcieOverrideProtocol.h @@ -0,0 +1,63 @@ +/** @file + + Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. + + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef SSDT_PCIE_OVERRIDE_PROTOCOL_H_ +#define SSDT_PCIE_OVERRIDE_PROTOCOL_H_ + +#include +#include + +/** This macro defines the SSDT PCI Override Protocol GUID. + + GUID: {D85A4835-5A82-4894-AC02-706F43D5978E} +*/ +#define EDKII_SSDT_PCI_OVERRIDE_PROTOCOL_GUID \ + { 0x962e8b44, 0x23b3, 0x41da, \ + { 0x9f, 0x36, 0xca, 0xde, 0x68, 0x49, 0xfb, 0xf6 } \ + }; + +/** + Forward declarations: +*/ +typedef struct SsdtOverridePciProtocol EDKII_SSDT_PCI_OVERRIDE_PROTOCOL; + +/** The UpdateTable function allows the override protocol to update the + * PCIe SSDT table prior to being created. + + @param [in] This Pointer to the SSDT PCI Override Protocol. + @param [in] PciInfo The PCIe configuration info for this node. + @param [in] Uid UID that was selected for this PCIe node. + @param [in, out] PciNode Pointer to the PCI node of this ACPI table. + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER A parameter is invalid. + @retval EFI_DEVICE_ERROR Failed to update the table. +**/ +typedef +EFI_STATUS +(EFIAPI *EDKII_SSDT_PCI_OVERRIDE_PROTOCOL_UPDATE_TABLE)( + IN CONST EDKII_SSDT_PCI_OVERRIDE_PROTOCOL *CONST This, + IN CONST CM_ARM_PCI_CONFIG_SPACE_INFO *PciInfo, + IN UINT32 Uid, + IN OUT AML_ROOT_NODE_HANDLE *PciNode + ); + +/** The EDKII_CONFIGURATION_MANAGER_PROTOCOL structure describes the + Configuration Manager Protocol interface. +*/ +typedef struct SsdtOverridePciProtocol { + /** The interface used to update the ACPI table for PCI. + */ + EDKII_SSDT_PCI_OVERRIDE_PROTOCOL_UPDATE_TABLE UpdateTable; +} EDKII_SSDT_PCI_OVERRIDE_PROTOCOL; + +/** The SSDT PCI Override Protocol GUID. +*/ +extern EFI_GUID gEdkiiDynamicTableSsdtPcieOverrideProtocolGuid; + +#endif // SSDT_PCIE_OVERRIDE_PROTOCOL_H_ diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieG= enerator.c index 9f785ca5ac..46e0a98b98 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerato= r.c @@ -20,6 +20,7 @@ #include #include #include +#include #include =20 // Module specific include files. @@ -30,6 +31,7 @@ #include #include #include +#include =20 #include "SsdtPcieGenerator.h" =20 @@ -804,9 +806,10 @@ GeneratePciDevice ( { EFI_STATUS Status; =20 - CHAR8 AslName[AML_NAME_SEG_SIZE + 1]; - AML_OBJECT_NODE_HANDLE ScopeNode; - AML_OBJECT_NODE_HANDLE PciNode; + CHAR8 AslName[AML_NAME_SEG_SIZE + 1]; + AML_OBJECT_NODE_HANDLE ScopeNode; + AML_OBJECT_NODE_HANDLE PciNode; + EDKII_SSDT_PCI_OVERRIDE_PROTOCOL *OverrideProtocol; =20 ASSERT (Generator !=3D NULL); ASSERT (CfgMgrProtocol !=3D NULL); @@ -866,6 +869,28 @@ GeneratePciDevice ( =20 // Add the template _OSC method. Status =3D AddOscMethod (PciNode); + if (EFI_ERROR (Status)) { + ASSERT (0); + return Status; + } + + Status =3D gBS->LocateProtocol ( + &gEdkiiDynamicTableSsdtPcieOverrideProtocolGuid, + NULL, + (VOID **)&OverrideProtocol + ); + if (!EFI_ERROR (Status)) { + Status =3D OverrideProtocol->UpdateTable ( + OverrideProtocol, + PciInfo, + Uid, + PciNode + ); + } else { + // Not an error if override protocol is not found + Status =3D EFI_SUCCESS; + } + ASSERT_EFI_ERROR (Status); return Status; } diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieL= ibArm.inf b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLi= bArm.inf index 431e32a777..8e916f15e9 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.i= nf +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieLibArm.i= nf @@ -30,6 +30,10 @@ AcpiHelperLib AmlLib BaseLib + UefiBootServicesTableLib =20 [Pcd] gEdkiiDynamicTablesPkgTokenSpaceGuid.PcdPciUseSegmentAsUid + +[Protocols] + gEdkiiDynamicTableSsdtPcieOverrideProtocolGuid --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91001): https://edk2.groups.io/g/devel/message/91001 Mute This Topic: https://groups.io/mt/92113683/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-