From e6cce20b3bd8dca9695f04e049f8e3f67fa76bcd Mon Sep 17 00:00:00 2001 From: Robert Moore Date: Tue, 28 Jan 2014 09:26:33 -0800 Subject: Remove global option to serialize all control methods. With the addition of the auto-serialization feature, this option is obsolete and is completely removed. Lv Zheng. --- source/components/executer/exsystem.c | 12 ++--- source/components/executer/exutils.c | 90 ++++------------------------------- source/include/acglobal.h | 8 ---- source/include/acinterp.h | 8 ---- source/include/acpixf.h | 1 - source/tools/acpiexec/aemain.c | 7 --- 6 files changed, 16 insertions(+), 110 deletions(-) diff --git a/source/components/executer/exsystem.c b/source/components/executer/exsystem.c index 91a8a0082..fcf3a7f13 100644 --- a/source/components/executer/exsystem.c +++ b/source/components/executer/exsystem.c @@ -159,7 +159,7 @@ AcpiExSystemWaitSemaphore ( { /* We must wait, so unlock the interpreter */ - AcpiExRelinquishInterpreter (); + AcpiExExitInterpreter (); Status = AcpiOsWaitSemaphore (Semaphore, 1, Timeout); @@ -169,7 +169,7 @@ AcpiExSystemWaitSemaphore ( /* Reacquire the interpreter */ - AcpiExReacquireInterpreter (); + AcpiExEnterInterpreter (); } return_ACPI_STATUS (Status); @@ -212,7 +212,7 @@ AcpiExSystemWaitMutex ( { /* We must wait, so unlock the interpreter */ - AcpiExRelinquishInterpreter (); + AcpiExExitInterpreter (); Status = AcpiOsAcquireMutex (Mutex, Timeout); @@ -222,7 +222,7 @@ AcpiExSystemWaitMutex ( /* Reacquire the interpreter */ - AcpiExReacquireInterpreter (); + AcpiExEnterInterpreter (); } return_ACPI_STATUS (Status); @@ -299,7 +299,7 @@ AcpiExSystemDoSleep ( /* Since this thread will sleep, we must release the interpreter */ - AcpiExRelinquishInterpreter (); + AcpiExExitInterpreter (); /* * For compatibility with other ACPI implementations and to prevent @@ -314,7 +314,7 @@ AcpiExSystemDoSleep ( /* And now we must get the interpreter again */ - AcpiExReacquireInterpreter (); + AcpiExEnterInterpreter (); return (AE_OK); } diff --git a/source/components/executer/exutils.c b/source/components/executer/exutils.c index 0c94337a2..1a4a94311 100644 --- a/source/components/executer/exutils.c +++ b/source/components/executer/exutils.c @@ -182,42 +182,6 @@ AcpiExEnterInterpreter ( } -/******************************************************************************* - * - * FUNCTION: AcpiExReacquireInterpreter - * - * PARAMETERS: None - * - * RETURN: None - * - * DESCRIPTION: Reacquire the interpreter execution region from within the - * interpreter code. Failure to enter the interpreter region is a - * fatal system error. Used in conjunction with - * RelinquishInterpreter - * - ******************************************************************************/ - -void -AcpiExReacquireInterpreter ( - void) -{ - ACPI_FUNCTION_TRACE (ExReacquireInterpreter); - - - /* - * If the global serialized flag is set, do not release the interpreter, - * since it was not actually released by AcpiExRelinquishInterpreter. - * This forces the interpreter to be single threaded. - */ - if (!AcpiGbl_AllMethodsSerialized) - { - AcpiExEnterInterpreter (); - } - - return_VOID; -} - - /******************************************************************************* * * FUNCTION: AcpiExExitInterpreter @@ -228,7 +192,16 @@ AcpiExReacquireInterpreter ( * * DESCRIPTION: Exit the interpreter execution region. This is the top level * routine used to exit the interpreter when all processing has - * been completed. + * been completed, or when the method blocks. + * + * Cases where the interpreter is unlocked internally: + * 1) Method will be blocked on a Sleep() AML opcode + * 2) Method will be blocked on an Acquire() AML opcode + * 3) Method will be blocked on a Wait() AML opcode + * 4) Method will be blocked to acquire the global lock + * 5) Method will be blocked waiting to execute a serialized control + * method that is currently executing + * 6) About to invoke a user-installed opregion handler * ******************************************************************************/ @@ -252,49 +225,6 @@ AcpiExExitInterpreter ( } -/******************************************************************************* - * - * FUNCTION: AcpiExRelinquishInterpreter - * - * PARAMETERS: None - * - * RETURN: None - * - * DESCRIPTION: Exit the interpreter execution region, from within the - * interpreter - before attempting an operation that will possibly - * block the running thread. - * - * Cases where the interpreter is unlocked internally - * 1) Method to be blocked on a Sleep() AML opcode - * 2) Method to be blocked on an Acquire() AML opcode - * 3) Method to be blocked on a Wait() AML opcode - * 4) Method to be blocked to acquire the global lock - * 5) Method to be blocked waiting to execute a serialized control method - * that is currently executing - * 6) About to invoke a user-installed opregion handler - * - ******************************************************************************/ - -void -AcpiExRelinquishInterpreter ( - void) -{ - ACPI_FUNCTION_TRACE (ExRelinquishInterpreter); - - - /* - * If the global serialized flag is set, do not release the interpreter. - * This forces the interpreter to be single threaded. - */ - if (!AcpiGbl_AllMethodsSerialized) - { - AcpiExExitInterpreter (); - } - - return_VOID; -} - - /******************************************************************************* * * FUNCTION: AcpiExTruncateFor32bitTable diff --git a/source/include/acglobal.h b/source/include/acglobal.h index 357661fc7..4b3f3ef7c 100644 --- a/source/include/acglobal.h +++ b/source/include/acglobal.h @@ -169,14 +169,6 @@ UINT8 ACPI_INIT_GLOBAL (AcpiGbl_EnableInterpreterSlack, FALSE); */ UINT8 ACPI_INIT_GLOBAL (AcpiGbl_AutoSerializeMethods, TRUE); -/* - * Automatically serialize ALL control methods? Default is FALSE, meaning - * to use the Serialized/NotSerialized method flags on a per method basis. - * Only change this if the ASL code is poorly written and cannot handle - * reentrancy even though methods are marked "NotSerialized". - */ -UINT8 ACPI_INIT_GLOBAL (AcpiGbl_AllMethodsSerialized, FALSE); - /* * Create the predefined _OSI method in the namespace? Default is TRUE * because ACPI CA is fully compatible with other ACPI implementations. diff --git a/source/include/acinterp.h b/source/include/acinterp.h index 3459af962..3df0765f5 100644 --- a/source/include/acinterp.h +++ b/source/include/acinterp.h @@ -686,14 +686,6 @@ void AcpiExExitInterpreter ( void); -void -AcpiExReacquireInterpreter ( - void); - -void -AcpiExRelinquishInterpreter ( - void); - BOOLEAN AcpiExTruncateFor32bitTable ( ACPI_OPERAND_OBJECT *ObjDesc); diff --git a/source/include/acpixf.h b/source/include/acpixf.h index 29b8ddd0b..b0a4e953f 100644 --- a/source/include/acpixf.h +++ b/source/include/acpixf.h @@ -145,7 +145,6 @@ extern UINT32 AcpiDbgLayer; /* ACPICA runtime options */ extern UINT8 AcpiGbl_AutoSerializeMethods; -extern UINT8 AcpiGbl_AllMethodsSerialized; extern UINT8 AcpiGbl_CopyDsdtLocally; extern UINT8 AcpiGbl_CreateOsiMethod; extern UINT8 AcpiGbl_DisableAutoRepair; diff --git a/source/tools/acpiexec/aemain.c b/source/tools/acpiexec/aemain.c index fb090ff12..7e8635b63 100644 --- a/source/tools/acpiexec/aemain.c +++ b/source/tools/acpiexec/aemain.c @@ -205,7 +205,6 @@ usage ( ACPI_OPTION ("-ef", "Enable display of final memory statistics"); ACPI_OPTION ("-ei", "Enable additional tests for ACPICA interfaces"); ACPI_OPTION ("-el", "Enable loading of additional test tables"); - ACPI_OPTION ("-em", "Enable Interpreter Serialized Mode"); ACPI_OPTION ("-es", "Enable Interpreter Slack Mode"); ACPI_OPTION ("-et", "Enable debug semaphore timeout"); printf ("\n"); @@ -317,12 +316,6 @@ AeDoOptions ( AcpiGbl_LoadTestTables = TRUE; break; - case 'm': - - AcpiGbl_AllMethodsSerialized = TRUE; - printf ("Enabling AML Interpreter serialized mode\n"); - break; - case 's': AcpiGbl_EnableInterpreterSlack = TRUE; -- cgit v1.2.3