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

Re: [Xen-devel] [RFC PATCH v2 13/22] xen/arm: its: Add virtual ITS command support



On Thu, Apr 30, 2015 at 3:45 PM, Stefano Stabellini
<stefano.stabellini@xxxxxxxxxxxxx> wrote:
> On Thu, 30 Apr 2015, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 30/04/2015 11:02, Stefano Stabellini wrote:
>> > On Wed, 29 Apr 2015, Julien Grall wrote:
>> > > On 29/04/15 17:30, Vijay Kilari wrote:
>> > > > On Wed, Apr 29, 2015 at 9:56 PM, Vijay Kilari <vijay.kilari@xxxxxxxxx>
>> > > > wrote:
>> > > > > On Wed, Apr 29, 2015 at 7:05 PM, Julien Grall
>> > > > > <julien.grall@xxxxxxxxxx> wrote:
>> > > > > > On 29/04/15 12:56, Julien Grall wrote:
>> > > > > > > As the 2 suggested approach don't seem to fit our usage, we need
>> > > > > > > to find
>> > > > > > > another approach.
>> > > > > >
>> > > > > > I think I have another approach which doesn't require interrupt
>> > > > > > neither
>> > > > > > polling in EL2.
>> > > > >
>> > > > > I could resolve all the issues around approach 1
>> > > > > only concern is generating dummy/fake device id.
>> > >
>> > > This is a big concern. We can't hardcode the devID because a real device
>> > > could use it later. Having an ID generating at the boot time wouldn't be
>> > > better because it could be broken with device hotplug.
>> > >
>> > > It's very unfortunate that the ITS doesn't have a reserved interrupt.
>> >
>> > Indeed, but it is an issue that can be overcome. We should just use an
>> > out-of-range devid. One that cannot be hot-plugged later.
>> >
>> > The one proposed by Vijay is actually not a bad idea (segment number
>> > 0xff). Segment numbers correspond to MCFG config spaces. There is
>> > usually one per root complex, but theoretically I think one root complex
>> > could have more.
>> >
>> > I don't think is possible to hot-plug a root complex, so if one is spare
>> > at boot time, we should be safe. Even if it was possible, we could still
>> > return error from PHYSDEVOP_pci_host_bridge_add if the segment number
>> > overlaps (see http://marc.info/?l=xen-devel&m=142495489932714).
>> >
>> > So I think we should just go ahead and use PLAT_DUMMY_SEG 0xff.
>>
>> As said earlier, the number of DevBits implemented by the ITS can be limited
>> (see GITS_TYPER.Devbits).

ITS specs does not define how may of these bits corresponds to segment number.
This is platform specific.

>>
>> If the devid is not within this range, the ITS won't recognize the value and
>> won't be able to send the interrupt.
>>
>> So this is clearly not the right value.
>
> Sure, in that case the maximum value allowed by GITS_TYPER.Devbits.
> Vijay, what is the value of GITS_TYPER.Devbits on your platform?

It is 21 bits

_______________________________________________
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®.