diff options
author | Korey Sewell <ksewell@umich.edu> | 2006-04-10 12:23:17 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2006-04-10 12:23:17 -0400 |
commit | 4f430e9ab56443e822171b7881f4d50475dbaf25 (patch) | |
tree | 907b360208c9d7981f3d29628c18862da7a54c74 /sim/syscall_emul.cc | |
parent | b855ea6968559f1fac10b762e170ff9adabe4f9f (diff) | |
download | gem5-4f430e9ab56443e822171b7881f4d50475dbaf25.tar.xz |
Finally MIPS does hello world!
arch/mips/isa/bitfields.isa:
add RS_SRL bitfield ...these must be set to 0 for a SRL instruction
arch/mips/isa/decoder.isa:
Make unimplemented instructions Fail instead of just Warn
Edits to SRA & SRAV instructions
Implement CFC1 instructions
Unaligned Memory Access Support (Maybe Not fully functional yet)
Enforce a more strict decode policy (in terms of different bitfields set to 0 on certain instructions)
arch/mips/isa/formats/branch.isa:
Fix disassembly
arch/mips/isa/formats/int.isa:
Add sign extend Immediate and zero extend Immediate to Int class.
Probably a bit unnecessary in the long run since these manipulations could
be done in the actually instruction instead of keep a int value
arch/mips/isa/formats/mem.isa:
Comment/Remove out split-memory access code... revisit this after SimpleCPU works
arch/mips/isa/formats/unimp.isa:
Add inst2string function to Unimplemented panic. PRints out the instruction
binary to help in debuggin
arch/mips/isa/formats/unknown.isa:
define inst2string function , use in unknown disassembly and panic function
arch/mips/isa/operands.isa:
Make "Mem" default to a unsigned word since this is MIPS32
arch/mips/isa_traits.hh:
change return values to 32 instead of 64
arch/mips/linux_process.cc:
assign some syscalls to the right functions
cpu/static_inst.hh:
more debug functions for MIPS (these will be move to the mips directory soon)
mem/page_table.cc:
mem/page_table.hh:
toward a better implementation for unaligned memory access
mem/request.hh:
NO ALIGN FAULT flag added to support unaligned memory access
sim/syscall_emul.cc:
additional SyscallVerbose comments
--HG--
extra : convert_revision : 1987d80c9f4ede507f1f0148435e0bee97d2428c
Diffstat (limited to 'sim/syscall_emul.cc')
-rw-r--r-- | sim/syscall_emul.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sim/syscall_emul.cc b/sim/syscall_emul.cc index 9e49c6a5e..ed0da628e 100644 --- a/sim/syscall_emul.cc +++ b/sim/syscall_emul.cc @@ -48,13 +48,15 @@ using namespace TheISA; void SyscallDesc::doSyscall(int callnum, Process *process, ExecContext *xc) { - DPRINTFR(SyscallVerbose, "%s: syscall %s called\n", - xc->getCpuPtr()->name(), name); + DPRINTFR(SyscallVerbose, "%d: %s: syscall %s called w/arguments %d,%d,%d,%d\n", + curTick,xc->getCpuPtr()->name(), name, + xc->getSyscallArg(0),xc->getSyscallArg(1), + xc->getSyscallArg(2),xc->getSyscallArg(3)); SyscallReturn retval = (*funcPtr)(this, callnum, process, xc); - DPRINTFR(SyscallVerbose, "%s: syscall %s returns %d\n", - xc->getCpuPtr()->name(), name, retval.value()); + DPRINTFR(SyscallVerbose, "%d: %s: syscall %s returns %d\n", + curTick,xc->getCpuPtr()->name(), name, retval.value()); if (!(flags & SyscallDesc::SuppressReturnValue)) xc->setSyscallReturn(retval); @@ -65,8 +67,6 @@ SyscallReturn unimplementedFunc(SyscallDesc *desc, int callnum, Process *process, ExecContext *xc) { - //warn("ignoring syscall %s(%d, %d, ...)", desc->name, - // xc->getSyscallArg(0), xc->getSyscallArg(1)); fatal("syscall %s (#%d) unimplemented.", desc->name, callnum); return 1; |