Message ID | 20171122100731.24525-1-ard.biesheuvel@linaro.org |
---|---|
Headers | show |
Series | ArmVirtPkg: get rid of ArmPlatformLib | expand |
On 22 November 2017 at 10:07, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote: > ArmPlatformLib is a mixed bag of platform specific hooks, some of which > are called from early startup code, and some of which are called from C > code, to get the boot mode, memory layout etc. > > This library class is tightly coupled to the old ARM implementations that > ran some parts of UEFI in the secure world, and booted all cores into SEC. > Also, the fact that both PrePi and PrePeiCore use ArmPlatformLib makes it > difficult to use PEI phase features such as PPI depexes. It would be better > if we could get rid of it completely, or at least not require each platform > to implement it in its entirety. > > So as a first step towards phasing out ArmPlatformLib to the extent possible, > let's remove it from ArmVirtPkg. For ArmVirtXen and ArmVirtQemuKernel, we can > get rid of it completely. For ArmVirtQemu, we can't, but we can still remove > our own implementation by switching to the NULL implementation from > ArmPlatformPkg (which does require a minimal tweak in patch #1). Further > reductions of the scope of ArmPlatformLib will be reflected in that library > without the need for further changes to ArmVirtPkg. > > v2: drop ArmPlatformPkg prereq patch, it is merged now > use constructor instead of PEIM depex ordering to ensure ArmVirtQemu's > PcdSystemMemorySize PCD is set before being consumed > add acks from Laszlo > > Ard Biesheuvel (14): > ArmVirtPkg/PrePi: run all library constructors by hand > ArmVirtPkg/PrePi: remove unused GetPlatformPpi() function > ArmVirtPkg/PrePi: remove bogus primary core check > ArmVirtPkg/PrePi: move DRAM discovery code into PrePi > ArmVirtPkg/PrePi: remove dependency on ArmPlatformLib > ArmVirtPkg/PrePi: remove ArmPlatformStackLib dependency > ArmVirtPkg/PrePi: remove bogus IntelFrameworkModulePkg.dec dependency > ArmVirtPkg/ArmVirtPlatformLib: remove support for uncached mappings > ArmVirtPkg: introduce ArmVirtMemInfoLib library class > ArmVirtPkg/ArmVirtXen: add ArmVirtMemInfoLib implementation > ArmVirtPkg/ArmVirtQemu: add ArmVirtMemInfoLib implementation > ArmVirtPkg: create QemuVirtMemInfoLib version for ArmVirtQemu > ArmVirtPkg/ArmVirtMemoryInitPeiLib: move to ArmVirtMemInfoLib > ArmVirtPkg: remove ArmPlatformLib implementations > Pushed as 14ca435fb6c0..3d544c564bd6 Thanks. _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel