>| If we could download that code etherboot get to stay smaller.
>
>Note that it is all hidden under #define for FreeBSD so if you don't have
>FreeBSD defined then there is no impact. The size if the same.
One way you can reduce the impact of the change even for FreeBSD users
is not to copy the DHCP tag into a buffer, but rather save a pointer to
the location in the DHCP buffer and the length. The DHCP buffer is valid
right up to the moment control is handed over to the OS. As a side
effect you don't need to test for buffer overflow since Etherboot has
told DHCP how big a reply it can take so the DHCP server will ensure
that the reply fits in the buffer. This way you can replace the 1024
byte global buffer with a pointer and an int.
Another strategy is to allocate the buffer in a known memory location.
Since all of 0x90000-0x9ffff is off limits to the booted OS, you could
use say 0x93000 which is just below the Etherboot code.
|