Re: Guest memory access within hypervisor Inbox x

2013-09-27 Thread Piyus Kedia
Thanks.

On Fri, Sep 27, 2013 at 3:40 PM, Stefan Hajnoczi  wrote:
> On Fri, Sep 27, 2013 at 03:19:28AM +0530, Piyus Kedia wrote:
>> I am working on record replay in KVM. I just want to confirm that KVM
>> doesn't access guest memory except for DMA. The functions
>> kvm_read_guest_page() and kvm_write_guest_page() in kvm_main.c are
>> only used for mmio emulation which access memory that is always
>> emulated. It will be nice if somebody else also confirm this.
>
> kvmclock comes to mind, I think it has a shared page between the guest
> and the host kernel where clock updates are published from host ->
> guest.  I think kvmclock can be disabled by choosing another clocksource
> in the guest Linux kernel.
>
> There are other exceptions like the ivshmem device which is rarely used
> but can provide shared memory between guest <-> host or guest <-> guest.
> I think that memory is an MMIO PCI BAR in the guest just that neither
> kvm.ko nor QEMU may be catch the update if another process on the host
> is writing to it.
>
> Stefan
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Guest memory access within hypervisor Inbox x

2013-09-27 Thread Stefan Hajnoczi
On Fri, Sep 27, 2013 at 03:19:28AM +0530, Piyus Kedia wrote:
> I am working on record replay in KVM. I just want to confirm that KVM
> doesn't access guest memory except for DMA. The functions
> kvm_read_guest_page() and kvm_write_guest_page() in kvm_main.c are
> only used for mmio emulation which access memory that is always
> emulated. It will be nice if somebody else also confirm this.

kvmclock comes to mind, I think it has a shared page between the guest
and the host kernel where clock updates are published from host ->
guest.  I think kvmclock can be disabled by choosing another clocksource
in the guest Linux kernel.

There are other exceptions like the ivshmem device which is rarely used
but can provide shared memory between guest <-> host or guest <-> guest.
I think that memory is an MMIO PCI BAR in the guest just that neither
kvm.ko nor QEMU may be catch the update if another process on the host
is writing to it.

Stefan
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html