Commit Graph

900 Commits

Author SHA1 Message Date
5e2409f69f Ensure only one thread is running per CPU 2021-11-29 11:12:11 +01:00
9bf99ad6a0 Add virtual flag to CPUs 2021-11-29 11:12:11 +01:00
5eadcb404e Use const qualifier in public ovni.h functions 2021-11-19 17:09:39 +01:00
a663f2c11b Allocate only the required CPUs 2021-11-19 16:48:53 +01:00
8153742c1f Use a linked list for threads in each CPU
Allows for unlimited threads in each CPU.
2021-11-19 16:48:53 +01:00
2e659f6dd3 Remove unused loom members 2021-11-19 16:48:53 +01:00
ffd492e922 Allocate only the required threads 2021-11-19 16:48:53 +01:00
bed8c35980 Allocate only the required processes 2021-11-19 16:48:53 +01:00
3e35f3d88b Fix memory leaks 2021-11-19 16:48:53 +01:00
8c58a7a6ab Add address sanitizer build type 2021-11-19 16:48:53 +01:00
25cf3a8585 Allocate only the needed looms 2021-11-19 16:48:53 +01:00
d54c287ec8 Split ovni trace funtions to another source file 2021-11-19 16:48:53 +01:00
34701b2219 Transform bad exits into aborts in channels 2021-11-19 16:47:35 +01:00
1b9225dd2a Add cmake option to enable debug logs
It can be enabled with -DENABLE_DEBUG_LOG=ON
2021-11-19 16:29:44 +01:00
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