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