[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] Intercepting memory operations of a guest
Hi Tim, Thanks for your reply. What do you mean by the statement that it won't catch "all changes" but only those seen by the mmu? Also, where can I read more about what enabling shadow page tables means for pv guests? The concept I want to implement is very similar, so I'd love to take advantage of that, if I can. Take care, Sina -----Original Message----- From: Tim Deegan [mailto:Tim.Deegan@xxxxxxxxxx] Sent: Monday, December 08, 2008 5:12 AM To: Sina Bahram Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Subject: Re: [Xen-devel] Intercepting memory operations of a guest At 01:15 -0500 on 07 Dec (1228612537), Sina Bahram wrote: > #1: Is there anyway possible to trap/insert some code at/hook into, any > modification of a PV guest's page table. Anything like a hypercall handler I > can plugin to, a function or series of functions that always gets called, > something I can provide a call back to, or anything else? PV guest pagetable modifications are made through the MMU hypercalls in arch/x86/mm.c, and the ptwr functions. Eventually, I believer they all call down to adjust_guest_l*e() or alloc_l*_table(). Or, you could enable shadow pagetables and intercept shadow_set_l*e() and sh_destroy_l*_shadow() in arch/x86/mm/shadow/multi.c Intercepting those points doesn't catch _every_ change to a guest pagetable but it is guaranteed to catch changes that could be seen by the hardware MMU. > Also, would such activities be easier or more difficult with hvm guests? If you're using shadow mode, then the interception points would be the same. For hap (aka NPT/EPT) I can't think of an easy way to intercept pagetable changes. Cheers, Tim. -- Tim Deegan <Tim.Deegan@xxxxxxxxxx> Principal Software Engineer, Citrix Systems (R&D) Ltd. [Company #02300071, SL9 0DZ, UK.] _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |