Yeap, splitting FdtLib into FdtLib and FdtLoadLib is fine for me. > -----Original Message----- > From: Ard Biesheuvel [mailto:[email protected]] > Sent: 02 September 2014 13:53 > To: Laszlo Ersek > Cc: [email protected]; Olivier Martin; Peter Maydell; > Andrew Jones; Christoffer Dall; Ilias Biris; David Gibson > Subject: Re: [edk2] [PATCH v5 16/16] ArmVirtualizationPkg: add > ArmVirtualizationQemu platform > > On 29 August 2014 12:58, Laszlo Ersek <[email protected]> wrote: > > On 08/29/14 10:14, Ard Biesheuvel wrote: > >> On 29 August 2014 09:53, Ard Biesheuvel <[email protected]> > wrote: > > > >>> build.py... > >>> /home/ard/build/uefi- > next/ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc(...) > : > >>> error 1001: Module type [SEC] is not supported by library instance > >>> [/home/ard/build/uefi- > next/MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.i > nf] > >>> consumed by [/home/ard/build/uefi- > next/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf] > >>> > >>> which i am trying to bisect now. > >>> > >> > >> OK, it turns out Olivier has submitted an incompatible change here: > >> > >> af16798ef77da84487ed8e64bc955fbd12ac9b1f > >> [EmbeddedPkg/FdtLib: Added support to load Fdt from Semihosting] > >> > >> which adds functionality to FdtLib which makes it depend on the boot > >> services table. > >> I am going to go ahead and split that into two libraries, hopefully > >> Olivier will be ok with that once he gets around to looking into > this > >> stuff > > > > That's case (2) then. > > > > And, indeed, it's *very* important to keep FdtLib a BASE library, > with > > no dependencies on any UEFI-phase-specifics. I recently had a short > > email chat with David Gibson, where I said > > > > Wow, David (CC'd :)) *actually* meant this code to be embedded in > > firmware. > > > > and he said > > > > Yes, yes I did. [...] > > > > I deliberately kept the dependencies in libfdt to an absolute > > minimum to make it easy to use in limited environments. It uses a > > small handful of string.h functions, and that's it. No malloc > > required, no stdio required. > > > > So that's how it should remain in edk2 as well. (At least, such a > > compatible version should remain available.) > > > > Hm, let's see af16798ef77da84487ed8e64bc955fbd12ac9b1f. > > > > - New function InstallFdtIntoConfigurationTable() is not needed for > > modules that only want to parse the DTB. For a SEC module eg., the > UEFI > > configuration table doesn't exist. > > > > - New function InstallFdtFromSemihosting() is similarly unrelated to > DTB > > parsing. It's a way to retrieve the DTB, and just as use-case > specific > > as our own peculiar way in virt. Doesn't belong to the base library. > > > > My proposal (trivial, of course): > > - revert this commit > > - simply introduce another library (new lib class even) in > EmbeddedPkg > > - add a lib instance implementing this class, with these new > functions > > - new lib instance should depend on (unmodified) FdtLib > > - add new lib class dependency to originally dependent modules > > > > @Olivier: how do you propose we handle this? FdtLib has now become > unusable in SEC or PEI > > -- > Ard.
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
