Check out the new USENIX Web site. next up previous
Next: User-land Interface Up: Conclusion and Future Work Previous: Conclusion and Future Work

Device Enumeration Enhancement

ACPI has a hot-plugging feature, and the current PCI interrupt routing code is not capable of routing interrupts for devices that are on a PCI-PCI bridge. This will require large modification to the current device enumeration scheme in ACPI. We have proposed a scheme designed so that existing drivers are not modified unless absolutely necessary. The scheme is:
  1. Add a bus bridge enumerator driver (only have device_identify bus method) for each bus bridge device that can be a descendant of ACPI and appear as a namespace. In this method, add children to the bus and register acpi_name-device_t table in the acpi driver. Then evaluate _INI object after checking by _STA. Then the driver install address space handler, etc.

  2. The manipulation to get ACPI_HANDLE, etc., is not done via DEVMETHOD but by a direct function call. This may require module dependency with the acpi driver, but if the driver wants to use ACPI_HANDLE, it must depend on acpi. If a device other than ACPI is used, it may not use ACPI_HANDLE to get information.

  3. Add acpi attachment for devices that can be attached to acpi directly. The acpi-pcib driver is quite a different implement than the nexus-pcib driver.


next up previous
Next: User-land Interface Up: Conclusion and Future Work Previous: Conclusion and Future Work
Takanori Watanabe 2002-04-13