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