From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (EUR03-DB5-obe.outbound.protection.outlook.com [40.107.4.89]) by mx.groups.io with SMTP id smtpd.web11.43104.1636366588788382619 for ; Mon, 08 Nov 2021 02:16:29 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=BKpV7LtY; spf=pass (domain: arm.com, ip: 40.107.4.89, 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=vXA2jgIZM4SS4tZbG3bk20uSf3nAWU/iG/CM6o0ZB44=; b=BKpV7LtYb48upGv0u6TZh+r6etmelbo1IUD31PpJ9BbZRj8jyEfJjUunGHczzh1b7VFeOv28XTkpAtTH/eBHCm+E3VJZC3capY697YvpDqP0KFOCoYFbD0IbVmW9JVorSuAc2Brx85SH1NM1wPni9qJy1slrKBpl1Vuvn+O5xOc= Received: from AM6PR10CA0015.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::28) by PA4PR08MB7457.eurprd08.prod.outlook.com (2603:10a6:102:2a4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.15; Mon, 8 Nov 2021 10:16:24 +0000 Received: from VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:89:cafe::e7) by AM6PR10CA0015.outlook.office365.com (2603:10a6:209:89::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10 via Frontend Transport; Mon, 8 Nov 2021 10:16:24 +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.4649.14 via Frontend Transport; Mon, 8 Nov 2021 10:16:24 +0000 Received: ("Tessian outbound d49ee2bec50d:v108"); Mon, 08 Nov 2021 10:16:23 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 5cc169f0c31b1acb X-CR-MTA-TID: 64aa7808 Received: from cd0a19fff483.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id AA800AC9-89D7-4851-BDE0-550DBD10A1E5.1; Mon, 08 Nov 2021 10:16:15 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cd0a19fff483.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 08 Nov 2021 10:16:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JwfTh0vNRLn56JiNCEUyZ7HR9n+zRpqhkAgewk3qvzZd8gQHwjpwPReGg5cIVRRov4d5vDNTk9VeUCCCq3mP4a9oZTki/6lE7GmUU8Ir7yIs1qpskd9aMqm57KTZVXCey1aQF7KCUSaxGQg0qaBnSwzPGCURwXk+4gCaFeqwCqEsumfIEGjO4pXIzT40CB+IckzOtzQCuqTXR0K/rZSbdH3vji5/bHP0dfNIhzGsLPxgcz3mYbeZnwIt9XFP+rqYHcMpZ0M8um+7VYVWHpfppw4O+LiTRpfMVhX4H5uF8Mm1FKLTdLOpUwbzRWPmKl+svHiv4OC1vBcIejJgYvXLQg== 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=vXA2jgIZM4SS4tZbG3bk20uSf3nAWU/iG/CM6o0ZB44=; b=KQ40kndc5A/5QgcbiGxSVtwxBI8kcR3VJLM3bBU2FfAY2GPXc+VnvVi2kh6sKb7CEBYPpXuhdzCHl+N8z1Wv2SeGbjGc900zUnDq3zh4y9Bi68nC+oox4YElDNDUWFSwu8MpysnKg6zIgqTsBQU3hLc5uYnIezabfRxX4OD2O0aDQXnYokOnE8oin29aCEpNCfsTXAQVT7tqqOFtlpmkizDrwYFSnBeI8brpd/Rpe3/RayzMbYXL5+Qk0UbuxH2kIb3jegKbRbohU2Rv3MOKNqLMIt80BS9jTM8I9twR9BX4KdRrqtSjO3ADlga4JnaTDZ0og/XZBk/U1IgOinw6Jw== 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=vXA2jgIZM4SS4tZbG3bk20uSf3nAWU/iG/CM6o0ZB44=; b=BKpV7LtYb48upGv0u6TZh+r6etmelbo1IUD31PpJ9BbZRj8jyEfJjUunGHczzh1b7VFeOv28XTkpAtTH/eBHCm+E3VJZC3capY697YvpDqP0KFOCoYFbD0IbVmW9JVorSuAc2Brx85SH1NM1wPni9qJy1slrKBpl1Vuvn+O5xOc= 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 AM6PR08MB5030.eurprd08.prod.outlook.com (2603:10a6:20b:e1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Mon, 8 Nov 2021 10:16:09 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65%4]) with mapi id 15.20.4669.010; Mon, 8 Nov 2021 10:16:09 +0000 Subject: Re: [edk2-devel] [PATCH v5 2/7] Silicon/ARM/NeoverseN1Soc: Define new PCDs and configure memory map To: devel@edk2.groups.io, khasim.mohammed@arm.com Cc: nd@arm.com, Chandni Cherukuri References: <20211105142127.21616-1-khasim.mohammed@arm.com> <20211105142127.21616-2-khasim.mohammed@arm.com> From: "Sami Mujawar" Message-ID: Date: Mon, 8 Nov 2021 10:16:16 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20211105142127.21616-2-khasim.mohammed@arm.com> X-ClientProxiedBy: LO4P123CA0189.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a4::14) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 Received: from [10.1.196.43] (217.140.106.52) by LO4P123CA0189.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10 via Frontend Transport; Mon, 8 Nov 2021 10:16:08 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ffe9875b-9d62-44c9-1f48-08d9a2a0d17b X-MS-TrafficTypeDiagnostic: AM6PR08MB5030:|PA4PR08MB7457: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: bT8ERAjHDz4y57IKMVA+6V4Gr6rL961SKDuz+8Y2fqpapGdg3VHrWh2E/TiRw44W35ScndBwV49EruwZTLz3SYuCMI+D5het11jpZLr/Q0GDmDdw3daxe56WnS6k86VUgmxMnUU3fhMXji9O/jUOWBuIuleakermFgLBnznR1+f/DSAqaA6opyoWggvXXlUNzSRLfuHRh3Zj+HwqWVZiVUgFbLrfRGQJiEQH+tBaQN8Gjlqp8tAcnmT42DUx4lOLZqwZpTSuHIjYx4ioPdqc0eoCBZY7CenrCMGC0NfUvEns6Db6/TSaOTyJJCchDSnyR0vG068KQDpq6xDMFTXzxee/y4qqKrMpKepBaGGPtNoGim+gtIc9xwvrxqkh8mVeUe90tdIUjSJpTM75oQXMvXZ2I/QnNa7bH0feqJY4D6llZ3gflQr5lObWtSui/xBcsAbINs3rbEOXds6p6mNXJsRbha/84VJglCiQdR6HYTEqWvLmPy3T6yOC6CuWMRq4BLtCJGlZ74DWgELbHrK1a7tq2BkarxHUfthLFVtr9n269GjiHpMJl3f5CT2/57ERspj2PX36Y1ss5PNUImiLChA02mJePlI5Wfxl7+NN5Z1kyIQ9eH3+1hcByjQ2+g7gbjk6oYCOmjkomJXsRkZv78SYuMjVKW9284o+qUrlnAFpujrsQZ/bKdDy/qSuzd0TET5hs4J2NILj9E9jvuO9KKTEGKOmrD9wwxkb7tqtoDyxAwGJ1/QwaooEEwjALlKMWTXAZEkkgyjiHZ+2UlHpfQ== 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)(6486002)(186003)(26005)(38100700002)(38350700002)(6636002)(5660300002)(52116002)(4326008)(53546011)(66556008)(66946007)(66476007)(36756003)(44832011)(83380400001)(86362001)(6666004)(2616005)(508600001)(31686004)(956004)(8676002)(30864003)(19627235002)(2906002)(16576012)(31696002)(8936002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5030 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: VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: bbfb2049-c8a9-406f-9e22-08d9a2a0c86f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xpdJtWh3u+RN+VEcoZSJ/nWAX7sjK7OHn2IHhxGajn1Pweflx/LaJwC7SGaBlU2JglAqHILPb/3djYGfyn9g5sjUjVhfy+MQfZgdVNHxEiWxiqN7EIVL7zxtHk2SUJcB9iNzXnK5gPJOGSd2IKV1hsVmCHlfFWKz7m6H4Vjv9yhoAwcpwD583jdPasd5PWMMseyK/vhV3oUV2iej6ougMJedbeEbaFqpj+ZCeBzPDOSZ9ujR5BKwuVXn3RevL93sdzNThjdi5Kb1l7cyGOWZ2K9SW0TGNoUYaPuWpLXbFKDFuCWHt7gLo9wL48bheSVBA/H5lAxsJvZ3bZ7u39F+daTv2ckuSFoTB4GBhVPCCseGOz0WvdQUM1iiMknB8HtwnrnCEMKL8BmC0RScUi5rVKuTCv5M45IxaMMm2BqjAEK4zNGbUWukhhnp489L1LTshCgFMBUYKTmDmaj91F7wbfUCspzInsgaZIFmUSM12h9O3eBo7kqIsBDFnPlANDqQZSuXWwVyfDvBKSd4C8M9YHcDp1yQkIN8BHHEeu88HqL4kKceQCmCb0voFPCFIRryDqYvQGzoATo4jqXIaZkuXq8fM5B8N8klQyijwoynXLM6QBDz+2KjQek7qYO28mmiBvdoWJ+YxECpmQjQaVA/yiAqqb5yrI0SFWqlZPagI/Muxmp5BZMOMKjfZvtGQT4q07KVDb99e5gyvbPLEg0MaXB6t0BJyYxTBeSFn51uUzQ= 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)(36840700001)(6666004)(70206006)(83380400001)(81166007)(82310400003)(6636002)(26005)(356005)(19627235002)(70586007)(508600001)(5660300002)(53546011)(36756003)(36860700001)(30864003)(336012)(44832011)(86362001)(2616005)(31686004)(956004)(8936002)(31696002)(16576012)(8676002)(316002)(47076005)(186003)(4326008)(2906002)(6486002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2021 10:16:24.1250 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ffe9875b-9d62-44c9-1f48-08d9a2a0d17b 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: PA4PR08MB7457 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Khasim, Thank you for this patch. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 05/11/2021 02:21 PM, Khasim Mohammed via groups.io wrote: > This patch introduces new PCDs required to enable > chip to chip interface and corresponding memory map is updated. > > Signed-off-by: Chandni Cherukuri > Signed-off-by: Khasim Syed Mohammed > --- > .../Library/PlatformLib/PlatformLib.inf | 28 +++++-- > .../Library/PlatformLib/PlatformLibMem.c | 84 ++++++++++++++++--- > Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec | 35 +++++++- > 3 files changed, 125 insertions(+), 22 deletions(-) > > diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf > index 166c9e0444..8e2154aadf 100644 > --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf > +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf > @@ -1,6 +1,7 @@ > ## @file > +# Platform Library for N1Sdp. > # > -# Copyright (c) 2018-2020, ARM Limited. All rights reserved. > +# Copyright (c) 2018-2021, ARM Limited. All rights reserved.
> # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -29,13 +30,17 @@ > AArch64/Helper.S | GCC > > [FixedPcd] > - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > - > - gArmTokenSpaceGuid.PcdSystemMemoryBase > - gArmTokenSpaceGuid.PcdSystemMemorySize > - gArmTokenSpaceGuid.PcdArmPrimaryCore > - gArmTokenSpaceGuid.PcdArmPrimaryCoreMask > - > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixExpressBaseAddress > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseAddress > + gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseSize > + gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base > + gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32Base > @@ -45,7 +50,12 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseAddress > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseSize > > - gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base > + gArmTokenSpaceGuid.PcdArmPrimaryCore > + gArmTokenSpaceGuid.PcdArmPrimaryCoreMask > + gArmTokenSpaceGuid.PcdSystemMemoryBase > + gArmTokenSpaceGuid.PcdSystemMemorySize > + > + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > > [Guids] > gEfiHobListGuid ## CONSUMES ## SystemTable > diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c > index f9b3d03753..1c4a445c5e 100644 > --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c > +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c > @@ -1,9 +1,9 @@ > /** @file > -* > -* Copyright (c) 2018 - 2020, ARM Limited. All rights reserved. > -* > -* SPDX-License-Identifier: BSD-2-Clause-Patent > -* > + > + Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.
> + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > **/ > > #include > @@ -13,7 +13,7 @@ > #include > > // The total number of descriptors, including the final "end-of-table" descriptor. > -#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 13 > +#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 19 > > /** > Returns the Virtual Memory Map of the platform. > @@ -21,21 +21,23 @@ > This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU > on your platform. > > - @param[out] VirtualMemoryMap Array of ARM_MEMORY_REGION_DESCRIPTOR describing > - a Physical-to-Virtual Memory mapping. This array > - must be ended by a zero-filled entry. > + @param[in] VirtualMemoryMap Array of ARM_MEMORY_REGION_DESCRIPTOR describing > + a Physical-to-Virtual Memory mapping. This array > + must be ended by a zero-filled entry. > **/ > VOID > ArmPlatformGetVirtualMemoryMap ( > IN ARM_MEMORY_REGION_DESCRIPTOR **VirtualMemoryMap > ) > { > - UINTN Index = 0; > + UINTN Index; > ARM_MEMORY_REGION_DESCRIPTOR *VirtualMemoryTable; > EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttributes; > NEOVERSEN1SOC_PLAT_INFO *PlatInfo; > UINT64 DramBlock2Size; > + UINT64 RemoteDdrSize; > > + Index = 0; > PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE; > DramBlock2Size = ((UINT64)(PlatInfo->LocalDdrSize - > NEOVERSEN1SOC_DRAM_BLOCK1_SIZE / SIZE_1GB) * > @@ -55,6 +57,24 @@ ArmPlatformGetVirtualMemoryMap ( > FixedPcdGet64 (PcdDramBlock2Base), > DramBlock2Size); > > + if (PlatInfo->MultichipMode == 1) { > + RemoteDdrSize = ((PlatInfo->RemoteDdrSize - 2) * SIZE_1GB); > + > + BuildResourceDescriptorHob ( > + EFI_RESOURCE_SYSTEM_MEMORY, > + ResourceAttributes, > + FixedPcdGet64 (PcdExtMemorySpace) + FixedPcdGet64 (PcdSystemMemoryBase), > + PcdGet64 (PcdSystemMemorySize) > + ); > + > + BuildResourceDescriptorHob ( > + EFI_RESOURCE_SYSTEM_MEMORY, > + ResourceAttributes, > + FixedPcdGet64 (PcdExtMemorySpace) + FixedPcdGet64 (PcdDramBlock2Base), > + RemoteDdrSize > + ); > + } > + > ASSERT (VirtualMemoryMap != NULL); > Index = 0; > > @@ -114,6 +134,32 @@ ArmPlatformGetVirtualMemoryMap ( > VirtualMemoryTable[Index].Length = PcdGet64 (PcdPcieMmio64Size); > VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + // CCIX RC Configuration Space > + VirtualMemoryTable[++Index].PhysicalBase = PcdGet32 (PcdCcixRootPortConfigBaseAddress); > + VirtualMemoryTable[Index].VirtualBase = PcdGet32 (PcdCcixRootPortConfigBaseAddress); > + VirtualMemoryTable[Index].Length = PcdGet32 (PcdCcixRootPortConfigBaseSize); > + VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > + > + // CCIX ECAM Configuration Space > + VirtualMemoryTable[++Index].PhysicalBase = PcdGet32 (PcdCcixExpressBaseAddress); > + VirtualMemoryTable[Index].VirtualBase = PcdGet32 (PcdCcixExpressBaseAddress); > + VirtualMemoryTable[Index].Length = (FixedPcdGet32 (PcdCcixBusMax) - > + FixedPcdGet32 (PcdCcixBusMin) + 1) * > + SIZE_1MB; > + VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > + > + // CCIX MMIO32 Memory Space > + VirtualMemoryTable[++Index].PhysicalBase = PcdGet32 (PcdCcixMmio32Base); > + VirtualMemoryTable[Index].VirtualBase = PcdGet32 (PcdCcixMmio32Base); > + VirtualMemoryTable[Index].Length = PcdGet32 (PcdCcixMmio32Size); > + VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > + > + // CCIX MMIO64 Memory Space > + VirtualMemoryTable[++Index].PhysicalBase = PcdGet64 (PcdCcixMmio64Base); > + VirtualMemoryTable[Index].VirtualBase = PcdGet64 (PcdCcixMmio64Base); > + VirtualMemoryTable[Index].Length = PcdGet64 (PcdCcixMmio64Size); > + VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > + > // SubSystem Pheripherals - UART0 > VirtualMemoryTable[++Index].PhysicalBase = NEOVERSEN1SOC_UART0_BASE; > VirtualMemoryTable[Index].VirtualBase = NEOVERSEN1SOC_UART0_BASE; > @@ -138,6 +184,24 @@ ArmPlatformGetVirtualMemoryMap ( > VirtualMemoryTable[Index].Length = NEOVERSEN1SOC_EXP_PERIPH_BASE0_SZ; > VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + if (PlatInfo->MultichipMode == 1) { > + //Remote DDR (2GB) > + VirtualMemoryTable[++Index].PhysicalBase = PcdGet64 (PcdExtMemorySpace) + > + PcdGet64 (PcdSystemMemoryBase); > + VirtualMemoryTable[Index].VirtualBase = PcdGet64 (PcdExtMemorySpace) + > + PcdGet64 (PcdSystemMemoryBase); > + VirtualMemoryTable[Index].Length = PcdGet64 (PcdSystemMemorySize); > + VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_THROUGH; > + > + //Remote DDR > + VirtualMemoryTable[++Index].PhysicalBase = PcdGet64 (PcdExtMemorySpace) + > + PcdGet64 (PcdDramBlock2Base); > + VirtualMemoryTable[Index].VirtualBase = PcdGet64 (PcdExtMemorySpace) + > + PcdGet64 (PcdDramBlock2Base); > + VirtualMemoryTable[Index].Length = RemoteDdrSize; > + VirtualMemoryTable[Index].Attributes = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_THROUGH; > + } > + > // End of Table > VirtualMemoryTable[++Index].PhysicalBase = 0; > VirtualMemoryTable[Index].VirtualBase = 0; > diff --git a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec > index 54b793a937..eea2d58402 100644 > --- a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec > +++ b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec > @@ -1,5 +1,7 @@ > +## @file > +# Describes the entire platform configuration. > # > -# Copyright (c) 2018 - 2020, ARM Limited. All rights reserved. > +# Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.
> # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -33,8 +35,8 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax|17|UINT32|0x00000005 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin|0|UINT32|0x00000006 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoBase|0x0|UINT32|0x00000007 > - gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoMaxBase|0x00FFFFFF|UINT32|0x00000008 > - gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoSize|0x01000000|UINT32|0x00000009 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoMaxBase|0x001FFFF|UINT32|0x00000008 > + gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoSize|0x020000|UINT32|0x00000009 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoTranslation|0x75200000|UINT32|0x0000000A > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32Base|0x71200000|UINT32|0x0000000B > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32MaxBase|0x751FFFFF|UINT32|0x0000000C > @@ -44,3 +46,30 @@ > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64MaxBase|0x28FFFFFFFF|UINT64|0x00000010 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Size|0x2000000000|UINT64|0x00000011 > gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Translation|0x0|UINT64|0x00000012 > + > + # 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.PcdExtMemorySpace|0x40000000000|UINT64|0x00000029 > + > + # Remote Chip PCIe > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieIoTranslation|0x40075200000|UINT64|0x0000004A > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio32Translation|0x40000000000|UINT64|0x0000004B > + gArmNeoverseN1SocTokenSpaceGuid.PcdRemotePcieMmio64Translation|0x40000000000|UINT64|0x0000004C