README revision 1.4
11.4Sjruoho#	$NetBSD: README,v 1.4 2010/07/24 06:10:43 jruoho Exp $
21.2Sthorpej
31.1SthorpejThis is the Intel ACPI Component Architecture, Intel's reference
41.1Sthorpejimplementation of the core operating system ACPI support.  The
51.4Sjruohoportion in the acpica/ subdirectory is provided by the operating
61.1Sthorpejsystem as the glue between the OS and the ACPICA.
71.1Sthorpej
81.4SjruohoPlease, do not import an updated ACPICA snapshot from Intel unless
91.1Sthorpejyou absolutely know what you're doing -- The Intel directory layout
101.1Sthorpejchanges from release to release, and we must munge it (by hand) into
111.1Sthorpejsomething sane that we can use.
121.1Sthorpej
131.1SthorpejThe routines that the operating system must provide are documented
141.1Sthorpejin the following document:
151.1Sthorpej
161.4Sjruoho	Intel Corp., ACPI Component Architecture Programmer Reference
171.3Sperry
181.3SperryCopies of the document may be retrieved from:
191.3Sperry
201.4Sjruoho	http://www.acpica.org/download/acpica-reference.pdf
211.1Sthorpej
221.4SjruohoMachine-dependent code must provide at least the following routines:
231.1Sthorpej
241.1SthorpejACPI_STATUS	acpi_md_OsInitialize(void);
251.1SthorpejACPI_STATUS	acpi_md_OsTerminate(void);
261.1SthorpejACPI_STATUS	acpi_md_OsGetRootPointer(UINT32 Flags,
271.1Sthorpej		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
281.1Sthorpej
291.1SthorpejUINT8		acpi_md_OsIn8(ACPI_IO_ADDRESS InPort);
301.1SthorpejUINT16		acpi_md_OsIn16(ACPI_IO_ADDRESS InPort);
311.1SthorpejUINT32		acpi_md_OsIn32(ACPI_IO_ADDRESS InPort);
321.1Sthorpej
331.1Sthorpejvoid		acpi_md_OsOut8(ACPI_IO_ADDRESS OutPort, UINT8 Value);
341.1Sthorpejvoid		acpi_md_OsOut16(ACPI_IO_ADDRESS OutPort, UINT16 Value);
351.1Sthorpejvoid		acpi_md_OsOut32(ACPI_IO_ADDRESS OutPort, UINT32 Value);
361.1Sthorpej
371.1SthorpejACPI_STATUS	acpi_md_OsInstallInterruptHandler(UINT32 InterruptNumber,
381.1Sthorpej		    OSD_HANDLER ServiceRoutine, void *Context, void **cookiep);
391.1Sthorpejvoid		acpi_md_OsRemoveInterruptHandler(void *cookie);
401.1Sthorpej
411.1SthorpejACPI_STATUS	acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRESS PhysicalAddress,
421.1Sthorpej		    UINT32 Length, void **LogicalAddress);
431.1Sthorpejvoid		acpi_md_OsUnmapMemory(void *LogicalAddress, UINT32 Length);
441.1SthorpejACPI_STATUS	acpi_md_OsGetPhysicalAddress(void *LogicalAddress,
451.1Sthorpej		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
461.1Sthorpej
471.1SthorpejBOOLEAN		acpi_md_OsReadable(void *Pointer, UINT32 Length);
481.1SthorpejBOOLEAN		acpi_md_OsWritable(void *Pointer, UINT32 Length);
491.1Sthorpej
501.1Sthorpej	-- Jason R. Thorpe <thorpej@wasabisystems.com>
51