[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xen/arm: move setup_mm right after setup_pagetables
# HG changeset patch # User Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> # Date 1360935138 0 # Node ID 5b09dc2856d57e09878f1106000f1d2904ff0c6c # Parent 6a9549a15108669408123e5e39f52ad09dea1c10 xen/arm: move setup_mm right after setup_pagetables At the moment we destroy the DTB mappings we have in setup_pagetables and we restore them only in setup_mm. Move setup_mm right after setup_pagetables. This ensures we have a valid DTB mapping while running the subsequent initialization code. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> [ ijc -- s/atag_paddr/fdt_paddr/ ] Committed-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- diff -r 6a9549a15108 -r 5b09dc2856d5 xen/arch/arm/setup.c --- a/xen/arch/arm/setup.c Fri Feb 15 13:32:17 2013 +0000 +++ b/xen/arch/arm/setup.c Fri Feb 15 13:32:18 2013 +0000 @@ -246,11 +246,11 @@ static void __init setup_mm(unsigned lon } while ( xenheap_pages > 128<<(20-PAGE_SHIFT) ); if ( ! e ) - panic("Not not enough space for xenheap\n"); + early_panic("Not not enough space for xenheap\n"); domheap_pages = heap_pages - xenheap_pages; - printk("Xen heap: %lu pages Dom heap: %lu pages\n", xenheap_pages, domheap_pages); + early_printk("Xen heap: %lu pages Dom heap: %lu pages\n", xenheap_pages, domheap_pages); setup_xenheap_mappings((e >> PAGE_SHIFT) - xenheap_pages, xenheap_pages); @@ -348,6 +348,7 @@ void __init start_xen(unsigned long boot cmdline_parse(device_tree_bootargs(fdt)); setup_pagetables(boot_phys_offset, get_xen_paddr()); + setup_mm(fdt_paddr, fdt_size); #ifdef EARLY_UART_ADDRESS /* TODO Need to get device tree or command line for UART address */ @@ -365,8 +366,6 @@ void __init start_xen(unsigned long boot set_current((struct vcpu *)0xfffff000); /* debug sanity */ idle_vcpu[0] = current; - setup_mm(fdt_paddr, fdt_size); - /* Setup Hyp vector base */ WRITE_CP32((uint32_t) hyp_traps_vector, HVBAR); printk("Set hyp vector base to %"PRIx32" (expected %p)\n", diff -r 6a9549a15108 -r 5b09dc2856d5 xen/common/page_alloc.c --- a/xen/common/page_alloc.c Fri Feb 15 13:32:17 2013 +0000 +++ b/xen/common/page_alloc.c Fri Feb 15 13:32:18 2013 +0000 @@ -182,12 +182,6 @@ void __init init_boot_pages(paddr_t ps, else if ( *p != '\0' ) break; - if ( bad_epfn == bad_spfn ) - printk("Marking page %lx as bad\n", bad_spfn); - else - printk("Marking pages %lx through %lx as bad\n", - bad_spfn, bad_epfn); - bootmem_region_zap(bad_spfn, bad_epfn+1); } } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |