45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From: Alexander Graf <agraf@suse.de>
|
|
Date: Wed, 11 Jun 2014 17:13:55 +0200
|
|
Subject: KVM: PPC: Book3s HV: Fix tlbie compile error
|
|
Origin: https://git.kernel.org/linus/f6bf3a66227447f89f25b9db0ae39357decf2509
|
|
|
|
Some compilers complain about uninitialized variables in the compute_tlbie_rb
|
|
function. When you follow the code path you'll realize that we'll never get
|
|
to that point, but the compiler isn't all that smart.
|
|
|
|
So just default to 4k page sizes for everything, making the compiler happy
|
|
and the code slightly easier to read.
|
|
|
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
|
Acked-by: Paul Mackerras <paulus@samba.org>
|
|
---
|
|
arch/powerpc/include/asm/kvm_book3s_64.h | 8 ++------
|
|
1 file changed, 2 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h
|
|
index fddb72b..c7871f3 100644
|
|
--- a/arch/powerpc/include/asm/kvm_book3s_64.h
|
|
+++ b/arch/powerpc/include/asm/kvm_book3s_64.h
|
|
@@ -110,16 +110,12 @@ static inline int __hpte_actual_psize(unsigned int lp, int psize)
|
|
static inline unsigned long compute_tlbie_rb(unsigned long v, unsigned long r,
|
|
unsigned long pte_index)
|
|
{
|
|
- int b_psize, a_psize;
|
|
+ int b_psize = MMU_PAGE_4K, a_psize = MMU_PAGE_4K;
|
|
unsigned int penc;
|
|
unsigned long rb = 0, va_low, sllp;
|
|
unsigned int lp = (r >> LP_SHIFT) & ((1 << LP_BITS) - 1);
|
|
|
|
- if (!(v & HPTE_V_LARGE)) {
|
|
- /* both base and actual psize is 4k */
|
|
- b_psize = MMU_PAGE_4K;
|
|
- a_psize = MMU_PAGE_4K;
|
|
- } else {
|
|
+ if (v & HPTE_V_LARGE) {
|
|
for (b_psize = 0; b_psize < MMU_PAGE_COUNT; b_psize++) {
|
|
|
|
/* valid entries have a shift value */
|
|
--
|
|
1.7.10.4
|
|
|