Query regarding Unmapped IO, PIM_UNMAPPED and bus_dmamap_load_ccb()

Sibananda Sahu sibananda.sahu at avagotech.com
Thu Nov 6 23:38:08 UTC 2014


Hi All,



I have raised this query regarding the following mail:

https://lists.freebsd.org/pipermail/freebsd-scsi/2014-July/006407.html



Where Alexander Motin talks of Unmapped I/O.

As per his direction I have declared the below statement in my driver code:



ccb->cpi.hba_misc = PIM_NOBUSRESET | PIM_UNMAPPED;



Before enabling PIM_UNMAPPED I was getting the (ccb->ccb_h.flags &
CAM_DATA_MASK) as CAM_DATA_VADDR and handling accordingly.

But after enabling PIM_UNMAPPED in cpi.hba_misc I am getting the
(ccb->ccb_h.flags & CAM_DATA_MASK) as CAM_DATA_BIO and handling the data
that comes with bus_dma_load_ccb().



I just did the same thing according to the mps(4) driver as referred by
Alexander Motin.



So I just wanted to know what exactly happening when I am enabling the
PIM_UNMAPPED in the cpi.hba_misc field.

And what the CAM_DATA_BIO really means in the CAM_DATA_MASK.





It would be great idea if somebody explains what exactly happening or at
least give me some references where can I have a look and move forward.





Thanks,

Sibananda Sahu


More information about the freebsd-scsi mailing list