Print this page
patch tsoome-feedback


 167                 }
 168         }
 169         if (dnpath) {
 170                 di_devfs_path_free(dnpath);
 171         }
 172         /* T5440 device type is always "pciex" */
 173         if (topo_prop_set_string(rcn, TOPO_PGROUP_IO, TOPO_IO_DEVTYPE,
 174             TOPO_PROP_IMMUTABLE, CPUBOARD_PX_DEVTYPE, &err) != 0) {
 175                 topo_mod_dprintf(mp, "Failed to set DEVTYPE property\n");
 176         }
 177         /* T5440 driver is always "px" */
 178         if (topo_prop_set_string(rcn, TOPO_PGROUP_IO, TOPO_IO_DRIVER,
 179             TOPO_PROP_IMMUTABLE, CPUBOARD_PX_DRV, &err) != 0) {
 180                 topo_mod_dprintf(mp, "Failed to set DRIVER property\n");
 181         }
 182         if ((mod = topo_mod_modfmri(mp, FM_MOD_SCHEME_VERSION, CPUBOARD_PX_DRV))
 183             == NULL || topo_prop_set_fmri(rcn, TOPO_PGROUP_IO,
 184             TOPO_IO_MODULE, TOPO_PROP_IMMUTABLE, mod,  &err) != 0) {
 185                 topo_mod_dprintf(mp, "Failed to set MODULE property\n");
 186         }
 187         if (mod != NULL)
 188                 nvlist_free(mod);
 189 
 190         /* This is a PCIEX Root Complex */
 191         if (topo_prop_set_string(rcn, TOPO_PGROUP_PCI, TOPO_PCI_EXCAP,
 192             TOPO_PROP_IMMUTABLE, PCIEX_ROOT, &err) != 0) {
 193                 topo_mod_dprintf(mp, "Failed to set EXCAP property\n");
 194         }
 195         /* BDF of T5440 root complex is constant */
 196         if (topo_prop_set_string(rcn, TOPO_PGROUP_PCI,
 197             TOPO_PCI_BDF, TOPO_PROP_IMMUTABLE, CPUBOARD_PX_BDF, &err) != 0) {
 198                 topo_mod_dprintf(mp, "Failed to set EXCAP property\n");
 199         }
 200 
 201         /* Make room for children */
 202         (void) topo_node_range_create(mp, rcn, PCIEX_BUS, 0, CPUBOARD_MAX);
 203         return (rcn);
 204 }
 205 
 206 /*
 207  * Create a hostbridge node.




 167                 }
 168         }
 169         if (dnpath) {
 170                 di_devfs_path_free(dnpath);
 171         }
 172         /* T5440 device type is always "pciex" */
 173         if (topo_prop_set_string(rcn, TOPO_PGROUP_IO, TOPO_IO_DEVTYPE,
 174             TOPO_PROP_IMMUTABLE, CPUBOARD_PX_DEVTYPE, &err) != 0) {
 175                 topo_mod_dprintf(mp, "Failed to set DEVTYPE property\n");
 176         }
 177         /* T5440 driver is always "px" */
 178         if (topo_prop_set_string(rcn, TOPO_PGROUP_IO, TOPO_IO_DRIVER,
 179             TOPO_PROP_IMMUTABLE, CPUBOARD_PX_DRV, &err) != 0) {
 180                 topo_mod_dprintf(mp, "Failed to set DRIVER property\n");
 181         }
 182         if ((mod = topo_mod_modfmri(mp, FM_MOD_SCHEME_VERSION, CPUBOARD_PX_DRV))
 183             == NULL || topo_prop_set_fmri(rcn, TOPO_PGROUP_IO,
 184             TOPO_IO_MODULE, TOPO_PROP_IMMUTABLE, mod,  &err) != 0) {
 185                 topo_mod_dprintf(mp, "Failed to set MODULE property\n");
 186         }

 187         nvlist_free(mod);
 188 
 189         /* This is a PCIEX Root Complex */
 190         if (topo_prop_set_string(rcn, TOPO_PGROUP_PCI, TOPO_PCI_EXCAP,
 191             TOPO_PROP_IMMUTABLE, PCIEX_ROOT, &err) != 0) {
 192                 topo_mod_dprintf(mp, "Failed to set EXCAP property\n");
 193         }
 194         /* BDF of T5440 root complex is constant */
 195         if (topo_prop_set_string(rcn, TOPO_PGROUP_PCI,
 196             TOPO_PCI_BDF, TOPO_PROP_IMMUTABLE, CPUBOARD_PX_BDF, &err) != 0) {
 197                 topo_mod_dprintf(mp, "Failed to set EXCAP property\n");
 198         }
 199 
 200         /* Make room for children */
 201         (void) topo_node_range_create(mp, rcn, PCIEX_BUS, 0, CPUBOARD_MAX);
 202         return (rcn);
 203 }
 204 
 205 /*
 206  * Create a hostbridge node.