2bf739efed
Reject incomplete thread streams
2024-09-10 11:57:45 +02:00
aafaf6e954
Load thread tid from metadata
2024-09-10 09:59:22 +02:00
c8750b9dfd
Enable -Wconversion and -Wsign-conversion
...
Prevents implicit conversions to go undetected, as they will have to be
explicit now.
2024-09-09 08:28:02 +02:00
129020e1c5
Fix format errors in printf-like functions
2024-07-24 15:12:09 +02:00
Miquel Vidal i Pinyol
478ed1f5d0
Use proper format specifiers
...
Allows compiling for architectures with different data type sizes
2024-07-24 15:12:09 +02:00
72b7eb8332
Mark the finalization of streams
...
The emulator will now check that all threads are properly finalyzed by
calling ovni_thread_free(), as required by the specification. For now
only a warning is issued, which is enough to determine the cause of
potential emulator panics.
The ovni model is now always enabled.
2023-11-16 12:39:14 +01:00
59385fad03
Add compatibility mode for missing require key
...
Traces with metadata version 1 don't use per-thread information, so we
cannot read the 'require' key. All models will be enabled for old traces
(which will cause performance problems).
2023-11-16 12:39:14 +01:00
3d10bef305
Load thread metadata from the JSON file
2023-11-16 12:21:50 +01:00
c2b6bfd3a8
Set the size of the channel property arrays
...
Arrays which don't initialize the last elements of the enumeration are
shorter and will cause a buffer overflow when read in a loop.
2023-04-24 12:37:20 +02:00
7aa3434e79
Remove ENABLE_DEBUG comments
2023-04-06 15:33:15 +00:00
4f440c5104
Add some debug messages
2023-04-06 15:33:15 +00:00
7f63d1e048
Remove unused thread_select_any() function
2023-03-24 12:08:45 +00:00
ddbb7dd9f4
Add include-what-you-use
...
Adds forwards declarations in headers and includes all headers in
sources, even if they are found by transitive includes.
2023-03-24 12:08:45 +00:00
5a03fd49e9
Remove function prefix from err()
2023-03-24 12:08:45 +00:00
4a2a9ec685
Replace uses of die() with err() + return
2023-03-24 12:08:45 +00:00
8da0342760
Set thread and CPU channels to ignore duplicates
...
Some of the PRV channels no longer need to skip duplicates.
2023-03-24 12:08:45 +00:00
ab3e823134
Rename CHAN_DUPLICATES to CHAN_ALLOW_DUP
2023-03-24 12:08:45 +00:00
68690b4127
Define all static PRV types in a global enum
2023-03-24 12:08:45 +00:00
a24477629d
Set PRV flags explicitly per channel
...
Added PRV_EMITDUP and PRV_SKIPDUP to allow the check to be skipped. By
default it will fail to emit duplicated values.
2023-03-24 12:08:45 +00:00
2eac823014
Add missing PCF thread types
2023-03-24 12:08:45 +00:00
0447c52f0b
Use strtol to parse the TID
2023-03-24 12:08:45 +00:00
7ba810fd4a
Set the thread->proc in proc_add_thread()
2023-03-24 12:08:45 +00:00
9d7ff947b1
Get the first input cleanly
2023-03-24 12:08:45 +00:00
259de4df43
Add track module and port Nanos6 model
2023-03-24 12:08:45 +00:00
e3880d178e
Move flush channel to ovni model only
2023-03-24 12:08:45 +00:00
4a8255e227
Complete Nanos6 model
2023-03-24 12:08:45 +00:00
524ccc4dd5
Begin porting nanos6 model
2023-03-24 12:08:45 +00:00
04029995be
Begin porting the ovni model
2023-03-24 12:08:45 +00:00
f5db3a9814
Add cpu module and begin ovni model
2023-03-24 12:08:45 +00:00