Re: [PATCH] i386: always clear bss

From: H. Peter Anvin
Date: Fri May 04 2007 - 13:09:03 EST


Eric W. Biederman wrote:
>>>
>> I saw the 0x40(%esi) stack stuff, and I'm utterly puzzled by it. There
>> is no reason one can't set up %esp to point to a hunk in ordinary memory
>> and use it?
>
> That is what we are doing, remind me to make certain we have this
> field of the boot protocol documented as permanently reserved for
> this.
>
> This comes from the relocatable kernel patches where we run the
> kernel where the bootloader chooses to put it assuming we are >= 1M.
>
> The problem is that we don't have any IP relative data access
> instructions, we don't have a stack, and so the only valid address
> that we know is valid is %esi. Once we compute where we are running
> we can setup a base address register and a stack and everything is
> easy, but the bootstrap to figure out where we are is just a little
> tricky.

Oh, right. And this runs with interrupts off, so you only need one
dword. That's fine, of course, although the location is a bit awkward.

-hpa
-
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/