[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH V4 4/5] xen, libxc: Request page fault injection via libxc



On 09/08/14 18:47, Jan Beulich wrote:
>>>> On 05.09.14 at 12:01, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>> +    {
>> +        hvm_inject_trap(&d->arch.hvm_domain.inject_trap);
>> +        d->arch.hvm_domain.inject_trap.vector = -1;
>> +    }
> 
> And this is clearly lacking serialization (or a comment saying why
> serialization isn't needed here).

If I understood this correctly, this is what Kevin has recommended: that
only one HVMOP_trap_request should be pending at a time. Or have I
misunderstood your comment?

>> --- a/xen/include/public/hvm/hvm_op.h
>> +++ b/xen/include/public/hvm/hvm_op.h
>> @@ -197,6 +197,13 @@ struct xen_hvm_inject_trap {
>>      uint32_t insn_len;
>>      /* CR2 for page faults */
>>      uint64_aligned_t cr2;
>> +    /*
>> +     * Only used if vcpuid == ~0 (wildcard for any VCPU).
>> +     * In that case, injection data is set per-domain, and any VCPU
>> +     * running a process with matching CR3 in user mode will inject
>> +     * the trap.
>> +     */
>> +    uint64_aligned_t cr3;
> 
> The comment should say "Currently only used ...", and the code
> should then check this (returning the usual -EOPNOTSUPP). Or
> alternatively implement it right away (which may be the better
> route taking into consideration the first of the comments above).

I will gladly change the comment, but I'm not sure for what CR3 value I
should return -EOPNOTSUPP. Should I enforce that cr3 == 0 for the
VCPU-specific case and for traps that are not page faults? Could you
please elaborate on what the alternative is?


Thanks,
Razvan Cojocaru

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.