A method and system that enables customized computer machines to be more readily
developed by removing the function of resource translation out of the hardware
abstraction layer (HAL). A machine manufacturer describes a machine in firmware,
such as accordance with the Advanced Configuration and Power Interface (ACPI) specification,
using ACPI machine language (AML). Operating system components such as a Plug and
Play (PnP) manager in the kernel, in conjunction with an ACPI driver, interpret
the description information and locate resources (bus bridges) for which translation
is needed. For any arbitrary bus architecture or CPU to PCI bridge implementation
that can be expressed, e.g., in ACPI firmware, the invention provides a translator
external to the HAL. In one implementation, a PnP driver communicates with the
ACPI driver and various drivers in driver stacks via I/O request packets (IRPs)
to look for resource translators. The ACPI driver analyzes the machine description
and returns a translator if found for such a resource. The resource is then configured
to output cycles based on the translator.