Linus Torvalds <[EMAIL PROTECTED]> writes: > On Mon, 5 Nov 2007, H. Peter Anvin wrote: >> >> Well, the 32-bit code needs to set up its own stack, and only it knows where >> it wants its stack; we don't guarantee that the stack is valid when we enter >> the 32-bit code and we're entering with both INT and NMI disabled (requiring >> a >> stack would probably break all existing users of the 32-bit entrypoint.) > > I agree. But it would be nice if some basic instructions still worked: as > is, you cannot even do things like reloading %eflags, because the only way > to do that requires a stack. > >> However, that being said, doing so is trivial, and it might help some >> debugging hack; anything that makes debugging easier is a Good Thing[TM]. > > Yeah. Even if it was just re-using the boot-time stack area temporarily, > just to give code the choice to use a common set of instructions.
If I had to do it from scratch today I would make the 32-bit entry point require a stack, segments and use C calling conventions to pass struct boot_params *. Besides %esi I'm not really fond of requiring anything in the 32bit entrypoint. At the same time I totally agree that it is always nice to provide way more then you need. Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/