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
This commit is contained in:
aurel32 2008-08-19 12:55:20 +00:00
parent ca1c9e154b
commit d552947107
2 changed files with 10 additions and 4 deletions

View File

@ -3228,6 +3228,8 @@ void isa_cirrus_vga_init(DisplayState *ds, uint8_t *vga_ram_base,
vga_common_init((VGAState *)s,
ds, vga_ram_base, vga_ram_offset, vga_ram_size);
cirrus_init_common(s, CIRRUS_ID_CLGD5430, 0);
s->console = graphic_console_init(s->ds, s->update, s->invalidate,
s->screen_dump, s->text_update, s);
/* XXX ISA-LFB support */
}

12
hw/pc.c
View File

@ -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);
}
}