Patrick, There are two methods to disable this remark: 1) Disable all remarks via the –VR option 2) Disable the specific remark via the –VW option. Please see the examples below. BTW, remarks from iASL are simply suggestions, they are not nearly as serious as warnings or errors. That is why we provide an option to disable all remarks. Remarks do not affect the AML code that is emitted. OperationRegion (OPR1, SystemMemory, 0x200, 0x400) Field (OPR1, ByteAcc, Lock, Preserve) { FIE1, 8, FIE2, 8, Offset(2), FIE3, 8 } iasl dsdt.asl Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20190215 Copyright (c) 2000 - 2019 Intel Corporation dsdt.asl 15: Offset(2), Remark 2158 - ^ Unnecessary/redundant use of Offset operator ASL Input: dsdt.asl - 21 lines, 482 bytes, 2 keywords AML Output: dsdt.aml - 72 bytes, 2 named objects, 0 executable opcodes Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 1 Optimizations iasl -vr dsdt.asl // disable all remarks Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20190215 Copyright (c) 2000 - 2019 Intel Corporation ASL Input: dsdt.asl - 21 lines, 482 bytes, 2 keywords AML Output: dsdt.aml - 72 bytes, 2 named objects, 0 executable opcodes Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 1 Optimizations iasl -vw 2158 dsdt.asl // disable remark #2158 Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20190215 Copyright (c) 2000 - 2019 Intel Corporation ASL Input: dsdt.asl - 21 lines, 482 bytes, 2 keywords AML Output: dsdt.aml - 72 bytes, 2 named objects, 0 executable opcodes Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 1 Optimizations From: Devel [mailto:devel-bounces(a)acpica.org] On Behalf Of Patrick Georgi Sent: Wednesday, April 3, 2019 12:14 AM To: devel(a)acpica.org Subject: [Devel] Field Offset constraints Hi everybody, at coreboot[1] we use iasl to compile static ASL for various hardware. Recent versions of iasl emit a notice for redundant Offset statements in Fields, apparently with the expectation that they shouldn't exist. This poses a problem for us since we're sometimes using Offset as a guard, making sure that we didn't inadvertedly shifted fields around (too much), with the expectation that these were redundant in the "good" case. Since that operator wasn't really suited for that purpose anyway, and now throws warnings (which we try to avoid in our builds), are there plans to add some keyword for compile time constraints checks, or any objections to having such a feature (should one of us decide to implement it)? Maybe something like Field (NAME, ByteAcc, Lock, Preserve) { Item(FIE1, 0, 0, 8) Item(FIE2, 1, 0, 8) Offset(0x10) Item(FIE3, 0x10, 0, 8) } in which Item(Name, Byte, Bit, Length) would compile to "Name, Length," inside a field after ensuring that the byte and bit offsets match the current location. Thoughts? Thanks, Patrick Georgi [1] https://www.coreboot.org/ -- Google Germany GmbH, ABC-Str. 19, 20354 Hamburg Registergericht und -nummer: Hamburg, HRB 86891, Sitz der Gesellschaft: Hamburg Geschäftsführer: Paul Manicle, Halimah DeLaine Prado