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