>> diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c index >> cecdb1b..0ebae4c 100644 --- a/drivers/kvm/kvm_main.c +++ >> b/drivers/kvm/kvm_main.c @@ -1080,14 +1080,19 @@ static int >> emulator_read_emulated(unsigned long addr, memcpy(val, >> vcpu->mmio_data, bytes); vcpu->mmio_read_completed = 0; return >> X86EMUL_CONTINUE; - } else if (emulator_read_std(addr, val, bytes, >> vcpu) - == X86EMUL_CONTINUE) - return X86EMUL_CONTINUE; + } gpa = >> vcpu->mmu.gva_to_gpa(vcpu, addr); + if ((gpa & PAGE_MASK) == >> 0xfee00000) + goto mmio; + > > The guest can change the apic base address. Different vcpus can have > different addresses. >
In theory yes. But we didn't observe this so far. Xen with this feature with same assumption works for quit a long time. Also given that we are using global shadow page table, so probably we have to take this assumption :-) thx,eddie ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel