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