diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-03-10 19:29:31 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-03-10 19:29:31 -0500 |
commit | 7e363e14f7f348d8b10fa020e572867659f7e6c6 (patch) | |
tree | 97c97a727e1ca9ce095fc130d7ca8507878701b7 /src/arch/sparc/miscregfile.cc | |
parent | df1ea2cf05e41c0be33eeb9f91c3adfb985005c2 (diff) | |
download | gem5-7e363e14f7f348d8b10fa020e572867659f7e6c6.tar.xz |
Fix bounds check for the cwp
--HG--
extra : convert_revision : 097e6b0c80d71417329b2a4cd118046aa5ed777a
Diffstat (limited to 'src/arch/sparc/miscregfile.cc')
-rw-r--r-- | src/arch/sparc/miscregfile.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/arch/sparc/miscregfile.cc b/src/arch/sparc/miscregfile.cc index 20bc4ae5d..ac30afde9 100644 --- a/src/arch/sparc/miscregfile.cc +++ b/src/arch/sparc/miscregfile.cc @@ -654,7 +654,12 @@ void MiscRegFile::setReg(int miscReg, #endif return; case MISCREG_CWP: - new_val = val > NWindows ? NWindows - 1 : val; + new_val = val >= NWindows ? NWindows - 1 : val; + if (val >= NWindows) { + new_val = NWindows - 1; + warn("Attempted to set the CWP to %d with NWindows = %d\n", + val, NWindows); + } tc->changeRegFileContext(CONTEXT_CWP, new_val); break; case MISCREG_GL: |