From 2def47ef8b4d8df478a8770a56c5c294bb860c0a Mon Sep 17 00:00:00 2001 From: Martin Hughes Date: Thu, 30 Apr 2026 14:09:38 +0100 Subject: [PATCH] Logical not only requires one arg --- src/aml/mod.rs | 5 ++++- tests/logical_not.asl | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 tests/logical_not.asl 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) + } +}