Commit 522778cd authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

Merge branch 'acpica'

* acpica:
  ACPICA: Update version to 20190816.
  ACPICA: Add "Windows 2019" string to _OSI support.
  ACPICA: Differentiate Windows 8.1 from Windows 8.
  ACPICA: Fully deploy ACPI_PRINTF_LIKE macro
  ACPICA: iASL,acpi_dump: Improve y/n query
  ACPICA: Fix issues with arg types within printf format strings
  ACPICA: Macros: remove pointer math on a null pointer
  ACPICA: Increase total number of possible Owner IDs
  ACPICA: Debugger: remove redundant assignment on obj_desc
parents 4c4cdc4c 71bb4d9a
...@@ -134,12 +134,12 @@ struct acpi_namespace_node { ...@@ -134,12 +134,12 @@ struct acpi_namespace_node {
union acpi_operand_object *object; /* Interpreter object */ union acpi_operand_object *object; /* Interpreter object */
u8 descriptor_type; /* Differentiate object descriptor types */ u8 descriptor_type; /* Differentiate object descriptor types */
u8 type; /* ACPI Type associated with this name */ u8 type; /* ACPI Type associated with this name */
u8 flags; /* Miscellaneous flags */ u16 flags; /* Miscellaneous flags */
acpi_owner_id owner_id; /* Node creator */
union acpi_name_union name; /* ACPI Name, always 4 chars per ACPI spec */ union acpi_name_union name; /* ACPI Name, always 4 chars per ACPI spec */
struct acpi_namespace_node *parent; /* Parent node */ struct acpi_namespace_node *parent; /* Parent node */
struct acpi_namespace_node *child; /* First child */ struct acpi_namespace_node *child; /* First child */
struct acpi_namespace_node *peer; /* First peer */ struct acpi_namespace_node *peer; /* First peer */
acpi_owner_id owner_id; /* Node creator */
/* /*
* The following fields are used by the ASL compiler and disassembler only * The following fields are used by the ASL compiler and disassembler only
......
...@@ -153,8 +153,8 @@ struct acpi_object_method { ...@@ -153,8 +153,8 @@ struct acpi_object_method {
} dispatch; } dispatch;
u32 aml_length; u32 aml_length;
u8 thread_count;
acpi_owner_id owner_id; acpi_owner_id owner_id;
u8 thread_count;
}; };
/* Flags for info_flags field above */ /* Flags for info_flags field above */
......
...@@ -167,9 +167,9 @@ struct acpi_evaluate_info { ...@@ -167,9 +167,9 @@ struct acpi_evaluate_info {
u32 return_flags; /* Used for return value analysis */ u32 return_flags; /* Used for return value analysis */
u32 return_btype; /* Bitmapped type of the returned object */ u32 return_btype; /* Bitmapped type of the returned object */
u16 param_count; /* Count of the input argument list */ u16 param_count; /* Count of the input argument list */
u16 node_flags; /* Same as Node->Flags */
u8 pass_number; /* Parser pass number */ u8 pass_number; /* Parser pass number */
u8 return_object_type; /* Object type of the returned object */ u8 return_object_type; /* Object type of the returned object */
u8 node_flags; /* Same as Node->Flags */
u8 flags; /* General flags */ u8 flags; /* General flags */
}; };
......
...@@ -686,22 +686,26 @@ void acpi_ut_delete_address_lists(void); ...@@ -686,22 +686,26 @@ void acpi_ut_delete_address_lists(void);
/* /*
* utxferror - various error/warning output functions * utxferror - various error/warning output functions
*/ */
ACPI_PRINTF_LIKE(5)
void ACPI_INTERNAL_VAR_XFACE void ACPI_INTERNAL_VAR_XFACE
acpi_ut_predefined_warning(const char *module_name, acpi_ut_predefined_warning(const char *module_name,
u32 line_number, u32 line_number,
char *pathname, char *pathname,
u8 node_flags, const char *format, ...); u16 node_flags, const char *format, ...);
ACPI_PRINTF_LIKE(5)
void ACPI_INTERNAL_VAR_XFACE void ACPI_INTERNAL_VAR_XFACE
acpi_ut_predefined_info(const char *module_name, acpi_ut_predefined_info(const char *module_name,
u32 line_number, u32 line_number,
char *pathname, u8 node_flags, const char *format, ...); char *pathname,
u16 node_flags, const char *format, ...);
ACPI_PRINTF_LIKE(5)
void ACPI_INTERNAL_VAR_XFACE void ACPI_INTERNAL_VAR_XFACE
acpi_ut_predefined_bios_error(const char *module_name, acpi_ut_predefined_bios_error(const char *module_name,
u32 line_number, u32 line_number,
char *pathname, char *pathname,
u8 node_flags, const char *format, ...); u16 node_flags, const char *format, ...);
void void
acpi_ut_prefixed_namespace_error(const char *module_name, acpi_ut_prefixed_namespace_error(const char *module_name,
......
...@@ -121,7 +121,7 @@ void acpi_db_display_history(void) ...@@ -121,7 +121,7 @@ void acpi_db_display_history(void)
for (i = 0; i < acpi_gbl_num_history; i++) { for (i = 0; i < acpi_gbl_num_history; i++) {
if (acpi_gbl_history_buffer[history_index].command) { if (acpi_gbl_history_buffer[history_index].command) {
acpi_os_printf("%3ld %s\n", acpi_os_printf("%3u %s\n",
acpi_gbl_history_buffer[history_index]. acpi_gbl_history_buffer[history_index].
cmd_num, cmd_num,
acpi_gbl_history_buffer[history_index]. acpi_gbl_history_buffer[history_index].
......
...@@ -593,7 +593,7 @@ static u32 acpi_db_get_line(char *input_buffer) ...@@ -593,7 +593,7 @@ static u32 acpi_db_get_line(char *input_buffer)
input_buffer)) { input_buffer)) {
acpi_os_printf acpi_os_printf
("Buffer overflow while parsing input line (max %u characters)\n", ("Buffer overflow while parsing input line (max %u characters)\n",
sizeof(acpi_gbl_db_parsed_buf)); (u32)sizeof(acpi_gbl_db_parsed_buf));
return (0); return (0);
} }
...@@ -853,24 +853,24 @@ acpi_db_command_dispatch(char *input_buffer, ...@@ -853,24 +853,24 @@ acpi_db_command_dispatch(char *input_buffer,
if (param_count == 0) { if (param_count == 0) {
acpi_os_printf acpi_os_printf
("Current debug level for file output is: %8.8lX\n", ("Current debug level for file output is: %8.8X\n",
acpi_gbl_db_debug_level); acpi_gbl_db_debug_level);
acpi_os_printf acpi_os_printf
("Current debug level for console output is: %8.8lX\n", ("Current debug level for console output is: %8.8X\n",
acpi_gbl_db_console_debug_level); acpi_gbl_db_console_debug_level);
} else if (param_count == 2) { } else if (param_count == 2) {
temp = acpi_gbl_db_console_debug_level; temp = acpi_gbl_db_console_debug_level;
acpi_gbl_db_console_debug_level = acpi_gbl_db_console_debug_level =
strtoul(acpi_gbl_db_args[1], NULL, 16); strtoul(acpi_gbl_db_args[1], NULL, 16);
acpi_os_printf acpi_os_printf
("Debug Level for console output was %8.8lX, now %8.8lX\n", ("Debug Level for console output was %8.8X, now %8.8X\n",
temp, acpi_gbl_db_console_debug_level); temp, acpi_gbl_db_console_debug_level);
} else { } else {
temp = acpi_gbl_db_debug_level; temp = acpi_gbl_db_debug_level;
acpi_gbl_db_debug_level = acpi_gbl_db_debug_level =
strtoul(acpi_gbl_db_args[1], NULL, 16); strtoul(acpi_gbl_db_args[1], NULL, 16);
acpi_os_printf acpi_os_printf
("Debug Level for file output was %8.8lX, now %8.8lX\n", ("Debug Level for file output was %8.8X, now %8.8X\n",
temp, acpi_gbl_db_debug_level); temp, acpi_gbl_db_debug_level);
} }
break; break;
......
...@@ -302,6 +302,10 @@ acpi_status acpi_db_disassemble_method(char *name) ...@@ -302,6 +302,10 @@ acpi_status acpi_db_disassemble_method(char *name)
} }
status = acpi_ut_allocate_owner_id(&obj_desc->method.owner_id); status = acpi_ut_allocate_owner_id(&obj_desc->method.owner_id);
if (ACPI_FAILURE(status)) {
return (status);
}
walk_state->owner_id = obj_desc->method.owner_id; walk_state->owner_id = obj_desc->method.owner_id;
/* Push start scope on scope stack and make it current */ /* Push start scope on scope stack and make it current */
......
...@@ -394,7 +394,6 @@ void acpi_db_decode_locals(struct acpi_walk_state *walk_state) ...@@ -394,7 +394,6 @@ void acpi_db_decode_locals(struct acpi_walk_state *walk_state)
u8 display_locals = FALSE; u8 display_locals = FALSE;
node = walk_state->method_node; node = walk_state->method_node;
obj_desc = walk_state->method_desc;
/* There are no locals for the module-level code case */ /* There are no locals for the module-level code case */
......
...@@ -341,17 +341,17 @@ acpi_status acpi_db_display_statistics(char *type_arg) ...@@ -341,17 +341,17 @@ acpi_status acpi_db_display_statistics(char *type_arg)
"ACPI_TYPE", "NODES", "OBJECTS"); "ACPI_TYPE", "NODES", "OBJECTS");
for (i = 0; i < ACPI_TYPE_NS_NODE_MAX; i++) { for (i = 0; i < ACPI_TYPE_NS_NODE_MAX; i++) {
acpi_os_printf("%16.16s % 10ld% 10ld\n", acpi_os_printf("%16.16s %10u %10u\n",
acpi_ut_get_type_name(i), acpi_ut_get_type_name(i),
acpi_gbl_node_type_count[i], acpi_gbl_node_type_count[i],
acpi_gbl_obj_type_count[i]); acpi_gbl_obj_type_count[i]);
} }
acpi_os_printf("%16.16s % 10ld% 10ld\n", "Misc/Unknown", acpi_os_printf("%16.16s %10u %10u\n", "Misc/Unknown",
acpi_gbl_node_type_count_misc, acpi_gbl_node_type_count_misc,
acpi_gbl_obj_type_count_misc); acpi_gbl_obj_type_count_misc);
acpi_os_printf("%16.16s % 10ld% 10ld\n", "TOTALS:", acpi_os_printf("%16.16s %10u %10u\n", "TOTALS:",
acpi_gbl_num_nodes, acpi_gbl_num_objects); acpi_gbl_num_nodes, acpi_gbl_num_objects);
break; break;
...@@ -379,16 +379,14 @@ acpi_status acpi_db_display_statistics(char *type_arg) ...@@ -379,16 +379,14 @@ acpi_status acpi_db_display_statistics(char *type_arg)
case CMD_STAT_MISC: case CMD_STAT_MISC:
acpi_os_printf("\nMiscellaneous Statistics:\n\n"); acpi_os_printf("\nMiscellaneous Statistics:\n\n");
acpi_os_printf("Calls to AcpiPsFind:.. ........% 7ld\n", acpi_os_printf("%-28s: %7u\n", "Calls to AcpiPsFind",
acpi_gbl_ps_find_count); acpi_gbl_ps_find_count);
acpi_os_printf("Calls to AcpiNsLookup:..........% 7ld\n", acpi_os_printf("%-28s: %7u\n", "Calls to AcpiNsLookup",
acpi_gbl_ns_lookup_count); acpi_gbl_ns_lookup_count);
acpi_os_printf("\n"); acpi_os_printf("\nMutex usage:\n\n");
acpi_os_printf("Mutex usage:\n\n");
for (i = 0; i < ACPI_NUM_MUTEX; i++) { for (i = 0; i < ACPI_NUM_MUTEX; i++) {
acpi_os_printf("%-28s: % 7ld\n", acpi_os_printf("%-28s: %7u\n",
acpi_ut_get_mutex_name(i), acpi_ut_get_mutex_name(i),
acpi_gbl_mutex_info[i].use_count); acpi_gbl_mutex_info[i].use_count);
} }
...@@ -399,87 +397,87 @@ acpi_status acpi_db_display_statistics(char *type_arg) ...@@ -399,87 +397,87 @@ acpi_status acpi_db_display_statistics(char *type_arg)
acpi_os_printf("\nInternal object sizes:\n\n"); acpi_os_printf("\nInternal object sizes:\n\n");
acpi_os_printf("Common %3d\n", acpi_os_printf("Common %3d\n",
sizeof(struct acpi_object_common)); (u32)sizeof(struct acpi_object_common));
acpi_os_printf("Number %3d\n", acpi_os_printf("Number %3d\n",
sizeof(struct acpi_object_integer)); (u32)sizeof(struct acpi_object_integer));
acpi_os_printf("String %3d\n", acpi_os_printf("String %3d\n",
sizeof(struct acpi_object_string)); (u32)sizeof(struct acpi_object_string));
acpi_os_printf("Buffer %3d\n", acpi_os_printf("Buffer %3d\n",
sizeof(struct acpi_object_buffer)); (u32)sizeof(struct acpi_object_buffer));
acpi_os_printf("Package %3d\n", acpi_os_printf("Package %3d\n",
sizeof(struct acpi_object_package)); (u32)sizeof(struct acpi_object_package));
acpi_os_printf("BufferField %3d\n", acpi_os_printf("BufferField %3d\n",
sizeof(struct acpi_object_buffer_field)); (u32)sizeof(struct acpi_object_buffer_field));
acpi_os_printf("Device %3d\n", acpi_os_printf("Device %3d\n",
sizeof(struct acpi_object_device)); (u32)sizeof(struct acpi_object_device));
acpi_os_printf("Event %3d\n", acpi_os_printf("Event %3d\n",
sizeof(struct acpi_object_event)); (u32)sizeof(struct acpi_object_event));
acpi_os_printf("Method %3d\n", acpi_os_printf("Method %3d\n",
sizeof(struct acpi_object_method)); (u32)sizeof(struct acpi_object_method));
acpi_os_printf("Mutex %3d\n", acpi_os_printf("Mutex %3d\n",
sizeof(struct acpi_object_mutex)); (u32)sizeof(struct acpi_object_mutex));
acpi_os_printf("Region %3d\n", acpi_os_printf("Region %3d\n",
sizeof(struct acpi_object_region)); (u32)sizeof(struct acpi_object_region));
acpi_os_printf("PowerResource %3d\n", acpi_os_printf("PowerResource %3d\n",
sizeof(struct acpi_object_power_resource)); (u32)sizeof(struct acpi_object_power_resource));
acpi_os_printf("Processor %3d\n", acpi_os_printf("Processor %3d\n",
sizeof(struct acpi_object_processor)); (u32)sizeof(struct acpi_object_processor));
acpi_os_printf("ThermalZone %3d\n", acpi_os_printf("ThermalZone %3d\n",
sizeof(struct acpi_object_thermal_zone)); (u32)sizeof(struct acpi_object_thermal_zone));
acpi_os_printf("RegionField %3d\n", acpi_os_printf("RegionField %3d\n",
sizeof(struct acpi_object_region_field)); (u32)sizeof(struct acpi_object_region_field));
acpi_os_printf("BankField %3d\n", acpi_os_printf("BankField %3d\n",
sizeof(struct acpi_object_bank_field)); (u32)sizeof(struct acpi_object_bank_field));
acpi_os_printf("IndexField %3d\n", acpi_os_printf("IndexField %3d\n",
sizeof(struct acpi_object_index_field)); (u32)sizeof(struct acpi_object_index_field));
acpi_os_printf("Reference %3d\n", acpi_os_printf("Reference %3d\n",
sizeof(struct acpi_object_reference)); (u32)sizeof(struct acpi_object_reference));
acpi_os_printf("Notify %3d\n", acpi_os_printf("Notify %3d\n",
sizeof(struct acpi_object_notify_handler)); (u32)sizeof(struct acpi_object_notify_handler));
acpi_os_printf("AddressSpace %3d\n", acpi_os_printf("AddressSpace %3d\n",
sizeof(struct acpi_object_addr_handler)); (u32)sizeof(struct acpi_object_addr_handler));
acpi_os_printf("Extra %3d\n", acpi_os_printf("Extra %3d\n",
sizeof(struct acpi_object_extra)); (u32)sizeof(struct acpi_object_extra));
acpi_os_printf("Data %3d\n", acpi_os_printf("Data %3d\n",
sizeof(struct acpi_object_data)); (u32)sizeof(struct acpi_object_data));
acpi_os_printf("\n"); acpi_os_printf("\n");
acpi_os_printf("ParseObject %3d\n", acpi_os_printf("ParseObject %3d\n",
sizeof(struct acpi_parse_obj_common)); (u32)sizeof(struct acpi_parse_obj_common));
acpi_os_printf("ParseObjectNamed %3d\n", acpi_os_printf("ParseObjectNamed %3d\n",
sizeof(struct acpi_parse_obj_named)); (u32)sizeof(struct acpi_parse_obj_named));
acpi_os_printf("ParseObjectAsl %3d\n", acpi_os_printf("ParseObjectAsl %3d\n",
sizeof(struct acpi_parse_obj_asl)); (u32)sizeof(struct acpi_parse_obj_asl));
acpi_os_printf("OperandObject %3d\n", acpi_os_printf("OperandObject %3d\n",
sizeof(union acpi_operand_object)); (u32)sizeof(union acpi_operand_object));
acpi_os_printf("NamespaceNode %3d\n", acpi_os_printf("NamespaceNode %3d\n",
sizeof(struct acpi_namespace_node)); (u32)sizeof(struct acpi_namespace_node));
acpi_os_printf("AcpiObject %3d\n", acpi_os_printf("AcpiObject %3d\n",
sizeof(union acpi_object)); (u32)sizeof(union acpi_object));
acpi_os_printf("\n"); acpi_os_printf("\n");
acpi_os_printf("Generic State %3d\n", acpi_os_printf("Generic State %3d\n",
sizeof(union acpi_generic_state)); (u32)sizeof(union acpi_generic_state));
acpi_os_printf("Common State %3d\n", acpi_os_printf("Common State %3d\n",
sizeof(struct acpi_common_state)); (u32)sizeof(struct acpi_common_state));
acpi_os_printf("Control State %3d\n", acpi_os_printf("Control State %3d\n",
sizeof(struct acpi_control_state)); (u32)sizeof(struct acpi_control_state));
acpi_os_printf("Update State %3d\n", acpi_os_printf("Update State %3d\n",
sizeof(struct acpi_update_state)); (u32)sizeof(struct acpi_update_state));
acpi_os_printf("Scope State %3d\n", acpi_os_printf("Scope State %3d\n",
sizeof(struct acpi_scope_state)); (u32)sizeof(struct acpi_scope_state));
acpi_os_printf("Parse Scope %3d\n", acpi_os_printf("Parse Scope %3d\n",
sizeof(struct acpi_pscope_state)); (u32)sizeof(struct acpi_pscope_state));
acpi_os_printf("Package State %3d\n", acpi_os_printf("Package State %3d\n",
sizeof(struct acpi_pkg_state)); (u32)sizeof(struct acpi_pkg_state));
acpi_os_printf("Thread State %3d\n", acpi_os_printf("Thread State %3d\n",
sizeof(struct acpi_thread_state)); (u32)sizeof(struct acpi_thread_state));
acpi_os_printf("Result Values %3d\n", acpi_os_printf("Result Values %3d\n",
sizeof(struct acpi_result_values)); (u32)sizeof(struct acpi_result_values));
acpi_os_printf("Notify Info %3d\n", acpi_os_printf("Notify Info %3d\n",
sizeof(struct acpi_notify_info)); (u32)sizeof(struct acpi_notify_info));
break; break;
case CMD_STAT_STACK: case CMD_STAT_STACK:
......
...@@ -94,7 +94,7 @@ static struct acpi_exdump_info acpi_ex_dump_method[9] = { ...@@ -94,7 +94,7 @@ static struct acpi_exdump_info acpi_ex_dump_method[9] = {
"Parameter Count"}, "Parameter Count"},
{ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.sync_level), "Sync Level"}, {ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.sync_level), "Sync Level"},
{ACPI_EXD_POINTER, ACPI_EXD_OFFSET(method.mutex), "Mutex"}, {ACPI_EXD_POINTER, ACPI_EXD_OFFSET(method.mutex), "Mutex"},
{ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.owner_id), "Owner Id"}, {ACPI_EXD_UINT16, ACPI_EXD_OFFSET(method.owner_id), "Owner Id"},
{ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.thread_count), "Thread Count"}, {ACPI_EXD_UINT8, ACPI_EXD_OFFSET(method.thread_count), "Thread Count"},
{ACPI_EXD_UINT32, ACPI_EXD_OFFSET(method.aml_length), "Aml Length"}, {ACPI_EXD_UINT32, ACPI_EXD_OFFSET(method.aml_length), "Aml Length"},
{ACPI_EXD_POINTER, ACPI_EXD_OFFSET(method.aml_start), "Aml Start"} {ACPI_EXD_POINTER, ACPI_EXD_OFFSET(method.aml_start), "Aml Start"}
...@@ -269,8 +269,8 @@ static struct acpi_exdump_info acpi_ex_dump_field_common[7] = { ...@@ -269,8 +269,8 @@ static struct acpi_exdump_info acpi_ex_dump_field_common[7] = {
static struct acpi_exdump_info acpi_ex_dump_node[7] = { static struct acpi_exdump_info acpi_ex_dump_node[7] = {
{ACPI_EXD_INIT, ACPI_EXD_TABLE_SIZE(acpi_ex_dump_node), NULL}, {ACPI_EXD_INIT, ACPI_EXD_TABLE_SIZE(acpi_ex_dump_node), NULL},
{ACPI_EXD_UINT8, ACPI_EXD_NSOFFSET(flags), "Flags"}, {ACPI_EXD_UINT16, ACPI_EXD_NSOFFSET(flags), "Flags"},
{ACPI_EXD_UINT8, ACPI_EXD_NSOFFSET(owner_id), "Owner Id"}, {ACPI_EXD_UINT16, ACPI_EXD_NSOFFSET(owner_id), "Owner Id"},
{ACPI_EXD_LIST, ACPI_EXD_NSOFFSET(object), "Object List"}, {ACPI_EXD_LIST, ACPI_EXD_NSOFFSET(object), "Object List"},
{ACPI_EXD_NODE, ACPI_EXD_NSOFFSET(parent), "Parent"}, {ACPI_EXD_NODE, ACPI_EXD_NSOFFSET(parent), "Parent"},
{ACPI_EXD_NODE, ACPI_EXD_NSOFFSET(child), "Child"}, {ACPI_EXD_NODE, ACPI_EXD_NSOFFSET(child), "Child"},
......
...@@ -598,7 +598,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info, ...@@ -598,7 +598,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
if (flags & ACPI_NS_PREFIX_MUST_EXIST) { if (flags & ACPI_NS_PREFIX_MUST_EXIST) {
acpi_os_printf(ACPI_MSG_BIOS_ERROR acpi_os_printf(ACPI_MSG_BIOS_ERROR
"Object does not exist: %4.4s\n", "Object does not exist: %4.4s\n",
&simple_name); (char *)&simple_name);
} }
#endif #endif
/* Name not found in ACPI namespace */ /* Name not found in ACPI namespace */
......
...@@ -241,7 +241,7 @@ void acpi_ns_install_node(struct acpi_walk_state *walk_state, struct acpi_namesp ...@@ -241,7 +241,7 @@ void acpi_ns_install_node(struct acpi_walk_state *walk_state, struct acpi_namesp
node->type = (u8) type; node->type = (u8) type;
ACPI_DEBUG_PRINT((ACPI_DB_NAMES, ACPI_DEBUG_PRINT((ACPI_DB_NAMES,
"%4.4s (%s) [Node %p Owner %X] added to %4.4s (%s) [Node %p]\n", "%4.4s (%s) [Node %p Owner %3.3X] added to %4.4s (%s) [Node %p]\n",
acpi_ut_get_node_name(node), acpi_ut_get_node_name(node),
acpi_ut_get_type_name(node->type), node, owner_id, acpi_ut_get_type_name(node->type), node, owner_id,
acpi_ut_get_node_name(parent_node), acpi_ut_get_node_name(parent_node),
......
...@@ -197,7 +197,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle, ...@@ -197,7 +197,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,
/* Now we can print out the pertinent information */ /* Now we can print out the pertinent information */
acpi_os_printf(" %-12s %p %2.2X ", acpi_os_printf(" %-12s %p %3.3X ",
acpi_ut_get_type_name(type), this_node, acpi_ut_get_type_name(type), this_node,
this_node->owner_id); this_node->owner_id);
......
...@@ -126,7 +126,7 @@ static const struct acpi_repair_info acpi_ns_repairable_names[] = { ...@@ -126,7 +126,7 @@ static const struct acpi_repair_info acpi_ns_repairable_names[] = {
#define ACPI_FDE_FIELD_COUNT 5 #define ACPI_FDE_FIELD_COUNT 5
#define ACPI_FDE_BYTE_BUFFER_SIZE 5 #define ACPI_FDE_BYTE_BUFFER_SIZE 5
#define ACPI_FDE_DWORD_BUFFER_SIZE (ACPI_FDE_FIELD_COUNT * sizeof (u32)) #define ACPI_FDE_DWORD_BUFFER_SIZE (ACPI_FDE_FIELD_COUNT * (u32) sizeof (u32))
/****************************************************************************** /******************************************************************************
* *
......
...@@ -750,6 +750,7 @@ acpi_status acpi_tb_delete_namespace_by_owner(u32 table_index) ...@@ -750,6 +750,7 @@ acpi_status acpi_tb_delete_namespace_by_owner(u32 table_index)
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status); return_ACPI_STATUS(status);
} }
acpi_ns_delete_namespace_by_owner(owner_id); acpi_ns_delete_namespace_by_owner(owner_id);
acpi_ut_release_write_lock(&acpi_gbl_namespace_rw_lock); acpi_ut_release_write_lock(&acpi_gbl_namespace_rw_lock);
return_ACPI_STATUS(status); return_ACPI_STATUS(status);
......
...@@ -158,7 +158,7 @@ acpi_debug_print(u32 requested_debug_level, ...@@ -158,7 +158,7 @@ acpi_debug_print(u32 requested_debug_level,
* Display the module name, current line number, thread ID (if requested), * Display the module name, current line number, thread ID (if requested),
* current procedure nesting level, and the current procedure name * current procedure nesting level, and the current procedure name
*/ */
acpi_os_printf("%9s-%04ld ", module_name, line_number); acpi_os_printf("%9s-%04d ", module_name, line_number);
#ifdef ACPI_APPLICATION #ifdef ACPI_APPLICATION
/* /*
...@@ -177,7 +177,7 @@ acpi_debug_print(u32 requested_debug_level, ...@@ -177,7 +177,7 @@ acpi_debug_print(u32 requested_debug_level,
fill_count = 0; fill_count = 0;
} }
acpi_os_printf("[%02ld] %*s", acpi_os_printf("[%02d] %*s",
acpi_gbl_nesting_level, acpi_gbl_nesting_level + 1, " "); acpi_gbl_nesting_level, acpi_gbl_nesting_level + 1, " ");
acpi_os_printf("%s%*s: ", acpi_os_printf("%s%*s: ",
acpi_ut_trim_function_name(function_name), fill_count, acpi_ut_trim_function_name(function_name), fill_count,
......
...@@ -39,7 +39,7 @@ void ACPI_INTERNAL_VAR_XFACE ...@@ -39,7 +39,7 @@ void ACPI_INTERNAL_VAR_XFACE
acpi_ut_predefined_warning(const char *module_name, acpi_ut_predefined_warning(const char *module_name,
u32 line_number, u32 line_number,
char *pathname, char *pathname,
u8 node_flags, const char *format, ...) u16 node_flags, const char *format, ...)
{ {
va_list arg_list; va_list arg_list;
...@@ -81,7 +81,7 @@ acpi_ut_predefined_warning(const char *module_name, ...@@ -81,7 +81,7 @@ acpi_ut_predefined_warning(const char *module_name,
void ACPI_INTERNAL_VAR_XFACE void ACPI_INTERNAL_VAR_XFACE
acpi_ut_predefined_info(const char *module_name, acpi_ut_predefined_info(const char *module_name,
u32 line_number, u32 line_number,
char *pathname, u8 node_flags, const char *format, ...) char *pathname, u16 node_flags, const char *format, ...)
{ {
va_list arg_list; va_list arg_list;
...@@ -124,7 +124,7 @@ void ACPI_INTERNAL_VAR_XFACE ...@@ -124,7 +124,7 @@ void ACPI_INTERNAL_VAR_XFACE
acpi_ut_predefined_bios_error(const char *module_name, acpi_ut_predefined_bios_error(const char *module_name,
u32 line_number, u32 line_number,
char *pathname, char *pathname,
u8 node_flags, const char *format, ...) u16 node_flags, const char *format, ...)
{ {
va_list arg_list; va_list arg_list;
......
...@@ -65,13 +65,14 @@ static struct acpi_interface_info acpi_default_supported_interfaces[] = { ...@@ -65,13 +65,14 @@ static struct acpi_interface_info acpi_default_supported_interfaces[] = {
{"Windows 2006 SP2", NULL, 0, ACPI_OSI_WIN_VISTA_SP2}, /* Windows Vista SP2 - Added 09/2010 */ {"Windows 2006 SP2", NULL, 0, ACPI_OSI_WIN_VISTA_SP2}, /* Windows Vista SP2 - Added 09/2010 */
{"Windows 2009", NULL, 0, ACPI_OSI_WIN_7}, /* Windows 7 and Server 2008 R2 - Added 09/2009 */ {"Windows 2009", NULL, 0, ACPI_OSI_WIN_7}, /* Windows 7 and Server 2008 R2 - Added 09/2009 */
{"Windows 2012", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8 and Server 2012 - Added 08/2012 */ {"Windows 2012", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8 and Server 2012 - Added 08/2012 */
{"Windows 2013", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */ {"Windows 2013", NULL, 0, ACPI_OSI_WIN_8_1}, /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */
{"Windows 2015", NULL, 0, ACPI_OSI_WIN_10}, /* Windows 10 - Added 03/2015 */ {"Windows 2015", NULL, 0, ACPI_OSI_WIN_10}, /* Windows 10 - Added 03/2015 */
{"Windows 2016", NULL, 0, ACPI_OSI_WIN_10_RS1}, /* Windows 10 version 1607 - Added 12/2017 */ {"Windows 2016", NULL, 0, ACPI_OSI_WIN_10_RS1}, /* Windows 10 version 1607 - Added 12/2017 */
{"Windows 2017", NULL, 0, ACPI_OSI_WIN_10_RS2}, /* Windows 10 version 1703 - Added 12/2017 */ {"Windows 2017", NULL, 0, ACPI_OSI_WIN_10_RS2}, /* Windows 10 version 1703 - Added 12/2017 */
{"Windows 2017.2", NULL, 0, ACPI_OSI_WIN_10_RS3}, /* Windows 10 version 1709 - Added 02/2018 */ {"Windows 2017.2", NULL, 0, ACPI_OSI_WIN_10_RS3}, /* Windows 10 version 1709 - Added 02/2018 */
{"Windows 2018", NULL, 0, ACPI_OSI_WIN_10_RS4}, /* Windows 10 version 1803 - Added 11/2018 */ {"Windows 2018", NULL, 0, ACPI_OSI_WIN_10_RS4}, /* Windows 10 version 1803 - Added 11/2018 */
{"Windows 2018.2", NULL, 0, ACPI_OSI_WIN_10_RS5}, /* Windows 10 version 1809 - Added 11/2018 */ {"Windows 2018.2", NULL, 0, ACPI_OSI_WIN_10_RS5}, /* Windows 10 version 1809 - Added 11/2018 */
{"Windows 2019", NULL, 0, ACPI_OSI_WIN_10_19H1}, /* Windows 10 version 1903 - Added 08/2019 */
/* Feature Group Strings */ /* Feature Group Strings */
......
...@@ -38,7 +38,7 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id *owner_id) ...@@ -38,7 +38,7 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id *owner_id)
if (*owner_id) { if (*owner_id) {
ACPI_ERROR((AE_INFO, ACPI_ERROR((AE_INFO,
"Owner ID [0x%2.2X] already exists", *owner_id)); "Owner ID [0x%3.3X] already exists", *owner_id));
return_ACPI_STATUS(AE_ALREADY_EXISTS); return_ACPI_STATUS(AE_ALREADY_EXISTS);
} }
...@@ -88,14 +88,14 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id *owner_id) ...@@ -88,14 +88,14 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id *owner_id)
/* /*
* Construct encoded ID from the index and bit position * Construct encoded ID from the index and bit position
* *
* Note: Last [j].k (bit 255) is never used and is marked * Note: Last [j].k (bit 4095) is never used and is marked
* permanently allocated (prevents +1 overflow) * permanently allocated (prevents +1 overflow)
*/ */
*owner_id = *owner_id =
(acpi_owner_id)((k + 1) + ACPI_MUL_32(j)); (acpi_owner_id)((k + 1) + ACPI_MUL_32(j));
ACPI_DEBUG_PRINT((ACPI_DB_VALUES, ACPI_DEBUG_PRINT((ACPI_DB_VALUES,
"Allocated OwnerId: %2.2X\n", "Allocated OwnerId: 0x%3.3X\n",
(unsigned int)*owner_id)); (unsigned int)*owner_id));
goto exit; goto exit;
} }
...@@ -116,7 +116,7 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id *owner_id) ...@@ -116,7 +116,7 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id *owner_id)
*/ */
status = AE_OWNER_ID_LIMIT; status = AE_OWNER_ID_LIMIT;
ACPI_ERROR((AE_INFO, ACPI_ERROR((AE_INFO,
"Could not allocate new OwnerId (255 max), AE_OWNER_ID_LIMIT")); "Could not allocate new OwnerId (4095 max), AE_OWNER_ID_LIMIT"));
exit: exit:
(void)acpi_ut_release_mutex(ACPI_MTX_CACHES); (void)acpi_ut_release_mutex(ACPI_MTX_CACHES);
...@@ -153,7 +153,7 @@ void acpi_ut_release_owner_id(acpi_owner_id *owner_id_ptr) ...@@ -153,7 +153,7 @@ void acpi_ut_release_owner_id(acpi_owner_id *owner_id_ptr)
/* Zero is not a valid owner_ID */ /* Zero is not a valid owner_ID */
if (owner_id == 0) { if (owner_id == 0) {
ACPI_ERROR((AE_INFO, "Invalid OwnerId: 0x%2.2X", owner_id)); ACPI_ERROR((AE_INFO, "Invalid OwnerId: 0x%3.3X", owner_id));
return_VOID; return_VOID;
} }
...@@ -179,7 +179,7 @@ void acpi_ut_release_owner_id(acpi_owner_id *owner_id_ptr) ...@@ -179,7 +179,7 @@ void acpi_ut_release_owner_id(acpi_owner_id *owner_id_ptr)
acpi_gbl_owner_id_mask[index] ^= bit; acpi_gbl_owner_id_mask[index] ^= bit;
} else { } else {
ACPI_ERROR((AE_INFO, ACPI_ERROR((AE_INFO,
"Release of non-allocated OwnerId: 0x%2.2X", "Attempted release of non-allocated OwnerId: 0x%3.3X",
owner_id + 1)); owner_id + 1));
} }
......
...@@ -95,9 +95,9 @@ ...@@ -95,9 +95,9 @@
#define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ #define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */
/* owner_id tracking. 8 entries allows for 255 owner_ids */ /* owner_id tracking. 128 entries allows for 4095 owner_ids */
#define ACPI_NUM_OWNERID_MASKS 8 #define ACPI_NUM_OWNERID_MASKS 128
/* Size of the root table array is increased by this increment */ /* Size of the root table array is increased by this increment */
......
...@@ -330,6 +330,7 @@ acpi_status acpi_os_enter_sleep(u8 sleep_state, u32 rega_value, u32 regb_value); ...@@ -330,6 +330,7 @@ acpi_status acpi_os_enter_sleep(u8 sleep_state, u32 rega_value, u32 regb_value);
* Debug print routines * Debug print routines
*/ */
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_printf #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_printf
ACPI_PRINTF_LIKE(1)
void ACPI_INTERNAL_VAR_XFACE acpi_os_printf(const char *format, ...); void ACPI_INTERNAL_VAR_XFACE acpi_os_printf(const char *format, ...);
#endif #endif
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */ /* Current ACPICA subsystem version in YYYYMMDD format */
#define ACPI_CA_VERSION 0x20190703 #define ACPI_CA_VERSION 0x20190816
#include <acpi/acconfig.h> #include <acpi/acconfig.h>
#include <acpi/actypes.h> #include <acpi/actypes.h>
......
...@@ -442,8 +442,8 @@ typedef void *acpi_handle; /* Actually a ptr to a NS Node */ ...@@ -442,8 +442,8 @@ typedef void *acpi_handle; /* Actually a ptr to a NS Node */
/* Owner IDs are used to track namespace nodes for selective deletion */ /* Owner IDs are used to track namespace nodes for selective deletion */
typedef u8 acpi_owner_id; typedef u16 acpi_owner_id;
#define ACPI_OWNER_ID_MAX 0xFF #define ACPI_OWNER_ID_MAX 0xFFF /* 4095 possible owner IDs */
#define ACPI_INTEGER_BIT_SIZE 64 #define ACPI_INTEGER_BIT_SIZE 64
#define ACPI_MAX_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */ #define ACPI_MAX_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */
...@@ -506,7 +506,7 @@ typedef u64 acpi_integer; ...@@ -506,7 +506,7 @@ typedef u64 acpi_integer;
/* Pointer/Integer type conversions */ /* Pointer/Integer type conversions */
#define ACPI_TO_POINTER(i) ACPI_ADD_PTR (void, (void *) 0, (acpi_size) (i)) #define ACPI_TO_POINTER(i) ACPI_CAST_PTR (void, (acpi_size) (i))
#define ACPI_TO_INTEGER(p) ACPI_PTR_DIFF (p, (void *) 0) #define ACPI_TO_INTEGER(p) ACPI_PTR_DIFF (p, (void *) 0)
#define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0) #define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0)
#define ACPI_PHYSADDR_TO_PTR(i) ACPI_TO_POINTER(i) #define ACPI_PHYSADDR_TO_PTR(i) ACPI_TO_POINTER(i)
...@@ -1265,12 +1265,14 @@ typedef enum { ...@@ -1265,12 +1265,14 @@ typedef enum {
#define ACPI_OSI_WIN_VISTA_SP2 0x0A #define ACPI_OSI_WIN_VISTA_SP2 0x0A
#define ACPI_OSI_WIN_7 0x0B #define ACPI_OSI_WIN_7 0x0B
#define ACPI_OSI_WIN_8 0x0C #define ACPI_OSI_WIN_8 0x0C
#define ACPI_OSI_WIN_10 0x0D #define ACPI_OSI_WIN_8_1 0x0D
#define ACPI_OSI_WIN_10_RS1 0x0E #define ACPI_OSI_WIN_10 0x0E
#define ACPI_OSI_WIN_10_RS2 0x0F #define ACPI_OSI_WIN_10_RS1 0x0F
#define ACPI_OSI_WIN_10_RS3 0x10 #define ACPI_OSI_WIN_10_RS2 0x10
#define ACPI_OSI_WIN_10_RS4 0x11 #define ACPI_OSI_WIN_10_RS3 0x11
#define ACPI_OSI_WIN_10_RS5 0x12 #define ACPI_OSI_WIN_10_RS4 0x12
#define ACPI_OSI_WIN_10_RS5 0x13
#define ACPI_OSI_WIN_10_19H1 0x14
/* Definitions of getopt */ /* Definitions of getopt */
......
...@@ -29,18 +29,24 @@ static int ap_is_existing_file(char *pathname) ...@@ -29,18 +29,24 @@ static int ap_is_existing_file(char *pathname)
{ {
#if !defined(_GNU_EFI) && !defined(_EDK2_EFI) #if !defined(_GNU_EFI) && !defined(_EDK2_EFI)
struct stat stat_info; struct stat stat_info;
int in_char;
if (!stat(pathname, &stat_info)) { if (!stat(pathname, &stat_info)) {
fprintf(stderr, fprintf(stderr,
"Target path already exists, overwrite? [y|n] "); "Target path already exists, overwrite? [y|n] ");
if (getchar() != 'y') { in_char = fgetc(stdin);
if (in_char == '\n') {
in_char = fgetc(stdin);
}
if (in_char != 'y' && in_char != 'Y') {
return (-1); return (-1);
} }
} }
#endif #endif
return 0; return (0);
} }
/****************************************************************************** /******************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment