diff options
| author | iximeow <me@iximeow.net> | 2024-08-16 21:21:16 -0700 |
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2025-06-01 09:21:37 +0000 |
| commit | 08eed360fea81ab9328fd0859b813ee01937b5b1 (patch) | |
| tree | c379847e969d479c13c29f46864465cf2969d9cb /ffi/src/long_mode.rs | |
| parent | 681262f4472ba4f452446e86012ce629b849d8d9 (diff) | |
expand isa feature selection to more bits
this is backed by the new IsaSettings trait. the existing InstDecoders
are unchanged, except that they implement this new trait.
also add new `DecodeEverything` structs with `IsaSettings` impls that
are unconditionally set to permit anything the decoder can be configured
to conditionally accept or reject.
in the process, add new `_3dnow` flag and stop accepting 3dnow
instructions in uarch-specific decoder settings that would not have
3dnow instructions.
update AMD microarchitectures and cross-ref chip directory
Diffstat (limited to 'ffi/src/long_mode.rs')
| -rw-r--r-- | ffi/src/long_mode.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ffi/src/long_mode.rs b/ffi/src/long_mode.rs index d0d3f22..a9e296f 100644 --- a/ffi/src/long_mode.rs +++ b/ffi/src/long_mode.rs @@ -5,7 +5,7 @@ use yaxpeax_x86::long_mode; pub unsafe extern "C" fn yaxpeax_x86_64_decode(data: *const u8, length: u64, inst: *mut long_mode::Instruction) -> bool { let inst: &mut long_mode::Instruction = core::mem::transmute(inst); let mut reader = U8Reader::new(core::slice::from_raw_parts(data as *const u8, length as usize)); - <long_mode::Arch as Arch>::Decoder::default().decode_into(inst, &mut reader).is_err() + (yaxpeax_x86::long_mode::DecodeEverything {}).decode_into(inst, &mut reader).is_err() } #[no_mangle] |
