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: