Re: [Etherboot-developers] [COMMIT] 5.1.2+ boot from disk.
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2002-08-30 08:16:47
|
Michael Brown <mb...@fe...> writes: > On Fri, 30 Aug 2002, Ken Yap wrote: > > >And then the big mystery. NBI's appear to work for you, and not for > > >others. Why and where their first packet is getting corrupted is a > > >mystery. > > I think it's because I'm using mkelf-linux and they are using > > mknbi-linux. If that's the case then I think the FreeDOS image will crash > > the same way as theirs (DOS has to be a real mode entry image). > > OK, there's no corruption in the first packet. I've added a little hex > dump utility to misc.c - call as hex_dump(data,len) and it'll produce a > nicely formatted hex dump of an area of memory, complete with a more-style > pager. It's #ifdeffed on DEBUG_UTILS, so no worries about code bloat. > > Hex dump of the 512-byte data block passed to tagged_probe() shows that it > is identical to the first 512 bytes of the .nbi file, so the drivers are > totally ruled out as a source of the problem. Then the problem is in tagged_probe? The final segment marker does not appear, and it must be in that first segment. Is it simply the algorithm for incrementing sh that is incorrect? Does tagged probe generate incorrect code? Is the memcpy bad? Sorry I am quite mystified why this doesn't work. Also we should have: if (!(sh->flags & 0x04)) return 0; After the for loop to not even attempt to load an image that we cannot execute. Eric |