![]() |
|
|||
File indexing completed on 2025-05-11 08:24:04
0001 /* SPDX-License-Identifier: BSD-2-Clause */ 0002 0003 /* 0004 * Copyright (C) 2024 Matheus Pecoraro 0005 * 0006 * Redistribution and use in source and binary forms, with or without 0007 * modification, are permitted provided that the following conditions 0008 * are met: 0009 * 1. Redistributions of source code must retain the above copyright 0010 * notice, this list of conditions and the following disclaimer. 0011 * 2. Redistributions in binary form must reproduce the above copyright 0012 * notice, this list of conditions and the following disclaimer in the 0013 * documentation and/or other materials provided with the distribution. 0014 * 0015 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 0016 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 0017 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 0018 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 0019 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 0020 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 0021 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 0022 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 0023 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 0024 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 0025 * POSSIBILITY OF SUCH DAMAGE. 0026 */ 0027 0028 #include <acpi/acpica/acpi.h> 0029 0030 #include <pthread.h> 0031 #include <unistd.h> 0032 #include <sys/time.h> 0033 0034 /** 0035 * TODO: This routine will need to be implemented before using features such as: 0036 * General Purpose Events, Notify Events, ACPICA Debugger... 0037 */ 0038 ACPI_STATUS AcpiOsExecute( 0039 ACPI_EXECUTE_TYPE Type, 0040 ACPI_OSD_EXEC_CALLBACK Function, 0041 void* Context 0042 ) 0043 { 0044 return (AE_SUPPORT); 0045 } 0046 0047 void AcpiOsSleep(UINT64 Milliseconds) 0048 { 0049 usleep(Milliseconds * 1000); 0050 } 0051 0052 0053 void AcpiOsStall(UINT32 Microseconds) 0054 { 0055 struct timeval tv; 0056 struct timeval stall_tv; 0057 0058 gettimeofday(&stall_tv, NULL); 0059 stall_tv.tv_sec += Microseconds / 1000000; 0060 stall_tv.tv_usec += Microseconds % 1000000; 0061 0062 do { 0063 gettimeofday(&tv, NULL); 0064 } while (tv.tv_sec < stall_tv.tv_sec || 0065 (tv.tv_sec == stall_tv.tv_sec && tv.tv_usec < stall_tv.tv_usec)); 0066 } 0067 0068 ACPI_THREAD_ID AcpiOsGetThreadId(void) 0069 { 0070 return (ACPI_THREAD_ID) pthread_self(); 0071 }
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |