Re: Better patch for 2.1.106

Yaroslav Rosomakho (alons55@dialup.ptt.ru)
Sun, 14 Jun 1998 18:36:10 +0000


H. Peter Anvin wrote:

> Here is a "better" patch that I hope should fix the CRC problem with
> zImages in 2.1.106 (personally, I think the "right" thing is to
> deprecate zImages completely, but I'm not likely to get a whole bunch
> of votes for this.)
>
> I don't like using the division overflow trap location, so I am using
> the INT 0x80 vector instead (the same as is later used for Linux
> system calls.)
>
> The problem with 2.1.106 is that zImages (but not bzImages) do a
> strange re-relocation from 64K to 4K, and it is done *before* the test
> (so 0x7c00 is actually in use at the time of the test.)
>
> -hpa
>
> --- stock/linux-2.1.106/arch/i386/boot/setup.S Sun Jun 14 13:59:09 1998
> +++ linux-2.1.106/arch/i386/boot/setup.S Sun Jun 14 13:49:47 1998
> @@ -532,22 +532,21 @@
> call empty_8042
>
> ! wait until a20 really *is* enabled; it can take a fair amount of
> -! time on any
> -
> - push ds
> - push es
> +! time on certain systems; Toshiba Tecras are known to have this
> +! problem. The memory location used here (0x200) is the int 0x80
> +! vector, which should be safe to use.
> +
> xor ax,ax ! segment 0x0000
> - mov ds,ax
> + mov fs,ax
> dec ax ! segment 0xffff (HMA)
> - mov es,ax
> + mov gs,ax
> a20_wait:
> inc ax
> - mov [0x7c00],ax ! any unused memory location ? 64K
> - seg es
> - cmp ax,[0x7c10] ! corresponding HMA address
> + seg fs
> + mov [0x200],ax ! an unused memory location ? 0xfff0
> + seg gs
> + cmp ax,[0x210] ! corresponding HMA address
> je a20_wait ! loop until no longer aliased
> - pop es
> - pop ds
>
> ! make sure any possible coprocessor is properly reset..
>
>
> --
> PGP: 2047/2A960705 BA 03 D3 2C 14 A8 A8 BD 1E DF FE 69 EE 35 BD 74
> See http://www.zytor.com/~hpa/ for web page and full PGP public key
> I am Bahá'í -- ask me about it or see http://www.bahai.org/
> "To love another person is to see the face of God." -- Les Misérables
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu

I have mirrored patch at http://yaroslav.hypermart.net/linux.
Yaroslav
Rosomakho.
P.S. H. Peter Avin, that mirror is ok?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu