XenevaOS
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
acpiosl.cpp File Reference
#include <Hal/acpiosl.h>
#include <acpi.h>
#include <Mm/vmmngr.h>
#include <Mm/kmalloc.h>
#include <pcie.h>
#include <Mm/pmmngr.h>
#include <aucon.h>
#include <Hal/basicacpi.h>
#include <Hal/x86_64_lowlevel.h>
Include dependency graph for acpiosl.cpp:

Classes

struct  _mutex_
 
struct  context_converter
 

Typedefs

typedef struct _mutex_ mutex_t
 

Functions

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsInitialize ()
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsTerminate ()
 
AU_EXTERN AU_FUNC ACPI_PHYSICAL_ADDRESS AcpiOsGetRootPointer ()
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsPredefinedOverride (const ACPI_PREDEFINED_NAMES *PredefinedObject, ACPI_STRING *NewValue)
 
AU_EXTERN AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsTableOverride (ACPI_TABLE_HEADER *ExistingTable, ACPI_TABLE_HEADER **NewTable)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsPhysicalTableOverride (ACPI_TABLE_HEADER *ExistingTable, ACPI_PHYSICAL_ADDRESS *NewAddress, UINT32 *NewTableLength)
 
AU_EXTERN AU_FUNC void * AcpiOsMapMemory (ACPI_PHYSICAL_ADDRESS PhysicalAddress, ACPI_SIZE Length)
 
AU_EXTERN AU_FUNC void AcpiOsUnmapMemory (void *where, ACPI_SIZE length)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsGetPhysicalAddress (void *logicalAddress, ACPI_PHYSICAL_ADDRESS *PhysicalAddress)
 
AU_EXTERN AU_FUNC void * AcpiOsAllocate (ACPI_SIZE Size)
 
AU_EXTERN AU_FUNC void AcpiOsFree (void *memory)
 
AU_EXTERN AU_FUNC BOOLEAN AcpiOsReadable (void *memory, ACPI_SIZE Length)
 
AU_EXTERN AU_FUNC BOOLEAN AcpiOsWritable (void *memory, ACPI_SIZE Length)
 
AU_EXTERN AU_FUNC ACPI_THREAD_ID AcpiOsGetThreadId ()
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsExecute (ACPI_EXECUTE_TYPE Type, ACPI_OSD_EXEC_CALLBACK Function, void *Context)
 
AU_EXTERN AU_FUNC void AcpiOsSleep (UINT64 Millis)
 
AU_EXTERN AU_FUNC void AcpiOsStall (UINT32 Micros)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsCreateMutex (ACPI_MUTEX *OutHandle)
 
AU_EXTERN AU_FUNC void AcpiOsDeleteMutex (ACPI_MUTEX Handle)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsAcquireMutex (ACPI_MUTEX Handle, UINT16 Timeout)
 
AU_EXTERN AU_FUNC void AcpiOsReleaseMutex (ACPI_MUTEX Handle)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsCreateSemaphore (UINT32 MaxUnits, UINT32 InitialUnits, ACPI_SEMAPHORE *OutHandle)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsDeleteSemaphore (ACPI_SEMAPHORE Handle)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWaitSemaphore (ACPI_SEMAPHORE Handle, UINT32 Units, UINT16 Timeout)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsSignalSemaphore (ACPI_SEMAPHORE Handle, UINT32 Units)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsCreateLock (ACPI_SPINLOCK *OutHandle)
 
AU_EXTERN AU_FUNC void AcpiOsDeleteLock (ACPI_SPINLOCK Handle)
 
AU_EXTERN AU_FUNC ACPI_CPU_FLAGS AcpiOsAcquireLock (ACPI_SPINLOCK Handle)
 
AU_EXTERN AU_FUNC void AcpiOsReleaseLock (ACPI_SPINLOCK Handle, ACPI_CPU_FLAGS Flags)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsInstallInterruptHandler (UINT32 InterruptLevel, ACPI_OSD_HANDLER Handler, void *Context)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsRemoveInterruptHandler (UINT32 InterruptNumber, ACPI_OSD_HANDLER Handler)
 
AU_EXTERN AU_FUNC void ACPI_INTERNAL_VAR_XFACE AcpiOsPrintf (const char *Format,...)
 
AU_EXTERN AU_FUNC void AcpiOsVprintf (const char *Format, va_list Args)
 
AU_EXTERN AU_FUNC int AcpiOsAcquireGlobalLock (UINT32 *lock)
 
AU_EXTERN AU_FUNC int AcpiOsReleaseGlobalLock (UINT32 *lock)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsSignal (UINT32 Function, void *Info)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsEnterSleep (UINT8 SleepState, UINT32 RegaValue, UINT32 RegbValue)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsReadMemory (ACPI_PHYSICAL_ADDRESS Address, UINT64 *Value, UINT32 Width)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWriteMemory (ACPI_PHYSICAL_ADDRESS Address, UINT64 Value, UINT32 Width)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsReadPort (ACPI_IO_ADDRESS Address, UINT32 *Value, UINT32 Width)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWritePort (ACPI_IO_ADDRESS Address, UINT32 Value, UINT32 Width)
 
AU_EXTERN AU_FUNC UINT64 AcpiOsGetTimer ()
 
AU_EXTERN AU_FUNC void AcpiOsWaitEventsComplete ()
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsReadPciConfiguration (ACPI_PCI_ID *PciId, UINT32 Reg, UINT64 *Value, UINT32 Width)
 
AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWritePciConfiguration (ACPI_PCI_ID *PciId, UINT32 Reg, UINT64 Value, UINT32 Width)
 

Typedef Documentation

◆ mutex_t

typedef struct _mutex_ mutex_t

Function Documentation

◆ AcpiOsAcquireGlobalLock()

AU_EXTERN AU_FUNC int AcpiOsAcquireGlobalLock ( UINT32 lock)

◆ AcpiOsAcquireLock()

AU_EXTERN AU_FUNC ACPI_CPU_FLAGS AcpiOsAcquireLock ( ACPI_SPINLOCK  Handle)

◆ AcpiOsAcquireMutex()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsAcquireMutex ( ACPI_MUTEX  Handle,
UINT16  Timeout 
)

◆ AcpiOsAllocate()

AU_EXTERN AU_FUNC void * AcpiOsAllocate ( ACPI_SIZE  Size)

◆ AcpiOsCreateLock()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsCreateLock ( ACPI_SPINLOCK OutHandle)

◆ AcpiOsCreateMutex()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsCreateMutex ( ACPI_MUTEX OutHandle)

◆ AcpiOsCreateSemaphore()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsCreateSemaphore ( UINT32  MaxUnits,
UINT32  InitialUnits,
ACPI_SEMAPHORE OutHandle 
)

◆ AcpiOsDeleteLock()

AU_EXTERN AU_FUNC void AcpiOsDeleteLock ( ACPI_SPINLOCK  Handle)

◆ AcpiOsDeleteMutex()

AU_EXTERN AU_FUNC void AcpiOsDeleteMutex ( ACPI_MUTEX  Handle)

◆ AcpiOsDeleteSemaphore()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsDeleteSemaphore ( ACPI_SEMAPHORE  Handle)

◆ AcpiOsEnterSleep()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsEnterSleep ( UINT8  SleepState,
UINT32  RegaValue,
UINT32  RegbValue 
)

◆ AcpiOsExecute()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsExecute ( ACPI_EXECUTE_TYPE  Type,
ACPI_OSD_EXEC_CALLBACK  Function,
void *  Context 
)

◆ AcpiOsFree()

AU_EXTERN AU_FUNC void AcpiOsFree ( void *  memory)

◆ AcpiOsGetPhysicalAddress()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsGetPhysicalAddress ( void *  logicalAddress,
ACPI_PHYSICAL_ADDRESS *  PhysicalAddress 
)

◆ AcpiOsGetRootPointer()

AU_EXTERN AU_FUNC ACPI_PHYSICAL_ADDRESS AcpiOsGetRootPointer ( void  )

◆ AcpiOsGetThreadId()

AU_EXTERN AU_FUNC ACPI_THREAD_ID AcpiOsGetThreadId ( void  )

◆ AcpiOsGetTimer()

AU_EXTERN AU_FUNC UINT64 AcpiOsGetTimer ( void  )

◆ AcpiOsInitialize()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsInitialize ( void  )

BSD 2-Clause License

Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.

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 HOLDER 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.

◆ AcpiOsInstallInterruptHandler()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsInstallInterruptHandler ( UINT32  InterruptLevel,
ACPI_OSD_HANDLER  Handler,
void *  Context 
)

◆ AcpiOsMapMemory()

AU_EXTERN AU_FUNC void * AcpiOsMapMemory ( ACPI_PHYSICAL_ADDRESS  PhysicalAddress,
ACPI_SIZE  Length 
)

◆ AcpiOsPhysicalTableOverride()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsPhysicalTableOverride ( ACPI_TABLE_HEADER ExistingTable,
ACPI_PHYSICAL_ADDRESS *  NewAddress,
UINT32 NewTableLength 
)

◆ AcpiOsPredefinedOverride()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsPredefinedOverride ( const ACPI_PREDEFINED_NAMES PredefinedObject,
ACPI_STRING NewValue 
)

◆ AcpiOsPrintf()

AU_EXTERN AU_FUNC void ACPI_INTERNAL_VAR_XFACE AcpiOsPrintf ( const char *  Format,
  ... 
)

◆ AcpiOsReadable()

AU_EXTERN AU_FUNC BOOLEAN AcpiOsReadable ( void *  memory,
ACPI_SIZE  Length 
)

◆ AcpiOsReadMemory()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsReadMemory ( ACPI_PHYSICAL_ADDRESS  Address,
UINT64 Value,
UINT32  Width 
)

◆ AcpiOsReadPciConfiguration()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsReadPciConfiguration ( ACPI_PCI_ID PciId,
UINT32  Reg,
UINT64 Value,
UINT32  Width 
)

◆ AcpiOsReadPort()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsReadPort ( ACPI_IO_ADDRESS  Address,
UINT32 Value,
UINT32  Width 
)

◆ AcpiOsReleaseGlobalLock()

AU_EXTERN AU_FUNC int AcpiOsReleaseGlobalLock ( UINT32 lock)

◆ AcpiOsReleaseLock()

AU_EXTERN AU_FUNC void AcpiOsReleaseLock ( ACPI_SPINLOCK  Handle,
ACPI_CPU_FLAGS  Flags 
)

◆ AcpiOsReleaseMutex()

AU_EXTERN AU_FUNC void AcpiOsReleaseMutex ( ACPI_MUTEX  Handle)

◆ AcpiOsRemoveInterruptHandler()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsRemoveInterruptHandler ( UINT32  InterruptNumber,
ACPI_OSD_HANDLER  Handler 
)

◆ AcpiOsSignal()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsSignal ( UINT32  Function,
void *  Info 
)

◆ AcpiOsSignalSemaphore()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsSignalSemaphore ( ACPI_SEMAPHORE  Handle,
UINT32  Units 
)

◆ AcpiOsSleep()

AU_EXTERN AU_FUNC void AcpiOsSleep ( UINT64  Millis)

◆ AcpiOsStall()

AU_EXTERN AU_FUNC void AcpiOsStall ( UINT32  Micros)

◆ AcpiOsTableOverride()

AU_EXTERN AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsTableOverride ( ACPI_TABLE_HEADER ExistingTable,
ACPI_TABLE_HEADER **  NewTable 
)

◆ AcpiOsTerminate()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsTerminate ( void  )

◆ AcpiOsUnmapMemory()

AU_EXTERN AU_FUNC void AcpiOsUnmapMemory ( void *  where,
ACPI_SIZE  length 
)

◆ AcpiOsVprintf()

AU_EXTERN AU_FUNC void AcpiOsVprintf ( const char *  Format,
va_list  Args 
)

◆ AcpiOsWaitEventsComplete()

AU_EXTERN AU_FUNC void AcpiOsWaitEventsComplete ( void  )

◆ AcpiOsWaitSemaphore()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWaitSemaphore ( ACPI_SEMAPHORE  Handle,
UINT32  Units,
UINT16  Timeout 
)

◆ AcpiOsWritable()

AU_EXTERN AU_FUNC BOOLEAN AcpiOsWritable ( void *  memory,
ACPI_SIZE  Length 
)

◆ AcpiOsWriteMemory()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWriteMemory ( ACPI_PHYSICAL_ADDRESS  Address,
UINT64  Value,
UINT32  Width 
)

◆ AcpiOsWritePciConfiguration()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWritePciConfiguration ( ACPI_PCI_ID PciId,
UINT32  Reg,
UINT64  Value,
UINT32  Width 
)

◆ AcpiOsWritePort()

AU_EXTERN AU_FUNC ACPI_STATUS AcpiOsWritePort ( ACPI_IO_ADDRESS  Address,
UINT32  Value,
UINT32  Width 
)