summaryrefslogtreecommitdiffstats
path: root/sys/mips/include/sf_buf.h
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2010-04-16 23:48:28 +0000
committerjmallett <jmallett@FreeBSD.org>2010-04-16 23:48:28 +0000
commit30418e2d5b795311d028a21d8348e55de9682a03 (patch)
tree00f164085e86c6b9515bb94c5b8c44e804610241 /sys/mips/include/sf_buf.h
parente6b677fd6b9992b4b2a56fcd57da1b8d69b64334 (diff)
downloadFreeBSD-src-30418e2d5b795311d028a21d8348e55de9682a03.zip
FreeBSD-src-30418e2d5b795311d028a21d8348e55de9682a03.tar.gz
o) Use the direct map where possible for uiomove_fromphys, based on code from
sparc64. o) Use uiomove_fromphys rather than the broken fpage mechanism for /dev/mem. o) Update sf_buf allocator to not share buffers and to do a pmap_qremove when done with an sf_buf so as to better track valid mappings.
Diffstat (limited to 'sys/mips/include/sf_buf.h')
-rw-r--r--sys/mips/include/sf_buf.h15
1 files changed, 3 insertions, 12 deletions
diff --git a/sys/mips/include/sf_buf.h b/sys/mips/include/sf_buf.h
index 0a9980c..b6ee1cc 100644
--- a/sys/mips/include/sf_buf.h
+++ b/sys/mips/include/sf_buf.h
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2003, 2005 Alan L. Cox <alc@cs.rice.edu>
+ * Copyright (c) 2003 Alan L. Cox <alc@cs.rice.edu>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -23,29 +23,20 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * from: src/sys/i386/include/sf_buf.h,v 1.4 2005/02/13 06:23:13 alc
* $FreeBSD$
*/
#ifndef _MACHINE_SF_BUF_H_
-#define _MACHINE_SF_BUF_H_
+#define _MACHINE_SF_BUF_H_
#include <sys/queue.h>
-#include <vm/vm.h>
-#include <vm/vm_param.h>
-#include <vm/vm_page.h>
struct vm_page;
struct sf_buf {
- LIST_ENTRY(sf_buf) list_entry; /* list of buffers */
- TAILQ_ENTRY(sf_buf) free_entry; /* list of buffers */
+ SLIST_ENTRY(sf_buf) free_list; /* list of free buffer slots */
struct vm_page *m; /* currently mapped page */
vm_offset_t kva; /* va of mapping */
- int ref_count; /* usage of this mapping */
-#ifdef SMP
- cpumask_t cpumask; /* cpus on which mapping is valid */
-#endif
};
static __inline vm_offset_t
OpenPOWER on IntegriCloud