aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/mmu-hash64.h
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2007-05-10 01:28:44 -0400
committerPaul Mackerras <paulus@samba.org>2007-05-10 07:28:13 -0400
commit2454c7e98c0dd0aff29dfe1ee369801507f4d6a5 (patch)
tree3f95e3254d698a84cab15059ad4819919e99f593 /include/asm-powerpc/mmu-hash64.h
parentde1132173a81ae11aaa6af11ed9ded5f0c565c87 (diff)
[POWERPC] Fix warning in hpte_decode(), and generalize it
This adds the necessary support to hpte_decode() to handle 1TB segments and 16GB pages, and removes an uninitialized value warning on avpn. We don't have any code to generate HPTEs for 1TB segments or 16GB pages yet, so this is mostly for completeness, and to fix the warning. Signed-off-by: Paul Mackerras <paulus@samba.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'include/asm-powerpc/mmu-hash64.h')
-rw-r--r--include/asm-powerpc/mmu-hash64.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/asm-powerpc/mmu-hash64.h b/include/asm-powerpc/mmu-hash64.h
index e2ca55bcfe0b..b8dca30bd0b5 100644
--- a/include/asm-powerpc/mmu-hash64.h
+++ b/include/asm-powerpc/mmu-hash64.h
@@ -73,8 +73,9 @@ extern char initial_stab[];
73 73
74#define HPTES_PER_GROUP 8 74#define HPTES_PER_GROUP 8
75 75
76#define HPTE_V_SSIZE_SHIFT 62
76#define HPTE_V_AVPN_SHIFT 7 77#define HPTE_V_AVPN_SHIFT 7
77#define HPTE_V_AVPN ASM_CONST(0xffffffffffffff80) 78#define HPTE_V_AVPN ASM_CONST(0x3fffffffffffff80)
78#define HPTE_V_AVPN_VAL(x) (((x) & HPTE_V_AVPN) >> HPTE_V_AVPN_SHIFT) 79#define HPTE_V_AVPN_VAL(x) (((x) & HPTE_V_AVPN) >> HPTE_V_AVPN_SHIFT)
79#define HPTE_V_COMPARE(x,y) (!(((x) ^ (y)) & HPTE_V_AVPN)) 80#define HPTE_V_COMPARE(x,y) (!(((x) ^ (y)) & HPTE_V_AVPN))
80#define HPTE_V_BOLTED ASM_CONST(0x0000000000000010) 81#define HPTE_V_BOLTED ASM_CONST(0x0000000000000010)
@@ -151,6 +152,15 @@ struct mmu_psize_def
151#define MMU_PAGE_16G 5 /* 16G */ 152#define MMU_PAGE_16G 5 /* 16G */
152#define MMU_PAGE_COUNT 6 153#define MMU_PAGE_COUNT 6
153 154
155/*
156 * Segment sizes.
157 * These are the values used by hardware in the B field of
158 * SLB entries and the first dword of MMU hashtable entries.
159 * The B field is 2 bits; the values 2 and 3 are unused and reserved.
160 */
161#define MMU_SEGSIZE_256M 0
162#define MMU_SEGSIZE_1T 1
163
154#ifndef __ASSEMBLY__ 164#ifndef __ASSEMBLY__
155 165
156/* 166/*