aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/cam
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2013-06-18 00:36:53 +0000
committerScott Long <scottl@FreeBSD.org>2013-06-18 00:36:53 +0000
commit039e422c063977ba9073fd2c93883dd8a5a36d48 (patch)
treeac9f929e7c22086aea07210a03683e5d77a1f585 /sys/modules/cam
parentde93d9ce32e709231bb626392d9ae78d08441eb2 (diff)
Big MFC of the physbio changes necessary for unmapped I/O. These changes
have been in production at Netflix for several months with significant success. MFC r246713: Reform the busdma API so that new types may be added without modifying every architecture's busdma_machdep.c. It is done by unifying the bus_dmamap_load_buffer() routines so that they may be called from MI code. The MD busdma is then given a chance to do any final processing in the complete() callback. MFC r249538: Some compilers issue a warning when wider integer is casted to narrow pointer. Supposedly shut down the warning by casting through uintptr_t. MFC r251479: Simplify the checking of flags for cam_periph_mapmem(). This gets rid of a lot of code redundancy and grossness at very minor expense. MFC r251837: MFC r251842: Add infrastructure for doing compatibility shims, as has been sorely needed for the last 10 years. Far too much of the internal API is exposed, and every small adjustment causes applications to stop working. To kick this off, bump the API version to 0x17 as should have been done with r246713, but add shims to compensate. Thanks to the shims, there should be no visible change in application behavior. Submitted by: kib, jeffr Approved by: kib Obtained from: Netflix
Notes
svn path=/stable/9/; revision=251874
Diffstat (limited to 'sys/modules/cam')
-rw-r--r--sys/modules/cam/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/modules/cam/Makefile b/sys/modules/cam/Makefile
index 00a531a7857d..cb6aa5180137 100644
--- a/sys/modules/cam/Makefile
+++ b/sys/modules/cam/Makefile
@@ -16,6 +16,7 @@ SRCS+= opt_pt.h
SRCS+= opt_sa.h
SRCS+= device_if.h bus_if.h vnode_if.h
SRCS+= cam.c
+SRCS+= cam_compat.c
.if exists($S/${MACHINE}/${MACHINE}/cam_machdep.c)
SRCS+= cam_machdep.c
.endif