Re: [PATCH -mm 0/4] x86_64 boot: Add linked listof structsetup_data to boot protocol

From: Ingo Molnar
Date: Thu Mar 27 2008 - 05:47:23 EST



* Paul Jackson <pj@xxxxxxx> wrote:

> Ingo wrote:
> > stupidly shortsighted limit ...
>
> Eh ... I don't think all that shortsighted ... that 4096 limit has
> probably been around longer than Linux. Linus or hpa or others would
> know the history better than I do.

the limit for boot parameters is 2048 bytes - the BUILD_WARN_ON() checks
for the sum of the two boot parameter areas. We used empty_zero_page for
boot parameter passing for a near eternity - 2K for the command line
(which used to be clipped - recently upped to true 2048), and 2K for the
boot parameters.

As a historic/nostalgic sidenote: the 2048 limit is not as old as Linux,
version 0.11 of Linux had 512 bytes of special area for boot parameters,
at 0x90000-0x901FF.

having fixed-length 2K buffering ABI between two historically rather
inflexible pieces of software (the bootloader and the kernel), at a very
fragile and under-capable junction of our bootstrap (very early during
bootup) _is_ shortsighted. Granted, it's a difficult area to change but
still it's a nasty limit - as you have found it out first-hand ;-)

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