diff options
author | jmallett <jmallett@FreeBSD.org> | 2010-04-16 23:48:28 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2010-04-16 23:48:28 +0000 |
commit | 30418e2d5b795311d028a21d8348e55de9682a03 (patch) | |
tree | 00f164085e86c6b9515bb94c5b8c44e804610241 /sys/mips/include/sf_buf.h | |
parent | e6b677fd6b9992b4b2a56fcd57da1b8d69b64334 (diff) | |
download | FreeBSD-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.h | 15 |
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 |