> -----Original Message----- > From: Avi Kivity [mailto:avi@xxxxxxxxxx] > Sent: Tuesday, December 14, 2010 2:49 AM > To: Hollis Blanchard > Cc: Yoder Stuart-B08248; Alexander Graf; kvm-ppc@xxxxxxxxxxxxxxx > Subject: Re: re-writing on powerpc > > On 12/13/2010 07:17 PM, Hollis Blanchard wrote: > >> Rewriting is dangerous if the guest is unaware of it. As soon as it > >> is made aware of it, it might as well actually do it in the best way > >> that suits it. > > > > Can you list some examples of dangerous scenarios? > > > > - guest checksums own kernel pages > - clever compiler reuses code for constant pool > - guest patches itself (a la linux alternatives), surprised when it sees a > different instruction > - guest jits own kernel code (like Singularity), gets confused when it > reads back something it didn't write One possible solution to hiding rewriting from guest if it must be hidden is to mark patched pages as execute only. If a guest reads a patched page, the hypervisor can fix up the read. For KVM on powerpc, I'm not sure that having the guest be completely unaware of the presence of a hypervisor is what we need to be necessarily shooting for. What has been worked on in the embedded virtualization committee in power.org is that we expect there to be a /hypervisor node in the guest device tree with certain standard properties, including ones indicating if the hypervisor support a shared area or re-writing. The guest makes an hcall indicating if it wants to enable rewriting. So the guest would need to be aware that it needs to checksum before enabling this. The problem is how much guest modification is needed-- some hcalls to enable rewriting seems manageable. Changing every OS for the paravirt interface involves a lot more work. Stuart -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html