e688b15a85025743348c9fe8b68787281a59feda
1 #ifndef __INTERNAL_POOL_H
2 #define __INTERNAL_POOL_H
4 PVOID STDCALL
ExAllocateNonPagedPoolWithTag (POOL_TYPE type
,
9 PVOID STDCALL
ExAllocatePagedPoolWithTag (POOL_TYPE Type
,
12 VOID STDCALL
ExFreeNonPagedPool (PVOID block
);
15 ExFreePagedPool(IN PVOID Block
);
16 VOID
MmInitializePagedPool(VOID
);
20 MiAllocateSpecialPool (IN POOL_TYPE PoolType
,
21 IN SIZE_T NumberOfBytes
,
26 extern PVOID MmPagedPoolBase
;
27 extern ULONG MmPagedPoolSize
;
29 #define MM_PAGED_POOL_SIZE (100*1024*1024)
30 #define MM_NONPAGED_POOL_SIZE (100*1024*1024)
33 * Paged and non-paged pools are 8-byte aligned
35 #define MM_POOL_ALIGNMENT 8
38 * Maximum size of the kmalloc area (this is totally arbitary)
40 #define MM_KERNEL_MAP_SIZE (16*1024*1024)
41 #define MM_KERNEL_MAP_BASE (0xf0c00000)
44 * FIXME - different architectures have different cache line sizes...
46 #define MM_CACHE_LINE_SIZE 32
48 #define MM_ROUND_UP(x,s) ((PVOID)(((ULONG_PTR)(x)+(s)-1) & ~((ULONG_PTR)(s)-1)))
49 #define MM_ROUND_DOWN(x,s) ((PVOID)(((ULONG_PTR)(x)) & ~((ULONG_PTR)(s)-1)))
51 #endif /* __INTERNAL_POOL_H */