177429fabc
Follow K&R coding style using clang-format
2022-09-29 16:52:28 +02:00
6169bfc966
Always try to load the offset file
...
If not provided, it will be looked in ovni/clock-offsets.txt
2022-09-29 16:49:29 +02:00
675c4f9ee8
Store the clock offset table inside the trace
...
The ovnisync tool now generates it by default inside ovni directory,
and the emulator recognizes it by default if exists.
2022-09-29 14:28:47 +02:00
834b33af33
Use SPDX license identifiers
2022-09-29 14:16:47 +02:00
598aea7dc9
Fix clock offset for looms with the same host
...
The offset is applied to all looms matching the host in the form
"loom.${host}.${suffix}", where the suffix is ignored.
2022-09-27 11:24:52 +02:00
7751099d60
Print when the clock offset is being loaded
2022-09-22 11:55:32 +02:00
306a64999a
Add edie() and eerr() functions
...
These emit a detailed message of the state of the emulator on failure.
2022-09-12 16:16:10 +02:00
David Alvarez
b226afb630
Implement Nanos6 emulator model
2022-09-12 16:16:10 +02:00
9e6a965276
Report successful emulation
2022-09-12 15:57:07 +02:00
fa9196fd63
Add support for nOS-V task types
...
Use a unique identifier for each type, so we don't mix types with the
same id per-process.
2022-06-01 17:17:13 +02:00
c22457d7d3
Add dynamic PCF types and values
2022-06-01 17:17:13 +02:00
1aae200614
Use pointers instead of indexes in streams
2022-01-12 11:05:38 +01:00
Antoni Navarro
4719917ba9
Change Nanos6's name to NODES
2021-12-10 14:54:34 +00:00
de70a057d4
Use signed integers for CPU ids
2021-12-09 16:08:45 +01:00
75c32f3a99
Transform all aserts into unconditional checks
2021-12-09 16:08:36 +01:00
ca95fb34a3
Add kernel support for context switch events
...
These events only show if a thread has been removed from the CPU, but
doesn't provide information about what other thread caused the context
switch. This type of information can be obtained even with strict
/proc/sys/kernel/perf_event_paranoid settings.
2021-12-02 10:37:53 +01:00
9bf99ad6a0
Add virtual flag to CPUs
2021-11-29 11:12:11 +01:00
a663f2c11b
Allocate only the required CPUs
2021-11-19 16:48:53 +01:00
3e35f3d88b
Fix memory leaks
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
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
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
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
e05f78bb0f
Set the trace duration in the PRV header
2021-11-03 11:33:16 +01:00
d3e87c2272
Add GPLv3 and MIT licenses
2021-11-03 11:32:17 +01:00
98db4a2fe0
Remove virtual events
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
b9f9ae1a59
Set the loom in the CPU
2021-10-21 16:53:00 +02:00
8ff3359c34
Add experimental OpenMP support
2021-10-21 16:53:00 +02:00
Kevin Sala
a7463723bc
Adding TAMPI instrumentation
2021-10-21 16:53:00 +02:00
ac6013419b
Replace class by category to avoid C++ problems
2021-10-21 16:53:00 +02:00
1d4796521b
Add cooling and warming states
2021-10-21 16:53:00 +02:00
3f22afc4b3
Handle all events with CPU and thread channels
2021-10-21 16:53:00 +02:00
cd430a35ce
Implement tracking channels in emu.c
2021-10-21 16:53:00 +02:00
0f09a3a514
Write the thread PCF file
2021-10-21 16:36:07 +02:00
8d043a8350
Keep a global list of threads and CPUs
2021-10-21 16:34:04 +02:00
5f4fe7f120
Prefix emulator input events with >>>
2021-10-21 16:28:37 +02:00
fbfbb8fc0f
Introduce channels
2021-10-21 16:15:29 +02:00
28fa152169
Add preliminar nosv CPU subsystem support
2021-10-21 16:05:01 +02:00
abdbd8d64c
Add virtual events
2021-09-28 19:32:16 +02:00
af22678b07
Close PCF files on exit
2021-09-28 19:32:16 +02:00
b60c6da764
Emit sched fake events as well
2021-09-28 19:32:16 +02:00
6a3ea0907a
Enable pedantic and use C11 std
2021-09-28 19:30:31 +02:00
b9568cb052
Fix ovnisync table parsing
2021-09-28 12:22:56 +02:00
3a0541e5fa
Check malloc error
2021-09-21 19:17:58 +02:00
Kevin Sala
8b78baa587
Fixing ovni for multiple nodes (workaround)
2021-09-21 15:15:26 +02:00
e80bcdd224
Avoid TID collisions searching only in cur_proc
2021-09-21 15:15:26 +02:00
aa3607f744
Fix emu memset initialization
2021-08-10 12:38:55 +02:00