From b8fb8d5f775d5409f6683ed8c1956cf80004e26e Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 13 Mar 2009 07:37:24 +0000 Subject: minios: allow to allocate machine contiguous pages This is a port of XenLinux xen_alloc_contig_memory() to mini-os. A sufficiently privileged mini-os guest can exchange a small number of its pages with machine contiguous pages. Signed-off-by: Rolf Neugebauer --- extras/mini-os/include/mm.h | 1 + extras/mini-os/include/x86/arch_mm.h | 3 +++ 2 files changed, 4 insertions(+) (limited to 'extras/mini-os/include') diff --git a/extras/mini-os/include/mm.h b/extras/mini-os/include/mm.h index c9636926ae..18622d8542 100644 --- a/extras/mini-os/include/mm.h +++ b/extras/mini-os/include/mm.h @@ -72,6 +72,7 @@ void do_map_frames(unsigned long addr, unsigned long *f, unsigned long n, unsigned long stride, unsigned long increment, domid_t id, int may_fail, unsigned long prot); int unmap_frames(unsigned long va, unsigned long num_frames); +unsigned long alloc_contig_pages(int order, unsigned int addr_bits); #ifdef HAVE_LIBC extern unsigned long heap, brk, heap_mapped, heap_end; #endif diff --git a/extras/mini-os/include/x86/arch_mm.h b/extras/mini-os/include/x86/arch_mm.h index 36b81f2f2e..786064bf89 100644 --- a/extras/mini-os/include/x86/arch_mm.h +++ b/extras/mini-os/include/x86/arch_mm.h @@ -137,6 +137,9 @@ typedef unsigned long pgentry_t; #define IO_PROT (L1_PROT) #define IO_PROT_NOCACHE (L1_PROT | _PAGE_PCD) +/* for P2M */ +#define INVALID_P2M_ENTRY (~0UL) + #include "arch_limits.h" #define PAGE_SIZE __PAGE_SIZE #define PAGE_SHIFT __PAGE_SHIFT -- cgit v1.2.3