Files
xen/tools/libxc
Julien Grall b49a7517bb xen/arm: Implement hypercall DOMCTL_{, un}bind_pt_pirq
On x86, an IRQ is assigned in 2 steps to an HVM guest:
    - The toolstack is calling PHYSDEVOP_map_pirq in order to create a
    guest PIRQ (IRQ bound to an event channel)
    - The emulator (QEMU) is calling DOMCTL_bind_pt_irq in order to
    bind the IRQ

On ARM, there is no concept of PIRQ as the IRQ can be assigned to a
virtual IRQ using the interrupt controller.

It's not clear if we will need 2 different hypercalls on ARM to assign
IRQ and, for now, only the toolstack will manage IRQ.

In order to avoid re-using a fixed ABI hypercall (PHYSDEVOP_*) for a
different purpose and allow us more time to figure out the right out,
only DOMCTL_{,un}bind_pt_pirq is implemented on ARM.

The DOMCTL is extended with a new type PT_IRQ_TYPE_SPI and only IRQ ==
vIRQ (i.e machine_irq == spi) is supported.

In order to keep the same XSM checks done by the 2 hypercalls on x86,
call both xsm_map_domain_irq & xsm_bind_pt_irq in the ARM implementation.

Note: The toolstack changes for routing an IRQ to a guest will be done
in a separate patch.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Cc: Jan Beulich <jbeulich@suse.com>
2015-05-08 15:41:58 +01:00
..
2010-08-24 18:42:59 +01:00
2010-08-24 18:42:59 +01:00
2010-08-24 18:42:59 +01:00
2010-08-24 18:42:59 +01:00
2010-08-24 18:42:59 +01:00
2014-03-12 13:26:15 +00:00
2014-06-18 17:17:49 +01:00
2013-11-12 11:47:07 +01:00
2014-09-23 14:40:07 +01:00
2010-08-24 18:42:59 +01:00
2015-05-05 14:30:47 +01:00
2014-05-02 13:34:34 +01:00