On Sat, Nov 3, 2012 at 7:03 PM, Jan Kiszka <[email protected]> wrote: > On 2012-11-03 19:56, Blue Swirl wrote: >> On Sat, Nov 3, 2012 at 6:51 PM, Jan Kiszka <[email protected]> wrote: >>> On 2012-11-03 19:49, Blue Swirl wrote: >>>> Ignore accesses to VAPIC when kvmvapic is not enabled. >>>> >>>> Cc: Jan Kiszka <[email protected]> >>>> Signed-off-by: Blue Swirl <[email protected]> >>>> --- >>>> hw/kvmvapic.c | 7 ++++--- >>>> 1 files changed, 4 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/hw/kvmvapic.c b/hw/kvmvapic.c >>>> index dc111ee..a97d532 100644 >>>> --- a/hw/kvmvapic.c >>>> +++ b/hw/kvmvapic.c >>>> @@ -612,6 +612,9 @@ static void vapic_write(void *opaque, hwaddr addr, >>>> uint64_t data, >>>> hwaddr rom_paddr; >>>> VAPICROMState *s = opaque; >>>> >>>> + if (!kvm_irqchip_in_kernel()) { >>>> + return; >>>> + } >>>> cpu_synchronize_state(env); >>>> >>>> /* >>>> @@ -665,9 +668,7 @@ static void vapic_write(void *opaque, hwaddr addr, >>>> uint64_t data, >>>> break; >>>> default: >>>> case 4: >>>> - if (!kvm_irqchip_in_kernel()) { >>>> - apic_poll_irq(env->apic_state); >>>> - } >>>> + apic_poll_irq(env->apic_state); >>>> break; >>>> } >>>> } >>>> >>> >>> NACK, I'm already debugging the true reason (related to code patching). >> >> This is a minimal fix that lets Win2k boot, now it does not work at >> all. I think it should be applied for 1.3, it can be reverted when >> (if) you find a better fix. There's no hurry though. > > If you want to disable it, flip apic.vapic for !kvm_enabled. Your patch > affects user space APIC with KVM as well, though that is perfectly fine.
I thought about that, but kvm_enabled and kvm_kernel_irqchip may not be initialized yet during vapic_init(). > > But first of all give this some days as I just started. Sure. > > Jan > >
