public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 0/6] fix top-level package builds for AARCH64/ARM
@ 2018-11-01 15:36 Leif Lindholm
  2018-11-01 15:36 ` [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64 Leif Lindholm
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 15:36 UTC (permalink / raw)
  To: edk2-devel
  Cc: Daryl McDaniel, Jaben Carsey, Liming Gao, Michael D Kinney,
	Star Zeng, Jian J Wang, Chao Zhang, Jiewen Yao

Most of the top-level packages should be buildable for all architectures
Here is a fairly trivial set that makes that happen.

Leif Lindholm (6):
  AppPkg: fix webserver build for !Ia32/X64
  IntelFrameworkModulePkg: fix build for AARCH64/ARM
  IntelFrameworkPkg: fix build for AARCH64/ARM
  MdeModulePkg: drop DebugSupportDxe from AARCH64 components
  SecurityPkg: fix package build on ARM
  SignedCapsulePkg: enable package build for AARCH64/ARM

Cc: Daryl McDaniel <edk2-lists@mc2research.org>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>

 IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13 ++++++++++++-
 IntelFrameworkPkg/IntelFrameworkPkg.dsc             |  2 +-
 MdeModulePkg/MdeModulePkg.dsc                       |  2 +-
 SecurityPkg/SecurityPkg.dsc                         | 11 +++++++++++
 SignedCapsulePkg/SignedCapsulePkg.dsc               | 15 ++++++++++++++-
 AppPkg/Applications/Sockets/WebServer/WebServer.h   |  2 ++
 6 files changed, 41 insertions(+), 4 deletions(-)

-- 
2.11.0



^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64
  2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
@ 2018-11-01 15:36 ` Leif Lindholm
  2018-11-01 17:19   ` Kinney, Michael D
  2018-11-01 15:36 ` [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM Leif Lindholm
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 15:36 UTC (permalink / raw)
  To: edk2-devel; +Cc: Daryl McDaniel, Jaben Carsey

The WebServer application is really quite Ia32/X64 specific, but fundamentally
it builds for other architectures as long as the architecture-specific
  #include <Register/Msr.h>
header file is filtered out.
So add an architecture-based filter on that to enable AppPkg.dsc to build for
AARCH64/ARM (both listed in SUPPORTED_ARCHITECTURES).

Cc: Daryl McDaniel <edk2-lists@mc2research.org>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---

Note: there is definitely a case here for just disabling this component
      for !Ia32/X64, but the _interesting_ bits of this application are
      completely architecture independent, so my preference would be to
      do this for now, and worry about remaining issues (like MTRR dump)
      at some point in the future.

 AppPkg/Applications/Sockets/WebServer/WebServer.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/AppPkg/Applications/Sockets/WebServer/WebServer.h b/AppPkg/Applications/Sockets/WebServer/WebServer.h
index 21b07b63df..610abdcf9e 100644
--- a/AppPkg/Applications/Sockets/WebServer/WebServer.h
+++ b/AppPkg/Applications/Sockets/WebServer/WebServer.h
@@ -20,7 +20,9 @@
 
 #include <Guid/EventGroup.h>
 
+#if defined(__x86_64__) || defined(__i386__)
 #include <Register/Msr.h>
+#endif
 #include <Library/BaseMemoryLib.h>
 #include <Library/DebugLib.h>
 #include <Library/MemoryAllocationLib.h>
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
  2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
  2018-11-01 15:36 ` [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64 Leif Lindholm
@ 2018-11-01 15:36 ` Leif Lindholm
  2018-11-02  1:39   ` Gao, Liming
  2018-11-01 15:36 ` [PATCH 3/6] IntelFrameworkPkg: " Leif Lindholm
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 15:36 UTC (permalink / raw)
  To: edk2-devel; +Cc: Liming Gao

Contrary to what the name suggests, some modules in this package are used
on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES
in the .dsc, but AARCH64 was never added.

Add that, and force inclusion of CompilerIntrinsicsLib and
BaseStackCheckLib for AARCH64/ARM to make the build successful.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
index 894c5340a0..14bef5356e 100644
--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
@@ -25,7 +25,7 @@ [Defines]
   PLATFORM_VERSION               = 0.96
   DSC_SPECIFICATION              = 0x00010005
   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll
-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM
+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT
 
@@ -76,6 +76,17 @@ [LibraryClasses]
   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
 
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+  #
+  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
+  # This library provides the instrinsic functions generate by a given compiler.
+  # And NULL mean link this library into all ARM images.
+  #^M
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+
+  # Add support for GCC stack protector
+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+
 [LibraryClasses.common.PEIM]
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/6] IntelFrameworkPkg: fix build for AARCH64/ARM
  2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
  2018-11-01 15:36 ` [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64 Leif Lindholm
  2018-11-01 15:36 ` [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM Leif Lindholm
@ 2018-11-01 15:36 ` Leif Lindholm
  2018-11-01 17:23   ` Kinney, Michael D
  2018-11-01 15:36 ` [PATCH 4/6] MdeModulePkg: drop DebugSupportDxe from AARCH64 components Leif Lindholm
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 15:36 UTC (permalink / raw)
  To: edk2-devel; +Cc: Michael D Kinney, Liming Gao

Contrary to what the name suggests, some modules in this package are used
on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES
in the .dsc, but AARCH64 was never added - so do that.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 IntelFrameworkPkg/IntelFrameworkPkg.dsc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/IntelFrameworkPkg/IntelFrameworkPkg.dsc b/IntelFrameworkPkg/IntelFrameworkPkg.dsc
index bd5df8c5d9..f957af78fb 100644
--- a/IntelFrameworkPkg/IntelFrameworkPkg.dsc
+++ b/IntelFrameworkPkg/IntelFrameworkPkg.dsc
@@ -26,7 +26,7 @@ [Defines]
   PLATFORM_VERSION               = 0.96
   DSC_SPECIFICATION              = 0x00010005
   OUTPUT_DIRECTORY               = Build/IntelFramework
-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM
+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT
 
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/6] MdeModulePkg: drop DebugSupportDxe from AARCH64 components
  2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
                   ` (2 preceding siblings ...)
  2018-11-01 15:36 ` [PATCH 3/6] IntelFrameworkPkg: " Leif Lindholm
@ 2018-11-01 15:36 ` Leif Lindholm
  2018-11-02  1:24   ` Zeng, Star
  2018-11-01 15:36 ` [PATCH 5/6] SecurityPkg: fix package build on ARM Leif Lindholm
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 15:36 UTC (permalink / raw)
  To: edk2-devel; +Cc: Star Zeng, Jian J Wang

DebugSupportDxe.inf was listed in
[Components.IA32, Components.X64, Components.AARCH64], but the plumbing
that would be required to actually build it does not exist.

Move the component to [Components.IA32, Components.X64] to permit build
of MdeModulePkg.dsc on AARCH64.

Cc: Star Zeng <star.zeng@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 MdeModulePkg/MdeModulePkg.dsc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 2465d39fd7..942c70566b 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -423,7 +423,6 @@ [Components]
 
 [Components.IA32, Components.X64, Components.AARCH64]
   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
   MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
   MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf
@@ -440,6 +439,7 @@ [Components.IA32, Components.X64, Components.Ebc]
   MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
 
 [Components.IA32, Components.X64]
+  MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf
   MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.inf
   MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
   MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 5/6] SecurityPkg: fix package build on ARM
  2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
                   ` (3 preceding siblings ...)
  2018-11-01 15:36 ` [PATCH 4/6] MdeModulePkg: drop DebugSupportDxe from AARCH64 components Leif Lindholm
@ 2018-11-01 15:36 ` Leif Lindholm
  2018-11-02  0:00   ` Yao, Jiewen
  2018-11-01 15:36 ` [PATCH 6/6] SignedCapsulePkg: enable package build for AARCH64/ARM Leif Lindholm
  2019-02-04 17:13 ` [PATCH 0/6] fix top-level package builds " Leif Lindholm
  6 siblings, 1 reply; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 15:36 UTC (permalink / raw)
  To: edk2-devel; +Cc: Chao Zhang, Jiewen Yao

The CompilerIntrinsicsLib and BaseStackCheckLib need to be included in
order for an ARM build of the package .dsc to succeed - so add them.

Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 SecurityPkg/SecurityPkg.dsc | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc
index 68a2953162..eaccbd9354 100644
--- a/SecurityPkg/SecurityPkg.dsc
+++ b/SecurityPkg/SecurityPkg.dsc
@@ -73,6 +73,17 @@ [LibraryClasses]
   TcgStorageOpalLib|SecurityPkg/Library/TcgStorageOpalLib/TcgStorageOpalLib.inf
   ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
 
+[LibraryClasses.ARM]
+  #
+  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
+  # This library provides the instrinsic functions generate by a given compiler.
+  # And NULL mean link this library into all ARM images.
+  #
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+
+  # Add support for GCC stack protector
+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+
 [LibraryClasses.common.PEIM]
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 6/6] SignedCapsulePkg: enable package build for AARCH64/ARM
  2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
                   ` (4 preceding siblings ...)
  2018-11-01 15:36 ` [PATCH 5/6] SecurityPkg: fix package build on ARM Leif Lindholm
@ 2018-11-01 15:36 ` Leif Lindholm
  2018-11-02  0:00   ` Yao, Jiewen
  2019-02-04 17:13 ` [PATCH 0/6] fix top-level package builds " Leif Lindholm
  6 siblings, 1 reply; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 15:36 UTC (permalink / raw)
  To: edk2-devel; +Cc: Jiewen Yao

This package is used by several platforms in edk2-platforms, so ensure it
can be built directly by adding AARCH64/ARM to SUPPORTED_ARCHITECTURES.

Also force-include CompilerIntrinsicsLib, BaseStackCheckLib and create a
resolution for ArmSoftFloatLib for ARM.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 SignedCapsulePkg/SignedCapsulePkg.dsc | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/SignedCapsulePkg/SignedCapsulePkg.dsc b/SignedCapsulePkg/SignedCapsulePkg.dsc
index db7f176166..3d9c4afb91 100644
--- a/SignedCapsulePkg/SignedCapsulePkg.dsc
+++ b/SignedCapsulePkg/SignedCapsulePkg.dsc
@@ -19,7 +19,7 @@ [Defines]
   PLATFORM_VERSION               = 0.96
   DSC_SPECIFICATION              = 0x00010005
   OUTPUT_DIRECTORY               = Build/SignedCapsulePkg
-  SUPPORTED_ARCHITECTURES        = IA32|X64
+  SUPPORTED_ARCHITECTURES        = AARCH64|ARM|IA32|X64
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT
 
@@ -105,6 +105,19 @@ [LibraryClasses]
   IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf
   PlatformFlashAccessLib|SignedCapsulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.inf
 
+[LibraryClasses.ARM]
+  ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
+
+  #
+  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
+  # This library provides the instrinsic functions generate by a given compiler.
+  # And NULL mean link this library into all ARM images.
+  #
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+
+  # Add support for GCC stack protector
+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+
 [LibraryClasses.common.PEI_CORE]
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
-- 
2.11.0



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64
  2018-11-01 15:36 ` [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64 Leif Lindholm
@ 2018-11-01 17:19   ` Kinney, Michael D
  2018-11-01 17:56     ` Leif Lindholm
  0 siblings, 1 reply; 17+ messages in thread
From: Kinney, Michael D @ 2018-11-01 17:19 UTC (permalink / raw)
  To: Leif Lindholm, edk2-devel@lists.01.org, Kinney, Michael D
  Cc: Carsey, Jaben, Daryl McDaniel

Leif,

The MSR definitions are only used by Mtrr.c, and Mtrr.c is only
used for IA32 and X64 builds in the INF file.

It would be simpler to move the #include <Register/Msr.h>
into Mtrr.c.  That would avoid the use of #if.

Mike

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-
> bounces@lists.01.org] On Behalf Of Leif Lindholm
> Sent: Thursday, November 1, 2018 8:37 AM
> To: edk2-devel@lists.01.org
> Cc: Carsey, Jaben <jaben.carsey@intel.com>; Daryl
> McDaniel <edk2-lists@mc2research.org>
> Subject: [edk2] [PATCH 1/6] AppPkg: fix webserver build
> for !Ia32/X64
> 
> The WebServer application is really quite Ia32/X64
> specific, but fundamentally
> it builds for other architectures as long as the
> architecture-specific
>   #include <Register/Msr.h>
> header file is filtered out.
> So add an architecture-based filter on that to enable
> AppPkg.dsc to build for
> AARCH64/ARM (both listed in SUPPORTED_ARCHITECTURES).
> 
> Cc: Daryl McDaniel <edk2-lists@mc2research.org>
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
> 
> Note: there is definitely a case here for just
> disabling this component
>       for !Ia32/X64, but the _interesting_ bits of this
> application are
>       completely architecture independent, so my
> preference would be to
>       do this for now, and worry about remaining issues
> (like MTRR dump)
>       at some point in the future.
> 
>  AppPkg/Applications/Sockets/WebServer/WebServer.h | 2
> ++
>  1 file changed, 2 insertions(+)
> 
> diff --git
> a/AppPkg/Applications/Sockets/WebServer/WebServer.h
> b/AppPkg/Applications/Sockets/WebServer/WebServer.h
> index 21b07b63df..610abdcf9e 100644
> --- a/AppPkg/Applications/Sockets/WebServer/WebServer.h
> +++ b/AppPkg/Applications/Sockets/WebServer/WebServer.h
> @@ -20,7 +20,9 @@
> 
>  #include <Guid/EventGroup.h>
> 
> +#if defined(__x86_64__) || defined(__i386__)
>  #include <Register/Msr.h>
> +#endif
>  #include <Library/BaseMemoryLib.h>
>  #include <Library/DebugLib.h>
>  #include <Library/MemoryAllocationLib.h>
> --
> 2.11.0
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/6] IntelFrameworkPkg: fix build for AARCH64/ARM
  2018-11-01 15:36 ` [PATCH 3/6] IntelFrameworkPkg: " Leif Lindholm
@ 2018-11-01 17:23   ` Kinney, Michael D
  0 siblings, 0 replies; 17+ messages in thread
From: Kinney, Michael D @ 2018-11-01 17:23 UTC (permalink / raw)
  To: Leif Lindholm, edk2-devel@lists.01.org, Kinney, Michael D; +Cc: Gao, Liming

Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

Mike


> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Thursday, November 1, 2018 8:37 AM
> To: edk2-devel@lists.01.org
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>;
> Gao, Liming <liming.gao@intel.com>
> Subject: [PATCH 3/6] IntelFrameworkPkg: fix build for
> AARCH64/ARM
> 
> Contrary to what the name suggests, some modules in
> this package are used
> on other architecture. ARM is already listed in
> SUPPORTED_ARCHITECTURES
> in the .dsc, but AARCH64 was never added - so do that.
> 
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
>  IntelFrameworkPkg/IntelFrameworkPkg.dsc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/IntelFrameworkPkg/IntelFrameworkPkg.dsc
> b/IntelFrameworkPkg/IntelFrameworkPkg.dsc
> index bd5df8c5d9..f957af78fb 100644
> --- a/IntelFrameworkPkg/IntelFrameworkPkg.dsc
> +++ b/IntelFrameworkPkg/IntelFrameworkPkg.dsc
> @@ -26,7 +26,7 @@ [Defines]
>    PLATFORM_VERSION               = 0.96
>    DSC_SPECIFICATION              = 0x00010005
>    OUTPUT_DIRECTORY               =
> Build/IntelFramework
> -  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM
> +  SUPPORTED_ARCHITECTURES        =
> IA32|X64|EBC|ARM|AARCH64
>    BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
>    SKUID_IDENTIFIER               = DEFAULT
> 
> --
> 2.11.0



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64
  2018-11-01 17:19   ` Kinney, Michael D
@ 2018-11-01 17:56     ` Leif Lindholm
  0 siblings, 0 replies; 17+ messages in thread
From: Leif Lindholm @ 2018-11-01 17:56 UTC (permalink / raw)
  To: Kinney, Michael D; +Cc: edk2-devel@lists.01.org, Carsey, Jaben, Daryl McDaniel

On 1 November 2018 at 17:19, Kinney, Michael D <michael.d.kinney@intel.com>
wrote:
>
> Leif,
>
> The MSR definitions are only used by Mtrr.c, and Mtrr.c is only
> used for IA32 and X64 builds in the INF file.

Ah, yes, that actually means the rest of the application may be completely
valid on ARM.

> It would be simpler to move the #include <Register/Msr.h>
> into Mtrr.c.  That would avoid the use of #if.

Yeah, that sounds like the better fix. I was being lazy :)

Thanks, will do that for v2.

Regards,

Leif

> Mike
>
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-
> > bounces@lists.01.org] On Behalf Of Leif Lindholm
> > Sent: Thursday, November 1, 2018 8:37 AM
> > To: edk2-devel@lists.01.org
> > Cc: Carsey, Jaben <jaben.carsey@intel.com>; Daryl
> > McDaniel <edk2-lists@mc2research.org>
> > Subject: [edk2] [PATCH 1/6] AppPkg: fix webserver build
> > for !Ia32/X64
> >
> > The WebServer application is really quite Ia32/X64
> > specific, but fundamentally
> > it builds for other architectures as long as the
> > architecture-specific
> >   #include <Register/Msr.h>
> > header file is filtered out.
> > So add an architecture-based filter on that to enable
> > AppPkg.dsc to build for
> > AARCH64/ARM (both listed in SUPPORTED_ARCHITECTURES).
> >
> > Cc: Daryl McDaniel <edk2-lists@mc2research.org>
> > Cc: Jaben Carsey <jaben.carsey@intel.com>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> > ---
> >
> > Note: there is definitely a case here for just
> > disabling this component
> >       for !Ia32/X64, but the _interesting_ bits of this
> > application are
> >       completely architecture independent, so my
> > preference would be to
> >       do this for now, and worry about remaining issues
> > (like MTRR dump)
> >       at some point in the future.
> >
> >  AppPkg/Applications/Sockets/WebServer/WebServer.h | 2
> > ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git
> > a/AppPkg/Applications/Sockets/WebServer/WebServer.h
> > b/AppPkg/Applications/Sockets/WebServer/WebServer.h
> > index 21b07b63df..610abdcf9e 100644
> > --- a/AppPkg/Applications/Sockets/WebServer/WebServer.h
> > +++ b/AppPkg/Applications/Sockets/WebServer/WebServer.h
> > @@ -20,7 +20,9 @@
> >
> >  #include <Guid/EventGroup.h>
> >
> > +#if defined(__x86_64__) || defined(__i386__)
> >  #include <Register/Msr.h>
> > +#endif
> >  #include <Library/BaseMemoryLib.h>
> >  #include <Library/DebugLib.h>
> >  #include <Library/MemoryAllocationLib.h>
> > --
> > 2.11.0
> >
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 5/6] SecurityPkg: fix package build on ARM
  2018-11-01 15:36 ` [PATCH 5/6] SecurityPkg: fix package build on ARM Leif Lindholm
@ 2018-11-02  0:00   ` Yao, Jiewen
  0 siblings, 0 replies; 17+ messages in thread
From: Yao, Jiewen @ 2018-11-02  0:00 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel@lists.01.org, Zhang, Chao B

Reviewed-by: jiewen.yao@intel.com

thank you!
Yao, Jiewen


> 在 2018年11月1日,下午11:36,Leif Lindholm <leif.lindholm@linaro.org> 写道:
> 
> The CompilerIntrinsicsLib and BaseStackCheckLib need to be included in
> order for an ARM build of the package .dsc to succeed - so add them.
> 
> Cc: Chao Zhang <chao.b.zhang@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
> SecurityPkg/SecurityPkg.dsc | 11 +++++++++++
> 1 file changed, 11 insertions(+)
> 
> diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc
> index 68a2953162..eaccbd9354 100644
> --- a/SecurityPkg/SecurityPkg.dsc
> +++ b/SecurityPkg/SecurityPkg.dsc
> @@ -73,6 +73,17 @@ [LibraryClasses]
>   TcgStorageOpalLib|SecurityPkg/Library/TcgStorageOpalLib/TcgStorageOpalLib.inf
>   ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
> 
> +[LibraryClasses.ARM]
> +  #
> +  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
> +  # This library provides the instrinsic functions generate by a given compiler.
> +  # And NULL mean link this library into all ARM images.
> +  #
> +  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> +
> +  # Add support for GCC stack protector
> +  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> +
> [LibraryClasses.common.PEIM]
>   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
>   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> -- 
> 2.11.0
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 6/6] SignedCapsulePkg: enable package build for AARCH64/ARM
  2018-11-01 15:36 ` [PATCH 6/6] SignedCapsulePkg: enable package build for AARCH64/ARM Leif Lindholm
@ 2018-11-02  0:00   ` Yao, Jiewen
  0 siblings, 0 replies; 17+ messages in thread
From: Yao, Jiewen @ 2018-11-02  0:00 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel@lists.01.org

Reviewed-by: jiewen.yao@intel.com

thank you!
Yao, Jiewen


> 在 2018年11月1日,下午11:37,Leif Lindholm <leif.lindholm@linaro.org> 写道:
> 
> This package is used by several platforms in edk2-platforms, so ensure it
> can be built directly by adding AARCH64/ARM to SUPPORTED_ARCHITECTURES.
> 
> Also force-include CompilerIntrinsicsLib, BaseStackCheckLib and create a
> resolution for ArmSoftFloatLib for ARM.
> 
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
> SignedCapsulePkg/SignedCapsulePkg.dsc | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/SignedCapsulePkg/SignedCapsulePkg.dsc b/SignedCapsulePkg/SignedCapsulePkg.dsc
> index db7f176166..3d9c4afb91 100644
> --- a/SignedCapsulePkg/SignedCapsulePkg.dsc
> +++ b/SignedCapsulePkg/SignedCapsulePkg.dsc
> @@ -19,7 +19,7 @@ [Defines]
>   PLATFORM_VERSION               = 0.96
>   DSC_SPECIFICATION              = 0x00010005
>   OUTPUT_DIRECTORY               = Build/SignedCapsulePkg
> -  SUPPORTED_ARCHITECTURES        = IA32|X64
> +  SUPPORTED_ARCHITECTURES        = AARCH64|ARM|IA32|X64
>   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
>   SKUID_IDENTIFIER               = DEFAULT
> 
> @@ -105,6 +105,19 @@ [LibraryClasses]
>   IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf
>   PlatformFlashAccessLib|SignedCapsulePkg/Library/PlatformFlashAccessLibNull/PlatformFlashAccessLibNull.inf
> 
> +[LibraryClasses.ARM]
> +  ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
> +
> +  #
> +  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
> +  # This library provides the instrinsic functions generate by a given compiler.
> +  # And NULL mean link this library into all ARM images.
> +  #
> +  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> +
> +  # Add support for GCC stack protector
> +  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> +
> [LibraryClasses.common.PEI_CORE]
>   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
>   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
> -- 
> 2.11.0
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/6] MdeModulePkg: drop DebugSupportDxe from AARCH64 components
  2018-11-01 15:36 ` [PATCH 4/6] MdeModulePkg: drop DebugSupportDxe from AARCH64 components Leif Lindholm
@ 2018-11-02  1:24   ` Zeng, Star
  0 siblings, 0 replies; 17+ messages in thread
From: Zeng, Star @ 2018-11-02  1:24 UTC (permalink / raw)
  To: Leif Lindholm, edk2-devel@lists.01.org; +Cc: Wang, Jian J, Zeng, Star

Reviewed-by: Star Zeng <star.zeng@intel.com>


Thanks,
Star
-----Original Message-----
From: Leif Lindholm [mailto:leif.lindholm@linaro.org] 
Sent: Thursday, November 1, 2018 11:37 PM
To: edk2-devel@lists.01.org
Cc: Zeng, Star <star.zeng@intel.com>; Wang, Jian J <jian.j.wang@intel.com>
Subject: [PATCH 4/6] MdeModulePkg: drop DebugSupportDxe from AARCH64 components

DebugSupportDxe.inf was listed in
[Components.IA32, Components.X64, Components.AARCH64], but the plumbing that would be required to actually build it does not exist.

Move the component to [Components.IA32, Components.X64] to permit build of MdeModulePkg.dsc on AARCH64.

Cc: Star Zeng <star.zeng@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
---
 MdeModulePkg/MdeModulePkg.dsc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 2465d39fd7..942c70566b 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -423,7 +423,6 @@ [Components]
 
 [Components.IA32, Components.X64, Components.AARCH64]
   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
-  MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
   MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
   MdeModulePkg/Universal/EbcDxe/EbcDebuggerConfig.inf
@@ -440,6 +439,7 @@ [Components.IA32, Components.X64, Components.Ebc]
   MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
 
 [Components.IA32, Components.X64]
+  MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf
   MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.inf
   MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
   MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
--
2.11.0



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
  2018-11-01 15:36 ` [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM Leif Lindholm
@ 2018-11-02  1:39   ` Gao, Liming
  2018-11-02 10:15     ` Leif Lindholm
  0 siblings, 1 reply; 17+ messages in thread
From: Gao, Liming @ 2018-11-02  1:39 UTC (permalink / raw)
  To: Leif Lindholm, edk2-devel@lists.01.org

Leif:
  There is one mistake in comments  >+  #^M. Could you clean it? With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>. 

  Besides, have you verified  AARCH64 GCC build? 

Thanks
Liming
>-----Original Message-----
>From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
>Sent: Thursday, November 01, 2018 11:37 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
>
>Contrary to what the name suggests, some modules in this package are used
>on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES
>in the .dsc, but AARCH64 was never added.
>
>Add that, and force inclusion of CompilerIntrinsicsLib and
>BaseStackCheckLib for AARCH64/ARM to make the build successful.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
>---
> IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13
>++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
>diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
>b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
>index 894c5340a0..14bef5356e 100644
>--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
>+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
>@@ -25,7 +25,7 @@ [Defines]
>   PLATFORM_VERSION               = 0.96
>   DSC_SPECIFICATION              = 0x00010005
>   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll
>-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM
>+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64
>   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
>   SKUID_IDENTIFIER               = DEFAULT
>
>@@ -76,6 +76,17 @@ [LibraryClasses]
>   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
>   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>
>+[LibraryClasses.ARM, LibraryClasses.AARCH64]
>+  #
>+  # It is not possible to prevent the ARM compiler for generic intrinsic
>functions.
>+  # This library provides the instrinsic functions generate by a given compiler.
>+  # And NULL mean link this library into all ARM images.
>+  #^M
>+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
>+
>+  # Add support for GCC stack protector
>+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
>+
> [LibraryClasses.common.PEIM]
>   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
>   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
>--
>2.11.0



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
  2018-11-02  1:39   ` Gao, Liming
@ 2018-11-02 10:15     ` Leif Lindholm
  2018-11-02 14:20       ` Gao, Liming
  0 siblings, 1 reply; 17+ messages in thread
From: Leif Lindholm @ 2018-11-02 10:15 UTC (permalink / raw)
  To: Gao, Liming; +Cc: edk2-devel@lists.01.org

On Fri, Nov 02, 2018 at 01:39:24AM +0000, Gao, Liming wrote:
> Leif:
>   There is one mistake in comments  >+  #^M. Could you clean it?
>   With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>.

Whoops, thanks for spotting.
Will do.

>   Besides, have you verified  AARCH64 GCC build? 

AARCH64 and ARM, GCC5 and CLANG38.

Several modules from this package are already used by ARM/AARCH64
platforms, it was just not working to build only the package.

Regards,

Leif

> Thanks
> Liming
> >-----Original Message-----
> >From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> >Sent: Thursday, November 01, 2018 11:37 PM
> >To: edk2-devel@lists.01.org
> >Cc: Gao, Liming <liming.gao@intel.com>
> >Subject: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
> >
> >Contrary to what the name suggests, some modules in this package are used
> >on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES
> >in the .dsc, but AARCH64 was never added.
> >
> >Add that, and force inclusion of CompilerIntrinsicsLib and
> >BaseStackCheckLib for AARCH64/ARM to make the build successful.
> >
> >Cc: Liming Gao <liming.gao@intel.com>
> >Contributed-under: TianoCore Contribution Agreement 1.1
> >Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> >---
> > IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13
> >++++++++++++-
> > 1 file changed, 12 insertions(+), 1 deletion(-)
> >
> >diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> >b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> >index 894c5340a0..14bef5356e 100644
> >--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> >+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> >@@ -25,7 +25,7 @@ [Defines]
> >   PLATFORM_VERSION               = 0.96
> >   DSC_SPECIFICATION              = 0x00010005
> >   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll
> >-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM
> >+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64
> >   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
> >   SKUID_IDENTIFIER               = DEFAULT
> >
> >@@ -76,6 +76,17 @@ [LibraryClasses]
> >   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> >   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> >
> >+[LibraryClasses.ARM, LibraryClasses.AARCH64]
> >+  #
> >+  # It is not possible to prevent the ARM compiler for generic intrinsic
> >functions.
> >+  # This library provides the instrinsic functions generate by a given compiler.
> >+  # And NULL mean link this library into all ARM images.
> >+  #^M
> >+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> >+
> >+  # Add support for GCC stack protector
> >+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> >+
> > [LibraryClasses.common.PEIM]
> >   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> >   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
> >--
> >2.11.0
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
  2018-11-02 10:15     ` Leif Lindholm
@ 2018-11-02 14:20       ` Gao, Liming
  0 siblings, 0 replies; 17+ messages in thread
From: Gao, Liming @ 2018-11-02 14:20 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel@lists.01.org

That's good. Thanks!

> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Friday, November 2, 2018 6:15 PM
> To: Gao, Liming <liming.gao@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: Re: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
> 
> On Fri, Nov 02, 2018 at 01:39:24AM +0000, Gao, Liming wrote:
> > Leif:
> >   There is one mistake in comments  >+  #^M. Could you clean it?
> >   With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>.
> 
> Whoops, thanks for spotting.
> Will do.
> 
> >   Besides, have you verified  AARCH64 GCC build?
> 
> AARCH64 and ARM, GCC5 and CLANG38.
> 
> Several modules from this package are already used by ARM/AARCH64
> platforms, it was just not working to build only the package.
> 
> Regards,
> 
> Leif
> 
> > Thanks
> > Liming
> > >-----Original Message-----
> > >From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> > >Sent: Thursday, November 01, 2018 11:37 PM
> > >To: edk2-devel@lists.01.org
> > >Cc: Gao, Liming <liming.gao@intel.com>
> > >Subject: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM
> > >
> > >Contrary to what the name suggests, some modules in this package are used
> > >on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES
> > >in the .dsc, but AARCH64 was never added.
> > >
> > >Add that, and force inclusion of CompilerIntrinsicsLib and
> > >BaseStackCheckLib for AARCH64/ARM to make the build successful.
> > >
> > >Cc: Liming Gao <liming.gao@intel.com>
> > >Contributed-under: TianoCore Contribution Agreement 1.1
> > >Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> > >---
> > > IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13
> > >++++++++++++-
> > > 1 file changed, 12 insertions(+), 1 deletion(-)
> > >
> > >diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> > >b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> > >index 894c5340a0..14bef5356e 100644
> > >--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> > >+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
> > >@@ -25,7 +25,7 @@ [Defines]
> > >   PLATFORM_VERSION               = 0.96
> > >   DSC_SPECIFICATION              = 0x00010005
> > >   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll
> > >-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM
> > >+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64
> > >   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
> > >   SKUID_IDENTIFIER               = DEFAULT
> > >
> > >@@ -76,6 +76,17 @@ [LibraryClasses]
> > >   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
> > >   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> > >
> > >+[LibraryClasses.ARM, LibraryClasses.AARCH64]
> > >+  #
> > >+  # It is not possible to prevent the ARM compiler for generic intrinsic
> > >functions.
> > >+  # This library provides the instrinsic functions generate by a given compiler.
> > >+  # And NULL mean link this library into all ARM images.
> > >+  #^M
> > >+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> > >+
> > >+  # Add support for GCC stack protector
> > >+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
> > >+
> > > [LibraryClasses.common.PEIM]
> > >   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
> > >   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
> > >--
> > >2.11.0
> >


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/6] fix top-level package builds for AARCH64/ARM
  2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
                   ` (5 preceding siblings ...)
  2018-11-01 15:36 ` [PATCH 6/6] SignedCapsulePkg: enable package build for AARCH64/ARM Leif Lindholm
@ 2019-02-04 17:13 ` Leif Lindholm
  6 siblings, 0 replies; 17+ messages in thread
From: Leif Lindholm @ 2019-02-04 17:13 UTC (permalink / raw)
  To: edk2-devel
  Cc: Daryl McDaniel, Jaben Carsey, Liming Gao, Michael D Kinney,
	Star Zeng, Jian J Wang, Chao Zhang, Jiewen Yao

Hmm, I kind of dropped the ball on this set, waiting for feedback on
the reworked version of 1/6.

In the meantime, Ard submitted an identical fix for 4/6
"MdeModulePkg: drop DebugSupportDxe from AARCH64 components" which got
merged as fc27682813
("MdeModulePkg/MdeModulePkg/dsc: move DxeDebugSupportDxe to x86 only section")

Since I now have R-b for the set, I have just pushed the remaining 5
as 6c61ec4c62..3b6c73f13e.

On Thu, Nov 01, 2018 at 03:36:36PM +0000, Leif Lindholm wrote:
> Most of the top-level packages should be buildable for all architectures
> Here is a fairly trivial set that makes that happen.
> 
> Leif Lindholm (6):
>   AppPkg: fix webserver build for !Ia32/X64
>   IntelFrameworkModulePkg: fix build for AARCH64/ARM
>   IntelFrameworkPkg: fix build for AARCH64/ARM
>   MdeModulePkg: drop DebugSupportDxe from AARCH64 components
>   SecurityPkg: fix package build on ARM
>   SignedCapsulePkg: enable package build for AARCH64/ARM
> 
> Cc: Daryl McDaniel <edk2-lists@mc2research.org>
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Chao Zhang <chao.b.zhang@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> 
>  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13 ++++++++++++-
>  IntelFrameworkPkg/IntelFrameworkPkg.dsc             |  2 +-
>  MdeModulePkg/MdeModulePkg.dsc                       |  2 +-
>  SecurityPkg/SecurityPkg.dsc                         | 11 +++++++++++
>  SignedCapsulePkg/SignedCapsulePkg.dsc               | 15 ++++++++++++++-
>  AppPkg/Applications/Sockets/WebServer/WebServer.h   |  2 ++
>  6 files changed, 41 insertions(+), 4 deletions(-)
> 
> -- 
> 2.11.0
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-02-04 17:13 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-01 15:36 [PATCH 0/6] fix top-level package builds for AARCH64/ARM Leif Lindholm
2018-11-01 15:36 ` [PATCH 1/6] AppPkg: fix webserver build for !Ia32/X64 Leif Lindholm
2018-11-01 17:19   ` Kinney, Michael D
2018-11-01 17:56     ` Leif Lindholm
2018-11-01 15:36 ` [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM Leif Lindholm
2018-11-02  1:39   ` Gao, Liming
2018-11-02 10:15     ` Leif Lindholm
2018-11-02 14:20       ` Gao, Liming
2018-11-01 15:36 ` [PATCH 3/6] IntelFrameworkPkg: " Leif Lindholm
2018-11-01 17:23   ` Kinney, Michael D
2018-11-01 15:36 ` [PATCH 4/6] MdeModulePkg: drop DebugSupportDxe from AARCH64 components Leif Lindholm
2018-11-02  1:24   ` Zeng, Star
2018-11-01 15:36 ` [PATCH 5/6] SecurityPkg: fix package build on ARM Leif Lindholm
2018-11-02  0:00   ` Yao, Jiewen
2018-11-01 15:36 ` [PATCH 6/6] SignedCapsulePkg: enable package build for AARCH64/ARM Leif Lindholm
2018-11-02  0:00   ` Yao, Jiewen
2019-02-04 17:13 ` [PATCH 0/6] fix top-level package builds " Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox