diff --git a/Cargo.lock b/Cargo.lock
index aa63493aea4dbf302c564547b95edcdf14ca90eb..3a3210863b54f20d2fd4451dda89693a74fd7fa0 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -155,7 +155,7 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.1"
+version = "0.3.2"
 dependencies = [
  "bitflags",
 ]
diff --git a/src/arch/aarch64/interrupt/handler.rs b/src/arch/aarch64/interrupt/handler.rs
index ddf3201cd51c8e5a01401875dfe7f0e2415a66f1..7adcd80dce60571eed56ae120c0e3f17631c7b64 100644
--- a/src/arch/aarch64/interrupt/handler.rs
+++ b/src/arch/aarch64/interrupt/handler.rs
@@ -126,6 +126,7 @@ impl InterruptStack {
     /// Saves all registers to a struct used by the proc:
     /// scheme to read/write registers.
     pub fn save(&self, all: &mut IntRegisters) {
+        /*TODO: aarch64 registers
         all.elr_el1 = self.iret.elr_el1;
         all.tpidr_el0 = self.iret.tpidr_el0;
         all.tpidrro_el0 = self.iret.tpidrro_el0;
@@ -133,6 +134,7 @@ impl InterruptStack {
         all.esr_el1 = self.iret.esr_el1;
         all.sp_el0 = self.iret.sp_el0;
         all.padding = 0;
+        */
         all.x30 = self.preserved.x30;
         all.x29 = self.preserved.x29;
         all.x28 = self.preserved.x28;
@@ -165,16 +167,18 @@ impl InterruptStack {
         all.x1 = self.scratch.x1;
         all.x0 = self.scratch.x0;
     }
-    
+
     /// Loads all registers from a struct used by the proc:
     /// scheme to read/write registers.
     pub fn load(&mut self, all: &IntRegisters) {
+        /*TODO: aarch64 registers
         self.iret.elr_el1 = all.elr_el1;
         self.iret.tpidr_el0 = all.tpidr_el0;
         self.iret.tpidrro_el0 = all.tpidrro_el0;
         self.iret.spsr_el1 = all.spsr_el1;
         self.iret.esr_el1 = all.esr_el1;
         self.iret.sp_el0 = all.sp_el0;
+        */
         self.preserved.x30 = all.x30;
         self.preserved.x29 = all.x29;
         self.preserved.x28 = all.x28;
diff --git a/src/scheme/proc.rs b/src/scheme/proc.rs
index f7ba56554756cbfdae4433b92d84fce1a9b590d3..33ac1417a8320f333fa94c6f0b083ab44c248780 100644
--- a/src/scheme/proc.rs
+++ b/src/scheme/proc.rs
@@ -398,10 +398,13 @@ impl ProcScheme {
         Ok(id)
     }
 
-    #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))]
+    #[cfg(target_arch = "aarch64")]
     fn read_env_regs(&self, info: &Info) -> Result<EnvRegisters> {
-        //TODO: Support other archs
-        Err(Error::new(EINVAL))
+        //TODO: aarch64 EnvRegisters
+        Ok(EnvRegisters {
+            tpidr_el0: 0,
+            tpidrro_el0: 0,
+        })
     }
 
     #[cfg(target_arch = "x86")]
@@ -453,10 +456,10 @@ impl ProcScheme {
         Ok(EnvRegisters { fsbase: fsbase as _, gsbase: gsbase as _ })
     }
 
-    #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))]
+    #[cfg(target_arch = "aarch64")]
     fn write_env_regs(&self, info: &Info, regs: EnvRegisters) -> Result<()> {
-        //TODO: Support other archs
-        Err(Error::new(EINVAL))
+        //TODO: aarch64 EnvRegisters
+        Ok(())
     }
 
     #[cfg(target_arch = "x86")]