public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch 0/2] Update Quark for edk2-non-osi changes
@ 2017-08-09 19:39 Michael D Kinney
  2017-08-09 19:39 ` [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy() Michael D Kinney
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Michael D Kinney @ 2017-08-09 19:39 UTC (permalink / raw)
  To: edk2-devel; +Cc: Leif Lindholm, Kelly Steele, Liming Gao

Update PACKAGES_PATH requirements Readme.md to match the new directory 
structure in the edk2-non-osi repository and update instructions to run
python-based build tools from sources and remove edk2-FatPkg repository.

Also fix GCC compatibility issues from use of memset() in the MemoryInit
module in the QuarkSocPkg that were discovered when verifying the Linux/GCC
build instructions.

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>

Michael D Kinney (2):
  QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy()
  QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout

 QuarkPlatformPkg/Readme.md                         | 34 ++++++++++++----------
 .../MemoryInit/Pei/MemoryInitPei.inf               |  6 +---
 .../MemoryInit/Pei/meminit_utils.h                 | 10 +++++--
 3 files changed, 26 insertions(+), 24 deletions(-)

-- 
2.13.1.windows.2



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

* [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy()
  2017-08-09 19:39 [Patch 0/2] Update Quark for edk2-non-osi changes Michael D Kinney
@ 2017-08-09 19:39 ` Michael D Kinney
  2017-08-10 16:37   ` Steele, Kelly
  2017-08-09 19:39 ` [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout Michael D Kinney
  2017-08-10 16:38 ` [Patch 0/2] Update Quark for edk2-non-osi changes Steele, Kelly
  2 siblings, 1 reply; 7+ messages in thread
From: Michael D Kinney @ 2017-08-09 19:39 UTC (permalink / raw)
  To: edk2-devel; +Cc: Kelly Steele, Liming Gao

Map the use of memset() and memcpy() to the BaseMemoryLib
functions ZeroMem(), SetMem(), and CopyMem().  This fixes
GCC build issues with this module.

With the remap of the functions, the [BuildOptions] MSFT
CC_FLAGS to enable /Oi can also be removed, so the MSFT
and GCC builds behave the same.

Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
 QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf |  6 +-----
 QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h   | 10 +++++++---
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
index 78821f59a3..05766133ed 100644
--- a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
+++ b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
@@ -1,7 +1,7 @@
 ## @file
 # This is the Memory Initialization Driver for Quark
 #
-# Copyright (c) 2013-2015 Intel Corporation.
+# Copyright (c) 2013-2017 Intel Corporation.
 #
 # This program and the accompanying materials
 # are licensed and made available under the terms and conditions of the BSD License
@@ -74,7 +74,3 @@
 
 [Depex]
   TRUE
-
-[BuildOptions]
-  # /Oi option to use the intrinsic memset function in source code.
-  MSFT:*_*_*_CC_FLAGS = /Oi
diff --git a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h
index 04c59f5af0..dcc40c7782 100644
--- a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h
+++ b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h
@@ -1,6 +1,6 @@
 /************************************************************************
  *
- * Copyright (c) 2013-2015 Intel Corporation.
+ * Copyright (c) 2013-2017 Intel Corporation.
  *
 * This program and the accompanying materials
 * are licensed and made available under the terms and conditions of the BSD License
@@ -90,8 +90,12 @@ void restore_timings(MRCParams_t *mrc_params);
 void default_timings(MRCParams_t *mrc_params);
 
 #ifndef SIM
-void *memset(void *d, int c, size_t n);
-void *memcpy(void *d, const void *s, size_t n);
+//
+// Map memset() and memcpy() to BaseMemoryLib functions
+//
+#include <Library/BaseMemoryLib.h>
+#define memset(d,c,n) ((c) == 0) ? ZeroMem ((d), (n)) : SetMem ((d), (n), (c))
+#define memcpy(d,s,n) CopyMem ((d), (s), (n))
 #endif
 
 #endif // _MEMINIT_UTILS_H_
-- 
2.13.1.windows.2



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

* [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout
  2017-08-09 19:39 [Patch 0/2] Update Quark for edk2-non-osi changes Michael D Kinney
  2017-08-09 19:39 ` [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy() Michael D Kinney
@ 2017-08-09 19:39 ` Michael D Kinney
  2017-08-10  8:40   ` Leif Lindholm
  2017-08-10 16:37   ` Steele, Kelly
  2017-08-10 16:38 ` [Patch 0/2] Update Quark for edk2-non-osi changes Steele, Kelly
  2 siblings, 2 replies; 7+ messages in thread
From: Michael D Kinney @ 2017-08-09 19:39 UTC (permalink / raw)
  To: edk2-devel; +Cc: Leif Lindholm, Kelly Steele

The following commit moved the QuarkSocBinPkg from the root
directory to the the Silicon/Intel directory.

https://github.com/tianocore/edk2-non-osi/commit/182e85d04566800fe188de4b1c30a50533dd74b7

The following updates are made to Readme.md:

* PACKAGES_PATH setting for edk2-non-osi directory changes
* Remove use of edk2-FatPkg repository
* Remove use of edk2-BaseTools-win32 repository
* Run python build tools from sources

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Kelly Steele <kelly.steele@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
 QuarkPlatformPkg/Readme.md | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/QuarkPlatformPkg/Readme.md b/QuarkPlatformPkg/Readme.md
index f925f9ef27..aa9d9856bd 100644
--- a/QuarkPlatformPkg/Readme.md
+++ b/QuarkPlatformPkg/Readme.md
@@ -46,12 +46,12 @@
   - Install
 * ASL compiler: Available from http://www.acpica.org
   - Install into ```C:\ASL``` to match default tools_def.txt configuration.
+* Python 2.7: Available from http://www.python.org
 
 Create a new directory for an EDK II WORKSPACE.
 
 The code block below shows the GIT clone operations required to pull the EDK II
-source tree, the FatPkg sources, the pre-built versions of BaseTools as WIN32
-binaries, and the edk2-non-osi repository that provides a binary file for the
+source tree and the edk2-non-osi repository that provides a binary file for the
 Quark Remote Management Unit (RMU).
 
 Next it sets environment variables that must be set before running
@@ -60,6 +60,8 @@ the EDK II [Multiple Workspace](
 https://github.com/tianocore/tianocore.github.io/wiki/Multiple_Workspace)
 feature is used.
 
+Next, the EDK II BaseTools required to build firmware images are built.
+
 Next, the ```edksetup.bat``` file is run to complete the initialization of an
 EDK II build environment.  Two example build commands are shown.  The first one
 in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is
@@ -69,16 +71,17 @@ image that is useful for initial power-on and debug of new features.
 
 ```cmd
 git clone https://github.com/tianocore/edk2.git
-git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg
-git clone https://github.com/tianocore/edk2-BaseTools-win32.git
 git clone https://github.com/tianocore/edk2-non-osi.git
 
+set PYTHON_HOME=c:\Python27
 set WORKSPACE=%CD%
-set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi
-set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32
+set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi\Silicon\Intel
+set EDK_TOOLS_PATH=%WORKSPACE%\edk2\BaseTools
+cd %WORKSPACE%\edk2
 
-cd edk2
-edksetup.bat
+BaseTools\toolsetup.bat Rebuild
+
+edksetup.bat Rebuild
 
 build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/Quark.dsc
 build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/QuarkMin.dsc
@@ -91,12 +94,13 @@ build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/QuarkMin.dsc
 * GIT client
 * GCC 4.9 compiler
 * ASL compiler: Available from http://www.acpica.org.
+* Python 2.7
 
 Create a new directory for an EDK II WORKSPACE.
 
 The code block below shows the GIT clone operations required to pull the EDK II
-source tree, the FatPkg sources, and the edk2-non-osi repository that provides a
-binary file for the Quark Remote Management Unit (RMU).
+source tree and the edk2-non-osi repository that provides a binary file for the
+Quark Remote Management Unit (RMU).
 
 Next it sets environment variables that must be set before running
 ```edksetup.bat```. Since content is being pulled from multiple repositories,
@@ -106,7 +110,7 @@ feature is used.
 
 Next, the EDK II BaseTools required to build firmware images are built.
 
-Next, the ```edksetup.bat``` file is run to complete the initialization of an
+Next, the ```edksetup.sh``` file is run to complete the initialization of an
 EDK II build environment.  Two example build commands are shown.  The first one
 in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is
 able to boot the built-in UEFI Shell and Linux from a micro SD FLASH card.  The
@@ -115,17 +119,15 @@ image that is useful for initial power-on and debug of new features.
 
 ```sh
 git clone https://github.com/tianocore/edk2.git
-git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg
 git clone https://github.com/tianocore/edk2-non-osi.git
 
 export WORKSPACE=$PWD
-export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi
+export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi/Silicon/Intel
 export EDK_TOOLS_PATH=$WORKSPACE/edk2/BaseTools
-
-make -C edk2/BaseTools
-
 cd $WORKSPACE/edk2
 
+make -C BaseTools
+
 . edksetup.sh BaseTools
 
 build -a IA32 -t GCC49 -p QuarkPlatformPkg/Quark.dsc
-- 
2.13.1.windows.2



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

* Re: [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout
  2017-08-09 19:39 ` [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout Michael D Kinney
@ 2017-08-10  8:40   ` Leif Lindholm
  2017-08-10 16:37   ` Steele, Kelly
  1 sibling, 0 replies; 7+ messages in thread
From: Leif Lindholm @ 2017-08-10  8:40 UTC (permalink / raw)
  To: Michael D Kinney; +Cc: edk2-devel, Kelly Steele

On Wed, Aug 09, 2017 at 12:39:57PM -0700, Michael D Kinney wrote:
> The following commit moved the QuarkSocBinPkg from the root
> directory to the the Silicon/Intel directory.
> 
> https://github.com/tianocore/edk2-non-osi/commit/182e85d04566800fe188de4b1c30a50533dd74b7
> 
> The following updates are made to Readme.md:
> 
> * PACKAGES_PATH setting for edk2-non-osi directory changes
> * Remove use of edk2-FatPkg repository
> * Remove use of edk2-BaseTools-win32 repository
> * Run python build tools from sources

I don't think you need my r-b on this, but I appreciate the cc.

If I was nitpicking, I would point out there are three logically
unrelated changes going on here. However, since it all consist of
updates to a single documentation file, the only change I would
request would be to the subject line to say something a bit broader
like "bring Readme.md up to date".

With that:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Kelly Steele <kelly.steele@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> ---
>  QuarkPlatformPkg/Readme.md | 34 ++++++++++++++++++----------------
>  1 file changed, 18 insertions(+), 16 deletions(-)
> 
> diff --git a/QuarkPlatformPkg/Readme.md b/QuarkPlatformPkg/Readme.md
> index f925f9ef27..aa9d9856bd 100644
> --- a/QuarkPlatformPkg/Readme.md
> +++ b/QuarkPlatformPkg/Readme.md
> @@ -46,12 +46,12 @@
>    - Install
>  * ASL compiler: Available from http://www.acpica.org
>    - Install into ```C:\ASL``` to match default tools_def.txt configuration.
> +* Python 2.7: Available from http://www.python.org
>  
>  Create a new directory for an EDK II WORKSPACE.
>  
>  The code block below shows the GIT clone operations required to pull the EDK II
> -source tree, the FatPkg sources, the pre-built versions of BaseTools as WIN32
> -binaries, and the edk2-non-osi repository that provides a binary file for the
> +source tree and the edk2-non-osi repository that provides a binary file for the
>  Quark Remote Management Unit (RMU).
>  
>  Next it sets environment variables that must be set before running
> @@ -60,6 +60,8 @@ the EDK II [Multiple Workspace](
>  https://github.com/tianocore/tianocore.github.io/wiki/Multiple_Workspace)
>  feature is used.
>  
> +Next, the EDK II BaseTools required to build firmware images are built.
> +
>  Next, the ```edksetup.bat``` file is run to complete the initialization of an
>  EDK II build environment.  Two example build commands are shown.  The first one
>  in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is
> @@ -69,16 +71,17 @@ image that is useful for initial power-on and debug of new features.
>  
>  ```cmd
>  git clone https://github.com/tianocore/edk2.git
> -git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg
> -git clone https://github.com/tianocore/edk2-BaseTools-win32.git
>  git clone https://github.com/tianocore/edk2-non-osi.git
>  
> +set PYTHON_HOME=c:\Python27
>  set WORKSPACE=%CD%
> -set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi
> -set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32
> +set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi\Silicon\Intel
> +set EDK_TOOLS_PATH=%WORKSPACE%\edk2\BaseTools
> +cd %WORKSPACE%\edk2
>  
> -cd edk2
> -edksetup.bat
> +BaseTools\toolsetup.bat Rebuild
> +
> +edksetup.bat Rebuild
>  
>  build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/Quark.dsc
>  build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/QuarkMin.dsc
> @@ -91,12 +94,13 @@ build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/QuarkMin.dsc
>  * GIT client
>  * GCC 4.9 compiler
>  * ASL compiler: Available from http://www.acpica.org.
> +* Python 2.7
>  
>  Create a new directory for an EDK II WORKSPACE.
>  
>  The code block below shows the GIT clone operations required to pull the EDK II
> -source tree, the FatPkg sources, and the edk2-non-osi repository that provides a
> -binary file for the Quark Remote Management Unit (RMU).
> +source tree and the edk2-non-osi repository that provides a binary file for the
> +Quark Remote Management Unit (RMU).
>  
>  Next it sets environment variables that must be set before running
>  ```edksetup.bat```. Since content is being pulled from multiple repositories,
> @@ -106,7 +110,7 @@ feature is used.
>  
>  Next, the EDK II BaseTools required to build firmware images are built.
>  
> -Next, the ```edksetup.bat``` file is run to complete the initialization of an
> +Next, the ```edksetup.sh``` file is run to complete the initialization of an
>  EDK II build environment.  Two example build commands are shown.  The first one
>  in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is
>  able to boot the built-in UEFI Shell and Linux from a micro SD FLASH card.  The
> @@ -115,17 +119,15 @@ image that is useful for initial power-on and debug of new features.
>  
>  ```sh
>  git clone https://github.com/tianocore/edk2.git
> -git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg
>  git clone https://github.com/tianocore/edk2-non-osi.git
>  
>  export WORKSPACE=$PWD
> -export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi
> +export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi/Silicon/Intel
>  export EDK_TOOLS_PATH=$WORKSPACE/edk2/BaseTools
> -
> -make -C edk2/BaseTools
> -
>  cd $WORKSPACE/edk2
>  
> +make -C BaseTools
> +
>  . edksetup.sh BaseTools
>  
>  build -a IA32 -t GCC49 -p QuarkPlatformPkg/Quark.dsc
> -- 
> 2.13.1.windows.2
> 


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

* Re: [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout
  2017-08-09 19:39 ` [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout Michael D Kinney
  2017-08-10  8:40   ` Leif Lindholm
@ 2017-08-10 16:37   ` Steele, Kelly
  1 sibling, 0 replies; 7+ messages in thread
From: Steele, Kelly @ 2017-08-10 16:37 UTC (permalink / raw)
  To: Kinney, Michael D, edk2-devel@lists.01.org; +Cc: Leif Lindholm


Reviewed by: Kelly Steele <kelly.steele@intel.com>

-----Original Message-----
From: Kinney, Michael D 
Sent: August 09, 2017 12:40
To: edk2-devel@lists.01.org
Cc: Leif Lindholm <leif.lindholm@linaro.org>; Steele, Kelly <kelly.steele@intel.com>
Subject: [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout

The following commit moved the QuarkSocBinPkg from the root directory to the the Silicon/Intel directory.

https://github.com/tianocore/edk2-non-osi/commit/182e85d04566800fe188de4b1c30a50533dd74b7

The following updates are made to Readme.md:

* PACKAGES_PATH setting for edk2-non-osi directory changes
* Remove use of edk2-FatPkg repository
* Remove use of edk2-BaseTools-win32 repository
* Run python build tools from sources

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Kelly Steele <kelly.steele@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
 QuarkPlatformPkg/Readme.md | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/QuarkPlatformPkg/Readme.md b/QuarkPlatformPkg/Readme.md index f925f9ef27..aa9d9856bd 100644
--- a/QuarkPlatformPkg/Readme.md
+++ b/QuarkPlatformPkg/Readme.md
@@ -46,12 +46,12 @@
   - Install
 * ASL compiler: Available from http://www.acpica.org
   - Install into ```C:\ASL``` to match default tools_def.txt configuration.
+* Python 2.7: Available from http://www.python.org
 
 Create a new directory for an EDK II WORKSPACE.
 
 The code block below shows the GIT clone operations required to pull the EDK II -source tree, the FatPkg sources, the pre-built versions of BaseTools as WIN32 -binaries, and the edk2-non-osi repository that provides a binary file for the
+source tree and the edk2-non-osi repository that provides a binary file 
+for the
 Quark Remote Management Unit (RMU).
 
 Next it sets environment variables that must be set before running @@ -60,6 +60,8 @@ the EDK II [Multiple Workspace](
 https://github.com/tianocore/tianocore.github.io/wiki/Multiple_Workspace)
 feature is used.
 
+Next, the EDK II BaseTools required to build firmware images are built.
+
 Next, the ```edksetup.bat``` file is run to complete the initialization of an  EDK II build environment.  Two example build commands are shown.  The first one  in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is @@ -69,16 +71,17 @@ image that is useful for initial power-on and debug of new features.
 
 ```cmd
 git clone https://github.com/tianocore/edk2.git
-git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg -git clone https://github.com/tianocore/edk2-BaseTools-win32.git
 git clone https://github.com/tianocore/edk2-non-osi.git
 
+set PYTHON_HOME=c:\Python27
 set WORKSPACE=%CD%
-set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi
-set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32
+set 
+PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi\Silicon\Intel
+set EDK_TOOLS_PATH=%WORKSPACE%\edk2\BaseTools
+cd %WORKSPACE%\edk2
 
-cd edk2
-edksetup.bat
+BaseTools\toolsetup.bat Rebuild
+
+edksetup.bat Rebuild
 
 build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/Quark.dsc  build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/QuarkMin.dsc @@ -91,12 +94,13 @@ build -a IA32 -t VS2015x86 -p QuarkPlatformPkg/QuarkMin.dsc
 * GIT client
 * GCC 4.9 compiler
 * ASL compiler: Available from http://www.acpica.org.
+* Python 2.7
 
 Create a new directory for an EDK II WORKSPACE.
 
 The code block below shows the GIT clone operations required to pull the EDK II -source tree, the FatPkg sources, and the edk2-non-osi repository that provides a -binary file for the Quark Remote Management Unit (RMU).
+source tree and the edk2-non-osi repository that provides a binary file 
+for the Quark Remote Management Unit (RMU).
 
 Next it sets environment variables that must be set before running  ```edksetup.bat```. Since content is being pulled from multiple repositories, @@ -106,7 +110,7 @@ feature is used.
 
 Next, the EDK II BaseTools required to build firmware images are built.
 
-Next, the ```edksetup.bat``` file is run to complete the initialization of an
+Next, the ```edksetup.sh``` file is run to complete the initialization 
+of an
 EDK II build environment.  Two example build commands are shown.  The first one  in ```QuarkPlatformPlg/Quark.dsc``` builds a full UEFI firmware image that is  able to boot the built-in UEFI Shell and Linux from a micro SD FLASH card.  The @@ -115,17 +119,15 @@ image that is useful for initial power-on and debug of new features.
 
 ```sh
 git clone https://github.com/tianocore/edk2.git
-git clone https://github.com/tianocore/edk2-FatPkg.git FatPkg  git clone https://github.com/tianocore/edk2-non-osi.git
 
 export WORKSPACE=$PWD
-export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi
+export 
+PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-non-osi/Silicon/Intel
 export EDK_TOOLS_PATH=$WORKSPACE/edk2/BaseTools
-
-make -C edk2/BaseTools
-
 cd $WORKSPACE/edk2
 
+make -C BaseTools
+
 . edksetup.sh BaseTools
 
 build -a IA32 -t GCC49 -p QuarkPlatformPkg/Quark.dsc
--
2.13.1.windows.2



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

* Re: [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy()
  2017-08-09 19:39 ` [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy() Michael D Kinney
@ 2017-08-10 16:37   ` Steele, Kelly
  0 siblings, 0 replies; 7+ messages in thread
From: Steele, Kelly @ 2017-08-10 16:37 UTC (permalink / raw)
  To: Kinney, Michael D, edk2-devel@lists.01.org; +Cc: Gao, Liming


Reviewed by: Kelly Steele <kelly.steele@intel.com>

-----Original Message-----
From: Kinney, Michael D 
Sent: August 09, 2017 12:40
To: edk2-devel@lists.01.org
Cc: Steele, Kelly <kelly.steele@intel.com>; Gao, Liming <liming.gao@intel.com>
Subject: [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy()

Map the use of memset() and memcpy() to the BaseMemoryLib functions ZeroMem(), SetMem(), and CopyMem().  This fixes GCC build issues with this module.

With the remap of the functions, the [BuildOptions] MSFT CC_FLAGS to enable /Oi can also be removed, so the MSFT and GCC builds behave the same.

Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
 QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf |  6 +-----
 QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h   | 10 +++++++---
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
index 78821f59a3..05766133ed 100644
--- a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
+++ b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInitPei.inf
@@ -1,7 +1,7 @@
 ## @file
 # This is the Memory Initialization Driver for Quark  # -# Copyright (c) 2013-2015 Intel Corporation.
+# Copyright (c) 2013-2017 Intel Corporation.
 #
 # This program and the accompanying materials  # are licensed and made available under the terms and conditions of the BSD License @@ -74,7 +74,3 @@
 
 [Depex]
   TRUE
-
-[BuildOptions]
-  # /Oi option to use the intrinsic memset function in source code.
-  MSFT:*_*_*_CC_FLAGS = /Oi
diff --git a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h
index 04c59f5af0..dcc40c7782 100644
--- a/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h
+++ b/QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit_utils.h
@@ -1,6 +1,6 @@
 /************************************************************************
  *
- * Copyright (c) 2013-2015 Intel Corporation.
+ * Copyright (c) 2013-2017 Intel Corporation.
  *
 * This program and the accompanying materials
 * are licensed and made available under the terms and conditions of the BSD License @@ -90,8 +90,12 @@ void restore_timings(MRCParams_t *mrc_params);  void default_timings(MRCParams_t *mrc_params);
 
 #ifndef SIM
-void *memset(void *d, int c, size_t n); -void *memcpy(void *d, const void *s, size_t n);
+//
+// Map memset() and memcpy() to BaseMemoryLib functions // #include 
+<Library/BaseMemoryLib.h> #define memset(d,c,n) ((c) == 0) ? ZeroMem 
+((d), (n)) : SetMem ((d), (n), (c)) #define memcpy(d,s,n) CopyMem ((d), 
+(s), (n))
 #endif
 
 #endif // _MEMINIT_UTILS_H_
--
2.13.1.windows.2



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

* Re: [Patch 0/2] Update Quark for edk2-non-osi changes
  2017-08-09 19:39 [Patch 0/2] Update Quark for edk2-non-osi changes Michael D Kinney
  2017-08-09 19:39 ` [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy() Michael D Kinney
  2017-08-09 19:39 ` [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout Michael D Kinney
@ 2017-08-10 16:38 ` Steele, Kelly
  2 siblings, 0 replies; 7+ messages in thread
From: Steele, Kelly @ 2017-08-10 16:38 UTC (permalink / raw)
  To: Kinney, Michael D, edk2-devel@lists.01.org; +Cc: Leif Lindholm, Gao, Liming


Reviewed by: Kelly Steele <kelly.steele@intel.com>

-----Original Message-----
From: Kinney, Michael D 
Sent: August 09, 2017 12:40
To: edk2-devel@lists.01.org
Cc: Leif Lindholm <leif.lindholm@linaro.org>; Steele, Kelly <kelly.steele@intel.com>; Gao, Liming <liming.gao@intel.com>
Subject: [Patch 0/2] Update Quark for edk2-non-osi changes

Update PACKAGES_PATH requirements Readme.md to match the new directory structure in the edk2-non-osi repository and update instructions to run python-based build tools from sources and remove edk2-FatPkg repository.

Also fix GCC compatibility issues from use of memset() in the MemoryInit module in the QuarkSocPkg that were discovered when verifying the Linux/GCC build instructions.

Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>

Michael D Kinney (2):
  QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy()
  QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout

 QuarkPlatformPkg/Readme.md                         | 34 ++++++++++++----------
 .../MemoryInit/Pei/MemoryInitPei.inf               |  6 +---
 .../MemoryInit/Pei/meminit_utils.h                 | 10 +++++--
 3 files changed, 26 insertions(+), 24 deletions(-)

--
2.13.1.windows.2



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

end of thread, other threads:[~2017-08-10 16:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-09 19:39 [Patch 0/2] Update Quark for edk2-non-osi changes Michael D Kinney
2017-08-09 19:39 ` [Patch 1/2] QuarkSocPkg/MemoryInit: Remove use of memset()/memcpy() Michael D Kinney
2017-08-10 16:37   ` Steele, Kelly
2017-08-09 19:39 ` [Patch 2/2] QuarkPlatformPkg/Readme.md: edk2-non-osi directory layout Michael D Kinney
2017-08-10  8:40   ` Leif Lindholm
2017-08-10 16:37   ` Steele, Kelly
2017-08-10 16:38 ` [Patch 0/2] Update Quark for edk2-non-osi changes Steele, Kelly

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