Dynamically configuring resources for cycle translation in a computer system
First Claim
1. A system for configuring a resource to communicate with a device, comprising:
- a bus bridge to which the device is connected, a first component configured to analyze a description of the machine, and based on the description, to determine from the description whether cycles output by the resource require translation from one bus to another bus, and if so, to dynamically provide a translator to change a cycle type for the resource based on translation that will be performed at the bus bridge; and
a second component configured to obtain the translator from the first component, and further configured to tell the resource to output translated cycles based on information in the translator.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
128 Citations
28 Claims
-
1. A system for configuring a resource to communicate with a device, comprising:
-
a bus bridge to which the device is connected, a first component configured to analyze a description of the machine, and based on the description, to determine from the description whether cycles output by the resource require translation from one bus to another bus, and if so, to dynamically provide a translator to change a cycle type for the resource based on translation that will be performed at the bus bridge; and
a second component configured to obtain the translator from the first component, and further configured to tell the resource to output translated cycles based on information in the translator. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 11)
-
- 5. The system of claim 5 wherein the other component comprises an operating system component.
-
12. A system for configuring a resource to communicate with a device, comprising:
-
a bus bridge to which the device is connected;
a first component configured to analyze a description of the machine, and based on the description, to provide a translator for the resource based on translation that will be performed at the bus bridge, the first component providing the translator to change a memory address; and
a second component configured to obtain the translator from the first component, and further configured to tell the resource to output cycles based on information in to the translator. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system for configuring a resource to communicate with a device, comprising:
-
a bus bridge to which the device is connected;
a first component configured to analyze a description of the machine, and based on the description, to provide a translator for the resource based on translation that will be performed at the bus bridge, the first component providing the translator to change a cycle type; and
a second component configured to obtain the translator from the first component, and further configured to tell the resource to output cycles based on information in to the translator. - View Dependent Claims (20, 21, 23, 24, 25, 26, 27)
-
-
22. The system of claim 29 wherein the bus bridge comprises a CPU to PCI bridge.
-
28. A system for configuring a resource to communicate with a device, comprising:
-
a bus bridge to which the device is connected, a first component configured to analyze a description of the machine, and based on the description, to determine from the description whether cycles output by the resource require translation from one bus to another bus, and if so, to dynamically provide a translator to change a memory address for the resource based on translation that will be performed at the bus bridge; and
a second component configured to obtain the translator from the first component, and further configured to tell the resource to output translated cycles based on information in the translator.
-
Specification