rework HAL LInux coldplug to work with future kernel changes

Kay Sievers kay.sievers at vrfy.org
Wed Sep 20 03:47:48 PDT 2006


On Tue, 2006-09-19 at 19:51 -0700, Artem Kachitchkine wrote:
> > In HAL, we must also get rid of properties in HAL like "*physical*" the
> > "bus"-namespace and the sysfs_path_device keys. They all don't make any
> > sense for userspace and are totally wrong in a virtualised environment.
> > Devices will be just classified by their "subsystem" string.
> 
> Could you clarify, especially "bus" vs "subsystem"? We need common terminology 
> to keep all HAL OSes (Linux, FreeBSD, Solaris) aligned. Some physical properties 
> need to be there to, for instance, tell a USB disk from a FireWire disk.

You can never tell for sure, what's physical and what not. If you run in
a virtualized environment, which is already pretty common today, the
kernel will not even tell you what's a real disk and what what isn't.
For your Firewire case, you could just guess, by matching on subsystem
== "ieee1394". But the only interesting property is "removable" or
"fixed" which is totally independent today, from the kind of bus it is
connected to.

Buses are an implementation detail, we should not even mention. In a Xen
environment, you have "xen" buses, which describes the mess we are
running in. The Linux kernel exports a "serio", "acpi", "platform" bus,
we should definitely stop exporting this nonsense in HAL. We better just
call them all "subsystem".

We should remove all the wrong assumption HAL makes about the devices it
finds, and remove all notion of "physical" and "bus" before people
really use such unreliable details. A future Linux kernel will probably
not even allow you to read that kind of information.

Thanks,
Kay



More information about the hal mailing list