From a8cc2b7e22dab9bcf2418013eec53ad1ac88a6ce Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 29 Jul 2022 18:07:31 -0600 Subject: [PATCH] Add aarch64 EnvRegisters --- src/arch/aarch64.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/arch/aarch64.rs b/src/arch/aarch64.rs index 63c64cf..1b2db5b 100644 --- a/src/arch/aarch64.rs +++ b/src/arch/aarch64.rs @@ -132,3 +132,25 @@ impl DerefMut for FloatRegisters { } } } + +#[derive(Clone, Copy, Debug, Default)] +#[repr(packed)] +pub struct EnvRegisters { + // TODO: do we need any of these? +} +impl Deref for EnvRegisters { + type Target = [u8]; + fn deref(&self) -> &[u8] { + unsafe { + slice::from_raw_parts(self as *const EnvRegisters as *const u8, mem::size_of::()) + } + } +} + +impl DerefMut for EnvRegisters { + fn deref_mut(&mut self) -> &mut [u8] { + unsafe { + slice::from_raw_parts_mut(self as *mut EnvRegisters as *mut u8, mem::size_of::()) + } + } +} \ No newline at end of file