Switch collections::boxed for alloc::boxed
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
//! # AML
|
||||
//! Code to parse and execute AML tables
|
||||
|
||||
use collections::vec::Vec;
|
||||
use alloc::boxed::Box;
|
||||
use collections::string::String;
|
||||
use collections::boxed::Box;
|
||||
use collections::vec::Vec;
|
||||
use core::fmt::Debug;
|
||||
use core::str::FromStr;
|
||||
|
||||
@@ -58,7 +58,7 @@ pub fn get_namespace_string(current: String, modifier: String) -> String {
|
||||
|
||||
pub fn parse_aml_table(sdt: &'static Sdt) -> Result<AmlNamespace, AmlError> {
|
||||
let data = sdt.data();
|
||||
|
||||
|
||||
let term_list = match parse_term_list(data) {
|
||||
Ok(res) => res,
|
||||
Err(AmlInternalError::AmlParseError(s)) => return Err(AmlError::AmlParseError(s)),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use collections::vec::Vec;
|
||||
use alloc::boxed::Box;
|
||||
use collections::string::String;
|
||||
use collections::boxed::Box;
|
||||
use collections::vec::Vec;
|
||||
|
||||
use super::{AmlInternalError, AmlExecutable, AmlValue, AmlNamespace, AmlNamespaceContents, get_namespace_string};
|
||||
use super::namestring::{parse_name_string, parse_name_seg};
|
||||
@@ -129,7 +129,7 @@ impl AmlExecutable for NamedObj {
|
||||
Some(r) => r,
|
||||
_ => return None
|
||||
};
|
||||
|
||||
|
||||
namespace.push_to(local_scope_string, AmlNamespaceContents::OpRegion {
|
||||
region: *region,
|
||||
offset: resolved_offset,
|
||||
@@ -138,7 +138,7 @@ impl AmlExecutable for NamedObj {
|
||||
},
|
||||
NamedObj::DefField { ref name, ref flags, ref field_list } => {
|
||||
let mut offset: usize = 0;
|
||||
|
||||
|
||||
for f in field_list {
|
||||
match *f {
|
||||
FieldElement::ReservedField { length } => offset += length,
|
||||
@@ -165,7 +165,7 @@ impl AmlExecutable for NamedObj {
|
||||
},
|
||||
_ => ()
|
||||
}
|
||||
|
||||
|
||||
None
|
||||
}
|
||||
}
|
||||
@@ -313,7 +313,7 @@ fn parse_def_bank_field(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalErr
|
||||
_ => return Err(AmlInternalError::AmlParseError("BankField - invalid update rule"))
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
let field_list = match parse_field_list(
|
||||
&data[3 + pkg_length_len + region_name_len + bank_name_len + bank_value_len ..
|
||||
2 + pkg_length]) {
|
||||
@@ -322,7 +322,7 @@ fn parse_def_bank_field(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalErr
|
||||
return Ok((NamedObj::DeferredLoad(data[0 .. 2 + pkg_length].to_vec()), 2 + pkg_length)),
|
||||
Err(e) => return Err(e)
|
||||
};
|
||||
|
||||
|
||||
Ok((NamedObj::DefBankField {region_name, bank_name, bank_value, flags, field_list},
|
||||
2 + pkg_length))
|
||||
}
|
||||
@@ -439,7 +439,7 @@ fn parse_def_device(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalError>
|
||||
|
||||
fn parse_def_op_region(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalError> {
|
||||
parser_opcode_extended!(data, 0x80);
|
||||
|
||||
|
||||
let (name, name_len) = parse_name_string(&data[2..])?;
|
||||
let region = match data[2 + name_len] {
|
||||
0x00 => RegionSpace::SystemMemory,
|
||||
@@ -455,7 +455,7 @@ fn parse_def_op_region(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalErro
|
||||
0x80 ... 0xFF => RegionSpace::UserDefined(data[2 + name_len]),
|
||||
_ => return Err(AmlInternalError::AmlParseError("OpRegion - invalid region"))
|
||||
};
|
||||
|
||||
|
||||
let (offset, offset_len) = parse_term_arg(&data[3 + name_len..])?;
|
||||
let (len, len_len) = parse_term_arg(&data[3 + name_len + offset_len..])?;
|
||||
|
||||
@@ -464,7 +464,7 @@ fn parse_def_op_region(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalErro
|
||||
|
||||
fn parse_def_field(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalError> {
|
||||
parser_opcode_extended!(data, 0x81);
|
||||
|
||||
|
||||
let (pkg_length, pkg_length_len) = parse_pkg_length(&data[2..])?;
|
||||
let (name, name_len) = match parse_name_string(&data[2 + pkg_length_len .. 2 + pkg_length]) {
|
||||
Ok(p) => p,
|
||||
@@ -492,7 +492,7 @@ fn parse_def_field(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalError> {
|
||||
_ => return Err(AmlInternalError::AmlParseError("Field - Invalid update rule"))
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
let field_list = match parse_field_list(&data[3 + pkg_length_len + name_len .. 2 + pkg_length]) {
|
||||
Ok(p) => p,
|
||||
Err(AmlInternalError::AmlDeferredLoad) =>
|
||||
@@ -522,7 +522,7 @@ fn parse_def_index_field(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalEr
|
||||
return Ok((NamedObj::DeferredLoad(data[0 .. 2 + pkg_length].to_vec()), 2 + pkg_length)),
|
||||
Err(e) => return Err(e)
|
||||
};
|
||||
|
||||
|
||||
let flags_raw = data[2 + pkg_length_len + idx_name_len + data_name_len];
|
||||
let flags = FieldFlags {
|
||||
access_type: match flags_raw & 0x0F {
|
||||
@@ -542,7 +542,7 @@ fn parse_def_index_field(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalEr
|
||||
_ => return Err(AmlInternalError::AmlParseError("IndexField - Invalid update rule"))
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
let field_list = match parse_field_list(
|
||||
&data[3 + pkg_length_len + idx_name_len + data_name_len .. 2 + pkg_length]) {
|
||||
Ok(p) => p,
|
||||
@@ -565,7 +565,7 @@ fn parse_field_list(data: &[u8]) -> Result<Vec<FieldElement>, AmlInternalError>
|
||||
return Err(AmlInternalError::AmlParseError("FieldList - no valid field")),
|
||||
Err(e) => return Err(e)
|
||||
};
|
||||
|
||||
|
||||
terms.push(res);
|
||||
current_offset += len;
|
||||
}
|
||||
@@ -598,14 +598,14 @@ fn parse_named_field(data: &[u8]) -> Result<(FieldElement, usize), AmlInternalEr
|
||||
|
||||
fn parse_reserved_field(data: &[u8]) -> Result<(FieldElement, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x00);
|
||||
|
||||
|
||||
let (length, length_len) = parse_pkg_length(&data[1..])?;
|
||||
Ok((FieldElement::ReservedField {length}, 1 + length_len))
|
||||
}
|
||||
|
||||
fn parse_access_field(data: &[u8]) -> Result<(FieldElement, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x01, 0x03);
|
||||
|
||||
|
||||
let flags_raw = data[1];
|
||||
let access_type = match flags_raw & 0x0F {
|
||||
0 => AccessType::AnyAcc,
|
||||
@@ -647,7 +647,7 @@ fn parse_access_field(data: &[u8]) -> Result<(FieldElement, usize), AmlInternalE
|
||||
|
||||
fn parse_connect_field(data: &[u8]) -> Result<(FieldElement, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x02);
|
||||
|
||||
|
||||
match parse_def_buffer(&data[1..]) {
|
||||
Ok((buf, buf_len)) => return Ok((FieldElement::ConnectFieldBufferData(buf), buf_len + 1)),
|
||||
Err(AmlInternalError::AmlInvalidOpCode) => (),
|
||||
@@ -718,7 +718,7 @@ fn parse_def_power_res(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalErro
|
||||
return Ok((NamedObj::DeferredLoad(data[0 .. 2 + pkg_len].to_vec()), 2 + pkg_len)),
|
||||
Err(e) => return Err(e)
|
||||
};
|
||||
|
||||
|
||||
let system_level = data[2 + pkg_len_len + name_len];
|
||||
let resource_order: u16 = (data[3 + pkg_len_len + name_len] as u16) +
|
||||
((data[4 + pkg_len_len + name_len] as u16) << 8);
|
||||
@@ -743,7 +743,7 @@ fn parse_def_processor(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalErro
|
||||
return Ok((NamedObj::DeferredLoad(data[0 .. 2 + pkg_len].to_vec()), 2 + pkg_len)),
|
||||
Err(e) => return Err(e)
|
||||
};
|
||||
|
||||
|
||||
let proc_id = data[2 + pkg_len_len + name_len];
|
||||
let p_blk_addr: u32 = (data[3 + pkg_len_len + name_len] as u32) +
|
||||
((data[4 + pkg_len_len + name_len] as u32) << 8) +
|
||||
@@ -771,7 +771,7 @@ fn parse_def_thermal_zone(data: &[u8]) -> Result<(NamedObj, usize), AmlInternalE
|
||||
return Ok((NamedObj::DeferredLoad(data[0 .. 2 + pkg_len].to_vec()), 2 + pkg_len)),
|
||||
Err(e) => return Err(e)
|
||||
};
|
||||
|
||||
|
||||
let obj_list = match parse_object_list(&data[2 + pkg_len_len + name_len .. 2 + pkg_len]) {
|
||||
Ok(p) => p,
|
||||
Err(AmlInternalError::AmlDeferredLoad) =>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use alloc::boxed::Box;
|
||||
use collections::string::String;
|
||||
use collections::vec::Vec;
|
||||
use collections::boxed::Box;
|
||||
|
||||
use core::str::FromStr;
|
||||
|
||||
@@ -82,7 +82,7 @@ impl AmlNamespace {
|
||||
let scope_string = String::from_str(scope_str).unwrap();
|
||||
self.find(scope_string)
|
||||
}
|
||||
|
||||
|
||||
pub fn find(&self, scope_string: String) -> Option<AmlValue> {
|
||||
if scope_string.len() == 0 {
|
||||
match self.contents {
|
||||
@@ -90,9 +90,9 @@ impl AmlNamespace {
|
||||
_ => return None
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let mut scope_string = scope_string.clone();
|
||||
|
||||
|
||||
if scope_string.starts_with("\\") {
|
||||
if self.name != "\\" {
|
||||
return None;
|
||||
@@ -104,7 +104,7 @@ impl AmlNamespace {
|
||||
if scope_string.starts_with(".") {
|
||||
scope_string.remove(0);
|
||||
}
|
||||
|
||||
|
||||
if scope_string.len() == 0 {
|
||||
match self.contents {
|
||||
AmlNamespaceContents::Value(ref v) => return Some(v.clone()),
|
||||
@@ -146,7 +146,7 @@ impl AmlNamespace {
|
||||
|
||||
None
|
||||
}
|
||||
|
||||
|
||||
pub fn push(&mut self, val: AmlNamespaceContents) {
|
||||
match self.contents {
|
||||
AmlNamespaceContents::Namespace(ref mut v) => v.push(val),
|
||||
@@ -158,9 +158,9 @@ impl AmlNamespace {
|
||||
if scope_string.len() == 0 {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
let mut scope_string = scope_string.clone();
|
||||
|
||||
|
||||
if scope_string.starts_with("\\") {
|
||||
if self.name != "\\" {
|
||||
return;
|
||||
@@ -173,7 +173,7 @@ impl AmlNamespace {
|
||||
if scope_string.starts_with(".") {
|
||||
scope_string.remove(0);
|
||||
}
|
||||
|
||||
|
||||
if scope_string.len() == 0 {
|
||||
return;
|
||||
}
|
||||
@@ -207,12 +207,12 @@ impl AmlNamespace {
|
||||
|
||||
current_index += 1;
|
||||
}
|
||||
|
||||
|
||||
let mut next = AmlNamespace {
|
||||
name: current,
|
||||
contents: contents
|
||||
};
|
||||
|
||||
|
||||
namespace.push(AmlNamespaceContents::SubNamespace(Box::new(next)));
|
||||
}
|
||||
_ => () // TODO: Error this
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use collections::vec::Vec;
|
||||
use alloc::boxed::Box;
|
||||
use collections::string::String;
|
||||
use collections::boxed::Box;
|
||||
use collections::vec::Vec;
|
||||
|
||||
use super::{AmlInternalError, AmlExecutable, AmlValue, AmlNamespace, AmlNamespaceContents, get_namespace_string};
|
||||
use super::pkglength::parse_pkg_length;
|
||||
@@ -63,10 +63,10 @@ pub fn parse_namespace_modifier(data: &[u8]) -> Result<(NamespaceModifier, usize
|
||||
|
||||
fn parse_alias_op(data: &[u8]) -> Result<(NamespaceModifier, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x06);
|
||||
|
||||
|
||||
let (source_name, source_name_len) = parse_name_string(&data[1..])?;
|
||||
let (alias_name, alias_name_len) = parse_name_string(&data[1 + source_name_len..])?;
|
||||
|
||||
|
||||
Ok((NamespaceModifier::Alias {source_name, alias_name}, 1 + source_name_len + alias_name_len))
|
||||
}
|
||||
|
||||
@@ -75,13 +75,13 @@ fn parse_name_op(data: &[u8]) -> Result<(NamespaceModifier, usize), AmlInternalE
|
||||
|
||||
let (name, name_len) = parse_name_string(&data[1..])?;
|
||||
let (data_ref_obj, data_ref_obj_len) = parse_data_ref_obj(&data[1 + name_len..])?;
|
||||
|
||||
|
||||
Ok((NamespaceModifier::Name {name, data_ref_obj}, 1 + name_len + data_ref_obj_len))
|
||||
}
|
||||
|
||||
fn parse_scope_op(data: &[u8]) -> Result<(NamespaceModifier, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x10);
|
||||
|
||||
|
||||
let (pkg_length, pkg_length_len) = parse_pkg_length(&data[1..])?;
|
||||
let (name, name_len) = match parse_name_string(&data[1 + pkg_length_len..]) {
|
||||
Ok(p) => p,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use collections::vec::Vec;
|
||||
use collections::boxed::Box;
|
||||
use alloc::boxed::Box;
|
||||
use collections::string::String;
|
||||
use collections::vec::Vec;
|
||||
|
||||
use super::{AmlInternalError, AmlExecutable, AmlValue, AmlNamespace, get_namespace_string};
|
||||
use super::namespacemodifier::{parse_namespace_modifier, NamespaceModifier};
|
||||
@@ -103,7 +103,7 @@ pub fn parse_object_list(data: &[u8]) -> Result<Vec<Object>, AmlInternalError> {
|
||||
terms.push(res);
|
||||
current_offset += len;
|
||||
}
|
||||
|
||||
|
||||
Ok(terms)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use collections::vec::Vec;
|
||||
use alloc::boxed::Box;
|
||||
use collections::string::String;
|
||||
use collections::boxed::Box;
|
||||
use collections::vec::Vec;
|
||||
|
||||
use super::{AmlInternalError, AmlExecutable, AmlValue, AmlNamespace};
|
||||
use super::pkglength::parse_pkg_length;
|
||||
@@ -195,18 +195,18 @@ fn parse_def_if_else(data: &[u8]) -> Result<(Type1OpCode, usize), AmlInternalErr
|
||||
Ok((predicate, predicate_len)) => {
|
||||
match parse_term_list(&data[1 + pkg_length_len + predicate_len .. 1 + pkg_length]) {
|
||||
Ok(if_block) => IfBlock::If {predicate, if_block},
|
||||
Err(AmlInternalError::AmlDeferredLoad) =>
|
||||
Err(AmlInternalError::AmlDeferredLoad) =>
|
||||
IfBlock::DeferredLoad(data[0 .. 1 + pkg_length].to_vec()),
|
||||
Err(e) => return Err(e)
|
||||
}
|
||||
},
|
||||
Err(AmlInternalError::AmlDeferredLoad) =>
|
||||
Err(AmlInternalError::AmlDeferredLoad) =>
|
||||
IfBlock::DeferredLoad(data[0 .. 1 + pkg_length].to_vec()),
|
||||
Err(e) => return Err(e)
|
||||
};
|
||||
|
||||
|
||||
let (else_block, else_block_len) = parse_def_else(&data[1 + pkg_length..])?;
|
||||
|
||||
|
||||
return Ok((Type1OpCode::DefIfElse {if_block, else_block},
|
||||
pkg_length + else_block_len + 1));
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use collections::vec::Vec;
|
||||
use alloc::boxed::Box;
|
||||
use collections::string::String;
|
||||
use collections::boxed::Box;
|
||||
use collections::vec::Vec;
|
||||
|
||||
use super::{AmlInternalError, AmlExecutable, AmlValue, AmlNamespace};
|
||||
use super::pkglength::parse_pkg_length;
|
||||
@@ -277,7 +277,7 @@ impl AmlExecutable for DefPackage {
|
||||
match *self {
|
||||
DefPackage::Package { ref num_elements, ref elements } => {
|
||||
let mut values: Vec<AmlValue> = vec!();
|
||||
|
||||
|
||||
for element in elements {
|
||||
match *element {
|
||||
PackageElement::DataRefObj(ref d) => {
|
||||
@@ -353,7 +353,7 @@ pub fn parse_type2_opcode(data: &[u8]) -> Result<(Type2OpCode, usize), AmlIntern
|
||||
parser_wrap!(Type2OpCode::DefIndex, parse_def_index),
|
||||
parser_wrap!(Type2OpCode::MethodInvocation, parse_method_invocation)
|
||||
};
|
||||
|
||||
|
||||
Err(AmlInternalError::AmlInvalidOpCode)
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@ pub fn parse_type6_opcode(data: &[u8]) -> Result<(Type6OpCode, usize), AmlIntern
|
||||
parser_wrap!(Type6OpCode::DefIndex, parse_def_index),
|
||||
parser_wrap!(Type6OpCode::MethodInvocation, parse_method_invocation)
|
||||
};
|
||||
|
||||
|
||||
Err(AmlInternalError::AmlInvalidOpCode)
|
||||
}
|
||||
|
||||
@@ -387,7 +387,7 @@ pub fn parse_def_package(data: &[u8]) -> Result<(DefPackage, usize), AmlInternal
|
||||
|
||||
let (pkg_length, pkg_length_len) = parse_pkg_length(&data[1..])?;
|
||||
let num_elements = data[1 + pkg_length_len];
|
||||
|
||||
|
||||
let elements = match parse_package_elements_list(&data[2 + pkg_length_len .. 1 + pkg_length]) {
|
||||
Ok(e) => e,
|
||||
Err(AmlInternalError::AmlDeferredLoad) =>
|
||||
@@ -415,18 +415,18 @@ pub fn parse_def_var_package(data: &[u8]) -> Result<(DefVarPackage, usize), AmlI
|
||||
|
||||
Ok((DefVarPackage::Package {num_elements, elements}, 1 + pkg_length))
|
||||
}
|
||||
|
||||
|
||||
fn parse_package_elements_list(data: &[u8]) -> Result<Vec<PackageElement>, AmlInternalError> {
|
||||
let mut current_offset: usize = 0;
|
||||
let mut elements: Vec<PackageElement> = vec!();
|
||||
|
||||
|
||||
while current_offset < data.len() {
|
||||
match parse_data_ref_obj(&data[current_offset ..]) {
|
||||
Ok((data_ref_obj, data_ref_obj_len)) => {
|
||||
elements.push(PackageElement::DataRefObj(data_ref_obj));
|
||||
current_offset += data_ref_obj_len;
|
||||
},
|
||||
Err(AmlInternalError::AmlInvalidOpCode) =>
|
||||
Err(AmlInternalError::AmlInvalidOpCode) =>
|
||||
match parse_name_string(&data[current_offset ..]) {
|
||||
Ok((name_string, name_string_len)) => {
|
||||
elements.push(PackageElement::NameString(name_string));
|
||||
@@ -440,10 +440,10 @@ fn parse_package_elements_list(data: &[u8]) -> Result<Vec<PackageElement>, AmlIn
|
||||
|
||||
Ok(elements)
|
||||
}
|
||||
|
||||
|
||||
pub fn parse_def_buffer(data: &[u8]) -> Result<(DefBuffer, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x11);
|
||||
|
||||
|
||||
let (pkg_length, pkg_length_len) = parse_pkg_length(&data[1..])?;
|
||||
let (buffer_size, buffer_size_len) = match parse_term_arg(&data[1 + pkg_length_len..]) {
|
||||
Ok(s) => s,
|
||||
@@ -453,7 +453,7 @@ pub fn parse_def_buffer(data: &[u8]) -> Result<(DefBuffer, usize), AmlInternalEr
|
||||
Err(e) => return Err(e),
|
||||
};
|
||||
let byte_list = data[1 + pkg_length_len + buffer_size_len .. 1 + pkg_length].to_vec();
|
||||
|
||||
|
||||
Ok((DefBuffer::Buffer {buffer_size, byte_list}, pkg_length + 1))
|
||||
}
|
||||
|
||||
@@ -473,24 +473,24 @@ fn parse_def_deref_of(data: &[u8]) -> Result<(TermArg, usize), AmlInternalError>
|
||||
|
||||
fn parse_def_acquire(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalError> {
|
||||
parser_opcode_extended!(data, 0x23);
|
||||
|
||||
|
||||
let (object, object_len) = parse_super_name(&data[2..])?;
|
||||
let timeout = (data[2 + object_len] as u16) +
|
||||
((data[3 + object_len] as u16) << 8);
|
||||
|
||||
|
||||
Ok((Type2OpCode::DefAcquire {object, timeout}, object_len + 4))
|
||||
}
|
||||
|
||||
fn parse_def_increment(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x75);
|
||||
|
||||
|
||||
let (obj, obj_len) = parse_super_name(&data[1..])?;
|
||||
Ok((Type2OpCode::DefIncrement(obj), obj_len + 1))
|
||||
}
|
||||
|
||||
fn parse_def_index(data: &[u8]) -> Result<(DefIndex, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x88);
|
||||
|
||||
|
||||
let (obj, obj_len) = parse_term_arg(&data[1..])?;
|
||||
let (idx, idx_len) = parse_term_arg(&data[1 + obj_len..])?;
|
||||
let (target, target_len) = parse_target(&data[1 + obj_len + idx_len..])?;
|
||||
@@ -500,7 +500,7 @@ fn parse_def_index(data: &[u8]) -> Result<(DefIndex, usize), AmlInternalError> {
|
||||
|
||||
fn parse_def_land(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x90);
|
||||
|
||||
|
||||
let (lhs, lhs_len) = parse_term_arg(&data[1..])?;
|
||||
let (rhs, rhs_len) = parse_term_arg(&data[1 + lhs_len..])?;
|
||||
|
||||
@@ -509,7 +509,7 @@ fn parse_def_land(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalError>
|
||||
|
||||
fn parse_def_lequal(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x93);
|
||||
|
||||
|
||||
let (lhs, lhs_len) = parse_term_arg(&data[1..])?;
|
||||
let (rhs, rhs_len) = parse_term_arg(&data[1 + lhs_len..])?;
|
||||
|
||||
@@ -518,7 +518,7 @@ fn parse_def_lequal(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalErro
|
||||
|
||||
fn parse_def_lgreater(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x94);
|
||||
|
||||
|
||||
let (lhs, lhs_len) = parse_term_arg(&data[1..])?;
|
||||
let (rhs, rhs_len) = parse_term_arg(&data[1 + lhs_len..])?;
|
||||
|
||||
@@ -664,7 +664,7 @@ fn parse_def_shift_right(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInterna
|
||||
|
||||
fn parse_def_add(data: &[u8]) -> Result<(Type2OpCode, usize), AmlInternalError> {
|
||||
parser_opcode!(data, 0x72);
|
||||
|
||||
|
||||
let (lhs, lhs_len) = parse_term_arg(&data[1..])?;
|
||||
let (rhs, rhs_len) = parse_term_arg(&data[1 + lhs_len..])?;
|
||||
let (target, target_len) = parse_target(&data[1 + lhs_len + rhs_len..])?;
|
||||
|
||||
Reference in New Issue
Block a user