README revision 1.3
11.3Sperry#	$NetBSD: README,v 1.3 2003/02/06 00:27:06 perry 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.1Sthorpejportion in the Osd/ subdirectory is provided by the oprerating
61.1Sthorpejsystem as the glue between the OS and the ACPICA.
71.1Sthorpej
81.1SthorpejPlease, do not import an updated ACPI CA 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.1Sthorpej	ACPI Component Architecture Programmer Reference
171.1Sthorpej	Intel Corp.
181.3Sperry
191.3SperryCopies of the document may be retrieved from:
201.3Sperry
211.3Sperry	http://developer.intel.com/technology/iapc/acpi/downloads.htm
221.1Sthorpej
231.1SthorpejMachine-dependent code must provide the following routines for Osd:
241.1Sthorpej
251.1SthorpejACPI_STATUS	acpi_md_OsInitialize(void);
261.1SthorpejACPI_STATUS	acpi_md_OsTerminate(void);
271.1SthorpejACPI_STATUS	acpi_md_OsGetRootPointer(UINT32 Flags,
281.1Sthorpej		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
291.1Sthorpej
301.1SthorpejUINT8		acpi_md_OsIn8(ACPI_IO_ADDRESS InPort);
311.1SthorpejUINT16		acpi_md_OsIn16(ACPI_IO_ADDRESS InPort);
321.1SthorpejUINT32		acpi_md_OsIn32(ACPI_IO_ADDRESS InPort);
331.1Sthorpej
341.1Sthorpejvoid		acpi_md_OsOut8(ACPI_IO_ADDRESS OutPort, UINT8 Value);
351.1Sthorpejvoid		acpi_md_OsOut16(ACPI_IO_ADDRESS OutPort, UINT16 Value);
361.1Sthorpejvoid		acpi_md_OsOut32(ACPI_IO_ADDRESS OutPort, UINT32 Value);
371.1Sthorpej
381.1SthorpejACPI_STATUS	acpi_md_OsInstallInterruptHandler(UINT32 InterruptNumber,
391.1Sthorpej		    OSD_HANDLER ServiceRoutine, void *Context, void **cookiep);
401.1Sthorpejvoid		acpi_md_OsRemoveInterruptHandler(void *cookie);
411.1Sthorpej
421.1SthorpejACPI_STATUS	acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRESS PhysicalAddress,
431.1Sthorpej		    UINT32 Length, void **LogicalAddress);
441.1Sthorpejvoid		acpi_md_OsUnmapMemory(void *LogicalAddress, UINT32 Length);
451.1SthorpejACPI_STATUS	acpi_md_OsGetPhysicalAddress(void *LogicalAddress,
461.1Sthorpej		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
471.1Sthorpej
481.1SthorpejBOOLEAN		acpi_md_OsReadable(void *Pointer, UINT32 Length);
491.1SthorpejBOOLEAN		acpi_md_OsWritable(void *Pointer, UINT32 Length);
501.1Sthorpej
511.1Sthorpej	-- Jason R. Thorpe <thorpej@wasabisystems.com>
52