summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/devinfo_impl.h
diff options
context:
space:
mode:
authorEvan Yan <Evan.Yan@Sun.COM>2009-11-02 15:58:28 +0800
committerEvan Yan <Evan.Yan@Sun.COM>2009-11-02 15:58:28 +0800
commit269473047d747f7815af570197e4ef7322d3632c (patch)
treee93761fa235a8ba4c1b5c637a8f3a429be21a508 /usr/src/uts/common/sys/devinfo_impl.h
parentb24ab6762772a3f6a89393947930c7fa61306783 (diff)
downloadillumos-joyent-269473047d747f7815af570197e4ef7322d3632c.tar.gz
PSARC/2008/181 Solaris Hotplug Framework
6837240 Solaris Hotplug Framework 6783012 Add support for PCIe Alternate Routing-ID Interpretation 6638136 remove obsolete ndi_ra_xxx logic from px_msi code 6695081 Race condition between pciehpc_intr() and pciehpc_init() --HG-- rename : usr/src/uts/common/io/hotplug/pciehpc/pciehpc.c => usr/src/uts/common/io/pciex/hotplug/pciehpc.c rename : usr/src/uts/common/io/hotplug/pcishpc/pcishpc.c => usr/src/uts/common/io/pciex/hotplug/pcishpc.c rename : usr/src/uts/intel/io/hotplug/pciehpc/pciehpc_acpi.c => usr/src/uts/intel/io/pciex/hotplug/pciehpc_acpi.c rename : usr/src/uts/intel/io/hotplug/pciehpc/pciehpc_acpi.h => usr/src/uts/intel/sys/hotplug/pci/pciehpc_acpi.h rename : usr/src/uts/sparc/pcicfg.e/Makefile => usr/src/uts/sparc/pcicfg/Makefile rename : usr/src/uts/sun4/io/pcicfg.e.c => usr/src/uts/sun4/io/pcicfg.c
Diffstat (limited to 'usr/src/uts/common/sys/devinfo_impl.h')
-rw-r--r--usr/src/uts/common/sys/devinfo_impl.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/usr/src/uts/common/sys/devinfo_impl.h b/usr/src/uts/common/sys/devinfo_impl.h
index 4f874ea1e3..411ec3f5e2 100644
--- a/usr/src/uts/common/sys/devinfo_impl.h
+++ b/usr/src/uts/common/sys/devinfo_impl.h
@@ -64,6 +64,9 @@ extern "C" {
/* new public flag for the layered drivers framework */
#define DINFOLYR (DIIOC | 0x40) /* get device layering information */
+/* new public flag for the hotplug framework */
+#define DINFOHP (DIIOC | 0x400000) /* include hotplug information */
+
/*
* Straight ioctl commands, not bitwise operation
*/
@@ -119,6 +122,7 @@ extern "C" {
#define DI_LINK(addr) ((struct di_link *)((void *)(addr)))
#define DI_LNODE(addr) ((struct di_lnode *)((void *)(addr)))
#define DI_PRIV_FORMAT(addr) ((struct di_priv_format *)((void *)(addr)))
+#define DI_HP(addr) ((struct di_hp *)((void *)(addr)))
/*
* multipath component definitions: Follows the registered component of
@@ -269,12 +273,15 @@ struct di_node { /* useful info to export for each tree node */
di_off_t top_phci;
di_off_t next_phci;
uint32_t multipath_component; /* stores MDI_COMPONENT_* value. */
-
/*
* devi_flags field
*/
uint32_t flags;
uint32_t di_pad2; /* 4 byte padding for 32bit x86 app. */
+ /*
+ * offset to hotplug nodes.
+ */
+ di_off_t hp_data;
};
/*
@@ -321,6 +328,22 @@ struct di_path {
};
/*
+ * chain of hotplug information structures
+ */
+struct di_hp {
+ di_off_t self; /* make it self addressable */
+ di_off_t next; /* next one in chain */
+ di_off_t hp_name; /* name of hotplug connection */
+ int hp_connection; /* connection number */
+ int hp_depends_on; /* connection number depended upon */
+ int hp_state; /* current hotplug state */
+ int hp_type; /* connection type: PCI, ... */
+ di_off_t hp_type_str; /* description of connection type */
+ uint32_t hp_last_change; /* timestamp of last change */
+ di_off_t hp_child; /* child device node */
+};
+
+/*
* Flags for snap_state
*/
#define DI_PATH_SNAP_NOCLIENT 0x01 /* client endpt not in snapshot */