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.70]) by mx.groups.io with SMTP id smtpd.web08.13948.1640135784992459552 for ; Tue, 21 Dec 2021 17:16:25 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=eDDM1Wc9; spf=pass (domain: arm.com, ip: 40.107.6.70, mailfrom: khasim.mohammed@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=3CLsr+sO9VjTBqTfyIX/+Eu2vqX8ZBdZGe5rUWbvN3w=; b=eDDM1Wc9rY6Rk8xPfuO88NywNDisLPgUf6vqWMrZeJjlzHXTVQ3manI21yp/jrZIgc50ykpmsg2Iuoq9ziHRPzOqHKw+45vltnz6o5wc3rj78LQEpz2JygfPGirA9H89pTpfamZUcAQGhdF/WyL41+t0evOIUnP0iJXsrLo2lJU= Received: from AM0PR03CA0031.eurprd03.prod.outlook.com (2603:10a6:208:14::44) by VI1PR08MB3472.eurprd08.prod.outlook.com (2603:10a6:803:80::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.20; Wed, 22 Dec 2021 01:16:21 +0000 Received: from VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:208:14:cafe::8b) by AM0PR03CA0031.outlook.office365.com (2603:10a6:208:14::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14 via Frontend Transport; Wed, 22 Dec 2021 01:16:21 +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 VE1EUR03FT043.mail.protection.outlook.com (10.152.19.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14 via Frontend Transport; Wed, 22 Dec 2021 01:16:20 +0000 Received: ("Tessian outbound c61f076cbd30:v110"); Wed, 22 Dec 2021 01:16:20 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d3a7665c65becad6 X-CR-MTA-TID: 64aa7808 Received: from 67e3cdafb9f8.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id AAD132BF-864C-4FEC-8E07-BE4203523DF6.1; Wed, 22 Dec 2021 01:16:14 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 67e3cdafb9f8.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 22 Dec 2021 01:16:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bFVWZw8iXUrRw9gTy2xbdCBpXkg/RncYeH263MRv/EypqEXtLMWs83rAFuAD/dhv7Woux0A2+x7fbNiqVeh+MY6aQ5TV+3AXa3JV2XO7FTLWUzr1EmKditTYTr5CUUvolLYjA/NVtMP1gbOb/hiBNRsvKshXeT4Z/6PHs2TTEU1UEvCiCF9JiJjEfdmssgtxOiV5bN7MU9lLL/GXVjso/rpo3qUWHRvYUqiy3Aw/CTVfABdhpZyMAa1sc1g/toe1hdWsY0xcsJXUSM1C26wncqhY9dk+V/nPhirjK6gfMK2aPUOwX4o64XktnKnt0lrsqWFt6saFkdRGSpl2eCeYDQ== 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=3CLsr+sO9VjTBqTfyIX/+Eu2vqX8ZBdZGe5rUWbvN3w=; b=NWb0TgjxQG5gExqpxqBpMApDhEiXCcW535AjCkLnHdhtz4D7RD0biJQnWvvVF2OUAB8Gbf+Lt2gM5D+j8HhaHUz5c1JZ2AICxg3dCOdtbsOpHfk435r23wMuBZtZf5LWpZAqP8Ty6oC32EUzJzg8gCr0EfvypaQLHeO6lpQYYzuPIK3I8hSibBroMcXGaRk70obP+GSQZTqpbaSMVWM48r9rqM4FCjL0/Ej4qb5J1/6xgY3Vo5kGCX1i+xQk8guspEpzPh7mNOPN5fVErtLcTGv2KBUNQlT8JICV10MaDwsgX8SaQQEflcMLnp/EXWzvNXF5mDaobzm+i5E7hM+kbA== 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 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=3CLsr+sO9VjTBqTfyIX/+Eu2vqX8ZBdZGe5rUWbvN3w=; b=eDDM1Wc9rY6Rk8xPfuO88NywNDisLPgUf6vqWMrZeJjlzHXTVQ3manI21yp/jrZIgc50ykpmsg2Iuoq9ziHRPzOqHKw+45vltnz6o5wc3rj78LQEpz2JygfPGirA9H89pTpfamZUcAQGhdF/WyL41+t0evOIUnP0iJXsrLo2lJU= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB5902.eurprd08.prod.outlook.com (2603:10a6:102:e0::10) by PAXPR08MB7017.eurprd08.prod.outlook.com (2603:10a6:102:1df::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.19; Wed, 22 Dec 2021 01:16:12 +0000 Received: from PA4PR08MB5902.eurprd08.prod.outlook.com ([fe80::64a1:69a1:148d:9fa]) by PA4PR08MB5902.eurprd08.prod.outlook.com ([fe80::64a1:69a1:148d:9fa%9]) with mapi id 15.20.4823.018; Wed, 22 Dec 2021 01:16:12 +0000 From: "Khasim Mohammed" To: devel@edk2.groups.io Cc: nd@arm.com, Khasim Syed Mohammed Subject: [PATCH v5 3/4] Silicon/ARM/NeoverseN1Soc: Add CCIX root complex support Date: Wed, 22 Dec 2021 06:44:39 +0530 Message-Id: <20211222011440.3687-4-khasim.mohammed@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211222011440.3687-1-khasim.mohammed@arm.com> References: <20211222011440.3687-1-khasim.mohammed@arm.com> X-ClientProxiedBy: PN0PR01CA0046.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:49::14) To PA4PR08MB5902.eurprd08.prod.outlook.com (2603:10a6:102:e0::10) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: a134488e-cc18-447e-a4f6-08d9c4e8a9b9 X-MS-TrafficTypeDiagnostic: PAXPR08MB7017:EE_|VE1EUR03FT043:EE_|VI1PR08MB3472:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:2582;OLM:2582; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: +EKYgPce6GhJwNnl0Q2iNmIZhxjMdeGRJE8BRz9OCJbDCohop1T4l/NSBCATLKsGReQj2HX3gH92Dp8dl44/qta19LC7eFLF+rKEexwuvAlbPpYlw/DEeggkz7UbJKc8BwYS5zPVVfPPobDnG6bXvTKok87PNoIcPH70wLK1Ou0Rss5xaVHiBWQQZRAXVmOpCQwj91nA4gCJxOaDH18s2Axc1oGXzFRZ5Bbkbd5GsFXJt6T14/kg4TEqLhyI655SSikS38vdqnt6+AWv1IF+HkuILsXRHHlQOR+kaDd9x8p+TcXzIudPcnknP639dmW0DxK45tnn4fPMzQvSMwyY5fKLFDBZHJhS+qTw1UHEKB20vQ9anV9AVA3zdRJjmrrDlRM+6v3IcuMWVRW2TUhDd/5kJn26TmcPNQ/zpVxPRoRmfm17s7qJ0ao385MGWpZeGixeMD3Oai2mTbZei+St1MQ7lwdtDUAse+MV9/uVbXleqXtJtr7Z9ncfa+na0HenEhS7E79uvKUnLpfAMO5ZvdXOwTRV0t2UowUb4uGFL5nY6xPl0BAMjEApJIUSxWuyupmMhZqLzx6R9aCdgY3SvNfkR9DXUQrSFba7MS7PqpgRNjUDOknmSremSq5XJRYrlBcC6A/+j+WnbBTSdcGHRuB36eKfDlPdRx4f8OGb7utiGUcTfub/AzSbHpz4QdJt37CXAP/0Vo37tZDpoHJjeg== 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)(186003)(2616005)(26005)(508600001)(36756003)(316002)(8936002)(86362001)(4326008)(66476007)(66556008)(38350700002)(38100700002)(66946007)(6486002)(19627235002)(6666004)(2906002)(6512007)(1076003)(6506007)(6916009)(8676002)(5660300002)(52116002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7017 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Khasim.Mohammed@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c0f9db24-dda1-40b9-8112-08d9c4e8a4cb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PNTAE/rVEA3SqaKNnuei2WoWqdhpSMT5FqoDY1DeO1TTGawA6KsHOHjjMF54x91cPfAkjW2EBWTWzJAZaSBsQrVhaTxovtKAO8ejBYbZVsKMviXZwexE2HmshsmxvSPQygXc0h5/1frftFhfnDDLadQBep2Wo8q3+KUdxoS478YLLob+9702Rps0tkwFV3f93XoVvotV/MmvewA52PGitAZflHnK6AA/yHexh4qyqRSgIeuZgLcqBnMwSafMChcweh2jOhOXFOVPXqzgephx5rQxzDPs+v+rZI7Dbal84TxBEw/SJ5lZGG3iCz8RxNomGHgBINWD7cxT6nJEqpQQcF5uxI3i6J9Q8lMWqv9oRtZLxoOG5XsL94Mhc/kUPCF3w0uypjJCf+VCaT8cKCFk1xKzg+01l8g90H2+yYG6FBotlXne9wPp4jfUMMhGqXIHRFKvSPJD49J254taBox8w4+y4hXTS/tC6/CHkwSaEnKW2ylW/vCQrrIF4BB0AZvmi1SquyqKnmdO5/TlKnpD6t6uix67Xt6w+CG8wbOhASx6oBoYICbSYbIYMz5KW9286bk2l0fOyZLB7DRRIknumctp/0qtGKGap4WRulROxAe3TEB/1fhX0+p1jo9G7aDMtt6XA0SnocZ8n4YPscDmdolMjE8+lSV2/XaPOtqkWsa5gMFsXikDFluuLLqZx95mBvLWGfSMX1ZRXjZrqcMwnclND7C9rUKKMvyVC1yzF0EGwDb1mWETO+nicFOYwDelBqzAJP2VT/kX1c+MnqCR+Q== 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)(6512007)(6916009)(86362001)(83380400001)(6486002)(36756003)(6506007)(316002)(81166007)(8676002)(6666004)(508600001)(356005)(70206006)(2906002)(70586007)(8936002)(2616005)(336012)(4326008)(1076003)(186003)(40460700001)(36860700001)(26005)(5660300002)(82310400004)(19627235002)(47076005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2021 01:16:20.7514 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a134488e-cc18-447e-a4f6-08d9c4e8a9b9 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: VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3472 Content-Type: text/plain 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 -- 2.17.1