diff options
Diffstat (limited to 'include/xen/interface/physdev.h')
| -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 ** |
