[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Ensure cur_pgd per-cpu variables are initialised early.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID a0b4156cc0ce4e6495cfa316c5383ee2be81c22f # Parent f80278e5e4407141ca73caf6627d1c5d7aa65312 Ensure cur_pgd per-cpu variables are initialised early. Secondary VCPUs can take page faults immediately after booting, because of writable pagetable logic. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> diff -r f80278e5e440 -r a0b4156cc0ce linux-2.6-xen-sparse/arch/xen/i386/mm/init.c --- a/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c Tue Aug 23 17:28:53 2005 +++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/init.c Tue Aug 23 17:29:46 2005 @@ -348,9 +348,12 @@ { unsigned long vaddr; pgd_t *pgd_base = (pgd_t *)xen_start_info.pt_base; + int i; swapper_pg_dir = pgd_base; init_mm.pgd = pgd_base; + for (i = 0; i < NR_CPUS; i++) + per_cpu(cur_pgd, i) = pgd_base; /* Enable PSE if available */ if (cpu_has_pse) { diff -r f80278e5e440 -r a0b4156cc0ce linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c --- a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c Tue Aug 23 17:28:53 2005 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c Tue Aug 23 17:29:46 2005 @@ -559,6 +559,11 @@ void __init xen_init_pt(void) { + int i; + + for (i = 0; i < NR_CPUS; i++) + per_cpu(cur_pgd, i) = init_mm.pgd; + memcpy((void *)init_level4_pgt, (void *)xen_start_info.pt_base, PAGE_SIZE); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |