Expand description
High level bindings to the SIMICS API in idiomatic Rust
Re-exports§
Modules§
- The SIMICS API
- Error types that can be returned by the Simics crate
- imp 🔒
- Logging utilities for the Simics crate for use with the Simics logging API
- Utility functionality to assist managing SIMICS projects
Macros§
- Log a debug message via the SIMICS logging API. If an object is provided, the message will be logged through that object. If not, the message will be logged through the base
sim
object. - Log an error message via the SIMICS logging API.
- Log an informational message via the SIMICS logging API. If an object is provided, the message will be logged through that object. If not, the message will be logged through the base
sim
object. - Log a message via the SIMICS logging API.
- Allocate memory with a size, of some type
- Log a trace message via the SIMICS logging API. If an object is provided, the message will be logged through that object. If not, the message will be logged through the base
sim
object. - Log a warning message via the SIMICS logging API. If an object is provided, the message will be logged through that object. If not, the message will be logged through the base
sim
object.
Statics§
- GLOBAL 🔒All crates using the SIMICS API must also use the SIMICS allocator as their global allocator, hence we set it here
Functions§
- Attempt to produce a
&str
message (with a default) from astd::panic::PanicHookInfo
. See module docs for usage. - Attempt to produce a
&str
message from astd::panic::catch_unwind
payload. See module docs for usage. - Panic handler for Simics modules.
- Attempt to produce a
&str
message (with a default) from astd::panic::PanicHookInfo
. See module docs for usage. - Attempt to produce a
&str
message (with a default) from astd::panic::catch_unwind
payload. See module docs for usage.
Attribute Macros§
- Attribute macro for declaring a Simics class for a Rust struct type
- Declare a struct implementation as a SIMICS API interface.
- Marks a function as being a SIMICS API that can throw exceptions in called FFI APIs.
- Mark a function as being the initializer of a Simics module.
Derive Macros§
- Derive macro for implementing conversion to raw
ConfObject
pointers. This macro implements theAsConfObject
trait for the annotated type. - Derive macro for implementing the
Class
trait for the annotated type - Derive Macro for implementing conversion from an
AttrValue
dict into a struct, where each key, value pair in the dict is a struct field’s name, value pair. - Derive Macro for implementing conversion from an
AttrValue
list into a struct, where each entry in the list is a struct field’s value. - Derive macro for implementing conversion from raw
ConfObject
pointers. This macro implements theFromConfObject
trait for the annotated type. - Derive Macro for implementing conversion into an
AttrValue
dictionary, where each struct field’s key, value pair is an entry in the dictionary. - Derive Macro for implementing conversion into an
AttrValue
list, where each struct field’s value is an entry in the heterogeneous list.