vmwarefb 0.5.2
PATCH 1/1 vmwarefb 0.5.2
Hi,
this is an updated version of the VMware framebuffer driver. It contains a fix regarding the framebuffer offset (screen_base) for non-standard modes.
Signature · 9 lines
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
Convergence GmbHCREDITS +1 -1
@@ -1660,7 +1660,7 @@ N: Denis O. Kropp E: [email protected] -D: NeoMagic framebuffer driver +D: NeoMagic and VMware framebuffer driver S: Badensche Str. 46 S: 10715 Berlin S: Germany
drivers/video/Config.in +14 -8
@@ -147,6 +147,7 @@ bool ' SIS 315H/315 support' CONFIG_FB_SIS_315 fi tristate ' NeoMagic display support (EXPERIMENTAL)' CONFIG_FB_NEOMAGIC + tristate ' VMware SVGA display support (EXPERIMENTAL)' CONFIG_FB_VMWARE_SVGA tristate ' 3Dfx Banshee/Voodoo3 display support (EXPERIMENTAL)' CONFIG_FB_3DFX tristate ' 3Dfx Voodoo Graphics (sst1) support (EXPERIMENTAL)' CONFIG_FB_VOODOO1 tristate ' Trident support (EXPERIMENTAL)' CONFIG_FB_TRIDENT
@@ -274,7 +275,8 @@ "$CONFIG_FB_SA1100" = "y" -o "$CONFIG_FB_3DFX" = "y" -o \ "$CONFIG_FB_PMAG_BA" = "y" -o "$CONFIG_FB_PMAGB_B" = "y" -o \ "$CONFIG_FB_MAXINE" = "y" -o "$CONFIG_FB_TX3912" = "y" -o \ - "$CONFIG_FB_SIS" = "y" -o "$CONFIG_FB_NEOMAGIC" = "y" ]; then + "$CONFIG_FB_SIS" = "y" -o "$CONFIG_FB_NEOMAGIC" = "y" -o \ + "$CONFIG_FB_VMWARE_SVGA" = "y" ]; then define_tristate CONFIG_FBCON_CFB8 y else if [ "$CONFIG_FB_ACORN" = "m" -o "$CONFIG_FB_ATARI" = "m" -o \
@@ -295,7 +297,8 @@ "$CONFIG_FB_PMAG_BA" = "m" -o "$CONFIG_FB_PMAGB_B" = "m" -o \ "$CONFIG_FB_MAXINE" = "m" -o "$CONFIG_FB_RADEON" = "m" -o \ "$CONFIG_FB_SA1100" = "m" -o "$CONFIG_FB_SIS" = "m" -o \ - "$CONFIG_FB_TX3912" = "m" -o "$CONFIG_FB_NEOMAGIC" = "m" ]; then + "$CONFIG_FB_TX3912" = "m" -o "$CONFIG_FB_NEOMAGIC" = "m" -o \ + "$CONFIG_FB_VMWARE_SVGA" = "m" ]; then define_tristate CONFIG_FBCON_CFB8 m fi fi
@@ -313,7 +316,7 @@ "$CONFIG_FB_CYBER2000" = "y" -o "$CONFIG_FB_3DFX" = "y" -o \ "$CONFIG_FB_SIS" = "y" -o "$CONFIG_FB_SA1100" = "y" -o \ "$CONFIG_FB_PVR2" = "y" -o "$CONFIG_FB_VOODOO1" = "y" -o \ - "$CONFIG_FB_NEOMAGIC" = "y" ]; then + "$CONFIG_FB_NEOMAGIC" = "y" -o "$CONFIG_FB_VMWARE_SVGA" = "y" ]; then define_tristate CONFIG_FBCON_CFB16 y else if [ "$CONFIG_FB_ATARI" = "m" -o "$CONFIG_FB_ATY" = "m" -o \
@@ -330,7 +333,7 @@ "$CONFIG_FB_CYBER2000" = "m" -o "$CONFIG_FB_SIS" = "m" -o \ "$CONFIG_FB_SA1100" = "m" -o "$CONFIG_FB_RADEON" = "m" -o \ "$CONFIG_FB_PVR2" = "m" -o "$CONFIG_FB_VOODOO1" = "m" -o \ - "$CONFIG_FB_NEOMAGIC" = "m" ]; then + "$CONFIG_FB_NEOMAGIC" = "m" -o "$CONFIG_FB_VMWARE_SVGA" = "m" ]; then define_tristate CONFIG_FBCON_CFB16 m fi fi
@@ -339,7 +342,8 @@ "$CONFIG_FB_MATROX" = "y" -o "$CONFIG_FB_PM2" = "y" -o \ "$CONFIG_FB_ATY128" = "y" -o "$CONFIG_FB_RADEON" = "y" -o \ "$CONFIG_FB_CYBER2000" = "y" -o "$CONFIG_FB_PVR2" = "y" -o \ - "$CONFIG_FB_VOODOO1" = "y" -o "$CONFIG_FB_NEOMAGIC" = "y" ]; then + "$CONFIG_FB_VOODOO1" = "y" -o "$CONFIG_FB_NEOMAGIC" = "y" -o \ + "$CONFIG_FB_VMWARE_SVGA" = "y" ]; then define_tristate CONFIG_FBCON_CFB24 y else if [ "$CONFIG_FB_ATY" = "m" -o "$CONFIG_FB_VIRTUAL" = "m" -o \
@@ -347,7 +351,8 @@ "$CONFIG_FB_MATROX" = "m" -o "$CONFIG_FB_PM2" = "m" -o \ "$CONFIG_FB_ATY128" = "m" -o "$CONFIG_FB_RADEON" = "m" -o \ "$CONFIG_FB_CYBER2000" = "m" -o "$CONFIG_FB_PVR2" = "m" -o \ - "$CONFIG_FB_VOODOO1" = "m" -o "$CONFIG_FB_NEOMAGIC" = "y" ]; then + "$CONFIG_FB_VOODOO1" = "m" -o "$CONFIG_FB_NEOMAGIC" = "y" -o \ + "$CONFIG_FB_VMWARE_SVGA" = "m" ]; then define_tristate CONFIG_FBCON_CFB24 m fi fi
@@ -361,7 +366,7 @@ "$CONFIG_FB_FM2" = "y" -o "$CONFIG_FB_SGIVW" = "y" -o \ "$CONFIG_FB_RADEON" = "y" -o "$CONFIG_FB_PVR2" = "y" -o \ "$CONFIG_FB_3DFX" = "y" -o "$CONFIG_FB_SIS" = "y" -o \ - "$CONFIG_FB_VOODOO1" = "y" ]; then + "$CONFIG_FB_VOODOO1" = "y" -o "$CONFIG_FB_VMWARE_SVGA" = "y" ]; then define_tristate CONFIG_FBCON_CFB32 y else if [ "$CONFIG_FB_ATARI" = "m" -o "$CONFIG_FB_ATY" = "m" -o \
@@ -373,7 +378,8 @@ "$CONFIG_FB_RIVA" = "m" -o "$CONFIG_FB_ATY128" = "m" -o \ "$CONFIG_FB_3DFX" = "m" -o "$CONFIG_FB_RADEON" = "m" -o \ "$CONFIG_FB_SGIVW" = "m" -o "$CONFIG_FB_SIS" = "m" -o \ - "$CONFIG_FB_PVR2" = "m" -o "$CONFIG_FB_VOODOO1" = "m" ]; then + "$CONFIG_FB_PVR2" = "m" -o "$CONFIG_FB_VOODOO1" = "m" -o \ + "$CONFIG_FB_VMWARE_SVGA" = "m" ]; then define_tristate CONFIG_FBCON_CFB32 m fi fi
drivers/video/Makefile +5 -0
@@ -99,6 +99,11 @@ obj-y += riva/rivafb.o endif +subdir-$(CONFIG_FB_VMWARE_SVGA) += vmware +ifeq ($(CONFIG_FB_VMWARE_SVGA),y) +obj-y += vmware/vmware.o +endif + subdir-$(CONFIG_FB_SIS) += sis ifeq ($(CONFIG_FB_SIS),y) obj-y += sis/sisfb.o
drivers/video/fbmem.c +5 -0
@@ -76,6 +76,8 @@extern int aty128fb_setup (char *);extern int neofb_init (void );extern int neofb_setup (char *); +extern int vmwarefb_init (void ); +extern int vmwarefb_setup (char *);extern int igafb_init (void );extern int igafb_setup (char *);extern int imsttfb_init (void );
@@ -187,6 +189,9 @@#endif #ifdef CONFIG_FB_NEOMAGIC { "neo", neofb_init, neofb_setup }, +#endif +#ifdef CONFIG_FB_VMWARE_SVGA + { "vmware", vmwarefb_init, vmwarefb_setup }, #endif #ifdef CONFIG_FB_VIRGE { "virge", virgefb_init, virgefb_setup },
drivers/video/vmware/Makefile +15 -0
@@ -0,0 +1,15 @@ +# +# Makefile for the VMware SVGA framebuffer driver +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# +# Note 2! The CFLAGS definitions are now in the main makefile... + +O_TARGET := vmware.o + +obj-y := vmwarefb.o +obj-m := $(O_TARGET) + +include $(TOPDIR)/Rules.make
drivers/video/vmware/guest_os.h +27 -0
@@ -0,0 +1,27 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vmware/guest_os.h,v 1.1 2001/04/05 19:29:44 dawes Exp $ */ +/* ********************************************************* +* Copyright (C) 1999-2001 VMware, Inc. +* All Rights Reserved +* Id: guest_os.h,v 1.5 2001/01/26 23:32:15 yoel Exp $ +* **********************************************************/ + +#ifndef _GUEST_OS_H_ +#define _GUEST_OS_H_ + +#define GUEST_OS_BASE 0x5000 + +#define GUEST_OS_DOS (GUEST_OS_BASE+1) +#define GUEST_OS_WIN31 (GUEST_OS_BASE+2) +#define GUEST_OS_WINDOWS95 (GUEST_OS_BASE+3) +#define GUEST_OS_WINDOWS98 (GUEST_OS_BASE+4) +#define GUEST_OS_WINDOWSME (GUEST_OS_BASE+5) +#define GUEST_OS_NT (GUEST_OS_BASE+6) +#define GUEST_OS_WIN2000 (GUEST_OS_BASE+7) +#define GUEST_OS_LINUX (GUEST_OS_BASE+8) +#define GUEST_OS_OS2 (GUEST_OS_BASE+9) +#define GUEST_OS_OTHER (GUEST_OS_BASE+10) +#define GUEST_OS_FREEBSD (GUEST_OS_BASE+11) +#define GUEST_OS_WHISTLER (GUEST_OS_BASE+12) + + +#endif
drivers/video/vmware/svga_limits.h +53 -0
53 lines not on this page · raw message
drivers/video/vmware/svga_reg.h +298 -0
298 lines not on this page · raw message
drivers/video/vmware/vmwarefb.c +1524 -0
1,524 lines not on this page · raw message
drivers/video/vmware/vmwarefb.h +192 -0
192 lines not on this page · raw message
include/linux/fb.h +2 -0
@@ -96,6 +96,8 @@#define FB_ACCEL_3DLABS_PERMEDIA3 37/* 3Dlabs Permedia 3 */ #define FB_ACCEL_ATI_RADEON 38/* ATI Radeon family */ +#define FB_ACCEL_VMWARE_SVGA 50/* VMware Virtual SVGA Graphics */ +#define FB_ACCEL_VMWARE_SVGA2 51/* VMware Virtual SVGA Graphics */ #define FB_ACCEL_NEOMAGIC_NM2070 90/* NeoMagic NM2070 */ #define FB_ACCEL_NEOMAGIC_NM2090 91/* NeoMagic NM2090 */
Quoted 6 lines · Denis Oliver Kropp
Hi,
this is an updated version of the VMware framebuffer driver. It contains a fix regarding the framebuffer offset (
screen_base) for non-standard modes.
Some non-technical questions about this code:
- please read Documentation/CodingStyle and reformat your code based on that (scripts/Lindent will do it for you if you want.)
Quoted 8 lines
+++
linux/drivers/video/vmware/guest_os.hTue May 14 01:32:04 2002drivers/video/vmware/guest_os.h +6
-0@@ -0,0 +1,27 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vmware/guest_os.h,v 1.1 2001/04/05 19:29:44 dawes Exp $ */ +/* ********************************************************* +* Copyright (C) 1999-2001 VMware, Inc. +* All Rights Reserved +* Id: guest_os.h,v 1.5 2001/01/26 23:32:15 yoel Exp $ +* **********************************************************/
<snip>
Quoted 8 lines
+++
linux/drivers/video/vmware/svga_limits.hTue May 14 01:31:47 2002drivers/video/vmware/svga_limits.h +6
-0@@ -0,0 +1,53 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vmware/svga_limits.h,v 1.1 2001/04/05 19:29:44 dawes Exp $ */ +/* ********************************************************** +* Copyright (C) 1998-2001 VMware, Inc. +* All Rights Reserved +* Id: svga_limits.h,v 1.8 2001/01/26 23:32:15 yoel Exp $ +* **********************************************************/
<snip>
Quoted 8 lines
+++
linux/drivers/video/vmware/svga_reg.hTue May 14 01:31:27 2002drivers/video/vmware/svga_reg.h +6
-0@@ -0,0 +1,298 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vmware/svga_reg.h,v 1.4 2001/09/13 08:36:24 alanh Exp $ */ +/* ********************************************************** +* Copyright (C) 1998-2001 VMware, Inc. +* All Rights Reserved +* $Id: svga_reg.h,v 1.16 2001/07/25 22:41:24 mgoodman Exp $ +* **********************************************************/
<snip>
drivers/video/vmware/vmwarefb.c line 68
Quoted 9 lines
drivers/video/vmware/vmwarefb.c +9
-0+#ifdef MODULE + +MODULE_AUTHOR ("(c) 2002 Denis Oliver Kropp <[email protected]>" ); +MODULE_LICENSE ("GPL" ); +MODULE_DESCRIPTION ("FBDev driver for VMware Virtual SVGA Card" ); +MODULE_PARM (disabled,"i" ); +MODULE_PARM_DESC (disabled,"Disable this driver's initialization." ); + +#endif
- drop the #ifdef, it's not needed.
- you are stating that your module is under the GPL, yet it uses two files that are marked "All Rights Reserved" with the copyright from VMWare, Inc. I don't think you can do that :)
Is VMWare ok with releasing those files under the GPL? If so, I suggest you add that line to those files, and then everything should be fine.
thanks,
greg k-h
Quoted 4 lines · Greg KH
Quoted 3 lines · Denis Oliver Kropp
Hi,
Quoted 8 lines
Quoted 3 lines
this is an updated version of the VMware framebuffer driver. It contains a fix regarding the framebuffer offset (
screen_base) for non-standard modes.Some non-technical questions about this code:
- please readDocumentation/CodingStyleand reformat your code based on that (scripts/Lindentwill do it for you if you want.)
Ok, will try that.
Quoted 23 lines
Quoted 8 lines
+++
linux/drivers/video/vmware/svga_reg.hTue May 14 01:31:27 2002drivers/video/vmware/svga_reg.h +6
-0@@ -0,0 +1,298 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vmware/svga_reg.h,v 1.4 2001/09/13 08:36:24 alanh Exp $ */ +/* ********************************************************** +* Copyright (C) 1998-2001 VMware, Inc. +* All Rights Reserved +* $Id: svga_reg.h,v 1.16 2001/07/25 22:41:24 mgoodman Exp $ +* **********************************************************/ <snip>
drivers/video/vmware/vmwarefb.c line 68
Quoted 9 lines
drivers/video/vmware/vmwarefb.c +9
-0+#ifdef MODULE + +MODULE_AUTHOR ("(c) 2002 Denis Oliver Kropp <[email protected]>" ); +MODULE_LICENSE ("GPL" ); +MODULE_DESCRIPTION ("FBDev driver for VMware Virtual SVGA Card" ); +MODULE_PARM (disabled,"i" ); +MODULE_PARM_DESC (disabled,"Disable this driver's initialization." ); + +#endif - drop the #ifdef, it's not needed.
Quoted 6 lines
- you are stating that your module is under the GPL, yet it uses two files that are marked "All Rights Reserved" with the copyright from VMWare, Inc. I don't think you can do that :)
Is VMWare ok with releasing those files under the GPL? If so, I suggest you add that line to those files, and then everything should be fine.
I wasn't sure yet about that issue, but I will try to contact VMWare and ask.
Signature · 9 lines
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
Convergence GmbHHi
Quoted 2 lines
Is VMWare ok with releasing those files under the GPL? If so, I suggest you add that line to those files, and then everything should be fine.
Code seems to come from XFree, and that should allow him to relicence like that.
I have better question: "What is it good for"?
Pavel
Signature · 2 lines
Philips Velo 1: 1"x4"x8", 300gram, 60, 12MB, 40bogomips, linux, mutt, details at http://atrey.karlin.mff.cuni.cz/~pavel/velo/index.html.
Quoted 9 lines · Pavel Machek
Hi
Quoted 2 lines
Is VMWare ok with releasing those files under the GPL? If so, I suggest you add that line to those files, and then everything should be fine.
Code seems to come from XFree, and that should allow him to relicence like that.
I have better question: "What is it good for"?
The driver at all?
I want to use DirectFB in VMware. I will also add console acceleration to the framebuffer driver and possibly write an accelerated DirectFB driver.
Signature · 9 lines
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
Convergence GmbH