1 //! Implementations for various PowerPC architectures. 2 3 use gdbstub::arch::Arch; 4 use gdbstub::arch::RegId; 5 6 pub mod reg; 7 8 /// Implements `Arch` for 32-bit PowerPC + AltiVec SIMD. 9 /// 10 /// Check out the [module level docs](gdbstub::arch#whats-with-regidimpl) for 11 /// more info about the `RegIdImpl` type parameter. 12 pub enum PowerPcAltivec32<RegIdImpl: RegId> { 13 #[doc(hidden)] 14 _Marker(core::marker::PhantomData<RegIdImpl>), 15 } 16 17 impl<RegIdImpl: RegId> Arch for PowerPcAltivec32<RegIdImpl> { 18 type Usize = u32; 19 type Registers = reg::PowerPcCommonRegs; 20 type RegId = RegIdImpl; 21 type BreakpointKind = usize; 22 target_description_xml() -> Option<&'static str>23 fn target_description_xml() -> Option<&'static str> { 24 Some( 25 r#"<target version="1.0"><architecture>powerpc:common</architecture><feature name="org.gnu.gdb.power.core"></feature><feature name="org.gnu.gdb.power.fpu"></feature><feature name="org.gnu.gdb.power.altivec"></feature></target>"#, 26 ) 27 } 28 } 29