| version 1.18, 1999/03/23 02:49:03 |
version 1.19, 1999/03/24 05:51:25 |
|
|
| #include <vm/vm.h> |
#include <vm/vm.h> |
| #include <vm/vm_kern.h> |
#include <vm/vm_kern.h> |
| |
|
| #if defined(UVM) |
|
| #include <uvm/uvm.h> |
#include <uvm/uvm.h> |
| #endif |
|
| |
|
| /* |
/* |
| * Pool resource management utility. |
* Pool resource management utility. |
| Line 870 pool_page_alloc(sz, flags, mtype) |
|
| Line 868 pool_page_alloc(sz, flags, mtype) |
|
| { |
{ |
| boolean_t waitok = (flags & PR_WAITOK) ? TRUE : FALSE; |
boolean_t waitok = (flags & PR_WAITOK) ? TRUE : FALSE; |
| |
|
| #if defined(UVM) |
|
| return ((void *)uvm_km_alloc_poolpage(waitok)); |
return ((void *)uvm_km_alloc_poolpage(waitok)); |
| #else |
|
| return ((void *)kmem_alloc_poolpage(waitok)); |
|
| #endif |
|
| } |
} |
| |
|
| static void |
static void |
| Line 884 pool_page_free(v, sz, mtype) |
|
| Line 878 pool_page_free(v, sz, mtype) |
|
| int mtype; |
int mtype; |
| { |
{ |
| |
|
| #if defined(UVM) |
|
| uvm_km_free_poolpage((vaddr_t)v); |
uvm_km_free_poolpage((vaddr_t)v); |
| #else |
|
| kmem_free_poolpage((vaddr_t)v); |
|
| #endif |
|
| } |
} |
| |
|
| /* |
/* |
| Line 901 pool_page_alloc_nointr(sz, flags, mtype) |
|
| Line 891 pool_page_alloc_nointr(sz, flags, mtype) |
|
| int flags; |
int flags; |
| int mtype; |
int mtype; |
| { |
{ |
| #if defined(UVM) |
|
| boolean_t waitok = (flags & PR_WAITOK) ? TRUE : FALSE; |
boolean_t waitok = (flags & PR_WAITOK) ? TRUE : FALSE; |
| |
|
| /* |
/* |
| Line 909 pool_page_alloc_nointr(sz, flags, mtype) |
|
| Line 898 pool_page_alloc_nointr(sz, flags, mtype) |
|
| */ |
*/ |
| return ((void *)uvm_km_alloc_poolpage1(kernel_map, uvm.kernel_object, |
return ((void *)uvm_km_alloc_poolpage1(kernel_map, uvm.kernel_object, |
| waitok)); |
waitok)); |
| #else |
|
| /* |
|
| * Can't do anything so cool with Mach VM. |
|
| */ |
|
| return (pool_page_alloc(sz, flags, mtype)); |
|
| #endif |
|
| } |
} |
| |
|
| void |
void |
| Line 924 pool_page_free_nointr(v, sz, mtype) |
|
| Line 907 pool_page_free_nointr(v, sz, mtype) |
|
| int mtype; |
int mtype; |
| { |
{ |
| |
|
| #if defined(UVM) |
|
| uvm_km_free_poolpage1(kernel_map, (vaddr_t)v); |
uvm_km_free_poolpage1(kernel_map, (vaddr_t)v); |
| #else |
|
| pool_page_free(v, sz, mtype); |
|
| #endif |
|
| } |
} |
| |
|
| |
|