ia64/xen-unstable

annotate xen/include/xen/mm.h @ 2806:b7f0cff13881

bitkeeper revision 1.1159.1.321 (41865777v0w5qC8-c7u-6_0V0D6bGg)

tasklist_lock -> domlist_lock.
domlist_lock and heap_lock no longer disable interrupts.
This means that find_domain_by_id(), put_domain(), alloc_domheap_pages()
and others are not interrupt-safe.
alloc_xenheap_pages(), xmalloc() and friends *are* still safe to use
in interrupt context.
author kaf24@freefall.cl.cam.ac.uk
date Mon Nov 01 15:34:15 2004 +0000 (2004-11-01)
parents 2a16b903818f
children 7f2bf9fecd7e d1e0d9a8fde0
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@2806 8 /* Generic allocator. These functions are *not* interrupt-safe. */
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@2772 14 void scrub_heap_pages(void);
kaf24@1936 15
kaf24@2806 16 /* Xen suballocator. These functions are interrupt-safe. */
kaf24@1936 17 void init_xenheap_pages(unsigned long ps, unsigned long pe);
kaf24@1920 18 unsigned long alloc_xenheap_pages(int order);
kaf24@1920 19 void free_xenheap_pages(unsigned long p, int order);
kaf24@1920 20 #define alloc_xenheap_page() (alloc_xenheap_pages(0))
kaf24@1920 21 #define free_xenheap_page(_p) (free_xenheap_pages(_p,0))
kaf24@1749 22
kaf24@2806 23 /* Domain suballocator. These functions are *not* interrupt-safe.*/
kaf24@1936 24 void init_domheap_pages(unsigned long ps, unsigned long pe);
kaf24@1941 25 struct pfn_info *alloc_domheap_pages(struct domain *d, int order);
kaf24@1936 26 void free_domheap_pages(struct pfn_info *pg, int order);
kaf24@1936 27 unsigned long avail_domheap_pages(void);
kaf24@1941 28 #define alloc_domheap_page(_d) (alloc_domheap_pages(_d,0))
kaf24@1936 29 #define free_domheap_page(_p) (free_domheap_pages(_p,0))
kaf24@1210 30
kaf24@1941 31 #include <asm/mm.h>
kaf24@1941 32
kaf24@1211 33 #endif /* __XEN_MM_H__ */