pc: improve debugging
authorBlue Swirl <blauwirbel@gmail.com>
Sat, 29 May 2010 20:23:49 +0000 (20:23 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 29 May 2010 20:23:49 +0000 (20:23 +0000)
Add a DPRINTF macro and use it for ISA and PIC interrupts.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/pc.c

diff --git a/hw/pc.c b/hw/pc.c
index e7f31d3848699def1585112eba26597c27934563..9b85c424edc371af581dbc6ef01846c31db77f93 100644 (file)
--- a/hw/pc.c
+++ b/hw/pc.c
 /* output Bochs bios info messages */
 //#define DEBUG_BIOS
 
+/* debug PC/ISA interrupts */
+//#define DEBUG_IRQ
+
+#ifdef DEBUG_IRQ
+#define DPRINTF(fmt, ...)                                       \
+    do { printf("CPUIRQ: " fmt , ## __VA_ARGS__); } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
 #define BIOS_FILENAME "bios.bin"
 
 #define PC_MAX_BIOS_SIZE (4 * 1024 * 1024)
@@ -70,6 +80,7 @@ void isa_irq_handler(void *opaque, int n, int level)
 {
     IsaIrqState *isa = (IsaIrqState *)opaque;
 
+    DPRINTF("isa_irqs: %s irq %d\n", level? "raise" : "lower", n);
     if (n < 16) {
         qemu_set_irq(isa->i8259[n], level);
     }
@@ -150,6 +161,7 @@ static void pic_irq_request(void *opaque, int irq, int level)
 {
     CPUState *env = first_cpu;
 
+    DPRINTF("pic_irqs: %s irq %d\n", level? "raise" : "lower", irq);
     if (env->apic_state) {
         while (env) {
             if (apic_accept_pic_intr(env))