ia64/xen-unstable

annotate xen/include/xen/mm.h @ 1941:a3385e3413dc

bitkeeper revision 1.1108.28.1 (4106e7efzfLYJJxhDUfFLjrg1-JKEw)

Finish merge of old domain allocation code with tehe buddy-allocator system.
Now just needs exporting to priv guest OSes so they can allocate multi-page
physmem chunks. Then to fix Linux's pci_alloc_consistent().
author kaf24@scramble.cl.cam.ac.uk
date Tue Jul 27 23:40:31 2004 +0000 (2004-07-27)
parents 1e13ae874e9c
children d3c2a4bdc6b4
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@1936 8 /* Generic allocator */
kaf24@1936 9 unsigned long init_heap_allocator(
kaf24@1936 10 unsigned long bitmap_start, unsigned long max_pages);
kaf24@1936 11 void init_heap_pages(int zone, struct pfn_info *pg, unsigned long nr_pages);
kaf24@1936 12 struct pfn_info *alloc_heap_pages(int zone, int order);
kaf24@1936 13 void free_heap_pages(int zone, struct pfn_info *pg, int order);
kaf24@1936 14
kaf24@1936 15 /* Xen suballocator */
kaf24@1936 16 void init_xenheap_pages(unsigned long ps, unsigned long pe);
kaf24@1920 17 unsigned long alloc_xenheap_pages(int order);
kaf24@1920 18 void free_xenheap_pages(unsigned long p, int order);
kaf24@1920 19 #define alloc_xenheap_page() (alloc_xenheap_pages(0))
kaf24@1920 20 #define free_xenheap_page(_p) (free_xenheap_pages(_p,0))
kaf24@1749 21
kaf24@1936 22 /* Domain suballocator */
kaf24@1936 23 void init_domheap_pages(unsigned long ps, unsigned long pe);
kaf24@1941 24 struct pfn_info *alloc_domheap_pages(struct domain *d, int order);
kaf24@1936 25 void free_domheap_pages(struct pfn_info *pg, int order);
kaf24@1936 26 unsigned long avail_domheap_pages(void);
kaf24@1941 27 #define alloc_domheap_page(_d) (alloc_domheap_pages(_d,0))
kaf24@1936 28 #define free_domheap_page(_p) (free_domheap_pages(_p,0))
kaf24@1210 29
kaf24@1941 30 #include <asm/mm.h>
kaf24@1941 31
kaf24@1211 32 #endif /* __XEN_MM_H__ */