* [Patch v2 0/4] Remove fixed CPU architecture list assumptions
@ 2021-04-14 3:27 Michael D Kinney
2021-04-14 3:27 ` [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined Michael D Kinney
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Michael D Kinney @ 2021-04-14 3:27 UTC (permalink / raw)
To: devel
Cc: Jiewen Yao, Jian J Wang, Xiaoyu Lu, Guomin Jiang, Liming Gao,
Zhiguang Liu, Bob Feng, Yuwei Chen, Andrew Fish, Abner Chang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
New in V2
=========
* Support all combinations of EFI_IMAGE_MACHINE_TYPE_SUPPORTED and
EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED. Also update the way these
macros are supported that is compatible with all toolchains by introducing
two new optional #defines called EFI_IMAGE_MACHINE_TYPE_VALUE and
EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE
* Missing copyright update in CryptoPkg
* Split BaseTools patch into 2 patches. One for C code and one for Python.
The EDK II Build Specifications do not restrict the set of
CPU architectures that can be supported. Remove places in
the EDK II that assume a fixed set of CPU architectures.
Remove build breaks in the following tools and DEFINES when a check against
a fixed set of CPU architectures is made.
* Build
* GenFds
* TargetTool
* GenFw
* SIXTY_FOUR_BIT and THIRTY_TWO_BIT
* EFI_IMAGE_MACHINE_TYPE_SUPPORTED
* EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED
* EFI_REMOVABLE_MEDIA_FILE_NAME
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>Cc
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Abner Chang <abner.chang@hpe.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Michael D Kinney (4):
MdePkg/Include: Allow CPU specific defines to be predefined
CryptoPkg/Library/Include: Allow CPU specific defines to be predefined
BaseTools/Source/C: Remove CPU architecture assumptions
BaseTools/Source/Python: Remove CPU architecture assumptions
BaseTools/Source/C/GenFw/Elf32Convert.c | 5 ++---
BaseTools/Source/C/GenFw/Elf64Convert.c | 5 ++---
BaseTools/Source/Python/GenFds/FdfParser.py | 4 +---
BaseTools/Source/Python/TargetTool/TargetTool.py | 4 ++--
BaseTools/Source/Python/build/buildoptions.py | 4 ++--
CryptoPkg/Library/Include/CrtLibSupport.h | 4 +++-
MdePkg/Include/Uefi/UefiBaseType.h | 15 ++++++++++++++-
MdePkg/Include/Uefi/UefiSpec.h | 4 +++-
8 files changed, 29 insertions(+), 16 deletions(-)
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined
2021-04-14 3:27 [Patch v2 0/4] Remove fixed CPU architecture list assumptions Michael D Kinney
@ 2021-04-14 3:27 ` Michael D Kinney
2021-04-14 8:52 ` Abner Chang
2021-04-15 1:27 ` 回复: " gaoliming
2021-04-14 3:27 ` [Patch v2 2/4] CryptoPkg/Library/Include: " Michael D Kinney
` (2 subsequent siblings)
3 siblings, 2 replies; 10+ messages in thread
From: Michael D Kinney @ 2021-04-14 3:27 UTC (permalink / raw)
To: devel; +Cc: Liming Gao, Zhiguang Liu, Andrew Fish, Abner Chang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
The EDK II Build Specifications do not restrict the set of
CPU architectures that can be supported. Remove places in
the EDK II that assumes a fixed set of CPU architectures.
Update EFI_REMOVABLE_MEDIA_FILE_NAME to allow it to be
predefined in tools_def.txt or a DSC file [BuildOptions]
section using a *_*_*_CC_FLAGS statement.
Add support for the following two defines. If neither are
defines, then preserve the current behavior. If either is
defined, then compare these 16-bit values to Machine in the
EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) and
EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) macros.
* EFI_IMAGE_MACHINE_TYPE_VALUE
* EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Abner Chang <abner.chang@hpe.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
MdePkg/Include/Uefi/UefiBaseType.h | 15 ++++++++++++++-
MdePkg/Include/Uefi/UefiSpec.h | 4 +++-
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h
index 934fc07285d9..45e2aa63bb34 100644
--- a/MdePkg/Include/Uefi/UefiBaseType.h
+++ b/MdePkg/Include/Uefi/UefiBaseType.h
@@ -1,7 +1,7 @@
/** @file
Defines data types and constants introduced in UEFI.
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR>
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
@@ -248,6 +248,7 @@ typedef union {
#define EFI_IMAGE_MACHINE_RISCV64 0x5064
#define EFI_IMAGE_MACHINE_RISCV128 0x5128
+#if !defined(EFI_IMAGE_MACHINE_TYPE_VALUE) && !defined(EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
#if defined (MDE_CPU_IA32)
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
@@ -294,5 +295,17 @@ typedef union {
#else
#error Unknown Processor Type
#endif
+#else
+#if defined (EFI_IMAGE_MACHINE_TYPE_VALUE)
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_TYPE_VALUE)
+#else
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) (FALSE)
+#endif
+#if defined (EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
+#else
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
+#endif
+#endif
#endif
diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h
index 2b1b72d86286..8aeaebc44fd8 100644
--- a/MdePkg/Include/Uefi/UefiSpec.h
+++ b/MdePkg/Include/Uefi/UefiSpec.h
@@ -5,7 +5,7 @@
If a code construct is defined in the UEFI 2.7 specification it must be included
by this include file.
-Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -2211,6 +2211,7 @@ typedef struct {
#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI"
#define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.EFI"
+#if !defined(EFI_REMOVABLE_MEDIA_FILE_NAME)
#if defined (MDE_CPU_IA32)
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
#elif defined (MDE_CPU_X64)
@@ -2225,6 +2226,7 @@ typedef struct {
#else
#error Unknown Processor Type
#endif
+#endif
//
// The directory within the active EFI System Partition defined for delivery of capsule to firmware
--
2.31.1.windows.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Patch v2 2/4] CryptoPkg/Library/Include: Allow CPU specific defines to be predefined
2021-04-14 3:27 [Patch v2 0/4] Remove fixed CPU architecture list assumptions Michael D Kinney
2021-04-14 3:27 ` [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined Michael D Kinney
@ 2021-04-14 3:27 ` Michael D Kinney
2021-04-15 6:43 ` Wang, Jian J
2021-04-14 3:27 ` [Patch v2 3/4] BaseTools/Source/C: Remove CPU architecture assumptions Michael D Kinney
2021-04-14 3:27 ` [Patch v2 4/4] BaseTools/Source/Python: " Michael D Kinney
3 siblings, 1 reply; 10+ messages in thread
From: Michael D Kinney @ 2021-04-14 3:27 UTC (permalink / raw)
To: devel
Cc: Jiewen Yao, Jian J Wang, Xiaoyu Lu, Guomin Jiang, Andrew Fish,
Abner Chang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
The EDK II Build Specifications do not restrict the set of
CPU architectures that can be supported. Remove places in
the EDK II that assume a fixed set of CPU architectures.
Update SIXTY_FOUR_BIT and THIRTY_TWO_BIT defines in the
CryptoPkg to allow one of them to be predefined on the EDK II
build command line using /D flag or in DSC file [BuildOptions]
sections.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Abner Chang <abner.chang@hpe.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
CryptoPkg/Library/Include/CrtLibSupport.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/CryptoPkg/Library/Include/CrtLibSupport.h b/CryptoPkg/Library/Include/CrtLibSupport.h
index 7a82f1d40633..b1dff03bdc0c 100644
--- a/CryptoPkg/Library/Include/CrtLibSupport.h
+++ b/CryptoPkg/Library/Include/CrtLibSupport.h
@@ -2,7 +2,7 @@
Root include file of C runtime library to support building the third-party
cryptographic library.
-Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -44,6 +44,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define CONFIG_HEADER_BN_H
+#if !defined(SIXTY_FOUR_BIT) && !defined (THIRTY_TWO_BIT)
#if defined(MDE_CPU_X64) || defined(MDE_CPU_AARCH64) || defined(MDE_CPU_IA64) || defined(MDE_CPU_RISCV64)
//
// With GCC we would normally use SIXTY_FOUR_BIT_LONG, but MSVC needs
@@ -56,6 +57,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#else
#error Unknown target architecture
#endif
+#endif
//
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
--
2.31.1.windows.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Patch v2 3/4] BaseTools/Source/C: Remove CPU architecture assumptions
2021-04-14 3:27 [Patch v2 0/4] Remove fixed CPU architecture list assumptions Michael D Kinney
2021-04-14 3:27 ` [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined Michael D Kinney
2021-04-14 3:27 ` [Patch v2 2/4] CryptoPkg/Library/Include: " Michael D Kinney
@ 2021-04-14 3:27 ` Michael D Kinney
2021-04-14 6:33 ` Bob Feng
2021-04-14 3:27 ` [Patch v2 4/4] BaseTools/Source/Python: " Michael D Kinney
3 siblings, 1 reply; 10+ messages in thread
From: Michael D Kinney @ 2021-04-14 3:27 UTC (permalink / raw)
To: devel; +Cc: Bob Feng, Liming Gao, Yuwei Chen, Andrew Fish, Abner Chang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
The EDK II Build Specifications do not restrict the set of
CPU architectures that can be supported. Remove places in
the EDK II that assume a fixed set of CPU architectures.
Remove build breaks in the following tools when a check against
a fixed set of CPU architectures is made.
* GenFw
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Abner Chang <abner.chang@hpe.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
BaseTools/Source/C/GenFw/Elf32Convert.c | 5 ++---
BaseTools/Source/C/GenFw/Elf64Convert.c | 5 ++---
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/GenFw/Elf32Convert.c
index 7f351287a93c..2485b2cb7ad9 100644
--- a/BaseTools/Source/C/GenFw/Elf32Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf32Convert.c
@@ -1,7 +1,7 @@
/** @file
Elf32 Convert solution
-Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2013, ARM Ltd. All rights reserved.<BR>
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
@@ -143,8 +143,7 @@ InitializeElf32 (
return FALSE;
}
if (!((mEhdr->e_machine == EM_386) || (mEhdr->e_machine == EM_ARM) || (mEhdr->e_machine == EM_RISCV))) {
- Error (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf32 machine.");
- return FALSE;
+ Warning (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf32 machine.");
}
if (mEhdr->e_version != EV_CURRENT) {
Error (NULL, 0, 3000, "Unsupported", "ELF e_version (%u) not EV_CURRENT (%d)", (unsigned) mEhdr->e_version, EV_CURRENT);
diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c
index 4ed6b4477ea9..d097db863243 100644
--- a/BaseTools/Source/C/GenFw/Elf64Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf64Convert.c
@@ -1,7 +1,7 @@
/** @file
Elf64 convert solution
-Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2013-2014, ARM Ltd. All rights reserved.<BR>
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
@@ -162,8 +162,7 @@ InitializeElf64 (
return FALSE;
}
if (!((mEhdr->e_machine == EM_X86_64) || (mEhdr->e_machine == EM_AARCH64) || (mEhdr->e_machine == EM_RISCV64))) {
- Error (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf64 machine.");
- return FALSE;
+ Warning (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf64 machine.");
}
if (mEhdr->e_version != EV_CURRENT) {
Error (NULL, 0, 3000, "Unsupported", "ELF e_version (%u) not EV_CURRENT (%d)", (unsigned) mEhdr->e_version, EV_CURRENT);
--
2.31.1.windows.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Patch v2 4/4] BaseTools/Source/Python: Remove CPU architecture assumptions
2021-04-14 3:27 [Patch v2 0/4] Remove fixed CPU architecture list assumptions Michael D Kinney
` (2 preceding siblings ...)
2021-04-14 3:27 ` [Patch v2 3/4] BaseTools/Source/C: Remove CPU architecture assumptions Michael D Kinney
@ 2021-04-14 3:27 ` Michael D Kinney
2021-04-14 6:34 ` Bob Feng
3 siblings, 1 reply; 10+ messages in thread
From: Michael D Kinney @ 2021-04-14 3:27 UTC (permalink / raw)
To: devel; +Cc: Bob Feng, Liming Gao, Yuwei Chen, Andrew Fish, Abner Chang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
The EDK II Build Specifications do not restrict the set of
CPU architectures that can be supported. Remove places in
the EDK II that assume a fixed set of CPU architectures.
Remove build breaks in the following tools when a check against
a fixed set of CPU architectures is made.
* Build
* GenFds
* TargetTool
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Abner Chang <abner.chang@hpe.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
BaseTools/Source/Python/GenFds/FdfParser.py | 4 +---
BaseTools/Source/Python/TargetTool/TargetTool.py | 4 ++--
BaseTools/Source/Python/build/buildoptions.py | 4 ++--
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py
index ea2401b0e4fc..5c8263f9bcc9 100644
--- a/BaseTools/Source/Python/GenFds/FdfParser.py
+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
@@ -1,7 +1,7 @@
## @file
# parse FDF file
#
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2015, Hewlett Packard Enterprise Development, L.P.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -3504,8 +3504,6 @@ class FdfParser:
raise Warning.Expected("'.'", self.FileName, self.CurrentLineNumber)
Arch = self._SkippedChars.rstrip(TAB_SPLIT)
- if Arch.upper() not in ARCH_SET_FULL:
- raise Warning("Unknown Arch '%s'" % Arch, self.FileName, self.CurrentLineNumber)
ModuleType = self._GetModuleType()
diff --git a/BaseTools/Source/Python/TargetTool/TargetTool.py b/BaseTools/Source/Python/TargetTool/TargetTool.py
index 8e0ca387c356..71222e3cc899 100644
--- a/BaseTools/Source/Python/TargetTool/TargetTool.py
+++ b/BaseTools/Source/Python/TargetTool/TargetTool.py
@@ -1,7 +1,7 @@
## @file
# Target Tool Parser
#
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -197,7 +197,7 @@ def RangeCheckCallback(option, opt_str, value, parser):
def MyOptionParser():
parser = OptionParser(version=__version__, prog="TargetTool.exe", usage=__usage__, description=__copyright__)
- parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'EBC', 'ARM', 'AARCH64', '0'], dest="TARGET_ARCH",
+ parser.add_option("-a", "--arch", action="append", dest="TARGET_ARCH",
help="ARCHS is one of list: IA32, X64, ARM, AARCH64 or EBC, which replaces target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option. 0 will clear this setting in target.txt and can't combine with other value.")
parser.add_option("-p", "--platform", action="callback", type="string", dest="DSCFILE", callback=SingleCheckCallback,
help="Specify a DSC file, which replace target.txt's ACTIVE_PLATFORM definition. 0 will clear this setting in target.txt and can't combine with other value.")
diff --git a/BaseTools/Source/Python/build/buildoptions.py b/BaseTools/Source/Python/build/buildoptions.py
index 094af4e2a8dd..39d92cff209d 100644
--- a/BaseTools/Source/Python/build/buildoptions.py
+++ b/BaseTools/Source/Python/build/buildoptions.py
@@ -2,7 +2,7 @@
# build a platform or a module
#
# Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
-# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2018 - 2020, Hewlett Packard Enterprise Development, L.P.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -40,7 +40,7 @@ class MyOptionParser():
def GetOption(self):
Parser = OptionParser(description=__copyright__, version=__version__, prog="build.exe", usage="%prog [options] [all|fds|genc|genmake|clean|cleanall|cleanlib|modules|libraries|run]")
- Parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'EBC', 'ARM', 'AARCH64', 'RISCV64'], dest="TargetArch",
+ Parser.add_option("-a", "--arch", action="append", dest="TargetArch",
help="ARCHS is one of list: IA32, X64, ARM, AARCH64, RISCV64 or EBC, which overrides target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option.")
Parser.add_option("-p", "--platform", action="callback", type="string", dest="PlatformFile", callback=SingleCheckCallback,
help="Build the platform specified by the DSC file name argument, overriding target.txt's ACTIVE_PLATFORM definition.")
--
2.31.1.windows.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Patch v2 3/4] BaseTools/Source/C: Remove CPU architecture assumptions
2021-04-14 3:27 ` [Patch v2 3/4] BaseTools/Source/C: Remove CPU architecture assumptions Michael D Kinney
@ 2021-04-14 6:33 ` Bob Feng
0 siblings, 0 replies; 10+ messages in thread
From: Bob Feng @ 2021-04-14 6:33 UTC (permalink / raw)
To: Kinney, Michael D, devel@edk2.groups.io
Cc: Liming Gao, Chen, Christine, Andrew Fish, Abner Chang
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
-----Original Message-----
From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Wednesday, April 14, 2021 11:28 AM
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>; Andrew Fish <afish@apple.com>; Abner Chang <abner.chang@hpe.com>
Subject: [Patch v2 3/4] BaseTools/Source/C: Remove CPU architecture assumptions
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
The EDK II Build Specifications do not restrict the set of CPU architectures that can be supported. Remove places in the EDK II that assume a fixed set of CPU architectures.
Remove build breaks in the following tools when a check against a fixed set of CPU architectures is made.
* GenFw
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Abner Chang <abner.chang@hpe.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
BaseTools/Source/C/GenFw/Elf32Convert.c | 5 ++--- BaseTools/Source/C/GenFw/Elf64Convert.c | 5 ++---
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/GenFw/Elf32Convert.c
index 7f351287a93c..2485b2cb7ad9 100644
--- a/BaseTools/Source/C/GenFw/Elf32Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf32Convert.c
@@ -1,7 +1,7 @@
/** @file
Elf32 Convert solution
-Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2013, ARM Ltd. All rights reserved.<BR> Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
@@ -143,8 +143,7 @@ InitializeElf32 (
return FALSE;
}
if (!((mEhdr->e_machine == EM_386) || (mEhdr->e_machine == EM_ARM) || (mEhdr->e_machine == EM_RISCV))) {
- Error (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf32 machine.");
- return FALSE;
+ Warning (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf32
+ machine.");
}
if (mEhdr->e_version != EV_CURRENT) {
Error (NULL, 0, 3000, "Unsupported", "ELF e_version (%u) not EV_CURRENT (%d)", (unsigned) mEhdr->e_version, EV_CURRENT); diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c
index 4ed6b4477ea9..d097db863243 100644
--- a/BaseTools/Source/C/GenFw/Elf64Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf64Convert.c
@@ -1,7 +1,7 @@
/** @file
Elf64 convert solution
-Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.<BR>
Portions copyright (c) 2013-2014, ARM Ltd. All rights reserved.<BR> Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
@@ -162,8 +162,7 @@ InitializeElf64 (
return FALSE;
}
if (!((mEhdr->e_machine == EM_X86_64) || (mEhdr->e_machine == EM_AARCH64) || (mEhdr->e_machine == EM_RISCV64))) {
- Error (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf64 machine.");
- return FALSE;
+ Warning (NULL, 0, 3000, "Unsupported", "ELF e_machine is not Elf64
+ machine.");
}
if (mEhdr->e_version != EV_CURRENT) {
Error (NULL, 0, 3000, "Unsupported", "ELF e_version (%u) not EV_CURRENT (%d)", (unsigned) mEhdr->e_version, EV_CURRENT);
--
2.31.1.windows.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Patch v2 4/4] BaseTools/Source/Python: Remove CPU architecture assumptions
2021-04-14 3:27 ` [Patch v2 4/4] BaseTools/Source/Python: " Michael D Kinney
@ 2021-04-14 6:34 ` Bob Feng
0 siblings, 0 replies; 10+ messages in thread
From: Bob Feng @ 2021-04-14 6:34 UTC (permalink / raw)
To: Kinney, Michael D, devel@edk2.groups.io
Cc: Liming Gao, Chen, Christine, Andrew Fish, Abner Chang
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
-----Original Message-----
From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Wednesday, April 14, 2021 11:28 AM
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>; Andrew Fish <afish@apple.com>; Abner Chang <abner.chang@hpe.com>
Subject: [Patch v2 4/4] BaseTools/Source/Python: Remove CPU architecture assumptions
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
The EDK II Build Specifications do not restrict the set of CPU architectures that can be supported. Remove places in the EDK II that assume a fixed set of CPU architectures.
Remove build breaks in the following tools when a check against a fixed set of CPU architectures is made.
* Build
* GenFds
* TargetTool
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Abner Chang <abner.chang@hpe.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
BaseTools/Source/Python/GenFds/FdfParser.py | 4 +---
BaseTools/Source/Python/TargetTool/TargetTool.py | 4 ++--
BaseTools/Source/Python/build/buildoptions.py | 4 ++--
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py
index ea2401b0e4fc..5c8263f9bcc9 100644
--- a/BaseTools/Source/Python/GenFds/FdfParser.py
+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
@@ -1,7 +1,7 @@
## @file
# parse FDF file
#
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2021, Intel Corporation. All rights
+reserved.<BR>
# Copyright (c) 2015, Hewlett Packard Enterprise Development, L.P.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -3504,8 +3504,6 @@ class FdfParser:
raise Warning.Expected("'.'", self.FileName, self.CurrentLineNumber)
Arch = self._SkippedChars.rstrip(TAB_SPLIT)
- if Arch.upper() not in ARCH_SET_FULL:
- raise Warning("Unknown Arch '%s'" % Arch, self.FileName, self.CurrentLineNumber)
ModuleType = self._GetModuleType()
diff --git a/BaseTools/Source/Python/TargetTool/TargetTool.py b/BaseTools/Source/Python/TargetTool/TargetTool.py
index 8e0ca387c356..71222e3cc899 100644
--- a/BaseTools/Source/Python/TargetTool/TargetTool.py
+++ b/BaseTools/Source/Python/TargetTool/TargetTool.py
@@ -1,7 +1,7 @@
## @file
# Target Tool Parser
#
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2021, Intel Corporation. All rights
+reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -197,7 +197,7 @@ def RangeCheckCallback(option, opt_str, value, parser):
def MyOptionParser():
parser = OptionParser(version=__version__, prog="TargetTool.exe", usage=__usage__, description=__copyright__)
- parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'EBC', 'ARM', 'AARCH64', '0'], dest="TARGET_ARCH",
+ parser.add_option("-a", "--arch", action="append",
+ dest="TARGET_ARCH",
help="ARCHS is one of list: IA32, X64, ARM, AARCH64 or EBC, which replaces target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option. 0 will clear this setting in target.txt and can't combine with other value.")
parser.add_option("-p", "--platform", action="callback", type="string", dest="DSCFILE", callback=SingleCheckCallback,
help="Specify a DSC file, which replace target.txt's ACTIVE_PLATFORM definition. 0 will clear this setting in target.txt and can't combine with other value.") diff --git a/BaseTools/Source/Python/build/buildoptions.py b/BaseTools/Source/Python/build/buildoptions.py
index 094af4e2a8dd..39d92cff209d 100644
--- a/BaseTools/Source/Python/build/buildoptions.py
+++ b/BaseTools/Source/Python/build/buildoptions.py
@@ -2,7 +2,7 @@
# build a platform or a module
#
# Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR> -# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2021, Intel Corporation. All rights
+reserved.<BR>
# Copyright (c) 2018 - 2020, Hewlett Packard Enterprise Development, L.P.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -40,7 +40,7 @@ class MyOptionParser():
def GetOption(self):
Parser = OptionParser(description=__copyright__, version=__version__, prog="build.exe", usage="%prog [options] [all|fds|genc|genmake|clean|cleanall|cleanlib|modules|libraries|run]")
- Parser.add_option("-a", "--arch", action="append", type="choice", choices=['IA32', 'X64', 'EBC', 'ARM', 'AARCH64', 'RISCV64'], dest="TargetArch",
+ Parser.add_option("-a", "--arch", action="append",
+ dest="TargetArch",
help="ARCHS is one of list: IA32, X64, ARM, AARCH64, RISCV64 or EBC, which overrides target.txt's TARGET_ARCH definition. To specify more archs, please repeat this option.")
Parser.add_option("-p", "--platform", action="callback", type="string", dest="PlatformFile", callback=SingleCheckCallback,
help="Build the platform specified by the DSC file name argument, overriding target.txt's ACTIVE_PLATFORM definition.")
--
2.31.1.windows.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined
2021-04-14 3:27 ` [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined Michael D Kinney
@ 2021-04-14 8:52 ` Abner Chang
2021-04-15 1:27 ` 回复: " gaoliming
1 sibling, 0 replies; 10+ messages in thread
From: Abner Chang @ 2021-04-14 8:52 UTC (permalink / raw)
To: Michael D Kinney, devel@edk2.groups.io
Cc: Liming Gao, Zhiguang Liu, Andrew Fish
Reviewed-by: Abner Chang <abner.chang@hpe.com>
> -----Original Message-----
> From: Michael D Kinney [mailto:michael.d.kinney@intel.com]
> Sent: Wednesday, April 14, 2021 11:28 AM
> To: devel@edk2.groups.io
> Cc: Liming Gao <gaoliming@byosoft.com.cn>; Zhiguang Liu
> <zhiguang.liu@intel.com>; Andrew Fish <afish@apple.com>; Chang, Abner
> (HPS SW/FW Technologist) <abner.chang@hpe.com>
> Subject: [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be
> predefined
>
> REF:
> INVALID URI REMOVED
> d=3308__;!!NpxR!1Qj2WKf6yVi0SVvkJR8sf50oGmisS2iAsV7eybhBjfs_lt0-
> 3X4rfKLfGiwvv78$
>
> The EDK II Build Specifications do not restrict the set of
> CPU architectures that can be supported. Remove places in
> the EDK II that assumes a fixed set of CPU architectures.
>
> Update EFI_REMOVABLE_MEDIA_FILE_NAME to allow it to be
> predefined in tools_def.txt or a DSC file [BuildOptions]
> section using a *_*_*_CC_FLAGS statement.
>
> Add support for the following two defines. If neither are
> defines, then preserve the current behavior. If either is
> defined, then compare these 16-bit values to Machine in the
> EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) and
> EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) macros.
>
> * EFI_IMAGE_MACHINE_TYPE_VALUE
> * EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE
>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Abner Chang <abner.chang@hpe.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> ---
> MdePkg/Include/Uefi/UefiBaseType.h | 15 ++++++++++++++-
> MdePkg/Include/Uefi/UefiSpec.h | 4 +++-
> 2 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/MdePkg/Include/Uefi/UefiBaseType.h
> b/MdePkg/Include/Uefi/UefiBaseType.h
> index 934fc07285d9..45e2aa63bb34 100644
> --- a/MdePkg/Include/Uefi/UefiBaseType.h
> +++ b/MdePkg/Include/Uefi/UefiBaseType.h
> @@ -1,7 +1,7 @@
> /** @file
> Defines data types and constants introduced in UEFI.
>
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR>
> Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights
> reserved.<BR>
>
> @@ -248,6 +248,7 @@ typedef union {
> #define EFI_IMAGE_MACHINE_RISCV64 0x5064
> #define EFI_IMAGE_MACHINE_RISCV128 0x5128
>
> +#if !defined(EFI_IMAGE_MACHINE_TYPE_VALUE)
> && !defined(EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
> #if defined (MDE_CPU_IA32)
>
> #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
> @@ -294,5 +295,17 @@ typedef union {
> #else
> #error Unknown Processor Type
> #endif
> +#else
> +#if defined (EFI_IMAGE_MACHINE_TYPE_VALUE)
> +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) ==
> EFI_IMAGE_MACHINE_TYPE_VALUE)
> +#else
> +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) (FALSE)
> +#endif
> +#if defined (EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
> +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine)
> ((Machine) == EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
> +#else
> +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
> +#endif
> +#endif
>
> #endif
> diff --git a/MdePkg/Include/Uefi/UefiSpec.h
> b/MdePkg/Include/Uefi/UefiSpec.h
> index 2b1b72d86286..8aeaebc44fd8 100644
> --- a/MdePkg/Include/Uefi/UefiSpec.h
> +++ b/MdePkg/Include/Uefi/UefiSpec.h
> @@ -5,7 +5,7 @@
> If a code construct is defined in the UEFI 2.7 specification it must be
> included
> by this include file.
>
> -Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
> Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All
> rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -2211,6 +2211,7 @@ typedef struct {
> #define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64
> L"\\EFI\\BOOT\\BOOTAA64.EFI"
> #define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64
> L"\\EFI\\BOOT\\BOOTRISCV64.EFI"
>
> +#if !defined(EFI_REMOVABLE_MEDIA_FILE_NAME)
> #if defined (MDE_CPU_IA32)
> #define EFI_REMOVABLE_MEDIA_FILE_NAME
> EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
> #elif defined (MDE_CPU_X64)
> @@ -2225,6 +2226,7 @@ typedef struct {
> #else
> #error Unknown Processor Type
> #endif
> +#endif
>
> //
> // The directory within the active EFI System Partition defined for delivery of
> capsule to firmware
> --
> 2.31.1.windows.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* 回复: [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined
2021-04-14 3:27 ` [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined Michael D Kinney
2021-04-14 8:52 ` Abner Chang
@ 2021-04-15 1:27 ` gaoliming
1 sibling, 0 replies; 10+ messages in thread
From: gaoliming @ 2021-04-15 1:27 UTC (permalink / raw)
To: 'Michael D Kinney', devel
Cc: 'Zhiguang Liu', 'Andrew Fish',
'Abner Chang'
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
> -----邮件原件-----
> 发件人: Michael D Kinney <michael.d.kinney@intel.com>
> 发送时间: 2021年4月14日 11:28
> 收件人: devel@edk2.groups.io
> 抄送: Liming Gao <gaoliming@byosoft.com.cn>; Zhiguang Liu
> <zhiguang.liu@intel.com>; Andrew Fish <afish@apple.com>; Abner Chang
> <abner.chang@hpe.com>
> 主题: [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be
> predefined
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
>
> The EDK II Build Specifications do not restrict the set of
> CPU architectures that can be supported. Remove places in
> the EDK II that assumes a fixed set of CPU architectures.
>
> Update EFI_REMOVABLE_MEDIA_FILE_NAME to allow it to be
> predefined in tools_def.txt or a DSC file [BuildOptions]
> section using a *_*_*_CC_FLAGS statement.
>
> Add support for the following two defines. If neither are
> defines, then preserve the current behavior. If either is
> defined, then compare these 16-bit values to Machine in the
> EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) and
> EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) macros.
>
> * EFI_IMAGE_MACHINE_TYPE_VALUE
> * EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE
>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Abner Chang <abner.chang@hpe.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> ---
> MdePkg/Include/Uefi/UefiBaseType.h | 15 ++++++++++++++-
> MdePkg/Include/Uefi/UefiSpec.h | 4 +++-
> 2 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/MdePkg/Include/Uefi/UefiBaseType.h
> b/MdePkg/Include/Uefi/UefiBaseType.h
> index 934fc07285d9..45e2aa63bb34 100644
> --- a/MdePkg/Include/Uefi/UefiBaseType.h
> +++ b/MdePkg/Include/Uefi/UefiBaseType.h
> @@ -1,7 +1,7 @@
> /** @file
> Defines data types and constants introduced in UEFI.
>
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
> Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR>
> Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights
> reserved.<BR>
>
> @@ -248,6 +248,7 @@ typedef union {
> #define EFI_IMAGE_MACHINE_RISCV64 0x5064
> #define EFI_IMAGE_MACHINE_RISCV128 0x5128
>
> +#if !defined(EFI_IMAGE_MACHINE_TYPE_VALUE)
> && !defined(EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
> #if defined (MDE_CPU_IA32)
>
> #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
> @@ -294,5 +295,17 @@ typedef union {
> #else
> #error Unknown Processor Type
> #endif
> +#else
> +#if defined (EFI_IMAGE_MACHINE_TYPE_VALUE)
> +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) ==
> EFI_IMAGE_MACHINE_TYPE_VALUE)
> +#else
> +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) (FALSE)
> +#endif
> +#if defined (EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
> +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine)
> ((Machine) == EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
> +#else
> +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
> +#endif
> +#endif
>
> #endif
> diff --git a/MdePkg/Include/Uefi/UefiSpec.h
> b/MdePkg/Include/Uefi/UefiSpec.h
> index 2b1b72d86286..8aeaebc44fd8 100644
> --- a/MdePkg/Include/Uefi/UefiSpec.h
> +++ b/MdePkg/Include/Uefi/UefiSpec.h
> @@ -5,7 +5,7 @@
> If a code construct is defined in the UEFI 2.7 specification it must be
> included
> by this include file.
>
> -Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
> Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP.
All
> rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -2211,6 +2211,7 @@ typedef struct {
> #define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64
> L"\\EFI\\BOOT\\BOOTAA64.EFI"
> #define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64
> L"\\EFI\\BOOT\\BOOTRISCV64.EFI"
>
> +#if !defined(EFI_REMOVABLE_MEDIA_FILE_NAME)
> #if defined (MDE_CPU_IA32)
> #define EFI_REMOVABLE_MEDIA_FILE_NAME
> EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
> #elif defined (MDE_CPU_X64)
> @@ -2225,6 +2226,7 @@ typedef struct {
> #else
> #error Unknown Processor Type
> #endif
> +#endif
>
> //
> // The directory within the active EFI System Partition defined for
delivery of
> capsule to firmware
> --
> 2.31.1.windows.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Patch v2 2/4] CryptoPkg/Library/Include: Allow CPU specific defines to be predefined
2021-04-14 3:27 ` [Patch v2 2/4] CryptoPkg/Library/Include: " Michael D Kinney
@ 2021-04-15 6:43 ` Wang, Jian J
0 siblings, 0 replies; 10+ messages in thread
From: Wang, Jian J @ 2021-04-15 6:43 UTC (permalink / raw)
To: Kinney, Michael D, devel@edk2.groups.io
Cc: Yao, Jiewen, Lu, XiaoyuX, Jiang, Guomin, Andrew Fish, Abner Chang
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Regards,
Jian
> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Wednesday, April 14, 2021 11:28 AM
> To: devel@edk2.groups.io
> Cc: Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>;
> Lu, XiaoyuX <xiaoyux.lu@intel.com>; Jiang, Guomin <guomin.jiang@intel.com>;
> Andrew Fish <afish@apple.com>; Abner Chang <abner.chang@hpe.com>
> Subject: [Patch v2 2/4] CryptoPkg/Library/Include: Allow CPU specific defines to
> be predefined
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3308
>
> The EDK II Build Specifications do not restrict the set of
> CPU architectures that can be supported. Remove places in
> the EDK II that assume a fixed set of CPU architectures.
>
> Update SIXTY_FOUR_BIT and THIRTY_TWO_BIT defines in the
> CryptoPkg to allow one of them to be predefined on the EDK II
> build command line using /D flag or in DSC file [BuildOptions]
> sections.
>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
> Cc: Guomin Jiang <guomin.jiang@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Abner Chang <abner.chang@hpe.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> ---
> CryptoPkg/Library/Include/CrtLibSupport.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/CryptoPkg/Library/Include/CrtLibSupport.h
> b/CryptoPkg/Library/Include/CrtLibSupport.h
> index 7a82f1d40633..b1dff03bdc0c 100644
> --- a/CryptoPkg/Library/Include/CrtLibSupport.h
> +++ b/CryptoPkg/Library/Include/CrtLibSupport.h
> @@ -2,7 +2,7 @@
> Root include file of C runtime library to support building the third-party
> cryptographic library.
>
> -Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.<BR>
> Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights
> reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -44,6 +44,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>
> #define CONFIG_HEADER_BN_H
>
> +#if !defined(SIXTY_FOUR_BIT) && !defined (THIRTY_TWO_BIT)
> #if defined(MDE_CPU_X64) || defined(MDE_CPU_AARCH64) ||
> defined(MDE_CPU_IA64) || defined(MDE_CPU_RISCV64)
> //
> // With GCC we would normally use SIXTY_FOUR_BIT_LONG, but MSVC needs
> @@ -56,6 +57,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #else
> #error Unknown target architecture
> #endif
> +#endif
>
> //
> // Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
> --
> 2.31.1.windows.1
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-04-15 6:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-14 3:27 [Patch v2 0/4] Remove fixed CPU architecture list assumptions Michael D Kinney
2021-04-14 3:27 ` [Patch v2 1/4] MdePkg/Include: Allow CPU specific defines to be predefined Michael D Kinney
2021-04-14 8:52 ` Abner Chang
2021-04-15 1:27 ` 回复: " gaoliming
2021-04-14 3:27 ` [Patch v2 2/4] CryptoPkg/Library/Include: " Michael D Kinney
2021-04-15 6:43 ` Wang, Jian J
2021-04-14 3:27 ` [Patch v2 3/4] BaseTools/Source/C: Remove CPU architecture assumptions Michael D Kinney
2021-04-14 6:33 ` Bob Feng
2021-04-14 3:27 ` [Patch v2 4/4] BaseTools/Source/Python: " Michael D Kinney
2021-04-14 6:34 ` Bob Feng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox