#include "acpi.h"
#include "accommon.h"
#include "acinterp.h"
#include "acevents.h"
Go to the source code of this file.
◆ _COMPONENT
◆ AcpiExAcquireMutex()
Definition at line 248 of file exmutex.c.
269 "Cannot acquire Mutex [%4.4s], null thread info",
281 "Cannot acquire Mutex [%4.4s], " 282 "current SyncLevel is too large (%u)",
289 "Acquiring: Mutex SyncLevel %u, Thread SyncLevel %u, " 313 "Acquired: Mutex SyncLevel %u, Thread SyncLevel %u, Depth %u\n",
ACPI_THREAD_STATE * Thread
ACPI_OBJECT_COMMON_HEADER UINT8 SyncLevel
#define AE_AML_MUTEX_ORDER
#define ACPI_FUNCTION_TRACE_PTR(a, b)
ACPI_STATUS AcpiExAcquireMutexObject(UINT16 Timeout, ACPI_OPERAND_OBJECT *ObjDesc, ACPI_THREAD_ID ThreadId)
ACPI_STATE_COMMON UINT8 CurrentSyncLevel
#define ACPI_DEBUG_PRINT(pl)
static void AcpiExLinkMutex(ACPI_OPERAND_OBJECT *ObjDesc, ACPI_THREAD_STATE *Thread)
ACPI_OBJECT_INTEGER Integer
#define return_ACPI_STATUS(s)
#define ACPI_ERROR(plist)
const char * AcpiUtGetNodeName(void *Object)
ACPI_NAMESPACE_NODE * Node
struct acpi_thread_state * OwnerThread
Referenced by AcpiExOpcode_2A_0T_1R().
◆ AcpiExAcquireMutexObject()
Definition at line 176 of file exmutex.c.
206 if (ObjDesc == AcpiGbl_GlobalLockMutex)
ACPI_STATUS AcpiEvAcquireGlobalLock(UINT16 Timeout)
ACPI_STATUS AcpiExSystemWaitMutex(ACPI_MUTEX Mutex, UINT16 Timeout)
#define ACPI_FUNCTION_TRACE_PTR(a, b)
#define return_ACPI_STATUS(s)
struct acpi_thread_state * OwnerThread
Referenced by AcpiAcquireGlobalLock(), AcpiExAcquireGlobalLock(), and AcpiExAcquireMutex().
◆ AcpiExLinkMutex()
Definition at line 125 of file exmutex.c.
132 ListHead =
Thread->AcquiredMutexList;
148 Thread->AcquiredMutexList = ObjDesc;
union acpi_operand_object * Next
union acpi_operand_object * Prev
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Referenced by AcpiExAcquireMutex().
◆ AcpiExReleaseAllMutexes()
Definition at line 536 of file exmutex.c.
552 "Mutex [%4.4s] force-release, SyncLevel %u Depth %u\n",
558 if (ObjDesc == AcpiGbl_GlobalLockMutex)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
union acpi_operand_object * Next
union acpi_operand_object * Prev
ACPI_OBJECT_COMMON_HEADER UINT8 SyncLevel
#define ACPI_DEBUG_PRINT(pl)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
#define ACPI_FUNCTION_TRACE(a)
ACPI_STATUS AcpiEvReleaseGlobalLock(void)
void AcpiOsReleaseMutex(ACPI_MUTEX Handle)
ACPI_NAMESPACE_NODE * Node
struct acpi_thread_state * OwnerThread
Referenced by AcpiPsParseAml().
◆ AcpiExReleaseMutex()
Definition at line 408 of file exmutex.c.
412 UINT8 PreviousSyncLevel;
432 "Cannot release Mutex [%4.4s], not acquired",
442 "Cannot release Mutex [%4.4s], null thread info",
452 (ObjDesc != AcpiGbl_GlobalLockMutex))
455 "Thread %u cannot release Mutex [%4.4s] acquired by thread %u",
472 "Cannot release Mutex [%4.4s], SyncLevel mismatch: " 473 "mutex %u current %u",
488 "Releasing: Object SyncLevel %u, Thread SyncLevel %u, " 489 "Prev SyncLevel %u, Depth %u TID %p\n",
508 "Released: Object SyncLevel %u, Thread SyncLevel, %u, " 509 "Prev SyncLevel %u, Depth %u\n",
ACPI_THREAD_STATE * Thread
#define AE_AML_MUTEX_NOT_ACQUIRED
ACPI_OBJECT_COMMON_HEADER UINT8 SyncLevel
ACPI_STATUS AcpiExReleaseMutexObject(ACPI_OPERAND_OBJECT *ObjDesc)
#define AE_AML_MUTEX_ORDER
ACPI_STATE_COMMON UINT8 CurrentSyncLevel
#define ACPI_DEBUG_PRINT(pl)
union acpi_operand_object * AcquiredMutexList
#define return_ACPI_STATUS(s)
#define ACPI_FUNCTION_TRACE(a)
#define ACPI_ERROR(plist)
const char * AcpiUtGetNodeName(void *Object)
ACPI_NAMESPACE_NODE * Node
struct acpi_thread_state * OwnerThread
Referenced by AcpiExOpcode_1A_0T_0R().
◆ AcpiExReleaseMutexObject()
Definition at line 344 of file exmutex.c.
378 if (ObjDesc == AcpiGbl_GlobalLockMutex)
void AcpiExUnlinkMutex(ACPI_OPERAND_OBJECT *ObjDesc)
#define return_ACPI_STATUS(s)
#define ACPI_FUNCTION_TRACE(a)
ACPI_STATUS AcpiEvReleaseGlobalLock(void)
void AcpiOsReleaseMutex(ACPI_MUTEX Handle)
struct acpi_thread_state * OwnerThread
Referenced by AcpiExReleaseGlobalLock(), AcpiExReleaseMutex(), and AcpiReleaseGlobalLock().
◆ AcpiExUnlinkMutex()