Messages in this thread | | | Date | Fri, 04 May 2007 10:08:24 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] i386: always clear bss |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |