diff options
| author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2010-06-24 11:42:04 -0400 |
|---|---|---|
| committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2010-10-22 16:25:41 -0400 |
| commit | 42a1de56f35a9c87932f45439dc1b09c8da0cc95 (patch) | |
| tree | 4be6a92222ef2efabd1705cd6b3adb7832f7f9a9 /include/xen/interface/physdev.h | |
| parent | 01557baff6e9c371d4c96e01089dca32cf347500 (diff) | |
xen: implement xen_hvm_register_pirq
xen_hvm_register_pirq allows the kernel to map a GSI into a Xen pirq and
receive the interrupt as an event channel from that point on.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'include/xen/interface/physdev.h')
| -rw-r--r-- | include/xen/interface/physdev.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h index fbb58833f13e..69a72b96a6cb 100644 --- a/include/xen/interface/physdev.h +++ b/include/xen/interface/physdev.h | |||
| @@ -106,6 +106,36 @@ struct physdev_irq { | |||
| 106 | uint32_t vector; | 106 | uint32_t vector; |
| 107 | }; | 107 | }; |
| 108 | 108 | ||
| 109 | #define MAP_PIRQ_TYPE_MSI 0x0 | ||
| 110 | #define MAP_PIRQ_TYPE_GSI 0x1 | ||
| 111 | #define MAP_PIRQ_TYPE_UNKNOWN 0x2 | ||
| 112 | |||
| 113 | #define PHYSDEVOP_map_pirq 13 | ||
| 114 | struct physdev_map_pirq { | ||
| 115 | domid_t domid; | ||
| 116 | /* IN */ | ||
| 117 | int type; | ||
| 118 | /* IN */ | ||
| 119 | int index; | ||
| 120 | /* IN or OUT */ | ||
| 121 | int pirq; | ||
| 122 | /* IN */ | ||
| 123 | int bus; | ||
| 124 | /* IN */ | ||
| 125 | int devfn; | ||
| 126 | /* IN */ | ||
| 127 | int entry_nr; | ||
| 128 | /* IN */ | ||
| 129 | uint64_t table_base; | ||
| 130 | }; | ||
| 131 | |||
| 132 | #define PHYSDEVOP_unmap_pirq 14 | ||
| 133 | struct physdev_unmap_pirq { | ||
| 134 | domid_t domid; | ||
| 135 | /* IN */ | ||
| 136 | int pirq; | ||
| 137 | }; | ||
| 138 | |||
| 109 | /* | 139 | /* |
| 110 | * Argument to physdev_op_compat() hypercall. Superceded by new physdev_op() | 140 | * Argument to physdev_op_compat() hypercall. Superceded by new physdev_op() |
| 111 | * hypercall since 0x00030202. | 141 | * hypercall since 0x00030202. |
