Determination of one or more partitionable endpoints affected by an i/o message
Abstract
A data processing system includes a processor core, a system memory including a first data structure including a plurality of entries mapping requester identifiers (IDs) to partitionable endpoint (PE) numbers, and an input/output (I/O) subsystem including a plurality of PEs each having an associated PE number, where each of the plurality of PEs including one or more requesters each having a respective requester ID. An I/O host bridge, responsive to receiving an I/O message including a requester ID and an address, determines a PE number by reference to a first entry from the first data structure, and responsive to determining the PE number, accesses a second entry of the second data structure utilizing the PE number as an index and validates the address by reference to the accessed entry in the second data structure. The I/O host bridge, responsive to successful validation, provides a service indicated by the I/O message.
Claims
exact text as granted — not AI-modified1 . A method of data processing in a data processing system having an input/output (I/O) subsystem including at least one I/O host bridge and a plurality of partitionable endpoints (PEs) each having an associated PE number, each of the plurality of PEs including one or more requesters each having a respective requester identifier (ID), the method comprising:
receiving an I/O message at an I/O host bridge, the I/O message including a requester ID and an address; in response to receiving the I/O message, the I/O host bridge determining a PE number of a PE affected by the I/O message by reference to a first entry from a first data structure including a plurality of entries mapping requester IDs to PE numbers; in response to determining the PE number, the I/O host bridge accessing a second entry of a second data structure utilizing the PE number as an index and validating the address by reference to the accessed entry in the second data structure; and in response to successful validation of the address, the I/O host bridge providing a service indicated by the I/O message.
2 . The method of claim 1 , wherein:
the I/O message is a direct memory access request (DMA) request; and the method further comprises translating the address into a system memory address.
3 . The method of claim 1 , wherein the I/O host bridge comprises a PCI host bridge.
4 . The method of claim 1 , wherein the I/O host bridge determining a PE number of a PE affected by the I/O message by reference to a first entry comprises accessing the first entry in a cache in the I/O host bridge that buffers entries from the first data structure.
5 . The method of claim 1 , wherein:
the first data structure resides in a system memory of the data processing system; and the I/O host bridge determining a PE number of a PE affected by the I/O message by reference to a first entry comprises accessing the first entry in the system memory.
6 . The method of claim 1 , and further comprising selecting the second entry from among multiple entries of the second data structure associated with the PE number by reference to an index in the address.
7 . A data processing system, comprising:
a processor core; a system memory coupled to the processor core, the system memory including a first data structure including a plurality of entries mapping requester identifiers (IDs) to partitionable endpoint (PE) numbers; and an input/output (I/O) subsystem coupled to the processor core, the I/O subsystem including:
a plurality of PEs each having an associated PE number, each of the plurality of PEs including one or more requesters each having a respective requester ID; and
at least one I/O host bridge including a second data structure including a plurality of entries, wherein the I/O host bridge, responsive to receiving an I/O message including a requester ID and an address, determines a PE number of a PE affected by the I/O message by reference to a first entry from the first data structure, and responsive to determining the PE number, accesses a second entry of the second data structure utilizing the PE number as an index and validates the address by reference to the accessed entry in the second data structure, and wherein the I/O host bridge, responsive to successful validation of the address, provides a service indicated by the I/O message.
8 . The data processing system of claim 7 , wherein the I/O message is a direct memory access request (DMA) request.
9 . The data processing system of claim 7 , wherein the I/O host bridge comprises a PCI host bridge.
10 . The data processing system of claim 7 , wherein:
the I/O host bridge includes a cache of entries from the first data structure in system memory; and the I/O host bridge determines the PE number by accessing the first entry in the cache.
11 . The data processing system of claim 7 , wherein:
the second data structure holds multiple entries associated with the PE number; and the I/O host bridge selects the second entry from among the multiple entries associated with the PE number by reference to an index in the address.
12 . The data processing system of claim 7 , and further comprising, an integrated circuit chip including the processor core and the I/O host bridge.
13 . A processor for a data processing system having a system memory and an input/output (I/O) subsystem including a plurality of partitionable endpoints (PEs) each having an associated PE number, each of the plurality of PEs including one or more requesters each having a respective requester identifier (ID), the processor comprising:
a processor core; and an I/O host bridge that, responsive to receiving an I/O message including a requester ID and an address, determines a PE number of a PE affected by the I/O message by reference to a first entry, from a first data structure including a plurality of entries mapping requester IDs to PE numbers, and responsive to determining the PE number, accesses a second entry of a second data structure in the I/O host bridge utilizing the PE number as an index and validates the address by reference to the accessed entry in the second data structure, and wherein the I/O host bridge, responsive to successful validation of the address, provides a service indicated by the I/O message.
14 . The processor of claim 13 , wherein the I/O message is a direct memory access request (DMA) request.
15 . The processor of claim 13 , wherein the I/O host bridge comprises a PCI host bridge.
16 . The processor of claim 13 , wherein:
the first data structure resides in system memory of the data processing system; the I/O host bridge includes a cache of entries from the first data structure in system memory; and the I/O host bridge determines the PE number by accessing the first entry in the cache.
17 . The processor of claim 13 , wherein:
the second data structure holds multiple entries associated with the PE number; and the I/O host bridge selects the second entry from among the multiple entries associated with the PE number by reference to an index in the address.
18 . The processor of claim 13 , and further comprising an integrated circuit chip including the processor core and the I/O host bridge.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.