summaryrefslogtreecommitdiff
path: root/src/arch/mips
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2007-06-29 15:13:50 -0400
committerKorey Sewell <ksewell@umich.edu>2007-06-29 15:13:50 -0400
commit738ecc495b7f296c1344285337601e3d0ad52e71 (patch)
treeae98c1d445f181a6257c09af8c585e8d4b4341b9 /src/arch/mips
parente28cbc98a0c1cc516f8086697f69db702bbe47de (diff)
downloadgem5-738ecc495b7f296c1344285337601e3d0ad52e71.tar.xz
fix store instructions, pass fast/quick Atomic/TimingSimpleCPU regressions...
src/arch/mips/isa/decoder.isa: commment out deret instruction for now... src/arch/mips/isa/formats/fp.isa: edit fp format src/arch/mips/isa/formats/mem.isa: fix for basic store instructions --HG-- extra : convert_revision : 30cb5a474e78ac9292b6ab37d433db947a177731
Diffstat (limited to 'src/arch/mips')
-rw-r--r--src/arch/mips/isa/decoder.isa21
-rw-r--r--src/arch/mips/isa/formats/fp.isa4
-rw-r--r--src/arch/mips/isa/formats/mem.isa6
3 files changed, 12 insertions, 19 deletions
diff --git a/src/arch/mips/isa/decoder.isa b/src/arch/mips/isa/decoder.isa
index 0af84e36b..e55d2e070 100644
--- a/src/arch/mips/isa/decoder.isa
+++ b/src/arch/mips/isa/decoder.isa
@@ -27,6 +27,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Authors: Korey Sewell
+// Brett Miller
////////////////////////////////////////////////////////////////////
//
@@ -557,20 +558,12 @@ decode OPCODE_HI default Unknown::unknown() {
}});
0x1F: deret({{
- // if(EJTagImplemented()) {
- if(Debug_DM == 1){
- Debug_DM = 1;
- Debug_IEXI = 0;
- NPC = DEPC;
- }
- else
- {
- // Undefined;
- }
- //} // EJTag Implemented
- //else {
- // Reserved Instruction Exception
- //}
+ //if(Debug_DM == 1){
+ //Debug_DM = 1;
+ //Debug_IEXI = 0;
+ //NPC = DEPC;
+ //}
+ panic("deret not implemented");
}});
}
diff --git a/src/arch/mips/isa/formats/fp.isa b/src/arch/mips/isa/formats/fp.isa
index 4b340e2e6..4e81ae2cf 100644
--- a/src/arch/mips/isa/formats/fp.isa
+++ b/src/arch/mips/isa/formats/fp.isa
@@ -150,8 +150,10 @@ output exec {{
//Read FCSR from FloatRegFile
uint32_t fcsr_bits = cpu->tcBase()->readFloatRegBits(FCSR);
+ uint32_t new_fcsr = genInvalidVector(fcsr_bits);
+
//Write FCSR from FloatRegFile
- cpu->tcBase()->setFloatRegOperandBits(FCSR, genInvalidVector(fcsr_bits));
+ cpu->tcBase()->setFloatRegBits(FCSR, new_fcsr);
if (traceData) { traceData->setData(mips_nan); }
return true;
diff --git a/src/arch/mips/isa/formats/mem.isa b/src/arch/mips/isa/formats/mem.isa
index 81e231810..18d1f52f9 100644
--- a/src/arch/mips/isa/formats/mem.isa
+++ b/src/arch/mips/isa/formats/mem.isa
@@ -369,7 +369,6 @@ def template StoreMemAccExecute {{
{
Addr EA;
Fault fault = NoFault;
- uint64_t write_result = 0;
%(fp_enable_check)s;
%(op_decl)s;
@@ -383,7 +382,7 @@ def template StoreMemAccExecute {{
if (fault == NoFault) {
fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA,
- memAccessFlags, &write_result);
+ memAccessFlags, NULL);
// @NOTE: Need to Call Complete Access to Set Trace Data
//if (traceData) { traceData->setData(Mem); }
}
@@ -434,7 +433,6 @@ def template StoreExecute {{
{
Addr EA;
Fault fault = NoFault;
- uint64_t write_result = 0;
%(fp_enable_check)s;
%(op_decl)s;
@@ -447,7 +445,7 @@ def template StoreExecute {{
if (fault == NoFault) {
fault = xc->write((uint%(mem_acc_size)d_t&)Mem, EA,
- memAccessFlags, &write_result);
+ memAccessFlags, NULL);
if (traceData) { traceData->setData(Mem); }
}