Hello, Omar Walid Llorente <omar@dit.upm.es> wrote: > Hello everybody. I've just found an error in makerom/user.c in the > netboot-0.9.0d sources. Thanks for your bug fix. I've included it into the next release. > I found it when i realized that the PCI header offset was zeroed by > makerom/passes.c while was ok in bootrom/binaries/rom.bin. Now i'm testing > about Device Indicators. All the roms i've seen working (intel and > etherboot) have DEVIND= 14h while netboot has DEVIND= b4h or 34h. Now > romcheck finds a rom space in c800 but with romsize= 4KB and without > device/vendor identifier... Any idea? The actual romsize is 32KB. This decrease in ROM size is due to DDIM, the Device Driver Initialization Model. DDIM means that the BIOS copies the ROM contents into RAM and then calls the ROM initialization routine. This routine then copies everything into extended memory. The only parts which have to remain are those to copy the extended memory copy back into low memory lateron, and those parts are quite small. Therefore, the ROM initialization routine tells the BIOS that only the first 4kB of the bootrom are necessary to be kept, and the BIOS shrinks the RAM area, where the bootrom contents is in, to 4kB, thus allowing other option roms to be mapped into that freed space. Regarding the device indicator value, it has the following meaning in the netboot bootrom: Bit 7 = 1 --> ROM supports DDIM. This bit doesn't have to be set with the Intel ee100-bootrom (which can be found in the Intel PXE PDK) because the ee100 is a PCI card and the Intel bootrom is designed to be copied into a flash rom directly on the card. With this configuration, DDIM will always be enabled by the BIOS no matter how this bit of the device indicator is set. However, the netboot bootrom should also be able to run in a FlashCard (which is not located on the network card itself) and with cards different than PCI. In these cases, some BIOSes also allow using DDIM if this bit is set. Bit 6 = 0 --> ROM may not be shadowed in RAM. There is no point in shadowing the netboot bootrom since it copies itself into RAM anyway while getting decompressed. However, I don't know if this bit has to be set together with bit 7. I assume that bit 7 takes precedence when running with a DDIM aware BIOS. Bit 5 = 1 --> ROM is read cacheable Bit 4 = 1 --> ROM is only required if selected as a boot device Bit 3 = 0 --> reserved Bit 2 = 1 --> this is an IPL (Initial Program Load) device, which means, it's a bootrom, rather then a BIOS extension like a VGA ROM. Bit 1 = 0 --> not an input device Bit 0 = 0 --> not an output device Regarding the device/vendor ID: PCI devices do not have a PnP device/vendor identifier, so makerom doesn't set one for a PCI bootrom. Note that romcheck only prints the device/vendor ID in the PnP header, not that one in the PCI header. I have to extend romcheck sometime to also inspect the PCI header. Unfortunately, this whole DDIM and BBS support of the netboot bootrom is still highly untested. I've bought myself a brand-new mainboard for testing, but after installing it I found that the included Award BIOS does not support DDIM or BBS... argh :-( The only way to test it using this new board is to install the netboot bootrom directly onto a PCI network card, but I don't want to repeatedly burn EPROM's, so I'm still looking for a PCI network card which supports Flash EPROM's (it also has to support 10MB BNC ethernet). gero. -- We all worry about the population explosion -- but we don't worry about it at the right time. - Arthur Hoppe -- Gero Kuhlmann, Hannover 0511/6497525 (Voice) gero@gkminix.han.de =========================================================================== This Mail was sent to netboot mailing list by: Gero Kuhlmann <gero@gkminix.han.de> To get help about this list, send a mail with 'help' as the only string in it's body to majordomo@baghira.han.de. If you have problems with this list, send a mail to netboot-owner@baghira.han.de.
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.