[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 Wed, Apr 29, 2015 at 9:56 PM, Vijay Kilari <vijay.kilari@xxxxxxxxx> wrote: > Hi Julien, > > 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. > >> >> 1) Trap on CWRITER >> a) Read command for the vITS CQ >> b) Transform command >> c) Inject command >> - If ITS CQ full => 2) >> - If vITS CQ empty => 2) >> - Else => 1) >> 2) Return to guest >> 3) Trap on CREADR >> a) Check completion of the current batch of command >> - If complete => 3.b) >> - Else => 4) >> b) Update CREADR >> c) Check if more command and inject it (see process in 1)) >> 4) Return to guest >> >> Some other restrictions to add: >> - If there is already a batch of command in process for the domain, >> defer the injection of new command >> - The number of command sent in a batch should be limited. >> >> I think thoses restrictions are okay because the ITS is per-domain not >> per-VCPU. >> >> Although, there is a possible problem if the guest is not reading >> CREADR. Maybe having a timer would be fine to update CREADR and inject >> new commands. > > How to know that guest is not reading CREADR and using INT mode to > check for completion? > One way is when INT ITS command is emulated, then we can assume that guest > is using INT mode and use timer to update CREADR and inject new > commands. > > However with INT mode, if the guest driver is checking for CREADR > value on receiving completion interrupt requested through INT ITS command > then CREADR will show up old value. On trap of CREADR we have to update it. So this can be handled _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |