mirror of https://github.com/acidanthera/audk.git
48b3ff0479
XenHypercallLib has two clients at the moment: XenBusDxe and XenConsoleSerialPortLib. Currently, when XenBusDxe starts on a non-Xen X86 platform (ie. as part of OVMF not running on Xen), the X86XenHypercallLib instance built into it fails to initialize, which triggers an ASSERT() in auto-generated code. Instead, let's call XenHypercallIsAvailable() in the driver's entry point, and exit cleanly when the driver is started on a non-Xen platform. Modify the constructor of XenConsoleSerialPortLib similarly; we shouldn't proceed if Xen is not available. In practice this check should never fail, because XenConsoleSerialPortLib is only used on ARM, and ArmXenHypercallLib is always available; but nonetheless we should be pedantic. Reported-by: Gabriel L. Somlo <gsomlo@gmail.com> Suggested-by: Jordan Justen <jordan.l.justen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17001 6f19259b-4bc3-4df7-8a09-765794883524 |
||
---|---|---|
.. | ||
AcpiTimerLib | ||
EmuVariableFvbLib | ||
LoadLinuxLib | ||
LockBoxLib | ||
NvVarsFileLib | ||
PlatformBdsLib | ||
PlatformDebugLibIoPort | ||
PlatformFvbLibNull | ||
PlatformSecureLib | ||
QemuBootOrderLib | ||
QemuFwCfgLib | ||
ResetSystemLib | ||
SerializeVariablesLib | ||
VirtioLib | ||
VirtioMmioDeviceLib | ||
XenConsoleSerialPortLib | ||
XenHypercallLib | ||
XenIoMmioLib |