Patent ID: 7593840

Claim:
A processing device that emulates a peripheral bus switch, the processing device comprising: at least one processing unit; memory; an internal bus operably coupled to the at least one processing unit and the memory; a plurality of input ports operably coupled to the internal bus that receive peripheral bus transactions; and a plurality of output ports operably coupled to the internal bus that transmit peripheral bus transactions; wherein the at least one processing unit executes a plurality of instructions to cause the processing device to emulate: a virtual peripheral bus; a first bridge operably coupled on a first side to the virtual peripheral bus and that supports connection on a second side to a peripheral bus fabric and to a root host bridge through a root bus; a second bridge operably coupled on a first side to the virtual peripheral bus and that supports connection on a second side to the peripheral bus fabric; and a configurable host bridge operably coupled to the virtual peripheral bus, wherein the configurable host bridge supports a host mode of operation and supports a device mode of operation, and wherein during the device mode of operation, the root host bridge operates as a root bridge and transacts with the virtual peripheral bus to access devices of the peripheral bus fabric and in which the configurable host bridge is accessed by the root host bridge as one of the devices of the peripheral bus fabric, but during the host mode of operation, the configurable host bridge is configured to operate as a root bridge and the virtual peripheral bus is configured as a root bus to access the devices of the peripheral bus fabric instead of the root host bridge.