[edk2] [Patch][edk2-platforms/devel-IntelAtomProcessorE3900] Change ReadMe.MD

2018-05-16 Thread Guo, Mang
Contributed-under: TianoCore Contribution Agreement 1.1

Signed-off-by: Guo Mang 
---
 Platform/ReadMe.MD | 133 +
 ReadMe.MD  |   8 +---
 2 files changed, 13 insertions(+), 128 deletions(-)

diff --git a/Platform/ReadMe.MD b/Platform/ReadMe.MD
index 024e5b7..9f5ae85 100644
--- a/Platform/ReadMe.MD
+++ b/Platform/ReadMe.MD
@@ -1,130 +1,19 @@
-# UEFI Firmware Project for Intel Atom(R) Processor E3900 Series 
platforms
+#   Intel Atom(R) Processor E3900 Series Platforms
 
-This codebase is designed for Intel Atom(R) Processor E3900 Series platforms 
(formerly Apollo Lake). 
https://www.intel.com/content/www/us/en/embedded/products/apollo-lake/overview.html
+This codebase is designed for Intel Atom(R) Processor E3900 Series 
platforms.(https://www.intel.com/content/www/us/en/embedded/products/apollo-lake/overview.html)
 (formerly Apollo Lake).
 
-## Download Official Releases
+Contributions to this open source project are covered by the
+[TianoCore Contribution Agreement 1.1](Contributions.txt)
 
-Please refer to the release notes to download official releases (source code 
and binary images). Information is available at 
https://firmware.intel.com/projects/minnowboard3
+The majority of the content in the this open source project uses a
+[BSD 2-Clause License](License.txt).
 
-## Download the Latest Source Code
+The maintainers are listed in [Maintainers.txt](Maintainers.txt).
 
-Official source releases are recommended since they have passed stability 
testing. Use the directions below to download the latest code.
-```
-1. Create a new directory for use as your WORKSPACE (e.g. "C:\MyWorkspace").
+# Resources
 
-2. Download the following repositories and required files to the WORKSPACE:
+* [devel-IntelAtomProcessorE3900](Platform/ReadMe.MD) -- Instructions
 
-edk2 repository
-git clone -b vUDK2018 https://github.com/tianocore/edk2.git
-
-edk2-platforms repository
-git clone https://github.com/tianocore/edk2-platforms.git -b 
devel-IntelAtomProcessorE3900
-
-Intel(R) Firmware Support Package(Intel(R) FSP)
-   1.git clone -b ApolloLake https://github.com/IntelFsp/FSP.git
-   2.cd FSP
-   3.git checkout a57c66616e78b471515a1e1862796bf61d3824d8
-   4.Copy the ApolloLakeFspBinPkg to the folder
- "C:\MyWorkspace\edk2-platforms\Silicon\BroxtonSoC\BroxtonFspPkg".
-
-3. Download UEFI UNDI driver:
-   1.Install UEFI UNDI driver for Intel i210 Ethernet Controller
-   Download PREBOOT.EXE Version 21.1 from the "Intel® Ethernet Connections 
-   Boot Utility, Preboot Images, and EFI Drivers" page.
- 
https://downloadcenter.intel.com/download/19186/Intel-Ethernet-Connections-Boot-Utility-Preboot-Images-and-EFI-Drivers
-
-   Windows user:
-   a. Install PREBOOT.EXE into the default folder (C:\Intel21.1).
-   b. Copy the UEFI x64 PCI-E gigabit driver 
(C:\Intel21.1\APPS\EFI\EFIx64\E7320X3.EFI) 
-  to the platform package directory below, create the folder if it does 
not exist:
-  
"C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Binaries\UNDI\I210PcieUndiDxe"
-
-   Linux user:
-   a. Use command "unzip PREBOOT.EXE" to extract UEFI x64 PCI-E gigabit driver 
-  (preboot/APPS/EFI/EFIx64/E7320X3.EFI)
-   b. Copy E7320X3.EFI to platform package directory below, create the folder
-  if it does not exist:
-  
"~/src/MyWorkspace/edk2-platforms/Platform/BroxtonPlatformPkg/Common/Binaries/UNDI/I210PcieUndiDxe"
-
-   2.Install UNDI driver for AX88179 USB-to-LAN adapter
-   a. Download AX88179_178A_UEFI_V2.7.0.zip from 
http://www.asix.com.tw/FrootAttach/driver/AX88179_178A_UEFI_V2.7.0.zip.
-   b. Unzip AX88179_178A_UEFI_V2.7.0.zip to get 
AX88179_178A_UEFI_V2.7.0_X64.efi and AX88179_178A_UEFI_V2.7.0_IA32.efi.
-   C. Copy AX88179_178A_UEFI_V2.7.0_X64.efi and 
AX88179_178A_UEFI_V2.7.0_IA32.efi to below directory, create the folder
-  if it does not exist:
-  Windows user: 
"C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Common\Binaries\UNDI\AX88179\"
-  Linux user: 
"~/src/MyWorkspace/edk2-platforms/Platform/BroxtonPlatformPkg/Common/Binaries/UNDI/AX88179/"
-
-4. Follow the instructions found in the "OpenSSL-HOWTO.txt" file located in 
the Workspace
-   (e.g. 
"C:\MyWorkspace\edk2-platforms\Core\CryptoPkg\Library\OpensslLib\OpenSSL-HOWTO.txt")
-   to install the OpenSSL* source code and enable the CryptoPkg module.   
-
-5. Download Platform Binary Object Modules
-   a. Download the "MinnowBoard_v3-0.69-Binary.Objects.zip" from the project 
page:
-  https://firmware.intel.com/projects/minnowboard3
-
-   b. Unzip and copy the two folders (MinnowBoard3, MinnowBoard3Next) into
-  the directory below, and create the folder if it does not exist:
-  "C:\MyWorkspace\edk2-platforms\Platform\BroxtonPlatformPkg\Board\"
-```
-
-## **Windows Build Instructions**
-
-### Pre-requisites
-
-* Microsoft Visual Studio
-  - Install C compiler (Visual Studio .NET* VS2013/VS2015) on the build 
machine.
-* A

Re: [edk2] [PATCH] BaseTools: Fix --hash Package and Module hash value.

2018-05-16 Thread Lin, Derek (HPS UEFI Dev)
Jaben,

You're right, Python list is ordered.
So it's because of insertion order, hmm.. but the meta-file parser run in 
single thread, not sure why it generate different order in different 
build...never mind.

However, I like the idea that changing list to set. I should improve 
performance.

Thanks,
Derek

-Original Message-
From: Carsey, Jaben [mailto:jaben.car...@intel.com] 
Sent: Thursday, May 17, 2018 12:20 AM
To: Zhu, Yonghong ; Lin, Derek (HPS UEFI Dev) 
; edk2-devel@lists.01.org
Subject: RE: [PATCH] BaseTools: Fix --hash Package and Module hash value.

Derek,

The change is good. I have a comment/question on the message.

Reviewed-by: Jaben Carsey 

Order of list enumeration is not arbitrary, it's based on python lists being 
inherently insertion-ordered objects.

If insertion order is irrelevant, should we consider changing those to a 
different type?  (set?)

-Jaben


> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Zhu, Yonghong
> Sent: Wednesday, May 16, 2018 12:12 AM
> To: Lin, Derek (HPS UEFI Dev) ; edk2- 
> de...@lists.01.org
> Subject: Re: [edk2] [PATCH] BaseTools: Fix --hash Package and Module 
> hash value.
> 
> Reviewed-by: Yonghong Zhu 
> 
> Best Regards,
> Zhu Yonghong
> 
> 
> -Original Message-
> From: Lin, Derek (HPS UEFI Dev) [mailto:derek.l...@hpe.com]
> Sent: Wednesday, May 09, 2018 5:03 PM
> To: edk2-devel@lists.01.org
> Cc: Zhu, Yonghong ; Lin, Derek (HPS UEFI Dev) 
> 
> Subject: [PATCH] BaseTools: Fix --hash Package and Module hash value.
> 
> The order of List enumeration is arbitrary.
> Need to be sorted while calculating Package/Module hash, otherwise it 
> generate different hash value even nothing changes.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Derek Lin 
> ---
>  BaseTools/Source/Python/AutoGen/AutoGen.py | 17 ++---
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py
> b/BaseTools/Source/Python/AutoGen/AutoGen.py
> index 54f6b1f173..90704dcae4 100644
> --- a/BaseTools/Source/Python/AutoGen/AutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
> @@ -2,6 +2,7 @@
>  # Generate AutoGen.h, AutoGen.c and *.depex files  #  # Copyright (c) 
> 2007
> - 2018, Intel Corporation. All rights reserved.
> +#  Copyright (c) 2018, Hewlett Packard Enterprise Development, 
> +L.P.
>  # This program and the accompanying materials  # are licensed and 
> made available under the terms and conditions of the BSD License  # 
> which accompanies this distribution.  The full text of the license may 
> be found at @@ -670,6 +671,9 @@ class WorkspaceAutoGen(AutoGen):
>  return True
> 
>  def _GenPkgLevelHash(self, Pkg):
> +if Pkg.PackageName in GlobalData.gPackageHash[Pkg.Arch]:
> +return
> +
>  PkgDir = os.path.join(self.BuildDir, Pkg.Arch, Pkg.PackageName)
>  CreateDirectory(PkgDir)
>  HashFile = os.path.join(PkgDir, Pkg.PackageName + '.hash') @@ 
> -681,17
> +685,16 @@ class WorkspaceAutoGen(AutoGen):
>  m.update(Content)
>  # Get include files hash value
>  if Pkg.Includes:
> -for inc in Pkg.Includes:
> +for inc in sorted(Pkg.Includes, key=lambda x: str(x)):
>  for Root, Dirs, Files in os.walk(str(inc)):
> -for File in Files:
> +for File in sorted(Files):
>  File_Path = os.path.join(Root, File)
>  f = open(File_Path, 'r')
>  Content = f.read()
>  f.close()
>  m.update(Content)
>  SaveFileOnChange(HashFile, m.hexdigest(), True)
> -if Pkg.PackageName not in GlobalData.gPackageHash[Pkg.Arch]:
> -GlobalData.gPackageHash[Pkg.Arch][Pkg.PackageName] =
> m.hexdigest()
> +GlobalData.gPackageHash[Pkg.Arch][Pkg.PackageName] =
> + m.hexdigest()
> 
>  def _GetMetaFiles(self, Target, Toolchain, Arch):
>  AllWorkSpaceMetaFiles = set() @@ -4432,13 +4435,13 @@ class 
> ModuleAutoGen(AutoGen):
>  m.update(GlobalData.gPlatformHash)
>  # Add Package level hash
>  if self.DependentPackageList:
> -for Pkg in self.DependentPackageList:
> +for Pkg in sorted(self.DependentPackageList, key=lambda x:
> x.PackageName):
>  if Pkg.PackageName in GlobalData.gPackageHash[self.Arch]:
> 
> m.update(GlobalData.gPackageHash[self.Arch][Pkg.PackageName])
> 
>  # Add Library hash
>  if self.LibraryAutoGenList:
> -for Lib in self.LibraryAutoGenList:
> +for Lib in sorted(self.LibraryAutoGenList, key=lambda x: x.Name):
>  if Lib.Name not in GlobalData.gModuleHash[self.Arch]:
>  Lib.GenModuleHash()
>  m.update(GlobalData.gModuleHash[self.Arch][Lib.Name])
> @@ -4450,7 +4453,

Re: [edk2] [PATCH] MdePkg/Hpet: Add Event Timer Block ID definition.

2018-05-16 Thread Zeng, Star
Was HighPrecisionEventTimerTable.h just created for ACPI related, but not for 
HPET register related?

We also see AlertStandardFormatTable.h, DmaRemappingReportingTable.h, etc. They 
are all ACPI related.
What is the criteria about including ACPI related, and including 
register/command/message related?
Should they be included in same header file, or separated header files?

We also see HEPT register related defined in 
PcAtChipsetPkg\Include\Register\Hpet.h.


Thanks,
Star
-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Marvin 
H?user
Sent: Wednesday, May 16, 2018 3:35 AM
To: edk2-devel@lists.01.org
Cc: Kinney, Michael D ; Gao, Liming 

Subject: [edk2] [PATCH] MdePkg/Hpet: Add Event Timer Block ID definition.

This patch adds the HPET Event Timer Block ID definition that can be found in 
the IA-PC HPET Specification, section 3.2.4.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marvin Haeuser 
---
 MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h | 18 
+-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h 
b/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h
index 0d83cd5335de..926445233944 100644
--- a/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h
+++ b/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h
@@ -2,7 +2,7 @@
   ACPI high precision event timer table definition, at www.intel.com
   Specification name is IA-PC HPET (High Precision Event Timers) Specification.
 
-  Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.
+  Copyright (c) 2007 - 2018, Intel Corporation. All rights 
+ reserved.
   This program and the accompanying materials  
   are licensed and made available under the terms and conditions of the BSD 
License 
   which accompanies this distribution.  The full text of the license may be 
found at
@@ -22,6 +22,22 @@
 //
 #pragma pack(1)
 
+///
+/// HPET Event Timer Block ID described in IA-PC HPET Specification, 3.2.4.
+///
+typedef union {
+  struct {
+UINT32 Revision   : 8;
+UINT32 NumberOfTimers : 5;
+UINT32 CounterSize: 1;
+UINT32 Reserved   : 1;
+UINT32 LegacyRoute: 1;
+UINT32 VendorId   : 16;
+  }  Bits;
+  UINT32 Uint32;
+} EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_BLOCK_ID;
+
+
 ///
 /// High Precision Event Timer Table header definition.
 ///
--
2.17.0.windows.1

___
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


Re: [edk2] [PATCH] MdePkg/Hpet: Add Event Timer Block ID definition.

2018-05-16 Thread Carsey, Jaben
Marvin,

Can you resubmit your patch without the modification to the intel copyright?

Can you also do this for any other outstanding (not yet pushed) patches also?

-Jaben

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Marvin Häuser
> Sent: Tuesday, May 15, 2018 12:35 PM
> To: edk2-devel@lists.01.org
> Cc: Kinney, Michael D ; Gao, Liming
> 
> Subject: [edk2] [PATCH] MdePkg/Hpet: Add Event Timer Block ID definition.
> 
> This patch adds the HPET Event Timer Block ID definition that can be
> found in the IA-PC HPET Specification, section 3.2.4.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Marvin Haeuser 
> ---
>  MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h | 18
> +-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git
> a/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h
> b/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h
> index 0d83cd5335de..926445233944 100644
> --- a/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h
> +++ b/MdePkg/Include/IndustryStandard/HighPrecisionEventTimerTable.h
> @@ -2,7 +2,7 @@
>ACPI high precision event timer table definition, at www.intel.com
>Specification name is IA-PC HPET (High Precision Event Timers)
> Specification.
> 
> -  Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.
> +  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
>This program and the accompanying materials
>are licensed and made available under the terms and conditions of the BSD
> License
>which accompanies this distribution.  The full text of the license may be
> found at
> @@ -22,6 +22,22 @@
>  //
>  #pragma pack(1)
> 
> +///
> +/// HPET Event Timer Block ID described in IA-PC HPET Specification, 3.2.4.
> +///
> +typedef union {
> +  struct {
> +UINT32 Revision   : 8;
> +UINT32 NumberOfTimers : 5;
> +UINT32 CounterSize: 1;
> +UINT32 Reserved   : 1;
> +UINT32 LegacyRoute: 1;
> +UINT32 VendorId   : 16;
> +  }  Bits;
> +  UINT32 Uint32;
> +} EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_BLOCK_ID;
> +
> +
>  ///
>  /// High Precision Event Timer Table header definition.
>  ///
> --
> 2.17.0.windows.1
> 
> ___
> 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


Re: [edk2] [PATCH] BaseTools: Fix --hash Package and Module hash value.

2018-05-16 Thread Carsey, Jaben
Derek,

The change is good. I have a comment/question on the message.

Reviewed-by: Jaben Carsey 

Order of list enumeration is not arbitrary, it's based on python lists being 
inherently insertion-ordered objects.

If insertion order is irrelevant, should we consider changing those to a 
different type?  (set?)

-Jaben


> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Zhu, Yonghong
> Sent: Wednesday, May 16, 2018 12:12 AM
> To: Lin, Derek (HPS UEFI Dev) ; edk2-
> de...@lists.01.org
> Subject: Re: [edk2] [PATCH] BaseTools: Fix --hash Package and Module hash
> value.
> 
> Reviewed-by: Yonghong Zhu 
> 
> Best Regards,
> Zhu Yonghong
> 
> 
> -Original Message-
> From: Lin, Derek (HPS UEFI Dev) [mailto:derek.l...@hpe.com]
> Sent: Wednesday, May 09, 2018 5:03 PM
> To: edk2-devel@lists.01.org
> Cc: Zhu, Yonghong ; Lin, Derek (HPS UEFI Dev)
> 
> Subject: [PATCH] BaseTools: Fix --hash Package and Module hash value.
> 
> The order of List enumeration is arbitrary.
> Need to be sorted while calculating Package/Module hash, otherwise it
> generate different hash value even nothing changes.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Derek Lin 
> ---
>  BaseTools/Source/Python/AutoGen/AutoGen.py | 17 ++---
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py
> b/BaseTools/Source/Python/AutoGen/AutoGen.py
> index 54f6b1f173..90704dcae4 100644
> --- a/BaseTools/Source/Python/AutoGen/AutoGen.py
> +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
> @@ -2,6 +2,7 @@
>  # Generate AutoGen.h, AutoGen.c and *.depex files  #  # Copyright (c) 2007
> - 2018, Intel Corporation. All rights reserved.
> +#  Copyright (c) 2018, Hewlett Packard Enterprise Development, L.P.
>  # This program and the accompanying materials  # are licensed and made
> available under the terms and conditions of the BSD License  # which
> accompanies this distribution.  The full text of the license may be found at
> @@ -670,6 +671,9 @@ class WorkspaceAutoGen(AutoGen):
>  return True
> 
>  def _GenPkgLevelHash(self, Pkg):
> +if Pkg.PackageName in GlobalData.gPackageHash[Pkg.Arch]:
> +return
> +
>  PkgDir = os.path.join(self.BuildDir, Pkg.Arch, Pkg.PackageName)
>  CreateDirectory(PkgDir)
>  HashFile = os.path.join(PkgDir, Pkg.PackageName + '.hash') @@ -681,17
> +685,16 @@ class WorkspaceAutoGen(AutoGen):
>  m.update(Content)
>  # Get include files hash value
>  if Pkg.Includes:
> -for inc in Pkg.Includes:
> +for inc in sorted(Pkg.Includes, key=lambda x: str(x)):
>  for Root, Dirs, Files in os.walk(str(inc)):
> -for File in Files:
> +for File in sorted(Files):
>  File_Path = os.path.join(Root, File)
>  f = open(File_Path, 'r')
>  Content = f.read()
>  f.close()
>  m.update(Content)
>  SaveFileOnChange(HashFile, m.hexdigest(), True)
> -if Pkg.PackageName not in GlobalData.gPackageHash[Pkg.Arch]:
> -GlobalData.gPackageHash[Pkg.Arch][Pkg.PackageName] =
> m.hexdigest()
> +GlobalData.gPackageHash[Pkg.Arch][Pkg.PackageName] =
> + m.hexdigest()
> 
>  def _GetMetaFiles(self, Target, Toolchain, Arch):
>  AllWorkSpaceMetaFiles = set()
> @@ -4432,13 +4435,13 @@ class ModuleAutoGen(AutoGen):
>  m.update(GlobalData.gPlatformHash)
>  # Add Package level hash
>  if self.DependentPackageList:
> -for Pkg in self.DependentPackageList:
> +for Pkg in sorted(self.DependentPackageList, key=lambda x:
> x.PackageName):
>  if Pkg.PackageName in GlobalData.gPackageHash[self.Arch]:
> 
> m.update(GlobalData.gPackageHash[self.Arch][Pkg.PackageName])
> 
>  # Add Library hash
>  if self.LibraryAutoGenList:
> -for Lib in self.LibraryAutoGenList:
> +for Lib in sorted(self.LibraryAutoGenList, key=lambda x: x.Name):
>  if Lib.Name not in GlobalData.gModuleHash[self.Arch]:
>  Lib.GenModuleHash()
>  m.update(GlobalData.gModuleHash[self.Arch][Lib.Name])
> @@ -4450,7 +4453,7 @@ class ModuleAutoGen(AutoGen):
>  m.update(Content)
>  # Add Module's source files
>  if self.SourceFileList:
> -for File in self.SourceFileList:
> +for File in sorted(self.SourceFileList, key=lambda x: str(x)):
>  f = open(str(File), 'r')
>  Content = f.read()
>  f.close()
> --
> 2.15.1.windows.2
> 
> 
> ___
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
__

Re: [edk2] [PATCH 0/4] RFC: ovmf: Add support for TPM Physical Presence interface

2018-05-16 Thread Laszlo Ersek
Hi Marc-André,

On 05/15/18 14:30, marcandre.lur...@redhat.com wrote:
> From: Marc-André Lureau 
>
> Hi,
>
> The following series adds basic TPM PPI 1.3 support for OVMF-on-QEMU
> with TPM2 (I haven't tested TPM1, for lack of interest).

I got the review of this patch series added to my TODO list, but I'll
have to ask for your patience. :(

From an extremely superficial skim:

* please use the

TopDirPkg/ModuleName: blah blah blah

  subject format, or more generally, if a module cannot be identified,

TopDirPkg: blah blah blah

* the subject line and the commit message shouldn't be wider than 74
  chars;

* edk2 uses two spaces for general indentation, and I'm noticing some
  inconsistency there (4 spaces like in QEMU).

* Please consider formatting the patches with "--find-copies-harder"
  (although I can look at them with the same option after fetching the
  series from your repo). This option is usually helpful for reviewers
  when cloning and modifying modules cross-package.

* Please consider adopting the git settings at
  
,
  in particular:

  - "--stat=1000 --stat-graph-width=20", so that pathnames are not
truncated in the diffstats,

  - the "xfuncname"-related settings, so that git diff hunk headers @@
are useful for DSC and INF files too,

  - the diff order file, so that files are listed in patches in logical
order, going from abstract / descriptive (.inf, .h) to concrete /
imperative (.c).

Not much of a review, I know; this is all I can offer right now. If you
have the time to respin just with these superficial changes, that might
make my life easier. If you prefer to delay them, that's 100% fine too.

Thanks
Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Query regarding hole in EFI Memory Map

2018-05-16 Thread Marvin H?user
Hey Sai and others,

I did not verify this is actually the case for QEMU, but the mentioned range is 
usually the SMRAM ASEG.
SMRAM ranges are not reported in the Memory Map by-design.

Regards,
Marvin

> -Original Message-
> From: edk2-devel  On Behalf Of Prakhya,
> Sai Praneeth
> Sent: Tuesday, May 15, 2018 3:29 AM
> To: Bill Paul ; edk2-devel@lists.01.org
> Cc: Neri, Ricardo 
> Subject: Re: [edk2] Query regarding hole in EFI Memory Map
> 
> > Of all the gin joints in all the towns in all the world, Prakhya, Sai
> > Praneeth had to walk into mine at 16:30 on Monday 14 May 2018 and say:
> >
> > > Hi All,
> > >
> > > Recently, I have observed that there was a hole in EFI Memory Map
> > > passed by firmware to Linux kernel. So, wanted to check with you if
> > > this is expected or not.
> > >
> > > My Test setup:
> > > I usually boot qemu with OVMF and Linux kernel. I use below command
> > > to boot kernel. "qemu-system-x86_64 -cpu host -hda 
> > > -serial stdio -bios  -m 2G -enable-kvm -smp 2"
> > >
> > > I have noticed that the EFI Memory Map (printed by kernel) is almost
> > > contiguous but with only one hole ranging from 0xA to 0x10.
> > > As far as I know, kernel hasn't modified this EFI Memory Map, so I
> > > am assuming that firmware has passed memory map with a hole. I have
> > > looked at UEFI spec "GetMemoryMap()" definition, and it says "The
> > > map describes all of memory, no matter how it is being used". So, I
> > > am thinking that EFI Memory Map shouldn't have any holes, am I correct?
> > > If not, could someone please explain me the reason for this hole in
> > > EFI
> > Memory Map.
> >
> > The map may describe all of physical RAM, however it is not
> > necessarily the case that all available RAM be physically contiguous.
> >
> > With older IBM PCs based on the Intel 8088 processor, you could only
> > have a 1MB address space. The first 640KB was available for RAM. The
> > remaining space traditionally contained memory-mapped option ROMs,
> > particularly for things like the video BIOS routines. The VGA text screen 
> > was
> also mapped to 0xB8000.
> >
> > Obviously, later processors made it possible to have additional memory
> > above 1MB (sometimes called "high memory"), but for backward
> > compatibility purposes, the gap from 0xA to 0xF remained.
> >
> > So basically, on Intel machines you will always see this gap in RAM
> > due to "hysterical raisins." It's just an artifact of the platform
> > design. (And for that reason you'll see it both with the UEFI memory
> > map facility and the legacy E820 BIOS facility).
> 
> Thanks a lot! for the explanation Bill. I really appreciate it :)
> 
> Regards,
> Sai
> ___
> 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


Re: [edk2] [PATCH] BaseTools: Fix --hash Package and Module hash value.

2018-05-16 Thread Zhu, Yonghong
Reviewed-by: Yonghong Zhu  

Best Regards,
Zhu Yonghong


-Original Message-
From: Lin, Derek (HPS UEFI Dev) [mailto:derek.l...@hpe.com] 
Sent: Wednesday, May 09, 2018 5:03 PM
To: edk2-devel@lists.01.org
Cc: Zhu, Yonghong ; Lin, Derek (HPS UEFI Dev) 

Subject: [PATCH] BaseTools: Fix --hash Package and Module hash value.

The order of List enumeration is arbitrary.
Need to be sorted while calculating Package/Module hash, otherwise it generate 
different hash value even nothing changes.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Derek Lin 
---
 BaseTools/Source/Python/AutoGen/AutoGen.py | 17 ++---
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py 
b/BaseTools/Source/Python/AutoGen/AutoGen.py
index 54f6b1f173..90704dcae4 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -2,6 +2,7 @@
 # Generate AutoGen.h, AutoGen.c and *.depex files  #  # Copyright (c) 2007 - 
2018, Intel Corporation. All rights reserved.
+#  Copyright (c) 2018, Hewlett Packard Enterprise Development, L.P.
 # This program and the accompanying materials  # are licensed and made 
available under the terms and conditions of the BSD License  # which 
accompanies this distribution.  The full text of the license may be found at @@ 
-670,6 +671,9 @@ class WorkspaceAutoGen(AutoGen):
 return True
 
 def _GenPkgLevelHash(self, Pkg):
+if Pkg.PackageName in GlobalData.gPackageHash[Pkg.Arch]:
+return
+
 PkgDir = os.path.join(self.BuildDir, Pkg.Arch, Pkg.PackageName)
 CreateDirectory(PkgDir)
 HashFile = os.path.join(PkgDir, Pkg.PackageName + '.hash') @@ -681,17 
+685,16 @@ class WorkspaceAutoGen(AutoGen):
 m.update(Content)
 # Get include files hash value
 if Pkg.Includes:
-for inc in Pkg.Includes:
+for inc in sorted(Pkg.Includes, key=lambda x: str(x)):
 for Root, Dirs, Files in os.walk(str(inc)):
-for File in Files:
+for File in sorted(Files):
 File_Path = os.path.join(Root, File)
 f = open(File_Path, 'r')
 Content = f.read()
 f.close()
 m.update(Content)
 SaveFileOnChange(HashFile, m.hexdigest(), True)
-if Pkg.PackageName not in GlobalData.gPackageHash[Pkg.Arch]:
-GlobalData.gPackageHash[Pkg.Arch][Pkg.PackageName] = m.hexdigest()
+GlobalData.gPackageHash[Pkg.Arch][Pkg.PackageName] = 
+ m.hexdigest()
 
 def _GetMetaFiles(self, Target, Toolchain, Arch):
 AllWorkSpaceMetaFiles = set()
@@ -4432,13 +4435,13 @@ class ModuleAutoGen(AutoGen):
 m.update(GlobalData.gPlatformHash)
 # Add Package level hash
 if self.DependentPackageList:
-for Pkg in self.DependentPackageList:
+for Pkg in sorted(self.DependentPackageList, key=lambda x: 
x.PackageName):
 if Pkg.PackageName in GlobalData.gPackageHash[self.Arch]:
 
m.update(GlobalData.gPackageHash[self.Arch][Pkg.PackageName])
 
 # Add Library hash
 if self.LibraryAutoGenList:
-for Lib in self.LibraryAutoGenList:
+for Lib in sorted(self.LibraryAutoGenList, key=lambda x: x.Name):
 if Lib.Name not in GlobalData.gModuleHash[self.Arch]:
 Lib.GenModuleHash()
 m.update(GlobalData.gModuleHash[self.Arch][Lib.Name])
@@ -4450,7 +4453,7 @@ class ModuleAutoGen(AutoGen):
 m.update(Content)
 # Add Module's source files
 if self.SourceFileList:
-for File in self.SourceFileList:
+for File in sorted(self.SourceFileList, key=lambda x: str(x)):
 f = open(str(File), 'r')
 Content = f.read()
 f.close()
--
2.15.1.windows.2


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