You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The aml crate currently does not have support for reference-typed values. Implementing them allows us to support DeRefOf/Index/RefOf/CondRefOf opcodes which are quite common in real-hardware AML.
One way to implement that may be to introduce two extra AmlValue variants as well as a reference target enum:
enumAmlReference{Handle(AmlHandle),Local(u8),Arg(u8)}enumAmlValue{// ...Reference(AmlReference),// Just a reference to some objectIndexReference(AmlReference,u64),// Similar, but with an index}
Extra consideration may also be needed for handling references that may be returned from functions (AFAIK the ACPI spec doesn't disallow that and iasl happily compiles methods returning references to their locals).
I opened the issue so we can discuss it and pick the best way to implement the feature.
The
aml
crate currently does not have support for reference-typed values. Implementing them allows us to supportDeRefOf
/Index
/RefOf
/CondRefOf
opcodes which are quite common in real-hardware AML.One way to implement that may be to introduce two extra AmlValue variants as well as a reference target enum:
Extra consideration may also be needed for handling references that may be returned from functions (AFAIK the ACPI spec doesn't disallow that and
iasl
happily compiles methods returning references to their locals).I opened the issue so we can discuss it and pick the best way to implement the feature.
Related issue: #141
The text was updated successfully, but these errors were encountered: