23 Commits

Author SHA1 Message Date
c417e20ce0 Add flag that toggles tracing 2025-09-10 15:27:00 +02:00
Sergej Schumilo
1def26f83e fix non-ipt mode 2024-01-20 21:26:18 +01:00
Sergej Schumilo
02a6f2aed3 remove NYX_FDL check in check_available_ipt_ranges 2023-10-30 01:31:19 +01:00
Sergej Schumilo
a09d3ae2e6 add support to configure aux buffer size via args 2023-08-03 09:19:31 +02:00
Steffen Schulz
2f869ed3e1 replace printf + exit() with nyx_abort()
- Replace instances of error/printf + exit(1) with nyx_abort(), except
  for one instance where we don't give any useful error and a plain
  assert() seems more appropriate

- Remove [Qemu-Nyx] and Error: in arguments to nyx_error()
2022-12-15 11:23:53 +01:00
Steffen Schulz
b40f7c60e9 more missing newlines, fix use of warn/error
- replace several hardcoded fprintf()
- use of warn vs error or nyx_abort()
- several more missing newlines
- fixed up messages
2022-12-15 11:23:53 +01:00
Sergej Schumilo
8a88edc2a1 auto-apply clang-format
- including vl.c & kvm-all.c
2022-10-16 23:51:13 +02:00
Sergej Schumilo
e4269fc973 manual code cleanups (reviewed)
Tried to minimize actual code modifcations but we got
- several comments/printf messages edited to meet line limits
- occasionally switch some lines to put declarations or printfs in blocks
- couple more places marked TODO or FIXME to avoid non-trivial changes
- fixed PAGE_SIZE define in helpers.h to avoid redeclaration warning
- remove several chunks of dead or commented code

Co-authored-by: Steffen Schulz <steffen.schulz@intel.com>
2022-10-16 23:51:13 +02:00
Steffen Schulz
e83025a145 replace custom printf with nyx_<level>() wrappers
This introduces generic printf wrappers to replace the various
instances of debug_printf, fprintf, QEMU_PR_PRINTF etc.

Several more hardcoded printf() are still present and should probably be
replaced with nyx_debug_p().
2022-09-22 05:07:37 +02:00
Steffen Schulz
6a336d0d3a Revert "page_cache: auto-create workdir files or resume based on existing files"
This reverts commit b8995723775c5ee75355ef4e87922cec359245e5.
2022-05-25 01:06:50 +02:00
Steffen Schulz
f348dcfc23 redqueen_trace: disable unless 'edge_cb_trace' option is provided
Both, the legacy 'redqueen' trace via libxdc callback as well as new
dump_pt trace option are now toggled with aux-buffer trace_mode option.

This new qemu cmdline option allows to re-enable the old trace method,
or even use both trace methods at the same time.
2022-02-11 10:45:30 -08:00
Steffen Schulz
84f1a1b67b move dump_pt logic to trace_dump.c, enable via aux_buffer 2022-02-11 10:45:30 -08:00
Steffen Schulz
68f74353b2 record worker_id in state and report via KAFL_HYPERCALL_GET_HOST_CONFIG
Modifies elements of host_config_t - update guest agent struct!
2022-02-11 10:45:30 -08:00
Steffen Schulz
56bc5571be dump_pt: create-open & truncate output file on each execution
Previous implementation only opened the file once.
2022-02-11 10:45:30 -08:00
Steffen Schulz
b899572377 page_cache: auto-create workdir files or resume based on existing files
- relieve frontend from having to create these files
- perhaps add some checks for resuming from existing page_cache files
2022-02-11 10:45:30 -08:00
Sergej Schumilo
b5798ba95a add missing free() call in interface.c 2022-01-20 03:29:17 +01:00
Sergej Schumilo
42d434e28f add several improvements:
- Intel PT page dump feature works now
- size of input and bitmap buffers are configurable
- new aux buffer layout
- various bug fixes
2022-01-18 10:10:04 +01:00
Sergej Schumilo
6105067351 code cleanup in interace.c / interface.h 2022-01-11 04:15:02 +01:00
Sergej Schumilo
acc90e462b fix warning 2021-12-22 10:23:44 +01:00
Sergej Schumilo
1bf9ad93a6 rename kafl_mem_state to nyx_interface_state 2021-12-22 10:22:16 +01:00
Sergej Schumilo
47c17c5a21 fix broken IPT range check 2021-12-22 10:10:45 +01:00
Sergej Schumilo
c9dac7704d make size of primary CoW buffer configurable 2021-12-10 01:07:59 +01:00
Sergej Schumilo
cd702b528c Initial Release of Nyx
Co-authored-by: Cornelius Aschermann <cornelius@hexgolems.com>
2021-11-14 22:20:53 +01:00