|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC V7 4/5] xen, libxc: Request page fault injection via libxc
>>> On 13.08.14 at 17:28, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
> +static bool_t vmx_check_pf_injection(void)
> +{
> + struct vcpu *curr = current;
> + const struct domain *currd = curr->domain;
> + struct segment_register seg;
> + unsigned long ev;
> + uint32_t pending_event = 0;
> + uint64_t mask;
> +
> + if ( !is_hvm_domain(currd) ||
> + likely(!currd->arch.hvm_domain.fault_info.valid) )
> + return 0;
> +
> + vmx_get_segment_register(curr, x86_seg_ss, &seg);
> +
> + if ( seg.attr.fields.dpl != 3 ) /* Guest is not in user mode */
> + return 0;
> +
> + if ( hvm_long_mode_enabled(curr) )
> + mask = (PADDR_MASK & PAGE_MASK); /* Bits 51:12. */
Pointless parentheses.
> + case XEN_DOMCTL_set_pagefault_info:
> + {
> + ret = -EINVAL;
> +
> + if ( is_hvm_domain(d) )
> + {
> + d->arch.hvm_domain.fault_info.address_space =
> + op->u.set_pagefault_info.address_space;
> + d->arch.hvm_domain.fault_info.virtual_address =
> + op->u.set_pagefault_info.virtual_address;
> + d->arch.hvm_domain.fault_info.errcode =
> + op->u.set_pagefault_info.errcode;
> + d->arch.hvm_domain.fault_info.valid = 1;
> +
> + ret = 0;
> + }
> + }
Pointless curly braces.
> --- a/xen/include/asm-x86/hvm/domain.h
> +++ b/xen/include/asm-x86/hvm/domain.h
> @@ -141,6 +141,14 @@ struct hvm_domain {
> */
> uint64_t sync_tsc;
>
> + /* Memory introspection page fault injection data. */
> + struct {
> + uint64_t address_space;
> + uint64_t virtual_address;
> + uint32_t errcode;
> + bool_t valid;
> + } fault_info;
Sorry for noticing this only now, but how can this be a per-domain
thing rather than a per-vCPU one?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |