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

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Thu Jan 27 2000 - 09:55:05 EST


On Wed, 26 Jan 2000, Markley, Todd wrote:

> Dick:
> I was able to get the debug prints to work in the setup.S and
> found that things are ok until "call video". It looks like it never
> returns from the video.S code. With it hanging in the video routine
> I tested setting "vga=normal", and "vga=ask" with no change. I have
> removed the "3dfx voodoo3 2000 PCI" video card, and tried another
> normal Trident SVGA card, but it still hangs the same way. My
> motherboard is using American Megatrends AMIBIOS 6/30/98. Next
> I tried to comment out the "call video" in setup.S which allowed
> things to continue, but this hangs even on my laptop. I guess
> the video subroutine is setting someting that is needed. Unless
> someone has an idea about what might cause this problem I plan to
> continue my debugging in the video.S.
>
> Todd
>

Okay, you found the procedure that's hanging. Now, I glanced through
video.S and I see where somebody has decided to use an undocumented
op-code. At line 1010, there is a GS segment override for LODSW.

Segment overrides are not specified to work with the ix86 string
opcodes. They may work but, depending upon how your CPU feels, it
may not. It may stop your CPU. The gas assembler didn't allow
the writer to use such syntax so it was hacked in as .byte opcodes.

This should be changed to:

        movw %gs:(%si), %ax
        addw $2, %si

...even though it may work. There is no reason to use 'tricks' in
one-time startup code.

Cheers,
Dick Johnson

Penguin : Linux version 2.3.39 on an i686 machine (800.63 BogoMips).

-
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:18 EST