gem5/src
Nikos Nikoleris 3384caf0fe arm: Don't panic when checking coprocessor read/write permissions
Instructions that use the coprocessor interface check the current
program status to determine whether the current context has the
priviledges to read from/write to the coprocessor. Some modes allow
the execution of coprocessor instructions, some others do not allow it,
while some other modes are unexpected (e.g., executing an AArch32 
instruction while being in an AArch64 mode).

Previously we would unconditionally trigger a panic if we were in an 
unexpected mode. This change removes the panic and replaces it
with an Undefined Instruction fault that triggers if and when a 
coprocessor instruction commits in an unexpected mode. This allows
speculative coprocessor instructions from unexpected modes to execute 
but prevents them from gettting committed.

Change-Id: If2776d5bae2471cdbaf76d0e1ae655f501bfbf01
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Rekai Gonzalez Alberquilla <rekai.gonzalezalberquilla@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/2281
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Weiping Liao <weipingliao@google.com>
2017-04-03 16:39:47 +00:00
..
arch arm: Don't panic when checking coprocessor read/write permissions 2017-04-03 16:39:47 +00:00
base dev: Align BAR0 size to power of 2 for VirtIO devices 2017-04-03 16:36:15 +00:00
cpu cpu: Print progress messages in Trace CPU 2017-03-16 13:52:40 +00:00
dev dev, arm: Fix multi-core KVM race in the generic timer 2017-04-03 16:37:55 +00:00
doc sim: Adding support for power models 2016-06-06 17:16:44 +01:00
doxygen MEM: Put memory system document into doxygen 2012-09-25 11:49:41 -05:00
gpu-compute syscall-emul: Move memState into its own file 2017-03-09 19:19:38 +00:00
kern syscall-emul: Add functionality to open syscalls 2017-03-09 22:42:45 +00:00
mem misc: add missing copyright/author information in previous commit 2017-03-09 17:22:52 +00:00
proto proto: Fix warnings for protoc v3 2017-01-27 15:07:20 -06:00
python python: Automatically disable listeners in batch setups 2017-03-21 10:30:02 +00:00
sim sim: Handle cases where Drainable::resume() creates objects 2017-04-03 16:38:26 +00:00
unittest misc: Update #!env calls for python to explicit version 2017-02-10 10:00:18 -05:00
Doxyfile Doxygen: Update the version of the Doxyfile 2012-10-11 06:38:42 -04:00
SConscript python: Move native wrappers to the _m5 namespace 2017-01-27 12:40:01 +00:00