[PATCH 0/3] - Altix: Add ACPI SSDT PCI device support

From: John Keller <jpk_at_sgi.com>
Date: 2006-11-16 02:23:07
This patch set adds SN/Altix kernel support for
ACPI SSDT tables. SSDTs are built by an ACPI capable PROM
and describe all devices on each slot, including devices
on secondary buses. On hotplug enable/disable the SSDTs
are dynamically created/freed, and added/removed from the
namespace. SN platform specific device info that was
previously passed via SAL call is now passed via the Vendor
resource.

Patch[1/3]
 Add SN platform support for running with an ACPI
 capable PROM that defines PCI devices in SSDT
 tables. There is a SSDT table for every occupied
 slot on a root bus, containing info for every
 PPB and/or device on the bus. The SSDTs will be
 dynamically loaded/unloaded on a hotplug enable/disable.

 Platform specific information that is currently
 passed via a SAL call, will now be passed via the
 Vendor resource in the ACPI Device object defined
 in a SSDT.


Patch[2/3]
 Support for dynamic loading and unloading of ACPI
 SSDT tables upon slot hotplugs and unplugs.

 On SN platforms, we now represent every
 populated root bus slot with a single ACPI
 SSDT table containing info for every
 device and PPB attached to the slot. These SSDTs
 are generated by the prom at initial boot
 and hotplug time. The info in these SSDT tables is
 used by the SN kernel IO "fixup" code (which is called
 at boot and hotplug time).

 On hotplugs (i.e. enable_slot()), if running with
 an ACPI capable prom, attempt to obtain a new ACPI
 SSDT table for the slot being hotplugged. If successful,
 add the table to the ACPI namespace (acpi_load_table())
 and then walk the new devices and add them to the ACPI
 infastructure (acpi_bus_add()).

 On hot unplugs (i.e. disable_slot()), if running with
 an ACPI capable prom, attempt to remove the SSDT table
 associated with the slot from the ACPI namespace
 (acpi_unload_table_id()) and infastructure (acpi_bus_trim()).


Patch[3/3]
 This patch makes acpi_load_table() available
 for use by removing it from the #ifdef ACPI_FUTURE_USAGE.

 It also adds a new routine used to unload an ACPI table
 of a given type and "id" - acpi_unload_table_id().
 The implementation of this new routine was almost a direct
 copy of existing routine acpi_unload_table() - only difference
 being that it only removes a specific table id instead of
 ALL tables of a given type.
 The SN hotplug driver (sgi_hotplug.c) now uses both of these
 interfaces to dynamically load and unload SSDT ACPI tables.

 Also, a few other ACPI routines now used by the SN hotplug
 driver are exported (since the driver can be a loadable module):

 acpi_ns_map_handle_to_node
 acpi_ns_convert_entry_to_handle
 acpi_ns_get_next_node

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Nov 16 02:25:10 2006

This archive was generated by hypermail 2.1.8 : 2006-11-16 02:25:37 EST