Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67445532 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branch 'acpica'

ACPICA update to upstream revision 20180531 (including an important
AML parser fix and updates related to IORT) and a change to start
responding to the "Windows 2017.2" _OSI string.

* acpica:
  ACPICA: Recognize the _OSI string "Windows 2017.2"
  ACPICA: Update version to 20180531
  ACPICA: Interpreter: Begin deprecation of Unload operator
  ACPICA: AML parser: attempt to continue loading table after error
  ACPICA: Debugger: Reduce verbosity for module-level code errors.
  ACPICA: AML Parser: Add debug option to dump parse trees
  ACPICA: Debugger: Add count of namespace nodes after namespace dump
  ACPICA: IORT: Add PMCG node supprt
  ACPICA: IORT: Update for revision D
parents fb145901 ad584b46
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -322,6 +322,7 @@ acpi_db_walk_and_match_name(acpi_handle obj_handle,
		acpi_os_printf("Could Not get pathname for object %p\n",
			       obj_handle);
	} else {
		info.count = 0;
		info.owner_id = ACPI_OWNER_ID_MAX;
		info.debug_level = ACPI_UINT32_MAX;
		info.display_type = ACPI_DISPLAY_SUMMARY | ACPI_DISPLAY_SHORT;
+22 −1
Original line number Diff line number Diff line
@@ -35,6 +35,15 @@ void
acpi_db_dump_method_info(acpi_status status, struct acpi_walk_state *walk_state)
{
	struct acpi_thread_state *thread;
	struct acpi_namespace_node *node;

	node = walk_state->method_node;

	/* There are no locals or arguments for the module-level code case */

	if (node == acpi_gbl_root_node) {
		return;
	}

	/* Ignore control codes, they are not errors */

@@ -384,8 +393,14 @@ void acpi_db_decode_locals(struct acpi_walk_state *walk_state)
	struct acpi_namespace_node *node;
	u8 display_locals = FALSE;

	obj_desc = walk_state->method_desc;
	node = walk_state->method_node;
	obj_desc = walk_state->method_desc;

	/* There are no locals for the module-level code case */

	if (node == acpi_gbl_root_node) {
		return;
	}

	if (!node) {
		acpi_os_printf
@@ -452,6 +467,12 @@ void acpi_db_decode_arguments(struct acpi_walk_state *walk_state)
	node = walk_state->method_node;
	obj_desc = walk_state->method_desc;

	/* There are no arguments for the module-level code case */

	if (node == acpi_gbl_root_node) {
		return;
	}

	if (!node) {
		acpi_os_printf
		    ("No method node (Executing subtree for buffer or opregion)\n");
+9 −3
Original line number Diff line number Diff line
@@ -162,9 +162,15 @@ acpi_ds_dump_method_stack(acpi_status status,
				op->common.next = NULL;

#ifdef ACPI_DISASSEMBLER
				if (walk_state->method_node !=
				    acpi_gbl_root_node) {

					/* More verbose if not module-level code */

					acpi_os_printf("Failed at ");
					acpi_dm_disassemble(next_walk_state, op,
							    ACPI_UINT32_MAX);
				}
#endif
				op->common.next = next;
			}
+11 −0
Original line number Diff line number Diff line
@@ -489,6 +489,17 @@ acpi_status acpi_ex_unload_table(union acpi_operand_object *ddb_handle)
	 */
	ACPI_WARNING((AE_INFO, "Received request to unload an ACPI table"));

	/*
	 * May 2018: Unload is no longer supported for the following reasons:
	 * 1) A correct implementation on some hosts may not be possible.
	 * 2) Other ACPI implementations do not correctly/fully support it.
	 * 3) It requires host device driver support which does not exist.
	 *    (To properly support namespace unload out from underneath.)
	 * 4) This AML operator has never been seen in the field.
	 */
	ACPI_EXCEPTION((AE_INFO, AE_NOT_IMPLEMENTED,
			"AML Unload operator is not supported"));

	/*
	 * Validate the handle
	 * Although the handle is partially validated in acpi_ex_reconfiguration()
+3 −0
Original line number Diff line number Diff line
@@ -170,6 +170,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,
	}

	type = this_node->type;
	info->count++;

	/* Check if the owner matches */

@@ -639,6 +640,7 @@ acpi_ns_dump_objects(acpi_object_type type,
		return;
	}

	info.count = 0;
	info.debug_level = ACPI_LV_TABLES;
	info.owner_id = owner_id;
	info.display_type = display_type;
@@ -649,6 +651,7 @@ acpi_ns_dump_objects(acpi_object_type type,
				     acpi_ns_dump_one_object, NULL,
				     (void *)&info, NULL);

	acpi_os_printf("\nNamespace node count: %u\n\n", info.count);
	(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
}

Loading