audk/ArmVirtPkg
Laszlo Ersek e2a193b733 ArmVirtPkg/PlatformBootManagerLib: init console vars in BeforeConsole()
With IntelFrameworkModulePkg BDS, the platform code is responsible for
updating console variables (e.g., with BdsLibUpdateConsoleVariable()), and
then connecting them (e.g., with BdsLibConnectAllDefaultConsoles()). This
is usually (although not necessarily) done in PlatformBdsPolicyBehavior().

With MdeModulePkg BDS, the platform is responsible for updating the
console variables in PlatformBootManagerBeforeConsole(). When that
function returns, BdsEntry() will automatically connect the consoles; the
platform is not responsible for the connection.

IntelFrameworkModulePkg               MdeModulePkg
  BdsEntry                              BdsEntry
    PlatformBdsInit                       PlatformBootManagerBeforeConsole
                                     +----> EfiBootManagerUpdateConsoleVariable
                                     |
    dispatch Driver####              |    dispatch Driver####
                                     | +> connect consoles
                                     | |
    PlatformBdsPolicyBehavior        | |  PlatformBootManagerAfterConsole
      BdsLibUpdateConsoleVariable <--+ |
      BdsLibConnectAllDefaultConsoles <+
      display splash screen                 display splash screen

Thus, move the console variable massaging from the beginning of
PlatformBootManagerAfterConsole() (originally PlatformBdsPolicyBehavior())
to the end of PlatformBootManagerBeforeConsole(), and drop the explicit
BdsLibConnectAllDefaultConsoles() call.

This patch parallels OvmfPkg commit e9e9ad644f.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@Intel.com>
2016-05-06 10:04:49 +02:00
..
FdtClientDxe ArmVirtPkg/VirtFdtDxe: move FDT config table installation to FdtClientDxe 2016-04-13 17:26:06 +02:00
HighMemDxe ArmVirtPkg: HighMemDxe: add memory space for the high memory nodes 2015-12-04 16:17:17 +00:00
Include ArmVirtPkg: introduce FdtClientProtocol 2016-04-11 18:12:21 +02:00
Library ArmVirtPkg/PlatformBootManagerLib: init console vars in BeforeConsole() 2016-05-06 10:04:49 +02:00
PciHostBridgeDxe ArmVirtPkg/PciHostBridgeDxe: move to FDT client protocol 2016-04-12 17:59:05 +02:00
PrePi ArmVirtPkg/PrePiRelocatable: add ARM support 2015-12-17 17:11:16 +00:00
VirtioFdtDxe ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
XenioFdtDxe ArmVirtPkg/ArmVirtXen: move from VirtFdtDxe to new XenioFdtDxe driver 2016-04-13 17:26:06 +02:00
ArmVirt.dsc.inc ArmVirtPkg: drop bogus ArmPlatformSecExtraActionLib resolution 2016-04-07 14:35:20 +02:00
ArmVirtPkg.dec ArmVirtPkg/VirtFdtDxe: remove handling of fw_cfg DT node 2016-04-12 11:07:36 +02:00
ArmVirtQemu.dsc ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
ArmVirtQemu.fdf ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
ArmVirtQemuKernel.dsc ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
ArmVirtQemuKernel.fdf ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
ArmVirtXen.dsc ArmVirtPkg/ArmVirtXen: move from VirtFdtDxe to new XenioFdtDxe driver 2016-04-13 17:26:06 +02:00
ArmVirtXen.fdf ArmVirtPkg/ArmVirtXen: move from VirtFdtDxe to new XenioFdtDxe driver 2016-04-13 17:26:06 +02:00
Contributions.txt ArmVirtPkg: add "Contributions.txt" and "License.txt" 2015-06-08 22:00:36 +00:00
License.txt ArmVirtPkg: add "Contributions.txt" and "License.txt" 2015-06-08 22:00:36 +00:00