aboutsummaryrefslogtreecommitdiff
path: root/src/acpi-dsdt.dsl
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2010-09-19 22:13:18 -0400
committerKevin O'Connor <kevin@koconnor.net>2010-09-25 11:34:46 -0400
commitd4bded451c3497d43ab50640bd6972d31766ec90 (patch)
tree73b19768aafb321b2a4234108092823121569979 /src/acpi-dsdt.dsl
parent2f96800197c2302ba72bf4dc4748234b835aa2b1 (diff)
downloadseabios-hppa-d4bded451c3497d43ab50640bd6972d31766ec90.zip
seabios-hppa-d4bded451c3497d43ab50640bd6972d31766ec90.tar.gz
seabios-hppa-d4bded451c3497d43ab50640bd6972d31766ec90.tar.bz2
Add a debug method to AML code.
Add DBUG() method to AML - it can write output to the standard qemu bios debug port (port 0x402).
Diffstat (limited to 'src/acpi-dsdt.dsl')
-rw-r--r--src/acpi-dsdt.dsl22
1 files changed, 18 insertions, 4 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) {