cddda71cfb
Early duplicate state detection in channels
...
These checks allows the emulator to abort at the moment in which two
consecutive states are going to be emitted by the channel, showing the
culpirit in the backtrace. Waiting for the check in chan_emit() hides
the source of the problem.
2021-11-19 16:22:37 +01:00
9944b391ae
Mark as dirty all CPU channels
2021-11-17 12:11:13 +01:00
557371e836
Only allow and emit state transitions
...
Fixes the ghost events shown in the PRV trace. Only transitions to a
different state are allowed now.
2021-11-17 12:08:25 +01:00
78f5db4bce
Add testing instructions to README
2021-11-16 19:22:55 +01:00
ba36f5702c
Fix the test driver
2021-11-16 19:22:48 +01:00
def2510086
Remove janson.h as a build dependency
2021-11-16 19:20:50 +01:00
8eef8d0e60
Ignore only the build directory
2021-11-16 19:20:50 +01:00
85c1666f90
Prefix program names with "ovni"
...
The "emu" and "dump" programs now are called "ovniemu" and "ovnidump".
2021-11-16 19:20:50 +01:00
5fed28bad8
Use modern target-based dependency for MPI
2021-11-16 19:20:50 +01:00
77adb27cb9
Use <PackageName>_ROOT variables if possible
2021-11-16 19:20:50 +01:00
dd8519f6e6
Update readme with build instructions
2021-11-16 19:20:50 +01:00
40233b3628
Add test support
2021-11-16 19:20:50 +01:00
97320eda4e
Add linter mode
2021-11-16 19:20:50 +01:00
4fcef1c5b6
Fix some warnings for clang and intel compilers
2021-11-16 19:20:50 +01:00
73d9e323b9
Remove const array initialization
...
The implementation is not mandatory and clang doesn't support it.
2021-11-16 19:20:45 +01:00
623a938b1a
Add cmake support
2021-11-16 18:49:35 +01:00
Antoni Navarro
dc6713f75c
Further renames of Nanos6 labels and others
2021-11-12 16:15:33 +01:00
Antoni Navarro
c9b189feb8
Refactor emu_nanos6 into a simpler function
2021-11-12 11:53:53 +01:00
Antoni Navarro
04895a7aea
Rename Nanos6-Lite to Nanos6
2021-11-12 11:35:38 +01:00
Antoni Navarro
a9223b3886
Add Nanos6-Lite Instrumentation
2021-11-05 15:03:49 +01:00
29ea26e871
Emit flush events in order, after the user event
...
Fixes the backwards jump in time warnings each 2 MB of buffer, caused by
the flush events being written out of order.
2021-11-03 11:33:16 +01:00
e05f78bb0f
Set the trace duration in the PRV header
2021-11-03 11:33:16 +01:00
5dc195a037
Remove nosv code in favor of the thread type
2021-11-03 11:33:14 +01:00
41211eec8a
Use the values as-is for appid, taskid and typeid
2021-11-03 11:32:17 +01:00
fe3b408157
Add _emit sufffix in ovni_ev and ovni_ev_jumbo
...
The new names avoid problems in C++ as the struct ovni_ev collided with
the ovni_ev function.
2021-11-03 11:32:17 +01:00
3a30f25413
Add readme
2021-11-03 11:32:17 +01:00
d3e87c2272
Add GPLv3 and MIT licenses
2021-11-03 11:32:17 +01:00
f44be6598c
Remove unused def.h file
2021-11-03 11:32:17 +01:00
be7375a69b
Add support for sfree in nosv subsystems
2021-11-03 11:32:08 +01:00
87f3f7851b
Fix CPU config window names
2021-10-21 17:04:58 +02:00
3c913dd26b
Implement extended init for CPU channels
2021-10-21 16:53:01 +02:00
97248c70ea
Document emulator channels
2021-10-21 16:53:01 +02:00
749c755b5d
Remove debug messages from libovni
2021-10-21 16:53:01 +02:00
f864567ac4
Remove objects zoom in PRV config
2021-10-21 16:53:01 +02:00
7bd8f960f8
Implement flushing events in the emulator
2021-10-21 16:53:01 +02:00
2f565450ea
Clean commented code in emu_ovni.c
2021-10-21 16:53:01 +02:00
a3e542830d
Ensure the thread is active in openmp
2021-10-21 16:53:01 +02:00
9f87c2a7a0
Simplify openmp mode hooks
2021-10-21 16:53:01 +02:00
29b7662e41
Collapse nOS-V API switch
2021-10-21 16:53:01 +02:00
98db4a2fe0
Remove virtual events
2021-10-21 16:53:00 +02:00
6f8b46e753
Rename channel NTHREADS by NRTHREADS
2021-10-21 16:53:00 +02:00
9d83a319b0
Remove unused cpu members and simplify comments
2021-10-21 16:53:00 +02:00
d8845acb9f
Merge error states together
2021-10-21 16:53:00 +02:00
8d616e60b2
Merge nOS-V API events together in the doc
2021-10-21 16:53:00 +02:00
434bf40465
Improve CFG files
...
Added accurate titles, random mode and removed event flags.
2021-10-21 16:53:00 +02:00
5a940540d3
Use priority queue for streams and fast channels
...
A priority queue (in heap.h) is used to keep the next event ready in the
emulator loop. Additionally, a list of dirty channels is keept to
limit the complexity of the propagation and emit phases.
2021-10-21 16:53:00 +02:00
c2f7085e11
Fix prototypes and unused variables
2021-10-21 16:53:00 +02:00
55ae07403c
Enable more strict warnings
2021-10-21 16:53:00 +02:00
2fbe95b4f7
Emit the PRV event via debug as well
2021-10-21 16:53:00 +02:00
b9f9ae1a59
Set the loom in the CPU
2021-10-21 16:53:00 +02:00