Dong, Eddie wrote:
>>> 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 :-)
>   

We can workaround this by disabling the optimization when a guest has 
different addresses for the lapic.

But I agree there's no need to do that now.


-- 
Any sufficiently difficult bug is indistinguishable from a feature.


-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to