Re: [Qemu-devel] [RFC/PoC PATCH 1/3] i386: set initrd_max to 4G - 1 to allow up to 4G initrd

From: Ingo Molnar
Date: Mon Nov 12 2018 - 01:19:52 EST



* H. Peter Anvin <hpa@xxxxxxxxx> wrote:

> > Such an extended header could use a more modern (self-extending) ABI as
> > well.
>
> Yes, although I don't really think it is as much of an issue as it seems at
> this point.
>
> The limit comes from having used a one-byte jump instruction at the beginning;
> however, these days that limit is functionally walled.
>
> It is of course possible to address this if it should become necessary,
> however, the current protocol has lasted for 23 years so far and we haven't
> run out yet, even with occasional missteps. As such, I don't think we are in a
> huge hurry to address this particular aspect.

Agreed, fair enough!

> In part as a result of this exchange I have spent some time thinking
> about the boot protocol and its dependencies, and there is, in fact, a
> much more serious problem that needs to be addressed: it is not
> currently possible in a forward-compatible way to map all data areas
> that may be occupied by bootloader-provided data. The kernel proper has
> an advantage here, in that the kernel will by definition always be the
> "owner of the protocol" (anything the kernel doesn't know how to map
> won't be used by the kernel anyway), but it really isn't a good
> situation. So I'm currently trying to think up a way to make that
> possible.

I might be a bit dense early in the morning, but could you elaborate?
What do you mean by mapping all data areas?

Thanks,

Ingo