svn commit: r271213 - head/sys/mips/include

Adrian Chadd adrian at FreeBSD.org
Sat Sep 6 22:38:33 UTC 2014


Author: adrian
Date: Sat Sep  6 22:38:32 2014
New Revision: 271213
URL: http://svnweb.freebsd.org/changeset/base/271213

Log:
  Implement local sfbuf_map and sfbuf_unmap for MIPS32.
  
  The pre-rework behaviour was not to keep the cached mappings around after
  the sfbuf was used but instead to recycle said mappings.
  
  PR:		kern/193400

Modified:
  head/sys/mips/include/sf_buf.h
  head/sys/mips/include/vmparam.h

Modified: head/sys/mips/include/sf_buf.h
==============================================================================
--- head/sys/mips/include/sf_buf.h	Sat Sep  6 22:37:47 2014	(r271212)
+++ head/sys/mips/include/sf_buf.h	Sat Sep  6 22:38:32 2014	(r271213)
@@ -48,4 +48,23 @@ sf_buf_page(struct sf_buf *sf)
 }
 
 #endif /* __mips_n64 */
+
+#ifndef	__mips_n64	/* in 32 bit mode we manage our own mappings */
+
+static inline void
+sf_buf_map(struct sf_buf *sf, int flags)
+{
+
+	pmap_qenter(sf->kva, &sf->m, 1);
+}
+
+static inline int
+sf_buf_unmap(struct sf_buf *sf)
+{
+	pmap_qremove(sf->kva, 1);
+	return (1);
+}
+
+#endif	/* ! __mips_n64 */
+
 #endif /* !_MACHINE_SF_BUF_H_ */

Modified: head/sys/mips/include/vmparam.h
==============================================================================
--- head/sys/mips/include/vmparam.h	Sat Sep  6 22:37:47 2014	(r271212)
+++ head/sys/mips/include/vmparam.h	Sat Sep  6 22:38:32 2014	(r271213)
@@ -189,6 +189,7 @@
 
 #ifndef __mips_n64
 #define	SFBUF
+#define	SFBUF_MAP
 #endif
 
 #endif /* !_MACHINE_VMPARAM_H_ */


More information about the svn-src-all mailing list