README revision 1.1 1 This is the Intel ACPI Component Architecture, Intel's reference
2 implementation of the core operating system ACPI support. The
3 portion in the Osd/ subdirectory is provided by the oprerating
4 system as the glue between the OS and the ACPICA.
5
6 Please, do not import an updated ACPI CA snapshot from Intel unless
7 you absolutely know what you're doing -- The Intel directory layout
8 changes from release to release, and we must munge it (by hand) into
9 something sane that we can use.
10
11 The routines that the operating system must provide are documented
12 in the following document:
13
14 ACPI Component Architecture Programmer Reference
15 Intel Corp.
16
17 Machine-dependent code must provide the following routines for Osd:
18
19 ACPI_STATUS acpi_md_OsInitialize(void);
20 ACPI_STATUS acpi_md_OsTerminate(void);
21 ACPI_STATUS acpi_md_OsGetRootPointer(UINT32 Flags,
22 ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
23
24 UINT8 acpi_md_OsIn8(ACPI_IO_ADDRESS InPort);
25 UINT16 acpi_md_OsIn16(ACPI_IO_ADDRESS InPort);
26 UINT32 acpi_md_OsIn32(ACPI_IO_ADDRESS InPort);
27
28 void acpi_md_OsOut8(ACPI_IO_ADDRESS OutPort, UINT8 Value);
29 void acpi_md_OsOut16(ACPI_IO_ADDRESS OutPort, UINT16 Value);
30 void acpi_md_OsOut32(ACPI_IO_ADDRESS OutPort, UINT32 Value);
31
32 ACPI_STATUS acpi_md_OsInstallInterruptHandler(UINT32 InterruptNumber,
33 OSD_HANDLER ServiceRoutine, void *Context, void **cookiep);
34 void acpi_md_OsRemoveInterruptHandler(void *cookie);
35
36 ACPI_STATUS acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRESS PhysicalAddress,
37 UINT32 Length, void **LogicalAddress);
38 void acpi_md_OsUnmapMemory(void *LogicalAddress, UINT32 Length);
39 ACPI_STATUS acpi_md_OsGetPhysicalAddress(void *LogicalAddress,
40 ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
41
42 BOOLEAN acpi_md_OsReadable(void *Pointer, UINT32 Length);
43 BOOLEAN acpi_md_OsWritable(void *Pointer, UINT32 Length);
44
45 -- Jason R. Thorpe <thorpej (a] wasabisystems.com>
46