/
mod.rs
34 lines (27 loc) · 985 Bytes
/
mod.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//! Implementation for the [AArch64](https://developer.arm.com/documentation/102374)
//! ARM architecture.
use gdbstub::arch::{Arch, SingleStepGdbBehavior};
pub mod reg;
/// ARM AArch64 Architecture.
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#"<target version="1.0">"#,
"<architecture>aarch64</architecture>",
include_str!("core.xml"), // feature "org.gnu.gdb.aarch64.core"
include_str!("fpu.xml"), // feature "org.gnu.gdb.aarch64.fpu"
include_str!("sysregs.xml"),
"</target>",
);
Some(DESCRIPTION_XML)
}
#[inline(always)]
fn single_step_gdb_behavior() -> SingleStepGdbBehavior {
SingleStepGdbBehavior::Optional
}
}