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
Kevin Sala
674716804a
Avoiding stack overflows
2021-08-10 10:18:21 +02:00
Kevin Sala
543dd51d8f
Fixing compilation errors
2021-08-10 10:16:41 +02:00
1da0f1a096
Generate PCF and ROW files
2021-08-03 20:47:02 +02:00