rpms/xorg-x11/devel xorg-x11-6.8.2-ia64-elfloader-cache-flush.patch, NONE, 1.1 xorg-x11.spec, 1.201, 1.202

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue May 31 16:44:37 UTC 2005


Author: mharris

Update of /cvs/dist/rpms/xorg-x11/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv31492

Modified Files:
	xorg-x11.spec 
Added Files:
	xorg-x11-6.8.2-ia64-elfloader-cache-flush.patch 
Log Message:
- Added xorg-x11-6.8.2-ia64-elfloader-cache-flush.patch to fix cache flush
  issue on ia64 systems (#153103)



xorg-x11-6.8.2-ia64-elfloader-cache-flush.patch:
 common/compiler.h  |    2 +-
 loader/elfloader.c |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

--- NEW FILE xorg-x11-6.8.2-ia64-elfloader-cache-flush.patch ---
Patch submitted to Red Hat by Alex Williamson <alex_williamson at hp.com>

Description of problem:
ia64 needs an extra cache flush to ensure the icache is coherent when
modules are loaded.

Fixes bugs:
        https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=153103

Related RHEL3 bug for reference:
        https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=153106

--- xc/programs/Xserver/hw/xfree86/common/compiler.h	2005-04-01 08:46:55.361250134 -0700
+++ xc/programs/Xserver/hw/xfree86/common/compiler.h	2005-04-01 08:55:15.630775256 -0700
@@ -478,7 +478,7 @@
 #    ifndef __INTEL_COMPILER
 #       define ia64_flush_cache(Addr) \
 	__asm__ __volatile__ ( \
-		"fc %0;;;" \
+		"fc.i %0;;;" \
 		"sync.i;;;" \
 		"mf;;;" \
 		"srlz.i;;;" \
--- xc/programs/Xserver/hw/xfree86/loader/elfloader.c	2005-04-01 08:43:28.095627673 -0700
+++ xc/programs/Xserver/hw/xfree86/loader/elfloader.c	2005-04-01 08:46:22.692305222 -0700
@@ -2785,6 +2785,14 @@
 		mprotect( (char *)elffile->lsection[j].saddr - round,
 			 SecSize(i) + round, PROT_READ | PROT_WRITE | PROT_EXEC);
 	    }
+#ifdef __ia64__
+	    {
+		int k;
+		for (k = 0; k < SecSize(i); k += 32)
+		    ia64_flush_cache(elffile->lsection[j].saddr+k);
+		ia64_flush_cache(elffile->lsection[j].saddr+SecSize(i)-1);
+	    }
+#endif
 	    break;
 #endif
 	case SHT_SYMTAB:


Index: xorg-x11.spec
===================================================================
RCS file: /cvs/dist/rpms/xorg-x11/devel/xorg-x11.spec,v
retrieving revision 1.201
retrieving revision 1.202
diff -u -r1.201 -r1.202
--- xorg-x11.spec	26 May 2005 21:02:55 -0000	1.201
+++ xorg-x11.spec	31 May 2005 16:44:35 -0000	1.202
@@ -18,7 +18,7 @@
 
 Name: xorg-x11
 Version: 6.8.2
-Release: 35
+Release: 36
 #Release: 1.FC3.35
 
 %define build_mharris_mode	0
@@ -473,8 +473,10 @@
 # forward, but until the dynamic clocks code is fixed properly, let's
 # stick to something that works.
 Patch9335: xorg-x11-6.8.1-ati-radeon-dynamic-clocks-fix-2.patch
+
 Patch9336: xorg-x11-6.8.2-ati-ragexl-ia64-avoidcpiofix.patch
 Patch9337: xorg-x11-6.8.2-use-linux-native-pciscan-by-default.patch
+Patch9338: xorg-x11-6.8.2-ia64-elfloader-cache-flush.patch
 
 # EXPERIMENTAL PATCHES intended strictly for fedora-devel (FC4 currently).
 # Once a patch is determined to be safe to apply to other releases, it can
@@ -1152,6 +1154,7 @@
 %patch9335 -p0 -b .ati-radeon-dynamic-clocks-fix-2
 %patch9336 -p0 -b .xorg-x11-6.8.2-ati-ragexl-ia64-avoidcpiofix.patch
 %patch9337 -p0 -b .use-linux-native-pciscan-by-default
+%patch9338 -p0 -b .ia64-elfloader-cache-flush
 
 # EXPERIMENTAL PATCHES intended strictly for fedora-devel (FC4 currently)
 # Update: Also enabled for FC3-testing build to be released soon, which will
@@ -3622,6 +3625,10 @@
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT 
 
 %changelog
+* Mon May 30 2005 Mike A. Harris <mharris at redhat.com> 6.8.2-36
+- Added xorg-x11-6.8.2-ia64-elfloader-cache-flush.patch to fix cache flush
+  issue on ia64 systems (#153103)
+
 * Wed May 25 2005 Mike A. Harris <mharris at redhat.com> 6.8.2-35
 - Remove /usr/X11R6/lib/X11/xinit symlink on non with_Xserver builds to
   prevent rpm complaining about unpackaged symlinks on s390 et al. now that




More information about the fedora-cvs-commits mailing list