From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.106.49; helo=cam-smtp0.cambridge.arm.com; envelope-from=sami.mujawar@arm.com; receiver=edk2-devel@lists.01.org Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.49]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E13EB21959CB2 for ; Fri, 21 Dec 2018 09:01:40 -0800 (PST) Received: from E107187.Arm.com (e107187.arm.com [10.1.195.55]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id wBLH0RVE019020; Fri, 21 Dec 2018 17:01:36 GMT From: Sami Mujawar To: edk2-devel@lists.01.org Cc: Arvind Chauhan , Daniil Egranov , Thomas Panakamattam Abraham , ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, michael.d.kinney@intel.com, alexei.fedorov@arm.com, Matteo.Carlini@arm.com, Stephanie.Hughes-Fitt@arm.com, nd@arm.com Date: Fri, 21 Dec 2018 17:00:21 +0000 Message-Id: <20181221170021.145024-7-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20181221170021.145024-1-sami.mujawar@arm.com> References: <20181221170021.145024-1-sami.mujawar@arm.com> Subject: [PATCH edk2-platforms v1 6/6] Platform/ARM: Dynamic CPU Device info for FVP X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 X-List-Received-Date: Fri, 21 Dec 2018 17:01:41 -0000 Integrate the OEM CPU Generator support for FVP to dynamically generate the ACPI CPU device information. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar --- Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 3 +- Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc | 3 ++ Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c | 7 ++++ Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h | 2 +- Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl | 39 ++------------------ 5 files changed, 16 insertions(+), 38 deletions(-) diff --git a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc index 1cf2ebb58f99899864e3bc90b7a22a75ea9fc29b..295fea1f45401fdb80a8327955b73388655434fb 100644 --- a/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc +++ b/Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc @@ -74,7 +74,8 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, Libr [BuildOptions] GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/Platform/ARM/VExpressPkg/Include/Platform/RTSM - + *_*_*_PLATFORM_FLAGS = -I$(BIN_DIR)/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib/OUTPUT + *_*_*_PLATFORM_FLAGS = -I$(BIN_DIR)/Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/AcpiOemCpuASLLib/OUTPUT ################################################################################ # diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc index 788b145b273fd49da7fb5d238491aef956977e61..4264eadde01b66a5c2c4a9267debcbed5ed3800b 100644 --- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc +++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc @@ -26,6 +26,9 @@ [Components.common] # Platform ASL Tables PlatformAslTablesLib|Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf + NULL|Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/AcpiOemCpuASLLib.inf + NULL|Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/AcpiOemCpuGeneratorLib.inf *_*_*_PLATFORM_FLAGS = -I$(BIN_DIR)/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib/OUTPUT + *_*_*_PLATFORM_FLAGS = -I$(WORKSPACE)/Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib } diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c index 4f79f91ef32cad4a1967d969cb39f801c3593089..7a7a2199477bbd4edaeacb8622b54e4a62466bc2 100644 --- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c +++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c @@ -26,6 +26,7 @@ #include #include +#include #include #include "ConfigurationManager.h" @@ -78,6 +79,12 @@ EDKII_PLATFORM_REPOSITORY_INFO VExpressPlatRepositoryInfo = { EFI_ACPI_6_2_DEBUG_PORT_2_TABLE_SIGNATURE, CREATE_STD_ACPI_TABLE_GEN_ID (ESTD_ACPI_TABLE_ID_DBG2), NULL + }, + // OEM CPU Table + { + 0, // Unused + CREATE_OEM_ACPI_TABLE_GEN_ID (OEM_ACPI_TABLE_ID_CPU), + NULL } }, diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h index bb457077d2329041aa5e5eaa6feec6f486a0114e..d1ced89ddc6902695b0d345086046d819604076d 100644 --- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h +++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h @@ -105,7 +105,7 @@ /** The number of ACPI tables to install */ -#define PLAT_ACPI_TABLE_COUNT 6 +#define PLAT_ACPI_TABLE_COUNT 7 /** The number of platform generic timer blocks */ diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl b/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl index 625930db4d88d9e966eea990ea2b293842f011ea..2d6767b35c87f91fd56febabb3644c91617f53ed 100644 --- a/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl +++ b/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl @@ -1,7 +1,7 @@ /** @file Differentiated System Description Table Fields (DSDT) - Copyright (c) 2014-2017, ARM Ltd. All rights reserved.
+ Copyright (c) 2014-2018, ARM Ltd. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -14,41 +14,8 @@ DefinitionBlock("DsdtTable.aml", "DSDT", 1, "ARMLTD", "ARM-VEXP", 1) { Scope(_SB) { - // - // Processor - // - Device(CPU0) { - Name(_HID, "ACPI0007") - Name(_UID, Zero) - } - Device(CPU1) { - Name(_HID, "ACPI0007") - Name(_UID, One) - } - Device(CPU2) { - Name(_HID, "ACPI0007") - Name(_UID, 2) - } - Device(CPU3) { - Name(_HID, "ACPI0007") - Name(_UID, 3) - } - Device(CPU4) { - Name(_HID, "ACPI0007") - Name(_UID, 4) - } - Device(CPU5) { - Name(_HID, "ACPI0007") - Name(_UID, 5) - } - Device(CPU6) { - Name(_HID, "ACPI0007") - Name(_UID, 6) - } - Device(CPU7) { - Name(_HID, "ACPI0007") - Name(_UID, 7) - } + // Processor information is provided through dynamically generated + // SSDTs for the CPUs // UART PL011 Device(COM2) { -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'