|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 RFC 6/6] x86/MSI: properly track guest masking requests
>>> On 25.06.15 at 16:26, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 25/06/15 09:04, Jan Beulich wrote:
>>>>> On 24.06.15 at 19:24, <andrew.cooper3@xxxxxxxxxx> wrote:
>>> On 22/06/15 15:51, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/msi.c
>>>> +++ b/xen/arch/x86/msi.c
>>>> @@ -1308,6 +1308,39 @@ printk("%04x:%02x:%02x.%u: MSI-X %03x:%u
>>>> return 1;
>>>> }
>>>>
>>>> + entry = find_msi_entry(pdev, -1, PCI_CAP_ID_MSI);
>>>> + if ( entry && entry->msi_attrib.maskbit )
>>>> + {
>>>> + uint16_t cntl;
>>>> + uint32_t unused;
>>>> +
>>>> + pos = entry->msi_attrib.pos;
>>>> + if ( reg < pos || reg >= entry->msi.mpos + 8 )
>>>> + return 0;
>>>> +printk("%04x:%02x:%02x.%u: MSI %03x:%u->%04x\n", seg, bus, slot, func,
>>>> reg,
> size, *data);//temp
>>>> +
>>>> + if ( reg == msi_control_reg(pos) )
>>>> + return size == 2 ? 1 : -EACCES;
>>>> + if ( reg < entry->msi.mpos || reg >= entry->msi.mpos + 4 || size
>>>> != 4 )
>>>> + return -EACCES;
>>> Can we avoid using EACCES to avoid confusing it with a mismatched tools
>>> version?
>> What other suitable error code would you see here? I'm not sure
>> we want this error code to be reserved for exactly one purpose,
>> the more that here we're on a path that will never has this error
>> code returned to the guest (and even less so via a domctl/sysctl,
>> which would be the primary mismatched-tools-version candidates).
>
> If there is no chance that we will end up back on a domctl/sysctl error
> path then its use is fine.
I don't see how it could get on such a patch - it's an intercept of
a guest (Dom0) operation. If we were to introduce hypercall based
PCI config space writes, then that would be a physdev op imo.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |