Re: [PATCH] i386: always clear bss

From: Eric W. Biederman
Date: Fri May 04 2007 - 13:16:27 EST


"H. Peter Anvin" <hpa@xxxxxxxxx> writes:

> 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.

Yep. That is what I found when surveyed the available locations.

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