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 | |
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')
-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 fbb58833f13..69a72b96a6c 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. |