-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
You missed my point. I understand that each driver runs in a separate program. The problem is that a device has to find the bus where it is located. In the current implementation, a driver can only scan 32 devices. If we have 33 devices in the system, its driver thinks there isn't such a device and fails to work.
So I suggest why not let the logical bus contains all devices in the system.
Because in a secure system you don't want the NIC device driver to see all other devices. This is why we need an IO manager that manages access to devices on a per-driver basis.
Thus, the driver can always find its device no matter where the device is located, and we don't need an IO manager to pre-configure the logical PCI bus as Bjoern said, which seems quite complex.
By the way, does DDEKit treat a device with 2 functions as two logical devices or just one? The `func` of `ddekit_pci_dev` is always 0 and `ddekit_pci_find_device_fixed` only uses the argument `slot`. Either DDEKit treat a device with multiple functions as several logical devices or only one function in a device is exposed to DDE Linux26. Both seems not very reasonable.
Most probably we never stumbled over a multi-function device so far, so I'd consider this a bug rather than a reasonable decision. ;)
Bjoern