On 06/16/16 03:46, Liming Gao wrote:
> These patches are available in https://github.com/lgao4/edk2.git nasm-v1. 
> The nasm-v1 branch sha1 is 42bec457c575b6cb7c9fc1730cbea263ffce7b1c
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Liming Gao <liming....@intel.com>
> Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com>
> 
> These patches base on previous patches in 
> http://thread.gmane.org/gmane.comp.bios.tianocore.devel/10977. 
> New changes in these patches includes: 
> 1. Keep ASM, GAS and NASM all. User can configure BUILDRULEORDER to specify 
>    which one will be used. 

The current catch-all rule seems to be

Conf/tools_def.template:*_*_*_*_BUILDRULEORDER = nasm asm Asm ASM S s

I guess that should continue working for me, right?

> 2. Add NASM in new modules from UefiCpuPkg, IntelFsp2Pkg and 
> IntelFsp2WrapperPkg.
> 3. Use 16bit and 32bit assembly code to replace hard code db.

This last step looks pretty error prone -- was this automated, or
converted manually?

> The done test includes:
> 1. Verify the output obj file from ASM and NASM to make sure the output obj
>    have the same disassembly code. 

OTOH, binary comparison should make it pretty safe.

> 2. Verify OvmfIa32X64 boot to Shell on VS2015x86. 
> 3. Verify OVMF X64 when booting to arch linux, and with S3 suspend/resume.
> 
> These patches convert these package to use NASM for IA32 & X64
> * MdePkg
> * MdeModulePkg
> * IntelFrameworkModulePkg
> * UefiCpuPkg
> * SourceLevelDebugPkg
> * PcAtChipsetPkg
> * IntelFsp2Pkg
> * IntelFsp2WrapperPkg
> 
> Package maintainers: Could you help review and verify your package? If you 
> find
> any issues, please let us know. 

I'm adding this to my TODO list. Hopefully I can play a little with this
next week.

Just to make sure, the above BUILDRULEORDER should ensure that the new
NASM files will be utilized in my build, right?

> Notes: these patches will cause NASM compiler to be required for all IA32 and 
> X64
> toolchains with the default tool configuration. 
> NASM compiler can be downloaded from http://www.nasm.us/
> After download it, please configure NASM_PREFIX env to point to its directory.
> For example, I place nasm.exe in C:\nasm directory, then set 
> NASM_PREFIX=C:\nasm\

(I think this advice is Windows-specific; for me the "nasm" binary is
simply on PATH -- /usr/bin/nasm.)

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

Reply via email to