[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Merged.
# HG changeset patch # User emellor@ewan # Node ID 07cc64b3bf86888c1d101ae898d00be1e437335b # Parent af12cff417fd31334ea34be491f5c7d90eef3c36 Merged. diff -r af12cff417fd -r 07cc64b3bf86 linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c --- a/linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c Wed Sep 28 14:02:42 2005 +++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/fault.c Wed Sep 28 14:03:00 2005 @@ -209,7 +209,10 @@ { unsigned long *p, page; - page = __pa(per_cpu(cur_pgd, smp_processor_id())); + preempt_disable(); + page = __pa(per_cpu(cur_pgd, smp_processor_id())); + preempt_enable(); + p = (unsigned long *)__va(page); p += (address >> 30) * 2; printk(KERN_ALERT "%08lx -> *pde = %08lx:%08lx\n", page, p[1], p[0]); @@ -237,7 +240,12 @@ { unsigned long page; + preempt_disable(); page = ((unsigned long *) per_cpu(cur_pgd, smp_processor_id())) + [address >> 22]; + preempt_enable(); + + page = ((unsigned long *) per_cpu(cur_pgd, get_cpu())) [address >> 22]; printk(KERN_ALERT "*pde = ma %08lx pa %08lx\n", page, machine_to_phys(page)); @@ -567,7 +575,9 @@ pmd_t *pmd, *pmd_k; pte_t *pte_k; + preempt_disable(); pgd = index + per_cpu(cur_pgd, smp_processor_id()); + preempt_enable(); pgd_k = init_mm.pgd + index; if (!pgd_present(*pgd_k)) diff -r af12cff417fd -r 07cc64b3bf86 linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c --- a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c Wed Sep 28 14:02:42 2005 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/fault.c Wed Sep 28 14:03:00 2005 @@ -149,7 +149,9 @@ pmd_t *pmd; pte_t *pte; + preempt_disable(); pgd = (pgd_t *)per_cpu(cur_pgd, smp_processor_id()); + preempt_enable(); pgd += pgd_index(address); printk("PGD %lx ", pgd_val(*pgd)); @@ -252,7 +254,9 @@ /* On Xen the line below does not always work. Needs investigating! */ /*pgd = pgd_offset(current->mm ?: &init_mm, address);*/ + preempt_disable(); pgd = (pgd_t *)per_cpu(cur_pgd, smp_processor_id()); + preempt_enable(); pgd += pgd_index(address); pgd_ref = pgd_offset_k(address); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |