23 DPRINT(
"AcpiOsInitialize called\n");
27 AcpiDbgLevel = 0x00FFFFFF;
28 AcpiDbgLayer = 0xFFFFFFFF;
37 DPRINT(
"AcpiOsTerminate() called\n");
46 ACPI_PHYSICAL_ADDRESS
pa = 0;
48 DPRINT(
"AcpiOsGetRootPointer\n");
59 if (!PredefinedObject || !NewValue)
76 if (!ExistingTable || !NewTable)
91 ACPI_PHYSICAL_ADDRESS *NewAddress,
94 if (!ExistingTable || !NewAddress || !NewTableLength)
109 ACPI_PHYSICAL_ADDRESS phys,
115 DPRINT(
"AcpiOsMapMemory(phys 0x%p size 0x%X)\n", phys,
length);
132 DPRINT(
"AcpiOsMapMemory(phys 0x%p size 0x%X)\n", virt,
length);
141 void *LogicalAddress,
170 DPRINT1(
"Attempt to free null pointer!!!\n");
233 DPRINT(
"AcpiOsExecute\n");
259 DPRINT(
"AcpiOsSleep %d\n", milliseconds);
266 DPRINT(
"AcpiOsStall %d\n",microseconds);
560 DPRINT1(
"Reregister interrupt attempt failed\n");
570 DPRINT(
"AcpiOsInstallInterruptHandler()\n");
610 DPRINT(
"AcpiOsRemoveInterruptHandler()\n");
626 DPRINT1(
"Trying to remove non-existing interrupt handler\n");
659 DPRINT1(
"AcpiOsReadMemory got bad width: %d\n",Width);
692 DPRINT1(
"AcpiOsWriteMemory got bad width: %d\n",Width);
723 DPRINT1(
"AcpiOsReadPort got bad width: %d\n",Width);
752 DPRINT1(
"AcpiOsWritePort got bad width: %d\n",Width);
775 DPRINT(
"PCI device is not present\n");
783 DPRINT(
"Invalid vendor ID in PCI configuration space\n");
787 DPRINT(
"PCI device is present\n");
805 DPRINT(
"AcpiOsReadPciConfiguration, slot=0x%X, func=0x%X\n",
slot.u.AsULONG, Reg);
835 DPRINT(
"AcpiOsWritePciConfiguration, slot=0x%x\n",
slot.u.AsULONG);
880 DPRINT1(
"Output redirection not supported\n");
916 DPRINT1 (
"AcpiOsBreakpoint ****\n");
922 DPRINT1 (
"AcpiOsBreakpoint ****\n");
937 DPRINT1(
"Entering sleep state S%u.\n", SleepState);
947 DPRINT1(
"File reading not supported\n");
#define KeQuerySystemTime(t)
static ACPI_OSD_HANDLER AcpiIrqHandler
#define KeGetCurrentIrql()
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
ACPI_STATUS AcpiOsGetPhysicalAddress(void *LogicalAddress, ACPI_PHYSICAL_ADDRESS *PhysicalAddress)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
#define THREAD_ALL_ACCESS
void AcpiOsStall(UINT32 microseconds)
ACPI_STATUS AcpiOsRemoveInterruptHandler(UINT32 InterruptNumber, ACPI_OSD_HANDLER ServiceRoutine)
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
ACPI_STATUS AcpiOsTerminate(void)
VOID NTAPI WRITE_PORT_USHORT(IN PUSHORT Port, IN USHORT Value)
#define READ_PORT_UCHAR(p)
static ULONG AcpiIrqNumber
ACPI_STATUS AcpiOsEnterSleep(UINT8 SleepState, UINT32 RegaValue, UINT32 RegbValue)
BOOLEAN NTAPI OslIsrStub(PKINTERRUPT Interrupt, PVOID ServiceContext)
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
BOOLEAN OslIsPciDevicePresent(ULONG BusNumber, ULONG SlotNumber)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
ACPI_CPU_FLAGS AcpiOsAcquireLock(ACPI_SPINLOCK Handle)
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
VOID NTAPI KeAcquireSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock)
UINT32 AcpiOsInstallInterruptHandler(UINT32 InterruptNumber, ACPI_OSD_HANDLER ServiceRoutine, void *Context)
ULONG NTAPI READ_PORT_ULONG(IN PULONG Port)
ACPI_STATUS AcpiOsAcquireMutex(ACPI_MUTEX Handle, UINT16 Timeout)
ACPI_STATUS AcpiOsDeleteSemaphore(ACPI_SEMAPHORE Handle)
PVOID NTAPI MmMapIoSpace(IN PHYSICAL_ADDRESS PhysicalAddress, IN SIZE_T NumberOfBytes, IN MEMORY_CACHING_TYPE CacheType)
LONG NTAPI KeSetEvent(IN PKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait)
NTSTATUS NTAPI KeWaitForSingleObject(IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL)
#define OBJ_KERNEL_HANDLE
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
static PKINTERRUPT AcpiInterrupt
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
GLenum GLuint GLenum GLsizei const GLchar * buf
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
UINT32(ACPI_SYSTEM_XFACE * ACPI_OSD_HANDLER)(void *Context)
KSTART_ROUTINE * PKSTART_ROUTINE
void AcpiOsWaitEventsComplete(void)
void AcpiOsReleaseLock(ACPI_SPINLOCK Handle, ACPI_CPU_FLAGS Flags)
NTSTATUS NTAPI IoConnectInterrupt(OUT PKINTERRUPT *InterruptObject, IN PKSERVICE_ROUTINE ServiceRoutine, IN PVOID ServiceContext, IN PKSPIN_LOCK SpinLock, IN ULONG Vector, IN KIRQL Irql, IN KIRQL SynchronizeIrql, IN KINTERRUPT_MODE InterruptMode, IN BOOLEAN ShareVector, IN KAFFINITY ProcessorEnableMask, IN BOOLEAN FloatingSave)
GLenum GLuint GLenum GLsizei length
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
ACPI_STATUS ACPI_INIT_FUNCTION AcpiFindRootPointer(ACPI_PHYSICAL_ADDRESS *TableAddress)
ACPI_STATUS AcpiOsWriteMemory(ACPI_PHYSICAL_ADDRESS Address, UINT64 Value, UINT32 Width)
ACPI_STATUS AcpiOsSignalSemaphore(ACPI_SEMAPHORE Handle, UINT32 Units)
UINT64 AcpiOsGetTimer(void)
#define EXCEPTION_EXECUTE_HANDLER
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
static PDEVICE_UNIT Units[MAX_CHANNELS *MAX_DEVICES]
VOID NTAPI IoDisconnectInterrupt(PKINTERRUPT InterruptObject)
ACPI_STATUS AcpiOsSignal(UINT32 Function, void *Info)
NTHALAPI ULONG NTAPI HalGetInterruptVector(INTERFACE_TYPE, ULONG, ULONG, ULONG, PKIRQL, PKAFFINITY)
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
ACPI_STATUS AcpiOsExecute(ACPI_EXECUTE_TYPE Type, ACPI_OSD_EXEC_CALLBACK Function, void *Context)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
ACPI_PHYSICAL_ADDRESS AcpiOsGetRootPointer(void)
#define ACPI_INTERNAL_VAR_XFACE
void AcpiOsSleep(UINT64 milliseconds)
ACPI_STATUS AcpiOsPhysicalTableOverride(ACPI_TABLE_HEADER *ExistingTable, ACPI_PHYSICAL_ADDRESS *NewAddress, UINT32 *NewTableLength)
_Must_inspect_result_ _In_ ULONG Flags
#define ACPI_INTERRUPT_HANDLED
#define PCI_INVALID_VENDORID
#define NT_SUCCESS(StatCode)
ACPI_STATUS AcpiOsGetLine(char *Buffer, UINT32 BufferLength, UINT32 *BytesRead)
ACPI_STATUS AcpiOsInitialize(void)
#define AE_ALREADY_EXISTS
VOID NTAPI KeReleaseSpinLockFromDpcLevel(IN PKSPIN_LOCK SpinLock)
FORCEINLINE VOID ExInitializeFastMutex(_Out_ PFAST_MUTEX FastMutex)
#define KeAcquireSpinLock(sl, irql)
BOOLEAN FASTCALL ExTryToAcquireFastMutex(IN PFAST_MUTEX FastMutex)
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
NTSYSAPI ULONG NTAPI vDbgPrintEx(_In_ ULONG ComponentId, _In_ ULONG Level, _In_z_ PCCH Format, _In_ va_list ap)
struct _ACPI_SEM ACPI_SEM
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID ServiceContext
#define ExAllocatePoolWithTag(hernya, size, tag)
void AcpiOsUnmapMemory(void *virt, ACPI_SIZE length)
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
ULONG NTAPI HalGetBusDataByOffset(IN BUS_DATA_TYPE BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
ACPI_STATUS AcpiOsWritePciConfiguration(ACPI_PCI_ID *PciId, UINT32 Reg, UINT64 Value, UINT32 Width)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define ACPI_SIGNAL_BREAKPOINT
#define WRITE_PORT_UCHAR(p, d)
static PVOID AcpiIrqContext
ACPI_STATUS AcpiOsCreateLock(ACPI_SPINLOCK *OutHandle)
struct _ACPI_SEM * PACPI_SEM
ACPI_STATUS AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits, ACPI_SEMAPHORE *OutHandle)
void * AcpiOsAllocate(ACPI_SIZE size)
#define KeInitializeEvent(pEvt, foo, foo2)
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
#define DPFLTR_ERROR_LEVEL
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG Vector
VOID NTAPI MmUnmapIoSpace(IN PVOID BaseAddress, IN SIZE_T NumberOfBytes)
NTSTATUS NTAPI PsCreateSystemThread(OUT PHANDLE ThreadHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN HANDLE ProcessHandle, IN PCLIENT_ID ClientId, IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext)
ACPI_THREAD_ID AcpiOsGetThreadId(void)
void AcpiOsFree(void *ptr)
#define KeReleaseSpinLock(sl, irql)
ACPI_STATUS AcpiOsReadPciConfiguration(ACPI_PCI_ID *PciId, UINT32 Reg, UINT64 *Value, UINT32 Width)
ACPI_STATUS AcpiOsCreateMutex(ACPI_MUTEX *OutHandle)
struct tagContext Context
ACPI_STATUS AcpiOsWaitSemaphore(ACPI_SEMAPHORE Handle, UINT32 Units, UINT16 Timeout)
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
ACPI_STATUS AcpiOsTableOverride(ACPI_TABLE_HEADER *ExistingTable, ACPI_TABLE_HEADER **NewTable)
static BOOLEAN AcpiInterruptHandlerRegistered
void AcpiOsReleaseMutex(ACPI_MUTEX Handle)
BOOLEAN AcpiOsWritable(void *Memory, ACPI_SIZE Length)
void ACPI_INTERNAL_VAR_XFACE AcpiOsPrintf(const char *Fmt,...)
#define InitializeObjectAttributes(p, n, a, r, s)
PHYSICAL_ADDRESS NTAPI MmGetPhysicalAddress(IN PVOID Address)
ACPI_STATUS AcpiOsWritePort(ACPI_IO_ADDRESS Address, UINT32 Value, UINT32 Width)
#define _SEH2_EXCEPT(...)
void * AcpiOsMapMemory(ACPI_PHYSICAL_ADDRESS phys, ACPI_SIZE length)
ACPI_STATUS AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS Address, UINT64 *Value, UINT32 Width)
USHORT NTAPI READ_PORT_USHORT(IN PUSHORT Port)
#define ExFreePoolWithTag(_P, _T)
void AcpiOsRedirectOutput(void *Destination)
unsigned long long UINT64
void AcpiOsDeleteMutex(ACPI_MUTEX Handle)
void AcpiOsVprintf(const char *Fmt, va_list Args)
ULONG NTAPI HalSetBusDataByOffset(IN BUS_DATA_TYPE BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
ACPI_STATUS AcpiOsReadPort(ACPI_IO_ADDRESS Address, UINT32 *Value, UINT32 Width)
BOOLEAN AcpiOsReadable(void *Memory, ACPI_SIZE Length)
VOID NTAPI KeStallExecutionProcessor(IN ULONG MicroSeconds)
void(ACPI_SYSTEM_XFACE * ACPI_OSD_EXEC_CALLBACK)(void *Context)
#define ACPI_SIGNAL_FATAL
ACPI_STATUS AcpiOsPredefinedOverride(const ACPI_PREDEFINED_NAMES *PredefinedObject, ACPI_STRING *NewValue)
_In_ PKSERVICE_ROUTINE ServiceRoutine
void AcpiOsDeleteLock(ACPI_SPINLOCK Handle)