#
13574:bab20b8d882d |
|
25-Oct-2018 |
Giacomo Travaglini <giacomo.travaglini@arm.com> |
arch-arm: Move AArch32 IMPLEMENTATION DEFINED registers
Moving AArch32 instruction accessing IMPLEMENTATION DEFINED registers from pseudo.[cc/hh] to misc.[cc/hh] in order to symmetrically match with AArch64 implementation.
Change-Id: I27b0d65925d7965589b765269ae54129426e4c88 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/15735 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
|
#
12616:4b463b4dc098 |
|
23-Mar-2018 |
Gabe Black <gabeblack@google.com> |
arch: Fix all override related warnings.
Clang has started(?) reporting override related warnings, something gcc apparently did before, but was disabled in the SConstruct. Rather than disable the warnings in for clang as well, this change fixes the warnings. A future change will re-enable the warnings for gcc.
Change-Id: I3cc79e45749b2ae0f9bebb1acadc56a3d3a942da Reviewed-on: https://gem5-review.googlesource.com/9343 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
|
#
12504:6a6d80495bd6 |
|
19-Dec-2017 |
Nikos Nikoleris <nikos.nikoleris@arm.com> |
arch-arm: Fix printing of the data cache maintenance instructions
Change-Id: I2322c7bf65b38cb07a1ea2b5dc25dfc5a0496cf0 Reviewed-by: Jack Travaglini <giacomo.travaglini@arm.com> Reviewed-on: https://gem5-review.googlesource.com/7825 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
|
#
12358:386d26feb00f |
|
07-Feb-2017 |
Nikos Nikoleris <nikos.nikoleris@arm.com> |
arm: Add support for the mcr dc{ic,i,c}mvac, dccmvau instructions
This patch adds support for the ARMv7 cache maintenance intructions: * mcr dccmvac cleans a VA to the PoC * mcr dcimvac invalidates a VA to the PoC * mcr dccimvac cleans and invalidates a VA to the PoC * mcr dccmvau cleans a VA to the PoU
Change-Id: I6511f203039ca145cc9128ddf61d09d6d7e40c10 Reviewed-by: Stephan Diestelhorst <stephan.diestelhorst@arm.com> Reviewed-by: Anouk Van Laer <anouk.vanlaer@arm.com> Reviewed-on: https://gem5-review.googlesource.com/5059 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
|
#
10537:47fe87b0cf97 |
|
14-Nov-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
arm: Fixes based on UBSan and static analysis
Another churn to clean up undefined behaviour, mostly ARM, but some parts also touching the generic part of the code base.
Most of the fixes are simply ensuring that proper intialisation. One of the more subtle changes is the return type of the sign-extension, which is changed to uint64_t. This is to avoid shifting negative values (undefined behaviour) in the ISA code.
|
#
10420:cc13df09fa55 |
|
01-Oct-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
arm: More UBSan cleanups after additional full-system runs
Some incorrect casting to IntRegIndex, and a few uninitialized members in the i8254xGBe device.
|
#
10418:7a76e13f0101 |
|
27-Sep-2014 |
Andreas Hansson <andreas.hansson@arm.com> |
arm: Fixed undefined behaviours identified by gcc
This patch fixes the runtime errors highlighted by the undefined behaviour sanitizer. In the end there were two issues. First, when rotating an immediate, we ended up shifting an uint32_t by 32 in some cases. This case is fixed by checking for a rotation by 0 positions. Second, the Mrc15 and Mcr15 are operating on an IntReg and a MiscReg, but we used the type RegRegImmOp and passed a MiscRegIndex as an IntRegIndex. This issue is resolved by introducing a MiscRegRegImmOp and RegMiscRegImmOp with the appropriate types.
With these fixes there are no runtime errors identified for the full ARM regressions.
|
#
10037:5cac77888310 |
|
24-Jan-2014 |
ARM gem5 Developers |
arm: Add support for ARMv8 (AArch64 & AArch32)
Note: AArch64 and AArch32 interworking is not supported. If you use an AArch64 kernel you are restricted to AArch64 user-mode binaries. This will be addressed in a later patch.
Note: Virtualization is only supported in AArch32 mode. This will also be fixed in a later patch.
Contributors: Giacomo Gabrielli (TrustZone, LPAE, system-level AArch64, AArch64 NEON, validation) Thomas Grocutt (AArch32 Virtualization, AArch64 FP, validation) Mbou Eyole (AArch64 NEON, validation) Ali Saidi (AArch64 Linux support, code integration, validation) Edmund Grimley-Evans (AArch64 FP) William Wang (AArch64 Linux support) Rene De Jong (AArch64 Linux support, performance opt.) Matt Horsnell (AArch64 MP, validation) Matt Evans (device models, code integration, validation) Chris Adeniyi-Jones (AArch64 syscall-emulation) Prakash Ramrakhyani (validation) Dam Sunwoo (validation) Chander Sudanthi (validation) Stephan Diestelhorst (validation) Andreas Hansson (code integration, performance opt.) Eric Van Hensbergen (performance opt.) Gabe Black
|
#
7409:1ff897327905 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Make undefined instructions obey predication.
|
#
7332:2e611548bb5a |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Add a new RegImmOp base class.
|
#
7331:0897d3ccea91 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Add a RegRegImmOp base class.
|
#
7330:4f882b59745d |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Widen the immediate fields in the misc instruction classes.
|
#
7306:548a5ee3dc5f |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Make a base class for instructions that use only an immediate.
|
#
7261:5ed14bce7261 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Rename the RevOp base class to something more generic.
|
#
7253:38b991b82859 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Add a register, immediate, immediate to register base for [su]bfx.
|
#
7241:0a9f0db3e5d8 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Add a base class to support usada8.
|
#
7238:f68fa944baee |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Add a base class for the sel instruction.
|
#
7233:687fa9b9c2b5 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Add a base class for extend and add instructions.
|
#
7232:f633e1a3f644 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Generalize the saturation instruction bases for use in other instructions.
|
#
7225:bf41a07cc7c0 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Implement base classes for the saturation instructions.
|
#
7208:589ddde61a77 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Add base classes suitable for the REV* instructions.
|
#
7202:b99579129992 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Define versions of MSR and MRS outside the decoder.
|