xref: /netbsd-src/sys/dev/acpi/acpica/README (revision e77448e07be3174235c13f58032a0d6d0ab7638d)
1#	$NetBSD: README,v 1.3 2003/02/06 00:27:06 perry Exp $
2
3This is the Intel ACPI Component Architecture, Intel's reference
4implementation of the core operating system ACPI support.  The
5portion in the Osd/ subdirectory is provided by the oprerating
6system as the glue between the OS and the ACPICA.
7
8Please, do not import an updated ACPI CA 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	ACPI Component Architecture Programmer Reference
17	Intel Corp.
18
19Copies of the document may be retrieved from:
20
21	http://developer.intel.com/technology/iapc/acpi/downloads.htm
22
23Machine-dependent code must provide the following routines for Osd:
24
25ACPI_STATUS	acpi_md_OsInitialize(void);
26ACPI_STATUS	acpi_md_OsTerminate(void);
27ACPI_STATUS	acpi_md_OsGetRootPointer(UINT32 Flags,
28		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
29
30UINT8		acpi_md_OsIn8(ACPI_IO_ADDRESS InPort);
31UINT16		acpi_md_OsIn16(ACPI_IO_ADDRESS InPort);
32UINT32		acpi_md_OsIn32(ACPI_IO_ADDRESS InPort);
33
34void		acpi_md_OsOut8(ACPI_IO_ADDRESS OutPort, UINT8 Value);
35void		acpi_md_OsOut16(ACPI_IO_ADDRESS OutPort, UINT16 Value);
36void		acpi_md_OsOut32(ACPI_IO_ADDRESS OutPort, UINT32 Value);
37
38ACPI_STATUS	acpi_md_OsInstallInterruptHandler(UINT32 InterruptNumber,
39		    OSD_HANDLER ServiceRoutine, void *Context, void **cookiep);
40void		acpi_md_OsRemoveInterruptHandler(void *cookie);
41
42ACPI_STATUS	acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRESS PhysicalAddress,
43		    UINT32 Length, void **LogicalAddress);
44void		acpi_md_OsUnmapMemory(void *LogicalAddress, UINT32 Length);
45ACPI_STATUS	acpi_md_OsGetPhysicalAddress(void *LogicalAddress,
46		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
47
48BOOLEAN		acpi_md_OsReadable(void *Pointer, UINT32 Length);
49BOOLEAN		acpi_md_OsWritable(void *Pointer, UINT32 Length);
50
51	-- Jason R. Thorpe <thorpej@wasabisystems.com>
52