From nobody Tue Feb 10 08:28:02 2026 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+83774+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=arm.com Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1637049873477345.81654795136217; Tue, 16 Nov 2021 00:04:33 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id dj4rYY1788612xPpaeoqyfjv; Tue, 16 Nov 2021 00:04:33 -0800 X-Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.54]) by mx.groups.io with SMTP id smtpd.web09.7044.1637049871441317453 for ; Tue, 16 Nov 2021 00:04:32 -0800 X-Received: from AM6P192CA0054.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:82::31) by AM0PR08MB3860.eurprd08.prod.outlook.com (2603:10a6:208:10b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.26; Tue, 16 Nov 2021 08:04:27 +0000 X-Received: from AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:82:cafe::7b) by AM6P192CA0054.outlook.office365.com (2603:10a6:209:82::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.25 via Frontend Transport; Tue, 16 Nov 2021 08:04:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.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+83774+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT040.mail.protection.outlook.com (10.152.17.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.20 via Frontend Transport; Tue, 16 Nov 2021 08:04:25 +0000 X-Received: ("Tessian outbound 9a8c656e7c94:v110"); Tue, 16 Nov 2021 08:04:25 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: a2d5e381cc254335 X-CR-MTA-TID: 64aa7808 X-Received: from 0b62d5eba20d.4 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7CAC6801-564E-4B2B-8FBE-02A97FA04434.1; Tue, 16 Nov 2021 08:04:14 +0000 X-Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0b62d5eba20d.4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 16 Nov 2021 08:04:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h6zO7a/c7COTc/uTeNS2qiDA9CM0Ar1sl0+c65bIHB+Ye5H7sCMbzB8a9oCUEKff/FUvm+0E/Ve7ApgAIabpBC3KJuLEKECu+THhI/8/d3oaSgKwyDmREF+CbQ4sIUnAdLGp7P7JC0MMrGu1YRpO7gEOFKTlCZkyxwGLgY8nbWRUZNikaQ5e8jxbCN+lxYev4pGliRk/ukUfSY2lYLnlEedFNjs+N2hWdAE0/aeUmuoA8ylumFw6gQx91LaMSxYuiihGJvAtt3A1WCCY99ZENeLhW4Z2+Vl7R0t9fi7L0h1fI0Ujv8nHGnNlt+VNw/NIWHw7tMHpaYqhjPCv0LzlZA== 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=HnhpMxectSr0ZC+Es9hM9sCiSxmpxhntrua/5litXQU=; b=MRZfB5QlmczqnotUvoBhWJ5BaCkO0KJjx2UATBsj3UMEY6wnkcLt/FMzYpky9nNzvz98WU2kipDnvZ94vbANNs+w+oKv8N6xnHSHqpAE4XWABSnHZBHf/EB2UhtYCTzBB1+6xtipnUYQOEyUjadsPZMXB91zbumr7Iv+GQN575qVC6ECZb0ejeayWjmHBvPIEpVy16YpaG7Fqihzxh8Y8ktfKko5deC31bIddBHz+AXAys8X6f3gXBDogT8UsT9jV2l0fyriwVmDpP3qsP6nTp+yd2Lky2ELJomkAveTmnFcKc76XTrwK79sgdFvIUhMSnXqj3DsHl7ckcQSSq9Rug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-Received: from PA4PR08MB5902.eurprd08.prod.outlook.com (2603:10a6:102:e0::10) by PAXPR08MB6800.eurprd08.prod.outlook.com (2603:10a6:102:137::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.27; Tue, 16 Nov 2021 08:04:12 +0000 X-Received: from PA4PR08MB5902.eurprd08.prod.outlook.com ([fe80::d02e:f1e5:1354:622e]) by PA4PR08MB5902.eurprd08.prod.outlook.com ([fe80::d02e:f1e5:1354:622e%9]) with mapi id 15.20.4669.022; Tue, 16 Nov 2021 08:04:12 +0000 From: "Khasim Mohammed" To: devel@edk2.groups.io Cc: nd@arm.com, Khasim Syed Mohammed Subject: [edk2-devel] [PATCH 3/3] Silicon/ARM/NeoverseN1Soc: Add CCIX root complex support Date: Tue, 16 Nov 2021 13:33:19 +0530 Message-Id: <20211116080319.18533-4-khasim.mohammed@arm.com> In-Reply-To: <20211116080319.18533-1-khasim.mohammed@arm.com> References: <20211116080319.18533-1-khasim.mohammed@arm.com> X-ClientProxiedBy: PN3PR01CA0124.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:96::12) To PA4PR08MB5902.eurprd08.prod.outlook.com (2603:10a6:102:e0::10) MIME-Version: 1.0 X-Received: from e116623.arm.com (217.140.105.56) by PN3PR01CA0124.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:96::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.19 via Frontend Transport; Tue, 16 Nov 2021 08:04:10 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1847f0ad-00bd-4457-167c-08d9a8d7b510 X-MS-TrafficTypeDiagnostic: PAXPR08MB6800:|AM0PR08MB3860: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:215;OLM:215; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 5xSjV2aGGruuU6YbRoIsoblabQnanZJNRX9xrOsxK+4FOhMMQ9Yd88vxvWIPxebFijWrYGB81K9QEhtN33c3LUZwsCcsSPRhMRHSUTyJetLlfjQEn2mVunoRAJhrtjxJ0BfRsXkYCSGbhLiVgT3215qIlDzrj41RM5s03pgLXHPS8kI66m4551bPMcFtnVuXoE7v0E0hq8PSxNnhQdD8fkcJ2/aYIGARPgITYqvkMgLzfNXm+zzVeft7mcPLmY7bAvmGKyCJi06zkPhUyfTGVUr2dFBbrFKel0F8W8pdQ1Eo97Bi+w9XjeSNcT99AWakDZNCtnaLFJRrA8LD7SQiSdoox04MlFwgEGCBAq5QDNyCVzCXetdeBJcT92FJWJxXaZj7RanyNponzoMWnYZx3YSpmewMRAN+VF32OrRyezIcWavfcHwJyv6t10HnXKBkVoQLQgeSlUjEA7LypDnHlNjLuzugMD2pZ7K8lYyVf5kYIEFdBH2F2oB3XutKLcBSM6YZI4OolstgqURiS/pzeEBMHmGNEW9GoWnyIWC7S1rLKStmygdP5rzxagwBXm1k/fFRVkYkRsch/biSCRBBj8PdM5E3zylNY9tcEq6XA/wMXfa2hbflJMis5rANQisQwa26t5KYmTZglFi31gH91lbTxTrndpUE3AQ7z2RQfbYYUgn/uYshK623U9L+pXx9Jqdc+rCQI7ujw0BScmfzow== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR08MB5902.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(36756003)(956004)(2616005)(83380400001)(38100700002)(38350700002)(5660300002)(7696005)(8676002)(86362001)(52116002)(8936002)(6916009)(66946007)(66556008)(508600001)(2906002)(19627235002)(1076003)(26005)(316002)(66476007)(186003)(4326008)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6800 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 63814bd6-de3a-45ae-fd98-08d9a8d7aca6 X-Microsoft-Antispam-Message-Info: bFDkrIVnSHo6QG8G4M2Rhx5riHs+brad5qa7dQnzjtg4ZUHRLAJ6QKLpVktliofA7TtzEmcYA2ktoIIoDJXnuIEXPfs5q3Qj/9AnKcokxU64QGjYIYBkUKeV7GyMFMWR0UGqI1wUQAldijRFj+oCYV7PzgMJZOSgLTtRvOCFS1Kpgy6q32mLlPUDTbc/ewqyuttXuoY2PlQX0DjwSdnu1ffQWfDK4Rg9R2c1uxgs3W4oxhrE2jJjEl1rC00UFryxJdTyviTXbpPlYWBx/SCK5qzss5zQAix8cGQDwvZnZ2u+n7UJKE5SPE3yEuVg2Sz56Wa2lWDeCEt7NUH9XZ0zTcmbQQHNcXl9/0TS392HH7/V1Be41oww0YoFoLVw7DGBIObUSWfOxeA9zqSuuexjxfpjO4usbqgg6Q6vEGKEu6PS3PRyI31ePRCB91n4/QpdDuu7wUU7syk3tfYvtelMolPhY15pZWMpUtzyITLilfGDTo0HF9AdlKxY2Odjj4UPT1YNqVGJauUnQ8PNiH/eYdAY8DuUK7vz2oZ831EDuP8QCmhUegs+l5diYB8DdDVFgAAjAgNE2erJn25aJKs/WgmBks2pbl9kr2R4Kqbh/pEDeiTe8QsqmO+LlHescvI9vX4ypk9jdM7JfTV1SklrV4755FO6fZk9+V0z6f197XA7ZqgVpTOKOoK1Nkr3R9jefQB8ujBeI+efW2AUZiY1/A== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2021 08:04:25.8031 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1847f0ad-00bd-4457-167c-08d9a8d7b510 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3860 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,khasim.mohammed@arm.com X-Gm-Message-State: E9UTV9jdAbJcI2vpWxhggcRMx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1637049873; bh=gh6PCywFVf0mI6vhlKe7JYWyyHroYu54++kZM+DANT0=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=l2thBnQKCIPrftDDNJ0+mrkZE5NU1tVdAIXZBg3XzXDeHj9L3eIYScqiejDuY0UHC52 MJpN8bqfP8A2wmyVPj1vSRr92FW/0OQ/TQdwzzanqFd5KS1co5z6E8wETPNgwqmwN1+P+ k7ayUgvSdeS9ER6W0SzW3Rjm+c/gIeyI1jA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1637049994740100001 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This patch enables CCIX root complex support by updating the root complex node info in PciHostBridge library and enabling PciSegment library for N1Sdp. Change-Id: I0510b1023aec16365b614d4eaf81858851d9fa28 Signed-off-by: Khasim Syed Mohammed --- .../ConfigurationManagerDxe.inf | 3 +- Platform/ARM/N1Sdp/N1SdpPlatform.dec | 3 - Platform/ARM/N1Sdp/N1SdpPlatform.dsc | 3 +- .../PciHostBridgeLib/PciHostBridgeLib.c | 71 +++++++++++++++++-- .../PciHostBridgeLib/PciHostBridgeLib.inf | 11 ++- .../Library/PlatformLib/PlatformLib.inf | 1 + .../Library/PlatformLib/PlatformLibMem.c | 4 +- 7 files changed, 81 insertions(+), 15 deletions(-) diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDx= e/ConfigurationManagerDxe.inf b/Platform/ARM/N1Sdp/ConfigurationManager/Con= figurationManagerDxe/ConfigurationManagerDxe.inf index 027a4202ff..67b0c3a0ea 100644 --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/Confi= gurationManagerDxe.inf +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/Confi= gurationManagerDxe.inf @@ -76,8 +76,6 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate =20 - gArmN1SdpTokenSpaceGuid.PcdPcieExpressBaseAddress - gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base =20 @@ -91,6 +89,7 @@ gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusCount gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieExpressBaseAddress gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoBase gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoMaxBase gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoSize diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.dec b/Platform/ARM/N1Sdp/N1Sd= pPlatform.dec index 2ab6c20dcc..98d2d5ba81 100644 --- a/Platform/ARM/N1Sdp/N1SdpPlatform.dec +++ b/Platform/ARM/N1Sdp/N1SdpPlatform.dec @@ -34,9 +34,6 @@ gArmN1SdpTokenSpaceGuid.PcdRamDiskBase|0x88000000|UINT32|0x00000001 gArmN1SdpTokenSpaceGuid.PcdRamDiskSize|0x18000000|UINT32|0x00000002 =20 - # PCIe - gArmN1SdpTokenSpaceGuid.PcdPcieExpressBaseAddress|0x70000000|UINT32|0x00= 000007 - # External memory gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace|0|UINT64|0x00000029 =20 diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc b/Platform/ARM/N1Sdp/N1Sd= pPlatform.dsc index 7488bdc036..75d7871452 100644 --- a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc +++ b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc @@ -75,7 +75,7 @@ [LibraryClasses.common.DXE_DRIVER] FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf PciHostBridgeLib|Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciH= ostBridgeLib.inf - PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.i= nf + PciSegmentLib|Silicon/ARM/NeoverseN1Soc/Library/PciSegmentLib/PciSegment= Lib.inf PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf PciExpressLib|Silicon/ARM/NeoverseN1Soc/Library/NeoverseN1SocPciExpressL= ib/PciExpressLib.inf =20 @@ -127,7 +127,6 @@ gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x300C0000 =20 # PCIe - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x70000000 gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24 gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|FALSE =20 diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBrid= geLib.c b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeL= ib.c index 9332939f63..c3a14a6c17 100644 --- a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c +++ b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c @@ -1,7 +1,7 @@ /** @file * PCI Host Bridge Library instance for ARM Neoverse N1 platform * -* Copyright (c) 2019 - 2020, ARM Limited. All rights reserved. +* Copyright (c) 2019 - 2021, ARM Limited. All rights reserved.
* * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -16,6 +16,8 @@ #include #include =20 +#define ROOT_COMPLEX_NUM 2 + GLOBAL_REMOVE_IF_UNREFERENCED STATIC CHAR16 CONST * CONST mPciHostBridgeLibAcpiAddressSpaceTypeStr[] =3D= { L"Mem", L"I/O", L"Bus" @@ -28,7 +30,7 @@ typedef struct { } EFI_PCI_ROOT_BRIDGE_DEVICE_PATH; #pragma pack () =20 -STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[] =3D { +STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[ROOT_CO= MPLEX_NUM] =3D { // PCIe { { @@ -51,10 +53,33 @@ STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridg= eDevicePath[] =3D { 0 } } - } + }, + //CCIX + { + { + { + ACPI_DEVICE_PATH, + ACPI_DP, + { + (UINT8)sizeof (ACPI_HID_DEVICE_PATH), + (UINT8)(sizeof (ACPI_HID_DEVICE_PATH) >> 8) + } + }, + EISA_PNP_ID(0x0A09), // CCIX + 0 + }, + { + END_DEVICE_PATH_TYPE, + END_ENTIRE_DEVICE_PATH_SUBTYPE, + { + END_DEVICE_PATH_LENGTH, + 0 + } + } + }, }; =20 -STATIC PCI_ROOT_BRIDGE mPciRootBridge[] =3D { +STATIC PCI_ROOT_BRIDGE mPciRootBridge[ROOT_COMPLEX_NUM] =3D { { 0, // Segment 0, // Supports @@ -90,7 +115,43 @@ STATIC PCI_ROOT_BRIDGE mPciRootBridge[] =3D { 0 }, (EFI_DEVICE_PATH_PROTOCOL *)&mEfiPciRootBridgeDevicePath[0] - } + }, + { + 1, // Segment + 0, // Supports + 0, // Attributes + TRUE, // DmaAbove4G + FALSE, // NoExtendedConfigSpa= ce + FALSE, // ResourceAssigned + EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM | // AllocationAttributes + EFI_PCI_HOST_BRIDGE_MEM64_DECODE, + { + // Bus + FixedPcdGet32 (PcdCcixBusMin), + FixedPcdGet32 (PcdCcixBusMax) + }, { + // Io + FixedPcdGet64 (PcdCcixIoBase), + FixedPcdGet64 (PcdCcixIoBase) + FixedPcdGet64 (PcdCcixIoSize) - 1 + }, { + // Mem + FixedPcdGet32 (PcdCcixMmio32Base), + FixedPcdGet32 (PcdCcixMmio32Base) + FixedPcdGet32 (PcdCcixMmio32Size= ) - 1 + }, { + // MemAbove4G + FixedPcdGet64 (PcdCcixMmio64Base), + FixedPcdGet64 (PcdCcixMmio64Base) + FixedPcdGet64 (PcdCcixMmio64Size= ) - 1 + }, { + // PMem + MAX_UINT64, + 0 + }, { + // PMemAbove4G + MAX_UINT64, + 0 + }, + (EFI_DEVICE_PATH_PROTOCOL *)&mEfiPciRootBridgeDevicePath[1] + }, }; =20 /** diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBrid= geLib.inf b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridg= eLib.inf index 3ff1c592f2..3356c3ad35 100644 --- a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.i= nf +++ b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.i= nf @@ -1,7 +1,7 @@ ## @file # PCI Host Bridge Library instance for ARM Neoverse N1 platform. # -# Copyright (c) 2019 - 2020, ARM Limited. All rights reserved. +# Copyright (c) 2019 - 2021, ARM Limited. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -42,6 +42,15 @@ gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Base gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Size =20 + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoBase + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoSize + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size + [Protocols] gEfiCpuIo2ProtocolGuid =20 diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf = b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf index 8e2154aadf..96e590cdd8 100644 --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf @@ -43,6 +43,7 @@ gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieExpressBaseAddress gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32Base gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32Size gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Base diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c= b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c index 1c4a445c5e..339fa07b32 100644 --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c @@ -115,8 +115,8 @@ ArmPlatformGetVirtualMemoryMap ( VirtualMemoryTable[Index].Attributes =3D ARM_MEMORY_REGION_ATTRIBUT= E_DEVICE; =20 // PCIe ECAM Configuration Space - VirtualMemoryTable[++Index].PhysicalBase =3D PcdGet64 (PcdPciExpressBas= eAddress); - VirtualMemoryTable[Index].VirtualBase =3D PcdGet64 (PcdPciExpressBas= eAddress); + VirtualMemoryTable[++Index].PhysicalBase =3D PcdGet64 (PcdPcieExpressBa= seAddress); + VirtualMemoryTable[Index].VirtualBase =3D PcdGet64 (PcdPcieExpressBa= seAddress); VirtualMemoryTable[Index].Length =3D (FixedPcdGet32 (PcdPcieBus= Max) - FixedPcdGet32 (PcdPcieBusMi= n) + 1) * SIZE_1MB; --=20 2.17.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 (#83774): https://edk2.groups.io/g/devel/message/83774 Mute This Topic: https://groups.io/mt/87090574/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-