summaryrefslogtreecommitdiff
path: root/hw/pc.c
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-19 12:55:20 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-19 12:55:20 +0000
commita7d40001e70347563900960dd084e5bc43386483 (patch)
treeb7becbeb68a87db30499d6f1eeac4c9209602de4 /hw/pc.c
parentac4d93f190d74e94efcc64928e3491c7aa87feab (diff)
downloadqemu-a7d40001e70347563900960dd084e5bc43386483.tar.gz
qemu-a7d40001e70347563900960dd084e5bc43386483.tar.bz2
qemu-a7d40001e70347563900960dd084e5bc43386483.zip
i386: fix isapc machine
- cirrus vga: enable graphic console - pc: don't use apic for interrupts on ISA machine Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5026 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/pc.c')
-rw-r--r--hw/pc.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/hw/pc.c b/hw/pc.c
index 7461a08049..f20944afee 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -121,10 +121,14 @@ static void pic_irq_request(void *opaque, int irq, int level)
if (!level)
return;
- while (env) {
- if (apic_accept_pic_intr(env))
- apic_local_deliver(env, APIC_LINT0);
- env = env->next_cpu;
+ if (env->apic_state) {
+ while (env) {
+ if (apic_accept_pic_intr(env))
+ apic_local_deliver(env, APIC_LINT0);
+ env = env->next_cpu;
+ }
+ } else {
+ cpu_interrupt(env, CPU_INTERRUPT_HARD);
}
}