RE: [RFC][PATCH] x86 BIOS Enhanced Disk Device (EDD) polling

Matt_Domsch
2002-09-10T22:38:42Z

I've updated the EDD code to use driverfs instead of /proc. It's now
exported as:

.
|-- edd
| |-- 80
| | `-- info
| |-- 81
| | `-- info
| |-- 82
| | `-- info
| |-- 83
| | `-- info
| |-- 84
| | `-- info
| `-- 85
| `-- info

where 80..85 are the BIOS device numbers, and info is a file that displays
the same information I was displaying before. Thanks Patrick for the
pointers, and once the top-level firmware/bios/whatever directory is made,
it can move there easily.
Patch available from http://domsch.com/linux/edd30/edd-driverfs-1.patch and
http://domsch.com/linux/edd30/edd-driverfs-1.patch.sign applies against
2.5.34 or BK-current, and is the whole of the feature, not incremental.
Also in BK at http://mdomsch.bkbits.net/linux-2.5-edd.

The next logical extension would be to make a symlink 'disk' in each
directory that points at the PCI bus:dev.fn/scsiX/a:b:c:d:disk file for the
appropriate disk. However, I'm in a quandry... There's no simple way to do
this.

For EDD to do the mapping itself, it needs to walk various lists of devices
(Scsi_Disks, IDE disks, ...) Those lists aren't currently exported.
EDD could do it itself brute-force, except that it knows all the information
*except* the scsiX host logical number, so it would still have to some sort
of lookup. That nice physical (and virtually identical logical) path got a
kernel-logical component added which requires a lookup. :-( The third
problem is that mapping needs to happen at device discovery time, not at EDD
load time, else scsi-add-single-device and/or modular IDE insertions later
won't pick it up.

So, I start thinking about making calls from the various disk type drivers
back to the EDD code to get the symlinks made. That touches more than I
wanted to this round, but is probably the best way to go, and what I'll
investigate. Per-arch dummy asm/edd.h dummy files with noop functions for
the calls into EDD that are only x86-applicable... yuck.

Thoughts?

Thanks,
Matt

--
Matt Domsch
Sr. Software Engineer, Lead Engineer, Architect
Dell Linux Solutions www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com