Understanding FreeBSD's CAM Framework
This blog post presents a gist of Free BSD's doc on CAM( here ) and chapter 14 of the book FreeBSD device driver- A guide for intrepid. It gives an introduction to the CAM(Common access method), it's applications, it's working and it's organization in FreeBSD. It is written to get myself a really good understanding of mmccam stack which is nothing but SDHC/SDIO protocols wired within the CAM framework. COMMON ACCESS METHOD CAM is a method for separating HBA adapters from storage adapters and is primarily used for SCSI. By separating these drivers it reduces the complexity of both the drivers.Furthermore, this separation enables storage drivers (such as CD-ROM and tape drivers) to control their devices on any I/O bus (such as IDE, SCSI, and so on) as long as an appropriate HBA driver is available. Note: HBA(Host Bus Adapters) are devices (IC/Card) that connects the host to other devices. For example, USB HBA allows host OS to communicate to USB. In CAM terminology, HBA ...