aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Andryuk <jandryuk@gmail.com>2020-06-24 10:25:13 -0400
committerKevin O'Connor <kevin@koconnor.net>2020-06-24 11:44:06 -0400
commitdd6a7e99b1c32ca66048673442cc7152efd08d2d (patch)
tree977673cacb0947fe69d8345fea69f76261486bd6 /src
parent2e3de6253422112ae43e608661ba94ea6b345694 (diff)
downloadseabios-dd6a7e99b1c32ca66048673442cc7152efd08d2d.tar.gz
serialio: Preserve Xen DebugOutputPort
xen_preinit() runs early and changes DebugOutputPort. qemu_preinit() runs soon after. inb on DebugOutputPort doesn't work on Xen, so the check will always fail and DebugOutputPort will be cleared to 0 disabling output. Quick exit the function when running on Xen to preserve the modified DebugOutputPort. Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/hw/serialio.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/hw/serialio.c b/src/hw/serialio.c
index 31633443..fa663b99 100644
--- a/src/hw/serialio.c
+++ b/src/hw/serialio.c
@@ -106,6 +106,10 @@ u16 DebugOutputPort VARFSEG = 0x402;
void
qemu_debug_preinit(void)
{
+ /* Xen doesn't support checking if debug output is active. */
+ if (runningOnXen())
+ return;
+
/* Check if the QEMU debug output port is active */
if (CONFIG_DEBUG_IO &&
inb(GET_GLOBAL(DebugOutputPort)) != QEMU_DEBUGCON_READBACK)