i386/127367: Improve VESA support for Parallels (patch from DragonFlyBSD)

Pedro Giffuni pfgshield-freebsd at yahoo.com
Sun Sep 14 02:50:01 UTC 2008


>Number:         127367
>Category:       i386
>Synopsis:       Improve VESA support for Parallels (patch from DragonFlyBSD)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 14 02:50:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Pedro Giffuni
>Release:        7.0-Release
>Organization:
>Environment:
FreeBSD kakumen.cable.net.co 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #0: Fri Aug  8 16:42:27 COT 2008     root at kakumen.cable.net.co:/usr/src/sys/amd64/compile/GENERIC  amd64
>Description:
>From DragonFlyBSD's (Sascha Wildner) log:

http://leaf.dragonflybsd.org/mailarchive/commits/2008-09/msg00126.html

Add line width calculations for 15/16 and 24/32 bit modes in case
the "Get Scan Line Length" function fails, as it does in Parallels
(in Version 2.2, Build 2112 at least).
>How-To-Repeat:
The patch is untested: I don't have Parallels and this is amd64, but it looks pretty safe.
>Fix:
--- /sys/i386/isa/vesa.c.orig	2008-09-13 21:30:25.000000000 -0500
+++ /sys/i386/isa/vesa.c	2008-09-13 21:33:41.000000000 -0500
@@ -1111,6 +1111,14 @@
 		default: /* shouldn't happen */
 			vesa_adp->va_line_width = info.vi_width;
 			break;
+		case 15:
+		case 16:
+			vesa_adp->va_line_width = info.vi_width*2;
+			break;
+		case 24:
+		case 32:
+			vesa_adp->va_line_width = info.vi_width*4;
+			break;
 		}
 	} else {
 		vesa_adp->va_line_width = info.vi_width;


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-i386 mailing list