Re: [PATCH] KVM: fix async page fault working for readonly mapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/22/2012 08:31 AM, Gleb Natapov wrote:
> On Mon, May 21, 2012 at 04:30:41PM -0300, Marcelo Tosatti wrote:
>> On Mon, May 21, 2012 at 04:15:50PM +0800, Xiao Guangrong wrote:
>> > On 05/21/2012 04:08 PM, Gleb Natapov wrote:
>> > 
>> > > On Mon, May 21, 2012 at 02:45:45PM +0800, Xiao Guangrong wrote:
>> > >> If we map a readonly memory space from host to guest and the page is
>> > >> not currently mapped in the host, we will get a fault-pfn and async
>> > >> is not allowed, then the vm will crash
>> > >>
>> > > Why would we want to map a readonly memory space from host to guest?
>> > > We may want to do it to support memory semantics on read and mmio on
>> > > write, but do not right now unless something changed while I was not
>> > > looking.
>> > 
>> > 
>> > Some test cases in kvm-unit-tests and the benchmark i am writing for KVM
>> > need map the function on host to guest.
>> 
>> Or ROM. Or read-only mappings of IVSHMEM (which don't exist yet).
> True. KVM should ignore writes to such areas, not kill a guest. Is this
> how the code works today?
> 

Right now qemu maps ROM as RAM.  There is no way to tell kvm that
something is ROM (or ROMD).

There are two options for that:
- mprotect() the ROM, and teach kvm about read-only areas (this patch);
but that doesn't work if we have a read-only and a writable alias of the
same area
- add a flag indicating that an area is ROM or ROMD

I prefer the latter, because of the alias issue.

-- 
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux