From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 98769D80419 for ; Mon, 25 Mar 2024 18:46:08 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=MGGmpDQN2kapru05+P7SqMHtf0xY5Ruw7VyprZVfiCA=; c=relaxed/simple; d=groups.io; h=Date:From:To:CC:Subject:Message-ID:References:MIME-Version:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Disposition; s=20240206; t=1711392367; v=1; b=XN0OLHlSLeQFNT3mPYwKKhreetEFoV6azN90uA8ZqIrbBwkXU00imDTe7PA6XohAbT05K/pM Un0pKE1cOaEcW6T1Z9+5fEppBfdAQdr4XyZZ1w6BocPJBuSu/VI3VNK8QBp1/pPGcbvM3sYS8n4 23kdEKR2fQ51TwnIuk+lsIzd39T5H3jy3FEd+GJAlzsCDZG3il4Yn7HzNcQE43Bmp89Agpnqa9W JWrOr+GC6N/mmnVYxWoEsbgsB7rM08LwxB68R+1udxzRX5gp2DorFgM/sTTLaGqFrbm8IjXHhle nTC7mpEM+Vci9dEE+CzoK3MM4ifW2criXotzrebulOekA== X-Received: by 127.0.0.2 with SMTP id olQWYY7687511xB8Qq5mV3g1; Mon, 25 Mar 2024 11:46:07 -0700 X-Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.3451.1711392366749788133 for ; Mon, 25 Mar 2024 11:46:06 -0700 X-Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 42PIeHKJ004685; Mon, 25 Mar 2024 18:46:06 GMT X-Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3x34c2snbf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 25 Mar 2024 18:46:06 +0000 (GMT) X-Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 42PIk3jq004998 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 25 Mar 2024 18:46:03 GMT X-Received: from qc-i7.hemma.eciton.net (10.80.80.8) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Mon, 25 Mar 2024 11:46:02 -0700 Date: Mon, 25 Mar 2024 18:45:58 +0000 From: "Leif Lindholm" To: Marcin Juszkiewicz CC: , Ard Biesheuvel , Graeme Gregory , Xiong Yining , Chen Baozi Subject: Re: [edk2-devel] [PATCH edk2-platforms v9 3/4] Platform/SbsaQemu: drop use of DeviceTree Message-ID: References: <20240322-no-dt-for-cpu-v9-0-92e947e0fbdf@linaro.org> <20240322-no-dt-for-cpu-v9-3-92e947e0fbdf@linaro.org> MIME-Version: 1.0 In-Reply-To: <20240322-no-dt-for-cpu-v9-3-92e947e0fbdf@linaro.org> X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-GUID: PytdD_nMxpqT00AJE9AeDrhb1fsmNxDE X-Proofpoint-ORIG-GUID: PytdD_nMxpqT00AJE9AeDrhb1fsmNxDE Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Mon, 25 Mar 2024 11:46:06 -0700 Reply-To: devel@edk2.groups.io,quic_llindhol@quicinc.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: CRHIqwVmnPio7wCDSH3VLl9Nx7686176AA= Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=XN0OLHlS; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=quicinc.com (policy=none) On Fri, Mar 22, 2024 at 17:08:49 +0100, Marcin Juszkiewicz wrote: > There is no need for EDK2 to know that there is DeviceTree around. > All hardware information is read using functions from > SbsaQemuHardwareInfoLib library. > > Signed-off-by: Marcin Juszkiewicz Reviewed-by: Leif Lindholm / Leif > --- > Silicon/Qemu/SbsaQemu/SbsaQemu.dec | 1 - > Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 6 -- > .../SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf | 33 ------- > Silicon/Qemu/SbsaQemu/Include/Library/FdtHelperLib.h | 36 ------- > .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 2 - > .../SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c | 98 -------------------- > 6 files changed, 176 deletions(-) > > diff --git a/Silicon/Qemu/SbsaQemu/SbsaQemu.dec b/Silicon/Qemu/SbsaQemu/SbsaQemu.dec > index 427ff8b31aac..8f3533800767 100644 > --- a/Silicon/Qemu/SbsaQemu/SbsaQemu.dec > +++ b/Silicon/Qemu/SbsaQemu/SbsaQemu.dec > @@ -36,7 +36,6 @@ [PcdsFixedAtBuild.common] > gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformAhciSize|0x10000|UINT32|0x00000002 > gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformXhciBase|0|UINT64|0x00000003 > gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformXhciSize|0x10000|UINT32|0x00000004 > - gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdDeviceTreeBaseAddress|0x10000000000|UINT64|0x00000005 > > # PCDs complementing PCIe layout pulled into ACPI tables > # Limit = Base + Size - 1 > diff --git a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc > index 3c3d2449bff4..3d748e289b51 100644 > --- a/Platform/Qemu/SbsaQemu/SbsaQemu.dsc > +++ b/Platform/Qemu/SbsaQemu/SbsaQemu.dsc > @@ -80,7 +80,6 @@ [LibraryClasses.common] > FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf > ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf > > - FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf > UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf > OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf > > @@ -126,7 +125,6 @@ [LibraryClasses.common] > # ARM PL011 UART Driver > PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf > > - FdtHelperLib|Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf > OemMiscLib|Platform/Qemu/SbsaQemu/OemMiscLib/OemMiscLib.inf > HardwareInfoLib|Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf > > @@ -430,9 +428,6 @@ [PcdsFixedAtBuild.common] > # > gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16 > > - # Initial Device Tree Location > - gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdDeviceTreeBaseAddress|0x10000000000 > - > # Non discoverable devices (AHCI,XHCI) > gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformAhciBase|0x60100000 > gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformAhciSize|0x00010000 > @@ -731,7 +726,6 @@ [Components.common] > # > ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClassDxe.inf > ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf > - EmbeddedPkg/Library/FdtLib/FdtLib.inf > MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf > Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuSmbiosDxe/SbsaQemuSmbiosDxe.inf > > diff --git a/Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf b/Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf > deleted file mode 100644 > index 9c059f3e5851..000000000000 > --- a/Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf > +++ /dev/null > @@ -1,33 +0,0 @@ > -#/** @file > -# > -# Component description file for FdtHelperLib module > -# > -# Copyright (c) 2021, NUVIA Inc. All rights reserved. > -# > -# SPDX-License-Identifier: BSD-2-Clause-Patent > -# > -#**/ > - > -[Defines] > - INF_VERSION = 1.29 > - BASE_NAME = FdtHelperLib > - FILE_GUID = 34e4396f-c2fc-4f9e-ad58-0f98e99e3875 > - MODULE_TYPE = BASE > - VERSION_STRING = 1.0 > - LIBRARY_CLASS = FdtHelperLib > - > -[Sources.common] > - FdtHelperLib.c > - > -[Packages] > - EmbeddedPkg/EmbeddedPkg.dec > - MdePkg/MdePkg.dec > - Silicon/Qemu/SbsaQemu/SbsaQemu.dec > - > -[LibraryClasses] > - DebugLib > - FdtLib > - PcdLib > - > -[FixedPcd] > - gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdDeviceTreeBaseAddress > diff --git a/Silicon/Qemu/SbsaQemu/Include/Library/FdtHelperLib.h b/Silicon/Qemu/SbsaQemu/Include/Library/FdtHelperLib.h > deleted file mode 100644 > index ea9159857215..000000000000 > --- a/Silicon/Qemu/SbsaQemu/Include/Library/FdtHelperLib.h > +++ /dev/null > @@ -1,36 +0,0 @@ > -/** @file > -* FdtHelperLib.h > -* > -* Copyright (c) 2021, NUVIA Inc. All rights reserved. > -* > -* SPDX-License-Identifier: BSD-2-Clause-Patent > -* > -**/ > - > -#ifndef FDT_HELPER_LIB_ > -#define FDT_HELPER_LIB_ > - > -/** > - Get MPIDR for a given cpu from device tree passed by Qemu. > - > - @param [in] CpuId Index of cpu to retrieve MPIDR value for. > - > - @retval MPIDR value of CPU at index > -**/ > -UINT64 > -FdtHelperGetMpidr ( > - IN UINTN CpuId > - ); > - > -/** Walks through the Device Tree created by Qemu and counts the number > - of CPUs present in it. > - > - @return The number of CPUs present. > -**/ > -EFIAPI > -UINT32 > -FdtHelperCountCpus ( > - VOID > - ); > - > -#endif /* FDT_HELPER_LIB_ */ > diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c > index 4ebbe7c93a19..56be2455970d 100644 > --- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c > +++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c > @@ -17,8 +17,6 @@ > #include > #include > > -#include > - > EFI_STATUS > EFIAPI > InitializeSbsaQemuPlatformDxe ( > diff --git a/Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c b/Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c > deleted file mode 100644 > index 7fdfb055db76..000000000000 > --- a/Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c > +++ /dev/null > @@ -1,98 +0,0 @@ > -/** @file > -* FdtHelperLib.c > -* > -* Copyright (c) 2021, NUVIA Inc. All rights reserved. > -* Copyright (c) 2020, Linaro Ltd. All rights reserved. > -* > -* SPDX-License-Identifier: BSD-2-Clause-Patent > -* > -**/ > - > -#include > -#include > -#include > -#include > -#include > - > -STATIC INT32 mFdtFirstCpuOffset; > -STATIC INT32 mFdtCpuNodeSize; > - > -/** > - Get MPIDR for a given cpu from device tree passed by Qemu. > - > - @param [in] CpuId Index of cpu to retrieve MPIDR value for. > - > - @retval MPIDR value of CPU at index > -**/ > -UINT64 > -FdtHelperGetMpidr ( > - IN UINTN CpuId > - ) > -{ > - VOID *DeviceTreeBase; > - CONST UINT64 *RegVal; > - INT32 Len; > - > - DeviceTreeBase = (VOID *)(UINTN)PcdGet64 (PcdDeviceTreeBaseAddress); > - ASSERT (DeviceTreeBase != NULL); > - > - RegVal = fdt_getprop (DeviceTreeBase, > - mFdtFirstCpuOffset + (CpuId * mFdtCpuNodeSize), > - "reg", > - &Len); > - if (!RegVal) { > - DEBUG ((DEBUG_ERROR, "Couldn't find reg property for CPU:%d\n", CpuId)); > - return 0; > - } > - > - return (fdt64_to_cpu (ReadUnaligned64 (RegVal))); > -} > - > -/** Walks through the Device Tree created by Qemu and counts the number > - of CPUs present in it. > - > - @return The number of CPUs present. > -**/ > -EFIAPI > -UINT32 > -FdtHelperCountCpus ( > - VOID > - ) > -{ > - VOID *DeviceTreeBase; > - INT32 Node; > - INT32 Prev; > - INT32 CpuNode; > - UINT32 CpuCount; > - > - DeviceTreeBase = (VOID *)(UINTN)PcdGet64 (PcdDeviceTreeBaseAddress); > - ASSERT (DeviceTreeBase != NULL); > - > - // Make sure we have a valid device tree blob > - ASSERT (fdt_check_header (DeviceTreeBase) == 0); > - > - CpuNode = fdt_path_offset (DeviceTreeBase, "/cpus"); > - if (CpuNode <= 0) { > - DEBUG ((DEBUG_ERROR, "Unable to locate /cpus in device tree\n")); > - return 0; > - } > - > - CpuCount = 0; > - > - // Walk through /cpus node and count the number of subnodes. > - // The count of these subnodes corresponds to the number of > - // CPUs created by Qemu. > - Prev = fdt_first_subnode (DeviceTreeBase, CpuNode); > - mFdtFirstCpuOffset = Prev; > - while (1) { > - CpuCount++; > - Node = fdt_next_subnode (DeviceTreeBase, Prev); > - if (Node < 0) { > - break; > - } > - mFdtCpuNodeSize = Node - Prev; > - Prev = Node; > - } > - > - return CpuCount; > -} > > -- > 2.44.0 > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#117090): https://edk2.groups.io/g/devel/message/117090 Mute This Topic: https://groups.io/mt/105088441/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-