//! Implementation for the [AArch64](https://developer.arm.com/documentation/102374) //! ARM architecture. //! //! See PR [#109](https://github.com/daniel5151/gdbstub/pull/109) for more info. //! //! *Note*: doesn't support the AArch32 execution mode. //! *Note*: the target XML currently advertises all system registers to the GDB //! client. use gdbstub::arch::Arch; pub mod reg; /// Implements `Arch` for ARM AArch64. pub struct AArch64 {} impl Arch for AArch64 { type Usize = u64; type Registers = reg::AArch64CoreRegs; type RegId = reg::id::AArch64RegId; type BreakpointKind = usize; fn target_description_xml() -> Option<&'static str> { static DESCRIPTION_XML: &str = concat!( r#""#, "aarch64", include_str!("core.xml"), // feature "org.gnu.gdb.aarch64.core" include_str!("fpu.xml"), // feature "org.gnu.gdb.aarch64.fpu" include_str!("sysregs.xml"), "", ); Some(DESCRIPTION_XML) } }