rpms/xorg-x11-server/devel xserver-1.3.0-add-really-slow-bcopy.patch, NONE, 1.1 xorg-x11-server.spec, 1.241, 1.242

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Thu Aug 2 01:09:30 UTC 2007


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-server/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv1831

Modified Files:
	xorg-x11-server.spec 
Added Files:
	xserver-1.3.0-add-really-slow-bcopy.patch 
Log Message:
* Thu Aug 02 2007 Dave Airlie <airlied at redhat.com> 1.3.0.0-16
- xserver-1.3.0-add-really-slow-bcopy.patch: Speed server start on some cards


xserver-1.3.0-add-really-slow-bcopy.patch:

--- NEW FILE xserver-1.3.0-add-really-slow-bcopy.patch ---
diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index d925bed..8a2768d 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -259,6 +259,7 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86UDelay)
     SYMFUNC(xf86IODelay)
     SYMFUNC(xf86SlowBcopy)
+    SYMFUNC(xf86SetReallySlowBcopy)
 #ifdef __alpha__
     SYMFUNC(xf86SlowBCopyToBus)
     SYMFUNC(xf86SlowBCopyFromBus)
diff --git a/hw/xfree86/os-support/misc/SlowBcopy.c b/hw/xfree86/os-support/misc/SlowBcopy.c
index 7694eaa..5cd7168 100644
--- a/hw/xfree86/os-support/misc/SlowBcopy.c
+++ b/hw/xfree86/os-support/misc/SlowBcopy.c
@@ -22,21 +22,37 @@
 #include "xf86_OSlib.h"
 #include "compiler.h"
 
-/* The outb() isn't needed on my machine, but who knows ... -- ost */
+static int really_slow_bcopy;
+
 _X_EXPORT void
-xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
+xf86SetReallySlowBcopy(void)
+{
+	really_slow_bcopy = 1;
+}
+
+#if defined(__i386__) || defined(__x86_64__)
+static void xf86_really_slow_bcopy(unsigned char *src, unsigned char *dst, int len)
 {
     while(len--)
     {
 	*dst++ = *src++;
-#if !defined(__sparc__) && \
-    !defined(__powerpc__) && \
-    !defined(__mips__) && \
-    !defined(__ia64__) && \
-    !defined(__arm__)
 	outb(0x80, 0x00);
+    }
+}
 #endif
+
+/* The outb() isn't needed on my machine, but who knows ... -- ost */
+_X_EXPORT void
+xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
+{
+#if defined(__i386__) || defined(__x86_64__)
+    if (really_slow_bcopy) {
+	xf86_really_slow_bcopy(src, dst, len);
+	return;
     }
+#endif
+    while(len--)
+	*dst++ = *src++;
 }
 
 #ifdef __alpha__
diff --git a/hw/xfree86/os-support/xf86_OSproc.h b/hw/xfree86/os-support/xf86_OSproc.h
index 1bbbf56..6f0391d 100644
--- a/hw/xfree86/os-support/xf86_OSproc.h
+++ b/hw/xfree86/os-support/xf86_OSproc.h
@@ -159,6 +159,7 @@ extern void xf86BusToMem(unsigned char *, unsigned char *, int);
 extern void xf86MemToBus(unsigned char *, unsigned char *, int);
 extern void xf86IODelay(void);
 extern void xf86UDelay(long usec);
+extern void xf86SetReallySlowBcopy(void);
 extern void xf86SlowBcopy(unsigned char *, unsigned char *, int);
 extern int xf86OpenSerial(pointer options);
 extern int xf86SetSerial(int fd, pointer options);


Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.241
retrieving revision 1.242
diff -u -r1.241 -r1.242
--- xorg-x11-server.spec	12 Jul 2007 14:08:32 -0000	1.241
+++ xorg-x11-server.spec	2 Aug 2007 01:08:57 -0000	1.242
@@ -9,7 +9,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.3.0.0
-Release:   15%{?dist}
+Release:   16%{?dist}
 URL:       http://www.x.org
 License:   MIT/X11
 Group:     User Interface/X
@@ -68,6 +68,7 @@
 Patch2009:  xserver-1.3.0-arm-iopl.patch
 Patch2010:  xserver-1.3.0-idletime.patch
 Patch2011:  xserver-1.3.0-edid-quirk-backports.patch
+Patch2012:  xserver-1.3.0-add-really-slow-bcopy.patch
 
 # assorted PCI layer shenanigans.  oh the pain.
 Patch2500:  xorg-x11-server-1.2.99-unbreak-domain.patch
@@ -325,6 +326,7 @@
 %patch2009 -p1 -b .arm
 %patch2010 -p1 -b .idletime
 %patch2011 -p1 -b .edid-quirks
+%patch2012 -p1 -b .slow-bcopy
 
 %patch2500 -p1 -b .unbreak-domains
 %patch2501 -p1 -b .pci-bus-count
@@ -600,6 +602,9 @@
 
 
 %changelog
+* Thu Aug 02 2007 Dave Airlie <airlied at redhat.com> 1.3.0.0-16
+- xserver-1.3.0-add-really-slow-bcopy.patch: Speed server start on some cards
+
 * Thu Jul 12 2007 Adam Jackson <ajax at redhat.com> 1.3.0.0-15
 - xserver-1.3.0-edid-quirk-backports.patch: Backport EDID quirks from
   master; fixes some Samsung monitors. (#232810)




More information about the scm-commits mailing list