History log of /gem5/src/arch/arm/isa/decoder/arm.isa
Revision Date Author Comments
# 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.