Skip to content

Releases: intel/tsffs

v6.1.2

17 May 00:16
75d5758
Compare
Choose a tag to compare

6.1.2 Release

This is a smaller release (and should be the first of many smaller releases going forward as we move out of large sweeping changes and into incremental improvements and fixes). This release fixes a few clippy issues and adds environment variable overrides for most of the fields in the [package.metadata.simics] table for Simics plugin crates. It also enhances logging with a few more components of the output and a heartbeat message in the JSON log, which should help diagnose stuck harnesses. Finally, VMP can now be enabled during boot for any model and will be turned off automatically by TSFFS when the fuzzing loop starts.

What's Changed

Full Changelog: v6.1.0...v6.1.2

Release Version 6.1.0

25 Apr 22:37
3c429cb
Compare
Choose a tag to compare

This release is a very major release and changes several aspects of the API, build, and underlying Simics API. It also adds a number of new features. Some highlights include:

  • Compiled-in harnesses have been updated. This update is backward-incompatible with the old version of harnesses so users will need to use the new tsffs.h harness header.
    • Existing harness macros stay the same
    • New harness macros have been added for starting with variations of buffer, size as pointer or maximum value, etc.
    • Macros are now available for x86, x86_64, ARM, AARCH64, and RISC-V, with Windows/MSVC compatible macros for x86_64.
  • All functions @tsffs.iface.tsffs.XXX have been removed
  • All configuration options are now attributes of the tsffs object. For example, @tsffs.iface.tsffs.add_exception_solution() is now @tsffs.exceptions and instead of calling a method to add an exception to the set tracked for solutions, users can now just write @tsffs.exceptions = [13, 14, 6].
  • Methods which control fuzzing (especially manual methods) have been moved to a new interface @tsffs.iface.fuzz, for example @tsffs.iface.fuzz.start_without_buffer().
  • Execution traces can now be captured during fuzzing
  • Logs are automatically output during fuzzing in JSON format
  • ARM and AARCH64 architectures have been added
  • Various bug-fixes and improvements.

What's Changed

New Contributors

Full Changelog: v0.2.1...v6.1.0

v0.2.1 Release

11 Dec 22:27
3004330
Compare
Choose a tag to compare

v0.2.1 Release Overview

This is a maintenance and documentation update release. The main changes are:

  • Fixed a crash when using the tsffs.iface.tsffs.set_corpus_directory and tsffs.iface.tsffs.set_solutions_directory interface functions
  • Added documentation on fuzzing platform BIOS

What's Changed

Full Changelog: v0.2.0...v0.2.1

v0.2.0 Release

05 Dec 22:29
938d7ac
Compare
Choose a tag to compare

v0.2.0 Release Overview

This release is a near-complete rewrite/reorganization of TSFFS with several goals:

  • Use SIMICS build & packaging workflow
  • Enable binary/package distribution and installation without building from source
  • Improve the scripting interface to TSFFS
  • Remove the CLI interface to TSFFS
  • Improve the SIMICS API and migrate TSFFS to use the improved (more idiomatic) bindings

Release Notes

  • Migrated to using the SIMICS build system/provided makefiles for building
    • Simplifies building and detection of SIMICS version/available symbols
    • Removes the need for C stubs in the SIMICS module code
    • Moves toward eventual binary releases
  • Adds Windows host support
  • Adds RISC-V (32/64 bit) and x86 guest support
  • Improves the SIMICS/Python scripting interface
  • Adds GitHub pages documentation at intel.github.io/tsffs/
    • Added the public SIMICS HTML documentation to the GitHub Pages documentation
    • Added crate rustdoc documentation for all component crates to the GitHub Pages documentation
  • Rewrote the SIMICS API bindings
    • AttrValue is now a first-class serialization/deserialization target with derive macros
    • Idiomatic bindings for exception-throwing APIs translate SIMICS exceptions to Rust Results
    • Added documentation for most SIMICS APIs in the bindings, including HAPs and Interfaces
  • Added distribution builds into the CI pipeline to output installable .ispm packages for all modern
    Linux systems. Build yourself with ./scripts/build.sh.

Merged Pull Requests

Full Changelog: https://github.com/intel/tsffs/commits/v0.2.0