15 February 2019. Summary of changes for version 20190215:
This release is available at https://acpica.org/downloads
0) Support for ACPI specification version 6.3:
Add PCC operation region support for the AML interpreter. This adds PCC
operation region support in the AML interpreter and a default handler for
acpiexec. The change also renames the PCC region address space keyword to
Support for new predefined methods _NBS, _NCH, _NIC, _NIH, and _NIG.
These methods provide OSPM with health information and device boot
PDTT: Add TriggerOrder to the PCC Identifier structure. The field value
defines if the trigger needs to be invoked by OSPM before or at the end
of kernel crash dump processing/handling operation.
SRAT: Add Generic Affinity Structure subtable. This subtable in the SRAT
is used for describing devices such as heterogeneous processors,
accelerators, GPUs, and IO devices with integrated compute or DMA
MADT: Add support for statistical profiling in GICC. Statistical
profiling extension (SPE) is an architecture-specific feature for ARM.
MADT: Add online capable flag. If this bit is set, system hardware
supports enabling this processor during OS runtime.
New Error Disconnect Recover Notification value. There are a number of
scenarios where system Firmware in collaboration with hardware may
disconnect one or more devices from the rest of the system for purposes
of error containment. Firmware can use this new notification value to
alert OSPM of such a removal.
PPTT: New additional fields in Processor Structure Flags. These flags
provide more information about processor topology.
NFIT/Disassembler: Change a field name from "Address Range" to "Region
HMAT updates: make several existing fields to be reserved as well as
rename subtable 0 to "memory proximity domain attributes".
GTDT: Add support for new GTDT Revision 3. This revision adds information
for the EL2 timer.
iASL: Update the HMAT example template for new fields.
iASL: Add support for the new revision of the GTDT (Rev 3).
1) ACPICA kernel-resident subsystem:
AML Parser: fix the main AML parse loop to correctly skip erroneous
extended opcodes. AML opcodes come in two lengths: 1-byte opcodes and 2-
byte extended opcodes. If an error occurs during an AML table load, the
AML parser will continue loading the table by skipping the offending
opcode. This implements a "load table at any cost" philosophy.
2) iASL Compiler/Disassembler and Tools:
iASL: Add checks for illegal object references, such as a reference
outside of method to an object within a method. Such an object is only
iASL: Emit error for creation of a zero-length operation region. Such a
region is rather pointless. If encountered, a runtime error is also
implemented in the interpeter.
Debugger: Fix a possible fault with the "test objects" command.
iASL: Makefile: support parent directory filenames containing embedded
iASL: Update the TPM2 template to revision 4.
iASL: Add the ability to report specific warnings or remarks as errors.
Disassembler: Disassemble OEMx tables as actual AML byte code.
Previously, these tables were treated as "unknown table".
iASL: Add definition and disassembly for TPM2 revision 3.
iASL: Add support for TPM2 rev 3 compilation.
This patch series enables the Arm Statistical
Profiling Extension (SPE) on ACPI platforms.
This is possible because ACPI 6.3 uses a previously
reserved field in the MADT to store the SPE interrupt
number, similarly to how the normal PMU is
described. If a consistent valid interrupt exists
across all the cores in the system, a platform
device is registered. That then triggers the SPE module,
which runs as normal.
Jeremy Linton (3):
ACPICA: ACPI 6.3: Add MADT/GICC/SPE extension.
arm_pmu: acpi: spe: Add initial MADT/SPE probing
perf: arm_spe: Enable ACPI/Platform automatic module loading
arch/arm64/include/asm/acpi.h | 4 +++
drivers/perf/arm_pmu_acpi.c | 67 +++++++++++++++++++++++++++++++++++
drivers/perf/arm_spe_pmu.c | 11 ++++--
include/acpi/actbl2.h | 5 +--
4 files changed, 83 insertions(+), 4 deletions(-)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
commit: e216992bbff730f0a2967d0bd6c43bbbe7699759 [333/340] ACPI / APEI: Kick the memory_failure() queue for synchronous errors
config: i386-randconfig-s1-02041749 (attached as .config)
compiler: gcc-6 (Debian 6.5.0-2) 6.5.0 20181026
git checkout e216992bbff730f0a2967d0bd6c43bbbe7699759
# save the attached .config to linux build tree
All errors (new ones prefixed by >>):
ld: drivers/acpi/apei/ghes.o: in function `ghes_kick_task_work':
>> drivers/acpi/apei/ghes.c:415: undefined reference to `memory_failure_queue_kick'
vim +415 drivers/acpi/apei/ghes.c
404 * Called as task_work before returning to user-space.
405 * Ensure any queued work has been done before we return to the context that
406 * triggered the notification.
408 static void ghes_kick_task_work(struct callback_head *head)
410 struct acpi_hest_generic_status *estatus;
411 struct ghes_estatus_node *estatus_node;
412 u32 node_len;
414 estatus_node = container_of(head, struct ghes_estatus_node, task_work);
> 415 memory_failure_queue_kick(estatus_node->task_work_cpu);
417 estatus = GHES_ESTATUS_FROM_NODE(estatus_node);
418 node_len = GHES_ESTATUS_NODE_LEN(cper_estatus_len(estatus));
419 gen_pool_free(ghes_estatus_pool, (unsigned long)estatus_node, node_len);
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation