* Start on qemu_tmin
* WIP
* qemu_tmin working for single testcase.
Also some comment improvements.
* Add env_logger to baby_fuzzer
* Remove old reference.
* Added comment doc for qemu_tmin.
* Slight reorder for parallelisation
* Finished single-thread qemu_tmin
* Finishing touches to single thread version.
* A pre_commit.sh change I didn't notice.
* Duplicate to attempt multi-threaded version
* Fix taplo whine.
Mark "fork" mode as broken.
* Launcher for parallelisation implemented, but for one core.
* Running in parallel. Now need tidy up.
* Parallel version complete.
* Add comment
* Merged single-core/multi-core qemu_tmin into one crate
* Removed forkexecutor mode.
* Precommit fixes
* Add qemu_tmin to build_and_test.yml
* Clippy fixes
* Change tmin test cores to 0.
* Nyx hypercall API support
* fix linux kernel fuzzer
* hash_me -> hash_64_fast
* fix multiple bug in kernel harness
* do not check libmozjpeg's C files format.
* centralize clippy definition
* fmt
* add update bindings script
* add a checked and unchecked version of memory read to qemu stuff
also, a lot of clippy thing
* update binding position
* rm old script, new one is a bit better
* update doc
* macos clippy
* adapt fuzzers
* windows clippy
* fix fuzzer
* windows clippy
* remove old allowed clippy
* remove some allowed clippy
* use default features for serde_json in gramatron
* better error handler for failed rw to memory
* linux kernel (x509_cert) and process fuzzing example
* rework filters
* update to latest qemu
* working for process and kernel fuzzing
* new i2s mutator for binary only fuzzers
* refactoring modules with new filtering interface
* add state as parameter of harness
* hide unused global in usermode
* Script for stub bindings generation
* do not try to check whether it is worth generating the bindings, always
generate when the env variable is on.
* add taplo to fmt_all.sh
* Moved fuzzers (again) in a target-centric way.
* fix rust 2024 warnings.
* new libafl_qemu harness structure.
* rename qemu_systemmode into qemu_baremetal
* fix qemu baremetal makefile
* fix formatter
---------
Co-authored-by: Toka <tokazerkje@outlook.com>
* Helper is now called Module.
* Emulator now contains hooks state.
* Emulator is managed by QemuExecutor.
* QEMU hooks have been completely refactored on the rust side.
* Generics cleanup.
* QEMU generic memory iterator + Refactoring
* Generic Memory Iterator (systemmode only for now): It is now possible to iterator over memory ranges, independently of the address kind
* Refactoring or Emulator / Qemu structures: they are now handled separately in different files
* Refactoring of Exit Handlers: Result / Error structs have been clarified
* Simple handler for signals
* add new `check-cfg` calls for libafl qemu