Hangs after "Loading" but before "Uncompressing"

Alan Modra alan en SPRI.Levels.UniSA.Edu.Au
Mie Ene 26 22:19:40 CST 2000


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 en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



Más información sobre la lista de distribución Ayuda