summaryrefslogtreecommitdiff
path: root/arch/mips/isa/decoder.isa
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2006-04-12 03:44:45 -0400
committerKorey Sewell <ksewell@umich.edu>2006-04-12 03:44:45 -0400
commit4fe89f7232202040b8b8fcea2461e5ae6be2d739 (patch)
tree71d4f25c95264ac9e9d47bb624cb4d8ddadbe078 /arch/mips/isa/decoder.isa
parentda7990ab337699ae788809ddaea5ba5c363e0015 (diff)
downloadgem5-4fe89f7232202040b8b8fcea2461e5ae6be2d739.tar.xz
add OSFlags struct to AlphaISA/MipsISA namespace. The OS classes then use these OSFlags to access architecture-specific AND OS-specific
flags for their functions (e.g. OS::OSFlags::TG_MAP_ANONYMOUS)... arch/alpha/tru64/process.cc: sim/syscall_emul.hh: Add OSFlags to code arch/mips/isa/decoder.isa: slight decoder changes (more stylistic then anything) arch/mips/isa/formats/util.isa: spacing arch/mips/isa_traits.hh: add OSFlags struct to MipsISA namespace. The OS classes then use these OSFlags to access architecture-specific and OS-specific flags for their functions kern/linux/linux.hh: remove constant placement ... define OSFlags in linux.hh kern/tru64/tru64.hh: define OSFlags in tru64 --HG-- extra : convert_revision : 59be1036eb439ca4ea1eea1d3b52e508023de6c9
Diffstat (limited to 'arch/mips/isa/decoder.isa')
-rw-r--r--arch/mips/isa/decoder.isa12
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/mips/isa/decoder.isa b/arch/mips/isa/decoder.isa
index 35e5fa75b..ffedfbca8 100644
--- a/arch/mips/isa/decoder.isa
+++ b/arch/mips/isa/decoder.isa
@@ -143,9 +143,11 @@ decode OPCODE_HI default Unknown::unknown() {
}});
0x1: multu({{
- int64_t temp1 = Rs.uw * Rt.uw;
- xc->setMiscReg(Hi,temp1<63:32>);
- xc->setMiscReg(Lo,temp1<31:0>);
+ uint64_t temp1 = Rs.uw * Rt.uw;
+ uint32_t hi_val = temp1<63:32>;
+ uint32_t lo_val = temp1<31:0>;
+ xc->setMiscReg(Hi,hi_val);
+ xc->setMiscReg(Lo,lo_val);
}});
0x2: div({{
@@ -154,8 +156,8 @@ decode OPCODE_HI default Unknown::unknown() {
}});
0x3: divu({{
- xc->setMiscReg(Hi,Rs.uw % Rt.uw);
- xc->setMiscReg(Lo,Rs.uw / Rt.uw);
+ xc->setMiscReg(Hi,Rs.uw % Rt.uw);
+ xc->setMiscReg(Lo,Rs.uw / Rt.uw);
}});
}
}