# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxxxx
# Node ID 639ad22eb7c80ac21c3958747b879892680bdaba
# Parent bd16e299db3d8455e6e6c79dff046548fae4bc2e
Build breakage: revert 10247:2fd7f4fb7d1453e4ff418c06961b0bd9fcb71129.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c | 34 +++++++------------------
1 files changed, 10 insertions(+), 24 deletions(-)
diff -r bd16e299db3d -r 639ad22eb7c8
linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c Fri Jun 02 07:56:41
2006 +0100
+++ b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c Fri Jun 02 09:15:51
2006 +0100
@@ -56,8 +56,6 @@ struct dma_mapping_ops* dma_ops;
struct dma_mapping_ops* dma_ops;
EXPORT_SYMBOL(dma_ops);
-int after_bootmem;
-
extern unsigned long *contiguous_bitmap;
static unsigned long dma_reserve __initdata;
@@ -76,7 +74,7 @@ extern unsigned long start_pfn;
(((mfn_to_pfn((addr) >> PAGE_SHIFT)) << PAGE_SHIFT) + \
__START_KERNEL_map)))
-static void __meminit early_make_page_readonly(void *va, unsigned int feature)
+static void early_make_page_readonly(void *va, unsigned int feature)
{
unsigned long addr, _va = (unsigned long)va;
pte_t pte, *ptep;
@@ -84,11 +82,6 @@ static void __meminit early_make_page_re
if (xen_feature(feature))
return;
-
- if (after_bootmem) {
- make_page_readonly(va, feature);
- return;
- }
addr = (unsigned long) page[pgd_index(_va)];
addr_to_page(addr, page);
@@ -205,6 +198,10 @@ void show_mem(void)
printk(KERN_INFO "%lu pages swap cached\n",cached);
}
+/* References to section boundaries */
+
+int after_bootmem;
+
static void *spp_getpage(void)
{
void *ptr;
@@ -451,9 +448,9 @@ phys_pmd_init(pmd_t *pmd, unsigned long
pte = alloc_static_page(&pte_phys);
pte_save = pte;
for (k = 0; k < PTRS_PER_PTE; pte++, k++, address += PTE_SIZE) {
- if (address >= (after_bootmem
- ? end
- : xen_start_info->nr_pages <<
PAGE_SHIFT)) {
+ if ((address >= end) ||
+ ((address >> PAGE_SHIFT) >=
+ xen_start_info->nr_pages)) {
__set_pte(pte, __pte(0));
continue;
}
@@ -553,7 +550,7 @@ void __init xen_init_pt(void)
mk_kernel_pgd(__pa_symbol(level3_user_pgt)));
}
-static void __init extend_init_mapping(unsigned long tables_space)
+void __init extend_init_mapping(unsigned long tables_space)
{
unsigned long va = __START_KERNEL_map;
unsigned long phys, addr, *pte_page;
@@ -669,18 +666,7 @@ void __meminit init_memory_mapping(unsig
set_pgd(pgd_offset_k(start), mk_kernel_pgd(pud_phys));
}
- if (!after_bootmem) {
- BUG_ON(start_pfn != table_end);
-
- /* Destroy the temporary mappings created above. */
- start = __START_KERNEL_map + (table_start << PAGE_SHIFT);
- end = start + tables_space;
- for (; start < end; start += PAGE_SIZE) {
- /* Should also clear out and reclaim any page table
- pages no longer needed... */
- WARN_ON(HYPERVISOR_update_va_mapping(start,
__pte_ma(0), 0));
- }
- }
+ BUG_ON(!after_bootmem && start_pfn != table_end);
__flush_tlb_all();
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|