From bf23b44d926982dfc9ecc7785cea17e0889a9297 Mon Sep 17 00:00:00 2001 From: jljusten Date: Wed, 15 May 2013 08:09:29 +0000 Subject: [PATCH] OvmfPkg: describe debug messages in the README file Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Jordan Justen git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14364 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/README | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/OvmfPkg/README b/OvmfPkg/README index 0c0a81a670..2c8b51fc76 100644 --- a/OvmfPkg/README +++ b/OvmfPkg/README @@ -66,13 +66,30 @@ http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=How_to_build_OVM (qemu-system-x86_64 works for the IA32 firmware as well, of course.) * Use the QEMU -L parameter to specify the directory where the bios.bin file is located. -* Optionally you can use the QEMU -serial command to capture the - OVMF debug messages. For example: -serial file:serial.log * The EFI shell is built into OVMF builds at this time, so it should run automatically if a UEFI boot application is not found on the removable media. * On Linux, newer version of QEMU may enable KVM feature, and this might cause OVMF to fail to boot. The QEMU '-no-kvm' may allow OVMF to boot. +* Capturing OVMF debug messages on qemu: + - The default OVMF build writes debug messages to IO port 0x402. The + following qemu command line options save them in the file called + debug.log: '-debugcon file:debug.log -global isa-debugcon.iobase=0x402'. + - It is possible to revert to the original behavior, when debug messages were + written to the emulated serial port (potentially intermixing OVMF debug + output with UEFI serial console output). For this the + '-D DEBUG_ON_SERIAL_PORT' option has to be passed to the build command (see + the next section), and in order to capture the serial output qemu needs to + be started with eg. '-serial file:serial.log'. + - Debug messages fall into several categories. Logged vs. suppressed + categories are controlled at OVMF build time by the + 'gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel' bitmask (an UINT32 + value) in the selected .dsc file. Individual bits of this bitmask are + defined in . One non-default bit (with + some performance impact) that is frequently set for debugging is 0x00400000 + (DEBUG_VERBOSE). + - The RELEASE build target ('-b RELEASE' build option, see below) disables + all debug messages. The default build target is DEBUG. === Build Scripts === @@ -86,7 +103,7 @@ $ OvmfPkg/build.sh -a X64 qemu And to run a 64-bit UEFI bootable ISO image: $ OvmfPkg/build.sh -a X64 qemu -cdrom /path/to/disk-image.iso -To build a 32-bit OVMF without debug serial messages using GCC 4.5: +To build a 32-bit OVMF without debug messages using GCC 4.5: $ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC45 === Network Support === -- 2.39.2