Yes, nasm v 2.11 compile this without errors.

On 20.05.2014, at 14:34, Sergey Isakov wrote:

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


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