linux/drivers/acpi/acpica
Lv Zheng 164a08cee1 ACPICA: Dispatcher: Introduce timeout mechanism for infinite loop detection
ACPICA commit 9605023e7e6d1f05581502766c8cf2905bcc03d9

This patch implements a new infinite loop detection mechanism to replace
the old one, it uses acpi_os_get_timer() to limit loop execution into a
determined time slice.
This is useful in case some hardware/firmware operations really require the
AML interpreter to wait while the old mechanism could expire too fast on
recent machines.

The new mechanism converts old acpi_gbl_max_loop_iterations to store the user
configurable value for the new mechanism in order to allow users to be
still able to configure this value for acpiexec via command line. This
patch also removes wrong initilization code of acpi_gbl_max_loop_iterations
accordingly (it should have been initialized by ACPI_INIT_GLOBAL, and the
default value is also properly tuned for acpiexec). Reported by M. Foronda,
fixed by Lv Zheng.

Link: https://github.com/acpica/acpica/commit/9605023e
Link: https://bugzilla.kernel.org/show_bug.cgi?id=156501
Reported-by: M. Foronda <josemauricioforonda@gmail.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-11-27 01:20:29 +01:00
..
acapps.h ACPICA: Tools: Deallocate memory allocated by ac_get_all_tables_from_file via ac_delete_table_list 2017-07-20 16:38:23 +02:00
accommon.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acconvert.h ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
acdebug.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acdispat.h ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
acevents.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acglobal.h ACPICA: Changed Gbl_disasm_flag to acpi_gbl_disasm_flag 2017-06-27 22:25:23 +02:00
achware.h ACPICA: Hardware: Enable 64-bit support of hardware accesses 2017-10-04 01:43:05 +02:00
acinterp.h ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
aclocal.h ACPICA: Dispatcher: Introduce timeout mechanism for infinite loop detection 2017-11-27 01:20:29 +01:00
acmacros.h ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
acnamesp.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acobject.h ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
acopcode.h ACPICA: Changing External to a named object 2017-06-27 22:25:23 +02:00
acparser.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acpredef.h ACPICA: Add support for _HMA as a predefined method 2017-06-12 14:58:37 +02:00
acresrc.h ACPICA: ACPI 6.2: Add support for PinGroupConfig() resource 2017-06-12 14:58:40 +02:00
acstruct.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
actables.h ACPICA: Tables: Combine checksum/duplication verification together 2017-07-20 16:38:25 +02:00
acutils.h ACPICA: String conversions: Update to add new behaviors 2017-10-04 01:43:06 +02:00
amlcode.h ACPICA: Fix a type value overlap in the AML support file 2017-06-12 14:58:40 +02:00
amlresrc.h ACPICA: ACPI 6.2: Add support for PinGroupConfig() resource 2017-06-12 14:58:40 +02:00
dbcmds.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbconvert.c ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
dbdisply.c ACPICA: Debugger: Improve support for Alias objects 2017-08-03 23:34:17 +02:00
dbexec.c ACPICA: acpiexec: enhance local signal handler 2017-06-27 22:25:27 +02:00
dbfileio.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbhistry.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbinput.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbmethod.c ACPICA: debugger: fix memory leak on Pathname 2017-04-27 00:31:00 +02:00
dbnames.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbobject.c ACPICA: Debugger/acpiexec: Cleanup error messages 2017-06-12 14:58:42 +02:00
dbstats.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbtest.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbutils.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dbxface.c ACPICA: Update a couple of debug output messages 2017-06-27 22:25:28 +02:00
dsargs.c ACPICA: Improvements for debug output only 2017-06-27 22:25:26 +02:00
dscontrol.c ACPICA: Dispatcher: Introduce timeout mechanism for infinite loop detection 2017-11-27 01:20:29 +01:00
dsdebug.c ACPICA: Debugger/acpiexec: Cleanup error messages 2017-06-12 14:58:42 +02:00
dsfield.c ACPICA: Ensure all instances of AE_AML_INTERNAL have error messages 2017-08-03 23:34:17 +02:00
dsinit.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dsmethod.c ACPICA: acpiexec: enhance local signal handler 2017-06-27 22:25:27 +02:00
dsmthdat.c ACPICA: Cleanup AML opcode definitions, no functional change 2017-04-27 00:31:00 +02:00
dsobject.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
dsopcode.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
dspkginit.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
dsutils.c ACPICA: Dispatcher: Remove unnecessary call to debugger 2017-06-12 14:58:42 +02:00
dswexec.c ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
dswload2.c ACPICA: Disassembler: add external op to namespace on first pass 2017-06-27 22:25:25 +02:00
dswload.c ACPICA: Disassembler: add external op to namespace on first pass 2017-06-27 22:25:25 +02:00
dswscope.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
dswstate.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evevent.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evglock.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evgpe.c ACPICA: Hardware: Enable 64-bit support of hardware accesses 2017-10-04 01:43:05 +02:00
evgpeblk.c ACPICA: Make it possible to enable runtime GPEs earlier 2017-08-17 20:54:33 +02:00
evgpeinit.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evgpeutil.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evhandler.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evmisc.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evregion.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evrgnini.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evsci.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evxface.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
evxfevnt.c ACPICA: Events: Add runtime stub support for event APIs 2017-06-12 14:58:41 +02:00
evxfgpe.c ACPICA: Make it possible to enable runtime GPEs earlier 2017-08-17 20:54:33 +02:00
evxfregn.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exconcat.c ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
exconfig.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exconvrt.c ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
excreate.c ACPICA: Interpreter: Update handling for Alias operator 2017-08-03 23:34:17 +02:00
exdebug.c ACPICA: Simplify output for the ACPI Debug Object 2017-06-27 22:25:27 +02:00
exdump.c ACPICA: Debugger: Improve support for Alias objects 2017-08-03 23:34:17 +02:00
exfield.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exfldio.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exmisc.c ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
exmutex.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exnames.c ACPICA: Cleanup AML opcode definitions, no functional change 2017-04-27 00:31:00 +02:00
exoparg1.c ACPICA: Fix for Device/Thermal objects with ObjectType and DerefOf 2017-06-27 22:25:22 +02:00
exoparg2.c ACPICA: Ensure all instances of AE_AML_INTERNAL have error messages 2017-08-03 23:34:17 +02:00
exoparg3.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exoparg6.c ACPICA: Cleanup AML opcode definitions, no functional change 2017-04-27 00:31:00 +02:00
exprep.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exregion.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exresnte.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exresolv.c ACPICA: Fix for Device/Thermal objects with ObjectType and DerefOf 2017-06-27 22:25:22 +02:00
exresop.c ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
exstore.c ACPICA: Cleanup AML opcode definitions, no functional change 2017-04-27 00:31:00 +02:00
exstoren.c ACPICA: Cleanup AML opcode definitions, no functional change 2017-04-27 00:31:00 +02:00
exstorob.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exsystem.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
extrace.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
exutils.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
hwacpi.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
hwesleep.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
hwgpe.c ACPICA: Hardware: Enable 64-bit support of hardware accesses 2017-10-04 01:43:05 +02:00
hwpci.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
hwregs.c ACPICA: Hardware: Enable 64-bit support of hardware accesses 2017-10-04 01:43:05 +02:00
hwsleep.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
hwtimer.c ACPICA: Fix an off-by-one error in acpi_get_timer_duration(). 2017-11-27 01:20:28 +01:00
hwvalid.c ACPICA: Fix several incorrect invocations of ACPICA return macro 2017-04-27 00:31:00 +02:00
hwxface.c ACPICA: Hardware: Enable 64-bit support of hardware accesses 2017-10-04 01:43:05 +02:00
hwxfsleep.c Back port of "ACPICA: Use designated initializers" 2017-07-20 16:38:24 +02:00
Makefile Merge branch 'acpica' 2017-11-13 01:36:58 +01:00
nsaccess.c ACPICA: Namespace: Update/fix an error message 2017-08-03 23:34:15 +02:00
nsalloc.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsarguments.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
nsconvert.c ACPICA: Restructure/cleanup all string-to-integer conversion functions 2017-10-04 01:43:06 +02:00
nsdump.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsdumpdv.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nseval.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsinit.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
nsload.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsnames.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
nsobject.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsparse.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nspredef.c scripts/spelling.txt: add "an union" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
nsprepkg.c ACPICA: Ensure all instances of AE_AML_INTERNAL have error messages 2017-08-03 23:34:17 +02:00
nsrepair2.c ACPICA: Update for automatic repair code for objects returned by evaluate_object 2017-04-27 00:31:00 +02:00
nsrepair.c ACPICA: Update for automatic repair code for objects returned by evaluate_object 2017-04-27 00:31:00 +02:00
nssearch.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsutils.c ACPICA: Update a couple of debug output messages 2017-06-27 22:25:28 +02:00
nswalk.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsxfeval.c ACPICA: Fix acpi_evaluate_object_typed() 2017-08-22 22:44:13 +02:00
nsxfname.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
nsxfobj.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
psargs.c ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
psloop.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
psobject.c ACPICA: disassembler: getting rid of error message 2017-11-27 01:20:28 +01:00
psopcode.c ACPICA: Changing External to a named object 2017-06-27 22:25:23 +02:00
psopinfo.c ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
psparse.c ACPICA: acpiexec: enhance local signal handler 2017-06-27 22:25:27 +02:00
psscope.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
pstree.c ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
psutils.c ACPICA: Avoid null pointer dereference on Op. 2017-11-27 01:20:28 +01:00
pswalk.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
psxface.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rsaddr.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rscalc.c ACPICA: ACPI 6.2: Add support for PinGroupConfig() resource 2017-06-12 14:58:40 +02:00
rscreate.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rsdump.c ACPICA: ACPI 6.2: Add support for PinGroupFunction() resource 2017-06-12 14:58:39 +02:00
rsdumpinfo.c ACPICA: ACPI 6.2: Add support for PinGroupConfig() resource 2017-06-12 14:58:40 +02:00
rsinfo.c ACPICA: ACPI 6.2: Add support for PinGroupConfig() resource 2017-06-12 14:58:40 +02:00
rsio.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rsirq.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rslist.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rsmemory.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rsmisc.c ACPICA: Core: Always set GPIO VendorOffset 2017-06-12 14:58:40 +02:00
rsserial.c ACPICA: ACPI 6.2: Add support for PinGroupConfig() resource 2017-06-12 14:58:40 +02:00
rsutils.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
rsxface.c ACPICA: Resources: Allow _DMA method in walk resources 2017-08-03 23:34:17 +02:00
tbdata.c ACPICA: Tables: Add deferred table verification support 2017-07-20 16:38:25 +02:00
tbfadt.c ACPICA: Update comments, no functional change 2017-06-27 22:25:21 +02:00
tbfind.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
tbinstal.c ACPICA: Tables: Combine checksum/duplication verification together 2017-07-20 16:38:25 +02:00
tbprint.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
tbutils.c Merge back ACPICA material for v4.13. 2017-06-27 22:26:44 +02:00
tbxface.c ACPICA: acpiexec: Add testability of deferred table verification 2017-10-04 01:43:05 +02:00
tbxfload.c ACPICA: Tables: Do not validate signature for dynamic table load 2017-07-20 16:38:25 +02:00
tbxfroot.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utaddress.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utalloc.c ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
utascii.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utbuffer.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utcache.c ACPICA: Local cache support: Allow small cache objects 2017-04-27 00:31:01 +02:00
utcopy.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utdebug.c ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
utdecode.c ACPICA: Utilities: Make a notify value reserved 2017-06-12 14:51:41 +02:00
utdelete.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
uterror.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
uteval.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utexcep.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utglobal.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
uthex.c ACPICA: CLib: Add short multiply/shift support 2017-08-03 23:34:16 +02:00
utids.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utinit.c ACPICA: Dispatcher: Introduce timeout mechanism for infinite loop detection 2017-11-27 01:20:29 +01:00
utlock.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utmath.c ACPICA: CLib: Add short multiply/shift support 2017-08-03 23:34:16 +02:00
utmisc.c ACPICA: Ensure all instances of AE_AML_INTERNAL have error messages 2017-08-03 23:34:17 +02:00
utmutex.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utnonansi.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utobject.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
utosi.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utownerid.c ACPICA: Explicitly cast 1 to u32 2017-06-12 14:58:41 +02:00
utpredef.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utprint.c ACPICA: EFI/EDK2: Cleanup to enable /WX for MSVC builds 2017-08-03 23:34:16 +02:00
utresdecode.c ACPICA: Split resource descriptor decode strings to a new file 2017-06-27 22:25:20 +02:00
utresrc.c ACPICA: Revert "Update resource descriptor handling" 2017-08-03 23:34:18 +02:00
utstate.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
utstring.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utstrsuppt.c ACPICA: String conversions: Update to add new behaviors 2017-10-04 01:43:06 +02:00
utstrtoul64.c ACPICA: String conversions: Update to add new behaviors 2017-10-04 01:43:06 +02:00
uttrack.c ACPICA: Implement deferred resolution of reference package elements 2017-08-03 23:34:17 +02:00
utuuid.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utxface.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utxferror.c ACPICA: Update some function headers, no funtional change 2017-04-27 00:30:59 +02:00
utxfinit.c ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
utxfmutex.c ACPICA: Export the public mutex interfaces 2017-06-12 14:58:42 +02:00