Commit c3bc5f6d authored by Armin Wolf's avatar Armin Wolf Committed by Rafael J. Wysocki
Browse files

ACPICA: Fix asltests using the Fatal() opcode

Some asltests test the behavior of the Fatal() opcode and thus require
that said opcode does not return an error when called.

Introduce a compile-time option called ACPI_CONTINUE_ON_FATAL to
instruct the executor to continue the execution of AML bytecode when
encountering a Fatal() opcode. Also update the asltest to use this
new option.

Fixes: ("Abort AML bytecode execution when executing AML_FATAL_OP")
Link: https://github.com/acpica/acpica/commit/428b3410c490


Signed-off-by: default avatarArmin Wolf <W_Armin@gmx.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2052065.usQuhbGJ8B@rafael.j.wysocki
parent 091c4af3
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -72,11 +72,18 @@ acpi_status acpi_ex_opcode_3A_0T_0R(struct acpi_walk_state *walk_state)

		acpi_os_signal(ACPI_SIGNAL_FATAL, &fatal);

#ifndef ACPI_CONTINUE_ON_FATAL
		/*
		 * Might return while OS is shutting down, so abort the AML execution
		 * by returning an error.
		 */
		return_ACPI_STATUS(AE_ERROR);
#else
		/*
		 * The alstests require that the Fatal() opcode does not return an error.
		 */
		return_ACPI_STATUS(AE_OK);
#endif

	case AML_EXTERNAL_OP:
		/*