Patent ID: 7953074

Claim:
A switching apparatus for sharing input/output endpoints, the switching apparatus comprising: a first shared I/O endpoint, configured to request/complete first transactions for each of a plurality of operating system domains, said each of said plurality of operating system domains corresponding to a separate root complex; a switch, comprising: a first plurality of I/O ports, coupled to said plurality of operating system domains through a load-store fabric, each configured to route said first transactions between said plurality of operating system domains and said switch according to the PCI Express protocol; a second I/O port, coupled to a first shared input/output endpoint, wherein said first shared input/output endpoint requests/completes said first transactions for each of said plurality of operating system domains, wherein each of said first transactions is associated with a corresponding one of said plurality of operating system domains according to a variant of said PCl Express protocol, said variant comprising encapsulating an OS domain header within a PCI Express transaction layer packet that is otherwise identical with a conventional PCI Express transaction layer packet, and wherein a particular OS domain header associates a particular transaction layer packet with a particular one of said plurality of operating system domains; and a plurality of port initialization logic elements, one coupled to said second I/O port, and remaining ones each coupled to a corresponding one of said first plurality of I/O ports, configured to initialize corresponding links between each of said plurality of operating system domains and said switch, and between said first shared input/output endpoint and said switch, to support said first transactions, wherein each of said plurality of port initialization logic elements automatically configures a corresponding polarity for each of said first plurality of I/O ports and said second I/O port, and wherein said corresponding polarity is in a default polarity prior to being configured.