From f25df99a411f8820a01b02f60d347763a2c7ca7a Mon Sep 17 00:00:00 2001
From: Connor Wood <connorwood71@gmail.com>
Date: Tue, 25 Jul 2017 14:48:07 +0100
Subject: [PATCH] Implemented derefof

---
 src/acpi/aml/type2opcode.rs | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/acpi/aml/type2opcode.rs b/src/acpi/aml/type2opcode.rs
index 35f3faf8..e2880dde 100644
--- a/src/acpi/aml/type2opcode.rs
+++ b/src/acpi/aml/type2opcode.rs
@@ -296,15 +296,18 @@ fn parse_def_deref_of(data: &[u8],
         })
     }
     
-    // TODO: Perform computation
     parser_opcode!(data, 0x83);
 
     let obj = parse_term_arg(&data[1..], ctx)?;
-    
-    Ok(AmlParseType {
-        val: AmlValue::Uninitialized,
-        len: 1 + obj.len
-    })
+    let res = ctx.get(obj.val);
+
+    match res {
+        AmlValue::None => Err(AmlError::AmlValueError),
+        _ => Ok(AmlParseType {
+            val: res,
+            len: 1 + obj.len
+        })
+    }
 }
 
 fn parse_def_acquire(data: &[u8],
-- 
GitLab