Patchwork MIPS: Don't probe reserved EntryHi bits.

login
register
mail settings
Submitter David Daney
Date 2010-02-08 08:02:00
Message ID <1265660820-5418-1-git-send-email-ddaney@caviumnetworks.com>
Download mbox | patch
Permalink /patch/949/
State Accepted
Delegated to: Ralf Baechle
Headers show

Comments

David Daney - 2010-02-08 08:02:00
The patch that adds cpu_probe_vmbits is erroneously writing to
reserved bit 12.  Since we are really only probing high bits, don't
write this bit with a one.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
CC: Guenter Roeck <guenter.roeck@ericsson.com>
---
 arch/mips/kernel/cpu-probe.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Guenter Roeck - 2010-02-08 08:02:28
On Mon, 2010-02-08 at 15:27 -0500, David Daney wrote:
> The patch that adds cpu_probe_vmbits is erroneously writing to
> reserved bit 12.  Since we are really only probing high bits, don't
> write this bit with a one.
> 
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>
> CC: Guenter Roeck <guenter.roeck@ericsson.com>

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>

> ---
>  arch/mips/kernel/cpu-probe.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
> index 2ff5f64..9ea5ca8 100644
> --- a/arch/mips/kernel/cpu-probe.c
> +++ b/arch/mips/kernel/cpu-probe.c
> @@ -287,9 +287,9 @@ static inline int __cpu_has_fpu(void)
>  static inline void cpu_probe_vmbits(struct cpuinfo_mips *c)
>  {
>  #ifdef __NEED_VMBITS_PROBE
> -	write_c0_entryhi(0x3ffffffffffff000ULL);
> +	write_c0_entryhi(0x3fffffffffffe000ULL);
>  	back_to_back_c0_hazard();
> -	c->vmbits = fls64(read_c0_entryhi() & 0x3ffffffffffff000ULL);
> +	c->vmbits = fls64(read_c0_entryhi() & 0x3fffffffffffe000ULL);
>  #endif
>  }
>
Ralf Baechle - 2010-02-09 01:02:20
On Mon, Feb 08, 2010 at 12:36:28PM -0800, Guenter Roeck wrote:

> On Mon, 2010-02-08 at 15:27 -0500, David Daney wrote:
> > The patch that adds cpu_probe_vmbits is erroneously writing to
> > reserved bit 12.  Since we are really only probing high bits, don't
> > write this bit with a one.
> > 
> > Signed-off-by: David Daney <ddaney@caviumnetworks.com>
> > CC: Guenter Roeck <guenter.roeck@ericsson.com>
> 
> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>

Acked-by: you meant.  Patch applied.

Thanks folks,

  Ralf

Patch

diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 2ff5f64..9ea5ca8 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -287,9 +287,9 @@  static inline int __cpu_has_fpu(void)
 static inline void cpu_probe_vmbits(struct cpuinfo_mips *c)
 {
 #ifdef __NEED_VMBITS_PROBE
-	write_c0_entryhi(0x3ffffffffffff000ULL);
+	write_c0_entryhi(0x3fffffffffffe000ULL);
 	back_to_back_c0_hazard();
-	c->vmbits = fls64(read_c0_entryhi() & 0x3ffffffffffff000ULL);
+	c->vmbits = fls64(read_c0_entryhi() & 0x3fffffffffffe000ULL);
 #endif
 }