8994 char *phdriver_name; /* name of the phci driver */
8995
8996 /* set to non zero if the phci driver supports root device */
8997 int phdriver_root_support;
8998 } mdi_phci_driver_info_t;
8999
9000 /*
9001 * vhci class and root support capability of a phci driver can be
9002 * specified using ddi-vhci-class and ddi-no-root-support properties in the
9003 * phci driver.conf file. The built-in tables below contain this information
9004 * for those phci drivers whose driver.conf files don't yet contain this info.
9005 *
9006 * All phci drivers expect iscsi have root device support.
9007 */
9008 static mdi_phci_driver_info_t scsi_phci_driver_list[] = {
9009 { "fp", 1 },
9010 { "iscsi", 0 },
9011 { "ibsrp", 1 }
9012 };
9013
9014 static mdi_phci_driver_info_t ib_phci_driver_list[] = { "tavor", 1 };
9015
9016 static void *
9017 mdi_realloc(void *old_ptr, size_t old_size, size_t new_size)
9018 {
9019 void *new_ptr;
9020
9021 new_ptr = kmem_zalloc(new_size, KM_SLEEP);
9022 if (old_ptr) {
9023 bcopy(old_ptr, new_ptr, MIN(old_size, new_size));
9024 kmem_free(old_ptr, old_size);
9025 }
9026 return (new_ptr);
9027 }
9028
9029 static void
9030 add_to_phci_list(char ***driver_list, int **root_support_list,
9031 int *cur_elements, int *max_elements, char *driver_name, int root_support)
9032 {
9033 ASSERT(*cur_elements <= *max_elements);
9034 if (*cur_elements == *max_elements) {
|
8994 char *phdriver_name; /* name of the phci driver */
8995
8996 /* set to non zero if the phci driver supports root device */
8997 int phdriver_root_support;
8998 } mdi_phci_driver_info_t;
8999
9000 /*
9001 * vhci class and root support capability of a phci driver can be
9002 * specified using ddi-vhci-class and ddi-no-root-support properties in the
9003 * phci driver.conf file. The built-in tables below contain this information
9004 * for those phci drivers whose driver.conf files don't yet contain this info.
9005 *
9006 * All phci drivers expect iscsi have root device support.
9007 */
9008 static mdi_phci_driver_info_t scsi_phci_driver_list[] = {
9009 { "fp", 1 },
9010 { "iscsi", 0 },
9011 { "ibsrp", 1 }
9012 };
9013
9014 static mdi_phci_driver_info_t ib_phci_driver_list[] = {{ "tavor", 1 }};
9015
9016 static void *
9017 mdi_realloc(void *old_ptr, size_t old_size, size_t new_size)
9018 {
9019 void *new_ptr;
9020
9021 new_ptr = kmem_zalloc(new_size, KM_SLEEP);
9022 if (old_ptr) {
9023 bcopy(old_ptr, new_ptr, MIN(old_size, new_size));
9024 kmem_free(old_ptr, old_size);
9025 }
9026 return (new_ptr);
9027 }
9028
9029 static void
9030 add_to_phci_list(char ***driver_list, int **root_support_list,
9031 int *cur_elements, int *max_elements, char *driver_name, int root_support)
9032 {
9033 ASSERT(*cur_elements <= *max_elements);
9034 if (*cur_elements == *max_elements) {
|