Re: TianoCore Community Design Meeting Minutes
Liming Gao
1. LLVM/CLANG tool chain image size collected on OvmfIa32X64. The code is from https://github.com/lgao4/edk2/tree/Clang. The image is built on Windows OS. LLVM/CLANG is from LLVM8.0 release. CLANG8PE tool chain must enable 4K alignment as PE section alignment. So, its image size is bigger than others. But, the compressed size is smaller. The image size shows new CLANG8ELF tool chain to get the smaller image size than GCC5 and VS2015x86 tool chain. So, I prefer to add CLANG8ELF tool chain first. Then, I will continue to investigate CLANG8PE tool chain and how to generate the different format debug symbol.
toggle quoted messageShow quoted text
OvmfIa32X64 (Bytes) GCC5 (LTO) VS2015x86 (GL) CLANG8ELF (LTO) CLANG8PE (LTO) PEIFV (IA32) 0x2ff28 0x2dfe8 0x2a5a8 0x57028 DXEFV (X64) 0x418528 0x429650 0x3ba6f8 0x502900 FVCOMPACT(Compress) 0x1372e8 0x1204d8 0x1177f0 0x116110 Thanks Liming
-----Original Message----- From: announce@edk2.groups.io [mailto:announce@edk2.groups.io] On Behalf Of Ni, Ray Sent: Friday, May 10, 2019 5:57 PM To: 'announce@edk2.groups.io' <announce@edk2.groups.io> Subject: [edk2-announce] TianoCore Community Design Meeting Minutes In this meeting, Liming Gao showed the progress of new CLANG tool chain, Hao Wu raised a SDMMC host controller customization requirement and potential solutions. Details below. Please reply to this mail for any questions or comments. 1. LLVM/CLANG tool chain (BZ1603) - Liming Gao - Existing tool chain: VS2015/2017 - Win, GCC5 - Linux, XCODE - Mac, CLANG38 - Linux - New tool chain: CLANG(8) - Win/Linux/Mac * LLD supports generating ELF/PE in all OSes. * Status: met some troubles when directly generating PE. - Tool chain name: CLANG8LLDELF or CLANG8ELF? -> CLANG8ELF. The linker information can be documented in docs. - Maybe a 3rd toolchain CLANG8 which generates default executable image format depending on OS? - Always use ELF or PE as output instead of having two options otherwise may lose the benefit of using CLANG tool chain. * Developers can choose which output to generate. they can always choose ELF or PE. - Size impact? * PE requires 4K section alignment, ELF requires 32-byte section alignment. So PE when uncompressed needs more size. * LTO (link optimization) is enabled. * Will provide OVMF size data after the meeting. - Status: CLANG8ELF builds of OVMF32/OVMF64/OVMF32PEI-64DXE can boot. CLANG8PE builds of on OVMF32/32PEI-64DXE can boot, but that of OMVF64 cannot. CLANG8PE fails to build NetworkPkg due to big local variable in CryptoPkg. CLANGELF cannot generate HII resource section, similar issue exists in XCODE5. Felix can provide help on that. - Hope CLANG static analyzer can be enabled in future. * Some POC was done. - If CLANG8 can generate DWARF/PDB debug symbols no matter the output executable format (ELF/PE) is, maybe it's worth to investigate further in single output executable format direction. 2. Customization during SDMMD HC - Parameters that need customization: a. bus width b. bus speed mode c. strength d. clock freq - SdMMcPciHc consumes SdMmcOverride(optional). Its interfaces Capability(), NotifyPhase() are not enough for the customizations. * bus speed mode -> Capability() helps * bus width -> Capability() doesn't help with 1 bit which cannot choose from 3 options. * strength -> NoitfyPhase() doesn't help with absense of passthru. * clock freq -> NO - P1. NotifyPhase (GetOperatingParam) - preferred - P2. New interface OperatingParameter() - P3. New protocol SD_MMC_OPERATING_PARAMETER Thanks, Ray
|
|