[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <469BAC68.50409@zytor.com>
Date: Mon, 16 Jul 2007 10:35:36 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Etienne Lorrain <etienne_lorrain@...oo.fr>
CC: Chuck Ebbert <cebbert@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: x86 setup code rewrite in C - revised
Etienne Lorrain wrote:
>
> The only time I ever needed this "end line recalculation" was when the heigh in
> graphic lines was not a multiple of the character heigh - i.e. 640x350 with 8x16
> or 8x8 chars - some VGA adapters do not hide the bottom graphic lines.
> The function vga_set_480_scanlines() is not called, and the protect bit is never
> cleared - the video BIOS leaving those low index register protected.
> The function vga_recalc_vertical() (or its assembler equivalent) is probably
> perfectly called but because the protect bit is never cleared, the few graphic
> line are displayed during the whole Linux text session...
> I have myself never seen any other problems when the graphic heigh is a multiple
> of the character heigh - tested on ~40 video boards.
>
OK, I see what you mean. This would be a problem if:
- the VGA BIOS leaves the protected bit set
- the user enables vertical recalculation
- the size crosses a multiple of 256
It is a bug (ported from the assembly) and fortunately quite easy to
fix. I don't know why I missed this when I looked before.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists