diff options
Diffstat (limited to 'sys/mips/include/sf_buf.h')
-rw-r--r-- | sys/mips/include/sf_buf.h | 28 |
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_ */ |