IP Library Granted Patent US 7,418,586
Granted Patent B2
US 7,418,586 · App. 11/294,839 · Granted Aug 26, 2008

Method and apparatus for assigning devices to a partition

Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,418,586
App. No.
11/294,839
Granted
Aug 26, 2008
Kind
B2
Abstract

Devices in a processing system may be managed by performing a first scan of a bus of the processing system from a first partition. In one embodiment, the first scan may discover location information for devices on the bus. A communications hub of the processing system may be programmed to hide at least one of the devices on the bus. After the communications hub is so programmed, the first partition may scan the bus again. A second partition of the processing system may receive location information for one or more of the devices detected in the first scan but not detected in the second scan. In one embodiment, the second partition may boot, and then the communications hub may again be programmed to hide at least one of the devices on the bus. An operating system may then boot on the first partition. Other embodiments are described and claimed.

Claims (65)

1. A method for managing devices in a processing system, the method comprising:

performing a first scan of a bus of a processing system from a first partition, the first scan to discover location information for devices on the bus;

programming a communications hub of the processing system to hide at least one of the devices on the bus;

after programming the communications hub to hide at least one of the devices, performing a second scan of the bus from the first partition; and

providing a second partition of the processing system with location information for one or more of the devices detected in the first scan but not detected in the second scan.

2. A method according to claim 1 , further comprising:

using the location information to initialize, in the second partition, one or more of the devices detected in the first scan but not detected in the second scan.

3. A method according to claim 1 , further comprising:

initializing devices in the second partition without scanning the bus from the second partition.

4. A method according to claim 1 , further comprising:

after programming the communications hub to hide at least one of the devices, programming the communications hub to reveal the previously hidden devices; and

using the location information to initialize one or more devices in the second partition after programming the communications hub to reveal the previously hidden devices.

5. A method according to claim 1 , further comprising:

after programming the communications hub to hide at least one of the devices, programming the communications hub to reveal the previously hidden devices;

using the location information to initialize one or more devices in the second partition after programming the communications hub to reveal the previously hidden devices; and

after initializing one or more devices in the second partition, again programming the communications hub to hide at least one of the devices on the bus.

6. A method according to claim 5 , further comprising:

after initializing one or more devices in the second partition and then again programming the communications hub to hide at least one of the devices on the bus, booting an operating system on the first partition.

7. A method according to claim 1 , further comprising:

booting the second partition;

after booting the second partition, again programming the communications hub to hide at least one of the devices on the bus; and

after again programming the communications hub to hide at least one of the devices on the bus, booting an operating system on the first partition.

8. A method according to claim 1 , further comprising:

building a first device list to include substantially all devices discovered in the first scan;

building a second device list to include substantially all devices discovered in the second scan;

automatically comparing the first and second device lists to identify devices to be sequestered; and

wherein the operation of providing a second partition with location information comprises providing the second partition with location information for the devices to be sequestered.

9. A method according to claim 8 , wherein, for each device to be sequestered, the location information comprises at least one item from the group consisting of a bus number, a device number, and a function number.

10. A method according to claim 1 , wherein the operation of programming a communications hub to hide at least one of the devices on the bus comprises programming device hide registers in the communications hub.

11. A method according to claim 1 , wherein the operation of programming a communications hub comprises programming an input/output controller hub (ICH) of the processing system.

12. A method according to claim 1 , wherein:

the first partition comprises a non-sequestered partition; and

the second partition comprises a sequestered partition.

13. A processing system with control logic for managing devices in the processing system, the processing system comprising:

a communications hub;

a bus responsive to the communications hub;

means for creating first and second partitions in the processing system;

means for performing a first scan of the bus, the first scan to discover location information for devices on the bus;

means for programming the communications hub to hide at least one of the devices on the bus from the first partition;

means for performing a second scan of the bus after the communications hub has been programmed to hide at least one of the devices; and

means for providing the second partition with location information for one or more of the devices that the communications hub was programmed to hide.

14. A processing system according to claim 13 , further comprising:

means for using the location information to initialize, in the second partition, one or more of the devices that the communications hub was programmed to hide.

15. A processing system according to claim 13 , further comprising:

means for initializing devices in the second partition without scanning the bus from the second partition.

16. A processing system according to claim 13 , further comprising:

means for booting the second partition;

means for again programming the communications hub to hide at least one of the devices on the bus after the second partition has booted; and

means for booting an operating system on the first partition after the communications hub has been again programmed to hide at least one of the devices on the bus.

17. A processing system according to claim 13 , wherein the communications hub comprises device hide registers for causing devices on the bus to be hidden.

18. An apparatus containing control logic for managing devices in a processing system, the apparatus comprising:

a machine-accessible storage medium; and

instructions in the machine-accessible storage medium, the instructions to perform operations comprising:

performing a first scan of a bus of a processing system, the first scan to discover location information for devices on the bus;

programming a communications hub of the processing system to hide at least one of the devices on the bus from a first partition of the processing system;

after programming the communications hub to hide at least one of the devices, performing a second scan of the bus; and

providing a second partition of the processing system with location information for one or more of the devices detected in the first scan but not detected in the second scan.

19. An apparatus according to claim 18 , wherein the instructions perform operations comprising:

using the location information to initialize, in the second partition, one or more of the devices that the communications hub was programmed to hide.

20. An apparatus according to claim 18 , wherein the instructions perform operations comprising:

initializing devices in the second partition without scanning the bus from the second partition.

21. An apparatus according to claim 18 , wherein the instructions perform operations comprising:

booting the second partition;

again programming the communications hub to hide at least one of the devices on the bus after the second partition has booted; and

booting an operating system on the first partition after the communications hub has been again programmed to hide at least one of the devices on the bus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2005
From: LEWITES, SAUL
To: INTEL CORPORATION
Reel/Frame 017334/0481 →
Continuity (1)
Related Publication 20070130453A1 · Jun 7, 2007