summaryrefslogtreecommitdiff
path: root/plugins/svd
AgeCommit message (Collapse)Author
2026-05-10[Rust] Refactor `binary_view` moduleMason Reed
- Remove the "viral" `BinaryViewExt` trait and its blanket impl - Split up the binary view type from the custom trait impl - Simplify and fix bugs regarding custom binary view initialization - Rewrite Minidump binary view example, parses the PE headers to create proper sections now - Add some extra documentation - Add unit test for custom binary view
2026-03-29[SVD Import] Fix misc mapper issuesMason Reed
- Fix unordered register fields causing spurious __offset fields to be rendered for the structure - Fix registers overlayed onto an alternate register not being treated as a union Fixes https://github.com/Vector35/binaryninja-api/issues/7918
2026-03-29[SVD Import] Remove "add bitfield" settingMason Reed
We unconditionally add them now that bitfields are represented correctly in the type system
2026-02-23[Rust] Misc documentation and cleanupMason Reed
2026-02-23[Rust] Fix plugins being referenced in `cargo about` outputMason Reed
2026-01-11[Rust] Enter more session scoped tracing spans for debug info and binary ↵Mason Reed
view callbacks
2026-01-11[Rust] Replace `log` with `tracing`Mason Reed
- Added more documentation - Replaced global named logger for plugins, fixing the issue when the CU has multiple (e.g. statically linked demo) - Simplified some misc code This is a breaking change, but I believe there is no better time to make it, we cannot continue to use the `log` crate, it is too limited for our needs.
2025-12-05[Rust] Do not clean out-of-tree dependencies for incremental buildsMason Reed
We already do this for a number of plugins / crates, this commit goes over the rest to make sure that they all do this. We keep cleaning binaryninjacore-sys as we want to generate the core bindings immediately on changes to binaryninjacore.h
2025-12-05[Rust] Bump pinned version to 1.91.1Mason Reed
2025-10-23Support bitfields in type systemMason Reed
Also adds support for parsing bitfields in PDB, DWARF and SVD plugins WIP: API needs to be considered more, also need to find type related apis that may need to be rethought.
2025-10-02[SVD] Improvements to loading fileMason Reed
- Improve error messages to include what exactly caused the parsing to fail - Relaxed the parsing validation to allow for more files to be parsed - Added a form dialog to improve discoverability of load settings We still need to relax optional fields failing to parse if they have no child, as that is considered an error, even with no validation.
2025-08-20[Rust] Misc formatting fixesMason Reed
2025-08-14[Mac] Consistently specify rpaths for plug-insMark Rowe
C++ plug-ins now consistently use the `plugin_rpath` or `ui_plugin_rpath` macros to ensure they have `SKIP_BUILD_RPATH` set when building on Mac (i.e., no `LC_RPATH` is added). Rust plug-ins have their build.rs updated to only specify `-Wl,-rpath` when building for Linux. It is not needed on macOS. On macOS we instead explicitly specify an `@rpath`-relative install name. This doesn't change any behavior, but avoids leaving an absolute path as the library's install name and is consistent with CMake's behavior for C++ plug-ins.
2025-08-13[SVD] Use type-safe activity configurationMark Rowe
2025-08-13[Rust] Add builder API for creating workflowsMark Rowe
`Workflow::new` is replaced by `Workflow::build` that returns a `Builder` type that supports the operations that mutate a workflow, such as registering activities. `Workflow::instance` is replaced by `Workflow::get` to make clear that it is intended to look up an existing workflow. `Workflow::cloned` is introduced to wrap the common pattern of retrieving an existing workflow and cloning it with the same name in order to modify it. `Builder::activity_before` / `Builder::activity_after` are introduced to wrap the common pattern of registering an activity then inserting it before or after a given activity.
2025-07-15[Rust] Add `BinaryView::search` and friendsMason Reed
2025-06-25Update CXX_STANDARD to 20.Alexander Taylor
Also update minimum CMake version.
2025-05-13[CMake] Report compatibility with 3.15 to silence deprecation warningsGlenn Smith
2025-05-12[Rust] Reduce usage of `IntoCStr` in function signaturesMason Reed
This is being done to reduce complexity in function signatures, specifically many of the strings we are passing ultimately should be new types themselves instead of "just strings", things such as type ids. Another place which was confusing was dealing with filesystem related APIs, this commit turns most of those params into a stricter `Path` type. This is bringing the rust api more inline with both python and C++, where the wrapper eagerly converts the string into the languages standard string type. Special consideration must be made for symbols or other possible non utf-8 objects. This commit will be followed up with one that adds the `IntoCStr` bound on API's we want to keep as invalid utf-8 so we can for example, get section by name on a section with invalid utf-8.
2025-05-07[Rust] Fix a pre-existing formatting issue CI is complaining aboutMark Rowe
2025-05-04Add a setting to disable creating a backing memory region for SVD regionsMason Reed
This is apart of https://github.com/Vector35/binaryninja-api/issues/6678
2025-04-25Fix misc rust formattingMason Reed
2025-04-15Include SVD loader in free versionMason Reed
2025-04-08Fix workflow Rust API not returning refcounted objectsMason Reed
IDK why this was not done prior, leaking the returned core activity and workflow object.
2025-03-06Make more GLOB_RECURSE statements GLOBMason Reed
I don't want to wait 10 seconds to glob for rust plugins! Someone should really go and rip out all these duplicate cmake files...
2025-02-26SVD Loader: Support subregion register address blocksMason Reed
Previously we assumed a well-formed SVD file to only address its register block with a single definition, this is unfortunately not always the case and to handle it we must attempt to merge blocks, more work on this needs to be done later to support multi-register address blocks.
2025-02-24Add SVD Loader PluginMason Reed