diff --git a/src/aml/mod.rs b/src/aml/mod.rs index 05e69ca7..e488cc71 100644 --- a/src/aml/mod.rs +++ b/src/aml/mod.rs @@ -1703,9 +1703,12 @@ where context.start(OpInFlight::new(Opcode::CreateField, &[ResolveBehaviour::TermArg; 3])) } + Opcode::LNot => { + context.start(OpInFlight::new(Opcode::LNot, &[ResolveBehaviour::TermArg])); + } + Opcode::LAnd | Opcode::LOr - | Opcode::LNot | Opcode::LNotEqual | Opcode::LLessEqual | Opcode::LGreaterEqual diff --git a/tests/logical_not.asl b/tests/logical_not.asl new file mode 100644 index 00000000..cdce94fe --- /dev/null +++ b/tests/logical_not.asl @@ -0,0 +1,6 @@ +// Check for issue 294 (logical-not broken) +DefinitionBlock("", "DSDT", 1, "RSACPI", "LOGICNOT", 1) { + Method (MAIN, 0, NotSerialized) { + Return (!1) + } +}