On 20.05.2014, at 12:54, Gao, Liming wrote:

> Jordan:
>  Thanks for your great contribution. I have some comments. 
> 1. Which NASM version is used to verify this patch? 
I think these messages appears because of old nasm version I have? 0.98
------------
 nasm -DARCH_X64 -DDEBUG_NONE -o ResetVectorCode ResetVectorCode.asm 
Ia32/SearchForSecEntry.asm:171: error: expression syntax error
Ia32/Flat32ToFlat64.asm:38: warning: numeric constant 0x100000000 does not fit 
in 32 bits
Ia32/Flat32ToFlat64.asm:39: error: `64' is not a valid segment size; must be 16 
or 32
Ia32/PageTables64.asm:26: warning: numeric constant 0x100000000 does not fit in 
32 bits
Ia16/Real16ToFlat32.asm:40: warning: numeric constant 0x100000000 does not fit 
in 32 bits
Ia16/Real16ToFlat32.asm:62: warning: numeric constant 0x100000000 does not fit 
in 32 bits
Main.asm:78: error: `64' is not a valid segment size; must be 16 or 32
------------

> 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


------------------------------------------------------------------------------
"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