From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.44]) by mx.groups.io with SMTP id smtpd.web11.7235.1642604552981044678 for ; Wed, 19 Jan 2022 07:02:33 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=fn8VLQY0; spf=pass (domain: arm.com, ip: 40.107.6.44, 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=6YQd/hpbrmLm3HhpzHif+DUZHqM2zUJMw3onAJXnXt4=; b=fn8VLQY059pHGuHarBW72oevN0uFu2ZcKxuHXq1JduuagX9X6ndsz4yvgHRDvdkbch7dHqruYkmSM+jlyDGBcNdrXagqaZMc2cJ8u0Pyz/gJbX+xhee77r9oHZrQqKvRH2Zk+Tjyqzc98NHjj7UfTabRU7g8QTp7pvGb6qrxDSE= Received: from DB8PR04CA0013.eurprd04.prod.outlook.com (2603:10a6:10:110::23) by AM6PR08MB3829.eurprd08.prod.outlook.com (2603:10a6:20b:85::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.10; Wed, 19 Jan 2022 15:02:23 +0000 Received: from DB5EUR03FT017.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:110:cafe::eb) by DB8PR04CA0013.outlook.office365.com (2603:10a6:10:110::23) 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:23 +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 DB5EUR03FT017.mail.protection.outlook.com (10.152.20.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7 via Frontend Transport; Wed, 19 Jan 2022 15:02:22 +0000 Received: ("Tessian outbound 826a6d8e58c3:v113"); Wed, 19 Jan 2022 15:02:22 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9aeef22d238fa6fa X-CR-MTA-TID: 64aa7808 Received: from 178dc248bfda.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A41AA2E9-4F2D-4AE0-9ACA-B4970FD7CC50.1; Wed, 19 Jan 2022 15:02:13 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 178dc248bfda.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 19 Jan 2022 15:02:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bz9v4nsDzEnSrVr7Hf/1t5Zc5XZrPfo1Ts5Z0ed6BCzGLoBOEj07u6AG8gTZ9nRk9rwSRj1zpY+x7jhf2S2lQSBPonjG6qxwSY8EKogkGWMWPQo8vMm9vgE7YW9LjYT5VyysTrfNTdRmLRF255uuDUgvWG/6avUeD5NqLTsNE99mbVA9oZgKy7Jxp4g4yFYkE73vs5hD4QyEu9sRrTZWySZa+wzsrzB4Ufh0Zx2lxxo2mMHcbQ/4gCCl6rgQTRIW9UEo8AAAfx2r2ESQiuMeM7qBktDZoZGppLzQnr6/oTAQclzpG+RzxQKCJHUUKavkV4gKZOgymy1M1OARNEibDg== 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=6YQd/hpbrmLm3HhpzHif+DUZHqM2zUJMw3onAJXnXt4=; b=UWP9nvIIB5kRUzm5UaceVY1a5UobCdBdvLxBgwsh1ffT32C+KzOhPnwb8I3wBRc1SYgSsuzM1d6njHhtU1AIANnPGPmvC782o31itPhuAz6qtC7pmtq9au43/hx56XvsnhCiJm8qpc9MXFWCu8t9dNW/ic+H5xWqD80z4X6NPa1QSn3EBDn0gmihJCPtdn6DkoSzlRR5VzppGy4b5J9EAealFSwxFY9XGvNjGd3SMmFhbS9d+TCpF2BIOkVEHBTPPPGGEEa7R/UeiOLWWTvGCWOR6Zo4tZYoOMhzV8gHgFrON35KFSCNWlpLznTlNR0dIIYSOXBOvCNIQsBViEsgZA== 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=6YQd/hpbrmLm3HhpzHif+DUZHqM2zUJMw3onAJXnXt4=; b=fn8VLQY059pHGuHarBW72oevN0uFu2ZcKxuHXq1JduuagX9X6ndsz4yvgHRDvdkbch7dHqruYkmSM+jlyDGBcNdrXagqaZMc2cJ8u0Pyz/gJbX+xhee77r9oHZrQqKvRH2Zk+Tjyqzc98NHjj7UfTabRU7g8QTp7pvGb6qrxDSE= 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 AS8PR08MB6871.eurprd08.prod.outlook.com (2603:10a6:20b:392::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.8; Wed, 19 Jan 2022 15:02:11 +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:02:11 +0000 Subject: Re: [edk2-devel] [PATCH v5 3/4] Silicon/ARM/NeoverseN1Soc: Add CCIX root complex support To: devel@edk2.groups.io, khasim.mohammed@arm.com Cc: nd@arm.com References: <20211222011440.3687-1-khasim.mohammed@arm.com> <20211222011440.3687-4-khasim.mohammed@arm.com> From: "Sami Mujawar" Message-ID: Date: Wed, 19 Jan 2022 15:02:19 +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-4-khasim.mohammed@arm.com> X-ClientProxiedBy: LO4P123CA0085.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:190::18) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 920db5e9-00c5-4f05-4789-08d9db5cb294 X-MS-TrafficTypeDiagnostic: AS8PR08MB6871:EE_|DB5EUR03FT017:EE_|AM6PR08MB3829:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:2887;OLM:2887; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: kZ8AUnhZnJm1QiIl7MXAPsdvfVUihj0ee7Hd9AbpgJDVGrnrSHPrx0B0Dws89vomm4gM1G0/5IWaLk50NQKFsbdVGAfjx8RLP7LdD4Hs+DoSw4iE5r1lM1FzC1joc8BylIyRiSIxYc4+lEG7DoSlazXqZVMteHrYxpcGnzFkSWPv9NtfHqzAhHPQiLBwUasPWp/faiUwL6gmFWFnyd0EXgKnmeXzXnyLV2eTn5OM6YCUhYIJYmzmkJJv0bUgJFm4GHDSceqTaI69Tlts0q730JKqX4Q020s2TrkaIuYI1ossaqcr2Ep/RWyaSnmh7/BFRYFUpQy7y9kysU6ulFXKZ+YcF/aDzZHOFyGf3BsiWbv03PPuqAPKNXRSgtkKBsnav1+Kzb4Q9VefeTUvkuqxVk6C0qaNZsd9tCgWub2+KMKHm9QC6Pp2nOzfmEYE1huhghRL0Q3WNjISHWkASs7opUQcWZS63LnhXhoUT5Pi/CSpU2dyscEv+xcezi/lwE+41PGYGfg5VIX3Wy5EKctuA0V6VjY9jp5BRjpP3katpXCq0D+W5n5435fHxjd34y6PY9oTgMH7giys2tupbN6sj1fnXTufI+kW3GUlF7RXNS//iPIb8Ax0jI6wRGTXhBL1NQMfvL/R+p9qKyh8Q2iX3KtYXv7m0uEhWBSchhtARU9KJ0o5uXqP74Zbvq1LdPh0PYizZb9m6N5vKiPPZ1jjNZUS4RhdRIMtBJ4dsNzMDokIu8DLN6CCwo0PyBdWJoY1UL+OUlniY/7Y16+24fVcHA== 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)(8676002)(508600001)(8936002)(2616005)(66946007)(66476007)(66556008)(31686004)(83380400001)(186003)(26005)(5660300002)(86362001)(6486002)(2906002)(6506007)(36756003)(53546011)(52116002)(4326008)(44832011)(31696002)(38350700002)(19627235002)(6512007)(6636002)(316002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6871 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: DB5EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 51d9f301-7b99-46ef-4121-08d9db5cab5f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ff5Vm5D3Ya9O13y336qUzzEfnI4h6SAi+d8GP1pdDu3kiyxF9hDgKYzVbv5n6V9OA5aB6x6nAORNfB36SYyyMNO/pI5Y1sH8ZdDGE7bQPTifKE3sOaa6iMrxjpMUQnOpeo310SE95DZ2pE4NbJlR5DpFZWlXkazz3dvPBl9TA7Ycmk/n7JqFtJCObnI7g8tXS/Qic5Ky/KYjeOJ9FvhgQcE6DJbN/z06KdDJSOuaVa68Ea0VMQvKIxE9dM4afkbmQphqREcQuB3OoNoDNS1juLb6QUnD1717zPijIok+Na8n/z+ttic5YhC1/5KS7bth26rIZ2i/gr/ErtLTMbWK4Ys/eEFXy7NqGkc2kpy6nD2zXgsCBUpqHP/hX0M9yOI4j2lLituL1RP2r9JhN/Tzp1FtLeMAd0QDBX9jmW69ShoqA5jWPMibbSXHUMZFNxSx2cagWtbLu2bk0YJECR0gcJGcsEIvFGrTPCSXuhagFC20oEA3KzqXHfDe43II/nudXun8/ZRTJC2mV7sjF54DgR+H3hU0PEvFlqyOW5xzaogJYWI0ja9N98FLoeMJbOJBcAJKnjxbgkt5EDAxDAvWeyYBFsAeIcJkKi6zhOJhnNM3HQmEfht1A0Gzcr/NiH/VW0U9xM3TP7R654MDAHQmzkJtNNBRBD1PuBCq+wuZJmW4ne6uZ6RTLzb49xxNhwfCZB3AKlZEQeVonajd8r/eFIiocpB1FF3CzLckjaV753UzGn7lWFNWXmimIgiY7WgGlMwzDOdOjZlGPvNAYauZM7mnNhuH68ra8mA4mvVn3ac= 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)(46966006)(40470700002)(36840700001)(316002)(36756003)(47076005)(8676002)(36860700001)(82310400004)(336012)(356005)(31696002)(40460700001)(83380400001)(186003)(8936002)(6506007)(6486002)(86362001)(2906002)(6512007)(70586007)(53546011)(70206006)(2616005)(31686004)(44832011)(81166007)(6636002)(26005)(5660300002)(4326008)(19627235002)(508600001)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2022 15:02:22.9092 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 920db5e9-00c5-4f05-4789-08d9db5cb294 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: DB5EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3829 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Khasim, Thank you for this patch. These changes look good to me. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 22/12/2021 01:14 AM, Khasim Mohammed via groups.io wrote: > This patch enables CCIX root complex support by updating > the root complex node info in PciHostBridge library. > > Signed-off-by: Khasim Syed Mohammed > --- > .../PciHostBridgeLib/PciHostBridgeLib.c | 71 +++++++++++++++++-- > .../PciHostBridgeLib/PciHostBridgeLib.inf | 11 ++- > 2 files changed, 76 insertions(+), 6 deletions(-) > > diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.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 > > +#define ROOT_COMPLEX_NUM 2 > + > GLOBAL_REMOVE_IF_UNREFERENCED > STATIC CHAR16 CONST * CONST mPciHostBridgeLibAcpiAddressSpaceTypeStr[] = { > L"Mem", L"I/O", L"Bus" > @@ -28,7 +30,7 @@ typedef struct { > } EFI_PCI_ROOT_BRIDGE_DEVICE_PATH; > #pragma pack () > > -STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[] = { > +STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[ROOT_COMPLEX_NUM] = { > // PCIe > { > { > @@ -51,10 +53,33 @@ STATIC EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath[] = { > 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 > + } > + } > + }, > }; > > -STATIC PCI_ROOT_BRIDGE mPciRootBridge[] = { > +STATIC PCI_ROOT_BRIDGE mPciRootBridge[ROOT_COMPLEX_NUM] = { > { > 0, // Segment > 0, // Supports > @@ -90,7 +115,43 @@ STATIC PCI_ROOT_BRIDGE mPciRootBridge[] = { > 0 > }, > (EFI_DEVICE_PATH_PROTOCOL *)&mEfiPciRootBridgeDevicePath[0] > - } > + }, > + { > + 1, // Segment > + 0, // Supports > + 0, // Attributes > + TRUE, // DmaAbove4G > + FALSE, // NoExtendedConfigSpace > + 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] > + }, > }; > > /** > diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf > index 3ff1c592f2..3356c3ad35 100644 > --- a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf > +++ b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.inf > @@ -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 > > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoBase > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoSize > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size > + > [Protocols] > gEfiCpuIo2ProtocolGuid >