On 22 November 2017 at 10:07, Ard Biesheuvel <ard.biesheu...@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

Reply via email to