diff options
Diffstat (limited to 'sys/arm/include/sf_buf.h')
-rw-r--r-- | sys/arm/include/sf_buf.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/sys/arm/include/sf_buf.h b/sys/arm/include/sf_buf.h index 7d438f0..2225d58 100644 --- a/sys/arm/include/sf_buf.h +++ b/sys/arm/include/sf_buf.h @@ -29,10 +29,34 @@ #ifndef _MACHINE_SF_BUF_H_ #define _MACHINE_SF_BUF_H_ -#include <sys/queue.h> struct vm_page; +#ifdef ARM_USE_SMALL_ALLOC + +#include <vm/vm.h> +#include <vm/vm_param.h> +#include <vm/vm_page.h> + +struct sf_buf; + + +static __inline vm_offset_t +sf_buf_kva(struct sf_buf *sf) +{ + return arm_ptovirt(VM_PAGE_TO_PHYS((vm_page_t)sf)); +} + +static __inline vm_page_t +sf_buf_page(struct sf_buf *sf) +{ + return ((vm_page_t)sf); +} + +#else + +#include <sys/queue.h> + struct sf_buf { LIST_ENTRY(sf_buf) list_entry; /* list of buffers */ TAILQ_ENTRY(sf_buf) free_entry; /* list of buffers */ @@ -55,4 +79,5 @@ sf_buf_page(struct sf_buf *sf) return (sf->m); } +#endif #endif /* !_MACHINE_SF_BUF_H_ */ |