RE: Hangs after "Loading" but before "Uncompressing"

From: Alan Modra (alan@SPRI.Levels.UniSA.Edu.Au)
Date: Wed Jan 26 2000 - 18:04:25 EST


On Wed, 26 Jan 2000, Richard B. Johnson wrote:

> On Wed, 26 Jan 2000, Markley, Todd wrote:
>
> > Dick:
> > I think you are asking me to comment out the `je a20_wait`
> > line in setup.S. I have now tried this and get the same results.
> > The problem system still hangs just before "Uncompressing" and
> > the same kernel boots fine on my laptop.
> >
> Yes. So we know that it's not hung waiting for the alias to disappear.

Actually, when I squint at this bit of code, it look to me like the
problem isn't a potential hang. Rather, it might be possible to exit that
loop too quickly. ie. continue on the boot with A20 still disabled.

Here's the code
a20_wait:
        incw %ax # unused memory location <0xfff0
        movw %ax, %fs:(0x200) # we use the "int 0x80" vector
        cmpw %gs:(0x210), %ax # and its corresponding HMA addr
        je a20_wait # loop until no longer aliased

Imagine if %gs:(0x210) happened to be in the cache, and not equal to the
first value of %ax stored - We'd exit the loop immediately. I dunno
whether all PC hardware handles these memory aliasing situations properly.
If not, then we'd exit the loop the second time around if we didn't the
first time.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:17 EST