On Sat, Sep 21, 2002 at 04:14:36PM +1000, Ken Yap wrote:
> >What I did was abandon the ill conceived real-mode stack and setup a
> >new protected mode stack in .bss. It works for me.
>
> This shows that you don't understand what is happening. When first32
> gets called in PM, it is handed a PM stack, but it's at an unsuitable
> address. Making first32 get its own PM stack within 64kB of the text
> segment fixes the problem. This is the approach taken by menustart.S.
>
> The RM stuff is in a different #ifdef branch and should be read
> separately.
I don't think you understand what I was trying to do. I figured it
was better to make a special real-mode stack for calling interrupts
than to fuss with the protected-mode stack. This has nothing to do
with the way that the loaders was called--I read ifdef's just fine.
Instead, it had to do with the fact that the loader was crashing when
transitioning to real-mode to make interrupt calls.
As I said, it was ill conceived because I would have had to do a lot
more to make it work properly. The prot-mode stack fix was easier and
clearly more effective.
|