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