Anonymous user
ACPICA: Difference between revisions
no edit summary
[unchecked revision] | [unchecked revision] |
No edit summary |
|||
(13 intermediate revisions by 4 users not shown) | |||
Line 1:
{{ACPI}}
The ACPI Component Architecture '''ACPICA''' provides an operating system (OS)-independent reference implementation of the [[ACPI|Advanced Configuration and Power Interface]]. It can be adapted to any host OS. The ACPICA code is meant to be directly integrated into the host OS, as a kernel-resident subsystem. Hosting the ACPICA requires no changes to the core ACPICA code. However, it does require a small OS-specific interface layer, which must be written specifically for each host OS.
Line 21 ⟶ 23:
ACPI_PHYSICAL_ADDRESS AcpiOsGetRootPointer()
{
ACPI_PHYSICAL_ADDRESS
AcpiFindRootPointer(&Ret);
return Ret;
Line 79 ⟶ 80:
==== AcpiOsExecute ====
ACPI_STATUS AcpiOsExecute(ACPI_EXECUTE_TYPE Type, ACPI_OSD_EXEC_CALLBACK Function, void *Context)
Create a new
Function(Context);
==== AcpiOsSleep ====
void AcpiOsSleep(UINT64 Milliseconds)
Line 109 ⟶ 111:
==== AcpiOsCreateSemaphore ====
ACPI_STATUS AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits, ACPI_SEMAPHORE *OutHandle)
Create a new
==== AcpiOsDeleteSemaphore ====
ACPI_STATUS AcpiOsDeleteSemaphore(ACPI_SEMAPHORE Handle)
-_-
==== AcpiOsWaitSemaphore ====
ACPI_STATUS AcpiOsWaitSemaphore(ACPI_SEMAPHORE Handle, UINT32 Units, UINT16 Timeout)
Line 121 ⟶ 125:
==== AcpiOsCreateLock ====
ACPI_STATUS AcpiOsCreateLock(ACPI_SPINLOCK *OutHandle)
Create a new spinlock and put its address in *OutHandle. Spinlock should disable interrupts on the current
==== AcpiOsDeleteLock ====
void AcpiOsDeleteLock(ACPI_HANDLE Handle)
Line 137 ⟶ 142:
If you're lucky, your IRQ manager uses handlers of this form:
uint32_t handler(void *);
In this case just assign the handler to the
#include <Irq.h>
ACPI_OSD_HANDLER ServiceRout;
Line 157 ⟶ 162:
==== AcpiOsRemoveInterruptHandler ====
ACPI_STATUS AcpiOsRemoveInterruptHandler(UINT32 InterruptNumber, ACPI_OSD_HANDLER Handler)
Just UnregisterIrq (InterruptNumber). Handler is provided in case you have an
== Using ACPICA in your OS ==
Line 171 ⟶ 177:
=== Visual Studio experience ===
From Visual Studio, although there is little organization in the files, it is relatively easy to port. In the provided
== Code Examples ==
Line 184 ⟶ 190:
== External links ==
*[
*[
[[Category:ACPI]]
|