4a3ce94386
Stats: fix dist stat and enable VectorDistStat
Lisa Hsu
2010-06-03 11:06:12 -07:00
aeb6e2e3ec
utils: checkpoint aggregator: some physmem files are too big to read at once, break it up into reading one page at a time. Also, avoid redoing a aggregating a checkpoint that's already done.
Lisa Hsu
2010-06-03 10:34:40 -07:00
d2186857b1
ARM: Fix issue with m5.fast and ARM
Ali Saidi
2010-06-03 12:20:49 -04:00
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.
Ali Saidi
2010-06-02 12:58:18 -05:00
5d5bf8cbc7
ARM: Fix IT state not updating when an instruction memory instruction faults.
Min Kyu Jeong
2010-06-02 12:58:18 -05:00
4325519fc5
ARM: Allow multiple outstanding TLB walks to queue.
Dam Sunwoo
2010-06-02 12:58:18 -05:00
2bad5138e4
ARM TLB: Fix bug in memAttrs getting a bogus thread context
Ali Saidi
2010-06-02 12:58:18 -05:00
6b00c7fa22
ARM: Support table walks in timing mode.
Dam Sunwoo
2010-06-02 12:58:18 -05:00
6c8dd32fa4
ARM: Added support for Access Flag and some CP15 regs (V2PCWPR, V2PCWPW, V2PCWUR, V2PCWUW,...)
Dam Sunwoo
2010-06-02 12:58:18 -05:00
85ba2a3243
ARM: Decode the neon instruction space.
Gabe Black
2010-06-02 12:58:18 -05:00
e50e6a260f
ARM: Add a comment to vfp.cc that explains the asm statements.
Gabe Black
2010-06-02 12:58:18 -05:00
10031a0327
ARM: Move some case values out of ##included files.
Gabe Black
2010-06-02 12:58:18 -05:00
22f15ab94e
ARM: Combine some redundant cases in one of the data decode functions.
Gabe Black
2010-06-02 12:58:18 -05:00
fcee2b3f31
ARM: Add comments to the classes in macromem.hh.
Gabe Black
2010-06-02 12:58:18 -05:00
362b747fdc
ARM: Move code from vfp.hh to vfp.cc.
Gabe Black
2010-06-02 12:58:18 -05:00
35e35fc825
ARM: Make some of the trace code more compact
Ali Saidi
2010-06-02 12:58:18 -05:00
0abec53564
ARM: Move the longer MemoryReg::printoffset function in mem.hh into the cc file.
Gabe Black
2010-06-02 12:58:18 -05:00
9223725973
ARM: Move the ISA "clear" function into isa.cc.
Gabe Black
2010-06-02 12:58:17 -05:00
b6c2548a27
ARM: Get rid of the binary dumping function in utility.hh.
Gabe Black
2010-06-02 12:58:17 -05:00
f8d2ed708b
ARM: Get rid of the empty branch.cc.
Gabe Black
2010-06-02 12:58:17 -05:00
0c574987c8
ARM: Mark some ARM static inst functions as inline.
Gabe Black
2010-06-02 12:58:17 -05:00
ba7a7b0394
ARM: Move some predecoder stuff into a .cc file.
Gabe Black
2010-06-02 12:58:17 -05:00
358fdc2a40
ARM: Decode to specialized conditional/unconditional versions of instructions.
Gabe Black
2010-06-02 12:58:17 -05:00
596cbe19d4
ARM: Make sure undefined unconditional ARM instructions decode as such.
Gabe Black
2010-06-02 12:58:17 -05:00
6101e1b062
ARM: Implement a version of mcr and mrc that works in user mode.
Gabe Black
2010-06-02 12:58:17 -05:00
e91e6ff9a4
ARM: Hook the misc instructions into the thumb decoder.
Gabe Black
2010-06-02 12:58:17 -05:00
22d1a84509
ARM: Move some miscellaneous instructions out of the decoder to share with thumb.
Gabe Black
2010-06-02 12:58:17 -05:00
0e556e9dfb
ARM: Treat LDRD in ARM with an odd index as an undefined instruction.
Gabe Black
2010-06-02 12:58:17 -05:00
3dc6a8070e
ARM: fix sizes of structs for ARM Linux
Ali Saidi
2010-06-02 12:58:17 -05:00
f703e9c975
ARM: Updated regressions for changes in SE mode stack
Ali Saidi
2010-06-02 12:58:17 -05:00
d3a519ef0c
ARM: Fixup native trace support and add some v7/recent stack code
Ali Saidi
2010-06-02 12:58:17 -05:00
5a6bf8301a
ARM: Detect a bad offset field for the VFP Ldm/Stm instructions in the decoder.
Gabe Black
2010-06-02 12:58:17 -05:00
563db6cb99
ARM: Make sure the upc is zeroed when vectoring to a fault.
Gabe Black
2010-06-02 12:58:17 -05:00
5d67be7b1e
ARM: Implement the getrusage syscall.
Ali Saidi
2010-06-02 12:58:17 -05:00
6e39288be0
ARM: Implement the bkpt instruction.
Gabe Black
2010-06-02 12:58:16 -05:00
e9c8f68c0f
ARM: Make undefined instructions obey predication.
Gabe Black
2010-06-02 12:58:16 -05:00
05bd3eb4ec
ARM: Implement support for the IT instruction and the ITSTATE bits of CPSR.
Gabe Black
2010-06-02 12:58:16 -05:00
b93ceef538
ARM: Get rid of some of the old FP implementation.
Gabe Black
2010-06-02 12:58:16 -05:00
c1e1de8d69
ARM: Some TLB bug fixes.
Ali Saidi
2010-06-02 12:58:16 -05:00
7de7ea3b22
ARM: Move Miscreg functions out of isa.hh
Ali Saidi
2010-06-02 12:58:16 -05:00
cb9936cfde
ARM: Implement the ARM TLB/Tablewalker. Needs performance improvements.
Ali Saidi
2010-06-02 12:58:16 -05:00
f246be4cbc
DMA: Make DmaPort generic enough to be used other places
Ali Saidi
2010-06-02 12:58:16 -05:00
1546d8208b
ARM: SE needs a definition for PageTable::serialize/unserialize
Ali Saidi
2010-06-02 12:58:16 -05:00
d2ba9243f5
ARM: Add BKPT instruction
Ali Saidi
2010-06-02 12:58:16 -05:00
b8ec214553
ARM: Implement ARM CPU interrupts
Ali Saidi
2010-06-02 12:58:16 -05:00
3aea20d143
ARM: Start over with translation from Alpha code as opposed to something that has cruft from 4 different ISAs.
Ali Saidi
2010-06-02 12:58:16 -05:00
237c0617a0
ARM: Implement conversion to/from half precision.
Gabe Black
2010-06-02 12:58:16 -05:00
04e196f422
ARM: Clean up VFP
Gabe Black
2010-06-02 12:58:16 -05:00
0fe0390f73
ARM: Clean up the implementation of the VFP instructions.
Gabe Black
2010-06-02 12:58:16 -05:00
c919ab5b4f
ARM: Fix double precision load/store multiple decrement.
Gabe Black
2010-06-02 12:58:15 -05:00
92bdf57be4
ARM: Even though writes to MVFR0/1 should be unpredictable, we need to make them to do nothing.
Gabe Black
2010-06-02 12:58:15 -05:00
4398075254
ARM: Make various bits of the FP control registers read only.
Gabe Black
2010-06-02 12:58:15 -05:00
2d08b8de91
ARM: Implement the version of VMRS that writes to the APSR.
Gabe Black
2010-06-02 12:58:15 -05:00
57c4d37c10
ARM: Ignore reads and writes to DCIMVAC.
Gabe Black
2010-06-02 12:58:15 -05:00
fd37095fa6
ARM: Make MPIDR return 0 and ignore writes.
Gabe Black
2010-06-02 12:58:15 -05:00
49b7088b91
ARM: Implement the VCMPE instruction.
Gabe Black
2010-06-02 12:58:15 -05:00
23ba9c7b96
ARM: Fix vcvtr so that it uses the rounding mode in the FPSCR.
Gabe Black
2010-06-02 12:58:15 -05:00
1fda944716
ARM: Fix saturation of VCVT from fp to integer.
Gabe Black
2010-06-02 12:58:15 -05:00
347ab6c704
ARM: Compensate for ARM's underflow coming from -before- rounding, but x86's after.
Gabe Black
2010-06-02 12:58:15 -05:00
fd82a47b96
ARM: Implement flush to zero for destinations as well.
Gabe Black
2010-06-02 12:58:15 -05:00
186273e5f3
ARM: Fix up nans to match ARM's expected behavior.
Gabe Black
2010-06-02 12:58:15 -05:00
98e2315f1c
ARM: Set the value of the MVFR0 and MVFR1 registers.
Gabe Black
2010-06-02 12:58:15 -05:00
8466999aef
ARM: Implement flush to zero mode for VFP, and clean up some corner cases.
Gabe Black
2010-06-02 12:58:15 -05:00
efbceff96a
ARM: Add barriers that make sure FP operations happen where they're supposed to.
Gabe Black
2010-06-02 12:58:15 -05:00
1b3b75ee68
ARM: Implement the version of VCVT float to int that rounds towards zero.
Gabe Black
2010-06-02 12:58:15 -05:00
aa05e5401c
ARM: Implement the floating/fixed point VCVT instructions.
Gabe Black
2010-06-02 12:58:15 -05:00
86a1093992
ARM: Add code to extract and record VFP exceptions.
Gabe Black
2010-06-02 12:58:14 -05:00
e478df35f5
ARM: Implement the VFP version of VCMP.
Gabe Black
2010-06-02 12:58:14 -05:00
c1f7bf7f0e
ARM: Add support for VFP vector mode.
Gabe Black
2010-06-02 12:58:14 -05:00
f245f4937b
ARM: Introduce new VFP base classes that are optionally microops.
Gabe Black
2010-06-02 12:58:14 -05:00
41012d2418
ARM: Implement VCVT between double and single width FP.
Gabe Black
2010-06-02 12:58:14 -05:00
a430f749ce
ARM: Implement vcvt between int and fp. Ignore rounding.
Gabe Black
2010-06-02 12:58:14 -05:00
a9d1de4769
ARM: Consolidate the VFP register index computation code.
Gabe Black
2010-06-02 12:58:14 -05:00
80fa3a7ccf
ARM: Implement the VFP negated multiplies.
Gabe Black
2010-06-02 12:58:14 -05:00
3111a62169
ARM: Implement the VFP versions of VMLA and VMLS.
Gabe Black
2010-06-02 12:58:14 -05:00
90d70a22cb
ARM: Implement the VFP version of vdiv and vsqrt.
Gabe Black
2010-06-02 12:58:14 -05:00
cc665240a4
ARM: Implement the VFP version of vsub.
Gabe Black
2010-06-02 12:58:14 -05:00
44759669aa
ARM: Implement the VFP version of vadd.
Gabe Black
2010-06-02 12:58:14 -05:00
9e32ff3491
ARM: Implement the VFP version of vabs.
Gabe Black
2010-06-02 12:58:14 -05:00
cd0a6a1303
ARM: Implement the VFP version of vneg.
Gabe Black
2010-06-02 12:58:14 -05:00
65f5204325
ARM: Implement the VFP version of vmul.
Gabe Black
2010-06-02 12:58:14 -05:00
19e05d7e8d
ARM: Move the VFP data operation decode into a function.
Gabe Black
2010-06-02 12:58:14 -05:00
527b735cfc
ARM: Implement and update the DFSR and IFSR registers on faults.
Gabe Black
2010-06-02 12:58:14 -05:00
4491170df6
ARM: Make integer division by zero return a fault.
Gabe Black
2010-06-02 12:58:13 -05:00
cd86e34187
ARM: Add in some missing SCTLR fields.
Gabe Black
2010-06-02 12:58:13 -05:00
c5a8a1d673
ARM: Decode ARM unconditional MRC and MCR instructions.
Gabe Black
2010-06-02 12:58:13 -05:00
98fe7b0fbe
ARM: Move the CP15 decode block into a function.
Gabe Black
2010-06-02 12:58:13 -05:00
5d9191a428
ARM: Decode the unconditional version of ARM fp instructions.
Gabe Black
2010-06-02 12:58:13 -05:00
81b7c3d264
ARM: Move the FP decode blocks into functions.
Gabe Black
2010-06-02 12:58:13 -05:00
e21f93702a
ARM: Warn/ignore when TLB maintenance operations are performed.
Gabe Black
2010-06-02 12:58:13 -05:00
eac239b4d6
ARM: Handle accesses to TLBTR.
Gabe Black
2010-06-02 12:58:13 -05:00
9fb573d91e
ARM: Handle accesses to the DACR.
Gabe Black
2010-06-02 12:58:13 -05:00
951b7edaba
ARM: Handle accesses to TTBR0 and TTBR1.
Gabe Black
2010-06-02 12:58:13 -05:00
b5cfa9361b
ARM: Convert the CP15 registers from MPU to MMU.
Gabe Black
2010-06-02 12:58:13 -05:00
556ea0ee57
ARM: Add some support for wfi/wfe/yield/etc
Ali Saidi
2010-06-02 12:58:13 -05:00
5e6d28996a
ARM: Move PC mode bits around so they can be used for exectrace
Ali Saidi
2010-06-02 12:58:13 -05:00
aec73ba6af
ARM: Add a traceflag to print cpsr
Ali Saidi
2010-06-02 12:58:13 -05:00
65a5177b53
ARM: Undef instruction on invalid user CP15 access
Ali Saidi
2010-06-02 12:58:13 -05:00
2e4ddbd234
ARM: Decode the VSTR instruction.
Gabe Black
2010-06-02 12:58:12 -05:00
6106bd18cd
ARM: Implement the vstr instruction.
Gabe Black
2010-06-02 12:58:12 -05:00