Re: [NILO-discuss] Zen and the art of running in real mode
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Michael B. <mb...@fe...> - 2005-03-10 14:15:53
|
On Wed, 9 Mar 2005, H. Peter Anvin wrote: > >>Right. With appropriate descriptors set up they could work in 16-bit > >>protected mode, though, for supporting the PM entry point. > > They could, but that wouldn't help the code when it's called via the RM > > entry point. > Supporting V86 mode entry via the RM entry point is probably futile. If we support "pure real mode" operation, then it should just work in V86 mode. > > Also, the cards we're talking about are quite likely to need more than > > 64kB of data buffers, in which case we can't fit it into the strict UNDI > > model (64kB code + 64kB data+bss+stack, all in base memory) anyway. We > > have to accept that the PXE specification is actually incompatible with > > some network cards, and plan to carefully violate the spec. > Indeed, although the !PXE structure clearly is designed to accommodate > additional descriptors. But only two of these can simultaneously satisfy the requirements of being located in base memory and being used by the UNDI portion, as I've pointed out before. > (Note: for a lot of cards which *can* have > 64K data buffers, generally > don't *have* to. For example, a device with a 1024-entry descriptor > ring can be filled with only a few entries, on the assumption that > performance is secondary in our application.) The most recent gigabit driver I wrote ended up dropping packets (and so waiting for TFTP retransmits) with fewer than 66kB of buffers. Though it's true that we're not after high performance, having the occasional multi-second pause is not acceptable. Michael |