#
12106:7784fac1b159 |
|
05-Apr-2017 |
Rekai Gonzalez-Alberquilla <Rekai.GonzalezAlberquilla@arm.com> |
cpu: Simplify the rename interface and use RegId
With the hierarchical RegId there are a lot of functions that are redundant now.
The idea behind the simplification is that instead of having the regId, telling which kind of register read/write/rename/lookup/etc. and then the function panic_if'ing if the regId is not of the appropriate type, we provide an interface that decides what kind of register to read depending on the register type of the given regId.
Change-Id: I7d52e9e21fc01205ae365d86921a4ceb67a57178 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> [ Fix RISCV build issues ] Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2702
|
#
12104:edd63f9c6184 |
|
05-Apr-2017 |
Nathanael Premillieu <nathanael.premillieu@arm.com> |
arch, cpu: Architectural Register structural indexing
Replace the unified register mapping with a structure associating a class and an index. It is now much easier to know which class of register the index is referring to. Also, when adding a new class there is no need to modify existing ones.
Change-Id: I55b3ac80763702aa2cd3ed2cbff0a75ef7620373 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> [ Fix RISCV build issues ] Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/2700
|
#
11329:82bb3ee706b3 |
|
06-Feb-2016 |
Alexandru Dutu <alexandru.dutu@amd.com> |
x86: revamp cmpxchg8b/cmpxchg16b implementation
The previous implementation did a pair of nested RMW operations, which isn't compatible with the way that locked RMW operations are implemented in the cache models. It was convenient though in that it didn't require any new micro-ops, and supported cmpxchg16b using 64-bit memory ops. It also worked in AtomicSimpleCPU where atomicity was guaranteed by the core and not by the memory system. It did not work with timing CPU models though.
This new implementation defines new 'split' load and store micro-ops which allow a single memory operation to use a pair of registers as the source or destination, then uses a single ldsplit/stsplit RMW pair to implement cmpxchg. This patch requires support for 128-bit memory accesses in the ISA (added via a separate patch) to support cmpxchg16b.
|
#
10467:dcf27c8220ac |
|
16-Oct-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
arch,x86,mem: Dynamically determine the ISA for Ruby store check
This patch makes the memory system ISA-agnostic by enabling the Ruby Sequencer to dynamically determine if it has to do a store check. To enable this check, the ISA is encoded as an enum, and the system is able to provide the ISA to the Sequencer at run time.
|
#
8954:3c7232fec7fd |
|
15-Apr-2012 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Fix a tiny typo in the load/store microop constructor.
The parameter is _machInst, which is very similar to the member machInst. If machInst is used to pass the parameter to a lower level constructor, what really happens is that machInst is set to whatever it already happened to be, effectively leaving it uninitialized.
|
#
8442:b1f3dfae06f1 |
|
03-Jul-2011 |
Gabe Black <gblack@eecs.umich.edu> |
ISA: Use readBytes/writeBytes for all instruction level memory operations.
|
#
7678:f19b6a3a8cec |
|
13-Sep-2010 |
Gabe Black <gblack@eecs.umich.edu> |
Faults: Pass the StaticInst involved, if any, to a Fault's invoke method.
Also move the "Fault" reference counted pointer type into a separate file, sim/fault.hh. It would be better to name this less similarly to sim/faults.hh to reduce confusion, but fault.hh matches the name of the type. We could change Fault to FaultPtr to match other pointer types, and then changing the name of the file would make more sense.
|
#
7620:3d8a23caa1ef |
|
23-Aug-2010 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Consolidate extra microop flags into one parameter.
This single parameter replaces the collection of bools that set up various flavors of microops. A flag parameter also allows other flags to be set like the serialize before/after flags, etc., without having to change the constructor.
|
#
7087:fb8d5786ff30 |
|
24-May-2010 |
Nathan Binkert <nate@binkert.org> |
copyright: Change HP copyright on x86 code to be more friendly
|
#
6622:aff9a522956a |
|
21-Aug-2009 |
Nathan Binkert <nate@binkert.org> |
X86: fix some simple compile issues static should not be used for constants that are not inside a class definition.
|
#
6345:f9ae7c3a036c |
|
16-Jul-2009 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Take limitted advantage of the compilers type checking for microop operands.
|
#
6132:916f10213bea |
|
23-Apr-2009 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Put the StoreCheck flag with the others, and don't collide with other flags.
|
#
5965:71f8d7c12619 |
|
27-Feb-2009 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Fix segment limit checks.
|
#
5912:d113f6def227 |
|
25-Feb-2009 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Add a flag to force memory accesses to happen at CPL 0.
|
#
5727:8b9aaeac5bab |
|
10-Nov-2008 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Fix completeAcc get call.
|
#
5002:1b540e93ad34 |
|
26-Aug-2007 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Remove x86 code that attempted to fix misaligned accesses.
|
#
4867:2de05bc73640 |
|
04-Aug-2007 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Make 64 bit unaligned accesses work as well as the other sizes. There is a fundemental flaw in how unaligned accesses are supported, but this is still an improvement.
|
#
4804:4a707cb7065b |
|
30-Jul-2007 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Make disassembly use the final register index. Add bits to indicate whether or not register indexes should be "folded".
|
#
4767:5e55d650692e |
|
27-Jul-2007 |
Gabe Black <gblack@eecs.umich.edu> |
X86: Add functions to read and write to an exec context. These functions take care of calling the thread contexts read and write functions with the right sized data type, and handle unaligned accesses.
|
#
4679:0b39fa8f5eb8 |
|
14-Jul-2007 |
Gabe Black <gblack@eecs.umich.edu> |
Pull some hard coded base classes out of the isa description.
|