#ifdef CONFIG_X86_32
/* Limits of Xen heap, used to initialise the allocator. */
-unsigned long xenheap_phys_start, xenheap_phys_end;
+unsigned long xenheap_initial_phys_start, xenheap_phys_end;
#endif
extern void arch_init_memory(void);
/* Initialise boot heap. */
allocator_bitmap_end = init_boot_allocator(__pa(&_end));
#if defined(CONFIG_X86_32)
- xenheap_phys_start = allocator_bitmap_end;
- xenheap_phys_end = DIRECTMAP_MBYTES << 20;
+ xenheap_initial_phys_start = allocator_bitmap_end;
+ xenheap_phys_end = DIRECTMAP_MBYTES << 20;
#else
if ( !xen_phys_start )
EARLY_FAIL("Not enough memory to relocate Xen.\n");
#if defined(CONFIG_X86_32)
/* Initialise the Xen heap. */
- init_xenheap_pages(xenheap_phys_start, xenheap_phys_end);
- nr_pages = (xenheap_phys_end - xenheap_phys_start) >> PAGE_SHIFT;
- xenheap_phys_start = xen_phys_start;
+ init_xenheap_pages(xenheap_initial_phys_start, xenheap_phys_end);
+ nr_pages = (xenheap_phys_end - xenheap_initial_phys_start) >> PAGE_SHIFT;
printk("Xen heap: %luMB (%lukB)\n",
nr_pages >> (20 - PAGE_SHIFT),
nr_pages << (PAGE_SHIFT - 10));
int xen_in_range(paddr_t start, paddr_t end)
{
#if defined(CONFIG_X86_32)
- paddr_t xs = xenheap_phys_start;
+ paddr_t xs = 0;
paddr_t xe = xenheap_phys_end;
#else
paddr_t xs = __pa(&_start);
void *alloc_xen_pagetable(void)
{
extern int early_boot;
- extern unsigned long xenheap_phys_start;
+ extern unsigned long xenheap_initial_phys_start;
unsigned long mfn;
if ( !early_boot )
return v;
}
- mfn = xenheap_phys_start >> PAGE_SHIFT;
- xenheap_phys_start += PAGE_SIZE;
+ mfn = xenheap_initial_phys_start >> PAGE_SHIFT;
+ xenheap_initial_phys_start += PAGE_SIZE;
return mfn_to_virt(mfn);
}
#define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
#define is_xen_heap_mfn(mfn) ({ \
unsigned long _mfn = (mfn); \
- ((_mfn >= paddr_to_pfn(xenheap_phys_start)) && \
- (_mfn < paddr_to_pfn(xenheap_phys_end))); \
+ (_mfn < paddr_to_pfn(xenheap_phys_end)); \
})
#else
#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)