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