Hello exports,
I have a question for bus assign of SR-IOV device.
I researched the SR-IOV specification.
I think that assign bus number of SR-IOV device is follow:
<reserved bus number for SR-IOV> = <LastVF's bus number> - <PF's bus number>
<assign bus number> = 1 + <reserved bus number for SR-IOV>
<reserved bus number for SR-IOV> is PciIoDevice->ReservedBusNum in
PciEnumeratorSupport.c in PciBusDxe.
But PciIoDevice->ReservedBusNum is set to value of one or more in
PciEnumeratorSupport.c in PciBusDxe.
So <assign bus number> is set to value of two or more in PciScanBus function of
PciLib.c in PciBusDxe.
== PciEnumeratorSupport.c:CreatePciIoDevice() ==================================
...
//
// Calculate ReservedBusNum for this PF
//
PciIoDevice->ReservedBusNum = (UINT16)(EFI_PCI_BUS_OF_RID (LastVF) - Bus
+ 1);
~~~
...
=================================================================================
Question 1) Plus 1 in Calculate ReservedBusNum is bug?
Question 2) If Question 1 answer is no, plese tell me that specification of
this code.
Regards,
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel