aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKirill Tkhai <tkhai@yandex.ru>2013-08-02 11:23:18 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-13 19:08:32 -0400
commit84c041cc9b2eb6305732e32f283d9fac2b0e8b6a (patch)
tree9a022fd7a3787e52ee98364fc262b3ed0ea83d20 /arch
parent74e8a9efa9f08394444ef6ea7a4349c35dd3e811 (diff)
sparc64: Fix ITLB handler of null page
[ Upstream commit 1c2696cdaad84580545a2e9c0879ff597880b1a9 ] 1)Use kvmap_itlb_longpath instead of kvmap_dtlb_longpath. 2)Handle page #0 only, don't handle page #1: bleu -> blu (KERNBASE is 0x400000, so #1 does not exist too. But everything is possible in the future. Fix to not to have problems later.) 3)Remove unused kvmap_itlb_nonlinear. Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> CC: David Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sparc/kernel/ktlb.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/sparc/kernel/ktlb.S b/arch/sparc/kernel/ktlb.S
index 0746e5e32b37..fde5a419cf27 100644
--- a/arch/sparc/kernel/ktlb.S
+++ b/arch/sparc/kernel/ktlb.S
@@ -25,11 +25,10 @@ kvmap_itlb:
25 */ 25 */
26kvmap_itlb_4v: 26kvmap_itlb_4v:
27 27
28kvmap_itlb_nonlinear:
29 /* Catch kernel NULL pointer calls. */ 28 /* Catch kernel NULL pointer calls. */
30 sethi %hi(PAGE_SIZE), %g5 29 sethi %hi(PAGE_SIZE), %g5
31 cmp %g4, %g5 30 cmp %g4, %g5
32 bleu,pn %xcc, kvmap_dtlb_longpath 31 blu,pn %xcc, kvmap_itlb_longpath
33 nop 32 nop
34 33
35 KERN_TSB_LOOKUP_TL1(%g4, %g6, %g5, %g1, %g2, %g3, kvmap_itlb_load) 34 KERN_TSB_LOOKUP_TL1(%g4, %g6, %g5, %g1, %g2, %g3, kvmap_itlb_load)