diff options
Diffstat (limited to 'arch/x86/mm')
| -rw-r--r-- | arch/x86/mm/init_64.c | 2 | ||||
| -rw-r--r-- | arch/x86/mm/pat.c | 3 | ||||
| -rw-r--r-- | arch/x86/mm/tlb.c | 21 |
3 files changed, 13 insertions, 13 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 6176fe8f29e0..ea56b8cbb6a6 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
| @@ -796,7 +796,7 @@ int __init reserve_bootmem_generic(unsigned long phys, unsigned long len, | |||
| 796 | return ret; | 796 | return ret; |
| 797 | 797 | ||
| 798 | #else | 798 | #else |
| 799 | reserve_bootmem(phys, len, BOOTMEM_DEFAULT); | 799 | reserve_bootmem(phys, len, flags); |
| 800 | #endif | 800 | #endif |
| 801 | 801 | ||
| 802 | if (phys+len <= MAX_DMA_PFN*PAGE_SIZE) { | 802 | if (phys+len <= MAX_DMA_PFN*PAGE_SIZE) { |
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index e6718bb28065..352aa9e927e2 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c | |||
| @@ -623,7 +623,8 @@ static int reserve_pfn_range(u64 paddr, unsigned long size, pgprot_t *vma_prot, | |||
| 623 | return ret; | 623 | return ret; |
| 624 | 624 | ||
| 625 | if (flags != want_flags) { | 625 | if (flags != want_flags) { |
| 626 | if (strict_prot || !is_new_memtype_allowed(want_flags, flags)) { | 626 | if (strict_prot || |
| 627 | !is_new_memtype_allowed(paddr, size, want_flags, flags)) { | ||
| 627 | free_memtype(paddr, paddr + size); | 628 | free_memtype(paddr, paddr + size); |
| 628 | printk(KERN_ERR "%s:%d map pfn expected mapping type %s" | 629 | printk(KERN_ERR "%s:%d map pfn expected mapping type %s" |
| 629 | " for %Lx-%Lx, got %s\n", | 630 | " for %Lx-%Lx, got %s\n", |
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c index 821e97017e95..c814e144a3f0 100644 --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c | |||
| @@ -183,18 +183,17 @@ static void flush_tlb_others_ipi(const struct cpumask *cpumask, | |||
| 183 | 183 | ||
| 184 | f->flush_mm = mm; | 184 | f->flush_mm = mm; |
| 185 | f->flush_va = va; | 185 | f->flush_va = va; |
| 186 | cpumask_andnot(to_cpumask(f->flush_cpumask), | 186 | if (cpumask_andnot(to_cpumask(f->flush_cpumask), cpumask, cpumask_of(smp_processor_id()))) { |
| 187 | cpumask, cpumask_of(smp_processor_id())); | 187 | /* |
| 188 | 188 | * We have to send the IPI only to | |
| 189 | /* | 189 | * CPUs affected. |
| 190 | * We have to send the IPI only to | 190 | */ |
| 191 | * CPUs affected. | 191 | apic->send_IPI_mask(to_cpumask(f->flush_cpumask), |
| 192 | */ | 192 | INVALIDATE_TLB_VECTOR_START + sender); |
| 193 | apic->send_IPI_mask(to_cpumask(f->flush_cpumask), | ||
| 194 | INVALIDATE_TLB_VECTOR_START + sender); | ||
| 195 | 193 | ||
| 196 | while (!cpumask_empty(to_cpumask(f->flush_cpumask))) | 194 | while (!cpumask_empty(to_cpumask(f->flush_cpumask))) |
| 197 | cpu_relax(); | 195 | cpu_relax(); |
| 196 | } | ||
| 198 | 197 | ||
| 199 | f->flush_mm = NULL; | 198 | f->flush_mm = NULL; |
| 200 | f->flush_va = 0; | 199 | f->flush_va = 0; |
