Re: [Etherboot-developers] Re: etherboot && isa pnp
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Markus G. <ma...@gu...> - 2001-06-09 02:17:13
|
It's been forever since I looked into this, so I am probably getting all the details wrong. I believe that PNP devices are completely invisible, until the system probes for them and activates them. Probing works by writing some "magic" bit patterns that somehow allow for enumerating all PNP devices. Once a PNP device has been found, it can be queried for the resources that it requires. The BIOS or the OS should then compare these requirements with all the other resources used by all other hardware, allocate the resources and configured the PNP device accordingly. Only now does the device show up in the system. Ken is probably right that some interaction with the BIOS is involved, but I am even more hazy on those issues. I just checked with the source code of Linux v2.4.5ac10 and there is code for ISA PNP in linux/drivers/pnp. I don't think that this code by itself provides sufficient information to write PNP support for etherboot, but if you also track down the specs, then you could probably write a couple of lines of code that allow etherboot to activate a PNP networking card. You probably have to be careful not to activate any other cards, not to activate any interrupts or DMA, querying the BIOS for a range of addresses that is unused and deactivating the device after use. Good luck, Markus Ken Yap wrote: > [Further discussion diverted to developers list.] > > >>The computer is a tulip 486DX4-100, it's made entirely from laptop-hardware: >>it is very flat, has onboard audio, video and nic, and has pcmcia. >>The networkcard is an AMD lance ne2100 (isa), and has bootrom. >>... >>.000021.0000 loadedROM segment 0x900 length 0x4000 reloc 0x9400 >>Boot from (N)etwork of from (L)ocal? N >>Etherboot 5.0.1 (GPL) Tagged ELF for [NE2100] >>Probing...[NE2100]No adapter found<sleep> >>---------------------------------------------------------------------- >>The last line repeats. >> >>The problem is (I think) that it's an isa pnp card; it requires some >>work to get it functioning properly in linux. >>In linux, I have to do the following to use it: >> >>---------------------------------------------------------------------- >># pnpdump > /etc/isapnp.conf >><edit /etc/isapnp.conf, and change the values corresponding to the AMD >> lance. Irq in the file is 3, I have to change it to 9. DMA is 3 and >> stays that way. The i/o address is changed from 0x200 to 0x300.> >># isapnp /etc/isapnp.conf >># modprobe lance >>---------------------------------------------------------------------- >> >>I looked through etherboots source (main.c, config.c and lance.c), but >>I found nothing I could do to make it work. >>The probes with the 4 default i/o adresses (0x300, 0x320, 0x340, 0x360) >>plain fail, and when I forced the lance_probe1() with i/o = 0x300, it >>would crash on boot. >>I also noticed that the docs say isapnp bios support is lacking >>(which I found out the hard way), but my knowledge of how isa pnp works, >>and thus what is required to use this nic from bootrim, is not adequate. >> >>I was hoping you could tell what the exact problem is, what I can do to >>make it work anyway, or some pointers to where I could get help or more >>information on isa pnp. >> > > I honestly don't know what's invoved in ISA PnP support. I think it > requires structures in the ROM header similar to PCI PnP support, but > I haven't seen any docs on it, maybe you could do a search on the net. > Then of course for floppy booting you'd need to somehow hook into what > the BIOS discovered. Good luck. > > _______________________________________________ > Etherboot-developers mailing list > Eth...@li... > http://lists.sourceforge.net/lists/listinfo/etherboot-developers > -- -- Markus Gutschke Resonate, Inc. 3637 Fillmore Street #106 385 Moffett Park Drive San Francisco, CA 94123-1600 Sunnyvale, CA 94089 +1-415-567-8449 +1-408-548-5528 ma...@gu... mgu...@re... |