|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC V2 5/6] xen, libxc: Request page fault injection via libxc
On 07/17/2014 02:53 PM, Ian Campbell wrote:
> On Fri, 2014-07-11 at 19:06 +0100, Andrew Cooper wrote:
>> On 11/07/14 16:43, Razvan Cojocaru wrote:
>>> Added new XEN_DOMCTL_set_pagefault_info hypercall, used by libxc's
>>> new xc_domain_set_pagefault_info() function to set per-domain page
>>> fault injection information. All a call does is set per-domain info,
>>> and nothing actually happens until VMENTRY time, and then only if
>>> all conditions are met (the guest is in user mode, the set value
>>> matches CR3, and there are no other pending traps).
>>> This mechanism allows bringing in swapped-out pages for inspection.
>>>
>>> Signed-off-by: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx>
>>
>> For the record, I still think this is a bad idea to be working against a
>> guest OS paging algorithm, and I am uneasy about whether it is sensible
>> to introduce abilities like that into the Xen API.
>
> Indeed.
>
> From the tools side the new libxc function is a correct wrapping of the
> underlying hypercall, so if/when the hypervisor maintainers are happy
> with the interface it's fine by me, with one minor comment.
Thanks for the review!
>>> +int xc_domain_set_pagefault_info(xc_interface *xch,
>>> + uint32_t domid,
>>> + xen_domctl_set_pagefault_info_t *info)
>>> +{
>>> + DECLARE_DOMCTL;
>>> +
>>> + if (info == NULL)
>>> + return -1;
>>> +
>>> + domctl.cmd = XEN_DOMCTL_set_pagefault_info;
>>> + domctl.domain = (domid_t)domid;
>>> + domctl.u.set_pagefault_info.address_space = info->address_space;
>>> + domctl.u.set_pagefault_info.virtual_address = info->virtual_address;
>>> + domctl.u.set_pagefault_info.write_access = info->write_access;
>
> Aren't these three lines just "domctl.u.set_pagefault_info = *info;"?
Yes, they are. I'll change that to the reader-friendlier one-liner.
Thanks,
Razvan Cojocaru
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |