Re: [PATCH] kvm, x86: Properly check whether a pfn is an MMIO or not

From: Raslan, KarimAllah
Date: Wed Jun 22 2016 - 10:11:44 EST




On 6/22/16, 3:41 PM, "Paolo Bonzini" <pbonzini@xxxxxxxxxx> wrote:

>
>
>On 22/06/2016 04:34, KarimAllah Ahmed wrote:
>> pfn_valid check is not sufficient because it only checks if a page has a struct
>> page or not, if for example "mem=" was passed to the kernel some valid pages
>> won't have a struct page. This means that if guests were assigned valid memory
>> that lies after the mem= boundary it will be passed uncached to the guest no
>> matter what the guest caching attributes are for this memory.
>
>How can you pass memory after the mem= boundary to the guest?

Memory regions can be assigned to the guest as long as you've a valid host
virtual address. You can always get a host virtual address for any RAM that
lives after 'mem=' for example by simply mmaping /dev/mem or even using some
special kernel module to mmap these regions from user space.

>
>Paolo
>