[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: help needed to get XFree86 4.1.0 working on MIPS



The attached three patches fix the server build.
 -- Guido
--- xc/config/cf/linux.cf.orig	Tue Jul 17 22:00:51 2001
+++ xc/config/cf/xfree86.cf	Tue Jul 17 22:00:55 2001
@@ -473,7 +473,7 @@
 
 # ifndef XF86CardDrivers
 #  define XF86CardDrivers	mga glint nv s3virge sis savage \
-				trident chips tdfx fbdev ati \
+				trident chips tdfx fbdev \
 				DevelDrivers newport \
 				XF86OSCardDrivers XF86ExtraCardDrivers
 # endif
--- xc/programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c.orig	Thu Jul 19 14:53:15 2001
+++ xc/programs/Xserver/hw/xfree86/drivers/newport/newport_driver.c	Thu Jul 19 14:53:29 2001
@@ -247,7 +247,7 @@
 					entity = xf86ClaimIsaSlot(drv, 0, dev, TRUE);
 					base = (NEWPORT_BASE_ADDR0 + busID * NEWPORT_BASE_OFFSET);
 					RANGE(range[0], base, base + sizeof(NewportRegs),\
-							ResExcMemBlock);
+							ResExcMemBlock,0);
 					pScrn = xf86ConfigIsaEntity(pScrn, 0, entity, NULL, range, \
 							NULL, NULL, NULL, NULL);
 					/* Allocate a ScrnInfoRec */
--- xc/programs/Xserver/hw/xfree86/common/compiler.h.orig	Thu Jul 19 14:55:03 2001
+++ xc/programs/Xserver/hw/xfree86/common/compiler.h	Thu Jul 19 14:58:43 2001
@@ -871,7 +871,17 @@
 #define stw_u(v,p)	(*(unsigned char *)(p)) = (v); \
 			(*(unsigned char *)(p)+1) = ((v) >> 8)
 
-#define mem_barrier()   /* NOP */
+#define mem_barrier() \
+__asm__ __volatile__(					\
+	"# prevent instructions being moved around\n\t"	\
+	".set\tnoreorder\n\t"				\
+	"# 8 nops to fool the R4400 pipeline\n\t"	\
+	"nop;nop;nop;nop;nop;nop;nop;nop\n\t"		\
+	".set\treorder"					\
+	: /* no output */				\
+	: /* no input */				\
+	: "memory")
+#define write_mem_barrier() mem_barrier()
 #endif /* __mips__ */
 
 #if defined(__arm32__)

Reply to: