Re: [Android-virt] [PATCH v4 02/10] ARM: KVM: Hypervisor identity mapping

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

 



On Aug 9, 2011, at 12:23 PM, Alexey Smirnov wrote:

> Hi Christoffer,
> 
>>> 
>>> These are for mapping host memory, not guest memory, right?
>> 
>> yes (or to be exact - hypervisor memory). The point is that there are special hardware requirements for translation tables used in Hyp-mode not otherwise satisfied by the normal page tables.
> 
> In function init_hyp_memory() you map some memory regions for vectors,
> vcpu, stack, etc. using function create_hyp_mappings. Just wondering,
> how do you make sure that guest will never map its own data into these
> addresses? Since guest is not para-virtualized, it can use any VA it
> wants, including these addresses.
> 
> In your earlier KVM-arm paper you mentioned that such mappings were
> write-protected, so whenever guest tried to access them you needed to
> relocate such shared pages. Is the mechanism the same or you somehow
> take advantage of virtualization extensions to avoid this problem?

I take advantage of the virtualization extensions. These mappings are used only in Hyp-mode, which is only used to handle exceptions from the guest and to perform world-switches. Thus, these mappings are completely orthogonal to the 2nd stage translations used when running the VM.

--
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