From 440f4883ea928746e797bc6bffa2936e880a9212 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 10 Jan 2008 21:10:54 -0800 Subject: [PATCH] --- yaml --- r: 75503 b: refs/heads/master c: bf4a7972d638741bbb0672653c1fa10e4480c385 h: refs/heads/master i: 75501: d99511ecdfbf320b11e41b089eb1abf691e9e858 75499: eef579a0cfc165d31252d19718843bba33348939 75495: c0896dc80a27c4fd4c8575967303ffa34beda4a9 75487: 3159dbe1c2f6e375f4420aea74a903c781576937 v: v3 --- [refs] | 2 +- trunk/arch/sparc64/kernel/ktlb.S | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b4b59f24fac4..f1508db6443d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 000775c50a19fa899121115f57f355c7f26e4346 +refs/heads/master: bf4a7972d638741bbb0672653c1fa10e4480c385 diff --git a/trunk/arch/sparc64/kernel/ktlb.S b/trunk/arch/sparc64/kernel/ktlb.S index 964527d2ffa0..cef8defcd7a9 100644 --- a/trunk/arch/sparc64/kernel/ktlb.S +++ b/trunk/arch/sparc64/kernel/ktlb.S @@ -1,6 +1,6 @@ /* arch/sparc64/kernel/ktlb.S: Kernel mapping TLB miss handling. * - * Copyright (C) 1995, 1997, 2005 David S. Miller + * Copyright (C) 1995, 1997, 2005, 2008 David S. Miller * Copyright (C) 1996 Eddie C. Dost (ecd@brainaid.de) * Copyright (C) 1996 Miguel de Icaza (miguel@nuclecu.unam.mx) * Copyright (C) 1996,98,99 Jakub Jelinek (jj@sunsite.mff.cuni.cz) @@ -226,6 +226,7 @@ kvmap_dtlb_load: ba,pt %xcc, sun4v_dtlb_load mov %g5, %g3 +#ifdef CONFIG_SPARSEMEM_VMEMMAP kvmap_vmemmap: sub %g4, %g5, %g5 srlx %g5, 22, %g5 @@ -234,6 +235,7 @@ kvmap_vmemmap: or %g1, %lo(vmemmap_table), %g1 ba,pt %xcc, kvmap_dtlb_load ldx [%g1 + %g5], %g5 +#endif kvmap_dtlb_nonlinear: /* Catch kernel NULL pointer derefs. */ @@ -242,12 +244,14 @@ kvmap_dtlb_nonlinear: bleu,pn %xcc, kvmap_dtlb_longpath nop +#ifdef CONFIG_SPARSEMEM_VMEMMAP /* Do not use the TSB for vmemmap. */ mov (VMEMMAP_BASE >> 24), %g5 sllx %g5, 24, %g5 cmp %g4,%g5 bgeu,pn %xcc, kvmap_vmemmap nop +#endif KERN_TSB_LOOKUP_TL1(%g4, %g6, %g5, %g1, %g2, %g3, kvmap_dtlb_load)