ia64/xen-unstable

annotate xen/include/xen/mm.h @ 3354:7f2bf9fecd7e

bitkeeper revision 1.1159.170.74 (41d4488f9fINTxUzyjoq2FnTn5AvMQ)

Improved memory bootstrapping takes into account e820 RAM holes.
author kaf24@scramble.cl.cam.ac.uk
date Thu Dec 30 18:27:27 2004 +0000 (2004-12-30)
parents b7f0cff13881
children d1e0d9a8fde0 04f50d583813 0dc3b8b8c298
rev   line source
kaf24@1210 1
kaf24@1211 2 #ifndef __XEN_MM_H__
kaf24@1211 3 #define __XEN_MM_H__
kaf24@1210 4
kaf24@1941 5 struct domain;
kaf24@1941 6 struct pfn_info;
kaf24@1936 7
kaf24@3354 8 /* Boot-time allocator. Turns into generic allocator after bootstrap. */
kaf24@3354 9 unsigned long init_boot_allocator(unsigned long bitmap_start);
kaf24@3354 10 void init_boot_pages(unsigned long ps, unsigned long pe);
kaf24@3354 11 unsigned long alloc_boot_pages(unsigned long size, unsigned long align);
kaf24@3354 12 void end_boot_allocator(void);
kaf24@3354 13
kaf24@2806 14 /* Generic allocator. These functions are *not* interrupt-safe. */
kaf24@1936 15 void init_heap_pages(int zone, struct pfn_info *pg, unsigned long nr_pages);
kaf24@1936 16 struct pfn_info *alloc_heap_pages(int zone, int order);
kaf24@1936 17 void free_heap_pages(int zone, struct pfn_info *pg, int order);
kaf24@2772 18 void scrub_heap_pages(void);
kaf24@1936 19
kaf24@2806 20 /* Xen suballocator. These functions are interrupt-safe. */
kaf24@1936 21 void init_xenheap_pages(unsigned long ps, unsigned long pe);
kaf24@1920 22 unsigned long alloc_xenheap_pages(int order);
kaf24@1920 23 void free_xenheap_pages(unsigned long p, int order);
kaf24@1920 24 #define alloc_xenheap_page() (alloc_xenheap_pages(0))
kaf24@1920 25 #define free_xenheap_page(_p) (free_xenheap_pages(_p,0))
kaf24@1749 26
kaf24@2806 27 /* Domain suballocator. These functions are *not* interrupt-safe.*/
kaf24@1936 28 void init_domheap_pages(unsigned long ps, unsigned long pe);
kaf24@1941 29 struct pfn_info *alloc_domheap_pages(struct domain *d, int order);
kaf24@1936 30 void free_domheap_pages(struct pfn_info *pg, int order);
kaf24@1936 31 unsigned long avail_domheap_pages(void);
kaf24@1941 32 #define alloc_domheap_page(_d) (alloc_domheap_pages(_d,0))
kaf24@1936 33 #define free_domheap_page(_p) (free_domheap_pages(_p,0))
kaf24@1210 34
kaf24@1941 35 #include <asm/mm.h>
kaf24@1941 36
kaf24@1211 37 #endif /* __XEN_MM_H__ */