Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 May 2005 02:03:48 +0800
From:      "Charlie &" <root@gmail.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   i386/81445: [patch] Make VESA work on VMWare
Message-ID:  <200505241802.j4OI2IRG020136@mail.synology.com>
Resent-Message-ID: <200505241810.j4OIA24V097671@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         81445
>Category:       i386
>Synopsis:       [patch] Make VESA work on VMWare
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 24 18:10:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Jia-Shiun Li <jiashiun@gmail.com>
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
n/a 
>Environment:
System: FreeBSD jsli-x4 6.0-CURRENT FreeBSD 6.0-CURRENT #4: Wed May 18 19:55:37 CST 2005 root@jsli-x4.synology.com:/usr/obj/usr/src/sys/x4 i386


	
>Description:
VESA driver in current source tree checks the NONVGA flag
of VESA information block when loading. If this flag is set
it will refuse to initialize. Most VESA adapters do not set
this flag, but the virtual display adapter in VMWare does.
As a result VESA cannot be used on VMWare.

http://lists.freebsd.org/mailman/htdig/freebsd-current/2005-March/047559.html


	
>How-To-Repeat:
Boot verbose and type the following command under shell:

    # kldload vesa

will result:

VESA: information block
56 45 53 41 00 02 f0 5a 00 c0 03 00 00 00 a9 5f
00 c0 00 01 00 02 e4 5a 00 c0 cd 5a 00 c0 c9 5a
00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
module_register_init: MOD_LOAD (vesa, 0xc178c138, 0) error 6

	
>Fix:

	

--- vesa.diff begins here ---
Index: src/sys/i386/isa/vesa.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/isa/vesa.c,v
retrieving revision 1.50
diff -b -u -r1.50 vesa.c
--- src/sys/i386/isa/vesa.c	4 Mar 2005 00:53:03 -0000	1.50
+++ src/sys/i386/isa/vesa.c	20 May 2005 07:27:07 -0000
@@ -652,8 +652,6 @@
 		printf("VESA: information block\n");
 		dump_buffer(buf, 64);
 	}
-	if (vesa_adp_info->v_flags & V_NONVGA)
-		return 1;
 	if (vesa_adp_info->v_version < 0x0102) {
 		printf("VESA: VBE version %d.%d is not supported; "
 		       "version 1.2 or later is required.\n",
--- vesa.diff ends here ---


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505241802.j4OI2IRG020136>