]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.8.4/powerpc-make-vsid_bits-dependency-explicit.patch
Linux 4.14.95
[thirdparty/kernel/stable-queue.git] / releases / 3.8.4 / powerpc-make-vsid_bits-dependency-explicit.patch
1 From e39d1a471484662620651cd9520250d33843f235 Mon Sep 17 00:00:00 2001
2 From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
3 Date: Wed, 13 Mar 2013 03:34:53 +0000
4 Subject: powerpc: Make VSID_BITS* dependency explicit
5
6 From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
7
8 commit e39d1a471484662620651cd9520250d33843f235 upstream.
9
10 VSID_BITS and VSID_BITS_1T depends on the context bits and user esid
11 bits. Make the dependency explicit
12
13 Acked-by: Paul Mackerras <paulus@samba.org>
14 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
15 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
16 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17
18 ---
19 arch/powerpc/include/asm/mmu-hash64.h | 11 ++++++-----
20 1 file changed, 6 insertions(+), 5 deletions(-)
21
22 --- a/arch/powerpc/include/asm/mmu-hash64.h
23 +++ b/arch/powerpc/include/asm/mmu-hash64.h
24 @@ -381,21 +381,22 @@ extern void slb_set_size(u16 size);
25 * hash collisions.
26 */
27
28 +#define CONTEXT_BITS 19
29 +#define USER_ESID_BITS 18
30 +#define USER_ESID_BITS_1T 6
31 +
32 /*
33 * This should be computed such that protovosid * vsid_mulitplier
34 * doesn't overflow 64 bits. It should also be co-prime to vsid_modulus
35 */
36 #define VSID_MULTIPLIER_256M ASM_CONST(12538073) /* 24-bit prime */
37 -#define VSID_BITS_256M 38
38 +#define VSID_BITS_256M (CONTEXT_BITS + USER_ESID_BITS + 1)
39 #define VSID_MODULUS_256M ((1UL<<VSID_BITS_256M)-1)
40
41 #define VSID_MULTIPLIER_1T ASM_CONST(12538073) /* 24-bit prime */
42 -#define VSID_BITS_1T 26
43 +#define VSID_BITS_1T (CONTEXT_BITS + USER_ESID_BITS_1T + 1)
44 #define VSID_MODULUS_1T ((1UL<<VSID_BITS_1T)-1)
45
46 -#define CONTEXT_BITS 19
47 -#define USER_ESID_BITS 18
48 -#define USER_ESID_BITS_1T 6
49
50 #define USER_VSID_RANGE (1UL << (USER_ESID_BITS + SID_SHIFT))
51