[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1pryoa1f6.fsf@ebiederm.dsl.xmission.com>
Date: Mon, 05 Nov 2007 13:21:33 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "H. Peter Anvin" <hpa@...or.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
Mikael Petterson <mikpe@...uu.se>,
Jeremy Fitzhardinge <jeremy@...p.org>
Subject: Re: [GIT PULL] x86 setup: correct booting on 486 (revised)
Linus Torvalds <torvalds@...ux-foundation.org> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists