From mboxrd@z Thu Jan 1 00:00:00 1970 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 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@nvidia.com header.s=selector2 header.b=kW7m4IG8; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.101.50, mailfrom: jbrasen@nvidia.com) 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YaMuIH3jpiVwDVSYAwp0auIeOrjcQSsucpHpIeeeTFE=; b=kW7m4IG8TBoxDqKaFeovrekrV94LiVMtwW/WojqiiT6gw2A1MS4qzE7Z2eEK8Ion5CYfXawH4iOLOBbxNenA8Ck9KSMU6jxLcmnZ3mQZuiDCbPTU+guh1HKjQ0DiBC7s4AxVpVni3PJ3d0wGkP05L0bBFzqMpJ3Yvin5yr8eAcTulEhHBOTCqpv1plm+LQPNdyX8HvJGqzo+O9sKx+W6PYt9d8wN1YpBszrWAMjkex14Di9poIMfEZM5FwFhaJW5GLt13BcNEIw12whRsUhjXPIoApIXCZ9l49qehQMdPk8yiYz8gOX+eSvk+ZLohNoJJgFHJ2ByOOn0LLrefaPG+w== 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 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 (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 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 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 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 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" To: CC: , , , Jeff Brasen Subject: [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> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-NVConfidentiality: public Return-Path: jbrasen@nvidia.com 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: BCL: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-Forefront-Antispam-Report: CIP:12.22.5.236;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:InfoNoRecords;CAT:NONE;SFS:(13230016)(4636009)(136003)(39860400002)(376002)(396003)(346002)(36840700001)(40470700004)(46966006)(5660300002)(70586007)(70206006)(8936002)(40480700001)(4326008)(82310400005)(40460700003)(8676002)(2906002)(86362001)(36860700001)(81166007)(36756003)(356005)(478600001)(41300700001)(82740400003)(6666004)(316002)(336012)(47076005)(6916009)(186003)(83380400001)(54906003)(426003)(7696005)(2616005)(26005)(107886003)(213903007)(36900700001);DIR:OUT;SFP:1101; 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 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain 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