diff -rN -u -p old-xen-64/xen/include/asm-x86/e820.h new-xen-64/xen/include/asm-x86/e820.h --- old-xen-64/xen/include/asm-x86/e820.h 2005-05-17 19:24:08.000000000 +0000 +++ new-xen-64/xen/include/asm-x86/e820.h 2005-05-18 21:09:40.000000000 +0000 @@ -36,4 +36,17 @@ extern void print_e820_memory_map(struct #define PFN_DOWN(x) ((x) >> PAGE_SHIFT) #define PFN_UP(x) (((x) + PAGE_SIZE-1) >> PAGE_SHIFT) +static inline int pfn_valid(unsigned long pfn) { + int i; + + for (i = 0; i < e820.nr_map; i++) { + if (pfn >= (e820.map[i].addr >> PAGE_SHIFT) && + pfn < ((e820.map[i].addr & ~PAGE_MASK) + + e820.map[i].size) >> PAGE_SHIFT) + return 1; + } + + return 0; +} + #endif /*__E820_HEADER*/ diff -rN -u -p old-xen-64/xen/include/asm-x86/page.h new-xen-64/xen/include/asm-x86/page.h --- old-xen-64/xen/include/asm-x86/page.h 2005-05-13 11:28:10.000000000 +0000 +++ new-xen-64/xen/include/asm-x86/page.h 2005-05-18 21:09:30.000000000 +0000 @@ -36,7 +36,6 @@ typedef struct { unsigned long pt_lo; } #define pfn_to_page(_pfn) (frame_table + (_pfn)) #define phys_to_page(kaddr) (frame_table + ((kaddr) >> PAGE_SHIFT)) #define virt_to_page(kaddr) (frame_table + (__pa(kaddr) >> PAGE_SHIFT)) -#define pfn_valid(_pfn) ((_pfn) < max_page) /* High table entries are reserved by the hypervisor. */ #define DOMAIN_ENTRIES_PER_L2_PAGETABLE \