On Mon, 2007-02-19 at 11:37 +1300, David Empson wrote: > On Saturday, February 17, 2007 3:55 AM, "Kieran Mansley" <[EMAIL PROTECTED]> > wrote: > > On Fri, 2007-02-16 at 09:49 -0500, Robert Morse wrote: > >> What I had to do was in the one section where the address compare in > >> the pbuf_header() routine. I had to change the if to call a function > >> that created a linear address from the segment/offset then compare those > >> address. > > > > It's not entirely clear from this what change you made, and whether it > > is more widely applicable. Could you supply a diff? > > The 8086 and 80186 address memory using a 16-bit segment and 16-bit offset. > (This also applies to "real mode" in later 80x86 processors.) The segment is > multiplied by 16 to determine the physical memory address of a particular > "paragraph", then the offset is added. A segment by itself can be used as > the base address of a 64 KB memory area, but any address which is a multiple > of 16 within that area can be the start of a new segment, so segments can > overlap, and multiple combinations of segment and offset can refer to the > same memory location.
Thanks for the background and explanation - very helpful in understanding the change. Kieran _______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
