#
12542:03cb745f9982 |
|
13-Feb-2018 |
Giacomo Travaglini <giacomo.travaglini@arm.com> |
arch-arm: Add AArch32 HLT Semihosting interface
AArch32 HLT instruction is now able to issue Arm Semihosting commands as the AArch64 counterpart in either Arm and Thumb mode.
Change-Id: I77da73d2e6a9288c704a5f646f4447022517ceb6 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/8372 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
|
#
12258:08990d24fe41 |
|
13-Oct-2017 |
Giacomo Travaglini <giacomo.travaglini@arm.com> |
arm: Add support for armv8 CRC32 instructions
This patch introduces the ARM A32/T32/A64 CRC Instructions, which are mandatory since ARMv8.1. The UNPREDICTABLE behaviours are implemented as follows: 1) CRC32(C)X (64 bit) instructions are decoded as Undefined in Aarch32 2) The instructions support predication in Aarch32 3) Using R15(PC) as source/dest operand is permitted in Aarch32
Change-Id: Iaf29b05874e1370c7615da79a07f111ded17b6cc Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Giacomo Gabrielli <giacomo.gabrielli@arm.com> Reviewed-on: https://gem5-review.googlesource.com/5521 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
|
#
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
|
#
8868:26dbd171754e |
|
01-Mar-2012 |
Matt Horsnell <Matt.Horsnell@arm.com> |
ARM: Add limited CP14 support.
New kernels attempt to read CP14 what debug architecture is available. These changes add the debug registers and return that none is currently available.
|
#
7732:a2c660de7787 |
|
08-Nov-2010 |
Ali Saidi <Ali.Saidi@ARM.com> |
ARM: Add support for M5 ops in the ARM ISA
|
#
7433:b812790a16eb |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
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.
|
#
7418:e81194228b6e |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Move some miscellaneous instructions out of the decoder to share with thumb.
|
#
7407:70f65d4c7fe3 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Get rid of some of the old FP implementation.
|
#
7401:9b873c0357b8 |
|
02-Jun-2010 |
Ali Saidi <Ali.Saidi@ARM.com> |
ARM: Add BKPT instruction
|
#
7400:f6c9b27c4dbe |
|
02-Jun-2010 |
Ali Saidi <Ali.Saidi@ARM.com> |
ARM: Implement ARM CPU interrupts
|
#
7363:3b3b3325140c |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Move the VFP data operation decode into a function.
|
#
7350:41e3ee23125e |
|
02-Jun-2010 |
Ali Saidi <Ali.Saidi@ARM.com> |
ARM: Add some support for wfi/wfe/yield/etc
|
#
7344:82a4e24e7fad |
|
02-Jun-2010 |
Ali Saidi <Ali.Saidi@ARM.com> |
ARM: BXJ should be BX when there is no J support
|
#
7334:5e8dcb57096f |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Make VFP load/store and 64 bit move decode correspond with CP10 and CP11.
|
#
7321:d0fdf3452086 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode 8, 16, and 32 bit transfers between core and extension (fp) registers.
|
#
7269:b5a1b63c57da |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Replace the ARM decode of CP15 MCR and MRC instructions.
|
#
7255:61445190b527 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode miscellaneous arm mode media instructions.
|
#
7252:bba68021edca |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode the clz instruction.
|
#
7243:d503503b3966 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode the usad8 and usada8 instructions.
|
#
7210:10d2d0e1e39d |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Pull decoding of ARM pack, unpack, saturate and reverse instructions into a format.
|
#
7206:00494ff7ca71 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode the swp and swpb instructions.
|
#
7203:39753c33e7aa |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Replace the versions of MRS and MSR in the ARM decoder with the new ones.
|
#
7199:3e96b80d1b55 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Implement SVC (was SWI) outside of the decoder.
|
#
7197:21b9790c446d |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Trigger system calls from the SupervisorCall invoke method.
This simplifies the decoder slightly, and makes the system call mechanism very slightly more realistic.
|
#
7195:ccd270981263 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode the scalar saturating add/subtract instructions.
|
#
7194:f72dc8789553 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode the parallel add and subtract instructions.
|
#
7191:b2b54b8b3e5b |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Decode unconditional ARM instructions.
|
#
7179:f9151566ca6e |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Define the VFP load/store multiple instructions.
|
#
7161:a1e9b36bd4bf |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Hook the new multiply instructions into all the decoders.
|
#
7152:a1308654b445 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Hook the new branch instructions into the ARM decoder.
|
#
7151:672a20bbd4ff |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Implement branch instructions external to the decoder.
|
#
7139:20b265c1515f |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Hook the new external data processing instructions to the ARM decoder.
|
#
7134:60fe8a00b36e |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Reimplement load/store multiple external to the decoder.
|
#
7130:12d7f945261f |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Eliminate decoding for the very deprecated FPA instructions.
|
#
7129:0eb03024678f |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Make the addressing mode 3 loads/stores use the externally defined instructions.
|
#
7120:d630089169f3 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Define the store instructions from outside the decoder.
|
#
7119:5ad962dec52f |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Define the load instructions from outside the decoder.
|
#
7117:5d18ca349ca1 |
|
02-Jun-2010 |
Gabe Black <gblack@eecs.umich.edu> |
ARM: Create a "decoder" directory for the files implementing the decoder.
|