diff options
author | Mark Johnson <Mark.Johnson@Sun.COM> | 2009-11-19 16:33:43 -0800 |
---|---|---|
committer | Mark Johnson <Mark.Johnson@Sun.COM> | 2009-11-19 16:33:43 -0800 |
commit | ad09f8b827db90c9a0093f0b6382803fa64a5fd1 (patch) | |
tree | ef1bb75a6b6e141a6bf30a6cce7d510ba0b9d0c1 /usr/src/uts/common/xen/public/physdev.h | |
parent | 8a81408b37659de35fbd3e289726c61726a3580d (diff) | |
download | illumos-joyent-ad09f8b827db90c9a0093f0b6382803fa64a5fd1.tar.gz |
6895977 Update Xen to 3.4
Diffstat (limited to 'usr/src/uts/common/xen/public/physdev.h')
-rw-r--r-- | usr/src/uts/common/xen/public/physdev.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/usr/src/uts/common/xen/public/physdev.h b/usr/src/uts/common/xen/public/physdev.h index 8057277baa..cb7e4d469b 100644 --- a/usr/src/uts/common/xen/public/physdev.h +++ b/usr/src/uts/common/xen/public/physdev.h @@ -41,6 +41,21 @@ typedef struct physdev_eoi physdev_eoi_t; DEFINE_XEN_GUEST_HANDLE(physdev_eoi_t); /* + * Register a shared page for the hypervisor to indicate whether the guest + * must issue PHYSDEVOP_eoi. The semantics of PHYSDEVOP_eoi change slightly + * once the guest used this function in that the associated event channel + * will automatically get unmasked. The page registered is used as a bit + * array indexed by Xen's PIRQ value. + */ +#define PHYSDEVOP_pirq_eoi_gmfn 17 +struct physdev_pirq_eoi_gmfn { + /* IN */ + xen_pfn_t gmfn; +}; +typedef struct physdev_pirq_eoi_gmfn physdev_pirq_eoi_gmfn_t; +DEFINE_XEN_GUEST_HANDLE(physdev_pirq_eoi_gmfn_t); + +/* * Query the status of an IRQ line. * @arg == pointer to physdev_irq_status_query structure. */ @@ -168,6 +183,31 @@ struct physdev_manage_pci { typedef struct physdev_manage_pci physdev_manage_pci_t; DEFINE_XEN_GUEST_HANDLE(physdev_manage_pci_t); +#define PHYSDEVOP_restore_msi 19 +struct physdev_restore_msi { + /* IN */ + uint8_t bus; + uint8_t devfn; +}; +typedef struct physdev_restore_msi physdev_restore_msi_t; +DEFINE_XEN_GUEST_HANDLE(physdev_restore_msi_t); + +#define PHYSDEVOP_manage_pci_add_ext 20 +struct physdev_manage_pci_ext { + /* IN */ + uint8_t bus; + uint8_t devfn; + unsigned is_extfn; + unsigned is_virtfn; + struct { + uint8_t bus; + uint8_t devfn; + } physfn; +}; + +typedef struct physdev_manage_pci_ext physdev_manage_pci_ext_t; +DEFINE_XEN_GUEST_HANDLE(physdev_manage_pci_ext_t); + /* * Argument to physdev_op_compat() hypercall. Superceded by new physdev_op() * hypercall since 0x00030202. |