Patchwork sparc64: correct write extra bits to cwp

login
register
mail settings
Submitter Igor V. Kovalenko
Date Jan. 26, 2010, 11:11 p.m.
Message ID <20100126231106.22550.1006.stgit@skyserv>
Download mbox | patch
Permalink /patch/43752/
State New
Headers show

Comments

Igor V. Kovalenko - Jan. 26, 2010, 11:11 p.m.
From: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>

- correctly fit to cwp if provided window number is out of range

Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
---
 target-sparc/cpu.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Blue Swirl - Jan. 27, 2010, 5:48 p.m.
Thanks, applied.


On Tue, Jan 26, 2010 at 11:11 PM, Igor V. Kovalenko
<igor.v.kovalenko@gmail.com> wrote:
> From: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
>
> - correctly fit to cwp if provided window number is out of range
>
> Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
> ---
>  target-sparc/cpu.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h
> index 50859c7..842a2f4 100644
> --- a/target-sparc/cpu.h
> +++ b/target-sparc/cpu.h
> @@ -519,7 +519,7 @@ static inline void PUT_PSR(CPUSPARCState *env1, target_ulong val)
>  static inline void PUT_CWP64(CPUSPARCState *env1, int cwp)
>  {
>     if (unlikely(cwp >= env1->nwindows || cwp < 0))
> -        cwp = 0;
> +        cwp %= env1->nwindows;
>     cpu_set_cwp(env1, env1->nwindows - 1 - cwp);
>  }
>  #endif
>
>
>
>

Patch

diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h
index 50859c7..842a2f4 100644
--- a/target-sparc/cpu.h
+++ b/target-sparc/cpu.h
@@ -519,7 +519,7 @@  static inline void PUT_PSR(CPUSPARCState *env1, target_ulong val)
 static inline void PUT_CWP64(CPUSPARCState *env1, int cwp)
 {
     if (unlikely(cwp >= env1->nwindows || cwp < 0))
-        cwp = 0;
+        cwp %= env1->nwindows;
     cpu_set_cwp(env1, env1->nwindows - 1 - cwp);
 }
 #endif