* [PATCH edk2-platforms v1 1/2] Platform/ARM/Juno: Merge ASL and CfgMngr directories
2020-07-24 15:47 [PATCH edk2-platforms v1 0/2] Merge ASL and CfgMngr directories PierreGondois
@ 2020-07-24 15:47 ` PierreGondois
2020-07-24 15:47 ` [PATCH edk2-platforms v1 2/2] Platform/ARM/VExpressPkg: " PierreGondois
1 sibling, 0 replies; 3+ messages in thread
From: PierreGondois @ 2020-07-24 15:47 UTC (permalink / raw)
To: devel
Cc: Pierre Gondois, leif, Arvind.Chauhan, thomas.abraham,
sami.mujawar, nd
From: Pierre Gondois <pierre.gondois@arm.com>
Due to the following patch available in edk2:
0a4aa20e8d446c2f5dd54f3a0a7ec4d52f0ebdb6
BaseTools: Compile AML bytecode arrays into .obj file
a C array containing the AML bytecode is generated from
ASL files, and a .obj file containing this array is
generated.
The Configuration Manager is currently providing an extra
flag to the ASL compiler to generate a C array containing
AML bytecode. This C array is contained in a .hex file.
This .hex file is included where necessary.
This mechanism was necessary due to the impossibility
to describe dependencies between ASL files and C files.
This mechanism is not required anymore. Thus the ASL and
CfgMngr directories can me merged in one module.
This patch merge the two directories for the Juno.
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
---
The changes can be seen at: https://github.com/PierreARM/edk2-platforms/commits/847_Merge_ASL_and_CfgMngr_dir_v1
Notes:
v1:
- Merge the PlatformASLTablesLib and ConfigurationManagerDxe
directories. [Pierre]
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc | 10 +----
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf | 7 +++-
Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf | 39 --------------------
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h | 11 +++++-
Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c | 8 +---
Platform/ARM/JunoPkg/ConfigurationManager/{PlatformASLTablesLib => ConfigurationManagerDxe/AslTables}/Dsdt.asl | 0
Platform/ARM/JunoPkg/ConfigurationManager/{PlatformASLTablesLib => ConfigurationManagerDxe/AslTables}/SsdtJunoUsb.asl | 0
Platform/ARM/JunoPkg/ConfigurationManager/{PlatformASLTablesLib => ConfigurationManagerDxe/AslTables}/SsdtPci.asl | 0
Platform/ARM/JunoPkg/ConfigurationManager/{PlatformASLTablesLib => ConfigurationManagerDxe/AslTables}/SsdtUart.asl | 0
9 files changed, 18 insertions(+), 57 deletions(-)
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
index 6699a016098623f9c8f567a8fa305b7cbf0b4fff..987c2d8ca3ba9757e36b9e16171a280523107a7a 100644
--- a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
+++ b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManager.dsc.inc
@@ -1,7 +1,7 @@
## @file
# dsc include file for Configuration Manager
#
-# Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
+# Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
@@ -14,10 +14,4 @@ [LibraryClasses.common]
[Components.common]
# Configuration Manager
- Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf {
- <LibraryClasses>
- # Platform ASL Tables
- PlatformAslTablesLib|Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
- <BuildOptions>
- *_*_*_PLATFORM_FLAGS = -I$(BIN_DIR)/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib/OUTPUT
- }
+ Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
index dd71f815db672f25f04713460acb2460bdc45699..a3e7db12f8c913f7111b5ff4ad724a5bdcc35956 100644
--- a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
+++ b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
@@ -1,7 +1,7 @@
## @file
# Configuration Manager Dxe
#
-# Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+# Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
@@ -22,6 +22,10 @@ [Defines]
[Sources]
ConfigurationManager.c
+ AslTables/Dsdt.asl
+ AslTables/SsdtJunoUsb.asl
+ AslTables/SsdtPci.asl
+ AslTables/SsdtUart.asl
[Packages]
ArmPkg/ArmPkg.dec
@@ -33,7 +37,6 @@ [Packages]
[LibraryClasses]
ArmPlatformLib
- PlatformAslTablesLib
PrintLib
UefiBootServicesTableLib
UefiDriverEntryPoint
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf b/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
deleted file mode 100644
index 93978cff97d9704f8639732c55d01bf559a5a2d6..0000000000000000000000000000000000000000
--- a/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
+++ /dev/null
@@ -1,39 +0,0 @@
-## @file
-# Platform ASL Tables
-#
-# Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-##
-
-[Defines]
- INF_VERSION = 0x0001001B
- BASE_NAME = JunoAslTablesLib
- FILE_GUID = 557004DB-DF45-426B-9E5E-1E8ABAA2EE2C
- MODULE_TYPE = DXE_DRIVER
- VERSION_STRING = 1.0
- LIBRARY_CLASS = PlatformAslTablesLib|DXE_DRIVER
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = ARM AARCH64
-#
-
-[Sources]
- Dsdt.asl
- SsdtJunoUsb.asl
- SsdtPci.asl
- SsdtUart.asl
-
-[Packages]
- ArmPkg/ArmPkg.dec
- ArmPlatformPkg/ArmPlatformPkg.dec
- MdeModulePkg/MdeModulePkg.dec
- MdePkg/MdePkg.dec
- Platform/ARM/JunoPkg/ArmJuno.dec
- Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
-
-[FixedPcd]
- gArmPlatformTokenSpaceGuid.PL011UartInterrupt
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
index 7fdf663fc6d2ad80da26ff1f1635c858d5be4e93..2073ae4902e540de869612353bfaf0ebacaea50d 100644
--- a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
+++ b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
@@ -1,6 +1,6 @@
/** @file
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -12,6 +12,15 @@
#ifndef CONFIGURATION_MANAGER_H__
#define CONFIGURATION_MANAGER_H__
+/** C array containing the compiled AML template.
+ These symbols are defined in the auto generated C file
+ containing the AML bytecode array.
+*/
+extern CHAR8 dsdt_aml_code[];
+extern CHAR8 ssdtjunousb_aml_code[];
+extern CHAR8 ssdtpci_aml_code[];
+extern CHAR8 ssdtuart_aml_code[];
+
/** The configuration manager version
*/
#define CONFIGURATION_MANAGER_REVISION CREATE_REVISION (1, 0)
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
index d52cc2982334ded1c3bf2f5e8f570378d8fb0ae1..913cffc9b994319065b5292b0d28970a0a0d8320 100644
--- a/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
+++ b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
@@ -1,7 +1,7 @@
/** @file
Configuration Manager Dxe
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -25,12 +25,6 @@
#include "ConfigurationManager.h"
#include "Platform.h"
-// AML Code Include files generated by iASL Compiler
-#include <Dsdt.hex>
-#include <SsdtJunoUsb.hex>
-#include <SsdtUart.hex>
-#include <SsdtPci.hex>
-
/** The platform configuration repository information.
*/
STATIC
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/Dsdt.asl
similarity index 100%
rename from Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
rename to Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/Dsdt.asl
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtJunoUsb.asl b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtJunoUsb.asl
similarity index 100%
rename from Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtJunoUsb.asl
rename to Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtJunoUsb.asl
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtPci.asl b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtPci.asl
similarity index 100%
rename from Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtPci.asl
rename to Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtPci.asl
diff --git a/Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtUart.asl b/Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtUart.asl
similarity index 100%
rename from Platform/ARM/JunoPkg/ConfigurationManager/PlatformASLTablesLib/SsdtUart.asl
rename to Platform/ARM/JunoPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/SsdtUart.asl
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH edk2-platforms v1 2/2] Platform/ARM/VExpressPkg: Merge ASL and CfgMngr directories
2020-07-24 15:47 [PATCH edk2-platforms v1 0/2] Merge ASL and CfgMngr directories PierreGondois
2020-07-24 15:47 ` [PATCH edk2-platforms v1 1/2] Platform/ARM/Juno: " PierreGondois
@ 2020-07-24 15:47 ` PierreGondois
1 sibling, 0 replies; 3+ messages in thread
From: PierreGondois @ 2020-07-24 15:47 UTC (permalink / raw)
To: devel
Cc: Pierre Gondois, leif, Arvind.Chauhan, thomas.abraham,
sami.mujawar, nd
From: Pierre Gondois <pierre.gondois@arm.com>
Due to the following patch available in edk2:
0a4aa20e8d446c2f5dd54f3a0a7ec4d52f0ebdb6
BaseTools: Compile AML bytecode arrays into .obj file
a C array containing the AML bytecode is generated from
ASL files, and a .obj file containing this array is
generated.
The Configuration Manager is currently providing an extra
flag to the ASL compiler to generate a C array containing
AML bytecode. This C array is contained in a .hex file.
This .hex file is included where necessary.
This mechanism was necessary due to the impossibility
to describe dependencies between ASL files and C files.
This mechanism is not required anymore. Thus the ASL and
CfgMngr directories can me merged in one module.
This patch merge the two directories for the FVP.
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
---
The changes can be seen at: https://github.com/PierreARM/edk2-platforms/commits/847_Merge_ASL_and_CfgMngr_dir_v1
Notes:
v1:
- Merge the PlatformASLTablesLib and ConfigurationManagerDxe
directories. [Pierre]
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc | 10 ++-----
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf | 4 +--
Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf | 29 --------------------
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h | 8 +++++-
Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c | 5 +---
Platform/ARM/VExpressPkg/ConfigurationManager/{PlatformASLTablesLib => ConfigurationManagerDxe/AslTables}/Dsdt.asl | 0
6 files changed, 12 insertions(+), 44 deletions(-)
diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
index 9b044bba5d907d1a53eb73c1c912968f7ee321da..0915c154cce6b0686f67a383dc69231ed3ed6f36 100644
--- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
+++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManager.dsc.inc
@@ -1,7 +1,7 @@
## @file
# dsc include file for Configuration Manager
#
-# Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
+# Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
@@ -16,10 +16,4 @@ [LibraryClasses.common]
[Components.common]
# Configuration Manager
- Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf {
- <LibraryClasses>
- # Platform ASL Tables
- PlatformAslTablesLib|Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
- <BuildOptions>
- *_*_*_PLATFORM_FLAGS = -I$(BIN_DIR)/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib/OUTPUT
- }
+ Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
index 14f4323f0015a7b0950ee7b3316f03c8c9c4fb9b..c17595b7ec37cdd1c99b258cd32d1bde6c76a5ed 100644
--- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
+++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManagerDxe.inf
@@ -1,7 +1,7 @@
## @file
# Configuration Manager Dxe
#
-# Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+# Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
@@ -22,6 +22,7 @@ [Defines]
[Sources]
ConfigurationManager.c
+ AslTables/Dsdt.asl
[Packages]
ArmPkg/ArmPkg.dec
@@ -33,7 +34,6 @@ [Packages]
[LibraryClasses]
ArmPlatformLib
- PlatformAslTablesLib
PrintLib
UefiBootServicesTableLib
UefiDriverEntryPoint
diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf b/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
deleted file mode 100644
index 23a71c365b7387a91353e2492bc7a19e03ffb9a0..0000000000000000000000000000000000000000
--- a/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/PlatformASLTablesLib.inf
+++ /dev/null
@@ -1,29 +0,0 @@
-## @file
-# Platform ASL Tables
-#
-# Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-##
-
-[Defines]
- INF_VERSION = 0x0001001B
- BASE_NAME = PlatformAslTablesLib
- FILE_GUID = 4000AEAB-C6D3-4F67-ADE3-D4B504FC164B
- MODULE_TYPE = DXE_DRIVER
- VERSION_STRING = 1.0
- LIBRARY_CLASS = PlatformAslTablesLib|DXE_DRIVER
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = ARM AARCH64
-#
-
-[Sources]
- Dsdt.asl
-
-[Packages]
- ArmPlatformPkg/ArmPlatformPkg.dec
- MdePkg/MdePkg.dec
- Platform/ARM/VExpressPkg/ArmVExpressPkg.dec
diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
index c61750dc55cd260ca7c1a4720c354cb7dfed1c0c..6fb959ab7ae2c77f750781d05660957488fae8cd 100644
--- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
+++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.h
@@ -1,6 +1,6 @@
/** @file
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -12,6 +12,12 @@
#ifndef CONFIGURATION_MANAGER_H__
#define CONFIGURATION_MANAGER_H__
+/** C array containing the compiled AML template.
+ This symbol is defined in the auto generated C file
+ containing the AML bytecode array.
+*/
+extern CHAR8 dsdt_aml_code[];
+
/** The configuration manager version.
*/
#define CONFIGURATION_MANAGER_REVISION CREATE_REVISION (1, 0)
diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
index 010702ae1daee515d079273975920c8af5c0bf41..a48eb0285c60177078324bdbcd8fa29c308e6a13 100644
--- a/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
+++ b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
@@ -1,7 +1,7 @@
/** @file
Configuration Manager Dxe
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -24,9 +24,6 @@
#include "ConfigurationManager.h"
#include "Platform.h"
-// AML Code Include files generated by iASL Compiler
-#include <Dsdt.hex>
-
/** The platform configuration repository information.
*/
STATIC
diff --git a/Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl b/Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/Dsdt.asl
similarity index 100%
rename from Platform/ARM/VExpressPkg/ConfigurationManager/PlatformASLTablesLib/Dsdt.asl
rename to Platform/ARM/VExpressPkg/ConfigurationManager/ConfigurationManagerDxe/AslTables/Dsdt.asl
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
^ permalink raw reply related [flat|nested] 3+ messages in thread