ACPICA version 20180629 released
by Moore, Robert
29 June 2018. Summary of changes for version 20180629:
This release is available at https://acpica.org/downloads
1) iASL Compiler/Disassembler and Tools:
iASL: Fixed a regression related to the use of the ASL External statement. Error checking for the use of the External() statement has been relaxed. Previously, a restriction on the use of External meant that the referenced named object was required to be defined in a different table (an SSDT). Thus it would be an error to declare an object as an external and then define the same named object in the same table. For example:
DefinitionBlock (...)
{
External (DEV1)
Device (DEV1){...} // This was an error
}
However, this behavior has caused regressions in some existing ASL code, because there is code that depends on named objects and externals (with the same name) being declared in the same table. This change will allow the ASL code above to compile without errors or warnings.
iASL: Implemented ASL language extensions for four operators to make some of their arguments optional instead of required:
1) Field (RegionName, AccessType, LockRule, UpdateRule)
2) BankField (RegionName, BankName, BankValue,
AccessType, LockRule, UpdateRule)
3) IndexField (IndexName, DataName,
AccessType, LockRule, UpdateRule)
For the Field operators above, the AccessType, LockRule, and UpdateRule are now optional arguments. The default values are:
AccessType: AnyAcc
LockRule: NoLock
UpdateRule: Preserve
4) Mutex (MutexName, SyncLevel)
For this operator, the SyncLevel argument is now optional. This argument is rarely used in any meaningful way by ASL code, and thus it makes sense to make it optional. The default value is:
SyncLevel: 0
iASL: Attempted use of the ASL Unload() operator now results in the following warning:
"Unload is not supported by all operating systems"
This is in fact very true, and the Unload operator may be completely deprecated in the near future.
AcpiExec: Fixed a regression for the -fi option (Namespace initialization file. Recent changes in the ACPICA module-level code support altered the table load/initialization sequence . This means that the table load has become a large method execution of the table itself. If Operation Region Fields are used within any module-level code and the -fi option was specified, the initialization values were populated only after the table had completely finished loading (and thus the module-level code had already been executed). This change moves the initialization of objects listed in the initialization file to before the table is executed as a method. Field unit values are now initialized before the table execution is performed.
3 years, 12 months
Re: [Devel] [PATCH] ACPI / processor: Finish making acpi_processor_ppc_has_changed() void
by Rafael J. Wysocki
On Tuesday, June 19, 2018 7:02:01 PM CEST Brian Norris wrote:
> Commit bca5f557dcea ("ACPI / processor: Make
> acpi_processor_ppc_has_changed() void") changed one of the declarations
> of acpi_processor_ppc_has_changed() to return void, but the !CPU_FREQ
> version still return int. Let's return void to be consistent.
>
> Signed-off-by: Brian Norris <briannorris(a)chromium.org>
> ---
> include/acpi/processor.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/include/acpi/processor.h b/include/acpi/processor.h
> index 40a916efd7c0..1194a4c78d55 100644
> --- a/include/acpi/processor.h
> +++ b/include/acpi/processor.h
> @@ -309,7 +309,7 @@ static inline void acpi_processor_ppc_exit(void)
> {
> return;
> }
> -static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr,
> +static inline void acpi_processor_ppc_has_changed(struct acpi_processor *pr,
> int event_flag)
> {
> static unsigned int printout = 1;
> @@ -320,7 +320,6 @@ static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr,
> "Consider compiling CPUfreq support into your kernel.\n");
> printout = 0;
> }
> - return 0;
> }
> static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit)
> {
>
Applied, thanks!
4 years