PERFORCE change 100724 for review

Wojciech A. Koszek wkoszek at FreeBSD.org
Thu Jul 6 11:28:53 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=100724

Change 100724 by wkoszek at wkoszek_laptop on 2006/07/06 11:28:17

	Use more ARM-like style of sf_buf.h.

Affected files ...

.. //depot/projects/mips2/src/sys/mips/include/sf_buf.h#2 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/include/sf_buf.h#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2003, 2005 Alan L. Cox <alc at cs.rice.edu>
+ * Copyright (c) [year] [your name]
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -23,36 +23,35 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/sf_buf.h,v 1.3 2005/02/28 23:38:15 peter Exp $
+ * $Id$
  */
-
 #ifndef _MACHINE_SF_BUF_H_
 #define _MACHINE_SF_BUF_H_
 
-#include <vm/vm.h>
-#include <vm/vm_param.h>
-#include <vm/vm_page.h>
+#include <sys/queue.h>
+
+struct vm_page;
 
-/*
- * On this machine, the only purpose for which sf_buf is used is to implement
- * an opaque pointer required by the machine-independent parts of the kernel.
- * That pointer references the vm_page that is "mapped" by the sf_buf.  The
- * actual mapping is provided by the direct virtual-to-physical mapping.  
- */
-struct sf_buf;
+struct sf_buf {
+	LIST_ENTRY(sf_buf) list_entry;	/* list of buffers */
+	TAILQ_ENTRY(sf_buf) free_entry;	/* list of buffers */
+	struct		vm_page *m;	/* currently mapped page */
+	vm_offset_t	kva;		/* va of mapping */
+	int		ref_count;	/* usage of this mapping */
+};
 
 static __inline vm_offset_t
 sf_buf_kva(struct sf_buf *sf)
 {
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+	return (sf->kva);
 }
 
-static __inline vm_page_t
+static __inline struct vm_page *
 sf_buf_page(struct sf_buf *sf)
 {
 
-	return ((vm_page_t)sf);
+	return (sf->m);
 }
 
 #endif /* !_MACHINE_SF_BUF_H_ */


More information about the p4-projects mailing list