qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] Check if the i8254 timer is active before deactivat


From: Alexander Graf
Subject: [Qemu-devel] [PATCH] Check if the i8254 timer is active before deactivating it
Date: Mon, 26 Jan 2009 17:41:57 +0100

The HPET emulation can disable the i8254 when the HPET is
in legacy mode, thus emulating the i8254's behavior.

But if it does, the i8254 doesn't have to be running, so
let's check to see if the timer works and not disable it
if it's not.

This fixes a segmentation fault when running Mac OS X as
guest os.

Signed-off-by: Alexander Graf <address@hidden>
---
 hw/i8254.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/hw/i8254.c b/hw/i8254.c
index a4a1efe..44e4531 100644
--- a/hw/i8254.c
+++ b/hw/i8254.c
@@ -467,7 +467,8 @@ static void pit_reset(void *opaque)
 void hpet_pit_disable(void) {
     PITChannelState *s;
     s = &pit_state.channels[0];
-    qemu_del_timer(s->irq_timer);
+    if (s->irq_timer)
+        qemu_del_timer(s->irq_timer);
 }
 
 /* When HPET is reset or leaving legacy mode, it must reenable i8254
-- 
1.6.0.2





reply via email to

[Prev in Thread] Current Thread [Next in Thread]