summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/xen/public/physdev.h
diff options
context:
space:
mode:
authorMark Johnson <Mark.Johnson@Sun.COM>2009-11-19 16:33:43 -0800
committerMark Johnson <Mark.Johnson@Sun.COM>2009-11-19 16:33:43 -0800
commitad09f8b827db90c9a0093f0b6382803fa64a5fd1 (patch)
treeef1bb75a6b6e141a6bf30a6cce7d510ba0b9d0c1 /usr/src/uts/common/xen/public/physdev.h
parent8a81408b37659de35fbd3e289726c61726a3580d (diff)
downloadillumos-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.h40
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.