#
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
|