[edk2,1/6] AppPkg: fix webserver build for !Ia32/X64

Message ID 20181101153642.11315-2-leif.lindholm@linaro.org
State New
Headers show
Series
  • fix top-level package builds for AARCH64/ARM
Related show

Commit Message

Leif Lindholm Nov. 1, 2018, 3:36 p.m.
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(+)

-- 
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Kinney, Michael D Nov. 1, 2018, 5:19 p.m. | #1
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

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Nov. 1, 2018, 5:56 p.m. | #2
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

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Patch

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>