File xorg-server-nohwaccess.diff of Package xorg-x11-server.import4447

Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_init.c
===================================================================
Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c
===================================================================
--- xorg-server-1.6.3.orig/hw/xfree86/os-support/linux/lnx_video.c
+++ xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c
@@ -51,6 +51,7 @@
 #define MAP_FAILED ((void *)-1)
 #endif
 
+extern Bool NoHwAccess;
 static Bool ExtendedEnabled = FALSE;
 
 #ifdef __ia64__
@@ -509,6 +510,9 @@ xf86EnableIO(void)
 	int fd;
 	unsigned int ioBase_phys;
 #endif
+	/* Fake it... */
+	if (NoHwAccess)
+		return TRUE;
 
 	if (ExtendedEnabled)
 		return TRUE;
--- xorg-server-1.9.0/hw/xfree86/os-support/linux/lnx_init.c.orig	2010-06-10 16:07:55.000000000 +0200
+++ xorg-server-1.9.0/hw/xfree86/os-support/linux/lnx_init.c	2010-08-23 15:38:45.000000000 +0200
@@ -42,6 +42,7 @@ static Bool KeepTty = FALSE;
 static int VTnum = -1;
 static Bool VTSwitch = TRUE;
 static Bool ShareVTs = FALSE;
+Bool NoHwAccess = FALSE;
 static int activeVT = -1;
 
 static int vtPermSave[4];
@@ -377,6 +378,11 @@ xf86ProcessArgument(int argc, char *argv
                 ShareVTs = TRUE;
                 return 1;
         }
+	if (!strcmp(argv[i], "-nohwaccess"))
+	{
+		NoHwAccess = TRUE;
+		return(1);
+	}
 	if ((argv[i][0] == 'v') && (argv[i][1] == 't'))
 	{
 		if (sscanf(argv[i], "vt%2d", &VTnum) == 0)
@@ -398,4 +404,5 @@ xf86UseMsg(void)
 	ErrorF("don't detach controlling tty (for debugging only)\n");
 	ErrorF("-novtswitch            don't immediately switch to new VT\n");
 	ErrorF("-sharevts              share VTs with another X server\n");
+	ErrorF("-nohwaccess            don't access hardware ports directly\n");
 }
openSUSE Build Service is sponsored by