//! Implementations for various x86 architectures. use gdbstub::arch::Arch; use gdbstub::arch::RegId; pub mod reg; /// Implements `Arch` for 64-bit x86 + SSE Extensions. /// /// Check out the [module level docs](gdbstub::arch#whats-with-regidimpl) for /// more info about the `RegIdImpl` type parameter. #[allow(non_camel_case_types, clippy::upper_case_acronyms)] pub enum X86_64_SSE { #[doc(hidden)] _Marker(core::marker::PhantomData), } impl Arch for X86_64_SSE { type Usize = u64; type Registers = reg::X86_64CoreRegs; type RegId = RegIdImpl; type BreakpointKind = usize; fn target_description_xml() -> Option<&'static str> { Some( r#"i386:x86-64"#, ) } } /// Implements `Arch` for 32-bit x86 + SSE Extensions. /// /// Check out the [module level docs](gdbstub::arch#whats-with-regidimpl) for /// more info about the `RegIdImpl` type parameter. #[allow(non_camel_case_types, clippy::upper_case_acronyms)] pub enum X86_SSE { #[doc(hidden)] _Marker(core::marker::PhantomData), } impl Arch for X86_SSE { type Usize = u32; type Registers = reg::X86CoreRegs; type RegId = RegIdImpl; type BreakpointKind = usize; fn target_description_xml() -> Option<&'static str> { Some( r#"i386:intel"#, ) } }