README revision 1.1
11.1SthorpejThis is the Intel ACPI Component Architecture, Intel's reference
21.1Sthorpejimplementation of the core operating system ACPI support.  The
31.1Sthorpejportion in the Osd/ subdirectory is provided by the oprerating
41.1Sthorpejsystem as the glue between the OS and the ACPICA.
51.1Sthorpej
61.1SthorpejPlease, do not import an updated ACPI CA snapshot from Intel unless
71.1Sthorpejyou absolutely know what you're doing -- The Intel directory layout
81.1Sthorpejchanges from release to release, and we must munge it (by hand) into
91.1Sthorpejsomething sane that we can use.
101.1Sthorpej
111.1SthorpejThe routines that the operating system must provide are documented
121.1Sthorpejin the following document:
131.1Sthorpej
141.1Sthorpej	ACPI Component Architecture Programmer Reference
151.1Sthorpej	Intel Corp.
161.1Sthorpej
171.1SthorpejMachine-dependent code must provide the following routines for Osd:
181.1Sthorpej
191.1SthorpejACPI_STATUS	acpi_md_OsInitialize(void);
201.1SthorpejACPI_STATUS	acpi_md_OsTerminate(void);
211.1SthorpejACPI_STATUS	acpi_md_OsGetRootPointer(UINT32 Flags,
221.1Sthorpej		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
231.1Sthorpej
241.1SthorpejUINT8		acpi_md_OsIn8(ACPI_IO_ADDRESS InPort);
251.1SthorpejUINT16		acpi_md_OsIn16(ACPI_IO_ADDRESS InPort);
261.1SthorpejUINT32		acpi_md_OsIn32(ACPI_IO_ADDRESS InPort);
271.1Sthorpej
281.1Sthorpejvoid		acpi_md_OsOut8(ACPI_IO_ADDRESS OutPort, UINT8 Value);
291.1Sthorpejvoid		acpi_md_OsOut16(ACPI_IO_ADDRESS OutPort, UINT16 Value);
301.1Sthorpejvoid		acpi_md_OsOut32(ACPI_IO_ADDRESS OutPort, UINT32 Value);
311.1Sthorpej
321.1SthorpejACPI_STATUS	acpi_md_OsInstallInterruptHandler(UINT32 InterruptNumber,
331.1Sthorpej		    OSD_HANDLER ServiceRoutine, void *Context, void **cookiep);
341.1Sthorpejvoid		acpi_md_OsRemoveInterruptHandler(void *cookie);
351.1Sthorpej
361.1SthorpejACPI_STATUS	acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRESS PhysicalAddress,
371.1Sthorpej		    UINT32 Length, void **LogicalAddress);
381.1Sthorpejvoid		acpi_md_OsUnmapMemory(void *LogicalAddress, UINT32 Length);
391.1SthorpejACPI_STATUS	acpi_md_OsGetPhysicalAddress(void *LogicalAddress,
401.1Sthorpej		    ACPI_PHYSICAL_ADDRESS *PhysicalAddress);
411.1Sthorpej
421.1SthorpejBOOLEAN		acpi_md_OsReadable(void *Pointer, UINT32 Length);
431.1SthorpejBOOLEAN		acpi_md_OsWritable(void *Pointer, UINT32 Length);
441.1Sthorpej
451.1Sthorpej	-- Jason R. Thorpe <thorpej@wasabisystems.com>
46