DDE Linux26 in the Hurd
zhengda1936 at gmail.com
Wed Jan 27 15:54:49 CET 2010
On 10-1-27 下午9:54, Björn Döbel wrote:
>>> The L4IO server scans all PCI devices at startup. DDE applications use
>>> l4io_pci_find_device() to iterate over all the devices and assign them a
>>> local/logical PCI ID. So, yes, for a DDE application it always looks
>>> like there is only one PCI bus (bus 0) with a continuous range of devices.
>> You mean all devices in the system are in one logical bus, which can have at
>> most 256*32 devices? It's a little odd, but should work fine.
>> The current code of ddekit and dde linux26 obviously can only work in a system
>> with one bus as the maximal number of pci devices in ddekit is 32.
> Yes, there is a physical limitation with the current approach. Our more
> recent ideas however go more into a direction where a physical IO
> manager provides applications with pre-configured virtual PCI buses, so
> that we did not really hit this limitation yet, because we provide for
> instance the NIC driver with a virtual PCI bus that only contains the NIC.
Who will interact with the physical IO manager? DDEKit or DDE Linux26? It seems
the current DDEKit API doesn't allow DDE Linux26 to request that via DDEKit and
DDEKit doesn't know what the device is.
Why do you not just put all PCI devices in the logical bus (so the number can be
larger than 32)? There should be no physical limitation for the logical bus and
the current limitation is set by DDEKit itself. Of course, then you have to
change the code in DDE Linux26, so it can scan more than 32 devices on the
logical bus until it finds the right one or there is no such device at all.
>> I would like to know how well the current release of dde linux26 can support
>> block devices and character devices as I want to try some devices other than
>> NIC. For example, does it support SCSI disks?
> Not yet.
How about character devices? I hope some character devices can work now.
More information about the l4-hackers