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

Re: [Xen-devel] [PATCH v4 12/17] xen/arm: ITS: Initialize LPI irq descriptors and route

On 20/07/15 14:07, Vijay Kilari wrote:
> AUI, you are refering to
> http://xenbits.xen.org/people/ianc/vits/draftG.html#virtual-lpi-injection
> If we want to extract, its_device, and VITT information before calling
> vgic_vcpu_inject_lpi(),
>  it cannot be done in do_IRQ() as irq.c cannot have vITS related code.

IHMO it can't be done in vgic.c too...

> So one option is to call vits_foo() function which will validated plpi and get
> its_device / VITT info and call vgic_vcpu_inject_lpi(). So vITS will
> call back vgic function.
> OR
> Introduce new vgic function for doing this and call vgic_vcpu_inject_lpi().

I don't understand why you need to validate the plpi. It's already done
when we receive the IRQ.

Furthermore, you will need to retrieve again the VITT entry in
vgic_vcpu_inject_lpi in order to get the collection associated to the vLPI.

Given that the irq_desc as the vDevID and the eventID and the INT
command will have the same parameters in hand it looks like to me that
the prototype of vgic_vcpu_inject_lpi should be

vgic_vcpu_inject_lpi(struct domain *d, uint32_t vdevid, uint32_t eventid)

And the vgic_vcpu_inject_lpi will take care of retrieving the vLPI and
the collection associated.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.