lkml.org 
[lkml]   [2009]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [rs] Re: [stable] [PATCH] x86, setup (2.6.30-stable) fix 80x34 and 80x60 console modes
On Mon, 29 Jun 2009, H. Peter Anvin wrote:
> Greg KH wrote:
>> On Mon, Jun 29, 2009 at 06:27:40PM -0700, H. Peter Anvin wrote:
>>> Marc Aurele La France wrote:
>>>> As coded, most INT10 calls in video-vga.c allow the compiler to assume EAX
>>>> remains unchanged across them, which is not always the case. This
>>>> triggers an optimisation issue that causes vga_set_vertical_end() to be
>>>> called with an incorrect number of scanlines. Fix this by beefing up the
>>>> asm constraints on these calls.

>>>> Reported-by: Marc Aurele La France <tsi@xfree86.org>
>>>> Signed-off-by: Marc Aurele La France <tsi@xfree86.org>
>>>> Acked-by: H. Peter Anvin <hpa@zytor.com>

>>> Note: this is not in upstream since upstream is not affected due to the
>>> new "BIOS glovebox" subsystem.

>> So it is a ".30 only" type patch? Any older kernel versions affected?

> Yes, all the way back to .23 or something like that.

No. The problem can only arise in 2.6.30 and is a consequence of commit
5f641356127712fbdce0eee120e5ce115860c17f. It disappears with subsequent
mainline commit cf06de7b9cdd3efee7a59dced1977b3c21d43732.

Prior to 2.6.30, vga_set_480_scanlines() was passed a byte-size value (as
an int), which means the compiler was forced to load EAX, instead of only
AL, even if it did assume AH still contained 0x01. That 0x01 is what the
last INT10 call in the vga_set_{8,14}font() functions sets AH to.

In truth, only those two INT10's need beefing up. But I did them all for
completeness.

Marc.

PS: That should be "80x43", not "80x34".

+----------------------------------+----------------------------------+
| Marc Aurele La France | work: 1-780-492-9310 |
| Academic Information and | fax: 1-780-492-1729 |
| Communications Technologies | email: tsi@ualberta.ca |
| 352 General Services Building +----------------------------------+
| University of Alberta | |
| Edmonton, Alberta | Standard disclaimers apply |
| T6G 2H1 | |
| CANADA | |
+----------------------------------+----------------------------------+
XFree86 developer and VP. ATI driver and X server internals.


\
 
 \ /
  Last update: 2009-06-30 16:59    [W:0.085 / U:0.776 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site