diff options
| author | arutz <none@none> | 2007-11-19 11:35:30 -0800 |
|---|---|---|
| committer | arutz <none@none> | 2007-11-19 11:35:30 -0800 |
| commit | ad1592816585b2f21f25dcc07a8626676a7cec20 (patch) | |
| tree | a6556c737dfd8303b7358eefae721788fe37d6f8 /usr/src/cmd/picl/plugins/common/devtree/picldevtree.c | |
| parent | 24dd95375a09d43fe4f6b55f6d5188f4bac4f68d (diff) | |
| download | illumos-gate-ad1592816585b2f21f25dcc07a8626676a7cec20.tar.gz | |
6243759 picl is blind to devices/instances attached after boot
Diffstat (limited to 'usr/src/cmd/picl/plugins/common/devtree/picldevtree.c')
| -rw-r--r-- | usr/src/cmd/picl/plugins/common/devtree/picldevtree.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c b/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c index 61435cd0fd..6ae36fed36 100644 --- a/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c +++ b/usr/src/cmd/picl/plugins/common/devtree/picldevtree.c @@ -1517,8 +1517,14 @@ libdevinfo_init(picl_nodehdl_t rooth) picl_nodehdl_t obph; int err; - - if ((di_root = di_init("/", DINFOCPYALL)) == DI_NODE_NIL) + /* + * Use DINFOCACHE so that we obtain all attributes for all + * device instances (without necessarily doing a load/attach + * of all drivers). Once the (on-disk) cache file is built, it + * exists over a reboot and can be read into memory at a very + * low cost. + */ + if ((di_root = di_init("/", DINFOCACHE)) == DI_NODE_NIL) return (PICL_FAILURE); if ((ph = di_prom_init()) == NULL) |
