Re: [Etherboot-developers] NIC file and ROM images
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2002-04-18 00:07:17
|
ke...@us... (Ken Yap) writes: > Perl doesn't cover all applications, but it's perfectly adequate in many > places where you't think only C will do the job, e.g. mknbi which does > binary manipulations and a streaming video server. It may be a long time > before we see an Etherboot in Perl though. I guess my point is mknbi is just at the edge. And I crossed that edge with my version and wasn't at all happy about it. Which is why I advised caution. > >What is clear is that you can have multiple rom images, with their > >own rom header on a 512 byte boundary. What I don't know yet is > >if the rom scan algorithm supports those images overlapping. > > I don't think the header has any "data offset" fields, the body just > follows the header. The structure is: A.2 PnP Option ROM Header Offset Size Value Description ----------------------------------------------------- 00h BYTE 55h Signature byte 1. 01h BYTE AAh Signature byte 2. 02h BYTE Varies Option ROM length in 512-byte blocks. 03h 4 BYTES Varies Initialization entry point. 07h 17 BYTES Varies Reserved. 18h WORD Varies Offset to PCI data structure. 1Ah WORD Varies Offset to expansion header structure. So my question is, can we have something like: PnP option ROM Header size 64K 512 bytes later, PnP option ROM Header size 64K - 512 bytes 512 bytes later, PnP option ROM header size 64K - 1024 bytes. etc. And just adjust the pointers to the code approrpiately. > >If they can overlap it is probably worth doing, without the ability > >to overlap we can just make certain etherboot rom images are in > >multiples of 512 bytes and concat rom images together if there are > >big enough roms. > > That's easy, just concatenate the ROM images. At the moment they aren't > as small as they could be because they are padded out to the next power > of 2, but an additional option could allow them to be padded to the next > block only. Right concatenation will work, but you probably can't fit very many of them into the same rom. Which generally defeats the purpose. If I have a chance I will see if I can get overlapping ROMs to work, that way we can list all of the the supported PCI for one ROM image. Eric |