Commit d55294710772a264e6697b06272c057b4fc61939
1 parent
ca1c9e15
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
Showing
2 changed files
with
10 additions
and
4 deletions
hw/cirrus_vga.c
... | ... | @@ -3228,6 +3228,8 @@ void isa_cirrus_vga_init(DisplayState *ds, uint8_t *vga_ram_base, |
3228 | 3228 | vga_common_init((VGAState *)s, |
3229 | 3229 | ds, vga_ram_base, vga_ram_offset, vga_ram_size); |
3230 | 3230 | cirrus_init_common(s, CIRRUS_ID_CLGD5430, 0); |
3231 | + s->console = graphic_console_init(s->ds, s->update, s->invalidate, | |
3232 | + s->screen_dump, s->text_update, s); | |
3231 | 3233 | /* XXX ISA-LFB support */ |
3232 | 3234 | } |
3233 | 3235 | ... | ... |
hw/pc.c
... | ... | @@ -121,10 +121,14 @@ static void pic_irq_request(void *opaque, int irq, int level) |
121 | 121 | if (!level) |
122 | 122 | return; |
123 | 123 | |
124 | - while (env) { | |
125 | - if (apic_accept_pic_intr(env)) | |
126 | - apic_local_deliver(env, APIC_LINT0); | |
127 | - env = env->next_cpu; | |
124 | + if (env->apic_state) { | |
125 | + while (env) { | |
126 | + if (apic_accept_pic_intr(env)) | |
127 | + apic_local_deliver(env, APIC_LINT0); | |
128 | + env = env->next_cpu; | |
129 | + } | |
130 | + } else { | |
131 | + cpu_interrupt(env, CPU_INTERRUPT_HARD); | |
128 | 132 | } |
129 | 133 | } |
130 | 134 | ... | ... |