[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 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.

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.

Regards,

-- 
Julien Grall

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