* @schedule_dead_ioc_flush_running_cmds: callback to flush pending commands
  * @thresh_hold: Max number of reply descriptors processed
  *                             before updating Host Index
+ * @drv_support_bitmap: driver's supported feature bit map
  * @scsi_io_cb_idx: shost generated commands
  * @tm_cb_idx: task management commands
  * @scsih_cb_idx: scsih internal commands
        bool            msix_load_balance;
        u16             thresh_hold;
        u8              high_iops_queues;
+       u32             drv_support_bitmap;
 
        /* internal commands, callback index */
        u8              scsi_io_cb_idx;
        GET_MSIX_INDEX get_msix_index_for_smlio;
 };
 
+#define MPT_DRV_SUPPORT_BITMAP_MEMMOVE 0x00000001
+
 typedef u8 (*MPT_CALLBACK)(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 msix_index,
        u32 reply);
 
 
 
 /*****************************************/
 
+/**
+ * drv_support_bitmap_show - driver supported feature bitmap
+ * @cdev - pointer to embedded class device
+ * @buf - the buffer returned
+ *
+ * A sysfs 'read-only' shost attribute.
+ */
+static ssize_t
+drv_support_bitmap_show(struct device *cdev,
+       struct device_attribute *attr, char *buf)
+{
+       struct Scsi_Host *shost = class_to_shost(cdev);
+       struct MPT3SAS_ADAPTER *ioc = shost_priv(shost);
+
+       return snprintf(buf, PAGE_SIZE, "0x%08x\n", ioc->drv_support_bitmap);
+}
+static DEVICE_ATTR_RO(drv_support_bitmap);
+
 struct device_attribute *mpt3sas_host_attrs[] = {
        &dev_attr_version_fw,
        &dev_attr_version_bios,
        &dev_attr_diag_trigger_event,
        &dev_attr_diag_trigger_scsi,
        &dev_attr_diag_trigger_mpi,
+       &dev_attr_drv_support_bitmap,
        &dev_attr_BRM_status,
        NULL,
 };
 
        ioc->tm_sas_control_cb_idx = tm_sas_control_cb_idx;
        ioc->logging_level = logging_level;
        ioc->schedule_dead_ioc_flush_running_cmds = &_scsih_flush_running_cmds;
+       /*
+        * Enable MEMORY MOVE support flag.
+        */
+       ioc->drv_support_bitmap |= MPT_DRV_SUPPORT_BITMAP_MEMMOVE;
        /* misc semaphores and spin locks */
        mutex_init(&ioc->reset_in_progress_mutex);
        /* initializing pci_access_mutex lock */