X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-i386%2Fmach-xen%2Fasm%2Fpgalloc.h;fp=include%2Fasm-i386%2Fmach-xen%2Fasm%2Fpgalloc.h;h=726396a06569d4d311acafae60155469f8f52ac1;hb=1db395853d4f30d6120458bd279ede1f882a8525;hp=0000000000000000000000000000000000000000;hpb=34a75f0025b9cf803b6a88db032e6ad6950c9313;p=linux-2.6.git diff --git a/include/asm-i386/mach-xen/asm/pgalloc.h b/include/asm-i386/mach-xen/asm/pgalloc.h new file mode 100644 index 000000000..726396a06 --- /dev/null +++ b/include/asm-i386/mach-xen/asm/pgalloc.h @@ -0,0 +1,65 @@ +#ifndef _I386_PGALLOC_H +#define _I386_PGALLOC_H + +#include +#include +#include +#include +#include /* for struct page */ +#include /* for phys_to_virt and page_to_pseudophys */ + +/* Is this pagetable pinned? */ +#define PG_pinned PG_arch_1 + +#define pmd_populate_kernel(mm, pmd, pte) \ + set_pmd(pmd, __pmd(_PAGE_TABLE + __pa(pte))) + +#define pmd_populate(mm, pmd, pte) \ +do { \ + if (test_bit(PG_pinned, &virt_to_page((mm)->pgd)->flags)) { \ + if (!PageHighMem(pte)) \ + BUG_ON(HYPERVISOR_update_va_mapping( \ + (unsigned long)__va(page_to_pfn(pte)<