From 98c7cb3be73d0f15151133abe91bc880a4400794 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 29 Jan 2024 13:29:29 +0100 Subject: OvmfPkg/ResetVector: send post codes to qemu debug console Neat when doing ResetVector coding. Incompatible with TDX and SEV, therefore not enabled by default. Signed-off-by: Gerd Hoffmann Acked-by: Tom Lendacky Acked-by: Erdem Aktas Reviewed-by: Laszlo Ersek Message-Id: <20240129122929.349726-1-kraxel@redhat.com> [lersek@redhat.com: replace "SEV" with "SEV-ES/SEV-SNP" in comment] --- OvmfPkg/ResetVector/QemuDebugCon.asm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 OvmfPkg/ResetVector/QemuDebugCon.asm (limited to 'OvmfPkg/ResetVector/QemuDebugCon.asm') diff --git a/OvmfPkg/ResetVector/QemuDebugCon.asm b/OvmfPkg/ResetVector/QemuDebugCon.asm new file mode 100644 index 0000000..8729fc2 --- /dev/null +++ b/OvmfPkg/ResetVector/QemuDebugCon.asm @@ -0,0 +1,36 @@ +;------------------------------------------------------------------------------ +; @file +; qemu debug console support macros (based on serial port macros) +; +; Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.
+; Copyright (c) 2024, Red Hat, Inc.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +; +;------------------------------------------------------------------------------ + +%macro debugShowCharacter 1 + mov dx, 0x402 + mov al, %1 + out dx, al +%endmacro + +%macro debugShowHexDigit 1 + %if (%1 < 0xa) + debugShowCharacter BYTE ('0' + (%1)) + %else + debugShowCharacter BYTE ('a' + ((%1) - 0xa)) + %endif +%endmacro + +%macro debugShowPostCode 1 + debugShowHexDigit (((%1) >> 4) & 0xf) + debugShowHexDigit ((%1) & 0xf) + debugShowCharacter `\r` + debugShowCharacter `\n` +%endmacro + +BITS 16 + +%macro debugInitialize 0 + ; not required +%endmacro -- cgit v1.1