diff options
Diffstat (limited to 'include/xen/interface/physdev.h')
| -rw-r--r-- | include/xen/interface/physdev.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h index cd6939147cb6..2b2c66c3df00 100644 --- a/include/xen/interface/physdev.h +++ b/include/xen/interface/physdev.h | |||
| @@ -106,6 +106,57 @@ 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 | |||
| 139 | #define PHYSDEVOP_manage_pci_add 15 | ||
| 140 | #define PHYSDEVOP_manage_pci_remove 16 | ||
| 141 | struct physdev_manage_pci { | ||
| 142 | /* IN */ | ||
| 143 | uint8_t bus; | ||
| 144 | uint8_t devfn; | ||
| 145 | }; | ||
| 146 | |||
| 147 | #define PHYSDEVOP_manage_pci_add_ext 20 | ||
| 148 | struct physdev_manage_pci_ext { | ||
| 149 | /* IN */ | ||
| 150 | uint8_t bus; | ||
| 151 | uint8_t devfn; | ||
| 152 | unsigned is_extfn; | ||
| 153 | unsigned is_virtfn; | ||
| 154 | struct { | ||
| 155 | uint8_t bus; | ||
| 156 | uint8_t devfn; | ||
| 157 | } physfn; | ||
| 158 | }; | ||
| 159 | |||
| 109 | /* | 160 | /* |
| 110 | * Argument to physdev_op_compat() hypercall. Superceded by new physdev_op() | 161 | * Argument to physdev_op_compat() hypercall. Superceded by new physdev_op() |
| 111 | * hypercall since 0x00030202. | 162 | * hypercall since 0x00030202. |
| @@ -121,6 +172,22 @@ struct physdev_op { | |||
| 121 | } u; | 172 | } u; |
| 122 | }; | 173 | }; |
| 123 | 174 | ||
| 175 | #define PHYSDEVOP_setup_gsi 21 | ||
| 176 | struct physdev_setup_gsi { | ||
| 177 | int gsi; | ||
| 178 | /* IN */ | ||
| 179 | uint8_t triggering; | ||
| 180 | /* IN */ | ||
| 181 | uint8_t polarity; | ||
| 182 | /* IN */ | ||
| 183 | }; | ||
| 184 | |||
| 185 | #define PHYSDEVOP_get_nr_pirqs 22 | ||
| 186 | struct physdev_nr_pirqs { | ||
| 187 | /* OUT */ | ||
| 188 | uint32_t nr_pirqs; | ||
| 189 | }; | ||
| 190 | |||
| 124 | /* | 191 | /* |
| 125 | * Notify that some PIRQ-bound event channels have been unmasked. | 192 | * Notify that some PIRQ-bound event channels have been unmasked. |
| 126 | * ** This command is obsolete since interface version 0x00030202 and is ** | 193 | * ** This command is obsolete since interface version 0x00030202 and is ** |
