Ali Saidi
bb5377899a
ARM: Add system for ARM/Linux and bootstrapping
2010-08-23 11:18:40 -05:00
Ali Saidi
38cf6a164d
ARM: Implement some more misc registers
2010-08-23 11:18:40 -05:00
Ali Saidi
b7b2eae6fa
ARM: Fix an un-initialized variable bug
2010-08-23 11:18:39 -05:00
Ali Saidi
f2642e2055
Loader: Make the load address mask be a parameter of the system rather than a constant.
...
This allows one two different OS requirements for the same ISA to be handled.
Some OSes are compiled for a virtual address and need to be loaded into physical
memory that starts at address 0, while other bare metal tools generate
images that start at address 0.
2010-08-23 11:18:39 -05:00
Min Kyu Jeong
d4e83a4001
ARM: Finish the timing translation when taking a fault.
2010-08-23 11:18:39 -05:00
Dam Sunwoo
cb76111a7e
ARM: Use a stl queue for the table walker state
2010-08-23 11:18:39 -05:00
Ali Saidi
ac575a9d82
Compiler: Fixes for GCC 4.5.
2010-08-23 11:18:39 -05:00
Gabe Black
fa01fbddeb
X86: Get rid of unused file arguments.hh.
2010-08-22 18:42:23 -07:00
Gabe Black
4ad30a662d
SPARC: Fix some style issues in utility.hh.
2010-08-22 18:39:39 -07:00
Gabe Black
5836023ab2
X86: Get rid of the unused getAllocator on the python base microop class.
...
This function is always overridden, and doesn't actually have the right
signature.
2010-08-22 18:24:09 -07:00
Steve Reinhardt
164a211f10
x86: minor checkpointing bug fixes
2010-08-17 05:20:39 -07:00
Steve Reinhardt
f064aa3060
sim: revamp unserialization procedure
...
Replace direct call to unserialize() on each SimObject with a pair of
calls for better control over initialization in both ckpt and non-ckpt
cases.
If restoring from a checkpoint, loadState(ckpt) is called on each
SimObject. The default implementation simply calls unserialize() if
there is a corresponding checkpoint section, so we get backward
compatibility for existing objects. However, objects can override
loadState() to get other behaviors, e.g., doing other programmed
initializations after unserialize(), or complaining if no checkpoint
section is found. (Note that the default warning for a missing
checkpoint section is now gone.)
If not restoring from a checkpoint, we call the new initState() method
on each SimObject instead. This provides a hook for state
initializations that are only required when *not* restoring from a
checkpoint.
Given this new framework, do some cleanup of LiveProcess subclasses
and X86System, which were (in some cases) emulating initState()
behavior in startup via a local flag or (in other cases) erroneously
doing initializations in startup() that clobbered state loaded earlier
by unserialize().
2010-08-17 05:17:06 -07:00
Gabe Black
52a90a5998
CPU: Tidy up endianness handling for mmapped "IPR"s.
2010-08-13 06:10:45 -07:00
Timothy M. Jones
97d245278d
Power: The condition register should be set or cleared upon a system call
...
return to indicate success or failure.
2010-07-22 18:54:37 +01:00
Timothy M. Jones
8c76715979
Power: Provide a utility function to copy registers from one thread context
...
to another in the Power ISA.
2010-07-22 18:47:03 +01:00
Tushar Krishna
11bb678a80
Fix x86 XCHG macro-op to use locked micro-ops for all memory accesses
2010-07-21 09:55:57 -07:00
Gabe Black
8cec870568
ARM: Make an SRS instruction with a bad mode cause an undefined instruction fault.
2010-07-15 02:11:56 -07:00
Gabe Black
4e3183cb1e
ARM: Adjust the FP_Base_DepTag to be larger than the largest int reg index.
2010-07-13 22:41:47 -07:00
Gabe Black
6697d41693
X86: Fix div2 flag calculation.
2010-06-25 00:21:48 -07:00
Nathan Binkert
86a93fe7b9
stats: only consider a formula initialized if there is a formula
2010-06-15 01:18:36 -07:00
Nathan Binkert
54d813adca
stats: get rid of the never-really-used event stuff
2010-06-14 23:24:46 -07:00
Steve Reinhardt
d0af5e9df6
More minor gdb-related cleanup.
...
Found several more stale includes and forward decls.
2010-06-03 19:41:34 -07:00
Ali Saidi
d2186857b1
ARM: Fix issue with m5.fast and ARM
2010-06-03 12:20:49 -04:00
Ali Saidi
5268067f14
ARM: Fix SPEC2000 benchmarks in SE mode. With this patch all
...
Spec2k benchmarks seem to run with atomic or timing mode simple
CPUs. Fixed up some constants, handling of 64 bit arguments,
and marked a few more syscalls ignoreFunc.
2010-06-02 12:58:18 -05:00
Min Kyu Jeong
5d5bf8cbc7
ARM: Fix IT state not updating when an instruction memory instruction faults.
2010-06-02 12:58:18 -05:00
Dam Sunwoo
4325519fc5
ARM: Allow multiple outstanding TLB walks to queue.
2010-06-02 12:58:18 -05:00
Ali Saidi
2bad5138e4
ARM TLB: Fix bug in memAttrs getting a bogus thread context
2010-06-02 12:58:18 -05:00
Dam Sunwoo
6b00c7fa22
ARM: Support table walks in timing mode.
2010-06-02 12:58:18 -05:00
Dam Sunwoo
6c8dd32fa4
ARM: Added support for Access Flag and some CP15 regs (V2PCWPR, V2PCWPW, V2PCWUR, V2PCWUW,...)
2010-06-02 12:58:18 -05:00
Gabe Black
85ba2a3243
ARM: Decode the neon instruction space.
2010-06-02 12:58:18 -05:00
Gabe Black
e50e6a260f
ARM: Add a comment to vfp.cc that explains the asm statements.
2010-06-02 12:58:18 -05:00
Gabe Black
10031a0327
ARM: Move some case values out of ##included files.
...
This will help keep the high level decode together and not have it spread into
the subordinate decode stuff. The ##include lines still need to be on a line
by themselves, though.
2010-06-02 12:58:18 -05:00
Gabe Black
22f15ab94e
ARM: Combine some redundant cases in one of the data decode functions.
2010-06-02 12:58:18 -05:00
Gabe Black
fcee2b3f31
ARM: Add comments to the classes in macromem.hh.
2010-06-02 12:58:18 -05:00
Gabe Black
362b747fdc
ARM: Move code from vfp.hh to vfp.cc.
2010-06-02 12:58:18 -05:00
Ali Saidi
35e35fc825
ARM: Make some of the trace code more compact
2010-06-02 12:58:18 -05:00
Gabe Black
0abec53564
ARM: Move the longer MemoryReg::printoffset function in mem.hh into the cc file.
2010-06-02 12:58:18 -05:00
Gabe Black
9223725973
ARM: Move the ISA "clear" function into isa.cc.
2010-06-02 12:58:17 -05:00
Gabe Black
b6c2548a27
ARM: Get rid of the binary dumping function in utility.hh.
2010-06-02 12:58:17 -05:00
Gabe Black
f8d2ed708b
ARM: Get rid of the empty branch.cc.
2010-06-02 12:58:17 -05:00
Gabe Black
0c574987c8
ARM: Mark some ARM static inst functions as inline.
2010-06-02 12:58:17 -05:00
Gabe Black
ba7a7b0394
ARM: Move some predecoder stuff into a .cc file.
...
--HG--
rename : src/arch/arm/predecoder.hh => src/arch/arm/predecoder.cc
2010-06-02 12:58:17 -05:00
Gabe Black
358fdc2a40
ARM: Decode to specialized conditional/unconditional versions of instructions.
...
This is to avoid condition code based dependences from effectively serializing
instructions when the instruction doesn't actually use them.
2010-06-02 12:58:17 -05:00
Gabe Black
596cbe19d4
ARM: Make sure undefined unconditional ARM instructions decode as such.
2010-06-02 12:58:17 -05:00
Gabe Black
6101e1b062
ARM: Implement a version of mcr and mrc that works in user mode.
2010-06-02 12:58:17 -05:00
Gabe Black
e91e6ff9a4
ARM: Hook the misc instructions into the thumb decoder.
2010-06-02 12:58:17 -05:00
Gabe Black
22d1a84509
ARM: Move some miscellaneous instructions out of the decoder to share with thumb.
2010-06-02 12:58:17 -05:00
Gabe Black
0e556e9dfb
ARM: Treat LDRD in ARM with an odd index as an undefined instruction.
2010-06-02 12:58:17 -05:00
Ali Saidi
3dc6a8070e
ARM: fix sizes of structs for ARM Linux
2010-06-02 12:58:17 -05:00
Ali Saidi
d3a519ef0c
ARM: Fixup native trace support and add some v7/recent stack code
2010-06-02 12:58:17 -05:00