Patent ID: 8706942
Filing Date: 2014-04-22
Classification: G06F

Abstract:
1. A method comprising: receiving a request from a first local I/O device, which references a first address within a range of addresses associated with a second local I/O device; determining if the second local I/O device is trusted in regards to the first local I/O device; enabling peer-to-peer forwarding logic within a bridge coupled to the first and the second local I/O devices to forward the request to the second local I/O device without forwarding the request upstream in response to the second local I/O device being trusted in regards to the first local I/O device; and disabling the peer-to-peer forwarding logic, such that the request from the first local I/O device is not to be forwarded to the second local I/O device, in response to the second local I/O device not being trusted in regards to the first local I/O device, wherein when the peer-to-peer forwarding logic is disabled the request is forwarded upstream, wherein the peer-to-peer forwarding logic within the bridge comprises: upstream logic to associate a window or range of guest addresses for each I/O device coupled to the bridge; downstream logic to associate a range or window of host addresses with each I/O device coupled to the bridge; remapping logic to translate between the guest addresses of the upstream logic and the host addresses of the downstream logic, wherein the upstream logic includes at least one register to store a source identifier to identify a source of an address, a guest address base to establish a base for an associated window of guest addresses, a size of the associated window of guest addresses, and a base for an hosted host address and wherein the upstream logic is written to upon initialization to establish stored values such as source identification, base address, and size.