Skip to content

Commit

Permalink
bindings: Update rsbddisasm
Browse files Browse the repository at this point in the history
  • Loading branch information
ianichitei committed Sep 16, 2024
1 parent f44ac0c commit e4bb7c2
Show file tree
Hide file tree
Showing 8 changed files with 191 additions and 4 deletions.
2 changes: 1 addition & 1 deletion bindings/rsbddisasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ members = [
]

[workspace.package]
version = "0.4.2"
version = "0.5.0"
2 changes: 1 addition & 1 deletion bindings/rsbddisasm/bddisasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ categories = ["api-bindings", "hardware-support"]
keywords = ["disassembler", "decoder", "x86", "amd64", "x86_64"]

[dependencies]
bddisasm-sys = { version = "0.4.2", path = "../bddisasm-sys" }
bddisasm-sys = { version = "0.5.0", path = "../bddisasm-sys" }

[features]
std = []
Expand Down
2 changes: 1 addition & 1 deletion bindings/rsbddisasm/bddisasm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Add `bddisasm` to your `Cargo.toml`:

```toml
[dependencies]
bddisasm = "0.4"
bddisasm = "0.5.0"
```

## Examples
Expand Down
7 changes: 7 additions & 0 deletions bindings/rsbddisasm/bddisasm/src/decode_error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ pub enum DecodeError {
/// EVEX payload byte 3 is invalid.
InvalidEvexByte3,

/// EVEX.U field is invalid.
BadEvexU,

/// Internal library error.
InternalError(u64),
}
Expand Down Expand Up @@ -187,6 +190,9 @@ impl fmt::Display for DecodeError {
DecodeError::InvalidEvexByte3 => {
write!(f, "EVEX payload byte 3 is invalid.")
}
DecodeError::BadEvexU => {
write!(f, "EVEX.U field is invalid.")
}
DecodeError::InternalError(e) => write!(f, "internal error: {}", e),
}
}
Expand Down Expand Up @@ -239,6 +245,7 @@ pub(crate) fn status_to_error(status: ffi::NDSTATUS) -> Result<(), DecodeError>
ffi::ND_STATUS_INVALID_INSTRUX => Err(DecodeError::InvalidInstrux),
ffi::ND_STATUS_BUFFER_OVERFLOW => Err(DecodeError::BufferOverflow),
ffi::ND_STATUS_INVALID_EVEX_BYTE3 => Err(DecodeError::InvalidEvexByte3),
ffi::ND_STATUS_BAD_EVEX_U => Err(DecodeError::BadEvexU),
ffi::ND_STATUS_INTERNAL_ERROR => Err(DecodeError::InternalError(0)),
_ => panic!("Unexpected status: {:#x}", status),
}
Expand Down
14 changes: 14 additions & 0 deletions bindings/rsbddisasm/bddisasm/src/instruction_category.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ pub enum Category {
APX,
ARITH,
AVX,
AVX10BF16,
AVX10CMPSFP,
AVX10CONVERT,
AVX10INT,
AVX10MINMAX,
AVX10PARTCOPY,
AVX10SCONVERT,
AVX2,
AVX2GATHER,
AVX512,
Expand Down Expand Up @@ -141,6 +148,13 @@ impl TryFrom<ffi::ND_INS_CATEGORY> for Category {
ffi::_ND_INS_TYPE::ND_CAT_APX => Ok(Category::APX),
ffi::_ND_INS_TYPE::ND_CAT_ARITH => Ok(Category::ARITH),
ffi::_ND_INS_TYPE::ND_CAT_AVX => Ok(Category::AVX),
ffi::_ND_INS_TYPE::ND_CAT_AVX10BF16 => Ok(Category::AVX10BF16),
ffi::_ND_INS_TYPE::ND_CAT_AVX10CMPSFP => Ok(Category::AVX10CMPSFP),
ffi::_ND_INS_TYPE::ND_CAT_AVX10CONVERT => Ok(Category::AVX10CONVERT),
ffi::_ND_INS_TYPE::ND_CAT_AVX10INT => Ok(Category::AVX10INT),
ffi::_ND_INS_TYPE::ND_CAT_AVX10MINMAX => Ok(Category::AVX10MINMAX),
ffi::_ND_INS_TYPE::ND_CAT_AVX10PARTCOPY => Ok(Category::AVX10PARTCOPY),
ffi::_ND_INS_TYPE::ND_CAT_AVX10SCONVERT => Ok(Category::AVX10SCONVERT),
ffi::_ND_INS_TYPE::ND_CAT_AVX2 => Ok(Category::AVX2),
ffi::_ND_INS_TYPE::ND_CAT_AVX2GATHER => Ok(Category::AVX2GATHER),
ffi::_ND_INS_TYPE::ND_CAT_AVX512 => Ok(Category::AVX512),
Expand Down
2 changes: 2 additions & 0 deletions bindings/rsbddisasm/bddisasm/src/isa_set.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ pub enum IsaSet {
AMXTILE,
APX_F,
AVX,
AVX102,
AVX2,
AVX2GATHER,
AVX5124FMAPS,
Expand Down Expand Up @@ -164,6 +165,7 @@ impl TryFrom<ffi::ND_INS_SET> for IsaSet {
ffi::_ND_INS_SET::ND_SET_AMXTILE => Ok(IsaSet::AMXTILE),
ffi::_ND_INS_SET::ND_SET_APX_F => Ok(IsaSet::APX_F),
ffi::_ND_INS_SET::ND_SET_AVX => Ok(IsaSet::AVX),
ffi::_ND_INS_SET::ND_SET_AVX102 => Ok(IsaSet::AVX102),
ffi::_ND_INS_SET::ND_SET_AVX2 => Ok(IsaSet::AVX2),
ffi::_ND_INS_SET::ND_SET_AVX2GATHER => Ok(IsaSet::AVX2GATHER),
ffi::_ND_INS_SET::ND_SET_AVX5124FMAPS => Ok(IsaSet::AVX5124FMAPS),
Expand Down
2 changes: 1 addition & 1 deletion bindings/rsbddisasm/bddisasm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
//!
//! ```toml
//! [dependencies]
//! bddisasm = "0.2"
//! bddisasm = "0.5.0"
//! ```
//!
//! # Examples
Expand Down
Loading

0 comments on commit e4bb7c2

Please sign in to comment.