History log of /gem5/src/arch/arm/isa/bitfields.isa
Revision Date Author Comments
# 12763:37c243ed1112 29-May-2018 Giacomo Travaglini <giacomo.travaglini@arm.com>

arch-arm: Add Illegal Execution flag to PCState

This patch moves the detection of the Illegal Execution flag (PSTATE.IL)
from the tlb translation stage (fetch) to the decoding stage. This is
done by adding the illegalExecution field to the PCState.

Change-Id: I9c1c4e9c6bd5ded905c1d56b3034e4e9322582fa
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/10813
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>


# 11320:42ecb523c64a 06-Feb-2016 Steve Reinhardt <steve.reinhardt@amd.com>

style: remove trailing whitespace

Result of running 'hg m5style --skip-all --fix-white -a'.


# 10611:3bba9f2d0c7d 23-Dec-2014 Andreas Sandberg <Andreas.Sandberg@ARM.com>

arm: Raise an alignment fault if a PC has illegal alignment

We currently don't handle unaligned PCs correctly. There is one check
for unaligned PCs in the TLB when running in aarch64 mode, but this
check does not cover cases where the CPU does not do a TLB lookup when
decoding an instruction (e.g., a branch stays within the same cache
line). Additionally, the Decoder class sometimes throws an assertion
for unaligned PCs which breaks speculation.

This changeset introduces a decoder fault bit field in the ExtMachInst
structure. This field can be used to signal a decoder failure. If set,
the decoder generates an internal gem5fault instruction instead of a
normal instruction. This instruction in turns either panics (fault
type PANIC), returns an PCAlignmentFault (fault type UNALIGNED,
aarch64) or PrefetchAbort (fault type UNALIGNED, aarch32).

The patch causes minor changes to the realview64 regressions, and a
stats bump will follow.


# 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


# 7245:bee7e6b76d38 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Rearrange the load/store double/exclusive, table branch thumb decoding.


# 7161:a1e9b36bd4bf 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Hook the new multiply instructions into all the decoders.


# 7121:bcd0a07000ed 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Make 32 bit thumb use the new, external load instructions.


# 7116:b867ef81fb38 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Flesh out the 32 bit thumb store single instructions.


# 7113:65d64e21c9fa 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Flesh out 32 bit thumb load word decoding.


# 7106:620238fdcd40 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Add bitfields for 32 bit thumb.


# 7105:bec31317707b 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Decode VFP instructions.


# 7103:844dbc22e3cb 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Add thumb bitfields to the ExtMachInst and the isa definition.


# 7101:cc7b579ba8b2 02-Jun-2010 Gabe Black <gblack@eecs.umich.edu>

ARM: Add a thumb bit bitfield.


# 6759:98101a5f7ee4 17-Nov-2009 Ali Saidi <Ali.Saidi@ARM.com>

ARM: Begin implementing CP15


# 6749:ac658ad78659 14-Nov-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Add a bitfield to indicate if an immediate should be used.


# 6743:f9e317156e45 14-Nov-2009 Ali Saidi <saidi@eecs.umich.edu>

ARM: Move around decoder to properly decode CP15


# 6741:73d89772f409 11-Nov-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Fix some bugs in the ISA desc and fill out some instructions.


# 6275:4a392427117d 02-Jul-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Get rid of some bitfields that aren't used. A few may need to be readded.


# 6269:8be7583b271c 02-Jul-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Decode some media instructions. These are untested.


# 6268:0f869e59c079 02-Jul-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Use the new DataOp format to simplify the decoder.


# 6267:f5edd0f709e4 02-Jul-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Add in some new artificial fields that make decoding a little easier.


# 6251:1d794d81a4e6 21-Jun-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Make inst bitfields accessible outside of the isa desc.


# 6247:094b7ea0b180 21-Jun-2009 Gabe Black <gblack@eecs.umich.edu>

ARM: Get rid of unnecessary Re operand.


# 6019:76890d8b28f5 05-Apr-2009 Stephen Hines <hines@cs.fsu.edu>

arm: add ARM support to M5