[SeaBIOS] [PATCH] Add a debug method to AML code.
Kevin O'Connor
kevin at koconnor.net
Mon Sep 20 04:16:43 CEST 2010
Add DBUG() method to AML - it can write output to the standard qemu
bios debug port (port 0x402).
---
src/acpi-dsdt.dsl | 22 +-
src/acpi-dsdt.hex | 1990 +++++++++++++++++++++++++++--------------------------
2 files changed, 1016 insertions(+), 996 deletions(-)
diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 640716c..bb0a176 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -28,13 +28,27 @@ DefinitionBlock (
Scope (\)
{
/* Debug Output */
- OperationRegion (DBG, SystemIO, 0xb044, 0x04)
- Field (DBG, DWordAcc, NoLock, Preserve)
+ OperationRegion (DBG, SystemIO, 0x0402, 0x01)
+ Field (DBG, ByteAcc, NoLock, Preserve)
{
- DBGL, 32,
+ DBGB, 8,
}
- }
+ /* Debug method - use this method to send output to the QEMU
+ * BIOS debug port. This method handles strings, integers,
+ * and buffers. For example: DBUG("abc") DBUG(0x123) */
+ Method(DBUG, 1) {
+ ToHexString(Arg0, Local0)
+ ToBuffer(Local0, Local0)
+ Subtract(SizeOf(Local0), 1, Local1)
+ Store(Zero, Local2)
+ While (LLess(Local2, Local1)) {
+ Store(DerefOf(Index(Local0, Local2)), DBGB)
+ Increment(Local2)
+ }
+ Store(0x0A, DBGB)
+ }
+ }
/* PCI Bus definition */
Scope(\_SB) {
More information about the SeaBIOS
mailing list