DDE Linux26 in the Hurd
zhengda1936 at gmail.com
Wed Jan 27 14:18:22 CET 2010
On 10-1-27 下午8:51, Björn Döbel wrote:
>>>> 1. dde linux26 doesn't support multiple PCI buses. Unfortunately, my virtual
>>>> machine has two PCI buses: bus 0 and bus 2. Now I have to hardcode the bus
>>>> numbers in the code. Do you have plan to support multiple PCI buses?
>>> Our approach is to provide the application with a single logical PCI bus
>>> within DDEKit and have a management component that parses the real PCI
>>> bus and multiplexes accesses. Have a look at l4/pkg/l4io. As in most of
>>> the cases you only use one device within a DDEKit-based application, we
>>> did not see any real benefit of supporting multiple PCI buses in DDE.
>> OK, I see your point and I believe that one device doesn't use two buses, but I
>> didn't see how a logical PCI bus is mapped to a physical one. ddekit_pci_init calls
>> err = l4io_pci_find_device(~0, ~0, start, &l4dev);
>> to search for buses, which calls a RPC to the kernel, but every DDEKIT
>> application starts with 0. I don't see where is your management component and
>> how it chooses the right bus for the device.
> 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.
>>>> 2. DDE Linux26 doesn't support sound card drivers.
>>>> Does DDE Linux26 support the block device and character device?
>>> The answer for all points is that this is usually a matter of adding the
>>> corresponding Linux code and maybe some glue code. We did this for
>>> character, sound and block devices to a certain point. However, there is
>>> no releasable code, yet.
>> So are you still working on supporting character, sound and block devices?
> Yes. In our current (unreleased) versions, input devices work. Sound and
> block support has not been driven to an acceptible point, yet. There is
> also a USB package in the public SVN, fyi.
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?
I see the USB package. Maybe I can try that since the Hurd doesn't have USB
More information about the l4-hackers