Lines Matching refs:PE
22 A Partitionable Endpoint (PE) is a way to group the various resources
28 There is thus, in HW, a table of PE states that contains a pair of "frozen"
30 cleared independently) for each PE.
32 When a PE is frozen, all stores in any direction are dropped and all loads
54 correspondence between a PCIe RID (bus/dev/fn) with a PE number.
57 - For DMA we then provide an entire address space for each PE that can
66 bridge being triggered. There's a PE# in the interrupt controller
67 descriptor table as well which is compared with the PE# obtained from
96 maps each segment to a PE#. That allows portions of the MMIO space
103 can be assigned to a PE.
119 specify the PE# for the entire window. When segmented, a window
121 to a PE#. The segment number *is* the PE#.
139 - We do the PE# allocation *after* the 64-bit space has been assigned
140 because the addresses we use directly determine the PE#. We then
141 update the M32 PE# for the devices that use both 32-bit and 64-bit
142 spaces or assign the remaining PE# to 32-bit only devices.
145 than one segment, we end up with more than one PE#. There is a HW
152 "master PE" which is the one used for DMA, MSIs, etc., and "secondary
156 PE" mode to overlay over specific BARs to work around some of that, for
192 individually mapped to a PE via the lookup table, so this is quite
199 to a single PE, so it could only isolate one VF.
203 PEs (the segment number is the PE#), so there isn't as much
205 multiple PEs, which is not as well isolated as a single PE.
208 equally-sized segments, and the segment number is the PE#. But if we
220 The goal is of course to be able to give a separate PE for each VF.
223 range to PE#. Each M64 window defines one MMIO range and this range is
224 divided into 256 segments, with each segment corresponding to one PE.
287 In IODA2, the MMIO address determines the PE#. If the address is in an M32
288 window, we can set the PE# by updating the table that translates segments
289 to PE#s. Similarly, if the address is in an unsegmented M64 window, we can
290 set the PE# for the window. But if it's in a segmented M64 window, the
291 segment number is the PE#.
293 Therefore, the only way to control the PE# for a VF is to change the base
303 Then each VF will be in its own PE. The VF BARs (and therefore the PE#s)
304 are contiguous. If VF0 is in PE(x), then VF(n) is in PE(x+n). If we
305 allocate 256 segments, there are (256 - numVFs) choices for the PE# of VF0.
309 possible, but the isolation isn't as good, and it reduces the number of PE#