diff options
| author | Evan Yan <Evan.Yan@Sun.COM> | 2009-11-02 15:58:28 +0800 |
|---|---|---|
| committer | Evan Yan <Evan.Yan@Sun.COM> | 2009-11-02 15:58:28 +0800 |
| commit | 269473047d747f7815af570197e4ef7322d3632c (patch) | |
| tree | e93761fa235a8ba4c1b5c637a8f3a429be21a508 /usr/src/uts/common/sys/devinfo_impl.h | |
| parent | b24ab6762772a3f6a89393947930c7fa61306783 (diff) | |
| download | illumos-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.h | 25 |
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 */ |
