Re: RFC: ISA Plug and Play Implementation

Dave Weis (djweis@plconline.com)
Tue, 9 Mar 1999 23:04:30 -0600 (CST)


> Unfortunately, I've been unable to come up with a great way to get around
> this and was wondering if anyone had any ideas.

I had thought about this for a few minutes before and was thinking of
something like kerneld, so when the kernel hits a pnp device, it would
request
pnp-driver-rwb1688-ld0
etc. I hadn't thought too much about the resources though, perhaps we
could have that be slightly modular, like
pnp-driver-rwb1688-ld0 sb io=0x220 irq=5 dma=1
which would be a combination of /etc/isapnp.conf and /etc/conf.modules.
Alternatively, just have
pnp-driver-rwb1688-ld0 sb
and keep conf.modules the same. That would keep most of the policy in
userspace, and just have a /proc file that would contain
pnp-driver-rwb1688-ld0 io 220
pnp-driver-rwb1688-ld0 irq 5 7 9 10
pnp-driver-rwb1688-ld0 dma 0 1 3

It doesn't help much with boot devices on pnp, etc. but I think initrd
could solve this similar to the way it is done now. The serial number
could be used for a more unique identifier in the case of multiple
identical cards. I guess we could have a program automatically read the
/proc file on boot, right after the root file system is mounted. At that
point we would have most of the resources already taken by the non-pnp
devices. If another pnp device is added later in the same boot, the
userspace program can be re-run and find out which devices aren't
configured yet and remove and reinsert modules until the proper resources
are free.

I think this is a good start and doesn't put a ton of non-swappable code
in the kernel.

djweis

-- 
David Weis                | 10520 New York Ave, Des Moines, IA 50322
djweis@plconline.com      | Voice 515-278-0133 Ext 231
http://www.plconline.com/ | "Great spirits will always encounter violent
                          | opposition from mediocre minds" - Einstein

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/