Method of determining the configuration of devices installed on a computer bus
First Claim
1. A method for determining if an expansion board contained in a computer system requires utilization of computer system resources, the resources including a direct memory access (DMA) controller and an interrupt controller, the resources having registers for holding values, the expansion board including initialization software, the method comprising the steps of:
- (a) saving the register values of the resources as original values;
(b) executing the initialization software of the expansion board after step (a);
(c) reading the register values of the resources as new values after step (b);
(d) comparing the new values to the corresponding original values to determine resource utilization; and
(e) saving resource utilization information if step (d) indicates resource utilization.
4 Assignments
0 Petitions
Accused Products
Abstract
A method where at power-on and before loading an option ROM the DMA and interrupt controller register values are saved. After option ROM initialization current DMA and interrupt controller register values are compared to saved register values for determining DMA and interrupt controller usage by an expansion board. The usage information is saved in NVRAM until the operating system is booted and a configuration routine is executed. Additionally, each slot on the system bus is individually enabled and each address of an address range is read to determine whether an expansion board is installed in the slot and responding to a read. If the data value read is unequal to the undriven value of the data bus, then an expansion board is responding and information is logged into an I/O map. Otherwise, a second read is performed, and certain control lines are latched for determining whether an expansion board is driving those lines. If so, an expansion board is responding. Otherwise, the system then performs a further special read to determine the data bus response time. If the response time is faster than the response time of an undriven bus, an expansion board is responding. In this way, an address map is created for the system bus. This map is then used with the DMA and interrupt usage to determine the system configuration by comparing the map and usage to standard signatures of known boards. The system configuration is the passed to standard configuration software.
63 Citations
36 Claims
-
1. A method for determining if an expansion board contained in a computer system requires utilization of computer system resources, the resources including a direct memory access (DMA) controller and an interrupt controller, the resources having registers for holding values, the expansion board including initialization software, the method comprising the steps of:
-
(a) saving the register values of the resources as original values; (b) executing the initialization software of the expansion board after step (a); (c) reading the register values of the resources as new values after step (b); (d) comparing the new values to the corresponding original values to determine resource utilization; and (e) saving resource utilization information if step (d) indicates resource utilization. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system, comprising:
-
a system bus; a processor coupled to said system bus for executing computer system initialization software; an expansion board installed in said computer system and coupled to said system bus, said expansion board containing expansion board initialization software; resources coupled to said system bus for utilization by expansion boards installed in said system bus, said resources having registers for holding values, said resources including; a direct memory access (DMA) controller; and an interrupt controller; wherein when said processor executes said computer system initialization software the following steps are performed; (a) saving the register values of the resources as original values; (b) executing the expansion board initialization software; (c) reading the register values of the resources as new values after step (b); (d) comparing the new values to the corresponding original values to determine resource utilization; and (e) saving resource utilization information if step (d) indicates resource utilization. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer system, comprising:
-
a system bus; a processor coupled to said system bus for executing computer system initialization software; a hard disk system coupled to said system bus and being initialized by said processor; an expansion board installed in said computer system and coupled to said system bus, said expansion board containing expansion board initialization software; resources coupled to said system bus for utilization by expansion boards installed in said system bus, said resources having registers for holding values, said resources including; a direct memory access (DMA) controller; and an interrupt controller; wherein when said processor executes said computer system initialization software the following steps are performed; (a) saving the register values of the resources as original values; (b) executing the expansion board initialization software; (c) reading the register values of the resources as new values after step (b); (d) comparing the new values to the corresponding original values to determine resource utilization; and (e) saving resource utilization information if step (d) indicates resource utilization. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification