aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/tsb.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/include/asm/tsb.h')
-rw-r--r--arch/sparc/include/asm/tsb.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/sparc/include/asm/tsb.h b/arch/sparc/include/asm/tsb.h
index 76e4299dd9bc..83c571d8c8a7 100644
--- a/arch/sparc/include/asm/tsb.h
+++ b/arch/sparc/include/asm/tsb.h
@@ -50,8 +50,6 @@
50#define TSB_TAG_INVALID_BIT 46 50#define TSB_TAG_INVALID_BIT 46
51#define TSB_TAG_INVALID_HIGH (1 << (TSB_TAG_INVALID_BIT - 32)) 51#define TSB_TAG_INVALID_HIGH (1 << (TSB_TAG_INVALID_BIT - 32))
52 52
53#define TSB_MEMBAR membar #StoreStore
54
55/* Some cpus support physical address quad loads. We want to use 53/* Some cpus support physical address quad loads. We want to use
56 * those if possible so we don't need to hard-lock the TSB mapping 54 * those if possible so we don't need to hard-lock the TSB mapping
57 * into the TLB. We encode some instruction patching in order to 55 * into the TLB. We encode some instruction patching in order to
@@ -128,13 +126,11 @@ extern struct tsb_phys_patch_entry __tsb_phys_patch, __tsb_phys_patch_end;
128 cmp REG1, REG2; \ 126 cmp REG1, REG2; \
129 bne,pn %icc, 99b; \ 127 bne,pn %icc, 99b; \
130 nop; \ 128 nop; \
131 TSB_MEMBAR
132 129
133#define TSB_WRITE(TSB, TTE, TAG) \ 130#define TSB_WRITE(TSB, TTE, TAG) \
134 add TSB, 0x8, TSB; \ 131 add TSB, 0x8, TSB; \
135 TSB_STORE(TSB, TTE); \ 132 TSB_STORE(TSB, TTE); \
136 sub TSB, 0x8, TSB; \ 133 sub TSB, 0x8, TSB; \
137 TSB_MEMBAR; \
138 TSB_STORE(TSB, TAG); 134 TSB_STORE(TSB, TAG);
139 135
140#define KTSB_LOAD_QUAD(TSB, REG) \ 136#define KTSB_LOAD_QUAD(TSB, REG) \
@@ -153,13 +149,11 @@ extern struct tsb_phys_patch_entry __tsb_phys_patch, __tsb_phys_patch_end;
153 cmp REG1, REG2; \ 149 cmp REG1, REG2; \
154 bne,pn %icc, 99b; \ 150 bne,pn %icc, 99b; \
155 nop; \ 151 nop; \
156 TSB_MEMBAR
157 152
158#define KTSB_WRITE(TSB, TTE, TAG) \ 153#define KTSB_WRITE(TSB, TTE, TAG) \
159 add TSB, 0x8, TSB; \ 154 add TSB, 0x8, TSB; \
160 stxa TTE, [TSB] ASI_N; \ 155 stxa TTE, [TSB] ASI_N; \
161 sub TSB, 0x8, TSB; \ 156 sub TSB, 0x8, TSB; \
162 TSB_MEMBAR; \
163 stxa TAG, [TSB] ASI_N; 157 stxa TAG, [TSB] ASI_N;
164 158
165 /* Do a kernel page table walk. Leaves physical PTE pointer in 159 /* Do a kernel page table walk. Leaves physical PTE pointer in