From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web12.5103.1634615516003887025 for ; Mon, 18 Oct 2021 20:52:04 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=J6CSII/L; spf=temperror, err=temporary DNS error (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=092675a635=daniel.schaefer@hpe.com) Received: from pps.filterd (m0150242.ppops.net [127.0.0.1]) by mx0a-002e3701.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19ILhSaR023790; Tue, 19 Oct 2021 03:51:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=pps0720; bh=bQO3Bag+nCKUiIhdVhpPNvYBHbB6reUTy1itCokxe/s=; b=J6CSII/LsjdnWD2mSCGUCGEQi/6JDNP2ZJGNiuoE3wZehDZ53uA7c+9rbkp3JvAwrzSS LPu528/QKGXIItrkhxNBq0wd3967z/eacV4YdL4ivyq04dHjJoHUyZEUBJsJi5o6afUm yNiLxHUMY5a+VPDGbmA7H9bmOvptcawhzBH14Tk+7bOUjid/3bgX08mywmngHumT47T6 DwqHrmG7rwWRCVzYrJMyiofO5hHOdFAFQGr8Qut77TH+l/vYPdKYsde2N6b67sZHe21V W02aQ5bH2xpYHgLoF7CUja2s1RwGlcz/WyVb9foPUCaNITGS9DUa+gZvBpqHkQHnxsNJ Sw== Received: from g4t3426.houston.hpe.com (g4t3426.houston.hpe.com [15.241.140.75]) by mx0a-002e3701.pphosted.com with ESMTP id 3bsc4suy4p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Oct 2021 03:51:55 +0000 Received: from G4W9120.americas.hpqcorp.net (g4w9120.houston.hp.com [16.210.21.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3426.houston.hpe.com (Postfix) with ESMTPS id D390C62; Tue, 19 Oct 2021 03:51:54 +0000 (UTC) Received: from G9W8456.americas.hpqcorp.net (2002:10d8:a15f::10d8:a15f) by G4W9120.americas.hpqcorp.net (2002:10d2:150f::10d2:150f) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Tue, 19 Oct 2021 03:50:38 +0000 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (15.241.52.13) by G9W8456.americas.hpqcorp.net (16.216.161.95) with Microsoft SMTP Server (TLS) id 15.0.1497.23 via Frontend Transport; Tue, 19 Oct 2021 03:50:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ENbdspki1PZy+E7ADlhEiKKgTAcUpoU/53jqe6/PhfLTLfgUka5Ez39VhSLLiJDdpL3z3J5w7zuBn813wVi3IwFFMaydtY5ntcR85GY5uDHkKSrJtRXMC+PggapYh/YxDRcg8Uy2KgvzD9XD3MrY+OE7UotnxlyGXsshGSYkP9itdK1aa/jLom3f6eyKKZTdzv7yiwgO06m6nV0sx4BJzIXE3f6yxlvpZTOPJ90iJo7x70ZyiaoHs13vgWD7dGvVQHuUaCWYRa9qgwS0+ylpbnRufkvFzMPzpmuX++r9x7eylJ15mjmu3o5NTkxfrrXku7UZiVMSgcw9jXRFRCqAiA== 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=bQO3Bag+nCKUiIhdVhpPNvYBHbB6reUTy1itCokxe/s=; b=IAZFtyo7h+g3cAh+tWTxKqC8N17H1SGDIoDklfj/ZPIbTc8GCODw6nblfE1N6qb055gFkQsJG6X51LBF/ULH61RP09+kGJIMFm4ZGA9v+WWlPRRpHO8dVAeMgHYsdFAKovUm2eo267Q8htzF/KKF/v4DK2jPEHNioBp0PB70Xf1bXX9T8nBAFbgUoXw69RUQnk8olbyadGzlpCAN0fKp9vgg6fUWlHidqEVTlC18rssZisYid5mbuoPlIZauRi1sbRGO7ye+jpLPMKwQxCHLC3a5s+ppbvdksUmEc7X+CNNs78LIuwZw5UY0MBrdYNzE01S9DLfwoVijwS8pnDsW2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=hpe.com; Received: from DF4PR8401MB0923.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760f::13) by DF4PR8401MB0921.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17; Tue, 19 Oct 2021 03:50:37 +0000 Received: from DF4PR8401MB0923.NAMPRD84.PROD.OUTLOOK.COM ([fe80::597f:4786:f1d6:8469]) by DF4PR8401MB0923.NAMPRD84.PROD.OUTLOOK.COM ([fe80::597f:4786:f1d6:8469%3]) with mapi id 15.20.4608.018; Tue, 19 Oct 2021 03:50:37 +0000 From: "Daniel Schaefer" To: CC: Abner Chang , , Sunil V L Subject: [edk2-platforms] [PATCH v3 09/14] RISC-V/PlatformPkg: Add FdtPeim to pass DTB from PEI to DXE via HOB Date: Tue, 19 Oct 2021 11:48:44 +0800 Message-ID: <20211019034849.16847-10-daniel.schaefer@hpe.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211019034849.16847-1-daniel.schaefer@hpe.com> References: <20211019034849.16847-1-daniel.schaefer@hpe.com> X-ClientProxiedBy: SG2PR03CA0134.apcprd03.prod.outlook.com (2603:1096:4:c8::7) To DF4PR8401MB0923.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760f::13) MIME-Version: 1.0 Received: from zbook-nix.wireless.hpe.com (15.211.146.34) by SG2PR03CA0134.apcprd03.prod.outlook.com (2603:1096:4:c8::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.11 via Frontend Transport; Tue, 19 Oct 2021 03:50:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 37d2f2a3-ba7d-4a63-f490-08d992b39c64 X-MS-TrafficTypeDiagnostic: DF4PR8401MB0921: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:983; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MTrAmTIqlGLQChewQtSgq5nnqluZtkQlSHICoj0HMDujs1pQIsrQSAvxdltEzgKrk6+ECS2Knvfp2aXOVW+Kb/TVZphG5JFxc5U8WNbCrDdTRcD56LXjFWGlo6KjAJkfrmsHavocdl5WLZhawawh0STYLW8jtdi7DlGuC5im86trxzN5mMrogugv3qdStdIrKYsqBJnmXltAPlhNP4OWTYfQcW+Oe2Snfb46hbxMZC9ubj0hSU6NmUBIZVGG8Dph7DC/o3zRQTyVM+CQC8vFJmwF/NkSfMuLsIq84CUAb///+zCiA653luxBbzWrb0eB5j1dewiF+mp8wFzlaRUu0o2VaKcoDohi8KVQ4DWj8sCpvJRkzPyN10JmRnyBlqZjEMDeB/JD2a6DQDjkrIqxLx1krW+X991yEmLPre8Hss2UEpK1EDO7VCivT2kzoZ2U1E8hmTubchGpFHfk4F8Pn5LBxlId1fCjX2QDMhV0nj1Q29+3J1tC0WOuOF0TgCXDi+FDyUTtAypRuJ2sojaBRY/XbHy6e4EE7WYKPSvy2kjE3e7GWUfWlFwYQFKVvXTeBOEOmwQXcfFYgWnIjy4tX8EO1njAPlCPlMamrSX+m10RS4gQvrfJTQ5PhVz1h7dNfsK809eGtztqyVrPkiuI22g5X6KlDXs6jEzrHdSwAAVU3O5NezC/qMGtlehXy3ZWAg46+IuUciaaFxIhHRJJEA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DF4PR8401MB0923.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(366004)(6916009)(956004)(8676002)(54906003)(26005)(66946007)(186003)(66556008)(2616005)(4326008)(5660300002)(7696005)(316002)(83380400001)(36756003)(6666004)(8936002)(6486002)(508600001)(66476007)(86362001)(52116002)(44832011)(82960400001)(2906002)(1076003)(38350700002)(38100700002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?C1iB7D5d6xPDOrifandpKx1rA9BwvW5NhwhAiGfTnfDcUvWaLDXtwf5zOaQy?= =?us-ascii?Q?KlEuCJVBfg9OynohBOznKmnVUwbwuM+32WxaoRhYGdBKF8PNqymIdIdmMY3c?= =?us-ascii?Q?Hj4Uj6UGEV0ipu+OWMspGUzXsFLwXjkNFq9ZOikZbmSRfEbnao0iJrqNkZpA?= =?us-ascii?Q?71kSyQpOSK1v/tAJsJsBTgGVS6OmujzLDT8T7uSTyawbYiSzDMlJal4GkXTY?= =?us-ascii?Q?N64c4ETJZdtyNgVd6W63miFL8rFs57ELJoqaWB+QMYnq9aREnOfl7lrMEBTg?= =?us-ascii?Q?AAjdvMHSTmETBV/EVxga92eEooKULmfzgoGUB6NtfIvpTu/m9IPQm4AJHCjo?= =?us-ascii?Q?ypoPKS8fyVo4S5Xn6bSDGUda4ma88A/78TNommACOHqGNrRaFcU8uDtKRwcN?= =?us-ascii?Q?MU3L579BcwavPNpwB25gsp16lVyMJkpGnrT6fMLfZuPcXm4c7PVrLewILoLP?= =?us-ascii?Q?wu/QaXUNk7HYWkDXKMtMRR3G0UxKFAhEGlcQb26GPJiSRiDsZ7hXQFZp30u5?= =?us-ascii?Q?IaD06c17TPAn8fVqVx69cwgQBmMLZQ60JrcVH+9UxMZiiGkC62zicHHLL7P7?= =?us-ascii?Q?No5rww/cufiaDk7fEGQkb2+woPnw/sj0GrwnSq8bztDfG61pWc1WMc8Nwjh7?= =?us-ascii?Q?J+MD4hzpimB98AXk8grta3DMVWv9xyP8/3dgRp3ktcReUybc4RpoQUGXzeiQ?= =?us-ascii?Q?OJy/TZqyWpvSbmRhwxVlQdWFu3d8ry8BeQ+5NMk0hK2zrRW5eNDomcLYLz3u?= =?us-ascii?Q?SBEyAlrmnwB0I2RYkNntIA8k6jrPrw6LNRj/t+bUsXjr2tv4Nco6uwxmF78R?= =?us-ascii?Q?d65rdGNrebebHGkhbijbsPJE/OLtwFhKtlDxUfA4gR0YzJxDm/2dMMxRlujp?= =?us-ascii?Q?F+SLYmvZWHiOyThYdqLkG9Wf3AAyv92IeAr6R6KxA4pHQJWEw2GsxsvXw9RC?= =?us-ascii?Q?L+T2Kq3htLmu6EJ5LmYROACWEkHlTLgx1Kc1rPZSAxmCt1w36Wx/T32rvLtF?= =?us-ascii?Q?Kf3R/MQP9AqNJM0aeZF0Hw0DM2Ywg98xXkaUYUlDzl6fmGoX8x9nuMtionWp?= =?us-ascii?Q?M+hD+40DGtMDCTb5AkcJlM6k+W5OZ7nXU+omEcTOsbqO0NxvBdWtftTf8VTE?= =?us-ascii?Q?XplZywqD7C70pI9hTpshTDUsPlGl6AIk2LOXBFsczXMnn3PJxZ5ucG4reGbi?= =?us-ascii?Q?/9bLKbGU+i+tC+V6tOfYUkyG6qw8Yty1i441F5TlVH0hBY8QP1wM7QvA46bf?= =?us-ascii?Q?mpF5Ab9CTvjwk53ClFejbVNILaZBnAZeoulfHFWDLplH/6s+l6VgB9/2ZGJO?= =?us-ascii?Q?Nzw/M9C6vQ5To9rXU0RlZraE?= X-MS-Exchange-CrossTenant-Network-Message-Id: 37d2f2a3-ba7d-4a63-f490-08d992b39c64 X-MS-Exchange-CrossTenant-AuthSource: DF4PR8401MB0923.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2021 03:50:37.2088 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FTzorZ2oKz/T4z8gopyFkPczETVV3z2876GVyIh2K52+ZSowzBurx8DN+z/u4+lSt6io0j0BILC5dzpz9WwkOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR8401MB0921 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: olgKtF5OfCnS7P271p_vKz207-_y3oZb X-Proofpoint-ORIG-GUID: olgKtF5OfCnS7P271p_vKz207-_y3oZb X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.0.607.475 definitions=2021-10-18_07,2021-10-18_01,2020-04-07_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 spamscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 adultscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109230001 definitions=main-2110190020 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Abner Chang Cc: Daniel Schaefer Cc: Abner Chang Cc: Sunil V L Reviewed-by: Abner Chang Signed-off-by: Daniel Schaefer --- Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc | 5 = ++ Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf | 1 + Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.inf | 49 = ++++++++++++++ Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.c | 70 = ++++++++++++++++++++ Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi | 2 = +- 5 files changed, 126 insertions(+), 1 deletion(-) diff --git a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U5= 40.dsc b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.d= sc index e971993b7b00..4fab3c4bdcbb 100644 --- a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc +++ b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc @@ -150,6 +150,10 @@ RiscVPlatformTimerLib|Platform/SiFive/U5SeriesPkg/Library/RiscVPlatformT= imerLib/RiscVPlatformTimerLib.inf=0D CpuExceptionHandlerLib|Silicon/RISC-V/ProcessorPkg/Library/RiscVExceptio= nLib/CpuExceptionHandlerDxeLib.inf=0D =0D +=0D + # Flattened Device Tree (FDT) access library=0D + FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf=0D +=0D [LibraryClasses.common.SEC]=0D !ifdef $(DEBUG_ON_SERIAL_PORT)=0D DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.in= f=0D @@ -400,6 +404,7 @@ =0D PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf=0D }=0D + Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.inf=0D =0D #=0D # DXE Phase modules=0D diff --git a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U5= 40.fdf b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.f= df index 820e19d11334..f0bd65fad648 100644 --- a/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf +++ b/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf @@ -101,6 +101,7 @@ INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf =0D # RISC-V Platform PEI Driver=0D INF Platform/RISC-V/PlatformPkg/Universal/Pei/PlatformPei/PlatformPei.inf= =0D +INF Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.inf=0D =0D ##########################################################################= ######=0D =0D diff --git a/Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.inf b/Pl= atform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.inf new file mode 100644 index 000000000000..8dc58f0a8bf4 --- /dev/null +++ b/Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.inf @@ -0,0 +1,49 @@ +## @file=0D +# The FDT Peim driver is used to pass the device tree to DXE phase.=0D +#=0D +# Copyright (c) 2021, Hewlett Packard Enterprise Developmente LP. All righ= ts reserved.
=0D +#=0D +# SPDX-License-Identifier: BSD-2-Clause-Patent=0D +#=0D +##=0D +=0D +[Defines]=0D + INF_VERSION =3D 0x00010005=0D + BASE_NAME =3D FdtPei=0D + MODULE_UNI_FILE =3D FdtPei.uni=0D + FILE_GUID =3D 724FD5E9-F35E-4386-B1E1-2ADA6103C4F9= =0D + MODULE_TYPE =3D PEIM=0D + VERSION_STRING =3D 1.0=0D +=0D + ENTRY_POINT =3D PeimPassFdt=0D +=0D +#=0D +# The following information is for reference only and not required by the = build tools.=0D +#=0D +# VALID_ARCHITECTURES =3D RISCV64=0D +#=0D +=0D +[Sources]=0D + FdtPeim.c=0D +=0D +[Packages]=0D + EmbeddedPkg/EmbeddedPkg.dec=0D + MdePkg/MdePkg.dec=0D + MdeModulePkg/MdeModulePkg.dec=0D + Silicon/RISC-V/ProcessorPkg/RiscVProcessorPkg.dec=0D +=0D +[LibraryClasses]=0D + DebugLib=0D + DebugLib=0D + HobLib=0D + FdtLib=0D + PcdLib=0D + PeiServicesLib=0D + PeimEntryPoint=0D + RiscVFirmwareContextLib=0D +=0D +[Guids]=0D + gFdtHobGuid ## PRODUCES=0D +=0D +[Depex]=0D + TRUE=0D diff --git a/Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.c b/Plat= form/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.c new file mode 100644 index 000000000000..2cd94f291c7d --- /dev/null +++ b/Platform/RISC-V/PlatformPkg/Universal/FdtPeim/FdtPeim.c @@ -0,0 +1,70 @@ +/** @file=0D +The module to pass the device tree to DXE via HOB.=0D +=0D +Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights = reserved.
=0D +=0D +SPDX-License-Identifier: BSD-2-Clause-Patent=0D +=0D +**/=0D +=0D +#include =0D +#include =0D +#include =0D +#include =0D +=0D +#include =0D +=0D +#include =0D +=0D +/**=0D + The entrypoint of the module, it will pass the FDT via a HOB.=0D +=0D + @param FileHandle Handle of the file being invoked.=0D + @param PeiServices Describes the list of possible PEI Servic= es.=0D +=0D + @retval TODO=0D +**/=0D +EFI_STATUS=0D +EFIAPI=0D +PeimPassFdt (=0D + IN EFI_PEI_FILE_HANDLE FileHandle,=0D + IN CONST EFI_PEI_SERVICES **PeiServices=0D + )=0D +{=0D + VOID *FdtPointer;=0D + VOID *Base;=0D + VOID *NewBase;=0D + UINTN FdtSize;=0D + UINTN FdtPages;=0D + UINT64 *FdtHobData;=0D + EFI_RISCV_OPENSBI_FIRMWARE_CONTEXT *FirmwareContext;=0D +=0D + FirmwareContext =3D NULL;=0D + GetFirmwareContextPointer (&FirmwareContext);=0D +=0D + if (FirmwareContext =3D=3D NULL) {=0D + DEBUG((DEBUG_ERROR, "%a: OpenSBI Firmware Context is NULL\n", __FUNCTI= ON__));=0D + return EFI_UNSUPPORTED;=0D + }=0D + FdtPointer =3D (VOID *)FirmwareContext->FlattenedDeviceTree;=0D + if (FdtPointer =3D=3D NULL) {=0D + DEBUG((DEBUG_ERROR, "%a: Invalid FDT pointer\n", __FUNCTION__));=0D + return EFI_UNSUPPORTED;=0D + }=0D + DEBUG((DEBUG_ERROR, "%a: Build FDT HOB - FDT at address: 0x%x \n", __FUN= CTION__, FdtPointer));=0D + Base =3D FdtPointer;=0D + ASSERT (Base !=3D NULL);=0D + ASSERT (fdt_check_header (Base) =3D=3D 0);=0D +=0D + FdtSize =3D fdt_totalsize (Base);=0D + FdtPages =3D EFI_SIZE_TO_PAGES (FdtSize);=0D + NewBase =3D AllocatePages (FdtPages);=0D + ASSERT (NewBase !=3D NULL);=0D + fdt_open_into (Base, NewBase, EFI_PAGES_TO_SIZE (FdtPages));=0D +=0D + FdtHobData =3D BuildGuidHob (&gFdtHobGuid, sizeof *FdtHobData);=0D + ASSERT (FdtHobData !=3D NULL);=0D + *FdtHobData =3D (UINTN)NewBase;=0D +=0D + return EFI_SUCCESS;=0D +}=0D diff --git a/Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi b/= Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi index 937caee08331..a731c7e36988 160000 --- a/Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi +++ b/Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi @@ -1 +1 @@ -Subproject commit 937caee0833115f69d697ca190001ba0aa5c7368 +Subproject commit a731c7e36988c3308e1978ecde491f2f6182d490 --=20 2.31.1