summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Boeuf <sebastien.boeuf@intel.com>2022-01-11 20:31:27 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-01-13 14:54:40 +0000
commit6ecdda71fe9a3570ea4895fca497ee4ce07b7bd4 (patch)
tree453d25b56597943e9c87c4e167c496403c7bc9bf
parenta2da72b2cabd3fcc721bddb0f228b84191113204 (diff)
downloadedk2-6ecdda71fe9a3570ea4895fca497ee4ce07b7bd4.tar.gz
edk2-6ecdda71fe9a3570ea4895fca497ee4ce07b7bd4.tar.bz2
edk2-6ecdda71fe9a3570ea4895fca497ee4ce07b7bd4.zip
OvmfPkg/CloudHv: Connect serial console
Cloud Hypervisor doesn't emulate any LPC bridge, therefore we simply need to rely on the serial I/O port to be connected as a console. It reuses the code from Xen since it's very generic. Acked-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Jiewen Yao <Jiewen.yao@intel.com> Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
-rw-r--r--OvmfPkg/CloudHv/CloudHvX64.dsc6
-rw-r--r--OvmfPkg/CloudHv/CloudHvX64.fdf6
-rw-r--r--OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c8
3 files changed, 10 insertions, 10 deletions
diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
index 5e11942d08..d6d34a4677 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
@@ -828,11 +828,9 @@
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
#
- # ISA Support
+ # Serial Support
#
- OvmfPkg/SioBusDxe/SioBusDxe.inf
- MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
- MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
+ MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
#
# SMBIOS Support
diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf
index f35458551b..5ce3233bf7 100644
--- a/OvmfPkg/CloudHv/CloudHvX64.fdf
+++ b/OvmfPkg/CloudHv/CloudHvX64.fdf
@@ -290,11 +290,7 @@ INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
-INF OvmfPkg/SioBusDxe/SioBusDxe.inf
-!if $(SOURCE_DEBUG_ENABLE) == FALSE
-INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
-!endif
-INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
+INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
index 0918c35f1f..51016a5548 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -418,10 +418,16 @@ PlatformBootManagerBeforeConsole (
SaveS3BootScript ();
}
+ //
// We need to connect all trusted consoles for TCG PP. Here we treat all
// consoles in OVMF to be trusted consoles.
+ //
+ // Cloud Hypervisor doesn't emulate any LPC bridge, which is why it must
+ // rely on the serial I/O port to be connected as a console. It reuses the
+ // definition from Xen as it is very generic.
+ //
PlatformInitializeConsole (
- XenDetected () ? gXenPlatformConsole : gPlatformConsole
+ (XenDetected () || PcdGet16 (PcdOvmfHostBridgePciDevId) == CLOUDHV_DEVICE_ID) ? gXenPlatformConsole : gPlatformConsole
);
//