Author: branden
Date: 2003-12-16 12:06:43 -0500 (Tue, 16 Dec 2003)
New Revision: 845

Added:
   trunk/debian/patches/315_arm_fix_up_lnx_video_io_access.diff
Modified:
   trunk/debian/changelog
Log:
Don't make I/O permission and interrupt-related system calls meant for the
x86 architecture on ARM machines (thanks, Peter Naulls).
(Closes: #223567)


Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog      2003-12-16 15:36:52 UTC (rev 844)
+++ trunk/debian/changelog      2003-12-16 17:06:43 UTC (rev 845)
@@ -20,8 +20,13 @@
     - debian/xserver-common.config.in
     - debian/xserver-common.postinst.in
 
- -- Branden Robinson <[EMAIL PROTECTED]>  Sat,  6 Dec 2003 21:36:03 -0500
+  * Don't make I/O permission and interrupt-related system calls meant for the
+    x86 architecture on ARM machines (thanks, Peter Naulls).
+    (Closes: #223567)
+    - debian/patches/315_arm_fix_up_lnx_video_io_access.diff
 
+ -- Branden Robinson <[EMAIL PROTECTED]>  Tue, 16 Dec 2003 12:03:34 -0500
+
 xfree86 (4.2.1-14) unstable; urgency=medium
 
   * Urgency due to fix for FTBFS triggered by linux-kernel-headers package.

Added: trunk/debian/patches/315_arm_fix_up_lnx_video_io_access.diff
===================================================================
--- trunk/debian/patches/315_arm_fix_up_lnx_video_io_access.diff        
2003-12-16 15:36:52 UTC (rev 844)
+++ trunk/debian/patches/315_arm_fix_up_lnx_video_io_access.diff        
2003-12-16 17:06:43 UTC (rev 845)
@@ -0,0 +1,77 @@
+$Id$
+
+The file xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c
+requires some checks for the ARM architecture to prevent the X server from
+trying to execute code meant only for x86.  This is consistent with other
+non-x86 platforms.
+
+This patch by Peter Naulls.  Not submitted upstream yet.
+
+--- xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c~       
2003-12-16 11:56:56.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c        
2003-12-16 11:57:00.000000000 -0500
+@@ -518,7 +518,7 @@
+ #endif
+       }
+       close(fd);
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && 
!defined(__sh__) && !defined(__hppa__)
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && 
!defined(__sh__) && !defined(__hppa__) && !defined(__arm__)
+       if (ioperm(0, 1024, 1) || iopl(3)) {
+               if (errno == ENODEV)
+                       ErrorF("xf86EnableIOPorts: no I/O ports found\n");
+@@ -543,7 +543,7 @@
+ #if defined(__powerpc__)
+       munmap(ioBase, 0x20000);
+       ioBase = NULL;
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && 
!defined(__sh__) && !defined(__hppa__)
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && 
!defined(__sh__) && !defined(__hppa__) && !defined(__arm__)
+       iopl(0);
+       ioperm(0, 1024, 0);
+ #endif
+@@ -562,12 +562,12 @@
+ Bool
+ xf86DisableInterrupts()
+ {
+-#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__ia64__) && !defined(__sh__) && 
!defined(__hppa__)
++#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__ia64__) && !defined(__sh__) && 
!defined(__hppa__) && !defined(__arm__)
+       if (!ExtendedEnabled)
+           if (iopl(3) || ioperm(0, 1024, 1))
+                       return (FALSE);
+ #endif
+-#if defined(__alpha__) || defined(__mc68000__) || defined(__powerpc__) || 
defined(__sparc__) || defined(__mips__) || defined(__arm__) || defined(__sh__) 
|| defined(__ia64__) || defined(__hppa__)
++#if defined(__alpha__) || defined(__mc68000__) || defined(__powerpc__) || 
defined(__sparc__) || defined(__mips__) || defined(__arm__) || defined(__sh__) 
|| defined(__ia64__) || defined(__hppa__) || defined(__arm__)
+ #else
+ # ifdef __GNUC__
+ #  if defined(__ia64__)
+@@ -581,7 +581,7 @@
+       asm("cli");
+ # endif
+ #endif
+-#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__sh__) && !defined(__ia64__) && 
!defined(__hppa__)
++#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__sh__) && !defined(__ia64__) && 
!defined(__hppa__) && !defined(__arm__)
+       if (!ExtendedEnabled) {
+           iopl(0);
+           ioperm(0, 1024, 0);
+@@ -594,12 +594,12 @@
+ void
+ xf86EnableInterrupts()
+ {
+-#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__ia64__) && !defined(__sh__) && 
!defined(__hppa__)
++#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__ia64__) && !defined(__sh__) && 
!defined(__hppa__) && !defined(__arm__)
+       if (!ExtendedEnabled)
+           if (iopl(3) || ioperm(0, 1024, 1))
+                       return;
+ #endif
+-#if defined(__alpha__) || defined(__mc68000__) || defined(__powerpc__) || 
defined(__sparc__) || defined(__mips__) || defined(__arm__) || defined(__sh__) 
|| defined(__ia64__) || defined(__hppa__)
++#if defined(__alpha__) || defined(__mc68000__) || defined(__powerpc__) || 
defined(__sparc__) || defined(__mips__) || defined(__arm__) || defined(__sh__) 
|| defined(__ia64__) || defined(__hppa__) || defined(__arm__)
+ #else
+ # ifdef __GNUC__
+ #  if defined(__ia64__)
+@@ -613,7 +613,7 @@
+       asm("sti");
+ # endif
+ #endif
+-#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__sh__) && !defined(__ia64__) && 
!defined(__hppa__)
++#if !defined(__mc68000__) && !defined(__powerpc__) && !defined(__sparc__) && 
!defined(__mips__) && !defined(__sh__) && !defined(__ia64__) && 
!defined(__hppa__) && !defined(__arm__)
+       if (!ExtendedEnabled) {
+           iopl(0);
+           ioperm(0, 1024, 0);

Reply via email to