diff options
author | Kirill Tkhai <tkhai@yandex.ru> | 2013-08-02 11:23:18 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-13 19:08:32 -0400 |
commit | 84c041cc9b2eb6305732e32f283d9fac2b0e8b6a (patch) | |
tree | 9a022fd7a3787e52ee98364fc262b3ed0ea83d20 /arch | |
parent | 74e8a9efa9f08394444ef6ea7a4349c35dd3e811 (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.S | 3 |
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 | */ |
26 | kvmap_itlb_4v: | 26 | kvmap_itlb_4v: |
27 | 27 | ||
28 | kvmap_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) |