Re: Kernels > 1M

Albert D. Cahalan (acahalan@cs.uml.edu)
Mon, 9 Aug 1999 18:38:23 -0400 (EDT)


H. Peter Anvin writes:

> However, this is probably how you want to do the semantics for now:
>
> If the size < 0xffff0
> old_field := (size+15) >> 4
> new_field := size
> else
> old_field := 0xffff
> new_field := size
>
> ... and look at the new_field only if the old_field is 0xffff; that was
> we maximize compatibility.

It would be very bad to boot 99% of a kernel, since it may well appear
to work. If there is any chance of that, this would be better:

p = (size+15) >> 4
if size < 0xffff0
old_field = p
new_field = 0
else
old_field = p >> 16
new_field = p & 0xffff

Then at boot:

p = old_field
if p < MIN_KERN_SIZE
size = ( (p<<16) | new_field ) <<4
else
size = p << 4

If you don't like that hack (saving a couple bytes), how about a
low magic value? Anything too small for a kernel would be fine.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/