e035910 ArmVirtPkg/QemuFwCfgLib: add explicitly initialized instance

Authored and Committed by lersek 7 years ago
    ArmVirtPkg/QemuFwCfgLib: add explicitly initialized instance
    
    The QemuFwCfgLibExplicitInit instance differs from the normally used one
    in that the client module has to call the QemuFwCfgInitialize() function
    explicitly -- there is no library constructor --, and the client shall
    also ensure that the dependency on FDT_CLIENT_PROTOCOL is satisfied --
    there is no DepEx.
    
    In particular this enables the module that produces FDT_CLIENT_PROTOCOL to
    use the library, after the protocol is installed.
    
    Note that neither QemuFwCfgLib instance calls
    FDT_CLIENT_PROTOCOL.GetOsExposure(). In fact, the QemuFwCfgLibExplicitInit
    instance will be utilized to implement
    FDT_CLIENT_PROTOCOL.GetOsExposure().
    
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Contributed-under: TianoCore Contribution Agreement 1.0
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>