Print this page
NEX-15262 xdf panics if it fails to attach the device
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15262 xdf panics if it fails to attach the device
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-14823 xdf devices attach hybrid VTOC/EFI label
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-14791 rework PV-HVM disk device handling
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
NEX-14565 port upstream Xen-related fixes
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
7777 Expose xdf minor nodes when in PV-HVM mode
Reviewed by: Jeremy Jones <jeremy@delphix.com>
Reviewed by: Basil Crow <basil.crow@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
8020 Fix iostat on the EC2 instances
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Dan McDonald <danmcd@omniti.com>
re #13140 rb4270 hvm_sd module missing dependencies on scsi and cmlb
re #13166 rb4270 Check for Xen HVM even if CPUID signature returns Microsoft Hv
re #13187 rb4270 Fix Xen HVM related warnings


3581          * across reboot.
3582          */
3583         xdf_devid_setup(vdp);
3584         if (vdp->xdf_tgt_devid == NULL) {
3585                 if (ddi_devid_init(vdp->xdf_dip, DEVID_FAB, 0, NULL,
3586                     &vdp->xdf_tgt_devid) != DDI_SUCCESS) {
3587                         cmn_err(CE_WARN,
3588                             "xdf@%s_ attach failed, devid_init failed",
3589                             ddi_get_name_addr(dip));
3590                         goto errout1;
3591                 } else {
3592                         (void) ddi_devid_register(vdp->xdf_dip,
3593                             vdp->xdf_tgt_devid);
3594                 }
3595         }
3596 
3597 done:
3598 #ifdef XPV_HVM_DRIVER
3599         xdf_hvm_add(dip);
3600 
3601         /* Report our version to dom0.  */
3602         if (xenbus_printf(XBT_NULL, "guest/xdf", "version", "%d",
3603             HVMPV_XDF_VERS))
3604                 cmn_err(CE_WARN, "xdf: couldn't write version\n");
3605 
3606 #endif /* XPV_HVM_DRIVER */
3607 
3608         /* Create kstat for iostat(1M) */
3609         if (xdf_kstat_create(dip) != 0) {
3610                 cmn_err(CE_WARN, "xdf@%s: failed to create kstat",
3611                     ddi_get_name_addr(dip));
3612                 goto errout1;
3613         }
3614 
3615         /*
3616          * Don't bother with getting real device identification
3617          * strings (is it even possible?), they are unlikely to
3618          * change often (if at all).
3619          */
3620         (void) ndi_prop_update_string(DDI_DEV_T_NONE, dip, INQUIRY_VENDOR_ID,
3621             "Xen");
3622         (void) ndi_prop_update_string(DDI_DEV_T_NONE, dip, INQUIRY_PRODUCT_ID,
3623             dev_iscd ? "Virtual CD" : "Virtual disk");
3624         (void) ndi_prop_update_string(DDI_DEV_T_NONE, dip, INQUIRY_REVISION_ID,
3625             "1.0");




3581          * across reboot.
3582          */
3583         xdf_devid_setup(vdp);
3584         if (vdp->xdf_tgt_devid == NULL) {
3585                 if (ddi_devid_init(vdp->xdf_dip, DEVID_FAB, 0, NULL,
3586                     &vdp->xdf_tgt_devid) != DDI_SUCCESS) {
3587                         cmn_err(CE_WARN,
3588                             "xdf@%s_ attach failed, devid_init failed",
3589                             ddi_get_name_addr(dip));
3590                         goto errout1;
3591                 } else {
3592                         (void) ddi_devid_register(vdp->xdf_dip,
3593                             vdp->xdf_tgt_devid);
3594                 }
3595         }
3596 
3597 done:
3598 #ifdef XPV_HVM_DRIVER
3599         xdf_hvm_add(dip);
3600 
3601         /* Report our version to dom0 */
3602         (void) xenbus_printf(XBT_NULL, "guest/xdf", "version", "%d",
3603             HVMPV_XDF_VERS);


3604 #endif /* XPV_HVM_DRIVER */
3605 
3606         /* Create kstat for iostat(1M) */
3607         if (xdf_kstat_create(dip) != 0) {
3608                 cmn_err(CE_WARN, "xdf@%s: failed to create kstat",
3609                     ddi_get_name_addr(dip));
3610                 goto errout1;
3611         }
3612 
3613         /*
3614          * Don't bother with getting real device identification
3615          * strings (is it even possible?), they are unlikely to
3616          * change often (if at all).
3617          */
3618         (void) ndi_prop_update_string(DDI_DEV_T_NONE, dip, INQUIRY_VENDOR_ID,
3619             "Xen");
3620         (void) ndi_prop_update_string(DDI_DEV_T_NONE, dip, INQUIRY_PRODUCT_ID,
3621             dev_iscd ? "Virtual CD" : "Virtual disk");
3622         (void) ndi_prop_update_string(DDI_DEV_T_NONE, dip, INQUIRY_REVISION_ID,
3623             "1.0");