1# $NetBSD: README,v 1.2 2001/09/28 01:24:44 thorpej 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 19Machine-dependent code must provide the following routines for Osd: 20 21ACPI_STATUS acpi_md_OsInitialize(void); 22ACPI_STATUS acpi_md_OsTerminate(void); 23ACPI_STATUS acpi_md_OsGetRootPointer(UINT32 Flags, 24 ACPI_PHYSICAL_ADDRESS *PhysicalAddress); 25 26UINT8 acpi_md_OsIn8(ACPI_IO_ADDRESS InPort); 27UINT16 acpi_md_OsIn16(ACPI_IO_ADDRESS InPort); 28UINT32 acpi_md_OsIn32(ACPI_IO_ADDRESS InPort); 29 30void acpi_md_OsOut8(ACPI_IO_ADDRESS OutPort, UINT8 Value); 31void acpi_md_OsOut16(ACPI_IO_ADDRESS OutPort, UINT16 Value); 32void acpi_md_OsOut32(ACPI_IO_ADDRESS OutPort, UINT32 Value); 33 34ACPI_STATUS acpi_md_OsInstallInterruptHandler(UINT32 InterruptNumber, 35 OSD_HANDLER ServiceRoutine, void *Context, void **cookiep); 36void acpi_md_OsRemoveInterruptHandler(void *cookie); 37 38ACPI_STATUS acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRESS PhysicalAddress, 39 UINT32 Length, void **LogicalAddress); 40void acpi_md_OsUnmapMemory(void *LogicalAddress, UINT32 Length); 41ACPI_STATUS acpi_md_OsGetPhysicalAddress(void *LogicalAddress, 42 ACPI_PHYSICAL_ADDRESS *PhysicalAddress); 43 44BOOLEAN acpi_md_OsReadable(void *Pointer, UINT32 Length); 45BOOLEAN acpi_md_OsWritable(void *Pointer, UINT32 Length); 46 47 -- Jason R. Thorpe <thorpej@wasabisystems.com> 48