2) iASL Compiler/Disassembler and Tools:
Fixed a regression introduced in version 20180927 that could cause the compiler to fault, especially with NamePaths containing one or more carats (^). Such as: ^^_SB_PCI0
Added a new remark for the Sleep() operator when the sleep time operand is larger than one second. This is a very long time for the ASL/BIOS code and may not be what was intended by the ASL writer.
1) ACPICA kernel-resident subsystem:
Updated the GPE support to clear the status of all ACPI events when entering any/all sleep states in order to avoid premature wakeups. In theory, this may cause some wakeup events to be missed, but the likelihood of this is small. This change restores the original behavior of the ACPICA code in order to fix a regression seen from the previous "Stop unconditionally clearing ACPI IRQs during suspend/resume" change. This regression could cause some systems to incorrectly wake immediately.
Updated the execution of the _REG methods during initialization and namespace loading to bring the behavior into closer conformance to the ACPI specification and other ACPI implementations:
From the ACPI specification 6.2A, section 6.5.4:
_REG (Region):
Control methods must assume all operation regions are
inaccessible until the _REG(RegionSpace, 1) method is executed.
The exceptions to this rule are:
1. OSPM must guarantee that the following operation regions are
always accessible:
SystemIO operation regions.
SystemMemory operation regions when accessing memory
returned by the System Address Map reporting interfaces.
Since the state of both the SystemIO and SystemMemory address spaces are defined by the specification to never change, this ACPICA change ensures that now _REG is never called on them. This solves some problems seen in the field and provides compatibility with other ACPI implementations. An update to the upcoming new version of the ACPI specification will help clarify this behavior.
Updated the implementation of support for the Generic Serial Bus. For the "bidirectional" protocols, the internal implementation now automatically creates a return data buffer of the maximum size (255). This handles the worst-case for data that is returned from the serial bus handler, and fixes some problems seen in the field. This new buffer is directly returned to the ASL. As such, there is no true "bidirectional" buffer, which matches the ACPI specification. This is the reason for the "double store" seen in the example ASL code in the specification, shown below:
Word Process Call (AttribProcessCall):
OperationRegion(TOP1, GenericSerialBus, 0x00, 0x100)
Field(TOP1, BufferAcc, NoLock, Preserve)
{
FLD1, 8, // Virtual register at command value 1.
}
Name(BUFF, Buffer(20){}) // Create GenericSerialBus data buffer
// as BUFF
CreateWordField(BUFF, 0x02, DATA) // DATA = Data (Word)
Store(0x5416, DATA) // Save 0x5416 into the data buffer
Store(Store(BUFF, FLD1), BUFF) // Invoke a write/read Process Call transaction
// This is the "double store". The write to
// FLD1 returns a new buffer, which is stored
// back into BUFF with the second Store.
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented detection of extraneous/redundant uses of the Offset() operator within a Field Unit list. A remark is now issued for these. For example, the first two of the Offset() operators below are extraneous. Because both the compiler and the interpreter track the offsets automatically, these Offsets simply refer to the current offset and are unnecessary. Note, when optimization is enabled, the iASL compiler will in fact remove the redundant Offset operators and will not emit any AML code for them.
OperationRegion (OPR1, SystemMemory, 0x100, 0x100)
Field (OPR1)
{
Offset (0), // Never needed
FLD1, 32,
Offset (4), // Redundant, offset is already 4 (bytes)
FLD2, 8,
Offset (64), // OK use of Offset.
FLD3, 16,
}
dsdt.asl 14: Offset (0),
Remark 2158 - ^ Unnecessary/redundant use of Offset operator
dsdt.asl 16: Offset (4),
Remark 2158 - ^ Unnecessary/redundant use of Offset operator
Updates may require up to 24 hours to propagate to mirrors. If the following command doesn't work, please retry later:
sudo dnf upgrade --refresh --advisory=FEDORA-2018-dcbfb5a6aa
Please login to add feedback.
This update has been submitted for testing by ahs3.
This update has been pushed to testing.
This update has reached 7 days in testing and can be pushed to stable now if the maintainer wishes
This update has been submitted for batched by ahs3.
This update has been submitted for stable by ahs3.
This update has been pushed to stable.