]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 26 Apr 2015 20:23:15 +0000 (13:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 26 Apr 2015 20:23:15 +0000 (13:23 -0700)
Pull powerpc fixes from Michael Ellerman:

 - fix for mm_dec_nr_pmds() from Scott.

 - fixes for oopses seen with KVM + THP from Aneesh.

 - build fixes from Aneesh & Shreyas.

* tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
  powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled
  powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error
  powerpc/mm/thp: Return pte address if we find trans_splitting.
  powerpc/mm/thp: Make page table walk safe against thp split/collapse
  KVM: PPC: Remove page table walk helpers
  KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer
  powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range()

1  2 
arch/powerpc/include/asm/kvm_book3s_64.h
arch/powerpc/kvm/Kconfig
arch/powerpc/kvm/book3s_64_mmu_hv.c
arch/powerpc/kvm/book3s_hv_rm_mmu.c

Simple merge
Simple merge
index f6bf0b1de6d79223854a0d431c486623ed8b5e9e,d839f08cb903465747ee3bea64dbdcccd394609c..b027a89737b62cee4399e63eb9d61232f156687d
@@@ -131,25 -134,12 +134,6 @@@ static void remove_revmap_chain(struct 
        unlock_rmap(rmap);
  }
  
- static pte_t lookup_linux_pte_and_update(pgd_t *pgdir, unsigned long hva,
-                             int writing, unsigned long *pte_sizep)
 -static inline void unlock_hpte(__be64 *hpte, unsigned long hpte_v)
--{
-       pte_t *ptep;
-       unsigned long ps = *pte_sizep;
-       unsigned int hugepage_shift;
-       ptep = find_linux_pte_or_hugepte(pgdir, hva, &hugepage_shift);
-       if (!ptep)
-               return __pte(0);
-       if (hugepage_shift)
-               *pte_sizep = 1ul << hugepage_shift;
-       else
-               *pte_sizep = PAGE_SIZE;
-       if (ps > *pte_sizep)
-               return __pte(0);
-       return kvmppc_read_update_linux_pte(ptep, writing, hugepage_shift);
 -      asm volatile(PPC_RELEASE_BARRIER "" : : : "memory");
 -      hpte[0] = cpu_to_be64(hpte_v);
--}
--
  long kvmppc_do_h_enter(struct kvm *kvm, unsigned long flags,
                       long pte_index, unsigned long pteh, unsigned long ptel,
                       pgd_t *pgdir, bool realmode, unsigned long *pte_idx_ret)