Jordan:
  Thanks for your great contribution. I have some comments. 
1. Which NASM version is used to verify this patch? 
2. Nasm-to-Binary-Code-File Rule is added to compile nasm to the binary 
ResetVector file. It can replace current ASM16 build rule after ASM16 source is 
converted to nasmbin. Right?
3. We don't suggest to use MACRO switch in source code. How about separate 
nasmbin source file for the different ARCH and DEBUG? If so, we will use the 
different  nasmbin source files, -D ARCH_IA32, -D ARCH_X64, -D DEBUG_NONE, -D 
DEBUG_SERIAL is not required. 
4. I see no difference between UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmbin and 
OvmfPkg/ResetVector/ResetVector.nasmbin except for their INF files. So, how 
about keep one copy Vtf0.nasmbin, and add two VTF INF files in UefiCpuPkg. One 
is DEBUG NONE, another is to support DEBUG on Serial. If so, OVMF can directly 
use one from UefiCpuPkg.
5. For OldVtf, I don't think it is good name. Normally, we use it within 
SecCore driver. How about name it as BaseVtf?
6. For the binary VTF files, some platform may use them. So, I suggest to keep 
them for a while, then remove them. 
7. I don't see any changes in source ASM files. Does it mean they also follow 
NASM syntax?

Thanks
Liming
-----Original Message-----
From: Jordan Justen [mailto:jordan.l.jus...@intel.com] 
Sent: Tuesday, May 20, 2014 5:28 AM
To: edk2-devel@lists.sourceforge.net
Cc: edk2-buildtools-de...@lists.sourceforge.net
Subject: [edk2-buildtools] [PATCH 0/7] Build ResetVector/VTF with NASM during 
EDK II build

The first patch obviously needs to be made to edk2-buildtools/BaseTools first, 
and then sync'd to EDK II.

The first 6 patches change OVMF to build VTF0 during the EDK II build process 
by running NASM.

The UefiCpuPkg VTF0 patches are not ready yet, since the X64 page tables are 
not being built. (They previously were built by
FixupForRawSection.py.)

The last patch provides an implementation of the old style VTF which can be 
built during the EDK II build process using NASM.

These patches are available in the 'nasm-vtf' branch of the git repo at 
https://github.com/jljusten/edk2.

The web page for this branch also provides a .zip download:
https://github.com/jljusten/edk2/commits/nasm-vtf

Jordan Justen (7):
  BaseTools: Add rules to build NASM into a binary
  UefiCpuPkg: Support building VTF0 ResetVector during the EDK II build
  OvmfPkg: Support building OVMF's ResetVector during the EDK II build
  OvmfPkg: Build OVMF ResetVector during EDK II build process
  UefiCpuPkg VTF0: Remove pre-built binaries
  OvmfPkg/ResetVector: Remove pre-built binaries
  UefiCpuPkg: Add ResetVector/OldVtf

 BaseTools/Conf/build_rule.template                 |  19 +++-
 BaseTools/Conf/tools_def.template                  |   8 +-
 OvmfPkg/OvmfPkgIa32.dsc                            |   2 +
 OvmfPkg/OvmfPkgIa32.fdf                            |   6 +-
 OvmfPkg/OvmfPkgIa32X64.dsc                         |   2 +
 OvmfPkg/OvmfPkgIa32X64.fdf                         |   6 +-
 OvmfPkg/OvmfPkgX64.dsc                             |   2 +
 OvmfPkg/OvmfPkgX64.fdf                             |   6 +-
 OvmfPkg/ResetVector/Bin/ResetVector.inf            |  29 ------
 OvmfPkg/ResetVector/Bin/ResetVector.x64.raw        | Bin 628 -> 0 bytes
 OvmfPkg/ResetVector/Build.py                       |  58 -----------
 OvmfPkg/ResetVector/ResetVector.inf                |  37 +++++++
 OvmfPkg/ResetVector/ResetVector.nasmbin            |  53 ++++++++++
 OvmfPkg/ResetVector/Tools/FixupForRawSection.py    |  26 -----
 UefiCpuPkg/ResetVector/OldVtf/Vtf.inf              |  32 ++++++
 UefiCpuPkg/ResetVector/OldVtf/Vtf.nasmbin          |  60 +++++++++++
 .../Vtf0/Bin/ResetVector.ia32.port80.raw           | Bin 516 -> 0 bytes
 .../ResetVector/Vtf0/Bin/ResetVector.ia32.raw      | Bin 484 -> 0 bytes
 .../Vtf0/Bin/ResetVector.ia32.serial.raw           | Bin 884 -> 0 bytes
 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf    |  33 -------
 .../Vtf0/Bin/ResetVector.x64.port80.raw            | Bin 28676 -> 0 bytes
 .../ResetVector/Vtf0/Bin/ResetVector.x64.raw       | Bin 28676 -> 0 bytes
 .../Vtf0/Bin/ResetVector.x64.serial.raw            | Bin 28676 -> 0 bytes
 UefiCpuPkg/ResetVector/Vtf0/Build.py               |  53 ----------
 .../ResetVector/Vtf0/Tools/FixupForRawSection.py   | 110 ---------------------
 UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf               |  36 +++++++
 UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmbin           |  53 ++++++++++
 27 files changed, 311 insertions(+), 320 deletions(-)  delete mode 100644 
OvmfPkg/ResetVector/Bin/ResetVector.inf
 delete mode 100644 OvmfPkg/ResetVector/Bin/ResetVector.x64.raw
 delete mode 100644 OvmfPkg/ResetVector/Build.py  create mode 100644 
OvmfPkg/ResetVector/ResetVector.inf
 create mode 100644 OvmfPkg/ResetVector/ResetVector.nasmbin
 delete mode 100644 OvmfPkg/ResetVector/Tools/FixupForRawSection.py
 create mode 100644 UefiCpuPkg/ResetVector/OldVtf/Vtf.inf
 create mode 100644 UefiCpuPkg/ResetVector/OldVtf/Vtf.nasmbin
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Build.py
 delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py
 create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf
 create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmbin

--
2.0.0.rc2


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
edk2-buildtools-devel mailing list
edk2-buildtools-de...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-buildtools-devel

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to