diff options
Diffstat (limited to 'include/xen/interface')
-rw-r--r-- | include/xen/interface/physdev.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h index 534cac89a77d..c1080d9c705d 100644 --- a/include/xen/interface/physdev.h +++ b/include/xen/interface/physdev.h | |||
@@ -109,6 +109,7 @@ struct physdev_irq { | |||
109 | #define MAP_PIRQ_TYPE_MSI 0x0 | 109 | #define MAP_PIRQ_TYPE_MSI 0x0 |
110 | #define MAP_PIRQ_TYPE_GSI 0x1 | 110 | #define MAP_PIRQ_TYPE_GSI 0x1 |
111 | #define MAP_PIRQ_TYPE_UNKNOWN 0x2 | 111 | #define MAP_PIRQ_TYPE_UNKNOWN 0x2 |
112 | #define MAP_PIRQ_TYPE_MSI_SEG 0x3 | ||
112 | 113 | ||
113 | #define PHYSDEVOP_map_pirq 13 | 114 | #define PHYSDEVOP_map_pirq 13 |
114 | struct physdev_map_pirq { | 115 | struct physdev_map_pirq { |
@@ -119,7 +120,7 @@ struct physdev_map_pirq { | |||
119 | int index; | 120 | int index; |
120 | /* IN or OUT */ | 121 | /* IN or OUT */ |
121 | int pirq; | 122 | int pirq; |
122 | /* IN */ | 123 | /* IN - high 16 bits hold segment for MAP_PIRQ_TYPE_MSI_SEG */ |
123 | int bus; | 124 | int bus; |
124 | /* IN */ | 125 | /* IN */ |
125 | int devfn; | 126 | int devfn; |
@@ -198,6 +199,37 @@ struct physdev_get_free_pirq { | |||
198 | uint32_t pirq; | 199 | uint32_t pirq; |
199 | }; | 200 | }; |
200 | 201 | ||
202 | #define XEN_PCI_DEV_EXTFN 0x1 | ||
203 | #define XEN_PCI_DEV_VIRTFN 0x2 | ||
204 | #define XEN_PCI_DEV_PXM 0x4 | ||
205 | |||
206 | #define PHYSDEVOP_pci_device_add 25 | ||
207 | struct physdev_pci_device_add { | ||
208 | /* IN */ | ||
209 | uint16_t seg; | ||
210 | uint8_t bus; | ||
211 | uint8_t devfn; | ||
212 | uint32_t flags; | ||
213 | struct { | ||
214 | uint8_t bus; | ||
215 | uint8_t devfn; | ||
216 | } physfn; | ||
217 | #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L | ||
218 | uint32_t optarr[]; | ||
219 | #elif defined(__GNUC__) | ||
220 | uint32_t optarr[0]; | ||
221 | #endif | ||
222 | }; | ||
223 | |||
224 | #define PHYSDEVOP_pci_device_remove 26 | ||
225 | #define PHYSDEVOP_restore_msi_ext 27 | ||
226 | struct physdev_pci_device { | ||
227 | /* IN */ | ||
228 | uint16_t seg; | ||
229 | uint8_t bus; | ||
230 | uint8_t devfn; | ||
231 | }; | ||
232 | |||
201 | /* | 233 | /* |
202 | * Notify that some PIRQ-bound event channels have been unmasked. | 234 | * Notify that some PIRQ-bound event channels have been unmasked. |
203 | * ** This command is obsolete since interface version 0x00030202 and is ** | 235 | * ** This command is obsolete since interface version 0x00030202 and is ** |