ACPICA: 20160629 Release
Subsystems (3)
cover ACPICA: 20160629 Release
The 20160629 ACPICA kernel-resident subsystem updates are linuxized based on the linux-pm/linux-next branch.
The patchset has passed the following build/boot tests. Build tests are performed as follows:
1. i386 + allyes
2. i386 + allno
3. i386 + default + ACPI_DEBUGGER=y
4. i386 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y
5. i386 + default + ACPI_DEBUG=n + ACPI=y
6. i386 + default + ACPI=n
7. x86_64 + allyes
8. x86_64 + allno
9. x86_64 + default + ACPI_DEBUGGER=y
10.x86_64 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y 11.x86_64 + default + ACPI_DEBUG=n + ACPI=y
12.x86_64 + default + ACPI=n
Boot tests are performed as follows:
1. i386 + default + ACPI_DEBUGGER=y
2. x86_64 + default + ACPI_DEBUGGER=y
Where:
1. i386: machine named as "Dell Inspiron Mini 1010"
2. x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
3. default: kernel configuration with following items enabled:
All hardware drivers related to the machines of i386/x86_64 All "drivers/acpi" configurations
All "drivers/platform" drivers
All other drivers that link the APIs provided by ACPICA subsystem
The divergences checking result:
Before applying (20160422 Release):
494 lines
After applying (20160629 Release):
508 lines
Bob Moore (8):
ACPICA: Interpreter: Remove temporary code for External() opcode
ACPICA: Debugger: Extend some max line lengths
ACPICA: Disassembler: Add option to emit embedded External
operators/opcodes
ACPICA: Simplify configuration for "Max Loops" system parameter
ACPICA: iASL/Disassembler: Add a check for missing filename
ACPICA: Use os_allocate_zeroed
ACPICA: FADT support cleanup
ACPICA: Update version to 20160629
Jung-uk Kim (2):
ACPICA: Fix deconstification warnings (-Wcast-qual) with function
traces.
ACPICA: Fix deconstification warnings (-Wcast-qual) with
acpi_ns_root_initialize().
Lv Zheng (20):
ACPICA: Utilities: Introduce facility to allow Linux to set correct
logging levels
ACPICA: Divergence: Port declarators back to ACPICA
ACPICA: Events: Introduce acpi_mask_gpe() to implement GPE masking
mechanism
ACPI / sysfs: Update /sys/firmware/acpi/interrupts/gpexx using new
GPE masking mechanism
ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
ACPICA: Debugger: Fix wrong inclusions in dbfileio.c
ACPICA: OSL: Add correct acpi_gbl_debug_timeout export to allow
acpiexec to link
ACPICA: acpidump: Fix a duplicate variable definition
ACPICA: Applications: Enable USE_NATIVE_ALLOCATE_ZEROED environment
for all applications
ACPICA: Clib: Fix build issues when ACPI_USE_STANDARD_HEADERS is not
defined by converting size_t to acpi_size
ACPICA: Clib: Cleanup va_arg related code
ACPICA: Clib: Fix wrong mini C library usage
ACPICA: Clib/EFI: Fix wrong order of standard integer types/IO
handles
ACPICA: MSVC9: Fix <sys/stat.h> inclusion order issue
ACPICA: Clib: Add -nostdinc support for EFI layer
ACPICA: Clib: Eliminate acpi_os_XXXFile()/acpi_log_error and link
clibrary fxxx()/errno/perror() instead
ACPICA: Applications: Fix a potential issue that help messages may be
dumped to acpi_gbl_debug_file
ACPICA: EFI: Port acpidump to EDK2 environment
ACPICA: OSL: Cleanup the inclusion order of the compiler-specific
headers
ACPICA: OSL: Fix a regression that old GCC requires a workaround for
strchr()
Documentation/kernel-parameters.txt | 10 + drivers/acpi/acpica/acapps.h | 10 +- drivers/acpi/acpica/acevents.h | 3 + drivers/acpi/acpica/acglobal.h | 2 + drivers/acpi/acpica/aclocal.h | 2 + drivers/acpi/acpica/actables.h | 3 +- drivers/acpi/acpica/acutils.h | 36 ++-- drivers/acpi/acpica/dbfileio.c | 20 +- drivers/acpi/acpica/dbobject.c | 4 +- drivers/acpi/acpica/dsutils.c | 17 +- drivers/acpi/acpica/evgpe.c | 57 +++++ drivers/acpi/acpica/evxfgpe.c | 43 ++++ drivers/acpi/acpica/hwgpe.c | 23 ++- drivers/acpi/acpica/nsaccess.c | 6 +- drivers/acpi/acpica/nsdump.c | 2 +- drivers/acpi/acpica/tbfadt.c | 10 +- drivers/acpi/acpica/tbutils.c | 3 +- drivers/acpi/acpica/tbxface.c | 4 +- drivers/acpi/acpica/tbxfload.c | 4 +- drivers/acpi/acpica/tbxfroot.c | 5 +- drivers/acpi/acpica/utbuffer.c | 30 ++- drivers/acpi/acpica/utdebug.c | 61 +++--- drivers/acpi/acpica/utdecode.c | 2 +- drivers/acpi/acpica/utinit.c | 2 +- drivers/acpi/acpica/utpredef.c | 2 - drivers/acpi/acpica/utprint.c | 105 ++++++++-- drivers/acpi/acpica/uttrack.c | 4 +- drivers/acpi/acpica/utxface.c | 2 +- drivers/acpi/acpica/utxfinit.c | 6 +- drivers/acpi/internal.h | 1 + drivers/acpi/scan.c | 1 + drivers/acpi/sleep.c | 2 +- drivers/acpi/sysfs.c | 89 +++++++- include/acpi/acconfig.h | 4 + include/acpi/acoutput.h | 6 +- include/acpi/acpiosxf.h | 43 +--- include/acpi/acpixf.h | 37 ++-- include/acpi/actbl.h | 164 ++++++++------- include/acpi/actypes.h | 48 ++--- include/acpi/platform/acenv.h | 90 +++----- include/acpi/platform/acenvex.h | 21 +- include/acpi/platform/acgcc.h | 17 +- include/acpi/platform/acgccex.h | 58 ++++++ include/acpi/platform/aclinux.h | 22 +- include/acpi/platform/aclinuxex.h | 2 +- tools/power/acpi/common/cmfsize.c | 13 +- tools/power/acpi/common/getopt.c | 4 +- .../acpi/os_specific/service_layers/oslibcfs.c | 217 -------------------- .../acpi/os_specific/service_layers/osunixxf.c | 3 - tools/power/acpi/tools/acpidump/Makefile | 1 - tools/power/acpi/tools/acpidump/acpidump.h | 12 +- tools/power/acpi/tools/acpidump/apdump.c | 71 +++---- tools/power/acpi/tools/acpidump/apfiles.c | 56 ++--- tools/power/acpi/tools/acpidump/apmain.c | 33 +-- 54 files changed, 796 insertions(+), 697 deletions(-) create mode 100644 include/acpi/platform/acgccex.h delete mode 100644 tools/power/acpi/os_specific/service_layers/oslibcfs.c
Signature · 1 line
1.7.10
PATCH 1/30 ACPICA: Fix deconstification warnings (-Wcast-qual) with function traces.
From: Jung-uk Kim <jkim@free_BSD.org>
ACPICA commit f722da0372261331b74d3ac67645bba912a21643
--- drivers/acpi/acpica/acutils.h | 5 +++++ drivers/acpi/acpica/utdebug.c | 37 +++++++++++++++++++++++++++++++++++++ drivers/acpi/acpica/utdecode.c | 2 +- include/acpi/acoutput.h | 6 +++++- 4 files changed, 48 insertions(+), 2 deletions(-)
drivers/acpi/acpica/acutils.h +5 -0
@@ -318,6 +318,11 @@ acpi_ut_ptr_exit(u32 line_number, const char *module_name, u32 component_id, u8 *ptr);void +acpi_ut_str_exit (u32 line_number, +const char *function_name, +const char *module_name,u32 component_id,const char *string); + +void acpi_ut_debug_dump_buffer (u8 *buffer,u32 count,u32 display,u32 component_id);void acpi_ut_dump_buffer (u8 *buffer,u32 count,u32 display,u32 offset);
drivers/acpi/acpica/utdebug.c +37 -0
@@ -562,6 +562,43 @@ acpi_ut_ptr_exit(u32 line_number,/******************************************************************************* * +* FUNCTION: acpi_ut_str_exit +* +* PARAMETERS: line_number - Caller's line number +* function_name - Caller's procedure name +* module_name - Caller's module name +* component_id - Caller's component ID +* string - String to display +* +* RETURN: None +* +* DESCRIPTION: Function exit trace. Prints only if TRACE_FUNCTIONS bit is +* set in debug_level. Prints exit value also. +* +******************************************************************************/ + +void +acpi_ut_str_exit (u32 line_number, +const char *function_name, +const char *module_name,u32 component_id,const char *string) +{ + +/* Check if enabled up-front for performance */ + +if (ACPI_IS_DEBUG_ENABLED (ACPI_LV_FUNCTIONS , component_id)) { +acpi_debug_print (ACPI_LV_FUNCTIONS , + line_number, function_name, module_name, + component_id,"%s %s\n" , + acpi_gbl_function_exit_prefix, string); + } + +if (acpi_gbl_nesting_level) { + acpi_gbl_nesting_level--; + } +} + +/******************************************************************************* +* * FUNCTION: acpi_trace_point * * PARAMETERS: type - Trace event type
drivers/acpi/acpica/utdecode.c +1 -1
@@ -253,7 +253,7 @@ const char *acpi_ut_get_object_type_name(union acpi_operand_object *obj_desc)return_PTR ("Invalid object" ); } -return_PTR (acpi_ut_get_type_name (obj_desc->common.type)); +return_STR (acpi_ut_get_type_name (obj_desc->common.type)); }/*******************************************************************************
include/acpi/acoutput.h +5 -1
@@ -366,7 +366,7 @@ ACPI_TRACE_ENTRY (name, acpi_ut_trace_u32, u32, value)#define ACPI_FUNCTION_TRACE_STR (name, string) \ - ACPI_TRACE_ENTRY (name, acpi_ut_trace_str, char *, string) + ACPI_TRACE_ENTRY (name, acpi_ut_trace_str, const char *, string)#define ACPI_FUNCTION_ENTRY () \ acpi_ut_track_stack_ptr()
@@ -425,6 +425,9 @@#define return_PTR (pointer) \ ACPI_TRACE_EXIT (acpi_ut_ptr_exit, void *, pointer) +#define return_STR (string) \ + ACPI_TRACE_EXIT (acpi_ut_str_exit, const char *, string) +#define return_VALUE (value) \ ACPI_TRACE_EXIT (acpi_ut_value_exit, u64, value)
@@ -478,6 +481,7 @@#define return_VOID return#define return_ACPI_STATUS (s) return(s)#define return_PTR (s) return(s) +#define return_STR (s) return(s)#define return_VALUE (s) return(s)#define return_UINT8 (s) return(s)#define return_UINT32 (s) return(s)
Signature · 1 line
1.7.10
PATCH 1/30 ACPICA: Fix deconstification warnings (-Wcast-qual) with function traces.
In reply to Lv ZhengFrom: Jung-uk Kim <[email protected]>
(update due to email address wrongly converted by acpisrc)
ACPICA commit f722da0372261331b74d3ac67645bba912a21643
--- drivers/acpi/acpica/acutils.h | 5 +++++ drivers/acpi/acpica/utdebug.c | 37 +++++++++++++++++++++++++++++++++++++ drivers/acpi/acpica/utdecode.c | 2 +- include/acpi/acoutput.h | 6 +++++- 4 files changed, 48 insertions(+), 2 deletions(-)
drivers/acpi/acpica/acutils.h +5 -0
@@ -318,6 +318,11 @@ acpi_ut_ptr_exit(u32 line_number, const char *module_name, u32 component_id, u8 *ptr);void +acpi_ut_str_exit (u32 line_number, +const char *function_name, +const char *module_name,u32 component_id,const char *string); + +void acpi_ut_debug_dump_buffer (u8 *buffer,u32 count,u32 display,u32 component_id);void acpi_ut_dump_buffer (u8 *buffer,u32 count,u32 display,u32 offset);
drivers/acpi/acpica/utdebug.c +37 -0
@@ -562,6 +562,43 @@ acpi_ut_ptr_exit(u32 line_number,/******************************************************************************* * +* FUNCTION: acpi_ut_str_exit +* +* PARAMETERS: line_number - Caller's line number +* function_name - Caller's procedure name +* module_name - Caller's module name +* component_id - Caller's component ID +* string - String to display +* +* RETURN: None +* +* DESCRIPTION: Function exit trace. Prints only if TRACE_FUNCTIONS bit is +* set in debug_level. Prints exit value also. +* +******************************************************************************/ + +void +acpi_ut_str_exit (u32 line_number, +const char *function_name, +const char *module_name,u32 component_id,const char *string) +{ + +/* Check if enabled up-front for performance */ + +if (ACPI_IS_DEBUG_ENABLED (ACPI_LV_FUNCTIONS , component_id)) { +acpi_debug_print (ACPI_LV_FUNCTIONS , + line_number, function_name, module_name, + component_id,"%s %s\n" , + acpi_gbl_function_exit_prefix, string); + } + +if (acpi_gbl_nesting_level) { + acpi_gbl_nesting_level--; + } +} + +/******************************************************************************* +* * FUNCTION: acpi_trace_point * * PARAMETERS: type - Trace event type
drivers/acpi/acpica/utdecode.c +1 -1
@@ -253,7 +253,7 @@ const char *acpi_ut_get_object_type_name(union acpi_operand_object *obj_desc)return_PTR ("Invalid object" ); } -return_PTR (acpi_ut_get_type_name (obj_desc->common.type)); +return_STR (acpi_ut_get_type_name (obj_desc->common.type)); }/*******************************************************************************
include/acpi/acoutput.h +5 -1
@@ -366,7 +366,7 @@ ACPI_TRACE_ENTRY (name, acpi_ut_trace_u32, u32, value)#define ACPI_FUNCTION_TRACE_STR (name, string) \ - ACPI_TRACE_ENTRY (name, acpi_ut_trace_str, char *, string) + ACPI_TRACE_ENTRY (name, acpi_ut_trace_str, const char *, string)#define ACPI_FUNCTION_ENTRY () \ acpi_ut_track_stack_ptr()
@@ -425,6 +425,9 @@#define return_PTR (pointer) \ ACPI_TRACE_EXIT (acpi_ut_ptr_exit, void *, pointer) +#define return_STR (string) \ + ACPI_TRACE_EXIT (acpi_ut_str_exit, const char *, string) +#define return_VALUE (value) \ ACPI_TRACE_EXIT (acpi_ut_value_exit, u64, value)
@@ -478,6 +481,7 @@#define return_VOID return#define return_ACPI_STATUS (s) return(s)#define return_PTR (s) return(s) +#define return_STR (s) return(s)#define return_VALUE (s) return(s)#define return_UINT8 (s) return(s)#define return_UINT32 (s) return(s)
Signature · 1 line
1.7.10
PATCH 2/30 ACPICA: Fix deconstification warnings (-Wcast-qual) with acpi_ns_root_initialize().
In reply to Lv ZhengFrom: Jung-uk Kim <[email protected]>
ACPICA commit 8b3b57c9d11d9c322e09cb06bedac7aa783458fd
--- drivers/acpi/acpica/nsaccess.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/acpi/acpica/nsaccess.c +3 -3
@@ -108,9 +108,9 @@ acpi_status acpi_ns_root_initialize(void) } status = -acpi_ns_lookup (NULL , (char *)init_val->name, init_val->type, -ACPI_IMODE_LOAD_PASS2 ,ACPI_NS_NO_UPSEARCH , -NULL , &new_node); +acpi_ns_lookup (NULL ,ACPI_CAST_PTR (char, init_val->name), + init_val->type,ACPI_IMODE_LOAD_PASS2 , +ACPI_NS_NO_UPSEARCH ,NULL , &new_node);if (ACPI_FAILURE (status)) { ACPI_EXCEPTION((AE_INFO, status, "Could not create predefined name %s",
Signature · 1 line
1.7.10
PATCH 3/30 ACPICA: Interpreter: Remove temporary code for External() opcode
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit f2d349f8a11efc0f438ad6903564f3a6755dc6b9
The interpreter should never see this opcode (it is used by disassemblers), so the final implementation is to return an error.
--- drivers/acpi/acpica/dsutils.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-)
drivers/acpi/acpica/dsutils.c +8 -9
@@ -565,15 +565,14 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state, status =AE_OK ; }else if (parent_op->common.aml_opcode ==AML_EXTERNAL_OP ) { - -/* TBD: May only be temporary */ - - obj_desc = -acpi_ut_create_string_object ((acpi_size )name_length); - -strncpy (obj_desc->string.pointer, - name_string, name_length); - status =AE_OK ; +/* +* This opcode should never appear here. It is used only +* by AML disassemblers and is surrounded by an If(0) +* by the ASL compiler. +* +* Therefore, if we see it here, it is a serious error. +*/ + status =AE_AML_BAD_OPCODE ; }else {/* * We just plain didn't find it -- which is a
Signature · 1 line
1.7.10
PATCH 4/30 ACPICA: Utilities: Introduce facility to allow Linux to set correct logging levels
In reply to Lv ZhengACPICA commit 58c9e7b83ae35247e430c39363f55b6f70fa04a2
It is reported that the logging level of the ACPICA messages are not correct in the Linux kernel. This patch fixes this issue. Lv Zheng.
--- drivers/acpi/acpica/acutils.h | 12 ++++++++++++ include/acpi/platform/aclinux.h | 8 ++++++++ 2 files changed, 20 insertions(+)
drivers/acpi/acpica/acutils.h +12 -0
@@ -114,13 +114,25 @@ extern const char *acpi_gbl_pt_decode[];/* * Common error message prefixes */ +#ifndef ACPI_MSG_ERROR #define ACPI_MSG_ERROR "ACPI Error: " +#endif +#ifndef ACPI_MSG_EXCEPTION #define ACPI_MSG_EXCEPTION "ACPI Exception: " +#endif +#ifndef ACPI_MSG_WARNING #define ACPI_MSG_WARNING "ACPI Warning: " +#endif +#ifndef ACPI_MSG_INFO #define ACPI_MSG_INFO "ACPI: " +#endif +#ifndef ACPI_MSG_BIOS_ERROR #define ACPI_MSG_BIOS_ERROR "ACPI BIOS Error (bug): " +#endif +#ifndef ACPI_MSG_BIOS_WARNING #define ACPI_MSG_BIOS_WARNING "ACPI BIOS Warning (bug): " +#endif /* * Common message suffix
include/acpi/platform/aclinux.h +8 -0
@@ -168,6 +168,14 @@#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_next_filename#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_close_directory +#define ACPI_MSG_ERROR KERN_ERR "ACPI Error: " +#define ACPI_MSG_EXCEPTION KERN_ERR "ACPI Exception: " +#define ACPI_MSG_WARNING KERN_WARNING "ACPI Warning: " +#define ACPI_MSG_INFO KERN_INFO "ACPI: " + +#define ACPI_MSG_BIOS_ERROR KERN_ERR "ACPI BIOS Error (bug): " +#define ACPI_MSG_BIOS_WARNING KERN_WARNING "ACPI BIOS Warning (bug): " +#else /* !__KERNEL__ */ #include <stdarg.h>
Signature · 1 line
1.7.10
PATCH 5/30 ACPICA: Debugger: Extend some max line lengths
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit 622063bae684490191c8e8b10bf18e86d0ab4ebf
Fix a couple of arbitrarily small output line lengths.
--- drivers/acpi/acpica/dbobject.c | 4 ++-- drivers/acpi/acpica/nsdump.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/acpi/acpica/dbobject.c +2 -2
@@ -142,11 +142,11 @@ void acpi_db_decode_internal_object(union acpi_operand_object *obj_desc)case ACPI_TYPE_STRING : -acpi_os_printf ("(%u) \"%.24s" , +acpi_os_printf ("(%u) \"%.60s" , obj_desc->string.length, obj_desc->string.pointer); -if (obj_desc->string.length >24 ) { +if (obj_desc->string.length >60 ) {acpi_os_printf ("..." ); }else {acpi_os_printf ("\"" );
drivers/acpi/acpica/nsdump.c +1 -1
@@ -338,7 +338,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,case ACPI_TYPE_STRING :acpi_os_printf ("Len %.2X " , obj_desc->string.length); -acpi_ut_print_string (obj_desc->string.pointer,32 ); +acpi_ut_print_string (obj_desc->string.pointer,80 );acpi_os_printf ("\n" );break ;
Signature · 1 line
1.7.10
PATCH 6/30 ACPICA: Disassembler: Add option to emit embedded External operators/opcodes
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit 152a8ca2c7fc877d6aff0f9d0965184ef2ddce5c
Opcode 0x15 was added in ACPI 6.0 for disassemblers. The disassembler by default does not emit the actual opcodes, they are used internally. Option added for internal debugging only.
This patch doesn't affect Linux kernel as disassembler is not in the Linux kernel.
--- drivers/acpi/acpica/acglobal.h | 1 + 1 file changed, 1 insertion(+)
drivers/acpi/acpica/acglobal.h +1 -0
@@ -317,6 +317,7 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_ignore_noop_operator, FALSE);ACPI_INIT_GLOBAL (u8, acpi_gbl_cstyle_disassembly, TRUE);ACPI_INIT_GLOBAL (u8, acpi_gbl_force_aml_disassembly, FALSE);ACPI_INIT_GLOBAL (u8, acpi_gbl_dm_opt_verbose, TRUE); +ACPI_INIT_GLOBAL (u8, acpi_gbl_dm_emit_external_opcodes, FALSE);ACPI_GLOBAL (u8, acpi_gbl_dm_opt_disasm);ACPI_GLOBAL (u8, acpi_gbl_dm_opt_listing);
Signature · 1 line
1.7.10
PATCH 7/30 ACPICA: Simplify configuration for "Max Loops" system parameter
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit 857c510d70e18eecc275dd3087807a18bae8aa51
Allow for static configuration of this parameter. It is used to abort out of infinite loops caused by non-response from hardware.
--- drivers/acpi/acpica/utinit.c | 2 +- include/acpi/acconfig.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-)
drivers/acpi/acpica/utinit.c +1 -1
@@ -206,7 +206,7 @@ acpi_status acpi_ut_init_globals(void) acpi_gbl_next_owner_id_offset =0 ; acpi_gbl_debugger_configuration =DEBUGGER_THREADING ; acpi_gbl_osi_mutex =NULL ; - acpi_gbl_max_loop_iterations =0xFFFF ; + acpi_gbl_max_loop_iterations =ACPI_MAX_LOOP_COUNT ;/* Hardware oriented */
include/acpi/acconfig.h +4 -0
@@ -144,6 +144,10 @@#define ACPI_ADDRESS_RANGE_MAX 2 +/* Maximum number of While() loops before abort */ + +#define ACPI_MAX_LOOP_COUNT 0xFFFF +/****************************************************************************** * * ACPI Specification constants (Do not change unless the specification changes)
Signature · 1 line
1.7.10
PATCH 8/30 ACPICA: Divergence: Port declarators back to ACPICA
In reply to Lv ZhengACPICA commit c160cae765412f5736cf88a9ebcc6138aa761a48
Linux uses asmlinkage and sparse macros to mark function symbols. This leads to the divergences between the Linux and the ACPICA. This patch ports such declarators back to ACPICA. Lv Zheng.
--- drivers/acpi/acpica/actables.h | 3 ++- drivers/acpi/acpica/tbutils.c | 3 ++- drivers/acpi/acpica/tbxface.c | 4 ++-- drivers/acpi/acpica/tbxfload.c | 4 ++-- drivers/acpi/acpica/tbxfroot.c | 5 ++++- drivers/acpi/acpica/utxface.c | 2 +- drivers/acpi/acpica/utxfinit.c | 6 +++--- include/acpi/acpixf.h | 28 ++++++++++++++++------------ include/acpi/platform/acenv.h | 4 ++++ include/acpi/platform/aclinux.h | 2 ++ include/acpi/platform/aclinuxex.h | 2 +- 11 files changed, 39 insertions(+), 24 deletions(-)
drivers/acpi/acpica/actables.h +2 -1
@@ -159,7 +159,8 @@ acpi_status acpi_tb_install_fixed_table(acpi_physical_address address, char *signature, u32 *table_index); -acpi_status acpi_tb_parse_root_table (acpi_physical_address rsdp_address); +acpi_status ACPI_INIT_FUNCTION +acpi_tb_parse_root_table (acpi_physical_address rsdp_address);/* * tbxfload
drivers/acpi/acpica/tbutils.c +2 -1
@@ -252,7 +252,8 @@ acpi_tb_get_root_table_entry(u8 *table_entry, u32 table_entry_size)* ******************************************************************************/ -acpi_status __init acpi_tb_parse_root_table (acpi_physical_address rsdp_address) +acpi_status ACPI_INIT_FUNCTION +acpi_tb_parse_root_table (acpi_physical_address rsdp_address) {struct acpi_table_rsdp *rsdp;u32 table_entry_size;
drivers/acpi/acpica/tbxface.c +2 -2
@@ -98,7 +98,7 @@ acpi_status acpi_allocate_root_table(u32 initial_table_count)* ******************************************************************************/ -acpi_status __init +acpi_status ACPI_INIT_FUNCTIONacpi_initialize_tables (struct acpi_table_desc *initial_table_array,u32 initial_table_count,u8 allow_resize) {
@@ -164,7 +164,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_initialize_tables)* kernel. * ******************************************************************************/ -acpi_status __init acpi_reallocate_root_table (void ) +acpi_status ACPI_INIT_FUNCTION acpi_reallocate_root_table(void) {acpi_status status;
drivers/acpi/acpica/tbxfload.c +2 -2
@@ -63,7 +63,7 @@ ACPI_MODULE_NAME("tbxfload")* DESCRIPTION: Load the ACPI tables from the RSDT/XSDT * ******************************************************************************/ -acpi_status __init acpi_load_tables (void ) +acpi_status ACPI_INIT_FUNCTION acpi_load_tables(void) {acpi_status status;
@@ -272,7 +272,7 @@ unlock_and_exit:* ******************************************************************************/ -acpi_status __init +acpi_status ACPI_INIT_FUNCTIONacpi_install_table (acpi_physical_address address,u8 physical) {acpi_status status;
drivers/acpi/acpica/tbxfroot.c +4 -1
@@ -142,7 +142,8 @@ acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp)* ******************************************************************************/ -acpi_status __init acpi_find_root_pointer (acpi_physical_address *table_address) +acpi_status ACPI_INIT_FUNCTION +acpi_find_root_pointer (acpi_physical_address *table_address) {u8 *table_ptr;u8 *mem_rover;
@@ -244,6 +245,8 @@ acpi_status __init acpi_find_root_pointer(acpi_physical_address *table_address)return_ACPI_STATUS (AE_NOT_FOUND ); } +ACPI_EXPORT_SYMBOL_INIT (acpi_find_root_pointer) +/******************************************************************************* * * FUNCTION: acpi_tb_scan_memory_for_rsdp
drivers/acpi/acpica/utxface.c +1 -1
@@ -61,7 +61,7 @@ ACPI_MODULE_NAME("utxface")* DESCRIPTION: Shutdown the ACPICA subsystem and release all resources. * ******************************************************************************/ -acpi_status __init acpi_terminate (void ) +acpi_status ACPI_INIT_FUNCTION acpi_terminate(void) {acpi_status status;
drivers/acpi/acpica/utxfinit.c +3 -3
@@ -69,7 +69,7 @@ void ae_do_object_overrides(void);* ******************************************************************************/ -acpi_status __init acpi_initialize_subsystem (void ) +acpi_status ACPI_INIT_FUNCTION acpi_initialize_subsystem(void) {acpi_status status;
@@ -141,7 +141,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_initialize_subsystem)* Puts system into ACPI mode if it isn't already. * ******************************************************************************/ -acpi_status __init acpi_enable_subsystem (u32 flags) +acpi_status ACPI_INIT_FUNCTION acpi_enable_subsystem(u32 flags) {acpi_status status =AE_OK ;
@@ -239,7 +239,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_enable_subsystem)* objects and executing AML code for Regions, buffers, etc. * ******************************************************************************/ -acpi_status __init acpi_initialize_objects (u32 flags) +acpi_status ACPI_INIT_FUNCTION acpi_initialize_objects(u32 flags) {acpi_status status =AE_OK ;
include/acpi/acpixf.h +16 -12
@@ -416,18 +416,19 @@ ACPI_GLOBAL(u8, acpi_gbl_system_awake_and_running);/* * Initialization */ -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION acpi_initialize_tables(struct acpi_table_desc *initial_storage, u32 initial_table_count, u8 allow_resize)) -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_initialize_subsystem(void)) - -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_enable_subsystem(u32 flags)) - -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init - acpi_initialize_objects(u32 flags)) -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_terminate(void)) +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION + acpi_initialize_subsystem(void)) +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION + acpi_enable_subsystem(u32 flags)) +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION + acpi_initialize_objects(u32 flags)) +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION + acpi_terminate(void))/* * Miscellaneous global interfaces
@@ -467,7 +468,7 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status/* * ACPI table load/unload interfaces */ -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION acpi_install_table(acpi_physical_address address,u8 physical))
@@ -476,14 +477,17 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_unload_parent_table(acpi_handle object)) -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_load_tables(void)) + +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION + acpi_load_tables(void)) /* * ACPI table manipulation interfaces */ -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init acpi_reallocate_root_table(void)) +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION + acpi_reallocate_root_table(void)) -ACPI_EXTERNAL_RETURN_STATUS(acpi_status __init +ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION acpi_find_root_pointer(acpi_physical_address *rsdp_address)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status
include/acpi/platform/acenv.h +4 -0
@@ -403,4 +403,8 @@ typedef char *va_list;#endif /* ACPI_APPLICATION */ #endif /* ACPI_FILE */ +#ifndef ACPI_INIT_FUNCTION +#define ACPI_INIT_FUNCTION +#endif +#endif /* __ACENV_H__ */
include/acpi/platform/aclinux.h +2 -0
@@ -92,6 +92,8 @@#include <asm/acenv.h> #endif +#define ACPI_INIT_FUNCTION __init +#ifndef CONFIG_ACPI /* External globals for __KERNEL__, stubs is needed */
include/acpi/platform/aclinuxex.h +1 -1
@@ -71,7 +71,7 @@/* * Overrides for in-kernel ACPICA */ -acpi_status __init acpi_os_initialize (void ); +acpi_status ACPI_INIT_FUNCTION acpi_os_initialize(void);acpi_status acpi_os_terminate (void );
Signature · 1 line
1.7.10
PATCH 9/30 ACPICA: iASL/Disassembler: Add a check for missing filename
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit fc0f12b1eff6253f83e599a7ee1765fcc8e42dcc
Add check for required filename for the -d and -da options. ACPICA BZ 1285.
--- tools/power/acpi/common/getopt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/power/acpi/common/getopt.c +1 -1
@@ -94,7 +94,7 @@ int acpi_getopt_argument(int argc, char **argv) acpi_gbl_optarg = &argv[acpi_gbl_optind++][(int )(current_char_ptr +1 )]; }else if (++acpi_gbl_optind >= argc) { -ACPI_OPTION_ERROR ("Option requires an argument: -" ,'v' ); +ACPI_OPTION_ERROR ("\nOption requires an argument" ,0 ); current_char_ptr =1 ;return (-1 );
Signature · 1 line
1.7.10
PATCH 10/30 ACPICA: Use os_allocate_zeroed
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit 2b896c59e53243c95600f2a3f7e1fd02c044cb37
Eliminates an unnecessary memset.
Change proposed by: Amitoj Kaur Chawla <[email protected]>
--- drivers/acpi/acpica/uttrack.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/acpi/acpica/uttrack.c +1 -3
@@ -95,13 +95,11 @@ acpi_ut_create_list(const char *list_name, {struct acpi_memory_list *cache; - cache =acpi_os_allocate (sizeof (struct acpi_memory_list )); + cache =acpi_os_allocate_zeroed (sizeof (struct acpi_memory_list ));if (!cache) {return (AE_NO_MEMORY ); } -memset (cache,0 ,sizeof (struct acpi_memory_list )); - cache->list_name = list_name; cache->object_size = object_size;
Signature · 1 line
1.7.10
PATCH 11/30 ACPICA: Events: Introduce acpi_mask_gpe() to implement GPE masking mechanism
In reply to Lv ZhengACPICA commit 23a417ca406a527e7ae1710893e59a8b6db30e14
There is a facility in Linux, developers can control the enabling/disabling of a GPE via /sys/firmware/acpi/interrupts/gpexx. This is mainly for debugging purposes.
But many users expect to use this facility to implement quirks to mask a specific GPE when there is a gap in Linux causing this GPE to flood. This is not working correctly because currently this facility invokes enabling/disabling counting based GPE driver APIs:
acpi_enable_gpe()/acpi_disable_gpe()
and the GPE drivers can still affect the count to mess up the GPE masking purposes.
However, most of the IRQ chip designs allow masking/unmasking IRQs via a masking bit which is different from the enabled bit to achieve the same purpose. But the GPE hardware doesn't contain such a feature, this brings the trouble.
In this patch, we introduce a software mechanism to implement the GPE masking feature, and acpi_mask_gpe() are provided to the OSPMs to mask/unmask GPEs in the above mentioned situation instead of acpi_enable_gpe()/acpi_disable_gpe(). ACPICA BZ 1102. Lv Zheng.
--- drivers/acpi/acpica/acevents.h | 3 +++ drivers/acpi/acpica/aclocal.h | 2 ++ drivers/acpi/acpica/evgpe.c | 57 ++++++++++++++++++++++++++++++++++++++++ drivers/acpi/acpica/evxfgpe.c | 43 ++++++++++++++++++++++++++++++ drivers/acpi/acpica/hwgpe.c | 23 ++++++++++++---- include/acpi/acpixf.h | 4 +++ include/acpi/actypes.h | 39 ++++++++++++++------------- 7 files changed, 148 insertions(+), 23 deletions(-)
drivers/acpi/acpica/acevents.h +3 -0
@@ -86,6 +86,9 @@ acpi_ev_update_gpe_enable_mask(struct acpi_gpe_event_info *gpe_event_info);acpi_status acpi_ev_enable_gpe (struct acpi_gpe_event_info *gpe_event_info);acpi_status +acpi_ev_mask_gpe (struct acpi_gpe_event_info *gpe_event_info,u8 is_masked); + +acpi_status acpi_ev_add_gpe_reference (struct acpi_gpe_event_info *gpe_event_info); acpi_status
drivers/acpi/acpica/aclocal.h +2 -0
@@ -484,6 +484,7 @@ struct acpi_gpe_event_info {u8 flags;/* Misc info about this GPE */ u8 gpe_number;/* This GPE */ u8 runtime_count;/* References to a run GPE */ +u8 disable_for_dispatch;/* Masked during dispatching */ };/* Information about a GPE register pair, one per each status/enable pair in an array */
@@ -494,6 +495,7 @@ struct acpi_gpe_register_info {u16 base_gpe_number;/* Base GPE number for this register */ u8 enable_for_wake;/* GPEs to keep enabled when sleeping */ u8 enable_for_run;/* GPEs to keep enabled when running */ +u8 mask_for_run;/* GPEs to keep masked when running */ u8 enable_mask;/* Current mask of enabled GPEs */ };
drivers/acpi/acpica/evgpe.c +57 -0
75 lines not on this page · raw message
drivers/acpi/acpica/evxfgpe.c +43 -0
60 lines not on this page · raw message
drivers/acpi/acpica/hwgpe.c +18 -5
@@ -98,7 +98,7 @@ acpi_status acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action) {struct acpi_gpe_register_info *gpe_register_info; -acpi_status status; +acpi_status status =AE_OK ;u32 enable_mask;u32 register_bit;
@@ -148,9 +148,14 @@ acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u32 action)return (AE_BAD_PARAMETER ); } -/* Write the updated enable mask */ +if (!(register_bit & gpe_register_info->mask_for_run)) { - status =acpi_hw_write (enable_mask, &gpe_register_info->enable_address); +/* Write the updated enable mask */ + + status = +acpi_hw_write (enable_mask, + &gpe_register_info->enable_address); + }return (status); }
@@ -242,6 +247,12 @@ acpi_hw_get_gpe_status(struct acpi_gpe_event_info *gpe_event_info, local_event_status |=ACPI_EVENT_FLAG_ENABLED ; } +/* GPE currently masked? (masked for runtime?) */ + +if (register_bit & gpe_register_info->mask_for_run) { + local_event_status |=ACPI_EVENT_FLAG_MASKED ; + } +/* GPE enabled for wake? */ if (register_bit & gpe_register_info->enable_for_wake) {
@@ -397,6 +408,7 @@ acpi_hw_enable_runtime_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info,u32 i;acpi_status status;struct acpi_gpe_register_info *gpe_register_info; +u8 enable_mask;/* NOTE: assumes that all GPEs are currently disabled */
@@ -410,9 +422,10 @@ acpi_hw_enable_runtime_gpe_block(struct acpi_gpe_xrupt_info *gpe_xrupt_info,/* Enable all "runtime" GPEs in this register */ + enable_mask = gpe_register_info->enable_for_run & + ~gpe_register_info->mask_for_run; status = -acpi_hw_gpe_enable_write (gpe_register_info->enable_for_run, - gpe_register_info); +acpi_hw_gpe_enable_write (enable_mask, gpe_register_info);if (ACPI_FAILURE (status)) {return (status); }
include/acpi/acpixf.h +4 -0
@@ -736,6 +736,10 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status u32 gpe_number)) ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status + acpi_mask_gpe(acpi_handle gpe_device, + u32 gpe_number, u8 is_masked)) + +ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_mark_gpe_for_wake(acpi_handle gpe_device, u32 gpe_number))
include/acpi/actypes.h +21 -18
@@ -732,16 +732,17 @@ typedef u32 acpi_event_type;* The encoding of acpi_event_status is illustrated below. * Note that a set bit (1) indicates the property is TRUE * (e.g. if bit 0 is set then the event is enabled). -* +-------------+-+-+-+-+-+ -* | Bits 31:5 |4|3|2|1|0| -* +-------------+-+-+-+-+-+ -* | | | | | | -* | | | | | +- Enabled? -* | | | | +--- Enabled for wake? -* | | | +----- Status bit set? -* | | +------- Enable bit set? -* | +--------- Has a handler? -* +--------------- <Reserved> +* +-------------+-+-+-+-+-+-+ +* | Bits 31:6 |5|4|3|2|1|0| +* +-------------+-+-+-+-+-+-+ +* | | | | | | | +* | | | | | | +- Enabled? +* | | | | | +--- Enabled for wake? +* | | | | +----- Status bit set? +* | | | +------- Enable bit set? +* | | +--------- Has a handler? +* | +----------- Masked? +* +----------------- <Reserved> */ typedef u32 acpi_event_status ;
@@ -751,6 +752,7 @@ typedef u32 acpi_event_status;#define ACPI_EVENT_FLAG_STATUS_SET (acpi_event_status) 0x04#define ACPI_EVENT_FLAG_ENABLE_SET (acpi_event_status) 0x08#define ACPI_EVENT_FLAG_HAS_HANDLER (acpi_event_status) 0x10 +#define ACPI_EVENT_FLAG_MASKED (acpi_event_status) 0x20#define ACPI_EVENT_FLAG_SET ACPI_EVENT_FLAG_STATUS_SET/* Actions for acpi_set_gpe, acpi_gpe_wakeup, acpi_hw_low_set_gpe */
@@ -761,14 +763,15 @@ typedef u32 acpi_event_status;/* * GPE info flags - Per GPE -* +-------+-+-+---+ -* | 7:5 |4|3|2:0| -* +-------+-+-+---+ -* | | | | -* | | | +-- Type of dispatch:to method, handler, notify, or none -* | | +----- Interrupt type: edge or level triggered -* | +------- Is a Wake GPE -* +------------ <Reserved> +* +---+-+-+-+---+ +* |7:6|5|4|3|2:0| +* +---+-+-+-+---+ +* | | | | | +* | | | | +-- Type of dispatch:to method, handler, notify, or none +* | | | +----- Interrupt type: edge or level triggered +* | | +------- Is a Wake GPE +* | +--------- Is GPE masked by the software GPE masking machanism +* +------------ <Reserved> */ #define ACPI_GPE_DISPATCH_NONE (u8) 0x00#define ACPI_GPE_DISPATCH_METHOD (u8) 0x01
Signature · 1 line
1.7.10
PATCH 12/30 ACPI / sysfs: Update /sys/firmware/acpi/interrupts/gpexx using new GPE masking mechanism
In reply to Lv ZhengNow GPE can be masked via new acpi_mask_gpe() API, this patch modifies /sys/firmware/acpi/interrupts/gpexx to use this new facility.
Writes "mask/unmask" to this file now invoke acpi_mask_gpe().
Reads from this file now returns new "EN/STS" when the corresponding GPE hardware register's EN/STS bits are flagged, and new "masked/unmasked" attribute to indicate the status of the masking mechanism.
--- drivers/acpi/sleep.c | 2 +- drivers/acpi/sysfs.c | 33 +++++++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 9 deletions(-)
drivers/acpi/sleep.c +1 -1
@@ -572,7 +572,7 @@ static int acpi_suspend_enter(suspend_state_t pm_state)acpi_get_event_status (ACPI_EVENT_POWER_BUTTON , &pwr_btn_status); -if (pwr_btn_status &ACPI_EVENT_FLAG_SET ) { +if (pwr_btn_status &ACPI_EVENT_FLAG_STATUS_SET ) {acpi_clear_event (ACPI_EVENT_POWER_BUTTON );/* Flag for later */ pwr_btn_event_pending = true;
drivers/acpi/sysfs.c +25 -8
@@ -597,14 +597,27 @@ static ssize_t counter_show(struct kobject *kobj,if (result) goto end; +if (status &ACPI_EVENT_FLAG_ENABLE_SET ) + size +=sprintf (buf + size," EN" ); +else + size +=sprintf (buf + size," " ); +if (status &ACPI_EVENT_FLAG_STATUS_SET ) + size +=sprintf (buf + size," STS" ); +else + size +=sprintf (buf + size," " ); +if (!(status &ACPI_EVENT_FLAG_HAS_HANDLER )) - size +=sprintf (buf + size," invalid" ); + size +=sprintf (buf + size," invalid " );else if (status &ACPI_EVENT_FLAG_ENABLED ) - size +=sprintf (buf + size," enabled" ); + size +=sprintf (buf + size," enabled " );else if (status &ACPI_EVENT_FLAG_WAKE_ENABLED ) - size +=sprintf (buf + size," wake_enabled" ); + size +=sprintf (buf + size," wake_enabled" );else - size +=sprintf (buf + size," disabled" ); + size +=sprintf (buf + size," disabled " ); +if (status &ACPI_EVENT_FLAG_MASKED ) + size +=sprintf (buf + size," masked " ); +else + size +=sprintf (buf + size," unmasked" ); end: size +=sprintf (buf + size,"\n" );
@@ -655,8 +668,12 @@ static ssize_t counter_set(struct kobject *kobj, !(status & ACPI_EVENT_FLAG_ENABLED)) result =acpi_enable_gpe (handle, index); else if (!strcmp(buf, "clear\n") && - (status & ACPI_EVENT_FLAG_SET)) + (status & ACPI_EVENT_FLAG_STATUS_SET)) result =acpi_clear_gpe (handle, index); + else if (!strcmp(buf, "mask\n")) + result =acpi_mask_gpe (handle, index, TRUE); + else if (!strcmp(buf, "unmask\n")) + result =acpi_mask_gpe (handle, index, FALSE); else if (!kstrtoul(buf, 0, &tmp)) all_counters[index].count = tmp; else
@@ -664,13 +681,13 @@ static ssize_t counter_set(struct kobject *kobj, }else if (index < num_gpes +ACPI_NUM_FIXED_EVENTS ) {int event = index - num_gpes;if (!strcmp (buf,"disable\n" ) && - (status &ACPI_EVENT_FLAG_ENABLED )) + (status &ACPI_EVENT_FLAG_ENABLE_SET )) result =acpi_disable_event (event,ACPI_NOT_ISR );else if (!strcmp (buf,"enable\n" ) && - !(status &ACPI_EVENT_FLAG_ENABLED )) + !(status &ACPI_EVENT_FLAG_ENABLE_SET )) result =acpi_enable_event (event,ACPI_NOT_ISR );else if (!strcmp (buf,"clear\n" ) && - (status &ACPI_EVENT_FLAG_SET )) + (status &ACPI_EVENT_FLAG_STATUS_SET )) result =acpi_clear_event (event);else if (!kstrtoul (buf,0 , &tmp)) all_counters[index].count = tmp;
Signature · 1 line
1.7.10
PATCH 13/30 ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
In reply to Lv ZhengSometimes, the users may require a quirk to be provided from ACPI subsystem core to prevent a GPE from flooding. Normally, if a GPE cannot be dispatched, ACPICA core automatically prevents the GPE from firing. But there are cases the GPE is dispatched by _Lxx/_Exx provided via AML table, and OSPM is lacking of the knowledge to get _Lxx/_Exx correctly executed to handle the GPE, thus the GPE flooding may still occur.
This patch provides a quirk mechanism to stop this kind of GPE flooding.
--- Documentation/kernel-parameters.txt | 10 +++++++ drivers/acpi/internal.h | 1 + drivers/acpi/scan.c | 1 + drivers/acpi/sysfs.c | 56 +++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+)
Documentation/kernel-parameters.txt +10 -0
@@ -274,6 +274,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted. use by PCI Format: <irq>,<irq>... + acpi_mask_gpe= [HW,ACPI] + Due to the existence of _Lxx/_Exx, some GPEs triggered + by unsupported hardware/firmware features can result in + GPE floodings that cannot be automatically disabled by + the GPE dispatcher. + This facility can be used to prevent such uncontrolled + GPE floodings. + Format: <int> + Support masking of GPEs numbered from 0x00 to 0x63. + acpi_no_auto_serialize [HW,ACPI] Disable auto-serialization of AML methods AML control methods that contain the opcodes to create
drivers/acpi/internal.h +1 -0
@@ -37,6 +37,7 @@ void acpi_amba_init(void);static inline void acpi_amba_init (void ) {}#endif int acpi_sysfs_init (void ); +void acpi_gpe_apply_masked_gpes (void );void acpi_container_init (void );void acpi_memory_hotplug_init (void );#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
drivers/acpi/scan.c +1 -0
@@ -1969,6 +1969,7 @@ int __init acpi_scan_init(void) } } +acpi_gpe_apply_masked_gpes ();acpi_update_all_gpes (); acpi_scan_initialized = true;
drivers/acpi/sysfs.c +56 -0
62 lines not on this page · raw message
Signature · 1 line
1.7.10
Re: [PATCH 13/30] ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
Quoted 7 lines · Lv Zheng
Sometimes, the users may require a quirk to be provided from ACPI subsystem core to prevent a GPE from flooding. Normally, if a GPE cannot be dispatched, ACPICA core automatically prevents the GPE from firing. But there are cases the GPE is dispatched by _Lxx/_Exx provided via AML table, and OSPM is lacking of the knowledge to get _Lxx/_Exx correctly executed to handle the GPE, thus the GPE flooding may still occur.
Quoted 5 lines
This patch provides a quirk mechanism to stop this kind of GPE flooding.
I didn't like this patch before and I still don't like it.
Besides, I'd appreciate it if you didn't mix ACPICA release patches with non-ACPICA ones.
Thanks,
Rafael
RE: [PATCH 13/30] ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
Hi, Rafael
Quoted 15 lines
From: Rafael J. Wysocki [mailto:[email protected]]
Subject: Re: [PATCH 13/30] ACPI / sysfs: Provide quirk mechanism to prevent GPE floodingQuoted 1 line · Lv Zheng
Sometimes, the users may require a quirk to be provided from ACPI
subsystem
Quoted 3 lines
core to prevent a GPE from flooding. Normally, if a GPE cannot be dispatched, ACPICA core automatically prevents the GPE from firing. But there are cases the GPE is dispatched by _Lxx/_Exx provided via AML
table,
Quoted 1 line
and OSPM is lacking of the knowledge to get _Lxx/_Exx correctly
executed to
Quoted 2 lines
handle the GPE, thus the GPE flooding may still occur.
Quoted 8 lines
Quoted 5 lines
This patch provides a quirk mechanism to stop this kind of GPE flooding.
I didn't like this patch before and I still don't like it.
[Lv Zheng]
OK.
So please help to drop it from this series.
Quoted 2 lines
Besides, I'd appreciate it if you didn't mix ACPICA release patches with non-ACPICA ones.
[Lv Zheng]
OK.
Sometimes, I'll have to put non-ACPICA materials in the ACPICA release series in order not to break things because of ACPICA upstream changes. But this patch isn't such kind of required update, it's my fault, please drop it.
Thanks
Lv
PATCH 14/30 ACPICA: FADT support cleanup
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit 34ccd43af3fd1870fddfac0617dd0ba706963558
Remove all vestiges of the version 2 FADT which never was included in the ACPI specification.
This enabled significant cleanup of both the data table compiler and the disassembler.
Added many clarification comments to associate each FADT version with the version of the ACPI spec where it was originally defined.
--- drivers/acpi/acpica/tbfadt.c | 10 +-- include/acpi/actbl.h | 164 ++++++++++++++++++++++++------------------ 2 files changed, 100 insertions(+), 74 deletions(-)
drivers/acpi/acpica/tbfadt.c +6 -4
@@ -476,17 +476,19 @@ static void acpi_tb_convert_fadt(void)u32 i;/* -* For ACPI 1.0 FADTs (revision 1 or 2), ensure that reserved fields which +* For ACPI 1.0 FADTs (revision 1), ensure that reserved fields which * should be zero are indeed zero. This will workaround BIOSs that * inadvertently place values in these fields. * * The ACPI 1.0 reserved fields that will be zeroed are the bytes located * at offset 45, 55, 95, and the word located at offset 109, 110. * -* Note: The FADT revision value is unreliable. Only the length can be -* trusted. +* Note: The FADT revision value is unreliable because of BIOS errors. +* The table length is instead used as the final word on the version. +* +* Note: FADT revision 3 is the ACPI 2.0 version of the FADT. */ -if (acpi_gbl_FADT.header.length <=ACPI_FADT_V2_SIZE ) { +if (acpi_gbl_FADT.header.length <=ACPI_FADT_V3_SIZE ) { acpi_gbl_FADT.preferred_profile =0 ; acpi_gbl_FADT.pstate_control =0 ; acpi_gbl_FADT.cst_control =0 ;
include/acpi/actbl.h +94 -70
184 lines not on this page · raw message
Signature · 1 line
1.7.10
PATCH 15/30 ACPICA: Debugger: Fix wrong inclusions in dbfileio.c
In reply to Lv ZhengACPICA commit 649eb441fbef21965d10a1aca6ff41dcf23f8e05
dbfileio.c implements debugger functionalities that can only be used by the application layer debugger (acpiexec), thus it should always include <acapps.h> and thus shouldn't include <stdio.h> separately. Lv Zheng.
--- drivers/acpi/acpica/dbfileio.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-)
drivers/acpi/acpica/dbfileio.c +6 -14
@@ -46,14 +46,12 @@#include "accommon.h" #include "acdebug.h" #include "actables.h" -#include <stdio.h> -#ifdef ACPI_APPLICATION -#include "acapps.h" -#endif #define _COMPONENT ACPI_CA_DEBUGGER ACPI_MODULE_NAME("dbfileio") +#ifdef ACPI_APPLICATION +#include "acapps.h" #ifdef ACPI_DEBUGGER /******************************************************************************* *
@@ -69,8 +67,6 @@ ACPI_MODULE_NAME("dbfileio")void acpi_db_close_debug_file (void ) { -#ifdef ACPI_APPLICATION -if (acpi_gbl_debug_file) {fclose (acpi_gbl_debug_file); acpi_gbl_debug_file =NULL ;
@@ -78,7 +74,6 @@ void acpi_db_close_debug_file(void)acpi_os_printf ("Debug output file %s closed\n" , acpi_gbl_db_debug_filename); } -#endif }/*******************************************************************************
@@ -96,8 +91,6 @@ void acpi_db_close_debug_file(void)void acpi_db_open_debug_file (char *name) { -#ifdef ACPI_APPLICATION -acpi_db_close_debug_file (); acpi_gbl_debug_file =fopen (name,"w+" );if (!acpi_gbl_debug_file) {
@@ -109,8 +102,6 @@ void acpi_db_open_debug_file(char *name)strncpy (acpi_gbl_db_debug_filename, name,sizeof (acpi_gbl_db_debug_filename)); acpi_gbl_db_output_to_file = TRUE; - -#endif }#endif
@@ -152,12 +143,13 @@ acpi_status acpi_db_load_tables(struct acpi_new_table_desc *list_head) return (status); } -fprintf (stderr, -"Acpi table [%4.4s] successfully installed and loaded\n" , - table->signature); +acpi_os_printf + ("Acpi table [%4.4s] successfully installed and loaded\n" , + table->signature); table_list_head = table_list_head->next; }return (AE_OK ); } +#endif
Signature · 1 line
1.7.10
PATCH 16/30 ACPICA: OSL: Add correct acpi_gbl_debug_timeout export to allow acpiexec to link
In reply to Lv ZhengACPICA commit 408198c8c9786f9f104ee925020c3ab1701906e4
The acpi_gbl_debug_timeout which is used by acpiexec -et option now is only implemented in oswinxf.c and used for WIN32 builds. This makes it very difficult to remember that we need to add this variable to other os specific layer files in order for linking. This patch makes it a global option dependent on ACPI_APPLICATION so that it can always be linked by the applications. Lv Zheng.
--- drivers/acpi/acpica/acglobal.h | 1 + tools/power/acpi/os_specific/service_layers/osunixxf.c | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-)
drivers/acpi/acpica/acglobal.h +1 -0
@@ -383,6 +383,7 @@ ACPI_GLOBAL(const char, *acpi_gbl_pld_shape_list[]);ACPI_INIT_GLOBAL (ACPI_FILE , acpi_gbl_debug_file,NULL );ACPI_INIT_GLOBAL (ACPI_FILE , acpi_gbl_output_file,NULL ); +ACPI_INIT_GLOBAL (u8, acpi_gbl_debug_timeout, FALSE);/* Print buffer */
tools/power/acpi/os_specific/service_layers/osunixxf.c +0 -3
@@ -63,10 +63,7 @@#define _COMPONENT ACPI_OS_SERVICESACPI_MODULE_NAME ("osunixxf" ) -u8 acpi_gbl_debug_timeout = FALSE; - /* Upcalls to acpi_exec */ -void ae_table_override (struct acpi_table_header *existing_table,struct acpi_table_header **new_table);
Signature · 1 line
1.7.10
PATCH 17/30 ACPICA: acpidump: Fix a duplicate variable definition
In reply to Lv ZhengACPICA commit 080f99d5b29313380accd00d2b9768e809eb417b
acpi_gbl_integer_byte_width has already been instantiated by ACPI_GLOBAL() in acglobal.h. Lv Zheng.
--- tools/power/acpi/tools/acpidump/acpidump.h | 6 ------ tools/power/acpi/tools/acpidump/apmain.c | 1 + 2 files changed, 1 insertion(+), 6 deletions(-)
tools/power/acpi/tools/acpidump/acpidump.h +0 -6
@@ -72,12 +72,6 @@ EXTERN ACPI_FILE INIT_GLOBAL(gbl_output_file, NULL); EXTERN char INIT_GLOBAL(*gbl_output_filename, NULL); EXTERN u64 INIT_GLOBAL(gbl_rsdp_base, 0); -/* Globals required for use with ACPICA modules */ - -#ifdef _DECLARE_GLOBALS -u8 acpi_gbl_integer_byte_width =8 ; -#endif -/* Action table used to defer requested options */ struct ap_dump_action {
tools/power/acpi/tools/acpidump/apmain.c +1 -0
@@ -315,6 +315,7 @@ int ACPI_SYSTEM_XFACE acpi_main(int argc, char *argv[])ACPI_DEBUG_INITIALIZE ();/* For debug version only */ acpi_os_initialize (); gbl_output_file =ACPI_FILE_OUT ; + acpi_gbl_integer_byte_width =8 ;/* Process command line options */
Signature · 1 line
1.7.10
PATCH 18/30 ACPICA: Applications: Enable USE_NATIVE_ALLOCATE_ZEROED environment for all applications
In reply to Lv ZhengACPICA commit 56920e2093d612ac6338dd8eb0fa89231446198f
We now safe to enable USE_NATIVE_ALLOCATE_ZEROED for all applications as there are implementations in oswinxf.c, osunixxf.c and osefixf.c. Lv Zheng.
--- include/acpi/platform/acenv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/acpi/platform/acenv.h +1 -1
@@ -78,6 +78,7 @@ (defined ACPI_EXAMPLE_APP)#define ACPI_APPLICATION #define ACPI_SINGLE_THREADED +#define USE_NATIVE_ALLOCATE_ZEROED #endif /* iASL configuration */
@@ -124,7 +125,6 @@#ifdef ACPI_DUMP_APP #define ACPI_USE_NATIVE_MEMORY_MAPPING -#define USE_NATIVE_ALLOCATE_ZEROED #endif /* acpi_names/Example configuration. Hardware disabled */
Signature · 1 line
1.7.10
PATCH 19/30 ACPICA: Clib: Fix build issues when ACPI_USE_STANDARD_HEADERS is not defined by converting size_t to acpi_size
In reply to Lv ZhengACPICA commit 7cf411136c69ef0b8f184b96599eb45c15b89226
When standard size_t is not defined due to ACPI_USE_STANDARD_HEADERS=n, we shouldn't use size_t, but should use acpi_size instead. This fixes such build issue. Lv Zheng.
--- tools/power/acpi/tools/acpidump/apfiles.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
tools/power/acpi/tools/acpidump/apfiles.c +2 -2
@@ -134,7 +134,7 @@ int ap_write_to_binary_file(struct acpi_table_header *table, u32 instance)char filename[ACPI_NAME_SIZE +16 ];char instance_str[16 ];ACPI_FILE file; -size_t actual; +acpi_size actual;u32 table_length;/* Obtain table length */
@@ -211,7 +211,7 @@ struct acpi_table_header *ap_get_table_from_file(char *pathname,struct acpi_table_header *buffer =NULL ;ACPI_FILE file;u32 file_size; -size_t actual; +acpi_size actual;/* Must use binary mode */
Signature · 1 line
1.7.10
PATCH 20/30 ACPICA: Clib: Cleanup va_arg related code
In reply to Lv ZhengACPICA commit 32701b33cdc48d9bc43da8c9274cf172135b68fc
We in fact is always using the compiler specific stdarg.h for GCC even when ACPI_USE_STANDARD_HEADERS is not defined. So that the va_arg usages can always be correct for different compiler options.
Likewise, the va_arg implemented in acenv.h is actually MSVC specific, this patch also moves it to acmsvc.h and tunes acwin.h to correctly use it.
After cleaning up, this patch removes all <stdarg.h> inclusions from other files, but doesn't touch the BSD headers. Lv Zheng.
--- include/acpi/platform/acenv.h | 40 --------------------------------------- include/acpi/platform/acgcc.h | 6 ++++++ include/acpi/platform/aclinux.h | 1 - 3 files changed, 6 insertions(+), 41 deletions(-)
include/acpi/platform/acenv.h +0 -40
@@ -342,52 +342,12 @@/* Use the standard headers from the standard locations */ -#include <stdarg.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #endif /* ACPI_USE_STANDARD_HEADERS */ -/* We will be linking to the standard Clib functions */ - -#else - -/****************************************************************************** -* -* Not using native C library, use local implementations -* -*****************************************************************************/ - -/* -* Use local definitions of C library macros and functions. These function -* implementations may not be as efficient as an inline or assembly code -* implementation provided by a native C library, but they are functionally -* equivalent. -*/ -#ifndef va_arg - -#ifndef _VALIST -#define _VALIST -typedef char *va_list ; -#endif /* _VALIST */ - -/* Storage alignment properties */ - -#define _AUPBND (sizeof (acpi_native_int) - 1) -#define _ADNBND (sizeof (acpi_native_int) - 1) - -/* Variable argument list macro definitions */ - -#define _bnd (X , bnd) (((sizeof (X)) + (bnd)) & (~(bnd))) -#define va_arg (ap,T ) (*(T *)(((ap) += (_bnd (T, _AUPBND))) - (_bnd (T,_ADNBND)))) -#define va_end (ap) (ap = (va_list) NULL) -#define va_start (ap,A ) (void) ((ap) = (((char *) &(A)) + (_bnd (A,_AUPBND)))) - -#endif /* va_arg */ - -/* Use the local (ACPICA) definitions of the clib functions */ -#endif /* ACPI_USE_SYSTEM_CLIBRARY */ #ifndef ACPI_FILE
include/acpi/platform/acgcc.h +6 -0
@@ -44,6 +44,12 @@#ifndef __ACGCC_H__#define __ACGCC_H__ +/* +* Use compiler specific <stdarg.h> is a good practice for even when +* -nostdinc is specified (i.e., ACPI_USE_STANDARD_HEADERS undefined. +*/ +#include <stdarg.h> +#define ACPI_INLINE __inline__/* Function name is used for debug output. Non-ANSI, compiler-dependent */
include/acpi/platform/aclinux.h +0 -1
@@ -180,7 +180,6 @@#else /* !__KERNEL__ */ -#include <stdarg.h> #include <string.h> #include <stdlib.h> #include <ctype.h>
Signature · 1 line
1.7.10
PATCH 21/30 ACPICA: Clib: Fix wrong mini C library usage
In reply to Lv ZhengACPICA commit 4aab18466b56f3660f27cffd3c0160900737f844
When mini C library is used, we should have the following macros undefined. The only user should be the EFI applications:
ACPI_USE_SYSTEM_CLIBRARY=n
ACPI_USE_STANDARD_HEADERS=n
All other applications uses the compiler specific library:
ACPI_USE_SYSTEM_CLIBRARY=y
ACPI_USE_STANDARD_HEADERS=y
Linux/BSD kernels are the kind of hosts providing C library but does not provide the standard headers:
ACPI_USE_SYSTEM_CLIBRARY=y
ACPI_USE_STANDARD_HEADERS=n
But the above logic hasn't been synchronized between the header files.
This patch synchronizes all header files to correct C library usages for different platforms. This patch moves all ACPI_USE_SYSTEM_CLIRARY and ACPI_USE_STANDARD_HEADERS to the top most lines of a platform specific header.
After synchronization, ACPI_USE_SYSTEM_CLIRARY definition can be removed for ACPI_APPLICATION. Lv Zheng.
--- include/acpi/platform/acenv.h | 7 ++----- include/acpi/platform/aclinux.h | 7 ++++--- 2 files changed, 6 insertions(+), 8 deletions(-)
include/acpi/platform/acenv.h +2 -5
@@ -149,7 +149,6 @@/* Common for all ACPICA applications */ #ifdef ACPI_APPLICATION -#define ACPI_USE_SYSTEM_CLIBRARY #define ACPI_USE_LOCAL_CACHE #endif
@@ -326,7 +325,8 @@* ACPI_USE_SYSTEM_CLIBRARY - Define this if linking to an actual C library. * Otherwise, local versions of string/memory functions will be used. * ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and -* the standard header files may be used. +* the standard header files may be used. Defining this implies that +* ACPI_USE_SYSTEM_CLIBRARY has been defined. * * The ACPICA subsystem only uses low level C library functions that do not * call operating system services and may therefore be inlined in the code.
@@ -334,7 +334,6 @@* It may be necessary to tailor these include files to the target * generation environment. */ -#ifdef ACPI_USE_SYSTEM_CLIBRARY /* Use the standard C library headers. We want to keep these to a minimum. */
@@ -348,8 +347,6 @@#endif /* ACPI_USE_STANDARD_HEADERS */ -#endif /* ACPI_USE_SYSTEM_CLIBRARY */ -#ifndef ACPI_FILE #ifdef ACPI_APPLICATION #include <stdio.h>
include/acpi/platform/aclinux.h +4 -3
@@ -180,10 +180,11 @@#else /* !__KERNEL__ */ -#include <string.h> -#include <stdlib.h> -#include <ctype.h> +#define ACPI_USE_STANDARD_HEADERS + +#ifdef ACPI_USE_STANDARD_HEADERS #include <unistd.h> +#endif /* Define/disable kernel-specific declarators */
Signature · 1 line
1.7.10
PATCH 22/30 ACPICA: Clib/EFI: Fix wrong order of standard integer types/IO handles
In reply to Lv ZhengACPICA commit 7f9b359b7c78c69b07f62eb2d58f710c351fd75d
EFI header should use standard C library stuffs (integer types and IO handles) rather than implementing such standard stuffs.
This patch fixes this issue by:
1. Implementing standard integer types for ACPI_USE_STANDARD_HADERS=n;
2. Defining EFI types using standard integer types and standard IO handles;
3. Tuning header inclusion order and environment definition order;
4. Removing wrong standard header inclusion from ACPICA core files;
5. Moving several application headers from acpidump.h to acenv.h. This patch corrects some of them. Lv Zheng.
Except some harmless header inclusion re-ordering, Linux kernel is not affected by this change.
--- drivers/acpi/acpica/acapps.h | 2 -- drivers/acpi/acpica/utpredef.c | 2 -- include/acpi/platform/acenv.h | 23 ++++++++++++++--------- include/acpi/platform/acenvex.h | 14 ++++++++------ tools/power/acpi/common/cmfsize.c | 1 - tools/power/acpi/tools/acpidump/acpidump.h | 5 ----- 6 files changed, 22 insertions(+), 25 deletions(-)
drivers/acpi/acpica/acapps.h +0 -2
@@ -44,8 +44,6 @@#ifndef _ACAPPS#define _ACAPPS -#include <stdio.h> -/* Common info for tool signons */ #define ACPICA_NAME "Intel ACPI Component Architecture"
drivers/acpi/acpica/utpredef.c +0 -2
@@ -176,8 +176,6 @@ void acpi_ut_get_expected_return_types(char *buffer, u32 expected_btypes)******************************************************************************/ #if (definedACPI_ASL_COMPILER || definedACPI_HELP_APP ) -#include <stdio.h> -#include <string.h> /* Local prototypes */
include/acpi/platform/acenv.h +14 -9
@@ -209,18 +209,20 @@#elif defined(__OS2__)#include "acos2.h" -#elif defined(_AED_EFI) -#include "acefi.h" - -#elif defined(_GNU_EFI) -#include "acefi.h" -#elif defined(__HAIKU__)#include "achaiku.h" #elif defined(__QNX__)#include "acqnx.h" +/* +* EFI applications can be built with -nostdlib, in this case, it must be +* included after including all other host environmental definitions, in +* order to override the definitions. +*/ +#elif defined(_AED_EFI) || defined(_GNU_EFI) +#include "acefi.h" +#else /* Unknown environment */
@@ -344,12 +346,16 @@#include <stdlib.h> #include <string.h> #include <ctype.h> +#ifdef ACPI_APPLICATION +#include <stdio.h> +#include <fcntl.h> +#include <errno.h> +#include <sys/stat.h> +#endif #endif /* ACPI_USE_STANDARD_HEADERS */ -#ifndef ACPI_FILE #ifdef ACPI_APPLICATION -#include <stdio.h> #define ACPI_FILE FILE *#define ACPI_FILE_OUT stdout#define ACPI_FILE_ERR stderr
@@ -358,7 +364,6 @@#define ACPI_FILE_OUT NULL#define ACPI_FILE_ERR NULL#endif /* ACPI_APPLICATION */ -#endif /* ACPI_FILE */ #ifndef ACPI_INIT_FUNCTION #define ACPI_INIT_FUNCTION
include/acpi/platform/acenvex.h +8 -6
@@ -59,15 +59,17 @@#elif defined(WIN32 )#include "acwinex.h" -#elif defined(_AED_EFI) -#include "acefiex.h" - -#elif defined(_GNU_EFI) -#include "acefiex.h" -#elif defined(__DragonFly__)#include "acdragonflyex.h" +/* +* EFI applications can be built with -nostdlib, in this case, it must be +* included after including all other host environmental definitions, in +* order to override the definitions. +*/ +#elif defined(_AED_EFI) || defined(_GNU_EFI) +#include "acefiex.h" +#endif /*! [End] no source code translation !*/
tools/power/acpi/common/cmfsize.c +0 -1
@@ -44,7 +44,6 @@#include <acpi/acpi.h> #include "accommon.h" #include "acapps.h" -#include <stdio.h> #define _COMPONENT ACPI_TOOLSACPI_MODULE_NAME ("cmfsize" )
tools/power/acpi/tools/acpidump/acpidump.h +0 -5
@@ -56,11 +56,6 @@#include "accommon.h" #include "actables.h" -#include <stdio.h> -#include <fcntl.h> -#include <errno.h> -#include <sys/stat.h> -/* Globals */ EXTERN u8 INIT_GLOBAL(gbl_summary_mode, FALSE);
Signature · 1 line
1.7.10
PATCH 23/30 ACPICA: MSVC9: Fix <sys/stat.h> inclusion order issue
In reply to Lv ZhengACPICA commit 9bb265c2afb9910e46f820d6759648580edabd09
When /Za is specified, headers of some Windows SDKs contain bugs breaking VC builds, and MSVC9's default SDK is one of such header-buggy library.
In order to solve this issue, many VC developers stop using /Za. However we've been asked to have this fixed without removing /Za.
In MSVC9 default SDK, this issue can be fixed by restricting <sys/stat.h> to be the last standard file included by every source file in the projects. This patch thus moves <sys/stat.h> inclusion to "acapps.h", so that this issue can be fixed by ensuring that "acapps.h" is always the last standard file included by all of the ACPICA source files. This is in fact also a useful cleanup because applications can only include one header (e.x., acpidump.h) instead of including acapps.h separately. Lv Zheng.
Except some harmless header inclusion re-ordering, Linux kernel is not affected by this change.
--- drivers/acpi/acpica/acapps.h | 4 ++++ include/acpi/platform/acenv.h | 3 ++- tools/power/acpi/tools/acpidump/acpidump.h | 1 + tools/power/acpi/tools/acpidump/apfiles.c | 1 - tools/power/acpi/tools/acpidump/apmain.c | 1 - 5 files changed, 7 insertions(+), 3 deletions(-)
drivers/acpi/acpica/acapps.h +4 -0
@@ -44,6 +44,10 @@#ifndef _ACAPPS#define _ACAPPS +#ifdef ACPI_USE_STANDARD_HEADERS +#include <sys/stat.h> +#endif /* ACPI_USE_STANDARD_HEADERS */ +/* Common info for tool signons */ #define ACPICA_NAME "Intel ACPI Component Architecture"
include/acpi/platform/acenv.h +2 -1
@@ -350,7 +350,8 @@#include <stdio.h> #include <fcntl.h> #include <errno.h> -#include <sys/stat.h> +#include <time.h> +#include <signal.h> #endif #endif /* ACPI_USE_STANDARD_HEADERS */
tools/power/acpi/tools/acpidump/acpidump.h +1 -0
@@ -55,6 +55,7 @@#include <acpi/acpi.h> #include "accommon.h" #include "actables.h" +#include "acapps.h" /* Globals */
tools/power/acpi/tools/acpidump/apfiles.c +0 -1
@@ -42,7 +42,6 @@*/ #include "acpidump.h" -#include "acapps.h" /* Local prototypes */
tools/power/acpi/tools/acpidump/apmain.c +0 -1
@@ -43,7 +43,6 @@#define _DECLARE_GLOBALS#include "acpidump.h" -#include "acapps.h" /* * acpidump - A portable utility for obtaining system ACPI tables and dumping
Signature · 1 line
1.7.10
PATCH 24/30 ACPICA: Clib: Add -nostdinc support for EFI layer
In reply to Lv ZhengACPICA commit d261d40ea168f8e4c4e3986de720b8651c4aba1c
This patch adds sprintf()/snprintf()/vsnprintf()/printf()/vfprintf() support for OSPMs that have ACPI_USE_SYSTEM_CLIBRARY defined but do not have ACPI_USE_STANDARD_HEADERS defined.
-iwithprefix include is required to include <stdarg.h> which contains compiler specific implementation of vargs when -nostdinc is specified. -fno-builtin is required for GCC to avoid optimization performed printf(). This optimization cannot be automatically disabled by specifying -nostdlib. Please refer to the Link 1 for the details. However, the build option changes do not affect Linux kernel builds and are not included. Lv Zheng.
Link 1: http://www.ciselant.de/projects/gcc_printf/gcc_printf.html
--- drivers/acpi/acpica/acutils.h | 19 ------ drivers/acpi/acpica/utbuffer.c | 30 ++++----- drivers/acpi/acpica/utdebug.c | 2 +- drivers/acpi/acpica/utprint.c | 104 +++++++++++++++++++++++++---- tools/power/acpi/tools/acpidump/apdump.c | 6 +- tools/power/acpi/tools/acpidump/apfiles.c | 3 +- 6 files changed, 109 insertions(+), 55 deletions(-)
drivers/acpi/acpica/acutils.h +0 -19
@@ -724,25 +724,6 @@ const struct ah_device_id *acpi_ah_match_hardware_id(char *hid);const char *acpi_ah_match_uuid (u8 *data);/* -* utprint - printf/vprintf output functions -*/ -const char *acpi_ut_scan_number (const char *string,u64 *number_ptr); - -const char *acpi_ut_print_number (char *string,u64 number); - -int -acpi_ut_vsnprintf (char *string, -acpi_size size,const char *format,va_list args); - -int acpi_ut_snprintf (char *string,acpi_size size,const char *format, ...); - -#ifdef ACPI_APPLICATION -int acpi_ut_file_vprintf (ACPI_FILE file,const char *format,va_list args); - -int acpi_ut_file_printf (ACPI_FILE file,const char *format, ...); -#endif - -/* * utuuid -- UUID support functions */ #if (definedACPI_ASL_COMPILER || definedACPI_EXEC_APP || definedACPI_HELP_APP )
drivers/acpi/acpica/utbuffer.c +14 -16
@@ -239,8 +239,7 @@ acpi_ut_dump_buffer_to_file(ACPI_FILE file,u8 buf_char;if (!buffer) { -acpi_ut_file_printf (file, -"Null Buffer Pointer in DumpBuffer!\n" ); +fprintf (file,"Null Buffer Pointer in DumpBuffer!\n" );return ; }
@@ -254,7 +253,7 @@ acpi_ut_dump_buffer_to_file(ACPI_FILE file,/* Print current offset */ -acpi_ut_file_printf (file,"%6.4X: " , (base_offset + i)); +fprintf (file,"%6.4X: " , (base_offset + i));/* Print 16 hex chars */
@@ -263,8 +262,7 @@ acpi_ut_dump_buffer_to_file(ACPI_FILE file,/* Dump fill spaces */ -acpi_ut_file_printf (file,"%*s" , - ((display *2 ) +1 )," " ); +fprintf (file,"%*s" , ((display *2 ) +1 )," " ); j += display;continue ; }
@@ -273,34 +271,34 @@ acpi_ut_dump_buffer_to_file(ACPI_FILE file,case DB_BYTE_DISPLAY :default :/* Default is BYTE display */ -acpi_ut_file_printf (file,"%02X " , - buffer[(acpi_size )i + j]); +fprintf (file,"%02X " , + buffer[(acpi_size )i + j]);break ;case DB_WORD_DISPLAY :ACPI_MOVE_16_TO_32 (&temp32, &buffer[(acpi_size )i + j]); -acpi_ut_file_printf (file,"%04X " , temp32); +fprintf (file,"%04X " , temp32);break ;case DB_DWORD_DISPLAY :ACPI_MOVE_32_TO_32 (&temp32, &buffer[(acpi_size )i + j]); -acpi_ut_file_printf (file,"%08X " , temp32); +fprintf (file,"%08X " , temp32);break ;case DB_QWORD_DISPLAY :ACPI_MOVE_32_TO_32 (&temp32, &buffer[(acpi_size )i + j]); -acpi_ut_file_printf (file,"%08X" , temp32); +fprintf (file,"%08X" , temp32);ACPI_MOVE_32_TO_32 (&temp32, &buffer[(acpi_size )i + j +4 ]); -acpi_ut_file_printf (file,"%08X " , temp32); +fprintf (file,"%08X " , temp32);break ; }
@@ -311,24 +309,24 @@ acpi_ut_dump_buffer_to_file(ACPI_FILE file,* Print the ASCII equivalent characters but watch out for the bad * unprintable ones (printable chars are 0x20 through 0x7E) */ -acpi_ut_file_printf (file," " ); +fprintf (file," " );for (j =0 ; j <16 ; j++) {if (i + j >= count) { -acpi_ut_file_printf (file,"\n" ); +fprintf (file,"\n" );return ; } buf_char = buffer[(acpi_size )i + j];if (isprint (buf_char)) { -acpi_ut_file_printf (file,"%c" , buf_char); +fprintf (file,"%c" , buf_char); }else { -acpi_ut_file_printf (file,"." ); +fprintf (file,"." ); } }/* Done with that line. */ -acpi_ut_file_printf (file,"\n" ); +fprintf (file,"\n" ); i +=16 ; }
drivers/acpi/acpica/utdebug.c +1 -1
@@ -646,7 +646,7 @@ void ACPI_INTERNAL_VAR_XFACE acpi_log_error(const char *format, ...)va_list args;va_start (args, format); - (void )acpi_ut_file_vprintf (ACPI_FILE_ERR , format, args); + (void )vfprintf (ACPI_FILE_ERR , format, args);va_end (args); }
drivers/acpi/acpica/utprint.c +90 -14
167 lines not on this page · raw message
tools/power/acpi/tools/acpidump/apdump.c +3 -3
@@ -195,13 +195,13 @@ ap_dump_table_buffer(struct acpi_table_header *table,* Note: simplest to just always emit a 64-bit address. acpi_xtract * utility can handle this. */ -acpi_ut_file_printf (gbl_output_file,"%4.4s @ 0x%8.8X%8.8X\n" , - table->signature,ACPI_FORMAT_UINT64 (address)); +fprintf (gbl_output_file,"%4.4s @ 0x%8.8X%8.8X\n" , + table->signature,ACPI_FORMAT_UINT64 (address));acpi_ut_dump_buffer_to_file (gbl_output_file,ACPI_CAST_PTR (u8, table), table_length,DB_BYTE_DISPLAY ,0 ); -acpi_ut_file_printf (gbl_output_file,"\n" ); +fprintf (gbl_output_file,"\n" );return (0 ); }
tools/power/acpi/tools/acpidump/apfiles.c +1 -2
@@ -157,8 +157,7 @@ int ap_write_to_binary_file(struct acpi_table_header *table, u32 instance)/* Handle multiple SSDts - create different filenames for each */ if (instance >0 ) { -acpi_ut_snprintf (instance_str,sizeof (instance_str),"%u" , - instance); +snprintf (instance_str,sizeof (instance_str),"%u" , instance);strcat (filename, instance_str); }
Signature · 1 line
1.7.10
PATCH 26/30 ACPICA: Applications: Fix a potential issue that help messages may be dumped to acpi_gbl_debug_file
In reply to Lv ZhengACPICA commit d1b7372c7eb89cdba3d3c239fb07e2fdc5abf880
This is a regression fix, restoring usage macro to its original implementation.
There is an issue for usage macros, if an command line option changed acpi_gbl_debug_file, then the follow up usage message may be errornously dumped to the debug file.
This is just a bug in theory, because currently acpi_gbl_debug_file can only be modified by acpibin and acpiexec. And this will not trigger such issue because:
1. For acpibin, acpi_gbl_debug_file will be modified by "-t" option and the program exits after processing this option without dumping help message or other error options.
2. For acpiexec, acpi_gbl_debug_file will only be modified by the open command, which happens after parsing the command line options, so no help message will be dumped into the debug file.
But maintaining this logic is difficult, so this patch modifies acpi_os_printf() into printf() for usage macros so that the help messages are ensured to be dumped to the stdout. Lv Zheng.
--- drivers/acpi/acpica/acapps.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/acpi/acpica/acapps.h +3 -3
@@ -83,13 +83,13 @@/* Macros for usage messages */ #define ACPI_USAGE_HEADER (usage) \ - acpi_os_printf ("Usage: %s\nOptions:\n", usage); + printf ("Usage: %s\nOptions:\n", usage);#define ACPI_USAGE_TEXT (description) \ - acpi_os_printf (description); + printf (description);#define ACPI_OPTION (name, description) \ - acpi_os_printf (" %-20s%s\n", name, description); + printf (" %-20s%s\n", name, description);/* Check for unexpected exceptions */
Signature · 1 line
1.7.10
PATCH 27/30 ACPICA: EFI: Port acpidump to EDK2 environment
In reply to Lv ZhengACPICA commit 790b8bae858d6d97da6099c9f8485d4760035a0c
Linux kernel is not affected by this change.
--- include/acpi/platform/acenv.h | 2 +- include/acpi/platform/acenvex.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
include/acpi/platform/acenv.h +1 -1
@@ -220,7 +220,7 @@* included after including all other host environmental definitions, in * order to override the definitions. */ -#elif defined(_AED_EFI) || defined(_GNU_EFI) +#elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI)#include "acefi.h" #else
include/acpi/platform/acenvex.h +1 -1
@@ -67,7 +67,7 @@* included after including all other host environmental definitions, in * order to override the definitions. */ -#elif defined(_AED_EFI) || defined(_GNU_EFI) +#elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI)#include "acefiex.h" #endif
Signature · 1 line
1.7.10
PATCH 28/30 ACPICA: OSL: Cleanup the inclusion order of the compiler-specific headers
In reply to Lv ZhengACPICA commit a760a98ec84b1ec782e0bff5f6612af6fb89c10c
Originally compiler specific headers are included by the host-specific headers. This makes build configuration management very inconvenient. And many inclusion order issues can be hidden accross different host OSes. It will then likely that some host builds will be broken just because of fixing some inclusion order issues for other host builds.
This patch splits the compiler-specific header inclusions out of the host-specific headers so that compiler-specific inclusion order issues will not get entangled in the host-specific inclusion orders.
Note that intel compiler defines __GNUC__, so this patch contains special handling because acintel.h and acgcc.h should be mutual exclusive.
--- include/acpi/platform/acenv.h | 13 ++++++++++++- include/acpi/platform/acenvex.h | 8 +++++--- include/acpi/platform/aclinux.h | 4 ---- 3 files changed, 17 insertions(+), 8 deletions(-)
include/acpi/platform/acenv.h +12 -1
@@ -166,10 +166,21 @@/****************************************************************************** * * Host configuration files. The compiler configuration files are included -* by the host files. +* first. * *****************************************************************************/ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) +#include <acpi/platform/acgcc.h> + +#elif defined(_MSC_VER) +#include "acmsvc.h" + +#elif defined(__INTEL_COMPILER) +#include "acintel.h" + +#endif +#if defined(_LINUX) || defined(__linux__)#include <acpi/platform/aclinux.h>
include/acpi/platform/acenvex.h +5 -3
@@ -56,9 +56,6 @@#if defined(_LINUX) || defined(__linux__)#include <acpi/platform/aclinuxex.h> -#elif defined(WIN32 ) -#include "acwinex.h" -#elif defined(__DragonFly__)#include "acdragonflyex.h"
@@ -72,6 +69,11 @@#endif +#if defined(_MSC_VER) +#include "acmsvcex.h" + +#endif +/*! [End] no source code translation !*/ #endif /* __ACENVEX_H__ */
include/acpi/platform/aclinux.h +0 -4
@@ -215,8 +215,4 @@#endif /* __KERNEL__ */ -/* Linux uses GCC */ - -#include <acpi/platform/acgcc.h> -#endif /* __ACLINUX_H__ */
Signature · 1 line
1.7.10
PATCH 29/30 ACPICA: OSL: Fix a regression that old GCC requires a workaround for strchr()
In reply to Lv ZhengACPICA commit be836c36454a624a4fb1d17234080ef8c07993fc
There is a GCC false-warning issue on specific GCC versions that "strchr" will be preprocessed and extracted to contain !__buildin_constant_p() checker and it surely is a constant logical value "1" for strchr() arguments. Then -Wlogical-op errorneously reports a warning.
The regression is triggered after the standard headers are re-ordered in the EFI porting task. This patch fixes this regression by moving the workaround to a new position after including all other standard headers.
--- include/acpi/platform/acenvex.h | 5 +++- include/acpi/platform/acgcc.h | 11 -------- include/acpi/platform/acgccex.h | 58 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 12 deletions(-) create mode 100644 include/acpi/platform/acgccex.h
include/acpi/platform/acenvex.h +4 -1
@@ -69,7 +69,10 @@#endif -#if defined(_MSC_VER) +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) +#include "acgccex.h" + +#elif defined(_MSC_VER)#include "acmsvcex.h" #endif
include/acpi/platform/acgcc.h +0 -11
@@ -70,17 +70,6 @@*/ #define ACPI_UNUSED_VAR __attribute__ ((unused)) -/* -* Some versions of gcc implement strchr() with a buggy macro. So, -* undef it here. Prevents error messages of this form (usually from the -* file getopt.c): -* -* error: logical '&&' with non-zero constant will always evaluate as true -*/ -#ifdef strchr -#undef strchr -#endif -/* GCC supports __VA_ARGS__ in macros */ #define COMPILER_VA_MACRO 1
include/acpi/platform/acgccex.h new file +58 -0
58 lines not on this page · raw message
Signature · 1 line
1.7.10
PATCH 30/30 ACPICA: Update version to 20160629
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
ACPICA commit 1e997ab9a5b939533374fd567681f881cb97c4c7
Version 20160629.
--- include/acpi/acpixf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/acpi/acpixf.h +1 -1
@@ -46,7 +46,7 @@/* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20160422 +#define ACPI_CA_VERSION 0x20160729#include <acpi/acconfig.h> #include <acpi/actypes.h>
Signature · 1 line
1.7.10
Quoted 134 lines · Lv Zheng
The 20160629 ACPICA kernel-resident subsystem updates are linuxized based on the linux-pm/linux-next branch.
The patchset has passed the following build/boot tests. Build tests are performed as follows:
1. i386 + allyes
2. i386 + allno
3. i386 + default + ACPI_DEBUGGER=y
4. i386 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y
5. i386 + default + ACPI_DEBUG=n + ACPI=y
6. i386 + default + ACPI=n
7.x86_64+ allyes
8.x86_64+ allno
9.x86_64+ default + ACPI_DEBUGGER=y
10.x86_64 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y 11.x86_64 + default + ACPI_DEBUG=n + ACPI=y
12.x86_64 + default + ACPI=n
Boot tests are performed as follows:
1. i386 + default + ACPI_DEBUGGER=y
2.x86_64+ default + ACPI_DEBUGGER=y
Where:
1. i386: machine named as "Dell Inspiron Mini 1010"
2.x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
3. default: kernel configuration with following items enabled:
All hardware drivers related to the machines of i386/x86_64 All "drivers/acpi" configurations
All "drivers/platform" drivers
All other drivers that link the APIs provided by ACPICA subsystemThe divergences checking result:
Before applying (20160422 Release):
494 lines
After applying (20160629 Release):
508 linesBob Moore (8):
ACPICA: Interpreter: Remove temporary code forExternal()opcode
ACPICA: Debugger: Extend some max line lengths
ACPICA: Disassembler: Add option to emit embedded External
operators/opcodes
ACPICA: Simplify configuration for "Max Loops" system parameter
ACPICA: iASL/Disassembler: Add a check for missing filename
ACPICA: Useos_allocate_zeroed
ACPICA: FADT support cleanup
ACPICA: Update version to 20160629Jung-uk Kim (2):
ACPICA: Fix deconstification warnings (-Wcast-qual) with function
traces.
ACPICA: Fix deconstification warnings (-Wcast-qual) with
acpi_ns_root_initialize().Lv Zheng (20):
ACPICA: Utilities: Introduce facility to allow Linux to set correct
logging levels
ACPICA: Divergence: Port declarators back to ACPICA
ACPICA: Events: Introduceacpi_mask_gpe()to implement GPE masking
mechanism
ACPI / sysfs: Update/sys/firmware/acpi/interrupts/gpexxusing new
GPE masking mechanism
ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
ACPICA: Debugger: Fix wrong inclusions indbfileio.c
ACPICA: OSL: Add correctacpi_gbl_debug_timeoutexport to allow
acpiexec to link
ACPICA: acpidump: Fix a duplicate variable definition
ACPICA: Applications: EnableUSE_NATIVE_ALLOCATE_ZEROEDenvironment
for all applications
ACPICA: Clib: Fix build issues whenACPI_USE_STANDARD_HEADERSis not
defined by convertingsize_ttoacpi_size
ACPICA: Clib: Cleanupva_argrelated code
ACPICA: Clib: Fix wrong mini C library usage
ACPICA: Clib/EFI: Fix wrong order of standard integer types/IO
handles
ACPICA: MSVC9: Fix <sys/stat.h> inclusion order issue
ACPICA: Clib: Add -nostdinc support for EFI layer
ACPICA: Clib: Eliminate acpi_os_XXXFile()/acpi_log_error and link
clibrary fxxx()/errno/perror() instead
ACPICA: Applications: Fix a potential issue that help messages may be
dumped toacpi_gbl_debug_file
ACPICA: EFI: Port acpidump to EDK2 environment
ACPICA: OSL: Cleanup the inclusion order of the compiler-specific
headers
ACPICA: OSL: Fix a regression that old GCC requires a workaround for
strchr()Documentation/kernel-parameters.txt | 10 + drivers/acpi/acpica/acapps.h | 10 +- drivers/acpi/acpica/acevents.h | 3 + drivers/acpi/acpica/acglobal.h | 2 + drivers/acpi/acpica/aclocal.h | 2 + drivers/acpi/acpica/actables.h | 3 +- drivers/acpi/acpica/acutils.h | 36 ++-- drivers/acpi/acpica/dbfileio.c | 20 +- drivers/acpi/acpica/dbobject.c | 4 +- drivers/acpi/acpica/dsutils.c | 17 +- drivers/acpi/acpica/evgpe.c | 57 +++++ drivers/acpi/acpica/evxfgpe.c | 43 ++++ drivers/acpi/acpica/hwgpe.c | 23 ++- drivers/acpi/acpica/nsaccess.c | 6 +- drivers/acpi/acpica/nsdump.c | 2 +- drivers/acpi/acpica/tbfadt.c | 10 +- drivers/acpi/acpica/tbutils.c | 3 +- drivers/acpi/acpica/tbxface.c | 4 +- drivers/acpi/acpica/tbxfload.c | 4 +- drivers/acpi/acpica/tbxfroot.c | 5 +- drivers/acpi/acpica/utbuffer.c | 30 ++- drivers/acpi/acpica/utdebug.c | 61 +++--- drivers/acpi/acpica/utdecode.c | 2 +- drivers/acpi/acpica/utinit.c | 2 +- drivers/acpi/acpica/utpredef.c | 2 - drivers/acpi/acpica/utprint.c | 105 ++++++++-- drivers/acpi/acpica/uttrack.c | 4 +- drivers/acpi/acpica/utxface.c | 2 +- drivers/acpi/acpica/utxfinit.c | 6 +- drivers/acpi/internal.h | 1 + drivers/acpi/scan.c | 1 + drivers/acpi/sleep.c | 2 +- drivers/acpi/sysfs.c | 89 +++++++- include/acpi/acconfig.h | 4 + include/acpi/acoutput.h | 6 +- include/acpi/acpiosxf.h | 43 +--- include/acpi/acpixf.h | 37 ++-- include/acpi/actbl.h | 164 ++++++++------- include/acpi/actypes.h | 48 ++--- include/acpi/platform/acenv.h | 90 +++----- include/acpi/platform/acenvex.h | 21 +- include/acpi/platform/acgcc.h | 17 +- include/acpi/platform/acgccex.h | 58 ++++++ include/acpi/platform/aclinux.h | 22 +- include/acpi/platform/aclinuxex.h | 2 +- tools/power/acpi/common/cmfsize.c | 13 +- tools/power/acpi/common/getopt.c | 4 +- .../acpi/os_specific/service_layers/oslibcfs.c | 217 -------------------- .../acpi/os_specific/service_layers/osunixxf.c | 3 -
Quoted 9 lines
tools/power/acpi/tools/acpidump/Makefile | 1 - tools/power/acpi/tools/acpidump/acpidump.h | 12 +- tools/power/acpi/tools/acpidump/apdump.c | 71 +++---- tools/power/acpi/tools/acpidump/apfiles.c | 56 ++--- tools/power/acpi/tools/acpidump/apmain.c | 33 +-- 54 files changed, 796 insertions(+), 697 deletions(-) create mode 100644 include/acpi/platform/acgccex.h delete mode 100644 tools/power/acpi/os_specific/service_layers/oslibcfs.c
I'm very confused. I don't see a 20160629 release on the ACPICA .org download site. There is a 20160729, though; is this just a typo? Patch 30/30 indicates it is...
Signature · 8 lines
ciao, al ----------------------------------- Al Stone Software Engineer Red Hat, Inc. [email protected] -----------------------------------
Hi,
Quoted 149 lines
From: Al Stone [mailto:[email protected]]
Subject: Re: [PATCH 00/30] ACPICA: 20160629 ReleaseQuoted 1 line · Lv Zheng
The 20160629 ACPICA kernel-resident subsystem updates are linuxized
based
Quoted 51 lines
on the linux-pm/linux-next branch.
The patchset has passed the following build/boot tests. Build tests are performed as follows:
1. i386 + allyes
2. i386 + allno
3. i386 + default + ACPI_DEBUGGER=y
4. i386 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y
5. i386 + default + ACPI_DEBUG=n + ACPI=y
6. i386 + default + ACPI=n
7.x86_64+ allyes
8.x86_64+ allno
9.x86_64+ default + ACPI_DEBUGGER=y
10.x86_64 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y 11.x86_64 + default + ACPI_DEBUG=n + ACPI=y
12.x86_64 + default + ACPI=n
Boot tests are performed as follows:
1. i386 + default + ACPI_DEBUGGER=y
2.x86_64+ default + ACPI_DEBUGGER=y
Where:
1. i386: machine named as "Dell Inspiron Mini 1010"
2.x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
3. default: kernel configuration with following items enabled:
All hardware drivers related to the machines of i386/x86_64 All "drivers/acpi" configurations
All "drivers/platform" drivers
All other drivers that link the APIs provided by ACPICA subsystemThe divergences checking result:
Before applying (20160422 Release):
494 lines
After applying (20160629 Release):
508 linesBob Moore (8):
ACPICA: Interpreter: Remove temporary code forExternal()opcode
ACPICA: Debugger: Extend some max line lengths
ACPICA: Disassembler: Add option to emit embedded External
operators/opcodes
ACPICA: Simplify configuration for "Max Loops" system parameter
ACPICA: iASL/Disassembler: Add a check for missing filename
ACPICA: Useos_allocate_zeroed
ACPICA: FADT support cleanup
ACPICA: Update version to 20160629Jung-uk Kim (2):
ACPICA: Fix deconstification warnings (-Wcast-qual) with function
traces.
ACPICA: Fix deconstification warnings (-Wcast-qual) with
acpi_ns_root_initialize().Quoted 14 lines
Lv Zheng (20):
ACPICA: Utilities: Introduce facility to allow Linux to set correct
logging levels
ACPICA: Divergence: Port declarators back to ACPICA
ACPICA: Events: Introduceacpi_mask_gpe()to implement GPE masking
mechanism
ACPI / sysfs: Update/sys/firmware/acpi/interrupts/gpexxusing new
GPE masking mechanism
ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
ACPICA: Debugger: Fix wrong inclusions indbfileio.c
ACPICA: OSL: Add correctacpi_gbl_debug_timeoutexport to allow
acpiexec to link
ACPICA: acpidump: Fix a duplicate variable definition
ACPICA: Applications: EnableUSE_NATIVE_ALLOCATE_ZEROEDenvironment
Quoted 2 lines
for all applications
ACPICA: Clib: Fix build issues whenACPI_USE_STANDARD_HEADERSisnot
Quoted 66 lines
defined by converting
size_ttoacpi_size
ACPICA: Clib: Cleanupva_argrelated code
ACPICA: Clib: Fix wrong mini C library usage
ACPICA: Clib/EFI: Fix wrong order of standard integer types/IO
handles
ACPICA: MSVC9: Fix <sys/stat.h> inclusion order issue
ACPICA: Clib: Add -nostdinc support for EFI layer
ACPICA: Clib: Eliminate acpi_os_XXXFile()/acpi_log_error and link
clibrary fxxx()/errno/perror() instead
ACPICA: Applications: Fix a potential issue that help messages may be
dumped toacpi_gbl_debug_file
ACPICA: EFI: Port acpidump to EDK2 environment
ACPICA: OSL: Cleanup the inclusion order of the compiler-specific
headers
ACPICA: OSL: Fix a regression that old GCC requires a workaround for
strchr()Documentation/kernel-parameters.txt | 10 + drivers/acpi/acpica/acapps.h | 10 +- drivers/acpi/acpica/acevents.h | 3 + drivers/acpi/acpica/acglobal.h | 2 + drivers/acpi/acpica/aclocal.h | 2 + drivers/acpi/acpica/actables.h | 3 +- drivers/acpi/acpica/acutils.h | 36 ++-- drivers/acpi/acpica/dbfileio.c | 20 +- drivers/acpi/acpica/dbobject.c | 4 +- drivers/acpi/acpica/dsutils.c | 17 +- drivers/acpi/acpica/evgpe.c | 57 +++++ drivers/acpi/acpica/evxfgpe.c | 43 ++++ drivers/acpi/acpica/hwgpe.c | 23 ++- drivers/acpi/acpica/nsaccess.c | 6 +- drivers/acpi/acpica/nsdump.c | 2 +- drivers/acpi/acpica/tbfadt.c | 10 +- drivers/acpi/acpica/tbutils.c | 3 +- drivers/acpi/acpica/tbxface.c | 4 +- drivers/acpi/acpica/tbxfload.c | 4 +- drivers/acpi/acpica/tbxfroot.c | 5 +- drivers/acpi/acpica/utbuffer.c | 30 ++- drivers/acpi/acpica/utdebug.c | 61 +++--- drivers/acpi/acpica/utdecode.c | 2 +- drivers/acpi/acpica/utinit.c | 2 +- drivers/acpi/acpica/utpredef.c | 2 - drivers/acpi/acpica/utprint.c | 105 ++++++++-- drivers/acpi/acpica/uttrack.c | 4 +- drivers/acpi/acpica/utxface.c | 2 +- drivers/acpi/acpica/utxfinit.c | 6 +- drivers/acpi/internal.h | 1 + drivers/acpi/scan.c | 1 + drivers/acpi/sleep.c | 2 +- drivers/acpi/sysfs.c | 89 +++++++- include/acpi/acconfig.h | 4 + include/acpi/acoutput.h | 6 +- include/acpi/acpiosxf.h | 43 +--- include/acpi/acpixf.h | 37 ++-- include/acpi/actbl.h | 164 ++++++++------- include/acpi/actypes.h | 48 ++--- include/acpi/platform/acenv.h | 90 +++----- include/acpi/platform/acenvex.h | 21 +- include/acpi/platform/acgcc.h | 17 +- include/acpi/platform/acgccex.h | 58 ++++++ include/acpi/platform/aclinux.h | 22 +- include/acpi/platform/aclinuxex.h | 2 +- tools/power/acpi/common/cmfsize.c | 13 +- tools/power/acpi/common/getopt.c | 4 +- .../acpi/os_specific/service_layers/oslibcfs.c | 217 -------------------- .../acpi/os_specific/service_layers/osunixxf.c | 3 -Quoted 8 lines
tools/power/acpi/tools/acpidump/Makefile | 1 - tools/power/acpi/tools/acpidump/acpidump.h | 12 +- tools/power/acpi/tools/acpidump/apdump.c | 71 +++---- tools/power/acpi/tools/acpidump/apfiles.c | 56 ++--- tools/power/acpi/tools/acpidump/apmain.c | 33 +-- 54 files changed, 796 insertions(+), 697 deletions(-) create mode 100644 include/acpi/platform/acgccex.h delete mode 100644
Quoted 6 lines
tools/power/acpi/os_specific/service_layers/oslibcfs.cQuoted 1 line
I'm very confused. I don't see a 20160629 release on the ACPICA .org download site. There is a 20160729, though; is this just a typo? Patch 30/30 indicates it is...
[Lv Zheng]
I couldn't see 20160729 on acpica.org.
This is the original commit:
https://github.com/acpica/acpica/commit/1e997ab9a
I just followed the rule and generated the ACPICA release according to the indicator in the last commit. I'm not sure if this is a typo or just a delayed release.
Ciao,
Lv
Quoted 162 lines · Lv
Hi,
Quoted 149 lines
From: Al Stone [mailto:[email protected]]
Subject: Re: [PATCH 00/30] ACPICA: 20160629 ReleaseQuoted 1 line · Lv Zheng
The 20160629 ACPICA kernel-resident subsystem updates are linuxized
based
Quoted 51 lines
on the linux-pm/linux-next branch.
The patchset has passed the following build/boot tests. Build tests are performed as follows:
1. i386 + allyes
2. i386 + allno
3. i386 + default + ACPI_DEBUGGER=y
4. i386 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y
5. i386 + default + ACPI_DEBUG=n + ACPI=y
6. i386 + default + ACPI=n
7.x86_64+ allyes
8.x86_64+ allno
9.x86_64+ default + ACPI_DEBUGGER=y
10.x86_64 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y 11.x86_64 + default + ACPI_DEBUG=n + ACPI=y
12.x86_64 + default + ACPI=n
Boot tests are performed as follows:
1. i386 + default + ACPI_DEBUGGER=y
2.x86_64+ default + ACPI_DEBUGGER=y
Where:
1. i386: machine named as "Dell Inspiron Mini 1010"
2.x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
3. default: kernel configuration with following items enabled:
All hardware drivers related to the machines of i386/x86_64 All "drivers/acpi" configurations
All "drivers/platform" drivers
All other drivers that link the APIs provided by ACPICA subsystemThe divergences checking result:
Before applying (20160422 Release):
494 lines
After applying (20160629 Release):
508 linesBob Moore (8):
ACPICA: Interpreter: Remove temporary code forExternal()opcode
ACPICA: Debugger: Extend some max line lengths
ACPICA: Disassembler: Add option to emit embedded External
operators/opcodes
ACPICA: Simplify configuration for "Max Loops" system parameter
ACPICA: iASL/Disassembler: Add a check for missing filename
ACPICA: Useos_allocate_zeroed
ACPICA: FADT support cleanup
ACPICA: Update version to 20160629Jung-uk Kim (2):
ACPICA: Fix deconstification warnings (-Wcast-qual) with function
traces.
ACPICA: Fix deconstification warnings (-Wcast-qual) with
acpi_ns_root_initialize().Quoted 14 lines
Lv Zheng (20):
ACPICA: Utilities: Introduce facility to allow Linux to set correct
logging levels
ACPICA: Divergence: Port declarators back to ACPICA
ACPICA: Events: Introduceacpi_mask_gpe()to implement GPE masking
mechanism
ACPI / sysfs: Update/sys/firmware/acpi/interrupts/gpexxusing new
GPE masking mechanism
ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
ACPICA: Debugger: Fix wrong inclusions indbfileio.c
ACPICA: OSL: Add correctacpi_gbl_debug_timeoutexport to allow
acpiexec to link
ACPICA: acpidump: Fix a duplicate variable definition
ACPICA: Applications: EnableUSE_NATIVE_ALLOCATE_ZEROEDenvironment
Quoted 2 lines
for all applications
ACPICA: Clib: Fix build issues whenACPI_USE_STANDARD_HEADERSisnot
Quoted 66 lines
defined by converting
size_ttoacpi_size
ACPICA: Clib: Cleanupva_argrelated code
ACPICA: Clib: Fix wrong mini C library usage
ACPICA: Clib/EFI: Fix wrong order of standard integer types/IO
handles
ACPICA: MSVC9: Fix <sys/stat.h> inclusion order issue
ACPICA: Clib: Add -nostdinc support for EFI layer
ACPICA: Clib: Eliminate acpi_os_XXXFile()/acpi_log_error and link
clibrary fxxx()/errno/perror() instead
ACPICA: Applications: Fix a potential issue that help messages may be
dumped toacpi_gbl_debug_file
ACPICA: EFI: Port acpidump to EDK2 environment
ACPICA: OSL: Cleanup the inclusion order of the compiler-specific
headers
ACPICA: OSL: Fix a regression that old GCC requires a workaround for
strchr()Documentation/kernel-parameters.txt | 10 + drivers/acpi/acpica/acapps.h | 10 +- drivers/acpi/acpica/acevents.h | 3 + drivers/acpi/acpica/acglobal.h | 2 + drivers/acpi/acpica/aclocal.h | 2 + drivers/acpi/acpica/actables.h | 3 +- drivers/acpi/acpica/acutils.h | 36 ++-- drivers/acpi/acpica/dbfileio.c | 20 +- drivers/acpi/acpica/dbobject.c | 4 +- drivers/acpi/acpica/dsutils.c | 17 +- drivers/acpi/acpica/evgpe.c | 57 +++++ drivers/acpi/acpica/evxfgpe.c | 43 ++++ drivers/acpi/acpica/hwgpe.c | 23 ++- drivers/acpi/acpica/nsaccess.c | 6 +- drivers/acpi/acpica/nsdump.c | 2 +- drivers/acpi/acpica/tbfadt.c | 10 +- drivers/acpi/acpica/tbutils.c | 3 +- drivers/acpi/acpica/tbxface.c | 4 +- drivers/acpi/acpica/tbxfload.c | 4 +- drivers/acpi/acpica/tbxfroot.c | 5 +- drivers/acpi/acpica/utbuffer.c | 30 ++- drivers/acpi/acpica/utdebug.c | 61 +++--- drivers/acpi/acpica/utdecode.c | 2 +- drivers/acpi/acpica/utinit.c | 2 +- drivers/acpi/acpica/utpredef.c | 2 - drivers/acpi/acpica/utprint.c | 105 ++++++++-- drivers/acpi/acpica/uttrack.c | 4 +- drivers/acpi/acpica/utxface.c | 2 +- drivers/acpi/acpica/utxfinit.c | 6 +- drivers/acpi/internal.h | 1 + drivers/acpi/scan.c | 1 + drivers/acpi/sleep.c | 2 +- drivers/acpi/sysfs.c | 89 +++++++- include/acpi/acconfig.h | 4 + include/acpi/acoutput.h | 6 +- include/acpi/acpiosxf.h | 43 +--- include/acpi/acpixf.h | 37 ++-- include/acpi/actbl.h | 164 ++++++++------- include/acpi/actypes.h | 48 ++--- include/acpi/platform/acenv.h | 90 +++----- include/acpi/platform/acenvex.h | 21 +- include/acpi/platform/acgcc.h | 17 +- include/acpi/platform/acgccex.h | 58 ++++++ include/acpi/platform/aclinux.h | 22 +- include/acpi/platform/aclinuxex.h | 2 +- tools/power/acpi/common/cmfsize.c | 13 +- tools/power/acpi/common/getopt.c | 4 +- .../acpi/os_specific/service_layers/oslibcfs.c | 217 -------------------- .../acpi/os_specific/service_layers/osunixxf.c | 3 -Quoted 8 lines
tools/power/acpi/tools/acpidump/Makefile | 1 - tools/power/acpi/tools/acpidump/acpidump.h | 12 +- tools/power/acpi/tools/acpidump/apdump.c | 71 +++---- tools/power/acpi/tools/acpidump/apfiles.c | 56 ++--- tools/power/acpi/tools/acpidump/apmain.c | 33 +-- 54 files changed, 796 insertions(+), 697 deletions(-) create mode 100644 include/acpi/platform/acgccex.h delete mode 100644Quoted 6 lines
tools/power/acpi/os_specific/service_layers/oslibcfs.cQuoted 1 line
I'm very confused. I don't see a 20160629 release on the ACPICA .org download site. There is a 20160729, though; is this just a typo? Patch 30/30 indicates it is...
[Lv Zheng]
I couldn't see 20160729 on acpica.org.
This is the original commit:
https://github.com/acpica/acpica/commit/1e997ab9a
Quoted 6 lines
I just followed the rule and generated the ACPICA release according to the indicator in the last commit. I'm not sure if this is a typo or just a delayed release.
Ciao,
Lv
Weird. Something is wrong with someone's browser, then (either yours or mine), or with the website. When I go to https://www.acpica.org/downloads, there is no 20160629 listed. The most recent version is shown as 20160729.
There is also no tag in the git tree for R06_29_16 -- there is a tag for the R07_29_16 release, though. The odd thing is the 1e997ab9a commit says it is the "Version 20160629", and the commit immediately prior to that is 08869b98, saying "Version 20160729". I don't really care which one it is supposed to be, but it's not clear to me which one is correct.
Signature · 8 lines
ciao, al ----------------------------------- Al Stone Software Engineer Red Hat, Inc. [email protected] -----------------------------------
Hi,
Quoted 178 lines
From: Al Stone [mailto:[email protected]]
Subject: Re: [PATCH 00/30] ACPICA: 20160629 ReleaseQuoted 7 lines · Lv
Hi,
Quoted 5 lines
From: Al Stone [mailto:[email protected]]
Subject: Re: [PATCH 00/30] ACPICA: 20160629 ReleaseQuoted 1 line · Lv Zheng
The 20160629 ACPICA kernel-resident subsystem updates are
linuxized
Quoted 52 lines
Quoted 52 lines
based
Quoted 51 lines
on the linux-pm/linux-next branch.
The patchset has passed the following build/boot tests. Build tests are performed as follows:
1. i386 + allyes
2. i386 + allno
3. i386 + default + ACPI_DEBUGGER=y
4. i386 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y
5. i386 + default + ACPI_DEBUG=n + ACPI=y
6. i386 + default + ACPI=n
7.x86_64+ allyes
8.x86_64+ allno
9.x86_64+ default + ACPI_DEBUGGER=y
10.x86_64 + default + ACPI_DEBUGGER=n + ACPI_DEBUG=y 11.x86_64 + default + ACPI_DEBUG=n + ACPI=y
12.x86_64 + default + ACPI=n
Boot tests are performed as follows:
1. i386 + default + ACPI_DEBUGGER=y
2.x86_64+ default + ACPI_DEBUGGER=y
Where:
1. i386: machine named as "Dell Inspiron Mini 1010"
2.x86_64: machine named as "HP Compaq 8200 Elite SFF PC"
3. default: kernel configuration with following items enabled:
All hardware drivers related to the machines of i386/x86_64 All "drivers/acpi" configurations
All "drivers/platform" drivers
All other drivers that link the APIs provided by ACPICA subsystemThe divergences checking result:
Before applying (20160422 Release):
494 lines
After applying (20160629 Release):
508 linesBob Moore (8):
ACPICA: Interpreter: Remove temporary code forExternal()opcode
ACPICA: Debugger: Extend some max line lengths
ACPICA: Disassembler: Add option to emit embedded External
operators/opcodes
ACPICA: Simplify configuration for "Max Loops" system parameter
ACPICA: iASL/Disassembler: Add a check for missing filename
ACPICA: Useos_allocate_zeroed
ACPICA: FADT support cleanup
ACPICA: Update version to 20160629Jung-uk Kim (2):
ACPICA: Fix deconstification warnings (-Wcast-qual) with function
traces.
ACPICA: Fix deconstification warnings (-Wcast-qual) with
acpi_ns_root_initialize().Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Lv Zheng (20):
ACPICA: Utilities: Introduce facility to allow Linux to set correct
logging levels
ACPICA: Divergence: Port declarators back to ACPICA
ACPICA: Events: Introduceacpi_mask_gpe()to implement GPEmasking
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
mechanism
ACPI / sysfs: Update/sys/firmware/acpi/interrupts/gpexxusing new
GPE masking mechanism
ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding
ACPICA: Debugger: Fix wrong inclusions indbfileio.c
ACPICA: OSL: Add correctacpi_gbl_debug_timeoutexport to allow
acpiexec to link
ACPICA: acpidump: Fix a duplicate variable definition
ACPICA: Applications: EnableUSE_NATIVE_ALLOCATE_ZEROEDQuoted 3 lines
Quoted 3 lines
environment
Quoted 2 lines
for all applications
ACPICA: Clib: Fix build issues whenACPI_USE_STANDARD_HEADERSis
Quoted 11 lines
Quoted 11 lines
not
Quoted 10 lines
defined by converting
size_ttoacpi_size
ACPICA: Clib: Cleanupva_argrelated code
ACPICA: Clib: Fix wrong mini C library usage
ACPICA: Clib/EFI: Fix wrong order of standard integer types/IO
handles
ACPICA: MSVC9: Fix <sys/stat.h> inclusion order issue
ACPICA: Clib: Add -nostdinc support for EFI layer
ACPICA: Clib: Eliminate acpi_os_XXXFile()/acpi_log_error and link
clibrary fxxx()/errno/perror() instead
ACPICA: Applications: Fix a potential issue that help messages maybe
Quoted 70 lines
Quoted 64 lines
Quoted 56 lines
dumped to
acpi_gbl_debug_file
ACPICA: EFI: Port acpidump to EDK2 environment
ACPICA: OSL: Cleanup the inclusion order of the compiler-specific
headers
ACPICA: OSL: Fix a regression that old GCC requires a workaround for
strchr()Documentation/kernel-parameters.txt | 10 + drivers/acpi/acpica/acapps.h | 10 +- drivers/acpi/acpica/acevents.h | 3 + drivers/acpi/acpica/acglobal.h | 2 + drivers/acpi/acpica/aclocal.h | 2 + drivers/acpi/acpica/actables.h | 3 +- drivers/acpi/acpica/acutils.h | 36 ++-- drivers/acpi/acpica/dbfileio.c | 20 +- drivers/acpi/acpica/dbobject.c | 4 +- drivers/acpi/acpica/dsutils.c | 17 +- drivers/acpi/acpica/evgpe.c | 57 +++++ drivers/acpi/acpica/evxfgpe.c | 43 ++++ drivers/acpi/acpica/hwgpe.c | 23 ++- drivers/acpi/acpica/nsaccess.c | 6 +- drivers/acpi/acpica/nsdump.c | 2 +- drivers/acpi/acpica/tbfadt.c | 10 +- drivers/acpi/acpica/tbutils.c | 3 +- drivers/acpi/acpica/tbxface.c | 4 +- drivers/acpi/acpica/tbxfload.c | 4 +- drivers/acpi/acpica/tbxfroot.c | 5 +- drivers/acpi/acpica/utbuffer.c | 30 ++- drivers/acpi/acpica/utdebug.c | 61 +++--- drivers/acpi/acpica/utdecode.c | 2 +- drivers/acpi/acpica/utinit.c | 2 +- drivers/acpi/acpica/utpredef.c | 2 - drivers/acpi/acpica/utprint.c | 105 ++++++++-- drivers/acpi/acpica/uttrack.c | 4 +- drivers/acpi/acpica/utxface.c | 2 +- drivers/acpi/acpica/utxfinit.c | 6 +- drivers/acpi/internal.h | 1 + drivers/acpi/scan.c | 1 + drivers/acpi/sleep.c | 2 +- drivers/acpi/sysfs.c | 89 +++++++- include/acpi/acconfig.h | 4 + include/acpi/acoutput.h | 6 +- include/acpi/acpiosxf.h | 43 +--- include/acpi/acpixf.h | 37 ++-- include/acpi/actbl.h | 164 ++++++++------- include/acpi/actypes.h | 48 ++--- include/acpi/platform/acenv.h | 90 +++----- include/acpi/platform/acenvex.h | 21 +- include/acpi/platform/acgcc.h | 17 +- include/acpi/platform/acgccex.h | 58 ++++++ include/acpi/platform/aclinux.h | 22 +- include/acpi/platform/aclinuxex.h | 2 +- tools/power/acpi/common/cmfsize.c | 13 +- tools/power/acpi/common/getopt.c | 4 +- .../acpi/os_specific/service_layers/oslibcfs.c | 217 -------------------- .../acpi/os_specific/service_layers/osunixxf.c | 3 -Quoted 8 lines
tools/power/acpi/tools/acpidump/Makefile | 1 - tools/power/acpi/tools/acpidump/acpidump.h | 12 +- tools/power/acpi/tools/acpidump/apdump.c | 71 +++---- tools/power/acpi/tools/acpidump/apfiles.c | 56 ++--- tools/power/acpi/tools/acpidump/apmain.c | 33 +-- 54 files changed, 796 insertions(+), 697 deletions(-) create mode 100644 include/acpi/platform/acgccex.h delete mode 100644Quoted 6 lines
tools/power/acpi/os_specific/service_layers/oslibcfs.cQuoted 1 line
I'm very confused. I don't see a 20160629 release on the ACPICA .org download site. There is a 20160729, though; is this just a typo? Patch 30/30 indicates it is...
Quoted 6 lines
[Lv Zheng]
I couldn't see 20160729 on acpica.org.
This is the original commit:
https://github.com/acpica/acpica/commit/1e997ab9aI just followed the rule and generated the ACPICA release according to
the indicator in the last commit.
Quoted 5 lines
I'm not sure if this is a typo or just a delayed release.
Ciao,
Lv
Quoted 5 lines
Weird. Something is wrong with someone's browser, then (either yours or mine),
or with the website. When I go to https://www.acpica.org/downloads,
there is
no 20160629 listed. The most recent version is shown as 20160729.
[Lv Zheng]
I was thinking you were talking about the release notes in community or in web's news section.
Quoted 9 lines
There is also no tag in the git tree for
R06_29_16-- there is a tag for theR07_29_16release, though. The odd thing is the1e997ab9acommit says it is
the "Version 20160629", and the commit immediately prior to that is08869b98,
saying "Version 20160729". I don't really care which one it is supposed to be,
but it's not clear to me which one is correct.
[Lv Zheng]
Confirmed from Bob that version 20160729 is correct.
However this is just a typo in ACPICA upstream.
We actually only need a unique number to identify ACPICA release when a bug was reported against specific ACPICA version. And 20160629 is unique for us.
So I feel that we don't need to re-send the entire series to correct this.
Thanks
Lv
Quoted 10 lines
--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Red Hat, Inc.
[email protected]
-----------------------------------