>>> On 21.04.16 at 13:33, <paul.durr...@citrix.com> wrote:
>> From: Jan Beulich [mailto:jbeul...@suse.com]
>> Sent: 21 April 2016 10:38
>> --- a/xen/arch/x86/hvm/vmsi.c
>> +++ b/xen/arch/x86/hvm/vmsi.c
>> @@ -341,7 +352,21 @@ static int msixtbl_range(struct vcpu *v,
>>      desc = msixtbl_addr_to_desc(msixtbl_find_entry(v, addr), addr);
>>      rcu_read_unlock(&msixtbl_rcu_lock);
>> 
>> -    return !!desc;
>> +    if ( desc )
>> +        return 1;
>> +
>> +    if ( (addr & (PCI_MSIX_ENTRY_SIZE - 1)) ==
>> +         PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET )
>> +    {
>> +        const ioreq_t *r = &v->arch.hvm_vcpu.hvm_io.io_req;
>> +
> 
> If you need to start digging into the ioreq here then I think it would be 
> better to have vmsi register a full hvm_io_ops rather than hvm_mmio_ops. That 
> way it gets the ioreq passed the accept method without any need to dig.

I can certainly try and see how this works out, but it's relatively
clear that it'll make the patch bigger and backporting more difficult.
So maybe this would better be left as a subsequent cleanup
exercise?

Jan


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

Reply via email to