gem5.git
14 years agoutils: checkpoint aggregator: some physmem files are too big to read at once,
Lisa Hsu [Thu, 3 Jun 2010 17:34:40 +0000 (10:34 -0700)]
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.

--HG--
rename : util/checkpoint-aggregator.py => util/checkpoint_aggregator.py

14 years agoARM: Fix issue with m5.fast and ARM
Ali Saidi [Thu, 3 Jun 2010 16:20:49 +0000 (12:20 -0400)]
ARM: Fix issue with m5.fast and ARM

14 years agoARM: Fix SPEC2000 benchmarks in SE mode. With this patch all
Ali Saidi [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
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.

14 years agoARM: Fix IT state not updating when an instruction memory instruction faults.
Min Kyu Jeong [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Fix IT state not updating when an instruction memory instruction faults.

14 years agoARM: Allow multiple outstanding TLB walks to queue.
Dam Sunwoo [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Allow multiple outstanding TLB walks to queue.

14 years agoARM TLB: Fix bug in memAttrs getting a bogus thread context
Ali Saidi [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM TLB: Fix bug in memAttrs getting a bogus thread context

14 years agoARM: Support table walks in timing mode.
Dam Sunwoo [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Support table walks in timing mode.

14 years agoARM: Added support for Access Flag and some CP15 regs (V2PCWPR, V2PCWPW, V2PCWUR...
Dam Sunwoo [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Added support for Access Flag and some CP15 regs (V2PCWPR, V2PCWPW, V2PCWUR, V2PCWUW,...)

14 years agoARM: Decode the neon instruction space.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Decode the neon instruction space.

14 years agoARM: Add a comment to vfp.cc that explains the asm statements.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Add a comment to vfp.cc that explains the asm statements.

14 years agoARM: Move some case values out of ##included files.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
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.

14 years agoARM: Combine some redundant cases in one of the data decode functions.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Combine some redundant cases in one of the data decode functions.

14 years agoARM: Add comments to the classes in macromem.hh.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Add comments to the classes in macromem.hh.

14 years agoARM: Move code from vfp.hh to vfp.cc.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Move code from vfp.hh to vfp.cc.

14 years agoARM: Make some of the trace code more compact
Ali Saidi [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Make some of the trace code more compact

14 years agoARM: Move the longer MemoryReg::printoffset function in mem.hh into the cc file.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Move the longer MemoryReg::printoffset function in mem.hh into the cc file.

14 years agoARM: Move the ISA "clear" function into isa.cc.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Move the ISA "clear" function into isa.cc.

14 years agoARM: Get rid of the binary dumping function in utility.hh.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Get rid of the binary dumping function in utility.hh.

14 years agoARM: Get rid of the empty branch.cc.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Get rid of the empty branch.cc.

14 years agoARM: Mark some ARM static inst functions as inline.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Mark some ARM static inst functions as inline.

14 years agoARM: Move some predecoder stuff into a .cc file.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Move some predecoder stuff into a .cc file.

--HG--
rename : src/arch/arm/predecoder.hh => src/arch/arm/predecoder.cc

14 years agoARM: Decode to specialized conditional/unconditional versions of instructions.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
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.

14 years agoARM: Make sure undefined unconditional ARM instructions decode as such.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Make sure undefined unconditional ARM instructions decode as such.

14 years agoARM: Implement a version of mcr and mrc that works in user mode.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Implement a version of mcr and mrc that works in user mode.

14 years agoARM: Hook the misc instructions into the thumb decoder.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Hook the misc instructions into the thumb decoder.

14 years agoARM: Move some miscellaneous instructions out of the decoder to share with thumb.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Move some miscellaneous instructions out of the decoder to share with thumb.

14 years agoARM: Treat LDRD in ARM with an odd index as an undefined instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Treat LDRD in ARM with an odd index as an undefined instruction.

14 years agoARM: fix sizes of structs for ARM Linux
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: fix sizes of structs for ARM Linux

14 years agoARM: Updated regressions for changes in SE mode stack
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Updated regressions for changes in SE mode stack

14 years agoARM: Fixup native trace support and add some v7/recent stack code
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Fixup native trace support and add some v7/recent stack code

14 years agoARM: Detect a bad offset field for the VFP Ldm/Stm instructions in the decoder.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Detect a bad offset field for the VFP Ldm/Stm instructions in the decoder.

14 years agoARM: Make sure the upc is zeroed when vectoring to a fault.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Make sure the upc is zeroed when vectoring to a fault.

14 years agoARM: Implement the getrusage syscall.
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Implement the getrusage syscall.

14 years agoARM: Implement the bkpt instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement the bkpt instruction.

14 years agoARM: Make undefined instructions obey predication.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Make undefined instructions obey predication.

14 years agoARM: Implement support for the IT instruction and the ITSTATE bits of CPSR.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement support for the IT instruction and the ITSTATE bits of CPSR.

14 years agoARM: Get rid of some of the old FP implementation.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Get rid of some of the old FP implementation.

14 years agoARM: Some TLB bug fixes.
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Some TLB bug fixes.

14 years agoARM: Move Miscreg functions out of isa.hh
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Move Miscreg functions out of isa.hh

14 years agoARM: Implement the ARM TLB/Tablewalker. Needs performance improvements.
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement the ARM TLB/Tablewalker. Needs performance improvements.

14 years agoDMA: Make DmaPort generic enough to be used other places
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
DMA: Make DmaPort generic enough to be used other places

14 years agoARM: SE needs a definition for PageTable::serialize/unserialize
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: SE needs a definition for PageTable::serialize/unserialize

14 years agoARM: Add BKPT instruction
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Add BKPT instruction

--HG--
rename : src/arch/arm/isa/formats/unknown.isa => src/arch/arm/isa/formats/breakpoint.isa

14 years agoARM: Implement ARM CPU interrupts
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement ARM CPU interrupts

14 years agoARM: Start over with translation from Alpha code as opposed to something that has...
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Start over with translation from Alpha code as opposed to something that has cruft from 4 different ISAs.

14 years agoARM: Implement conversion to/from half precision.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement conversion to/from half precision.

14 years agoARM: Clean up VFP
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Clean up VFP

14 years agoARM: Clean up the implementation of the VFP instructions.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Clean up the implementation of the VFP instructions.

14 years agoARM: Fix double precision load/store multiple decrement.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Fix double precision load/store multiple decrement.

When decrementing, the higher addressed half of a double word is at a 4 byte
smaller displacement.

14 years agoARM: Even though writes to MVFR0/1 should be unpredictable, we need to make them...
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Even though writes to MVFR0/1 should be unpredictable, we need to make them to do nothing.

14 years agoARM: Make various bits of the FP control registers read only.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Make various bits of the FP control registers read only.

14 years agoARM: Implement the version of VMRS that writes to the APSR.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement the version of VMRS that writes to the APSR.

14 years agoARM: Ignore reads and writes to DCIMVAC.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Ignore reads and writes to DCIMVAC.

14 years agoARM: Make MPIDR return 0 and ignore writes.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Make MPIDR return 0 and ignore writes.

14 years agoARM: Implement the VCMPE instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement the VCMPE instruction.

14 years agoARM: Fix vcvtr so that it uses the rounding mode in the FPSCR.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Fix vcvtr so that it uses the rounding mode in the FPSCR.

14 years agoARM: Fix saturation of VCVT from fp to integer.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Fix saturation of VCVT from fp to integer.

14 years agoARM: Compensate for ARM's underflow coming from -before- rounding, but x86's after.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Compensate for ARM's underflow coming from -before- rounding, but x86's after.

14 years agoARM: Implement flush to zero for destinations as well.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement flush to zero for destinations as well.

14 years agoARM: Fix up nans to match ARM's expected behavior.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Fix up nans to match ARM's expected behavior.

14 years agoARM: Set the value of the MVFR0 and MVFR1 registers.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Set the value of the MVFR0 and MVFR1 registers.

14 years agoARM: Implement flush to zero mode for VFP, and clean up some corner cases.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement flush to zero mode for VFP, and clean up some corner cases.

14 years agoARM: Add barriers that make sure FP operations happen where they're supposed to.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Add barriers that make sure FP operations happen where they're supposed to.

14 years agoARM: Implement the version of VCVT float to int that rounds towards zero.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement the version of VCVT float to int that rounds towards zero.

14 years agoARM: Implement the floating/fixed point VCVT instructions.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement the floating/fixed point VCVT instructions.

14 years agoARM: Add code to extract and record VFP exceptions.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Add code to extract and record VFP exceptions.

14 years agoARM: Implement the VFP version of VCMP.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP version of VCMP.

14 years agoARM: Add support for VFP vector mode.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Add support for VFP vector mode.

14 years agoARM: Introduce new VFP base classes that are optionally microops.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Introduce new VFP base classes that are optionally microops.

14 years agoARM: Implement VCVT between double and single width FP.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement VCVT between double and single width FP.

14 years agoARM: Implement vcvt between int and fp. Ignore rounding.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement vcvt between int and fp. Ignore rounding.

14 years agoARM: Consolidate the VFP register index computation code.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Consolidate the VFP register index computation code.

14 years agoARM: Implement the VFP negated multiplies.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP negated multiplies.

14 years agoARM: Implement the VFP versions of VMLA and VMLS.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP versions of VMLA and VMLS.

14 years agoARM: Implement the VFP version of vdiv and vsqrt.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP version of vdiv and vsqrt.

14 years agoARM: Implement the VFP version of vsub.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP version of vsub.

14 years agoARM: Implement the VFP version of vadd.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP version of vadd.

14 years agoARM: Implement the VFP version of vabs.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP version of vabs.

14 years agoARM: Implement the VFP version of vneg.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP version of vneg.

14 years agoARM: Implement the VFP version of vmul.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement the VFP version of vmul.

14 years agoARM: Move the VFP data operation decode into a function.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Move the VFP data operation decode into a function.

14 years agoARM: Implement and update the DFSR and IFSR registers on faults.
Gabe Black [Wed, 2 Jun 2010 17:58:14 +0000 (12:58 -0500)]
ARM: Implement and update the DFSR and IFSR registers on faults.

14 years agoARM: Make integer division by zero return a fault.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Make integer division by zero return a fault.

14 years agoARM: Add in some missing SCTLR fields.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Add in some missing SCTLR fields.

14 years agoARM: Decode ARM unconditional MRC and MCR instructions.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Decode ARM unconditional MRC and MCR instructions.

14 years agoARM: Move the CP15 decode block into a function.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Move the CP15 decode block into a function.

14 years agoARM: Decode the unconditional version of ARM fp instructions.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Decode the unconditional version of ARM fp instructions.

14 years agoARM: Move the FP decode blocks into functions.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Move the FP decode blocks into functions.

14 years agoARM: Warn/ignore when TLB maintenance operations are performed.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Warn/ignore when TLB maintenance operations are performed.

14 years agoARM: Handle accesses to TLBTR.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Handle accesses to TLBTR.

14 years agoARM: Handle accesses to the DACR.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Handle accesses to the DACR.

14 years agoARM: Handle accesses to TTBR0 and TTBR1.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Handle accesses to TTBR0 and TTBR1.

14 years agoARM: Convert the CP15 registers from MPU to MMU.
Gabe Black [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Convert the CP15 registers from MPU to MMU.

14 years agoARM: Add some support for wfi/wfe/yield/etc
Ali Saidi [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Add some support for wfi/wfe/yield/etc

14 years agoARM: Move PC mode bits around so they can be used for exectrace
Ali Saidi [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Move PC mode bits around so they can be used for exectrace

14 years agoARM: Add a traceflag to print cpsr
Ali Saidi [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Add a traceflag to print cpsr

14 years agoARM: Undef instruction on invalid user CP15 access
Ali Saidi [Wed, 2 Jun 2010 17:58:13 +0000 (12:58 -0500)]
ARM: Undef instruction on invalid user CP15 access

14 years agoARM: Decode the VSTR instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:12 +0000 (12:58 -0500)]
ARM: Decode the VSTR instruction.

14 years agoARM: Implement the vstr instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:12 +0000 (12:58 -0500)]
ARM: Implement the vstr instruction.

14 years agoARM: BXJ should be BX when there is no J support
Ali Saidi [Wed, 2 Jun 2010 17:58:12 +0000 (12:58 -0500)]
ARM: BXJ should be BX when there is no J support