The initial implementation (together with the SAIL code and the tests)
had gotten the NX variants backwards (as in 'an inexact result is ok'
vs. 'set NX is inexact'). Update all 4 instructions.
Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
This commit implements Debug Specification Section 5.4 Native Triggers.
The specification allows two solutions for solving the reentrancy
problem. This commit chooses the first solution because the second one
targets implementations without S-mode.
system bus read/write operations could lead to a variety of
memory-related exceptions. Before this patch not every memory
exception was handled. This could lead to simulator crashes:
an example is when debugger (like OpenOCD) issues non-aligned
memory read.
Signed-off-by: Parshintsev Anatoly <anatoly.parshintsev@syntacore.com>
Spec says:
> This trigger matches on every instruction completed or trap
> taken from a privilege mode where the trigger is enabled.
Other (synchronous) traps were already correctly decrementing count,
but external interrupts (i.e. timer interrupts) were not.
According to table in debug spec.
This has no visible effect, because every time we instantiate an
icount_t (in triggers::module_t::tdata1_write) we immediately call
tdata1_write() which sets these values, but it's cleaner this way.
In multi-processor systems it is desired to track
caches separately by assigning unique names to them.
Signed-off-by: Jakub Palider <jpalider@marvell.com>
The cache stats are printed regardless on accesses they
recorded. This allows better insight into system operation
and provides consistent output for scripting.
Signed-off-by: Jakub Palider <jpalider@marvell.com>
This passes our developer test suite, when comparing output
(signature) against the SAIL implementation.
If any corner-cases require additional changes after ACT goes
upstream, we can apply an add-on patch.
Commit 191634d285 changed the default kernel boot args from
"console=hvc0 earlycon=sbi" to "console=ttyS0 earlycon", but didn't
updated the spike usage help() function.
This commit introduces a new macro DEFAULT_KERNEL_BOOTARGS in order to
have a single definition. This macro is used everywhere in dts.cc and
spike.cc help() function.
Signed-off-by: Julien Olivain <ju.o@free.fr>