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>
* Move most ctrl-c logic to interactive()
* 5f4cabc was only a partial fix. This change catches more corner cases where the ctrlc is registered
Signed-off-by: Jerry Zhao <jerryz123@berkeley.edu>
Compiling spike with gcc 13 (for example, included in Fedora 38
prerelease) fails with error:
In file included from fesvr/syscall.h:6,
from fesvr/syscall.cc:4:
fesvr/device.h:15:30: error: ‘uint64_t’ was not declared in this scope
15 | typedef std::function<void(uint64_t)> callback_t;
| ^~~~~~~~
This is due to a gcc header dependency change. See for reference:
https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
This commit explicitly adds the missing <cstdint> header inclusion
to fix this build failure.
Signed-off-by: Julien Olivain <ju.o@free.fr>