Index: xc/programs/Xserver/hw/xfree86/common/compiler.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/common/compiler.h,v retrieving revision 1.17 diff -u -r1.17 compiler.h --- xc/programs/Xserver/hw/xfree86/common/compiler.h 28 Mar 2004 14:58:22 -0000 1.17 +++ xc/programs/Xserver/hw/xfree86/common/compiler.h 12 Nov 2004 09:07:16 -0000 @@ -923,7 +923,7 @@ #define PORT_SIZE short #endif -unsigned int IOPortBase; /* Memory mapped I/O port area */ +extern unsigned int IOPortBase; /* Memory mapped I/O port area */ static __inline__ void outb(unsigned PORT_SIZE port, unsigned char val) Index: xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h,v retrieving revision 1.2 diff -u -r1.2 AsmMacros.h --- xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h 3 Aug 2002 21:59:11 -0000 1.2 +++ xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h 12 Nov 2004 09:07:17 -0000 @@ -131,7 +131,7 @@ } #else #if defined(__arm32__) || defined(__arm__) -unsigned int IOPortBase; /* Memory mapped I/O port area */ +extern unsigned int IOPortBase; /* Memory mapped I/O port area */ static __inline__ void outb(port, val) Index: xc/programs/Xserver/hw/xfree86/int10/generic.c =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/int10/generic.c,v retrieving revision 1.1.1.7 diff -u -r1.1.1.7 generic.c --- xc/programs/Xserver/hw/xfree86/int10/generic.c 5 Mar 2004 14:29:15 -0000 1.1.1.7 +++ xc/programs/Xserver/hw/xfree86/int10/generic.c 12 Nov 2004 09:07:23 -0000 @@ -498,24 +498,30 @@ static CARD16 read_w(xf86Int10InfoPtr pInt, int addr) { +#if !defined(__arm__) #if X_BYTE_ORDER == X_LITTLE_ENDIAN if (OFF(addr + 1) > 0) return V_ADDR_RW(addr); #endif +#else return V_ADDR_RB(addr) | (V_ADDR_RB(addr + 1) << 8); +#endif } static CARD32 read_l(xf86Int10InfoPtr pInt, int addr) { +#if !defined(__arm__) #if X_BYTE_ORDER == X_LITTLE_ENDIAN if (OFF(addr + 3) > 2) return V_ADDR_RL(addr); #endif +#else return V_ADDR_RB(addr) | (V_ADDR_RB(addr + 1) << 8) | (V_ADDR_RB(addr + 2) << 16) | (V_ADDR_RB(addr + 3) << 24); +#endif } static void @@ -527,25 +533,31 @@ static void write_w(xf86Int10InfoPtr pInt, int addr, CARD16 val) { +#if !defined(__arm__) #if X_BYTE_ORDER == X_LITTLE_ENDIAN if (OFF(addr + 1) > 0) { V_ADDR_WW(addr, val); } #endif +#else V_ADDR_WB(addr, val); V_ADDR_WB(addr + 1, val >> 8); +#endif } static void write_l(xf86Int10InfoPtr pInt, int addr, CARD32 val) { +#if !defined(__arm__) #if X_BYTE_ORDER == X_LITTLE_ENDIAN if (OFF(addr + 3) > 2) { V_ADDR_WL(addr, val); } #endif +#else V_ADDR_WB(addr, val); V_ADDR_WB(addr + 1, val >> 8); V_ADDR_WB(addr + 2, val >> 16); V_ADDR_WB(addr + 3, val >> 24); +#endif } pointer Index: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v retrieving revision 1.7 diff -u -r1.7 xf86sym.c --- xc/programs/Xserver/hw/xfree86/loader/xf86sym.c 14 Oct 2004 12:39:21 -0000 1.7 +++ xc/programs/Xserver/hw/xfree86/loader/xf86sym.c 12 Nov 2004 09:07:24 -0000 @@ -205,6 +205,8 @@ #endif #if defined(__arm__) && defined(__NetBSD__) +extern unsigned int IOPortBase; + /* pull in the softfloat functions */ extern float __addsf3 (float, float); extern double __adddf3 (double, double); @@ -237,6 +239,7 @@ extern int __gtdf2(double, double); extern double __negdf2(double); +#pragma weak IOPortBase #pragma weak __addsf3 #pragma weak __adddf3 #pragma weak __subsf3 @@ -1181,6 +1184,7 @@ #if defined(__NetBSD__) #if defined(__arm__) + SYMFUNC(IOPortBase) SYMFUNC(__addsf3) SYMFUNC(__adddf3) SYMFUNC(__subsf3) Index: xc/programs/Xserver/hw/xfree86/os-support/bsd/arm_video.c =================================================================== RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/hw/xfree86/os-support/bsd/arm_video.c,v retrieving revision 1.4 diff -u -r1.4 arm_video.c --- xc/programs/Xserver/hw/xfree86/os-support/bsd/arm_video.c 10 Mar 2004 22:54:26 -0000 1.4 +++ xc/programs/Xserver/hw/xfree86/os-support/bsd/arm_video.c 12 Nov 2004 09:07:25 -0000 @@ -251,6 +251,7 @@ #define DEV_MEM_IOSIZE 0x00010000 static Bool ExtendedEnabled = FALSE; +unsigned int IOPortBase; static unsigned int IOPortBase2; void