summaryrefslogtreecommitdiffstats
path: root/sys/mips/include/sf_buf.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/mips/include/sf_buf.h')
-rw-r--r--sys/mips/include/sf_buf.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/mips/include/sf_buf.h b/sys/mips/include/sf_buf.h
index b6ee1cc..b9efaf0 100644
--- a/sys/mips/include/sf_buf.h
+++ b/sys/mips/include/sf_buf.h
@@ -29,8 +29,35 @@
#ifndef _MACHINE_SF_BUF_H_
#define _MACHINE_SF_BUF_H_
+#ifdef __mips_n64
+#include <vm/vm.h>
+#include <vm/vm_param.h>
+#include <vm/vm_page.h>
+#else
#include <sys/queue.h>
+#endif
+#ifdef __mips_n64
+/* In 64 bit the whole memory is directly mapped */
+struct sf_buf;
+
+static __inline vm_offset_t
+sf_buf_kva(struct sf_buf *sf)
+{
+ vm_page_t m;
+
+ m = (vm_page_t)sf;
+ return (MIPS_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)));
+}
+
+static __inline struct vm_page *
+sf_buf_page(struct sf_buf *sf)
+{
+
+ return ((vm_page_t)sf);
+}
+
+#else /* ! __mips_n64 */
struct vm_page;
struct sf_buf {
@@ -52,5 +79,6 @@ sf_buf_page(struct sf_buf *sf)
return (sf->m);
}
+#endif /* __mips_n64 */
#endif /* !_MACHINE_SF_BUF_H_ */
OpenPOWER on IntegriCloud