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

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

Merge branch 'acpica'

* acpica: (32 commits)
  ACPICA: Update version to 20170728
  ACPICA: Revert "Update resource descriptor handling"
  ACPICA: Resources: Allow _DMA method in walk resources
  ACPICA: Ensure all instances of AE_AML_INTERNAL have error messages
  ACPICA: Implement deferred resolution of reference package elements
  ACPICA: Debugger: Improve support for Alias objects
  ACPICA: Interpreter: Update handling for Alias operator
  ACPICA: EFI/EDK2: Cleanup to enable /WX for MSVC builds
  ACPICA: acpidump: Add DSDT/FACS instance support for Linux and EFI
  ACPICA: CLib: Add short multiply/shift support
  ACPICA: EFI/EDK2: Sort acpi.h inclusion order
  ACPICA: Add a comment, no functional change
  ACPICA: Namespace: Update/fix an error message
  ACPICA: iASL: Add support for the SDEI table
  ACPICA: Divergences: reduce access size definitions
  ACPICA: Update version to 20170629
  ACPICA: Update resource descriptor handling
  ACPICA: iasl: Update to IORT SMMUv3 disassembling
  ACPICA: Disassembler: skip parsing of incorrect external declarations
  ACPICA: iASL: Ensure that the target node is valid in acpi_ex_create_alias
  ...
parents 569dbb88 4a9673dd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ acpi-y := \
	dsmthdat.o	\
	dsobject.o	\
	dsopcode.o	\
	dspkginit.o	\
	dsutils.o	\
	dswexec.o	\
	dswload.o	\
+2 −0
Original line number Diff line number Diff line
@@ -114,6 +114,8 @@ ac_get_all_tables_from_file(char *filename,
			    u8 get_only_aml_tables,
			    struct acpi_new_table_desc **return_list_head);

void ac_delete_table_list(struct acpi_new_table_desc *list_head);

u8 ac_is_file_binary(FILE * file);

acpi_status ac_validate_table_header(FILE * file, long table_offset);
+13 −0
Original line number Diff line number Diff line
@@ -237,6 +237,11 @@ acpi_ds_initialize_objects(u32 table_index,
 * dsobject - Parser/Interpreter interface - object initialization and conversion
 */
acpi_status
acpi_ds_build_internal_object(struct acpi_walk_state *walk_state,
			      union acpi_parse_object *op,
			      union acpi_operand_object **obj_desc_ptr);

acpi_status
acpi_ds_build_internal_buffer_obj(struct acpi_walk_state *walk_state,
				  union acpi_parse_object *op,
				  u32 buffer_length,
@@ -258,6 +263,14 @@ acpi_ds_create_node(struct acpi_walk_state *walk_state,
		    struct acpi_namespace_node *node,
		    union acpi_parse_object *op);

/*
 * dspkginit - Package object initialization
 */
acpi_status
acpi_ds_init_package_element(u8 object_type,
			     union acpi_operand_object *source_object,
			     union acpi_generic_state *state, void *context);

/*
 * dsutils - Parser/Interpreter interface utility routines
 */
+4 −3
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ struct acpi_namespace_node {
#define ANOBJ_EVALUATED                 0x20	/* Set on first evaluation of node */
#define ANOBJ_ALLOCATED_BUFFER          0x40	/* Method AML buffer is dynamic (install_method) */

#define IMPLICIT_EXTERNAL               0x02	/* iASL only: This object created implicitly via External */
#define ANOBJ_IS_EXTERNAL               0x08	/* iASL only: This object created via External() */
#define ANOBJ_METHOD_NO_RETVAL          0x10	/* iASL only: Method has no return value */
#define ANOBJ_METHOD_SOME_NO_RETVAL     0x20	/* iASL only: Method has at least one return value */
@@ -604,7 +605,7 @@ struct acpi_update_state {
 * Pkg state - used to traverse nested package structures
 */
struct acpi_pkg_state {
	ACPI_STATE_COMMON u16 index;
	ACPI_STATE_COMMON u32 index;
	union acpi_operand_object *source_object;
	union acpi_operand_object *dest_object;
	struct acpi_walk_state *walk_state;
@@ -907,7 +908,7 @@ union acpi_parse_object {
struct asl_comment_state {
	u8 comment_type;
	u32 spaces_before;
	union acpi_parse_object *latest_parse_node;
	union acpi_parse_object *latest_parse_op;
	union acpi_parse_object *parsing_paren_brace_node;
	u8 capture_comments;
};
+11 −4
Original line number Diff line number Diff line
@@ -122,7 +122,9 @@ struct acpi_object_integer {
	_type                           *pointer; \
	u32                             length;

struct acpi_object_string {	/* Null terminated, ASCII characters only */
/* Null terminated, ASCII characters only */

struct acpi_object_string {
	ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(char)	/* String in AML stream or allocated string */
};

@@ -211,7 +213,9 @@ struct acpi_object_method {
	union acpi_operand_object       *notify_list[2];    /* Handlers for system/device notifies */\
	union acpi_operand_object       *handler;	/* Handler for Address space */

struct acpi_object_notify_common {	/* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */
/* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */

struct acpi_object_notify_common {
ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO};

struct acpi_object_device {
@@ -258,7 +262,9 @@ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO};
	u8                              access_length;	/* For serial regions/fields */


struct acpi_object_field_common {	/* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */
/* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */

struct acpi_object_field_common {
	ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj;	/* Parent Operation Region object (REGION/BANK fields only) */
};

@@ -333,11 +339,12 @@ struct acpi_object_addr_handler {
struct acpi_object_reference {
	ACPI_OBJECT_COMMON_HEADER u8 class;	/* Reference Class */
	u8 target_type;		/* Used for Index Op */
	u8 reserved;
	u8 resolved;		/* Reference has been resolved to a value */
	void *object;		/* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */
	struct acpi_namespace_node *node;	/* ref_of or Namepath */
	union acpi_operand_object **where;	/* Target of Index */
	u8 *index_pointer;	/* Used for Buffers and Strings */
	u8 *aml;		/* Used for deferred resolution of the ref */
	u32 value;		/* Used for Local/Arg/Index/ddb_handle */
};

Loading