diff --git a/bsps/shared/acpi/osl/osl_misc.c b/bsps/shared/acpi/osl/osl_misc.c new file mode 100644 index 0000000000..8a0f53216a --- /dev/null +++ b/bsps/shared/acpi/osl/osl_misc.c @@ -0,0 +1,64 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* + * Copyright (C) 2024 Matheus Pecoraro + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include +#include + +UINT64 AcpiOsGetTimer(void) +{ + struct timeval tv; + gettimeofday(&tv, NULL); + return (tv.tv_sec * 10000000) + (tv.tv_usec * 10); +} + +ACPI_STATUS AcpiOsSignal(UINT32 Function, void* Info) +{ + switch (Function) { + case ACPI_SIGNAL_FATAL: + ACPI_SIGNAL_FATAL_INFO* fatal = (ACPI_SIGNAL_FATAL_INFO*) Info; + printf("ACPI: Fatal signal, type 0x%x code 0x%x argument 0x%x", + fatal->Type, fatal->Code, fatal->Argument); + break; + case ACPI_SIGNAL_BREAKPOINT: + break; + default: + return (AE_BAD_PARAMETER); + } + + return (AE_OK); +} + +ACPI_STATUS AcpiOsEnterSleep( + UINT8 SleepState, + UINT32 RegaValue, + UINT32 RegbValue +) +{ + return (AE_OK); +} diff --git a/bsps/shared/acpi/osl/osl_output.c b/bsps/shared/acpi/osl/osl_output.c new file mode 100644 index 0000000000..3f4d42e172 --- /dev/null +++ b/bsps/shared/acpi/osl/osl_output.c @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* + * Copyright (C) 2024 Matheus Pecoraro + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +void AcpiOsPrintf(const char* Format, ...) +{ + va_list ap; + + va_start(ap, Format); + vprintf(Format, ap); + va_end(ap); +} + +void AcpiOsVprintf(const char* Format, va_list Args) +{ + vprintf(Format, Args); +} \ No newline at end of file diff --git a/bsps/shared/acpi/osl/osl_sched.c b/bsps/shared/acpi/osl/osl_sched.c new file mode 100644 index 0000000000..3336de9932 --- /dev/null +++ b/bsps/shared/acpi/osl/osl_sched.c @@ -0,0 +1,71 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* + * Copyright (C) 2024 Matheus Pecoraro + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include +#include +#include + +/** + * TODO: This routine will need to be implemented before using features such as: + * General Purpose Events, Notify Events, ACPICA Debugger... + */ +ACPI_STATUS AcpiOsExecute( + ACPI_EXECUTE_TYPE Type, + ACPI_OSD_EXEC_CALLBACK Function, + void* Context +) +{ + return (AE_SUPPORT); +} + +void AcpiOsSleep(UINT64 Milliseconds) +{ + usleep(Milliseconds * 1000); +} + + +void AcpiOsStall(UINT32 Microseconds) +{ + struct timeval tv; + struct timeval stall_tv; + + gettimeofday(&stall_tv, NULL); + stall_tv.tv_sec += Microseconds / 1000000; + stall_tv.tv_usec += Microseconds % 1000000; + + do { + gettimeofday(&tv, NULL); + } while (tv.tv_sec < stall_tv.tv_sec || + (tv.tv_sec == stall_tv.tv_sec && tv.tv_usec < stall_tv.tv_usec)); +} + +ACPI_THREAD_ID AcpiOsGetThreadId(void) +{ + return (ACPI_THREAD_ID) pthread_self(); +} diff --git a/bsps/shared/acpi/osl/osl_sync.c b/bsps/shared/acpi/osl/osl_sync.c new file mode 100644 index 0000000000..5cb26b6ef0 --- /dev/null +++ b/bsps/shared/acpi/osl/osl_sync.c @@ -0,0 +1,287 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* + * Copyright (C) 2024 Matheus Pecoraro + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include + +#include +#include + +static void ms_timeout_to_abs_timespec(uint32_t timeout, struct timespec *abstime) +{ + clock_gettime(CLOCK_REALTIME, abstime); + abstime->tv_sec += timeout / 1000; + abstime->tv_nsec += (timeout % 1000) * 1000000; +} + +typedef struct { + pthread_mutex_t mutex; + pthread_cond_t wait_cond; + pthread_cond_t delete_cond; + uint32_t units; + uint32_t max_units; + uint32_t waiters; + bool is_pending_delete; +} acpi_semaphore; + +ACPI_STATUS AcpiOsCreateSemaphore( + UINT32 MaxUnits, + UINT32 InitialUnits, + ACPI_SEMAPHORE* OutHandle +) +{ + acpi_semaphore* ac_sem; + + if (OutHandle == NULL || MaxUnits == 0 || InitialUnits > MaxUnits) + return (AE_BAD_PARAMETER); + + ac_sem = malloc(sizeof(acpi_semaphore)); + if (ac_sem == NULL) { + return (AE_NO_MEMORY); + } + + if (pthread_mutex_init(&ac_sem->mutex, NULL) != 0 || + pthread_cond_init(&ac_sem->wait_cond, NULL) != 0 || + pthread_cond_init(&ac_sem->delete_cond, NULL) != 0) + { + free(ac_sem); + return (AE_ERROR); + } + ac_sem->units = InitialUnits; + ac_sem->max_units = MaxUnits; + ac_sem->waiters = 0; + ac_sem->is_pending_delete = false; + + /* Since we don't define ACPI_SEMAPHORE OutHandle is of type void** */ + *OutHandle = (ACPI_SEMAPHORE) ac_sem; + + return (AE_OK); +} + +ACPI_STATUS AcpiOsDeleteSemaphore(ACPI_SEMAPHORE Handle) +{ + int eno; + acpi_semaphore* ac_sem = (acpi_semaphore*) Handle; + + if (ac_sem == NULL) { + return (AE_BAD_PARAMETER); + } + + eno = pthread_mutex_lock(&ac_sem->mutex); + if (eno != 0) { + return (AE_ERROR); + } + + /* Ensure there are no waiters left */ + ac_sem->is_pending_delete = true; + pthread_cond_broadcast(&ac_sem->wait_cond); + while (ac_sem->waiters > 0) { + pthread_cond_wait(&ac_sem->delete_cond, &ac_sem->mutex); + } + + pthread_mutex_unlock(&ac_sem->mutex); + + pthread_mutex_destroy(&ac_sem->mutex); + pthread_cond_destroy(&ac_sem->wait_cond); + pthread_cond_destroy(&ac_sem->delete_cond); + + free(ac_sem); + + return (AE_OK); +} + +ACPI_STATUS AcpiOsWaitSemaphore( + ACPI_SEMAPHORE Handle, + UINT32 Units, + UINT16 Timeout +) +{ + int eno; + ACPI_STATUS ac_status = (AE_OK); + acpi_semaphore* ac_sem = (acpi_semaphore*) Handle; + + if (ac_sem == NULL || Units == 0) { + return (AE_BAD_PARAMETER); + } + + eno = pthread_mutex_lock(&ac_sem->mutex); + if (eno != 0) { + return (AE_ERROR); + } + + if (ac_sem->max_units != ACPI_NO_UNIT_LIMIT && ac_sem->max_units < Units) { + return (AE_LIMIT); + } + + switch (Timeout) { + case ACPI_DO_NOT_WAIT: + if (ac_sem->units < Units) { + ac_status = (AE_TIME); + } + + break; + case ACPI_WAIT_FOREVER: + ac_sem->waiters++; + while (ac_sem->units < Units) { + pthread_cond_wait(&ac_sem->wait_cond, &ac_sem->mutex); + + if (ac_sem->is_pending_delete) { + ac_status = (AE_ERROR); + pthread_cond_signal(&ac_sem->delete_cond); + break; + } + } + ac_sem->waiters--; + + break; + default: + struct timespec abstime; + ms_timeout_to_abs_timespec(Timeout, &abstime); + + ac_sem->waiters++; + while (ac_sem->units < Units) { + eno = pthread_cond_timedwait(&ac_sem->wait_cond, &ac_sem->mutex, &abstime); + + if (ac_sem->is_pending_delete) { + ac_status = (AE_ERROR); + pthread_cond_signal(&ac_sem->delete_cond); + break; + } + + if (eno == ETIMEDOUT) { + ac_status = (AE_TIME); + break; + } + } + ac_sem->waiters--; + + break; + } + + if (ac_status == (AE_OK)) { + ac_sem->units -= Units; + } + + pthread_mutex_unlock(&ac_sem->mutex); + + return ac_status; +} + +ACPI_STATUS AcpiOsSignalSemaphore(ACPI_SEMAPHORE Handle, UINT32 Units) +{ + int eno; + acpi_semaphore* ac_sem = (acpi_semaphore*) Handle; + + if (ac_sem == NULL || Units == 0) { + return (AE_BAD_PARAMETER); + } + + eno = pthread_mutex_lock(&ac_sem->mutex); + if (eno != 0) { + return (AE_ERROR); + } + + if (ac_sem->max_units != ACPI_NO_UNIT_LIMIT && + ac_sem->units + Units > ac_sem->max_units) + { + return (AE_LIMIT); + } + + ac_sem->units += Units; + /* + * Signal condition "Units" times to wake up the maximum amount of threads + * that could consume the new units + */ + while (Units--) { + pthread_cond_signal(&ac_sem->wait_cond); + } + + pthread_mutex_unlock(&ac_sem->mutex); + + return (AE_OK); +} + +typedef struct { + pthread_mutex_t mutex; +} acpi_spinlock; + +ACPI_STATUS AcpiOsCreateLock(ACPI_SPINLOCK* OutHandle) +{ + acpi_spinlock* lock; + + if (OutHandle == NULL) + return (AE_BAD_PARAMETER); + + lock = malloc(sizeof(acpi_spinlock)); + if (lock == NULL) { + return (AE_NO_MEMORY); + } + + pthread_mutex_init(&lock->mutex, NULL); + + /* Since we don't define ACPI_SPINLOCK OutHandle is of type void** */ + *OutHandle = (ACPI_SPINLOCK) lock; + + return (AE_OK); +} + +void AcpiOsDeleteLock(ACPI_SPINLOCK Handle) +{ + acpi_spinlock* lock = (acpi_spinlock*) Handle; + + if (lock == NULL) { + return; + } + + pthread_mutex_destroy(&lock->mutex); + + free(lock); +} + +ACPI_CPU_FLAGS AcpiOsAcquireLock(ACPI_SPINLOCK Handle) +{ + acpi_spinlock* lock = (acpi_spinlock*) Handle; + + if (lock == NULL) { + return 0; + } + + pthread_mutex_lock(&lock->mutex); + + return 0; +} + +void AcpiOsReleaseLock(ACPI_SPINLOCK Handle, ACPI_CPU_FLAGS Flags) +{ + acpi_spinlock* lock = (acpi_spinlock*) Handle; + + if (lock == NULL) { + return; + } + + pthread_mutex_unlock(&lock->mutex); +} diff --git a/spec/build/bsps/objacpi.yml b/spec/build/bsps/objacpi.yml new file mode 100644 index 0000000000..3f1d873615 --- /dev/null +++ b/spec/build/bsps/objacpi.yml @@ -0,0 +1,222 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: objects +cflags: [] +copyrights: +- Copyright (C) 2024 Matheus Pecoraro +cppflags: [] +cxxflags: [] +enabled-by: true +includes: +- bsps/include/acpi/acpica/ +- bsps/include/acpi/acpica/platform/ +install: +- destination: ${BSP_INCLUDEDIR}/acpi/acpica + source: + - bsps/include/acpi/acpica/acapps.h + - bsps/include/acpi/acpica/acbuffer.h + - bsps/include/acpi/acpica/acclib.h + - bsps/include/acpi/acpica/accommon.h + - bsps/include/acpi/acpica/acconfig.h + - bsps/include/acpi/acpica/acconvert.h + - bsps/include/acpi/acpica/acdebug.h + - bsps/include/acpi/acpica/acdisasm.h + - bsps/include/acpi/acpica/acdispat.h + - bsps/include/acpi/acpica/acevents.h + - bsps/include/acpi/acpica/acexcep.h + - bsps/include/acpi/acpica/acglobal.h + - bsps/include/acpi/acpica/achware.h + - bsps/include/acpi/acpica/acinterp.h + - bsps/include/acpi/acpica/aclocal.h + - bsps/include/acpi/acpica/acmacros.h + - bsps/include/acpi/acpica/acnames.h + - bsps/include/acpi/acpica/acnamesp.h + - bsps/include/acpi/acpica/acobject.h + - bsps/include/acpi/acpica/acopcode.h + - bsps/include/acpi/acpica/acoutput.h + - bsps/include/acpi/acpica/acparser.h + - bsps/include/acpi/acpica/acpi.h + - bsps/include/acpi/acpica/acpiosxf.h + - bsps/include/acpi/acpica/acpixf.h + - bsps/include/acpi/acpica/acpredef.h + - bsps/include/acpi/acpica/acresrc.h + - bsps/include/acpi/acpica/acrestyp.h + - bsps/include/acpi/acpica/acstruct.h + - bsps/include/acpi/acpica/actables.h + - bsps/include/acpi/acpica/actbinfo.h + - bsps/include/acpi/acpica/actbl.h + - bsps/include/acpi/acpica/actbl1.h + - bsps/include/acpi/acpica/actbl2.h + - bsps/include/acpi/acpica/actbl3.h + - bsps/include/acpi/acpica/actypes.h + - bsps/include/acpi/acpica/acutils.h + - bsps/include/acpi/acpica/acuuid.h + - bsps/include/acpi/acpica/amlcode.h + - bsps/include/acpi/acpica/amlresrc.h +links: [] +source: +- bsps/shared/acpi/acpica/dispatcher/dsargs.c +- bsps/shared/acpi/acpica/dispatcher/dscontrol.c +- bsps/shared/acpi/acpica/dispatcher/dsdebug.c +- bsps/shared/acpi/acpica/dispatcher/dsfield.c +- bsps/shared/acpi/acpica/dispatcher/dsinit.c +- bsps/shared/acpi/acpica/dispatcher/dsmethod.c +- bsps/shared/acpi/acpica/dispatcher/dsmthdat.c +- bsps/shared/acpi/acpica/dispatcher/dsobject.c +- bsps/shared/acpi/acpica/dispatcher/dsopcode.c +- bsps/shared/acpi/acpica/dispatcher/dspkginit.c +- bsps/shared/acpi/acpica/dispatcher/dsutils.c +- bsps/shared/acpi/acpica/dispatcher/dswexec.c +- bsps/shared/acpi/acpica/dispatcher/dswload.c +- bsps/shared/acpi/acpica/dispatcher/dswload2.c +- bsps/shared/acpi/acpica/dispatcher/dswscope.c +- bsps/shared/acpi/acpica/dispatcher/dswstate.c +- bsps/shared/acpi/acpica/events/evevent.c +- bsps/shared/acpi/acpica/events/evglock.c +- bsps/shared/acpi/acpica/events/evgpe.c +- bsps/shared/acpi/acpica/events/evgpeblk.c +- bsps/shared/acpi/acpica/events/evgpeinit.c +- bsps/shared/acpi/acpica/events/evgpeutil.c +- bsps/shared/acpi/acpica/events/evhandler.c +- bsps/shared/acpi/acpica/events/evmisc.c +- bsps/shared/acpi/acpica/events/evregion.c +- bsps/shared/acpi/acpica/events/evrgnini.c +- bsps/shared/acpi/acpica/events/evsci.c +- bsps/shared/acpi/acpica/events/evxface.c +- bsps/shared/acpi/acpica/events/evxfevnt.c +- bsps/shared/acpi/acpica/events/evxfgpe.c +- bsps/shared/acpi/acpica/events/evxfregn.c +- bsps/shared/acpi/acpica/executer/exconcat.c +- bsps/shared/acpi/acpica/executer/exconfig.c +- bsps/shared/acpi/acpica/executer/exconvrt.c +- bsps/shared/acpi/acpica/executer/excreate.c +- bsps/shared/acpi/acpica/executer/exdebug.c +- bsps/shared/acpi/acpica/executer/exdump.c +- bsps/shared/acpi/acpica/executer/exfield.c +- bsps/shared/acpi/acpica/executer/exfldio.c +- bsps/shared/acpi/acpica/executer/exmisc.c +- bsps/shared/acpi/acpica/executer/exmutex.c +- bsps/shared/acpi/acpica/executer/exnames.c +- bsps/shared/acpi/acpica/executer/exoparg1.c +- bsps/shared/acpi/acpica/executer/exoparg2.c +- bsps/shared/acpi/acpica/executer/exoparg3.c +- bsps/shared/acpi/acpica/executer/exoparg6.c +- bsps/shared/acpi/acpica/executer/exprep.c +- bsps/shared/acpi/acpica/executer/exregion.c +- bsps/shared/acpi/acpica/executer/exresnte.c +- bsps/shared/acpi/acpica/executer/exresolv.c +- bsps/shared/acpi/acpica/executer/exresop.c +- bsps/shared/acpi/acpica/executer/exserial.c +- bsps/shared/acpi/acpica/executer/exstore.c +- bsps/shared/acpi/acpica/executer/exstoren.c +- bsps/shared/acpi/acpica/executer/exstorob.c +- bsps/shared/acpi/acpica/executer/exsystem.c +- bsps/shared/acpi/acpica/executer/extrace.c +- bsps/shared/acpi/acpica/executer/exutils.c +- bsps/shared/acpi/acpica/hardware/hwacpi.c +- bsps/shared/acpi/acpica/hardware/hwesleep.c +- bsps/shared/acpi/acpica/hardware/hwgpe.c +- bsps/shared/acpi/acpica/hardware/hwpci.c +- bsps/shared/acpi/acpica/hardware/hwregs.c +- bsps/shared/acpi/acpica/hardware/hwsleep.c +- bsps/shared/acpi/acpica/hardware/hwtimer.c +- bsps/shared/acpi/acpica/hardware/hwvalid.c +- bsps/shared/acpi/acpica/hardware/hwxface.c +- bsps/shared/acpi/acpica/hardware/hwxfsleep.c +- bsps/shared/acpi/acpica/namespace/nsaccess.c +- bsps/shared/acpi/acpica/namespace/nsalloc.c +- bsps/shared/acpi/acpica/namespace/nsarguments.c +- bsps/shared/acpi/acpica/namespace/nsconvert.c +- bsps/shared/acpi/acpica/namespace/nsdump.c +- bsps/shared/acpi/acpica/namespace/nsdumpdv.c +- bsps/shared/acpi/acpica/namespace/nseval.c +- bsps/shared/acpi/acpica/namespace/nsinit.c +- bsps/shared/acpi/acpica/namespace/nsload.c +- bsps/shared/acpi/acpica/namespace/nsnames.c +- bsps/shared/acpi/acpica/namespace/nsobject.c +- bsps/shared/acpi/acpica/namespace/nsparse.c +- bsps/shared/acpi/acpica/namespace/nspredef.c +- bsps/shared/acpi/acpica/namespace/nsprepkg.c +- bsps/shared/acpi/acpica/namespace/nsrepair.c +- bsps/shared/acpi/acpica/namespace/nsrepair2.c +- bsps/shared/acpi/acpica/namespace/nssearch.c +- bsps/shared/acpi/acpica/namespace/nsutils.c +- bsps/shared/acpi/acpica/namespace/nswalk.c +- bsps/shared/acpi/acpica/namespace/nsxfeval.c +- bsps/shared/acpi/acpica/namespace/nsxfname.c +- bsps/shared/acpi/acpica/namespace/nsxfobj.c +- bsps/shared/acpi/acpica/parser/psargs.c +- bsps/shared/acpi/acpica/parser/psloop.c +- bsps/shared/acpi/acpica/parser/psobject.c +- bsps/shared/acpi/acpica/parser/psopcode.c +- bsps/shared/acpi/acpica/parser/psopinfo.c +- bsps/shared/acpi/acpica/parser/psparse.c +- bsps/shared/acpi/acpica/parser/psscope.c +- bsps/shared/acpi/acpica/parser/pstree.c +- bsps/shared/acpi/acpica/parser/psutils.c +- bsps/shared/acpi/acpica/parser/pswalk.c +- bsps/shared/acpi/acpica/parser/psxface.c +- bsps/shared/acpi/acpica/resources/rsaddr.c +- bsps/shared/acpi/acpica/resources/rscalc.c +- bsps/shared/acpi/acpica/resources/rscreate.c +- bsps/shared/acpi/acpica/resources/rsinfo.c +- bsps/shared/acpi/acpica/resources/rsio.c +- bsps/shared/acpi/acpica/resources/rsirq.c +- bsps/shared/acpi/acpica/resources/rslist.c +- bsps/shared/acpi/acpica/resources/rsmemory.c +- bsps/shared/acpi/acpica/resources/rsmisc.c +- bsps/shared/acpi/acpica/resources/rsserial.c +- bsps/shared/acpi/acpica/resources/rsutils.c +- bsps/shared/acpi/acpica/resources/rsxface.c +- bsps/shared/acpi/acpica/tables/tbdata.c +- bsps/shared/acpi/acpica/tables/tbfadt.c +- bsps/shared/acpi/acpica/tables/tbfind.c +- bsps/shared/acpi/acpica/tables/tbinstal.c +- bsps/shared/acpi/acpica/tables/tbprint.c +- bsps/shared/acpi/acpica/tables/tbutils.c +- bsps/shared/acpi/acpica/tables/tbxface.c +- bsps/shared/acpi/acpica/tables/tbxfload.c +- bsps/shared/acpi/acpica/tables/tbxfroot.c +- bsps/shared/acpi/acpica/utilities/utaddress.c +- bsps/shared/acpi/acpica/utilities/utalloc.c +- bsps/shared/acpi/acpica/utilities/utascii.c +- bsps/shared/acpi/acpica/utilities/utbuffer.c +- bsps/shared/acpi/acpica/utilities/utcache.c +- bsps/shared/acpi/acpica/utilities/utcksum.c +- bsps/shared/acpi/acpica/utilities/utclib.c +- bsps/shared/acpi/acpica/utilities/utcopy.c +- bsps/shared/acpi/acpica/utilities/utdebug.c +- bsps/shared/acpi/acpica/utilities/utdecode.c +- bsps/shared/acpi/acpica/utilities/utdelete.c +- bsps/shared/acpi/acpica/utilities/uterror.c +- bsps/shared/acpi/acpica/utilities/uteval.c +- bsps/shared/acpi/acpica/utilities/utexcep.c +- bsps/shared/acpi/acpica/utilities/utglobal.c +- bsps/shared/acpi/acpica/utilities/uthex.c +- bsps/shared/acpi/acpica/utilities/utids.c +- bsps/shared/acpi/acpica/utilities/utinit.c +- bsps/shared/acpi/acpica/utilities/utlock.c +- bsps/shared/acpi/acpica/utilities/utmath.c +- bsps/shared/acpi/acpica/utilities/utmisc.c +- bsps/shared/acpi/acpica/utilities/utmutex.c +- bsps/shared/acpi/acpica/utilities/utnonansi.c +- bsps/shared/acpi/acpica/utilities/utobject.c +- bsps/shared/acpi/acpica/utilities/utosi.c +- bsps/shared/acpi/acpica/utilities/utownerid.c +- bsps/shared/acpi/acpica/utilities/utpredef.c +- bsps/shared/acpi/acpica/utilities/utresdecode.c +- bsps/shared/acpi/acpica/utilities/utresrc.c +- bsps/shared/acpi/acpica/utilities/utstate.c +- bsps/shared/acpi/acpica/utilities/utstring.c +- bsps/shared/acpi/acpica/utilities/utstrsuppt.c +- bsps/shared/acpi/acpica/utilities/utstrtoul64.c +- bsps/shared/acpi/acpica/utilities/uttrack.c +- bsps/shared/acpi/acpica/utilities/utuuid.c +- bsps/shared/acpi/acpica/utilities/utxface.c +- bsps/shared/acpi/acpica/utilities/utxferror.c +- bsps/shared/acpi/acpica/utilities/utxfinit.c +- bsps/shared/acpi/acpica/utilities/utxfmutex.c +- bsps/shared/acpi/osl/osl_misc.c +- bsps/shared/acpi/osl/osl_output.c +- bsps/shared/acpi/osl/osl_sched.c +- bsps/shared/acpi/osl/osl_sync.c +type: build