From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (EUR04-HE1-obe.outbound.protection.outlook.com [40.107.7.84]) by mx.groups.io with SMTP id smtpd.web12.7258.1642604525987754736 for ; Wed, 19 Jan 2022 07:02:07 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=r7NyAge/; spf=pass (domain: arm.com, ip: 40.107.7.84, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=51NRThBemdZ9ADNeO8cOCNQWmG3X0xcrtH5eDZ/TtG0=; b=r7NyAge/owUPpr2uLQQ53lHBDUNZXMtQYBZp9D9w4Rd+uiPQM6hmvDPsM19zzv+4fPw1mbv4C7cDxR8/ClzP6OVHPdJVzW6EBWKCKJ2ixDr7PlVlKlexQq7L03eoDwFd2QvRePViZKKcEusKN2wqVmJpjD1HS7krtlY2N4OQU3I= Received: from DU2P251CA0029.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::31) by AS8PR08MB6805.eurprd08.prod.outlook.com (2603:10a6:20b:396::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan 2022 15:02:03 +0000 Received: from DB5EUR03FT008.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:230:cafe::32) by DU2P251CA0029.outlook.office365.com (2603:10a6:10:230::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8 via Frontend Transport; Wed, 19 Jan 2022 15:02:03 +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 (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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT008.mail.protection.outlook.com (10.152.20.98) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9 via Frontend Transport; Wed, 19 Jan 2022 15:02:02 +0000 Received: ("Tessian outbound 2877e54fe176:v113"); Wed, 19 Jan 2022 15:02:02 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7666131e6be38f2c X-CR-MTA-TID: 64aa7808 Received: from 59f62cac12f5.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CEC1F89D-9B1B-4689-9228-E0B0CE6EFDBE.1; Wed, 19 Jan 2022 15:01:50 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 59f62cac12f5.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 19 Jan 2022 15:01:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cKcq9hKB9fMDMhrIMlXDFD/quTIW774sHR7knmo/hcVtMZUyQZPY/Z9SM+NWloLZSS05GJNTjrjJtPzKF4K/kOEAOQK0jNs6Ydb73V2Xz5VNmizEsu08Mzta9esgiLZ210o3OKsETI/t5nFn8RTDhLBJZZqjBJubhQAN87cjTpP1Ovb1NCGe7FxR+dE7qIpdzDMxailxgio2XG9SA9gP9jOYvXHMPLFml8hejji6aXGggKoQO6zFtUC+Yc2gnE7vSGO5NAkSv6TuNM4XIXCtkSvRHOlsVK+ycDOGnwLq5C1ClEh7wuv0Od8L43Aj8vaVC8o4h20Kg/ojLLof8gem0Q== 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=51NRThBemdZ9ADNeO8cOCNQWmG3X0xcrtH5eDZ/TtG0=; b=FzdbqYLCePiOU14UpoM7XCNwRjNEi3aRPnuGOZmVZot6DM7qGIHe1jURsGlw6w3aVDU3IDN0r+PFlAgfHy8UeG/J3qvLwCx5Z8uCGmG4/q8BcnXYmKcu+audjb/S8hI6KYnHfGKdXCEbV68QTC1Zk6hK3n1GmOP3YHEu3UnBVFyUj0Quw/C82qesTFWsoXjLfumKtbuFCUCD7ITV25+Kv318z1SqeWY5HNBljRb3Bm3Y7Kt5PZQPgcibGWxRIFiOzwFL728yXcwA+ChIOPrNVc+HUInWeBxvtv3gfXm+fSRsLdN7yeTOAPTjIl+mrIKG8BYbCbiTPMXpAuKuix7ayQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=51NRThBemdZ9ADNeO8cOCNQWmG3X0xcrtH5eDZ/TtG0=; b=r7NyAge/owUPpr2uLQQ53lHBDUNZXMtQYBZp9D9w4Rd+uiPQM6hmvDPsM19zzv+4fPw1mbv4C7cDxR8/ClzP6OVHPdJVzW6EBWKCKJ2ixDr7PlVlKlexQq7L03eoDwFd2QvRePViZKKcEusKN2wqVmJpjD1HS7krtlY2N4OQU3I= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AM7PR08MB5351.eurprd08.prod.outlook.com (2603:10a6:20b:dc::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Wed, 19 Jan 2022 15:01:48 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::34b6:4579:9e43:6b95]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::34b6:4579:9e43:6b95%5]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022 15:01:48 +0000 Subject: Re: [edk2-devel] [PATCH v5 2/4] Silicon/ARM/NeoverseN1Soc: Update PCDs to support multiple PCI root ports To: devel@edk2.groups.io, khasim.mohammed@arm.com Cc: nd@arm.com References: <20211222011440.3687-1-khasim.mohammed@arm.com> <20211222011440.3687-3-khasim.mohammed@arm.com> From: "Sami Mujawar" Message-ID: <6877b6ee-ab8c-072b-6cff-9e0e37d984ef@arm.com> Date: Wed, 19 Jan 2022 15:01:56 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20211222011440.3687-3-khasim.mohammed@arm.com> X-ClientProxiedBy: LO4P123CA0263.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:194::16) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 3ebdbf5f-5966-4eb5-b50f-08d9db5ca6af X-MS-TrafficTypeDiagnostic: AM7PR08MB5351:EE_|DB5EUR03FT008:EE_|AS8PR08MB6805:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: RzN/aVFJTOuMdjUSKUQeBjQcdxEpf07tDhSW63PYmMuMNm7inPZwx/lOvLCYpmMtCyW4+TerLlntimg4Aj95zZInIJgmoQNXe4AoMiQ77MUw8wWOxpdzaA4n739R8usqrI1SyTkb+mdKLkLgzoEE7kHSPYC+ie5vSt1G0AzC/51dduM8El1/T0IZuIw9PQ+5dn2wRbLSUJiQn58fgGacRShhIeqCfL83xPvWtRq1NbSbC551mtuKjucy5WdYgWdMTevv/Gd5Kkg4s8US46dWnVPGY69yy/ENgcsXIkWBBqCRs+g7lBkaY6rPmR/zYHKxFHd4rG+oiIxbW3jmmuyDjCNNcOSFeP5AIfFoBNoFAq6K1hPI4cyG4aa8q6Xmq5gp6NXFuVohcXs2MBcpVfYR4+73RYsfl9l7PQ5py9KlMMNLAGAcxTW80D4pGf5f84VlClV4AT6q4DTaqZ0otsVfhnuzjRp9uAR/RnjnMaA4kXzzcXOMxFQsoO6RE265ktorJgLZzJGXyJ+yQ+OcK2LRIU0LHpNzD4aJPE+r7Bamv5dQu6e8ukaHVq9LK04X01ILlhM/zcEsum+p9Ve3Ghh1J4ghgu+fzoJLyDZNpm78OQWZSiBolGBKf671KZidb4ETwnsVnLoopZUDypQzzGiiG0zt858RMx2rjjn+n41Ho5oDyyXI4TyJtFjbs5nvQC99DCsVU1FrMnm0jIgHt1Aqtjq9j7XN2gigwdNwrlBdCvR4qcPcjs3pvj3HuIBJL8QrrRcImj0FZk1vfCUKcxqbew== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(26005)(4326008)(44832011)(6486002)(8936002)(6636002)(8676002)(38100700002)(2616005)(508600001)(86362001)(2906002)(316002)(5660300002)(66476007)(66946007)(19627235002)(66556008)(31696002)(15650500001)(6512007)(186003)(83380400001)(6506007)(38350700002)(36756003)(31686004)(30864003)(52116002)(53546011)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5351 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 298b2b31-47c3-4054-b4c2-08d9db5c9e05 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ofd/coX+As9Z2NHQzRmK+V++OR9WFHrz3rkAdqTIcAFR/cbBhS+I7RNDTSC7F5z4986F7hVF/2ypHImBkQpmOwq5BVUaWR9tmWilt2XU+4UHd60CG9dgNzbaNBL/PeTj0y1fWUwmkd+uXIBg1GCOJOZdFN8S5/EkFpZrhROOLb7OwM+dVImsXfy08uWL8C68E7A7z6oQUuBsZnOVYoQVnNKCjLRnd19Rl88Bu5jAZyi5G9R74R4aII4Df6x3a6OTq3sjJBFFSla4AsjExVi/dKpMCGMgPLOnjrL6JPO/Eufdn77LHjyWdoCZBb3QWPsehpsQ4iLwLURliDyirUK2OPnKKLAugswfhTH/7YL5/lPV0U54jvxIQo3IOWLlp5EwnKODQoEdF/Zm6ONZ71/LOygnvN+W69UIWwAxPqJFwGb5YrFvj1CbsXkqw7s+yxa/3IUlkp+8gQklBAm/2O+8dwJZMcjLCwSNoKf328JzKRVQzfjpLBXPkl2FZK+bI+gQdeo5Zte+aylkaz3kgkbUZNTvuoFn7wbO+ZUree8pbfITpqzbd8LDt1zm0srFGz5oO2PcO+sQ2T7hBELpq453aHjr2xgefU6Sz2Pg5ChoJJSek3XzjGiFGCxCArwTANrCVqhV43hIKss2R/6/5kWzT8KtVzxHWQw8eyC1B7020a2bA9nktuZQmyv9ZyQ92Nys70idxK18Ck9ZUlWs4yx2kANEvsSSvRaBD8HvjPuWYklz0J9bdbtUceC7vKMLfDgft+SIcFSo6mw51yTbiQEAfUT0yWJvjCTW2C4AJ+h+1mA= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(40470700002)(46966006)(53546011)(86362001)(70586007)(6666004)(316002)(36756003)(81166007)(6636002)(336012)(30864003)(8676002)(2616005)(36860700001)(19627235002)(82310400004)(26005)(8936002)(508600001)(70206006)(6506007)(44832011)(4326008)(186003)(5660300002)(6512007)(83380400001)(2906002)(6486002)(356005)(31686004)(15650500001)(47076005)(40460700001)(31696002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 15:02:02.9643 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3ebdbf5f-5966-4eb5-b50f-08d9db5ca6af 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: DB5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6805 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Khasim, Thank you for this patch. I have a minor suggestion marked inline as [SAMI]. Otherwise this patch looks good to me. With that changed, Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 22/12/2021 01:14 AM, Khasim Mohammed via groups.io wrote: > PCD entries are updated to remove the hardcoded assignments and to > add support for multiple PCI root ports. > > Signed-off-by: Khasim Syed Mohammed > --- > .../AslTables/SsdtPci.asl | 8 +-- > .../AslTables/SsdtRemotePci.asl | 4 +- > .../ConfigurationManager.c | 24 ++++---- > .../ConfigurationManagerDxe.inf | 18 ++++-- > Platform/ARM/N1Sdp/N1SdpPlatform.dec | 8 --- > Platform/ARM/N1Sdp/N1SdpPlatform.dsc | 1 - > .../Library/PlatformLib/PlatformLib.inf | 1 + > .../Library/PlatformLib/PlatformLibMem.c | 4 +- > Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec | 58 +++++++++++-------- > 9 files changed, 68 insertions(+), 58 deletions(-) > > diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtPci.asl b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtPci.asl > index cdbd42c154..9922673d0d 100644 > --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtPci.asl > +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtPci.asl > @@ -80,8 +80,8 @@ DefinitionBlock("SsdtPci.aml", "SSDT", 1, "ARMLTD", "N1Sdp", > Device(PCI0) { > Name (_HID, EISAID("PNP0A08")) // PCI Express Root Bridge > Name (_CID, EISAID("PNP0A03")) // Compatible PCI Root Bridge > - Name (_SEG, Zero) // PCI Segment Group number > - Name (_BBN, Zero) // PCI Base Bus Number > + Name (_SEG, FixedPcdGet32 (PcdPcieSegmentNumber)) // Segment Number > + Name (_BBN, FixedPcdGet32 (PcdPcieBusBaseNumber)) // Bus Base Number > Name (_CCA, 1) // Cache Coherency Attribute > > // Root Complex 0 > @@ -166,8 +166,8 @@ DefinitionBlock("SsdtPci.aml", "SSDT", 1, "ARMLTD", "N1Sdp", > Device(PCI1) { > Name (_HID, EISAID("PNP0A08")) // PCI Express Root Bridge > Name (_CID, EISAID("PNP0A03")) // Compatible PCI Root Bridge > - Name (_SEG, 1) // PCI Segment Group number > - Name (_BBN, Zero) // PCI Base Bus Number > + Name (_SEG, FixedPcdGet32 (PcdCcixSegmentNumber)) // Segment Number > + Name (_BBN, FixedPcdGet32 (PcdCcixBusBaseNumber)) // Bus Base Number > Name (_CCA, 1) // Cache Coherency Attribute > > // Root Complex 1 > diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtRemotePci.asl b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtRemotePci.asl > index b6bec7c106..4c6e0c762f 100644 > --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtRemotePci.asl > +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtRemotePci.asl > @@ -76,8 +76,8 @@ DefinitionBlock("SsdtRemotePci.aml", "SSDT", 1, "ARMLTD", "N1Sdp", > Device(PCI2) { > Name (_HID, EISAID("PNP0A08")) // PCI Express Root Bridge > Name (_CID, EISAID("PNP0A03")) // Compatible PCI Root Bridge > - Name (_SEG, 2) // PCI Segment Group number > - Name (_BBN, Zero) // PCI Base Bus Number > + Name (_SEG, FixedPcdGet32 (PcdRemotePcieSegmentNumber)) // Segment Number > + Name (_BBN, FixedPcdGet32 (PcdRemotePcieBusBaseNumber)) // BusBase Number > Name (_CCA, 1) // Cache Coherency Attribute > > // Remote Root Complex 0 > diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c > index 9c91372c11..f50623ae3f 100644 > --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c > +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c > @@ -1047,24 +1047,24 @@ EDKII_PLATFORM_REPOSITORY_INFO N1sdpRepositoryInfo = { > { > // PCIe ECAM > { > - 0x70000000, // Base Address > - 0x0, // Segment Group Number > - 0x0, // Start Bus Number > - 17 // End Bus Number > + FixedPcdGet64 (PcdPcieExpressBaseAddress), // Base Address > + FixedPcdGet32 (PcdPcieSegmentNumber), // Segment Group Number > + FixedPcdGet32 (PcdPcieBusMin), // Start Bus Number > + FixedPcdGet32 (PcdPcieBusMax) // End Bus Number > }, > // CCIX ECAM > { > - 0x68000000, // Base Address > - 0x1, // Segment Group Number > - 0x0, // Start Bus Number > - 17 // End Bus Number > + FixedPcdGet32 (PcdCcixExpressBaseAddress), // Base Address > + FixedPcdGet32 (PcdCcixSegmentNumber), // Segment Group Number > + FixedPcdGet32 (PcdCcixBusMin), // Start Bus Number > + FixedPcdGet32 (PcdCcixBusMax) // End Bus Number > }, > //Remote Chip PCIe ECAM > { > - 0x40070000000, // Base Address > - 0x2, // Segment Group Number > - 0x0, // Start Bus Number > - 17 // End Bus Number > + FixedPcdGet64 (PcdRemotePcieBaseAddress), // Base Address > + FixedPcdGet32 (PcdRemotePcieSegmentNumber), // Segment Group Number > + FixedPcdGet32 (PcdRemotePcieBusMin), // Start Bus Number > + FixedPcdGet32 (PcdRemotePcieBusMax) // End Bus Number > } > }, > > diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf > index 027a4202ff..3a8711c6f1 100644 > --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf > +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf > @@ -76,8 +76,6 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate > > - gArmN1SdpTokenSpaceGuid.PcdPcieExpressBaseAddress > - > gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace > gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base > > @@ -91,6 +89,8 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusCount > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusBaseNumber [SAMI] Please arrange in alphsbetical order. Same comment for other locations where PCDs are added in this patch (also in the dec files). > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieExpressBaseAddress > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoBase > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoMaxBase > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoSize > @@ -105,11 +105,13 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Translation > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseAddress > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseSize > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieSegmentNumber > > # CCIX > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusCount > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusBaseNumber > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixExpressBaseAddress > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoBase > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoMaxBase > @@ -125,6 +127,7 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Translation > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseAddress > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseSize > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixSegmentNumber > > # Coresight > gArmN1SdpTokenSpaceGuid.PcdCsComponentSize > @@ -158,9 +161,14 @@ > gArmN1SdpTokenSpaceGuid.PcdCsTpiuMaxBase > > # Remote PCIe > - gArmN1SdpTokenSpaceGuid.PcdRemotePcieIoTranslation > - gArmN1SdpTokenSpaceGuid.PcdRemotePcieMmio32Translation > - gArmN1SdpTokenSpaceGuid.PcdRemotePcieMmio64Translation > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBaseAddress > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBusBaseNumber > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBusMax > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBusMin > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieIoTranslation > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio32Translation > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio64Translation > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieSegmentNumber > > [Depex] > TRUE > diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.dec b/Platform/ARM/N1Sdp/N1SdpPlatform.dec > index 2ab6c20dcc..16937197b8 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 > > - # PCIe > - gArmN1SdpTokenSpaceGuid.PcdPcieExpressBaseAddress|0x70000000|UINT32|0x00000007 > - > # External memory > gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace|0|UINT64|0x00000029 > > @@ -92,8 +89,3 @@ > # unmapped reserved region results in a DECERR response. > # > gArmN1SdpTokenSpaceGuid.PcdCsComponentSize|0x1000|UINT32|0x00000049 > - > - # Remote Chip PCIe > - gArmN1SdpTokenSpaceGuid.PcdRemotePcieIoTranslation|0x40075200000|UINT64|0x0000004A > - gArmN1SdpTokenSpaceGuid.PcdRemotePcieMmio32Translation|0x40000000000|UINT64|0x0000004B > - gArmN1SdpTokenSpaceGuid.PcdRemotePcieMmio64Translation|0x40000000000|UINT64|0x0000004C > diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc > index 7488bdc036..cb2049966c 100644 > --- a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc > +++ b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc > @@ -127,7 +127,6 @@ > gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x300C0000 > > # PCIe > - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x70000000 > gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|24 > gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|FALSE > > 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 = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > // PCIe ECAM Configuration Space > - VirtualMemoryTable[++Index].PhysicalBase = PcdGet64 (PcdPciExpressBaseAddress); > - VirtualMemoryTable[Index].VirtualBase = PcdGet64 (PcdPciExpressBaseAddress); > + VirtualMemoryTable[++Index].PhysicalBase = PcdGet64 (PcdPcieExpressBaseAddress); > + VirtualMemoryTable[Index].VirtualBase = PcdGet64 (PcdPcieExpressBaseAddress); > VirtualMemoryTable[Index].Length = (FixedPcdGet32 (PcdPcieBusMax) - > FixedPcdGet32 (PcdPcieBusMin) + 1) * > SIZE_1MB; > diff --git a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec > index eea2d58402..d91ed28319 100644 > --- a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec > +++ b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec > @@ -29,11 +29,11 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base|0|UINT64|0x00000001 > > #PCIe > - gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseAddress|0x60000000|UINT32|0x00000002 > - gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseSize|0x00001000|UINT32|0x00000003 > - gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusCount|18|UINT32|0x00000004 > - gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax|17|UINT32|0x00000005 > - gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin|0|UINT32|0x00000006 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusCount|18|UINT32|0x00000002 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax|17|UINT32|0x00000003 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin|0|UINT32|0x00000004 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusBaseNumber|0|UINT32|0x00000005 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieExpressBaseAddress|0x70000000|UINT64|0x00000006 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoBase|0x0|UINT32|0x00000007 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoMaxBase|0x001FFFF|UINT32|0x00000008 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoSize|0x020000|UINT32|0x00000009 > @@ -46,30 +46,40 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64MaxBase|0x28FFFFFFFF|UINT64|0x00000010 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Size|0x2000000000|UINT64|0x00000011 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Translation|0x0|UINT64|0x00000012 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseAddress|0x60000000|UINT32|0x00000013 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseSize|0x00001000|UINT32|0x00000014 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieSegmentNumber|0|UINT32|0x00000015 > > # CCIX > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusCount|18|UINT32|0x00000016 > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax|17|UINT32|0x00000017 > gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin|0|UINT32|0x00000018 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixExpressBaseAddress|0x68000000|UINT32|0x00000019 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoBase|0x0|UINT32|0x0000001A > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoMaxBase|0x01FFFF|UINT32|0x0000001B > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoSize|0x020000|UINT32|0x0000001C > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoTranslation|0x6D200000|UINT32|0x00000001D > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base|0x69200000|UINT32|0x0000001E > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32MaxBase|0x6D1FFFFF|UINT32|0x00000001F > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size|0x04000000|UINT32|0x00000020 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Translation|0x0|UINT32|0x00000021 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base|0x2900000000|UINT64|0x00000022 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64MaxBase|0x48FFFFFFFF|UINT64|0x00000023 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size|0x2000000000|UINT64|0x00000024 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Translation|0x0|UINT64|0x00000025 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseAddress|0x62000000|UINT32|0x00000026 > - gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseSize|0x00001000|UINT32|0x00000027 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusBaseNumber|0|UINT32|0x00000019 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixExpressBaseAddress|0x68000000|UINT32|0x0000001A > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoBase|0x0|UINT32|0x0000001B > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoMaxBase|0x00FFFFFF|UINT32|0x0000001C > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoSize|0x01000000|UINT32|0x0000001D > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoTranslation|0x6D200000|UINT32|0x00000001E > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base|0x69200000|UINT32|0x0000001F > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32MaxBase|0x6D1FFFFF|UINT32|0x000000020 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size|0x04000000|UINT32|0x00000021 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Translation|0x0|UINT32|0x00000022 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base|0x2900000000|UINT64|0x00000023 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64MaxBase|0x48FFFFFFFF|UINT64|0x00000024 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size|0x2000000000|UINT64|0x00000025 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Translation|0x0|UINT64|0x00000026 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseAddress|0x62000000|UINT32|0x00000027 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseSize|0x00001000|UINT32|0x00000028 > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixSegmentNumber|1|UINT32|0x00000029 > > - gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace|0x40000000000|UINT64|0x00000029 > + gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace|0x40000000000|UINT64|0x00000030 > > # Remote Chip PCIe > - gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieIoTranslation|0x40075200000|UINT64|0x0000004A > - gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio32Translation|0x40000000000|UINT64|0x0000004B > - gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio64Translation|0x40000000000|UINT64|0x0000004C > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBaseAddress|0x40070000000|UINT64|0x0000004A > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBusBaseNumber|0|UINT32|0x0000004B > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBusMax|17|UINT32|0x0000004C > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieBusMin|0|UINT32|0x0000004D > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieIoTranslation|0x40075200000|UINT64|0x0000004E > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio32Translation|0x40000000000|UINT64|0x0000004F > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio64Translation|0x40000000000|UINT64|0x00000050 > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieSegmentNumber|2|UINT32|0x00000051