// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /****************************************************************************** * * Module Name: exsystem - Interface to OS services * * Copyright (C) 2000 - 2023, Intel Corp. * *****************************************************************************/ #include <acpi/acpi.h> #include "accommon.h" #include "acinterp.h" #define _COMPONENT … ACPI_MODULE_NAME("exsystem") /******************************************************************************* * * FUNCTION: acpi_ex_system_wait_semaphore * * PARAMETERS: semaphore - Semaphore to wait on * timeout - Max time to wait * * RETURN: Status * * DESCRIPTION: Implements a semaphore wait with a check to see if the * semaphore is available immediately. If it is not, the * interpreter is released before waiting. * ******************************************************************************/ acpi_status acpi_ex_system_wait_semaphore(acpi_semaphore semaphore, u16 timeout) { … } /******************************************************************************* * * FUNCTION: acpi_ex_system_wait_mutex * * PARAMETERS: mutex - Mutex to wait on * timeout - Max time to wait * * RETURN: Status * * DESCRIPTION: Implements a mutex wait with a check to see if the * mutex is available immediately. If it is not, the * interpreter is released before waiting. * ******************************************************************************/ acpi_status acpi_ex_system_wait_mutex(acpi_mutex mutex, u16 timeout) { … } /******************************************************************************* * * FUNCTION: acpi_ex_system_do_stall * * PARAMETERS: how_long_us - The amount of time to stall, * in microseconds * * RETURN: Status * * DESCRIPTION: Suspend running thread for specified amount of time. * Note: ACPI specification requires that Stall() does not * relinquish the processor, and delays longer than 100 usec * should use Sleep() instead. We allow stalls up to 255 usec * for compatibility with other interpreters and existing BIOSs. * ******************************************************************************/ acpi_status acpi_ex_system_do_stall(u32 how_long_us) { … } /******************************************************************************* * * FUNCTION: acpi_ex_system_do_sleep * * PARAMETERS: how_long_ms - The amount of time to sleep, * in milliseconds * * RETURN: None * * DESCRIPTION: Sleep the running thread for specified amount of time. * ******************************************************************************/ acpi_status acpi_ex_system_do_sleep(u64 how_long_ms) { … } /******************************************************************************* * * FUNCTION: acpi_ex_system_signal_event * * PARAMETERS: obj_desc - The object descriptor for this op * * RETURN: Status * * DESCRIPTION: Provides an access point to perform synchronization operations * within the AML. * ******************************************************************************/ acpi_status acpi_ex_system_signal_event(union acpi_operand_object * obj_desc) { … } /******************************************************************************* * * FUNCTION: acpi_ex_system_wait_event * * PARAMETERS: time_desc - The 'time to delay' object descriptor * obj_desc - The object descriptor for this op * * RETURN: Status * * DESCRIPTION: Provides an access point to perform synchronization operations * within the AML. This operation is a request to wait for an * event. * ******************************************************************************/ acpi_status acpi_ex_system_wait_event(union acpi_operand_object *time_desc, union acpi_operand_object *obj_desc) { … } /******************************************************************************* * * FUNCTION: acpi_ex_system_reset_event * * PARAMETERS: obj_desc - The object descriptor for this op * * RETURN: Status * * DESCRIPTION: Reset an event to a known state. * ******************************************************************************/ acpi_status acpi_ex_system_reset_event(union acpi_operand_object *obj_desc) { … }