xserver: Branch 'master' - 22 commits

Adam Jackson ajax at kemper.freedesktop.org
Mon Nov 24 20:41:18 PST 2008


 configure.ac                               |   11 
 hw/xfree86/common/Makefile.am              |    2 
 hw/xfree86/common/compiler.h               |   13 
 hw/xfree86/common/xf86.h                   |   25 -
 hw/xfree86/common/xf86Bus.c                |  340 --------------------
 hw/xfree86/common/xf86Bus.h                |    2 
 hw/xfree86/common/xf86Configure.c          |   27 -
 hw/xfree86/common/xf86Helper.c             |  219 -------------
 hw/xfree86/common/xf86Init.c               |    4 
 hw/xfree86/common/xf86isaBus.c             |  141 --------
 hw/xfree86/common/xf86pciBus.c             |    5 
 hw/xfree86/common/xf86pciBus.h             |    1 
 hw/xfree86/common/xf86str.h                |   17 -
 hw/xfree86/int10/generic.c                 |   13 
 hw/xfree86/loader/xf86sym.c                |   14 
 hw/xfree86/os-support/bsd/alpha_video.c    |   18 -
 hw/xfree86/os-support/bsd/arm_video.c      |   21 -
 hw/xfree86/os-support/bsd/i386_video.c     |   32 -
 hw/xfree86/os-support/bsd/ppc_video.c      |   18 -
 hw/xfree86/os-support/bsd/sparc64_video.c  |   18 -
 hw/xfree86/os-support/bus/Makefile.am      |    4 
 hw/xfree86/os-support/bus/Pci.c            |    8 
 hw/xfree86/os-support/bus/Pci.h            |   51 ---
 hw/xfree86/os-support/bus/bsd_pci.c        |   16 
 hw/xfree86/os-support/bus/ix86Pci.c        |  484 -----------------------------
 hw/xfree86/os-support/bus/linuxPci.c       |   18 -
 hw/xfree86/os-support/hurd/hurd_video.c    |   14 
 hw/xfree86/os-support/linux/Makefile.am    |    1 
 hw/xfree86/os-support/linux/int10/linux.c  |    4 
 hw/xfree86/os-support/linux/lnx_axp.c      |    2 
 hw/xfree86/os-support/linux/lnx_ev56.c     |    2 
 hw/xfree86/os-support/linux/lnx_ia64.c     |   74 ----
 hw/xfree86/os-support/linux/lnx_video.c    |  207 ------------
 hw/xfree86/os-support/misc/BUSmemcpy.c     |  225 -------------
 hw/xfree86/os-support/misc/IODelay.c       |   24 -
 hw/xfree86/os-support/misc/Makefile.am     |    2 
 hw/xfree86/os-support/misc/SlowBcopy.c     |   66 +--
 hw/xfree86/os-support/sco/sco_iop.c        |   44 --
 hw/xfree86/os-support/shared/bios_mmap.c   |   29 -
 hw/xfree86/os-support/shared/ia64Pci.h     |   46 --
 hw/xfree86/os-support/shared/stdResource.c |    3 
 hw/xfree86/os-support/solaris/sun_vid.c    |   43 --
 hw/xfree86/os-support/sysv/sysv_video.c    |   52 ---
 hw/xfree86/os-support/xf86_OSproc.h        |    3 
 44 files changed, 59 insertions(+), 2304 deletions(-)

New commits:
commit 208f091bfc657e9ee57b988f035d3aac7e9e173a
Author: Adam Jackson <ajax at redhat.com>
Date:   Sun Oct 12 00:07:56 2008 -0400

    Remove xf86IODelay

diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index 708af85..87dcb92 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -251,7 +251,6 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86MapReadSideEffects)
     SYMFUNC(xf86MapDomainMemory)
     SYMFUNC(xf86UDelay)
-    SYMFUNC(xf86IODelay)
     SYMFUNC(xf86SlowBcopy)
     SYMFUNC(xf86SetReallySlowBcopy)
 #ifdef __alpha__
diff --git a/hw/xfree86/os-support/misc/IODelay.c b/hw/xfree86/os-support/misc/IODelay.c
deleted file mode 100644
index e4422f2..0000000
--- a/hw/xfree86/os-support/misc/IODelay.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
-  Stub for Alpha Linux
-*******************************************************************************/
- 
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <X11/X.h>
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86_OSlib.h"
-
-/* 
- *   All we really need is a delay of about 40ns for I/O recovery for just
- *   about any occasion, but we'll be more conservative here:  On a
- *   100-MHz CPU, produce at least a delay of 1,000ns.
- */ 
-_X_EXPORT void
-xf86IODelay()
-{
-	xf86UDelay(1);
-}
-
diff --git a/hw/xfree86/os-support/misc/Makefile.am b/hw/xfree86/os-support/misc/Makefile.am
index 39066ec..3d4b8ff 100644
--- a/hw/xfree86/os-support/misc/Makefile.am
+++ b/hw/xfree86/os-support/misc/Makefile.am
@@ -1,7 +1,7 @@
 
 noinst_LTLIBRARIES = libmisc.la
 
-libmisc_la_SOURCES = Delay.c BUSmemcpy.c IODelay.c SlowBcopy.c
+libmisc_la_SOURCES = Delay.c BUSmemcpy.c SlowBcopy.c
 
 #AM_LDFLAGS = -r
 
diff --git a/hw/xfree86/os-support/xf86_OSproc.h b/hw/xfree86/os-support/xf86_OSproc.h
index d44fcee..b4513d6 100644
--- a/hw/xfree86/os-support/xf86_OSproc.h
+++ b/hw/xfree86/os-support/xf86_OSproc.h
@@ -151,7 +151,6 @@ extern void xf86SetRGBOut(void);
 extern void xf86OSRingBell(int, int, int);
 extern void xf86BusToMem(unsigned char *, unsigned char *, int);
 extern void xf86MemToBus(unsigned char *, unsigned char *, int);
-extern void xf86IODelay(void);
 extern void xf86UDelay(long usec);
 extern void xf86SetReallySlowBcopy(void);
 extern void xf86SlowBcopy(unsigned char *, unsigned char *, int);
commit 47478aa10adb20b6e48335ac8c4ef31f3fdfe68c
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 23:59:24 2008 -0400

    Remove xf86{En,Dis}ableInterrupts entirely

diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index e0c9415..00df105 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1992,14 +1992,6 @@ xf86GetClocks(ScrnInfoPtr pScrn, int num, Bool (*ClockFunc)(ScrnInfoPtr, int),
     	cnt  = 0;
     	sync = 200000;
 
-	/* XXX How critical is this? */
-    	if (!xf86DisableInterrupts())
-    	{
-	    (*ClockFunc)(pScrn, CLK_REG_RESTORE);
-	    ErrorF("Failed to disable interrupts during clock probe.  If\n");
-	    ErrorF("your OS does not support disabling interrupts, then you\n");
-	    FatalError("must specify a Clocks line in the XF86Config file.\n");
-	}
 	while ((inb(status) & maskval) == 0x00)
 	    if (sync-- == 0) goto finish;
 	/* Something appears to be happening, so reset sync count */
@@ -2020,8 +2012,6 @@ xf86GetClocks(ScrnInfoPtr pScrn, int num, Bool (*ClockFunc)(ScrnInfoPtr, int),
 	}
 
 finish:
-	xf86EnableInterrupts();
-
 	pScrn->clock[i] = cnt ? cnt : -1;
 	if (BlankScreen)
             (*BlankScreen)(pScrn, TRUE);
diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index 88b26aa..708af85 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -244,8 +244,6 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86ReadBIOS)
     SYMFUNC(xf86EnableIO)
     SYMFUNC(xf86DisableIO)
-    SYMFUNC(xf86DisableInterrupts)
-    SYMFUNC(xf86EnableInterrupts)
     SYMFUNC(xf86LinearVidMem)
     SYMFUNC(xf86CheckMTRR)
     SYMFUNC(xf86MapVidMem)
diff --git a/hw/xfree86/os-support/bsd/alpha_video.c b/hw/xfree86/os-support/bsd/alpha_video.c
index 523c448..9de25f6 100644
--- a/hw/xfree86/os-support/bsd/alpha_video.c
+++ b/hw/xfree86/os-support/bsd/alpha_video.c
@@ -433,24 +433,6 @@ xf86DisableIO()
 
 #endif /* USE_ALPHA_PIO */
 
-/***************************************************************************/
-/* Interrupt Handling section                                              */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts()
-{
-
-	return(TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts()
-{
-	return;
-}
-
-
 #define vuip    volatile unsigned int *
 
 static unsigned long msb_set = 0;
diff --git a/hw/xfree86/os-support/bsd/arm_video.c b/hw/xfree86/os-support/bsd/arm_video.c
index 23948b5..a0ebdf2 100644
--- a/hw/xfree86/os-support/bsd/arm_video.c
+++ b/hw/xfree86/os-support/bsd/arm_video.c
@@ -522,27 +522,6 @@ xf86DisableIO()
 
 #endif /* USE_ARC_MMAP */
 
-
-/***************************************************************************/
-/* Interrupt Handling section                                              */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts()
-{
-
-	return(TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts()
-{
-
-	return;
-}
-
-
-
 #if 0
 /*
  * XXX This is here for reference.  It needs to be handled differently for the
diff --git a/hw/xfree86/os-support/bsd/i386_video.c b/hw/xfree86/os-support/bsd/i386_video.c
index 9a28611..83dabc9 100644
--- a/hw/xfree86/os-support/bsd/i386_video.c
+++ b/hw/xfree86/os-support/bsd/i386_video.c
@@ -444,38 +444,6 @@ xf86DisableIO()
 
 #endif
 
-
-/***************************************************************************/
-/* Interrupt Handling section                                              */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts()
-{
-
-#ifdef __GNUC__
-	__asm__ __volatile__("cli");
-#else 
-	asm("cli");
-#endif /* __GNUC__ */
-
-	return(TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts()
-{
-
-#ifdef __GNUC__
-	__asm__ __volatile__("sti");
-#else 
-	asm("sti");
-#endif /* __GNUC__ */
-
-	return;
-}
-
-
 #ifdef __NetBSD__
 /***************************************************************************/
 /* Set TV output mode                                                      */
diff --git a/hw/xfree86/os-support/bsd/ppc_video.c b/hw/xfree86/os-support/bsd/ppc_video.c
index 06be654..f1ff64c 100644
--- a/hw/xfree86/os-support/bsd/ppc_video.c
+++ b/hw/xfree86/os-support/bsd/ppc_video.c
@@ -123,24 +123,6 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
 	return rv;
 }
 
-/***************************************************************************/
-/* Interrupt Handling section                                              */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts()
-{
-
-	return(TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts()
-{
-
-	return;
-}
-
 Bool xf86EnableIO()
 {
         int fd = xf86Info.screenFd;
diff --git a/hw/xfree86/os-support/bsd/sparc64_video.c b/hw/xfree86/os-support/bsd/sparc64_video.c
index fb5e852..fe3b5e7 100644
--- a/hw/xfree86/os-support/bsd/sparc64_video.c
+++ b/hw/xfree86/os-support/bsd/sparc64_video.c
@@ -89,21 +89,3 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
 
 	return (0);
 }
-
-/***************************************************************************/
-/* Interrupt Handling section                                              */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts()
-{
-
-	return(TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts()
-{
-
-	return;
-}
diff --git a/hw/xfree86/os-support/hurd/hurd_video.c b/hw/xfree86/os-support/hurd/hurd_video.c
index 04763ad..b814072 100644
--- a/hw/xfree86/os-support/hurd/hurd_video.c
+++ b/hw/xfree86/os-support/hurd/hurd_video.c
@@ -142,20 +142,6 @@ xf86DisableIO()
     return;
 }
 
-/**************************************************************************
- * Interrupt Handling section                                              
- **************************************************************************/
-Bool 
-xf86DisableInterrupts()
-{
-    return TRUE;
-}
-void 
-xf86EnableInterrupts()
-{
-    return;
-}
-
 void
 xf86MapReadSideEffects(int ScreenNum, int Flags, pointer Base,
 	unsigned long Size)
diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
index aa62514..688106a 100644
--- a/hw/xfree86/os-support/linux/lnx_video.c
+++ b/hw/xfree86/os-support/linux/lnx_video.c
@@ -568,24 +568,6 @@ xf86DisableIO(void)
 	return;
 }
 
-/*
- * Don't use these two functions.  They can't possibly work.  If you actually
- * need interrupts off for something, you ought to be doing it in the kernel
- * anyway.
- */
-
-_X_EXPORT Bool
-xf86DisableInterrupts()
-{
-	return (TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts()
-{
-	return;
-}
-
 #if defined (__alpha__)
 
 #define vuip    volatile unsigned int *
diff --git a/hw/xfree86/os-support/sco/sco_iop.c b/hw/xfree86/os-support/sco/sco_iop.c
index bb8d06d..86210d7 100644
--- a/hw/xfree86/os-support/sco/sco_iop.c
+++ b/hw/xfree86/os-support/sco/sco_iop.c
@@ -88,47 +88,3 @@ xf86DisableIO(void)
 	sysi86(SI86V86, V86SC_IOPL, 0);
 	IOEnabled = FALSE;
 }
-
-/***************************************************************************/
-/* Interrupt Handling section                                              */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts(void)
-{
-  if (!IOEnabled) {
-    if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0)
-      return FALSE;
-  }
-
-#ifdef __GNUC__
-  __asm__ __volatile__("cli");
-#else 
-  asm("cli");
-#endif /* __GNUC__ */
-
-  if (!IOEnabled) {
-    sysi86(SI86V86, V86SC_IOPL, PS_IOPL);
-  }
-
-  return(TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts(void)
-{
-  if (!IOEnabled) {
-    if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0)
-      return;
-  }
-
-#ifdef __GNUC__
-  __asm__ __volatile__("sti");
-#else 
-  asm("sti");
-#endif /* __GNUC__ */
-
-  if (!IOEnabled) {
-    sysi86(SI86V86, V86SC_IOPL, PS_IOPL);
-  }
-}
diff --git a/hw/xfree86/os-support/solaris/sun_vid.c b/hw/xfree86/os-support/solaris/sun_vid.c
index 2b50dd6..3982f63 100644
--- a/hw/xfree86/os-support/solaris/sun_vid.c
+++ b/hw/xfree86/os-support/solaris/sun_vid.c
@@ -263,46 +263,3 @@ xf86DisableIO(void)
     ExtendedEnabled = FALSE;
 #endif /* i386 */
 }
-
-
-/***************************************************************************/
-/* Interrupt Handling section						   */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts(void)
-{
-#if defined(__i386__) || defined(__i386) || defined(__x86)
-    if (!ExtendedEnabled && (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0))
-	return FALSE;
-
-#ifdef __GNUC__
-    __asm__ __volatile__("cli");
-#else
-    asm("cli");
-#endif /* __GNUC__ */
-
-    if (!ExtendedEnabled)
-	sysi86(SI86V86, V86SC_IOPL, 0);
-#endif /* i386 */
-
-    return TRUE;
-}
-
-_X_EXPORT void
-xf86EnableInterrupts(void)
-{
-#if defined(__i386__) || defined(__i386) || defined(__x86)
-    if (!ExtendedEnabled && (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0))
-	return;
-
-#ifdef __GNUC__
-    __asm__ __volatile__("sti");
-#else
-    asm("sti");
-#endif /* __GNUC__ */
-
-    if (!ExtendedEnabled)
-	sysi86(SI86V86, V86SC_IOPL, 0);
-#endif /* i386 */
-}
diff --git a/hw/xfree86/os-support/sysv/sysv_video.c b/hw/xfree86/os-support/sysv/sysv_video.c
index 9972bca..a9bbd65 100644
--- a/hw/xfree86/os-support/sysv/sysv_video.c
+++ b/hw/xfree86/os-support/sysv/sysv_video.c
@@ -313,55 +313,3 @@ xf86DisableIO()
 
 	return;
 }
-
-/***************************************************************************/
-/* Interrupt Handling section                                              */
-/***************************************************************************/
-
-_X_EXPORT Bool
-xf86DisableInterrupts()
-{
-	if (!ExtendedEnabled)
-	{
-		if (SET_IOPL() < 0)
-		{
-			return(FALSE);
-		}
-	}
-
-#ifdef __GNUC__
-	__asm__ __volatile__("cli");
-#else 
-	asm("cli");
-#endif /* __GNUC__ */
-
-	if (!ExtendedEnabled)
-	{
-		RESET_IOPL();
-	}
-	return(TRUE);
-}
-
-_X_EXPORT void
-xf86EnableInterrupts()
-{
-	if (!ExtendedEnabled)
-	{
-		if (SET_IOPL() < 0)
-		{
-			return;
-		}
-	}
-
-#ifdef __GNUC__
-	__asm__ __volatile__("sti");
-#else 
-	asm("sti");
-#endif /* __GNUC__ */
-
-	if (!ExtendedEnabled)
-	{
-		RESET_IOPL();
-	}
-	return;
-}
diff --git a/hw/xfree86/os-support/xf86_OSproc.h b/hw/xfree86/os-support/xf86_OSproc.h
index 74c2dc0..d44fcee 100644
--- a/hw/xfree86/os-support/xf86_OSproc.h
+++ b/hw/xfree86/os-support/xf86_OSproc.h
@@ -146,8 +146,6 @@ extern void xf86MapReadSideEffects(int, int, pointer, unsigned long);
 extern int xf86ReadBIOS(unsigned long, unsigned long, unsigned char *, int);
 extern Bool xf86EnableIO(void);
 extern void xf86DisableIO(void);
-extern Bool xf86DisableInterrupts(void);
-extern void xf86EnableInterrupts(void);
 extern void xf86SetTVOut(int);
 extern void xf86SetRGBOut(void);
 extern void xf86OSRingBell(int, int, int);
commit c7680befe5aebd0f4277d11ff3984d8a7deb9d5b
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 23:35:24 2008 -0400

    Remove the remnants of Jensen support
    
    As being an EISA-only machine, and as ISA support is gone now...

diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index f55219b..285d9a3 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -1541,8 +1541,6 @@ extern void (*xf86WriteMmio32)(int, void *, unsigned long);
 extern void (*xf86WriteMmioNB8)(int, void *, unsigned long);
 extern void (*xf86WriteMmioNB16)(int, void *, unsigned long);
 extern void (*xf86WriteMmioNB32)(int, void *, unsigned long);
-extern void xf86JensenMemToBus(char *, long, long, int);
-extern void xf86JensenBusToMem(char *, char *, unsigned long, int);
 extern void xf86SlowBCopyFromBus(unsigned char *, unsigned char *, int);
 extern void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int);
 
@@ -1556,20 +1554,13 @@ extern void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int);
 #   define MMIO_IN32(base, offset) xf86ReadMmio32(base, offset)
 #  endif
 
-#  if defined (JENSEN_SUPPORT)
-#   define MMIO_OUT32(base, offset, val) \
-    (*xf86WriteMmio32)((CARD32)(val), base, offset)
-#   define MMIO_ONB32(base, offset, val) \
-    (*xf86WriteMmioNB32)((CARD32)(val), base, offset)
-#  else
-#   define MMIO_OUT32(base, offset, val) \
+#  define MMIO_OUT32(base, offset, val) \
     do { \
 	write_mem_barrier(); \
 	*(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val); \
     } while (0)
-#   define MMIO_ONB32(base, offset, val) \
+#  define MMIO_ONB32(base, offset, val) \
 	*(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val)
-#  endif
 
 #  define MMIO_OUT8(base, offset, val) \
     (*xf86WriteMmio8)((CARD8)(val), base, offset)
diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
index 4c64fa4..aa62514 100644
--- a/hw/xfree86/os-support/linux/lnx_video.c
+++ b/hw/xfree86/os-support/linux/lnx_video.c
@@ -77,8 +77,6 @@ extern int iopl(int __level);
 
 extern void sethae(unsigned long hae);
 
-#  define isJensen (axpSystem == JENSEN)
-
 # define BUS_BASE bus_base
 
 #else 
@@ -97,10 +95,6 @@ static void unmapVidMem(int, pointer, unsigned long);
 static pointer mapVidMemSparse(int, unsigned long, unsigned long, int);
 extern axpDevice lnxGetAXP(void);
 static void unmapVidMemSparse(int, pointer, unsigned long);
-# if defined(JENSEN_SUPPORT)
-static pointer mapVidMemJensen(int, unsigned long, unsigned long, int);
-static void unmapVidMemJensen(int, pointer, unsigned long);
-# endif
 static axpDevice axpSystem = -1;
 static Bool needSparse;
 static unsigned long hae_thresh;
@@ -388,17 +382,7 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
 	  }
 	  bus_base = _bus_base();
 	}
-	if (isJensen) {
-# ifndef JENSEN_SUPPORT
-	  FatalError("Jensen is not supported any more\n"
-		     "If you are intereseted in fixing Jensen support\n"
-		     "please contact xorg at lists.freedesktop.org\n");
-# else
-	  xf86Msg(X_INFO,"Machine type is Jensen\n");
-	  pVidMem->mapMem = mapVidMemJensen;
-	  pVidMem->unmapMem = unmapVidMemJensen;
-# endif /* JENSEN_SUPPORT */
-	} else if (needSparse) {
+	if (needSparse) {
 	  xf86Msg(X_INFO,"Machine needs sparse mapping\n");
 	  pVidMem->mapMem = mapVidMemSparse;
 	  pVidMem->unmapMem = unmapVidMemSparse;
@@ -922,175 +906,4 @@ _X_EXPORT int  (*xf86ReadMmio16)(pointer Base, unsigned long Offset)
 _X_EXPORT int  (*xf86ReadMmio32)(pointer Base, unsigned long Offset)
      = readDense32;
 
-#ifdef JENSEN_SUPPORT
-
-static int
-readSparseJensen8(pointer Base, register unsigned long Offset);
-static int
-readSparseJensen16(pointer Base, register unsigned long Offset);
-static int
-readSparseJensen32(pointer Base, register unsigned long Offset);
-static void
-writeSparseJensen8(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparseJensen16(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparseJensen32(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparseJensenNB8(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparseJensenNB16(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparseJensenNB32(int Value, pointer Base, register unsigned long Offset);
-
-/*
- * The Jensen lacks dense memory, thus we have to address the bus via
- * the sparse addressing scheme.
- *
- * Martin Ostermann (ost at comnets.rwth-aachen.de) - Apr.-Sep. 1996
- */
-
-#ifdef TEST_JENSEN_CODE 
-#define SPARSE (5)
-#else
-#define SPARSE (7)
-#endif
-
-#define JENSEN_SHIFT(x) ((long)x<<SPARSE)
-
-static pointer
-mapVidMemJensen(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
-{
-  pointer base;
-  int fd, prot;
-
-  xf86WriteMmio8 = writeSparseJensen8;
-  xf86WriteMmio16 = writeSparseJensen16;
-  xf86WriteMmio32 = writeSparseJensen32;
-  xf86WriteMmioNB8 = writeSparseJensenNB8;
-  xf86WriteMmioNB16 = writeSparseJensenNB16;
-  xf86WriteMmioNB32 = writeSparseJensenNB32;
-  xf86ReadMmio8 = readSparseJensen8;
-  xf86ReadMmio16 = readSparseJensen16;
-  xf86ReadMmio32 = readSparseJensen32;
-
-  fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR);
-  if (fd < 0) {
-    FatalError("xf86MapVidMem: failed to open " DEV_MEM " (%s)\n",
-	       strerror(errno));
-  }
-
-  if (flags & VIDMEM_READONLY)
-    prot = PROT_READ;
-  else
-    prot = PROT_READ | PROT_WRITE;
-
-  /* This requires linux-0.99.pl10 or above */
-  base = mmap((caddr_t)0, JENSEN_SHIFT(Size),
-	      prot, MAP_SHARED, fd,
-	      (off_t)(JENSEN_SHIFT((off_t)Base) + _bus_base_sparse()));
-  close(fd);
-  if (base == MAP_FAILED) {
-    FatalError("xf86MapVidMem: Could not mmap framebuffer"
-	       " (0x%08x,0x%x) (%s)\n", Base, Size,
-	       strerror(errno));
-  }
-  return base;
-}
-
-static void
-unmapVidMemJensen(int ScreenNum, pointer Base, unsigned long Size)
-{
-  munmap((caddr_t)Base, JENSEN_SHIFT(Size));
-}
-
-static int
-readSparseJensen8(pointer Base, register unsigned long Offset)
-{
-    register unsigned long result, shift;
-
-    mem_barrier();
-    shift = (Offset & 0x3) << 3;
-
-    result = *(vuip) ((unsigned long)Base + (Offset << SPARSE));
-
-    result >>= shift;
-    return 0xffUL & result;
-}
-
-static int
-readSparseJensen16(pointer Base, register unsigned long Offset)
-{
-    register unsigned long result, shift;
-
-    mem_barrier();
-    shift = (Offset & 0x2) << 3;
-
-    result = *(vuip)((unsigned long)Base+(Offset<<SPARSE)+(1<<(SPARSE-2)));
-
-    result >>= shift;
-    return 0xffffUL & result;
-}
-
-static int
-readSparseJensen32(pointer Base, register unsigned long Offset)
-{
-    register unsigned long result;
-
-    mem_barrier();
-    result = *(vuip)((unsigned long)Base+(Offset<<SPARSE)+(3<<(SPARSE-2)));
-
-    return result;
-}
-
-static void
-writeSparseJensen8(int Value, pointer Base, register unsigned long Offset)
-{
-    register unsigned int b = Value & 0xffU;
-
-    write_mem_barrier();
-    *(vuip) ((unsigned long)Base + (Offset << SPARSE)) = b * 0x01010101;
-}
-
-static void
-writeSparseJensen16(int Value, pointer Base, register unsigned long Offset)
-{
-    register unsigned int w = Value & 0xffffU;
-
-    write_mem_barrier();
-    *(vuip)((unsigned long)Base+(Offset<<SPARSE)+(1<<(SPARSE-2))) =
-      w * 0x00010001;
-}
-
-static void
-writeSparseJensen32(int Value, pointer Base, register unsigned long Offset)
-{
-    write_mem_barrier();
-    *(vuip)((unsigned long)Base+(Offset<<SPARSE)+(3<<(SPARSE-2))) = Value;
-}
-
-static void
-writeSparseJensenNB8(int Value, pointer Base, register unsigned long Offset)
-{
-    register unsigned int b = Value & 0xffU;
-
-    *(vuip) ((unsigned long)Base + (Offset << SPARSE)) = b * 0x01010101;
-}
-
-static void
-writeSparseJensenNB16(int Value, pointer Base, register unsigned long Offset)
-{
-    register unsigned int w = Value & 0xffffU;
-
-    *(vuip)((unsigned long)Base+(Offset<<SPARSE)+(1<<(SPARSE-2))) =
-      w * 0x00010001;
-}
-
-static void
-writeSparseJensenNB32(int Value, pointer Base, register unsigned long Offset)
-{
-    *(vuip)((unsigned long)Base+(Offset<<SPARSE)+(3<<(SPARSE-2))) = Value;
-}
-#endif /* JENSEN_SUPPORT */
-
 #endif /* __alpha__ */
diff --git a/hw/xfree86/os-support/misc/BUSmemcpy.c b/hw/xfree86/os-support/misc/BUSmemcpy.c
index b482b86..0500bf6 100644
--- a/hw/xfree86/os-support/misc/BUSmemcpy.c
+++ b/hw/xfree86/os-support/misc/BUSmemcpy.c
@@ -26,233 +26,8 @@ Thanks to Linus Torvalds for contributing this code.
 
 #include "compiler.h"
 
-/*
- * The Jensen lacks dense memory, thus we have to address the bus via
- * the sparse addressing scheme. These routines are only used in s3im.c
- * Non time critical code uses SlowBCopy_{from/to} bus.
- *
- * Martin Ostermann (ost at comnets.rwth-aachen.de) - Apr.-Sep. 1996
- */
-
-#ifdef TEST_JENSEN_CODE /* define to test the Sparse addressing on a non-Jensen */
-#define LWORD_CODING (0x18)
-#define SPARSE (5)
-#else
 #define LWORD_CODING (0x60)
 #define SPARSE (7)
-#endif
-
-void
-xf86JensenMemToBus(char *Base, long dst, long src, int count)
-{
-    if( ((long)src^((long)dst)) & 3) {  
-                               /* src & dst are NOT aligned to each other */
-	unsigned long addr;
-	unsigned long low_word, high_word,last_read;
-	long  rm,loop;
-	unsigned long tmp,org,org2,mask,src_org,count_org;
-	
-	src_org=src;
-	count_org=count;
-    
-	/* add EISA longword coding and round off*/
-	addr = (long)(Base+(dst<<SPARSE) + LWORD_CODING) & ~(3<<SPARSE);
-	rm = (long)dst & 3;
-	count += rm;
-	
-	count = count_org + rm;
-	org = *(volatile unsigned int *)addr;
-	__asm__("ldq_u %0,%1"
-		:"=r" (low_word):"m" (*(unsigned long *)(src_org)));
-	src = src_org - rm;
-	if( count > 4  ) {
-	    last_read = src_org+count_org - 1;
-	    __asm__("ldq_u %0,%1"
-		    :"=r" (high_word):"m" (*(unsigned long *)(src+4)));
-	    __asm__("extll %1,%2,%0"
-		    :"=r" (low_word)
-		    :"r" (low_word), "r" ((unsigned long)(src)));
-	    __asm__("extlh %1,%2,%0"
-		    :"=r" (tmp)
-		    :"r" (high_word), "r" ((unsigned long)(src)));
-	    tmp |= low_word;
-	    src += 4;
-	    __asm__("mskqh %1,%2,%0"
-		    :"=r" (tmp)
-		    :"r" (tmp), "r" (rm));
-	    __asm__("mskql %1,%2,%0"
-		    :"=r" (org2)
-		    :"r" (org), "r" (rm));
-	    tmp |= org2;
-      
-	    loop = (count-4) >> 2; /* loop eqv. count>=4 ; count -= 4 */
-	    while (loop) {
-                     /* tmp to be stored completly -- need to read next word*/
-		low_word = high_word;
-		*(volatile unsigned int *) (addr) = tmp;
-		__asm__("ldq_u %0,%1"
-			:"=r" (high_word):"m" (*(unsigned long*)(src+4)));
-		loop --;
-		__asm__("extll %1,%2,%0"
-			:"=r" (low_word)
-			:"r" (low_word), "r" ((unsigned long)src));
-		__asm__("extlh %1,%2,%0"
-			:"=r" (tmp)
-			:"r" (high_word), "r" ((unsigned long)src));
-		src += 4;
-		tmp |= low_word;
-		addr += 4<<SPARSE;
-	    }
-	    if ( count & 3 ) {
-                     /* Store tmp completly, and possibly read one more word.*/
-		*(volatile unsigned int *) (addr) = tmp;
-		__asm__("ldq_u %0,%1"
-			:"=r" (tmp):"m" (*((unsigned long *)(last_read)) ));
-		addr += 4<<SPARSE;
-		__asm__("extll %1,%2,%0"
-			:"=r" (low_word)
-			:"r" (high_word), "r" ((unsigned long)src));
-		__asm__("extlh %1,%2,%0"
-			:"=r" (tmp)
-			:"r" (tmp), "r" ((unsigned long)src));
-		tmp |= low_word;
-		org = *(volatile unsigned int *)addr;
-		
-		__asm__("mskql %1,%2,%0"
-			:"=r" (tmp)
-			:"r" (tmp), "r" (count&3));
-		__asm__("mskqh %1,%2,%0"
-			:"=r" (org)
-			:"r" (org), "r" (count&3));
-		
-		tmp |= org;
-	    } 
-	    *(volatile unsigned int *) (addr) = tmp;
-	    return;
-	} else {         /* count > 4  */
-	    __asm__("ldq_u %0,%1"
-		    :"=r" (high_word):"m" (*(unsigned long *)(src+4)));
-	    __asm__("extll %1,%2,%0"
-		    :"=r" (low_word)
-		    :"r" (low_word), "r" ((unsigned long)(src)));
-	    __asm__("extlh %1,%2,%0"
-		    :"=r" (tmp)
-		    :"r" (high_word), "r" ((unsigned long)(src)));
-	    tmp |= low_word;
-	    if( count < 4 ) {
-		
-		mask = -1;
-		__asm__("mskqh %1,%2,%0"
-			:"=r" (mask)
-			:"r" (mask), "r" (rm));
-		__asm__("mskql %1,%2,%0"
-			:"=r" (mask)
-			:"r" (mask), "r" (count));
-		tmp = (tmp & mask) | (org & ~mask);
-		*(volatile unsigned int *) (addr) = tmp;
-		return;
-	    }  else {
-		__asm__("mskqh %1,%2,%0"
-			:"=r" (tmp)
-			:"r" (tmp), "r" (rm));
-		__asm__("mskql %1,%2,%0"
-			:"=r" (org2)
-			:"r" (org), "r" (rm));
-		
-		tmp |= org2;
-		*(volatile unsigned int *) (addr) = tmp;
-		return;
-	    }
-	}
-    } else {          /* src & dst are aligned to each other */
-	unsigned long addr;
-	unsigned int tmp,org,rm;
-	unsigned int *src_r;
-	
-	/* add EISA longword coding and round off*/
-	addr = (long)(Base+(dst<<SPARSE) + LWORD_CODING) & ~(3<<SPARSE);
-	
-	src_r = (unsigned int*)((long)src & ~3L);
-	rm=(long)src & 3;
-	count += rm;
-	
-	tmp = *src_r;
-	org = *(volatile unsigned int *)addr;
-	
-	__asm__("mskqh %1,%2,%0"
-		:"=r" (tmp)
-		:"r" (tmp), "r" (rm));
-	__asm__("mskql %1,%2,%0"
-		:"=r" (org)
-		:"r" (org), "r" (rm));
-	
-	tmp |= org;
-	
-	while (count > 4) {
-	    *(volatile unsigned int *) addr = tmp;
-	    addr += 4<<SPARSE;
-	    src_r += 1;
-	    tmp = *src_r;
-	    count -= 4;
-	}
-	
-	org = *(volatile unsigned int *)addr;
-	__asm__("mskql %1,%2,%0"
-		:"=r" (tmp)
-		:"r" (tmp), "r" (count));
-	__asm__("mskqh %1,%2,%0"
-		:"=r" (org)
-		:"r" (org), "r" (count));
-	tmp |= org;
-	*(volatile unsigned int *) (addr) = tmp;
-    }
-}
-
-void
-xf86JensenBusToMem(char *Base, char *dst, unsigned long src, int count)
-{
-#if 0
-  /* Optimization of BusToMem() is left as an exercise to the reader ;-)    
-   * Consider that ldq_u/extlh/extll won't work because of the bus being
-   * only 4 bytes wide! 
-   */
-#else
-  unsigned long addr;
-  long result;
-
-  addr = (unsigned long)(Base+(src<<SPARSE)) ;
-  while( addr & (3<<SPARSE) ){
-    if(count <= 0) return;
-    result = *(volatile int *) addr;
-    result >>= ((addr>>SPARSE) & 3) * 8;
-    *dst++ = (char) result;
-    addr += 1<<SPARSE;
-    count--;
-  }
-  count -=4;
-  while(count >= 0){
-    int i;
-
-    result = *(volatile int *) (addr+LWORD_CODING);
-    for(i=4;i--;) {
-      *dst++ = (char) result;
-      result >>= 8;
-    }
-    addr += 4<<SPARSE;
-    count -= 4;
-  }
-  count +=4;
-  
-  while( count ){
-    result = *(volatile int *) addr;
-    result >>= ((addr>>SPARSE) & 3) * 8;
-    *dst++ = (char) result;
-    addr += 1<<SPARSE;
-    count--;
-  }
-#endif  
-}
-
 
 static unsigned long __memcpy(unsigned long dest, unsigned long src, int n);
 
diff --git a/hw/xfree86/os-support/misc/SlowBcopy.c b/hw/xfree86/os-support/misc/SlowBcopy.c
index 7c51fcc..be69b9d 100644
--- a/hw/xfree86/os-support/misc/SlowBcopy.c
+++ b/hw/xfree86/os-support/misc/SlowBcopy.c
@@ -56,29 +56,13 @@ xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
 }
 
 #ifdef __alpha__
-/*
- * The Jensen lacks dense memory, thus we have to address the bus via
- * the sparse addressing scheme. Time critical code uses routines from
- * BUSmemcpy.c
- *
- * Martin Ostermann (ost at comnets.rwth-aachen.de) - Apr.-Sep. 1996
- */
 
 #ifdef linux
 
-unsigned long _bus_base(void);
-
-#ifdef TEST_JENSEN_CODE /* define to test the Sparse addressing on a non-Jensen */
-#define SPARSE (5)
-#else
 #define SPARSE (7)
-#endif
-
-#define isJensen() (!_bus_base())
 
 #else
 
-#define isJensen() 0
 #define SPARSE 0
 
 #endif
@@ -86,42 +70,32 @@ unsigned long _bus_base(void);
 _X_EXPORT void
 xf86SlowBCopyFromBus(unsigned char *src, unsigned char *dst, int count)
 {
-    if (isJensen())
-    {
-	unsigned long addr;
-	long result;
-
-	addr = (unsigned long) src;
-	while( count ){
-	    result = *(volatile int *) addr;
-	    result >>= ((addr>>SPARSE) & 3) * 8;
-	    *dst++ = (unsigned char) (0xffUL & result);
-	    addr += 1<<SPARSE;
-	    count--;
-	    outb(0x80, 0x00);
-	}
+    unsigned long addr;
+    long result;
+
+    addr = (unsigned long) src;
+    while( count ){
+	result = *(volatile int *) addr;
+	result >>= ((addr>>SPARSE) & 3) * 8;
+	*dst++ = (unsigned char) (0xffUL & result);
+	addr += 1<<SPARSE;
+	count--;
+	outb(0x80, 0x00);
     }
-    else
-	xf86SlowBcopy(src,dst,count);
 }
   
 _X_EXPORT void
 xf86SlowBCopyToBus(unsigned char *src, unsigned char *dst, int count)
 {
-    if (isJensen())
-    {
-	unsigned long addr;
-
-	addr = (unsigned long) dst;
-	while(count) {
-	    *(volatile unsigned int *) addr = (unsigned short)(*src) * 0x01010101;
-	    src++;
-	    addr += 1<<SPARSE;
-	    count--;
-	    outb(0x80, 0x00);
-	}
+    unsigned long addr;
+
+    addr = (unsigned long) dst;
+    while(count) {
+	*(volatile unsigned int *) addr = (unsigned short)(*src) * 0x01010101;
+	src++;
+	addr += 1<<SPARSE;
+	count--;
+	outb(0x80, 0x00);
     }
-    else
-	xf86SlowBcopy(src,dst,count);    
 }
 #endif
diff --git a/hw/xfree86/os-support/shared/bios_mmap.c b/hw/xfree86/os-support/shared/bios_mmap.c
index 8bac87e..0c368e7 100644
--- a/hw/xfree86/os-support/shared/bios_mmap.c
+++ b/hw/xfree86/os-support/shared/bios_mmap.c
@@ -91,33 +91,15 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
    *  re: boundaries and sizes and such...
    */
 
-/*
- * The Jensen lacks dense memory, thus we have to address the bus via
- * the sparse addressing scheme.
- *
- * Martin Ostermann (ost at comnets.rwth-aachen.de) - Apr.-Sep. 1996
- */
-
 #ifdef linux
 
-#ifdef TEST_JENSEN_CODE /* define to test the Sparse addressing on a non-Jensen */
-#define SPARSE (5)
-#define isJensen (1)
-#else
-#define isJensen (!_bus_base())
-#define SPARSE (7)
-#endif
-
 extern unsigned long _bus_base(void);
-extern unsigned long _bus_base_sparse(void);
-#define BUS_BASE (isJensen ? _bus_base_sparse() : _bus_base())
-#define JENSEN_SHIFT(x) (isJensen ? ((long)x<<SPARSE) : (long)x)
+#define BUS_BASE _bus_base()
 
 #else
 
 extern u_int64_t dense_base(void);
 #define BUS_BASE dense_base()
-#define JENSEN_SHIFT(x) ((long) x)
 
 #endif
 
@@ -141,8 +123,8 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
 	Offset += Base & (psize - 1);
 	Base &= ~(psize - 1);
 	mlen = (Offset + Len + psize - 1) & ~(psize - 1);
-	base = mmap((caddr_t)0, JENSEN_SHIFT(mlen), PROT_READ,
-		    MAP_SHARED, fd, (off_t)(JENSEN_SHIFT(Base) + BUS_BASE));
+	base = mmap((caddr_t)0, mlen, PROT_READ,
+		    MAP_SHARED, fd, (off_t)(Base + BUS_BASE));
 
 	if (base == MAP_FAILED)
 	{
@@ -151,10 +133,9 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
 		return(-1);
 	}
 
-	xf86SlowBCopyFromBus((unsigned char *)(base+JENSEN_SHIFT(Offset)), 
-								    Buf, Len);
+	xf86SlowBCopyFromBus((unsigned char *)(base+Offset), Buf, Len);
 
-	munmap((caddr_t)JENSEN_SHIFT(base), JENSEN_SHIFT(mlen));
+	munmap((caddr_t)base, mlen);
 	close(fd);
 	return(Len);
 }
commit df14682a31b92751091571ed82f6095f55f19cca
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 22:48:51 2008 -0400

    Bus: Remove ISA support.
    
    No, really.  PCI is old enough to drive now.  If you want this, get the kernel
    to expose a framebuffer device.

diff --git a/hw/xfree86/common/Makefile.am b/hw/xfree86/common/Makefile.am
index 06d53c1..d3202bc 100644
--- a/hw/xfree86/common/Makefile.am
+++ b/hw/xfree86/common/Makefile.am
@@ -14,7 +14,7 @@ XISOURCES = xf86Xinput.c xisb.c
 XISDKINCS = xf86Xinput.h xisb.h
 RANDRSOURCES = xf86RandR.c
 
-BUSSOURCES = xf86isaBus.c xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES)
+BUSSOURCES = xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES)
 
 MODEDEFSOURCES = $(srcdir)/vesamodes $(srcdir)/extramodes
 
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index 4432c55..e1f1b70 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -66,7 +66,6 @@ extern ScrnInfoPtr *xf86Screens;	/* List of pointers to ScrnInfoRecs */
 extern const unsigned char byte_reversed[256];
 extern ScrnInfoPtr xf86CurrentScreen;
 extern Bool pciSlotClaimed;
-extern Bool isaSlotClaimed;
 extern Bool fbSlotClaimed;
 #if defined(__sparc__) || defined(__sparc)
 extern Bool sbusSlotClaimed;
@@ -103,16 +102,12 @@ Bool xf86ParsePciBusString(const char *busID, int *bus, int *device,
 Bool xf86ComparePciBusString(const char *busID, int bus, int device, int func);
 void xf86FormatPciBusNumber(int busnum, char *buffer);
 resPtr xf86AddRangesToList(resPtr list, resRange *pRange, int entityIndex);
-int xf86ClaimIsaSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
-int xf86GetIsaInfoForScreen(int scrnIndex);
 int  xf86GetFbInfoForScreen(int scrnIndex);
-Bool xf86ParseIsaBusString(const char *busID);
 int xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
 int xf86ClaimNoSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
 void xf86EnableAccess(ScrnInfoPtr pScrn);
 void xf86SetCurrentAccess(Bool Enable, ScrnInfoPtr pScrn);
 Bool xf86IsPrimaryPci(struct pci_device * pPci);
-Bool xf86IsPrimaryIsa(void);
 /* new RAC */
 resPtr xf86AddResToList(resPtr rlist, resRange *Range, int entityIndex);
 void xf86FreeResList(resPtr rlist);
@@ -159,8 +154,6 @@ DevUnion *xf86GetEntityPrivate(int entityIndex, int privIndex);
 /* xf86Configure.c */
 GDevPtr xf86AddBusDeviceToConfigure(const char *driver, BusType bus,
 				    void *busData, int chipset);
-GDevPtr xf86AddDeviceToConfigure( const char *driver,
-    struct pci_device * pVideo, int chipset );
 
 /* xf86Cursor.c */
 
@@ -243,10 +236,6 @@ int xf86MatchPciInstances(const char *driverName, int vendorID,
 		      SymTabPtr chipsets, PciChipsets *PCIchipsets,
 		      GDevPtr *devList, int numDevs, DriverPtr drvp,
 		      int **foundEntities);
-int xf86MatchIsaInstances(const char *driverName, SymTabPtr chipsets,
-			  IsaChipsets *ISAchipsets, DriverPtr drvp,
-			  FindIsaDevProc FindIsaDevice, GDevPtr *devList,
-			  int numDevs, int **foundEntities);
 void xf86GetClocks(ScrnInfoPtr pScrn, int num,
 		   Bool (*ClockFunc)(ScrnInfoPtr, int),
 		   void (*ProtectRegs)(ScrnInfoPtr, Bool),
@@ -297,11 +286,6 @@ ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag,
 				resList res, EntityProc init,
 				EntityProc enter, EntityProc leave,
 				pointer private);
-ScrnInfoPtr xf86ConfigIsaEntity(ScrnInfoPtr pScrn, int scrnFlag,
-				int entityIndex, IsaChipsets *i_chip,
-				resList res, EntityProc init,
-				EntityProc enter, EntityProc leave,
-				pointer private);
 ScrnInfoPtr xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag,
 			       int entityIndex, EntityProc init,
 			       EntityProc enter, EntityProc leave,
@@ -313,19 +297,10 @@ Bool xf86ConfigActivePciEntity(ScrnInfoPtr pScrn,
 				EntityProc enter, EntityProc leave,
 				pointer private);
 /* Obsolete! don't use */
-Bool xf86ConfigActiveIsaEntity(ScrnInfoPtr pScrn,
-				int entityIndex, IsaChipsets *i_chip,
-				resList res, EntityProc init,
-				EntityProc enter, EntityProc leave,
-				pointer private);
 void xf86ConfigPciEntityInactive(EntityInfoPtr pEnt, PciChipsets *p_chip,
 				 resList res, EntityProc init,
 				 EntityProc enter, EntityProc leave,
 				 pointer private);
-void xf86ConfigIsaEntityInactive(EntityInfoPtr pEnt, IsaChipsets *i_chip,
-				 resList res, EntityProc init,
-				 EntityProc enter, EntityProc leave,
-				 pointer private);
 void xf86ConfigFbEntityInactive(EntityInfoPtr pEnt, EntityProc init,
 				EntityProc enter, EntityProc leave,
 				pointer private);
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index e297d1e..3236b5a 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -135,8 +135,6 @@ StringToBusType(const char* busID, const char **retID)
     }
     if (!xf86NameCmp(p, "pci") || !xf86NameCmp(p, "agp"))
 	ret = BUS_PCI; 
-    if (!xf86NameCmp(p, "isa"))
-	ret = BUS_ISA;
     if (!xf86NameCmp(p, "sbus"))
 	ret = BUS_SBUS;
     if (ret != BUS_NONE)
@@ -226,8 +224,6 @@ xf86IsEntityPrimary(int entityIndex)
     switch (pEnt->busType) {
     case BUS_PCI:
 	return (pEnt->bus.id.pci == primaryBus.id.pci);
-    case BUS_ISA:
-	return TRUE;
     case BUS_SBUS:
 	return (pEnt->sbusBusId.fbNum == primaryBus.id.sbus.fbNum);
     default:
@@ -1009,33 +1005,10 @@ needCheck(resPtr pRes, unsigned long type, int entityIndex, xf86State state)
     if (pRes->entityIndex > -1)
 	r_loc = xf86Entities[pRes->entityIndex]->busType;
 
-    switch (type & ResAccMask) {
-    case ResExclusive:
-	switch (pRes->res_type & ResAccMask) {
-	case ResExclusive:
-	    break;
-	case ResShared:
-	    /* ISA buses are only locally exclusive on a PCI system */
-	    if (loc == BUS_ISA && r_loc == BUS_PCI)
-		return FALSE;
-	    break;
-	}
-	break;
-    case ResShared:
-	switch (pRes->res_type & ResAccMask) {
-	case ResExclusive:
-	    /* ISA buses are only locally exclusive on a PCI system */
-	    if (loc == BUS_PCI && r_loc == BUS_ISA) 
-		return FALSE;
-	    break;
-	case ResShared:
-	    return FALSE;
-	}
-	break;
-    case ResAny:
-	break;
-    }
-    
+    if ((type & ResAccMask == ResShared) &&
+	(pRes->res_type & ResAccMask) == ResShared)
+	return FALSE;
+
     if (pRes->entityIndex == entityIndex) return FALSE;
 
     if (pRes->entityIndex > -1 &&
@@ -1384,7 +1357,6 @@ busTypeSpecific(EntityPtr pEnt, xf86AccessPtr *acc_mem,
 		xf86AccessPtr *acc_io, xf86AccessPtr *acc_mem_io)
 {
     switch (pEnt->bus.type) {
-    case BUS_ISA:
     case BUS_SBUS:
 	*acc_mem = *acc_io = *acc_mem_io = &AccessNULL;
 	break;
@@ -1853,7 +1825,7 @@ xf86PostProbe(void)
     resPtr resp, acc, tmp, resp_x;
 
     if (fbSlotClaimed) {
-        if (pciSlotClaimed || isaSlotClaimed 
+        if (pciSlotClaimed
 #if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
 	    || sbusSlotClaimed
 #endif
@@ -2409,10 +2381,6 @@ xf86FindPrimaryDevice()
 		     primaryBus.id.pci->dev,
 		     primaryBus.id.pci->func);
 	    break;
-	case BUS_ISA:
-	    bus = "ISA";
-	    loc[0] = '\0';
-	    break;
 	case BUS_SBUS:
 	    bus = "SBUS";
 	    snprintf(loc, sizeof(loc), " %2.2x", primaryBus.id.sbus.fbNum);
diff --git a/hw/xfree86/common/xf86Configure.c b/hw/xfree86/common/xf86Configure.c
index b4ec729..8700496 100644
--- a/hw/xfree86/common/xf86Configure.c
+++ b/hw/xfree86/common/xf86Configure.c
@@ -115,18 +115,6 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int
 		return NULL;
 	isPrimary = xf86IsPrimaryPci(pVideo);
 	break;
-    case BUS_ISA:
-	/*
-	 * This needs to be revisited as it doesn't allow for non-PCI
-	 * multihead.
-	 */
-	if (!xf86IsPrimaryIsa())
-	    return NULL;
-	isPrimary = TRUE;
-	for (i = 0;  i < nDevToConfig;  i++)
-	    if (!DevToConfig[i].pVideo)
-		return NULL;
-	break;
 #if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
     case BUS_SBUS:
 	for (i = 0;  i < nDevToConfig;  i++)
@@ -202,10 +190,6 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int
 	    chipset = (pVideo->vendor_id << 16) | pVideo->device_id;
 	}
 	break;
-    case BUS_ISA:
-	NewDevice.GDev.identifier = "ISA Adapter";
-	NewDevice.GDev.busID = "ISA";
-	break;
 #if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
     case BUS_SBUS: {
 	char *promPath = NULL;
@@ -241,17 +225,6 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int
 #   undef NewDevice
 }
 
-/*
- * Backwards compatibility
- */
-_X_EXPORT GDevPtr
-xf86AddDeviceToConfigure(const char *driver, struct pci_device * pVideo, 
-			 int chipset)
-{
-    return xf86AddBusDeviceToConfigure(driver, pVideo ? BUS_PCI : BUS_ISA,
-				       pVideo, chipset);
-}
-
 static XF86ConfInputPtr
 configureInputSection (void)
 {
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 3e23164..e0c9415 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1683,8 +1683,8 @@ xf86MatchPciInstances(const char *driverName, int vendorID,
 		    if ( xf86DoConfigure && xf86DoConfigurePass1 ) {
 			if (xf86CheckPciSlot(pPci)) {
 			    GDevPtr pGDev = 
-			      xf86AddDeviceToConfigure(drvp->driverName,
-						       pPci, -1);
+			      xf86AddBusDeviceToConfigure(drvp->driverName,
+							  BUS_PCI, pPci, -1);
 			    if (pGDev) {
 				/* After configure pass 1, chipID and chipRev
 				 * are treated as over-rides, so clobber them
@@ -1953,108 +1953,6 @@ xf86MatchPciInstances(const char *driverName, int vendorID,
     return numFound;
 }
 
-_X_EXPORT int
-xf86MatchIsaInstances(const char *driverName, SymTabPtr chipsets,
-		      IsaChipsets *ISAchipsets, DriverPtr drvp,
-		      FindIsaDevProc FindIsaDevice, GDevPtr *devList,
-		      int numDevs, int **foundEntities)
-{
-    SymTabRec *c;
-    IsaChipsets *Chips;
-    int i;
-    int numFound = 0;
-    int foundChip = -1;
-    int *retEntities = NULL;
-
-    *foundEntities = NULL;
-
-#if defined(__sparc__) || defined(__powerpc__)
-    FindIsaDevice = NULL;	/* Temporary */
-#endif
-
-    if (xf86DoProbe || (xf86DoConfigure && xf86DoConfigurePass1)) {
-	if (FindIsaDevice &&
-	    ((foundChip = (*FindIsaDevice)(NULL)) != -1)) {
-	    xf86AddDeviceToConfigure(drvp->driverName, NULL, foundChip);
-	    return 1;
-	}
-	return 0;
-    }
-
-    for (i = 0; i < numDevs; i++) {
-	MessageType from = X_CONFIG;
-	GDevPtr dev = NULL;
-	GDevPtr devBus = NULL;
-
-	if (devList[i]->busID && *devList[i]->busID) {
-	    if (xf86ParseIsaBusString(devList[i]->busID)) {
-		if (devBus) xf86MsgVerb(X_WARNING,0,
-					"%s: More than one matching Device "
-					"section for ISA-Bus found: %s\n",
-					driverName,devList[i]->identifier);
-		else devBus = devList[i];
-	    }
-	} else {
-	    if (xf86IsPrimaryIsa()) {
-		if (dev) xf86MsgVerb(X_WARNING,0,
-				     "%s: More than one matching "
-				     "Device section found: %s\n",
-				     driverName,devList[i]->identifier);
-		else dev = devList[i];
-	    }
-	}
-	if (devBus) dev = devBus;
-	if (dev) {
-	    if (dev->chipset) {
-		for (c = chipsets; c->token >= 0; c++) {
-		    if (xf86NameCmp(c->name, dev->chipset) == 0)
-			break;
-		}
-		if (c->token == -1) {
-		    xf86MsgVerb(X_WARNING, 0, "%s: Chipset \"%s\" in Device "
-				"section \"%s\" isn't valid for this driver\n",
-				driverName, dev->chipset,
-				dev->identifier);
-		} else
-		    foundChip = c->token;
-	    } else {
-		if (FindIsaDevice) foundChip = (*FindIsaDevice)(dev);
-                                                        /* Probe it */
-		from = X_PROBED;
-	    }
-	}
-	
-	/* Check if the chip type is listed in the chipset table - for sanity*/
-
-	if (foundChip >= 0){
-	    for (Chips = ISAchipsets; Chips->numChipset >= 0; Chips++) {
-		if (Chips->numChipset == foundChip)
-		    break;
-	    }
-	    if (Chips->numChipset == -1){
-		foundChip = -1;
-		xf86MsgVerb(X_WARNING,0,
-			    "%s: Driver detected unknown ISA-Bus Chipset\n",
-			    driverName);
-	    }
-	}
-	if (foundChip != -1) {
-	    numFound++;
-	    retEntities = xnfrealloc(retEntities,numFound * sizeof(int));
-	    retEntities[numFound - 1] =
-	    xf86ClaimIsaSlot(drvp,foundChip,dev, dev->active ? TRUE : FALSE);
-	    for (c = chipsets; c->token >= 0; c++) {
-		if (c->token == foundChip)
-		    break;
-	    }
-	    xf86Msg(from, "Chipset %s found\n", c->name);
-	}
-    }
-    *foundEntities = retEntities;
-
-    return numFound;
-}
-
 /*
  * xf86GetClocks -- get the dot-clocks via a BIG BAD hack ...
  */
@@ -2557,49 +2455,6 @@ xf86FindXvOptions(int scrnIndex, int adaptor_index, char *port_name,
 #include "loader/os.c"
 
 /* new RAC */
-/*
- * xf86ConfigIsa/PciEntity() -- These helper functions assign an
- * active entity to a screen, registers its fixed resources, assign
- * special enter/leave functions and their private scratch area to
- * this entity, take the dog for a walk...
- */
-_X_EXPORT ScrnInfoPtr
-xf86ConfigIsaEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
-			  IsaChipsets *i_chip, resList res, EntityProc init,
-			  EntityProc enter, EntityProc leave, pointer private)
-{
-    IsaChipsets *i_id;
-    EntityInfoPtr pEnt = xf86GetEntityInfo(entityIndex);
-    if (!pEnt) return pScrn;
-
-    if (!(pEnt->location.type == BUS_ISA)) {
-	xfree(pEnt);
-	return pScrn;
-    }
-
-    if (!pEnt->active) {
-	xf86ConfigIsaEntityInactive(pEnt, i_chip, res, init,  enter,
-				    leave,  private);
-	xfree(pEnt);
-	return pScrn;
-    }
-
-    if (!pScrn)
-	pScrn = xf86AllocateScreen(pEnt->driver,scrnFlag);
-    xf86AddEntityToScreen(pScrn,entityIndex);
-
-    if (i_chip) {
-	for (i_id = i_chip; i_id->numChipset != -1; i_id++) {
-	    if (pEnt->chipset == i_id->numChipset) break;
-	}
-	xf86ClaimFixedResources(i_id->resList,entityIndex);
-    }
-    xfree(pEnt);
-    xf86ClaimFixedResources(res,entityIndex);
-    xf86SetEntityFuncs(entityIndex,init,enter,leave,private);
-
-    return pScrn;
-}
 
 _X_EXPORT ScrnInfoPtr
 xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
@@ -2675,39 +2530,9 @@ xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
 
 /*
  *
- *  OBSOLETE ! xf86ConfigActiveIsaEntity() and xf86ConfigActivePciEntity()
- *             are obsolete functions. They the are likely to be removed
- *             Don't use!
+ *  OBSOLETE ! xf86ConfigActivePciEntity() is an obsolete functions.
+ *	       They the are likely to be removed. Don't use!
  */
-_X_EXPORT Bool
-xf86ConfigActiveIsaEntity(ScrnInfoPtr pScrn, int entityIndex,
-                          IsaChipsets *i_chip, resList res, EntityProc init,
-                          EntityProc enter, EntityProc leave, pointer private)
-{
-    IsaChipsets *i_id;
-    EntityInfoPtr pEnt = xf86GetEntityInfo(entityIndex);
-    if (!pEnt) return FALSE;
-
-    if (!pEnt->active || !(pEnt->location.type == BUS_ISA)) {
-        xfree(pEnt);
-        return FALSE;
-    }
-
-    xf86AddEntityToScreen(pScrn,entityIndex);
-
-    if (i_chip) {
-        for (i_id = i_chip; i_id->numChipset != -1; i_id++) {
-            if (pEnt->chipset == i_id->numChipset) break;
-        }
-        xf86ClaimFixedResources(i_id->resList,entityIndex);
-    }
-    xfree(pEnt);
-    xf86ClaimFixedResources(res,entityIndex);
-    if (!xf86SetEntityFuncs(entityIndex,init,enter,leave,private))
-        return FALSE;
-
-    return TRUE;
-}
 
 _X_EXPORT Bool
 xf86ConfigActivePciEntity(ScrnInfoPtr pScrn, int entityIndex,
@@ -2740,10 +2565,10 @@ xf86ConfigActivePciEntity(ScrnInfoPtr pScrn, int entityIndex,
 }
 
 /*
- * xf86ConfigPci/IsaEntityInactive() -- These functions can be used
+ * xf86ConfigPciEntityInactive() -- This functions can be used
  * to configure an inactive entity as well as to reconfigure an
  * previously active entity inactive. If the entity has been
- * assigned to a screen before it will be removed. If p_pci(p_isa) is
+ * assigned to a screen before it will be removed. If p_pci is
  * non-NULL all static resources listed there will be registered.
  */
 _X_EXPORT void
@@ -2768,28 +2593,6 @@ xf86ConfigPciEntityInactive(EntityInfoPtr pEnt, PciChipsets *p_chip,
     xf86SetEntityFuncs(pEnt->index,init,enter,leave,private);
 }
 
-_X_EXPORT void
-xf86ConfigIsaEntityInactive(EntityInfoPtr pEnt, IsaChipsets *i_chip,
-			    resList res, EntityProc init, EntityProc enter,
-			    EntityProc leave, pointer private)
-{
-    IsaChipsets *i_id;
-    ScrnInfoPtr pScrn;
-
-    if ((pScrn = xf86FindScreenForEntity(pEnt->index)))
-	xf86RemoveEntityFromScreen(pScrn,pEnt->index);
-    else if (i_chip) {
-	for (i_id = i_chip; i_id->numChipset != -1; i_id++) {
-	    if (pEnt->chipset == i_id->numChipset) break;
-	}
-	xf86ClaimFixedResources(i_id->resList,pEnt->index);
-    }
-    xf86ClaimFixedResources(res,pEnt->index);
-    /* shared resources are only needed when entity is active: remove */
-    xf86DeallocateResourcesForEntity(pEnt->index, ResShared);
-    xf86SetEntityFuncs(pEnt->index,init,enter,leave,private);
-}
-
 void
 xf86ConfigFbEntityInactive(EntityInfoPtr pEnt, EntityProc init,
 			   EntityProc enter, EntityProc leave, pointer private)
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index c35cb2c..a052247 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -548,8 +548,8 @@ add_matching_devices_to_configure_list(DriverPtr drvp)
 		 && ((devices[j].device_class_mask & pPci->device_class)
 		     == devices[j].device_class) ) {
 		if (xf86CheckPciSlot(pPci)) {
-		    GDevPtr pGDev =
-		      xf86AddDeviceToConfigure(drvp->driverName, pPci, -1);
+		    GDevPtr pGDev = xf86AddBusDeviceToConfigure(
+					drvp->driverName, BUS_PCI, pPci, -1);
 		    if (pGDev != NULL) {
 			/* After configure pass 1, chipID and chipRev are
 			 * treated as over-rides, so clobber them here.
diff --git a/hw/xfree86/common/xf86isaBus.c b/hw/xfree86/common/xf86isaBus.c
deleted file mode 100644
index cc94de4..0000000
--- a/hw/xfree86/common/xf86isaBus.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997-2000 by The XFree86 Project, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name of the copyright holder(s)
- * and author(s) shall not be used in advertising or otherwise to promote
- * the sale, use or other dealings in this Software without prior written
- * authorization from the copyright holder(s) and author(s).
- */
-
-
-/*
- * This file contains the interfaces to the bus-specific code
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <X11/X.h>
-#include "os.h"
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86Resources.h"
-
-#include "xf86Bus.h"
-
-#define XF86_OS_PRIVS
-#define NEED_OS_RAC_PROTOS
-#include "xf86_OSproc.h"
-
-#include "xf86RAC.h"
-
-Bool isaSlotClaimed = FALSE;
-
-/*
- * If the slot requested is already in use, return FALSE.
- * Otherwise, claim the slot for the screen requesting it.
- */
-
-_X_EXPORT int
-xf86ClaimIsaSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active)
-{
-    EntityPtr p;
-    BusAccPtr pbap = xf86BusAccInfo;
-    int num;
-    
-    num = xf86AllocateEntity();
-    p = xf86Entities[num];
-    p->driver = drvp;
-    p->chipset = chipset;
-    p->busType = BUS_ISA;
-    p->active = active;
-    p->inUse = FALSE;
-    xf86AddDevToEntity(num, dev);
-    p->access = xnfcalloc(1,sizeof(EntityAccessRec));
-    p->access->fallback = &AccessNULL;
-    p->access->pAccess = &AccessNULL;
-    p->busAcc = NULL;
-    while (pbap) {
-	if (pbap->type == BUS_ISA)
-	    p->busAcc = pbap;
-	pbap = pbap->next;
-    }
-    isaSlotClaimed = TRUE;
-    return num;
-}
-
-/*
- * Get the list of ISA "slots" claimed by a screen
- *
- * Note: The ISA implementation here assumes that only one ISA "slot" type
- * can be claimed by any one screen.  That means a return value other than
- * 0 or 1 isn't useful.
- */
-int
-xf86GetIsaInfoForScreen(int scrnIndex)
-{
-    int num = 0;
-    int i;
-    EntityPtr p;
-    
-    for (i = 0; i < xf86Screens[scrnIndex]->numEntities; i++) {
-	p = xf86Entities[xf86Screens[scrnIndex]->entityList[i]];
-  	if (p->busType == BUS_ISA) {
-  	    num++;
-  	}
-    }
-    return num;
-}
-
-/*
- * Parse a BUS ID string, and return True if it is a ISA bus id.
- */
-
-_X_EXPORT Bool
-xf86ParseIsaBusString(const char *busID)
-{
-    /*
-     * The format assumed to be "isa" or "isa:"
-     */
-    return (StringToBusType(busID,NULL) == BUS_ISA);
-}
-
-
-/*
- * xf86IsPrimaryIsa() -- return TRUE if primary device
- * is ISA.
- */
- 
-_X_EXPORT Bool
-xf86IsPrimaryIsa(void)
-{
-    return ( primaryBus.type == BUS_ISA );
-}
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index d5ae75b..b6ec4ad 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -564,11 +564,6 @@ initPciBusState(void)
 	    pbap->disable_f = pciBusAccessDisable;
 	    savePciBusState(pbap);
 	    break;
-	case PCI_SUBCLASS_BRIDGE_ISA:
-	case PCI_SUBCLASS_BRIDGE_EISA:
-	case PCI_SUBCLASS_BRIDGE_MC:
-	    pbap->type = BUS_ISA;
-	    break;
 	}
 	pbap->next = xf86BusAccInfo;
 	xf86BusAccInfo = pbap;
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index 32e0d95..904c369 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -383,17 +383,12 @@ typedef enum {
 struct pci_device;
 
 typedef struct {
-    unsigned int dummy;
-} IsaBusId;
-
-typedef struct {
     int		fbNum;
 } SbusBusId;
 
 typedef struct _bus {
     BusType type;
     union {
-	IsaBusId isa;
 	struct pci_device *pci;
 	SbusBusId sbus;
     } id;
@@ -436,8 +431,6 @@ typedef struct {
    int                          screen;         /* For multi-CRTC cards */
 } GDevRec, *GDevPtr;
 
-typedef int (*FindIsaDevProc)(GDevPtr dev);
-
 typedef struct {
    char *			identifier;
    char *			driver;
@@ -717,11 +710,6 @@ typedef struct _resRec {
 #define block_end	val.rEnd
 #define res_type	val.type
 
-typedef struct {
-    int numChipset;
-    resRange *resList;
-} IsaChipsets;
-
 typedef struct _PciChipsets {
     /**
      * Key used to match this device with its name in an array of
diff --git a/hw/xfree86/int10/generic.c b/hw/xfree86/int10/generic.c
index d04d0a2..0af7c1b 100644
--- a/hw/xfree86/int10/generic.c
+++ b/hw/xfree86/int10/generic.c
@@ -220,19 +220,6 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
 	    INTPriv(pInt)->highMemory = GET_HIGH_BASE(rom_device->rom_size);
 	    break;
 	}
-	case BUS_ISA:
-	    vbiosMem = (unsigned char *)sysMem + bios_location;
-#if 0
-	    memset(vbiosMem, 0, V_BIOS_SIZE);
-	    if (xf86ReadBIOS(bios_location, 0, vbiosMem, V_BIOS_SIZE)
-		< V_BIOS_SIZE)
-		xf86DrvMsg(screen, X_WARNING,
-		    "Unable to retrieve all of segment 0x%x.\n",bios_location);
-#endif
-	    if (!int10_check_bios(screen, bios_location >> 4, vbiosMem)) {
-	        xf86DrvMsg(screen,X_ERROR,"Cannot read V_BIOS (4)\n");
-		goto error1;
-	    }
 	default:
 	    goto error1;
 	}
diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index 2d646bc..88b26aa 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -296,17 +296,14 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     /* xf86Bus.c */
     SYMFUNC(xf86CheckPciSlot)
     SYMFUNC(xf86ClaimPciSlot)
-    SYMFUNC(xf86ClaimIsaSlot)
     SYMFUNC(xf86ClaimFbSlot)
     SYMFUNC(xf86ClaimNoSlot)
     SYMFUNC(xf86ParsePciBusString)
     SYMFUNC(xf86ComparePciBusString)
     SYMFUNC(xf86FormatPciBusNumber)
-    SYMFUNC(xf86ParseIsaBusString)
     SYMFUNC(xf86EnableAccess)
     SYMFUNC(xf86SetCurrentAccess)
     SYMFUNC(xf86IsPrimaryPci)
-    SYMFUNC(xf86IsPrimaryIsa)
     SYMFUNC(xf86FreeResList)
     SYMFUNC(xf86ClaimFixedResources)
     SYMFUNC(xf86AddEntityToScreen)
@@ -337,9 +334,6 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86AllocateEntityPrivateIndex)
     SYMFUNC(xf86GetEntityPrivate)
 
-    /* xf86Configure.c */
-    SYMFUNC(xf86AddDeviceToConfigure)
-
     /* xf86Cursor.c */
     SYMFUNC(xf86GetPointerScreenFuncs)
 
@@ -414,7 +408,6 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86PrintChipsets)
     SYMFUNC(xf86MatchDevice)
     SYMFUNC(xf86MatchPciInstances)
-    SYMFUNC(xf86MatchIsaInstances)
     SYMFUNC(xf86GetVerbosity)
     SYMFUNC(xf86GetVisualName)
     SYMFUNC(xf86GetPix24)
@@ -454,12 +447,9 @@ _X_HIDDEN void *xfree86LookupTab[] = {
     SYMFUNC(xf86FindXvOptions)
     SYMFUNC(xf86GetOS)
     SYMFUNC(xf86ConfigPciEntity)
-    SYMFUNC(xf86ConfigIsaEntity)
     SYMFUNC(xf86ConfigFbEntity)
     SYMFUNC(xf86ConfigActivePciEntity)
-    SYMFUNC(xf86ConfigActiveIsaEntity)
     SYMFUNC(xf86ConfigPciEntityInactive)
-    SYMFUNC(xf86ConfigIsaEntityInactive)
     SYMFUNC(xf86IsScreenPrimary)
     SYMFUNC(xf86RegisterRootWindowProperty)
     SYMFUNC(xf86IsUnblank)
diff --git a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c
index b15f7fd..06f42f8 100644
--- a/hw/xfree86/os-support/linux/int10/linux.c
+++ b/hw/xfree86/os-support/linux/int10/linux.c
@@ -292,10 +292,6 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
 	    pInt->BIOSseg = V_BIOS >> 4;
 	    break;
 	}
-	case BUS_ISA:
-	    if (!xf86int10GetBiosSegment(pInt, NULL))
-		goto error3;
-	    break;
 	default:
 	    goto error3;
 	}
commit a8bcab2d3b224e4d4d5b6a097ea530beee920213
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 22:14:23 2008 -0400

    Bus: Remove yet more unused overlap processing.

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 7730a41..e297d1e 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -978,10 +978,6 @@ needCheck(resPtr pRes, unsigned long type, int entityIndex, xf86State state)
     BusType loc = BUS_NONE;
     BusType r_loc = BUS_NONE;
 
-    /* Ignore overlapped ranges that have been nullified */
-    if ((pRes->res_type & ResOverlap) && (pRes->block_begin > pRes->block_end))
-	return FALSE;
-    
     if ((pRes->res_type & ResTypeMask) != (type & ResTypeMask))
         return FALSE;
 
@@ -1263,8 +1259,6 @@ xf86PrintResList(int verb, resPtr list)
 		    s = "[?]";
 		}
 		xf86ErrorFVerb(verb, "%s", s);
-		if (list->res_type & ResOverlap)
-		    xf86ErrorFVerb(verb, "O");
 		if (list->res_type & ResInit)
 		    xf86ErrorFVerb(verb, "t");
 		if (list->res_type & ResBios)
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index 3e0f8dc..32e0d95 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -645,7 +645,6 @@ typedef struct _CurrAccRec {
 #define ResMiscMask	0x00F000
 
 #define ResBus		0x010000
-#define ResOverlap	0x020000
 
 #if defined(__alpha__) && defined(linux)
 # define ResDomain	0x1ff000000ul
@@ -684,7 +683,6 @@ typedef struct _CurrAccRec {
 #define ResIsBlock(r)		(((r)->type & ResExtMask) == ResBlock)
 #define ResIsSparse(r)		(((r)->type & ResExtMask) == ResSparse)
 #define ResIsEstimated(r)	(((r)->type & ResMiscMask) == ResEstimated)
-#define ResCanOverlap(r)	(ResIsEstimated(r) || ((r)->type & ResOverlap))
 
 typedef struct {
     unsigned long type;     /* shared, exclusive, unused etc. */
commit 994b7c034fc20d76651cf7f6a285526d9aff8770
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 22:11:12 2008 -0400

    Bus: Don't pretend to care about IRQs, DMA, or PCI config space

diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index 8c21123..3e0f8dc 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -623,9 +623,6 @@ typedef struct _CurrAccRec {
 
 #define ResMem		0x0001
 #define ResIo		0x0002
-#define ResIrq		0x0003
-#define ResDma		0x0004
-#define ResPciCfg	0x000e	/* PCI Configuration space */
 #define ResPhysMask	0x000F
 
 #define ResExclusive	0x0010
commit eb5ae45127fa9f08f0badec7e21f8c26c9c7c969
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 21:44:16 2008 -0400

    Bus: Simplify a failure case (that pretty much never happens)

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 1316dec..7730a41 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -1716,28 +1716,6 @@ xf86SetOperatingState(resList list, int entityIndex, int mask)
 /*
  * Stage specific code
  */
- /*
-  * ProcessEstimatedConflicts() -- Do something about driver-registered
-  * resources that conflict with estimated resources.  For now, just register
-  * them with a logged warning.
-  */
-
-/*
- * xf86ClaimFixedResources() -- This function gets called from the
- * driver Probe() function to claim fixed resources.
- */
-static void
-resError(resList list)
-{
-    FatalError("A driver tried to allocate the %s %sresource at \n"
-	       "0x%lx:0x%lx which conflicted with another resource. Send the\n"
-	       "output of the server to %s. Please \n"
-	       "specify your computer hardware as closely as possible.\n",
-	       ResIsBlock(list)?"Block":"Sparse",
-	       ResIsMem(list)?"Mem":"Io",
-	       ResIsBlock(list)?list->rBegin:list->rBase,
-	       ResIsBlock(list)?list->rEnd:list->rMask,BUILDERADDR);
-}
 
 /*
  * xf86ClaimFixedResources() is used to allocate non-relocatable resources.
@@ -1761,7 +1739,7 @@ xf86ClaimFixedResources(resList list, int entityIndex)
   	case ResExclusive:
  	    if (!xf86ChkConflict(&range, entityIndex)) {
  		Acc = xf86AddResToList(Acc, &range, entityIndex);
-		} else resError(&range); /* no return */
+	    } else FatalError("xf86ClaimFixedResources conflict\n");
 	    break;
 	case ResShared:
 	    /* at this stage the resources are just added to the
commit ee8b5cf94c2a9f8526a3bb5011ebb10f3246a4d9
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 21:41:47 2008 -0400

    Bus: Trust the kernel when registering driver resources
    
    ... everywhere, not just (linux && (ia64 || alpha)).

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index d7abfc9..1316dec 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -1349,13 +1349,13 @@ xf86ConvertListToHost(int entityIndex, resPtr list)
 
 /*
  * xf86RegisterResources() -- attempts to register listed resources.
- * Returns a resPtr listing all resources not successfully registered.
+ * Returns a resPtr listing all resources not successfully registered, by
+ * which we mean, NULL.
  */
 
 _X_EXPORT resPtr
 xf86RegisterResources(int entityIndex, resList list, unsigned long access)
 {
-    resPtr res = NULL;
     resRange range;
     resList list_f = NULL;
 
@@ -1371,15 +1371,7 @@ xf86RegisterResources(int entityIndex, resList list, unsigned long access)
 	    range.type = (range.type & ~ResAccMask) | (access & ResAccMask);
 	}
  	range.type &= ~ResEstimated;	/* Not allowed for drivers */
-#if !((defined(__alpha__) || (defined(__ia64__))) && defined(linux))
-	/* On Alpha Linux, do not check for conflicts, trust the kernel. */
-	if (checkConflict(&range, Acc, entityIndex, SETUP,TRUE)) 
-	    res = xf86AddResToList(res,&range,entityIndex);
-	else
-#endif
-	{
-	    Acc = xf86AddResToList(Acc,&range,entityIndex);
-	}
+	Acc = xf86AddResToList(Acc,&range,entityIndex);
 	list++;
     }
     if (list_f)
@@ -1389,11 +1381,7 @@ xf86RegisterResources(int entityIndex, resList list, unsigned long access)
     xf86MsgVerb(X_INFO, 3,"Resources after driver initialization\n");
     xf86PrintResList(3, Acc);
 #endif
-    if (res) {
-	xf86MsgVerb(X_INFO, 3, "Failed to register resources:\n");
-	xf86PrintResList(3, res);
-    }
-    return res;
+    return NULL;
     
 }
 
commit 8397df89456558e3c85b05e0acfccb9f6af6b695
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 21:36:14 2008 -0400

    Remove unused MIN macro

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index fe035f4..d7abfc9 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -94,10 +94,6 @@ static Bool doFramebufferMode = FALSE;
 static StateChangeNotificationPtr StateChangeNotificationList;
 static void notifyStateChange(xf86NotifyState state);
 
-#undef MIN
-#define MIN(x,y) ((x<y)?x:y)
-
-
 /*
  * Call the bus probes relevant to the architecture.
  *
commit c251c0baae59714a6ac83b69cd106c08baa3613e
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 21:34:27 2008 -0400

    Bus: remove special handling for init-only resources
    
    This isn't used by any driver, nor has it ever been as far as I can
    tell.

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 72b21dc..fe035f4 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -158,8 +158,6 @@ void
 xf86EntityInit(void)
 {
     int i;
-    resPtr *pprev_next;
-    resPtr res;
     xf86AccessPtr pacc;
     
     for (i = 0; i < xf86NumEntities; i++)
@@ -171,17 +169,6 @@ xf86EntityInit(void)
 	    pacc->AccessEnable(pacc->arg);
 	    xf86Entities[i]->entityInit(i,xf86Entities[i]->private);
 	    pacc->AccessDisable(pacc->arg);
-	    /* remove init resources after init is processed */
-	    pprev_next = &Acc;
-	    res = Acc;
-	    while (res) {  
-		if (res->res_type & ResInit && (res->entityIndex == i)) {
-		    (*pprev_next) = res->next;
-		    xfree(res);
-		} else 
-		    pprev_next = &(res->next);
-		res = (*pprev_next);
-	    }
 	}
 }
 
@@ -1907,7 +1894,7 @@ xf86PostProbe(void)
 {
     memType val;
     int i,j;
-    resPtr resp, acc, tmp, resp_x, *pprev_next;
+    resPtr resp, acc, tmp, resp_x;
 
     if (fbSlotClaimed) {
         if (pciSlotClaimed || isaSlotClaimed 
@@ -1927,17 +1914,7 @@ xf86PostProbe(void)
 	    return;
 	}
     }
-    /* don't compare against ResInit - remove it from clone.*/
     acc = tmp = xf86DupResList(Acc);
-    pprev_next = &acc;
-    while (tmp) {
-	if (tmp->res_type & ResInit) {
-	    (*pprev_next) = tmp->next;
-	    xfree(tmp);
-	} else 
-	    pprev_next = &(tmp->next);
-	tmp = (*pprev_next);
-    }
 
     for (i=0; i<xf86NumEntities; i++) {
 	resp = xf86Entities[i]->resources;
commit 3e5281af17841cf50d0e52a728b12c6ab56e61df
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 21:16:45 2008 -0400

    PCI: Unexport xf86scanpci

diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c
index f2b7e93..2d646bc 100644
--- a/hw/xfree86/loader/xf86sym.c
+++ b/hw/xfree86/loader/xf86sym.c
@@ -654,7 +654,6 @@ _X_HIDDEN void *xfree86LookupTab[] = {
 
     SYMFUNC(pciTag)
     SYMFUNC(pciBusAddrToHostAddr)
-    SYMFUNC(xf86scanpci)
 
     /* Loader functions */
     SYMFUNC(LoadSubModule)
diff --git a/hw/xfree86/os-support/bus/Pci.c b/hw/xfree86/os-support/bus/Pci.c
index 888a9e3..8ca2f1f 100644
--- a/hw/xfree86/os-support/bus/Pci.c
+++ b/hw/xfree86/os-support/bus/Pci.c
@@ -161,7 +161,7 @@ pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS addr)
 	return(addr);
 }
 
-_X_EXPORT Bool
+Bool
 xf86scanpci(void)
 {
     Bool  success = FALSE;
commit 6b198daa46f2f609aff7900761cf82cc2fb4e0b4
Author: Adam Jackson <ajax at redhat.com>
Date:   Sat Oct 11 20:51:39 2008 -0400

    Bus: remove useless isaConvertRange2Host

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 73d5815..72b21dc 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -1347,9 +1347,6 @@ convertRange2Host(int entityIndex, resRange *pRange)
 	case BUS_PCI:
 	    pciConvertRange2Host(entityIndex,pRange);
 	    break;
-	case BUS_ISA:
-	    isaConvertRange2Host(pRange);
-	    break;
 	default:
 	    break;
 	}
diff --git a/hw/xfree86/common/xf86isaBus.c b/hw/xfree86/common/xf86isaBus.c
index 3abad38..cc94de4 100644
--- a/hw/xfree86/common/xf86isaBus.c
+++ b/hw/xfree86/common/xf86isaBus.c
@@ -133,9 +133,3 @@ xf86IsPrimaryIsa(void)
 {
     return ( primaryBus.type == BUS_ISA );
 }
-
-void
-isaConvertRange2Host(resRange *pRange)
-{
-    return;
-}
diff --git a/hw/xfree86/common/xf86pciBus.h b/hw/xfree86/common/xf86pciBus.h
index 7d08502..1cbfa38 100644
--- a/hw/xfree86/common/xf86pciBus.h
+++ b/hw/xfree86/common/xf86pciBus.h
@@ -70,6 +70,5 @@ void PciBusStateEnter(void);
 void PciStateLeave(void);
 void PciBusStateLeave(void);
 void pciConvertRange2Host(int entityIndex, resRange *pRange);
-void isaConvertRange2Host(resRange *pRange);
 
 #endif /* _XF86_PCI_BUS_H */
commit a96db74c2a95bb1dce132cf47ea720ae939dfad7
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Oct 9 00:43:26 2008 -0400

    Bus: Don't try to find an ISA bus just for fun.

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 7aab953..73d5815 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -2459,9 +2459,6 @@ xf86ExtractTypeFromList(resPtr list, unsigned long type)
     return ret;
 }
 
-/*------------------------------------------------------------*/
-static void CheckGenericGA(void);
-
 /*
  * xf86FindPrimaryDevice() - Find the display device which
  * was active when the server was started.
@@ -2469,9 +2466,6 @@ static void CheckGenericGA(void);
 void
 xf86FindPrimaryDevice()
 {
-    /* if no VGA device is found check for primary PCI device */
-    if (primaryBus.type == BUS_NONE && xorgHWAccess)
-        CheckGenericGA();
     if (primaryBus.type != BUS_NONE) {
 	char *bus;
 	char loc[16];
@@ -2502,39 +2496,6 @@ xf86FindPrimaryDevice()
     }
 }
 
-#if !defined(__sparc) && !defined(__sparc__) && !defined(__powerpc__) && !defined(__mips__) && !defined(__arm__) && !defined(__m32r__)
-#include "vgaHW.h"
-#include "compiler.h"
-#endif
-
-/*
- * CheckGenericGA() - Check for presence of a VGA device.
- */
-static void
-CheckGenericGA()
-{
-/* This needs to be changed for multiple domains */
-#if !defined(__sparc__) && !defined(__sparc) && !defined(__powerpc__) && !defined(__mips__) && !defined(__ia64__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__)
-    IOADDRESS GenericIOBase = VGAHW_GET_IOBASE();
-    CARD8 CurrentValue, TestValue;
-
-    /* VGA CRTC registers are not used here, so don't bother unlocking them */
-
-    /* VGA has one more read/write attribute register than EGA */
-    (void) inb(GenericIOBase + VGA_IN_STAT_1_OFFSET);  /* Reset flip-flop */
-    outb(VGA_ATTR_INDEX, 0x14 | 0x20);
-    CurrentValue = inb(VGA_ATTR_DATA_R);
-    outb(VGA_ATTR_DATA_W, CurrentValue ^ 0x0F);
-    outb(VGA_ATTR_INDEX, 0x14 | 0x20);
-    TestValue = inb(VGA_ATTR_DATA_R);
-    outb(VGA_ATTR_DATA_W, CurrentValue);
-
-    if ((CurrentValue ^ 0x0F) == TestValue) {
-	primaryBus.type = BUS_ISA;
-    }
-#endif
-}
-
 Bool
 xf86NoSharedResources(int screenIndex,resType res)
 {
commit b21311a99d58997cd1fc68726d0848242e9c34fc
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Oct 9 00:34:42 2008 -0400

    Bus: Remove unused RemoveOverlaps

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 8d3d9bb..7aab953 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -1335,91 +1335,6 @@ xf86ResourceBrokerInit(void)
     xf86PrintResList(3, Acc);
 }
 
-#define MEM_ALIGN (1024 * 1024)
-
-/*
- * RemoveOverlaps() -- remove overlaps between resources of the
- * same kind.
- * Beware: This function doesn't check for access attributes.
- * At resource broker initialization this is no problem as this
- * only deals with exclusive resources.
- */
-
-void
-RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment, Bool useEstimated)
-{
-    resPtr pRes;
-    memType size, newsize, adjust;
-
-    if (!target)
-	return;
-    
-    if (!(target->res_type & ResOverlap)) /* only touch overlaps */
-	return;
-
-    for (pRes = list; pRes; pRes = pRes->next) {
-	if (pRes == target
-	    || ((pRes->res_type & ResTypeMask) !=
-		(target->res_type & ResTypeMask))
-	    || pRes->block_begin > target->block_end
-	    || pRes->block_end < target->block_begin)
-	    continue;
-
-	if (pRes->block_begin <= target->block_begin) {
-	    
-	    /* Special cases */
-	    if (pRes->block_end >= target->block_end) {
-		/*
-		 * If pRes fully contains target, don't do anything
-		 * unless target can overlap.
-		 */
-		if (target->res_type & ResOverlap) {
-		    /* Nullify range but keep its ResOverlap bit on */
-		    target->block_end = target->block_begin - 1;
-		    return;
-		} else
-		    continue;
-	    } else {
-#if 0 /* Don't trim start address - we trust what we got */
-		/*
-		 * If !pow2Alignment trim start address: !pow2Alingment
-		 * is only set when estimated OS addresses are handled.
-		 * In cases where the target and pRes have the same
-		 * starting address, reduce the size of the target
-		 * (given it's an estimate).
-		 */
-		if (!pow2Alignment)
-		    target->block_begin = pRes->block_end + 1;
-		else 
-#endif
-		if (pRes->block_begin == target->block_begin)
-		    target->block_end = pRes->block_end;
-		else
-		    continue;
-	    }
-	} else {
-	    /* Trim target to remove the overlap */
-		target->block_end = pRes->block_begin - 1;
-	}
-	if (pow2Alignment) {
-	    /*
-	     * Align to a power of two.  This requires finding the
-	     * largest power of two that is smaller than the adjusted
-	     * size.
-	     */
-	    size = target->block_end - target->block_begin + 1;
-	    newsize = 1UL << (sizeof(memType) * 8 - 1);
-	    while (!(newsize & size))
-		newsize >>= 1;
-	    target->block_end = target->block_begin + newsize - 1;
-	} else if (target->block_end > MEM_ALIGN) {
-	    /* Align the end to MEM_ALIGN */
-	    if ((adjust = (target->block_end + 1) % MEM_ALIGN))
-		target->block_end -= adjust;
-	}
-    }
-}
-
 /*
  * Resource registration
  */
diff --git a/hw/xfree86/common/xf86Bus.h b/hw/xfree86/common/xf86Bus.h
index c5f5dcc..c2d5bb7 100644
--- a/hw/xfree86/common/xf86Bus.h
+++ b/hw/xfree86/common/xf86Bus.h
@@ -140,7 +140,5 @@ BusType StringToBusType(const char* busID, const char **retID);
 Bool xf86IsSubsetOf(resRange range, resPtr list);
 resPtr xf86ExtractTypeFromList(resPtr list, unsigned long type);
 resPtr xf86FindIntersect(resRange Range, resPtr list);
-void RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment,
-		    Bool useEstimated);
 
 #endif /* _XF86_BUS_H */
commit 41be6b3f0dc0baa1c6ae8d2b41a6be73ca0e7268
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Oct 9 00:33:28 2008 -0400

    Bus: Remove the notion of estimated resources.

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 27626a0..8d3d9bb 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -1009,10 +1009,6 @@ needCheck(resPtr pRes, unsigned long type, int entityIndex, xf86State state)
     if (pRes->res_type & type & ResBios)
 	return FALSE;
     
-    /*If requested, skip over estimated resources */
-    if (pRes->res_type & type & ResEstimated)
- 	return FALSE;
-      
     if (type & pRes->res_type & ResUnused)
  	return FALSE;
 
@@ -1284,8 +1280,6 @@ xf86PrintResList(int verb, resPtr list)
 		    s = "[?]";
 		}
 		xf86ErrorFVerb(verb, "%s", s);
-		if (list->res_type & ResEstimated)
-		    xf86ErrorFVerb(verb, "E");
 		if (list->res_type & ResOverlap)
 		    xf86ErrorFVerb(verb, "O");
 		if (list->res_type & ResInit)
@@ -1360,8 +1354,7 @@ RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment, Bool useEstimated
     if (!target)
 	return;
     
-    if (!(target->res_type & ResEstimated)   /* Don't touch sure resources */
-	&& !(target->res_type & ResOverlap)) /* Unless they may overlap    */
+    if (!(target->res_type & ResOverlap)) /* only touch overlaps */
 	return;
 
     for (pRes = list; pRes; pRes = pRes->next) {
@@ -1373,9 +1366,6 @@ RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment, Bool useEstimated
 	    continue;
 
 	if (pRes->block_begin <= target->block_begin) {
-	    /* Possibly ignore estimated resources */
-	    if (!useEstimated && (pRes->res_type & ResEstimated))
-		continue;
 	    
 	    /* Special cases */
 	    if (pRes->block_end >= target->block_end) {
diff --git a/hw/xfree86/os-support/shared/stdResource.c b/hw/xfree86/os-support/shared/stdResource.c
index c144211..8cb1014 100644
--- a/hw/xfree86/os-support/shared/stdResource.c
+++ b/hw/xfree86/os-support/shared/stdResource.c
@@ -77,9 +77,6 @@ xf86StdAccResFromOS(resPtr ret)
     ret = xf86AddResToList(ret, &range, -1);
     RANGE(range, 0x000f0000, 0x000fffff, ResExcMemBlock);
     ret = xf86AddResToList(ret, &range, -1);
-    RANGE(range, 0x00100000, 0x3fffffff,
-	ResExcMemBlock | ResBios | ResEstimated);
-    ret = xf86AddResToList(ret, &range, -1);
 #if 0
     RANGE(range, 0xfec00000, 0xfecfffff, ResExcMemBlock | ResBios);
     ret = xf86AddResToList(ret, &range, -1);
commit 095ba1435501776c8c8a34e767b89f89e5dc949a
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Oct 9 00:27:33 2008 -0400

    Bus: remove the "reducer"
    
    This code effectively didn't do anything anymore.

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index dcc5c3e..27626a0 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -25,7 +25,6 @@
  * authorization from the copyright holder(s) and author(s).
  */
 
-#define REDUCER
 /*
  * This file contains the interfaces to the bus-specific code
  */
@@ -71,10 +70,6 @@ BusRec primaryBus = { BUS_NONE, {{0}}};
 
 static Bool xf86ResAccessEnter = FALSE;
 
-#ifdef REDUCER
-/* Resources that temporarily conflict with estimated resources */
-static resPtr AccReducers = NULL;
-#endif
 
 /* resource lists */
 resPtr Acc = NULL;
@@ -1853,22 +1848,6 @@ xf86SetOperatingState(resList list, int entityIndex, int mask)
   * resources that conflict with estimated resources.  For now, just register
   * them with a logged warning.
   */
-#ifdef REDUCER
-static void
-ProcessEstimatedConflicts(void)
-{
-    if (!AccReducers)
-	return;
-
-    /* Temporary */
-    xf86MsgVerb(X_WARNING, 3,
-		"Registering the following despite conflicts with estimated"
-		" resources:\n");
-    xf86PrintResList(3, AccReducers);
-    Acc = xf86JoinResLists(Acc, AccReducers);
-    AccReducers = NULL;
-}
-#endif
 
 /*
  * xf86ClaimFixedResources() -- This function gets called from the
@@ -1909,20 +1888,7 @@ xf86ClaimFixedResources(resList list, int entityIndex)
   	case ResExclusive:
  	    if (!xf86ChkConflict(&range, entityIndex)) {
  		Acc = xf86AddResToList(Acc, &range, entityIndex);
-#ifdef REDUCER
-	    } else {
- 		range.type |= ResEstimated;
- 		if (!xf86ChkConflict(&range, entityIndex) &&
- 		    !checkConflict(&range, AccReducers, entityIndex,
-				   SETUP, FALSE)) {
- 		    range.type &= ~(ResEstimated | ResBios);
- 		    AccReducers =
- 			xf86AddResToList(AccReducers, &range, entityIndex);
-#endif
 		} else resError(&range); /* no return */
-#ifdef REDUCER
-	    }
-#endif
 	    break;
 	case ResShared:
 	    /* at this stage the resources are just added to the
@@ -1944,9 +1910,6 @@ xf86ClaimFixedResources(resList list, int entityIndex)
     xf86MsgVerb(X_INFO, 3,
 	"resource ranges after xf86ClaimFixedResources() call:\n");
     xf86PrintResList(3,Acc);
-#ifdef REDUCER
-    ProcessEstimatedConflicts();
-#endif
 #ifdef DEBUG
     if (ptr) {
 	xf86MsgVerb(X_INFO, 3, "to be registered later:\n");
@@ -2085,16 +2048,6 @@ xf86PostProbe(void)
 		resp_x = resp;
 		resp = resp->next;
 		resp_x->next = tmp;
-#ifdef REDUCER
-	    } else {
-		resp->res_type |= ResEstimated;
- 		if (!checkConflict(&resp->val, acc, i, SETUP, FALSE)) {
- 		    resp->res_type &= ~(ResEstimated | ResBios);
- 		    tmp = AccReducers;
- 		    AccReducers = resp;
- 		    resp = resp->next;
- 		    AccReducers->next = tmp;
-#endif
 		} else {
 		    xf86MsgVerb(X_INFO, 3, "Found conflict at: 0x%lx\n",val);
  		    resp->res_type &= ~ResEstimated;
@@ -2103,14 +2056,8 @@ xf86PostProbe(void)
 		    resp = resp->next;
 		    xf86Entities[i]->resources->next = tmp;
 		}
-#ifdef REDUCER
-	    }
-#endif
 	}
 	xf86JoinResLists(Acc,resp_x);
-#ifdef REDUCER
-	ProcessEstimatedConflicts();
-#endif
     }
     xf86FreeResList(acc);
     
commit 4457e31710af90f9ac295bb686c841e9473fb767
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu Oct 9 00:14:54 2008 -0400

    PCI: Remove unused ia64 platform code.

diff --git a/hw/xfree86/os-support/linux/Makefile.am b/hw/xfree86/os-support/linux/Makefile.am
index f12dfb0..da1dcf6 100644
--- a/hw/xfree86/os-support/linux/Makefile.am
+++ b/hw/xfree86/os-support/linux/Makefile.am
@@ -2,7 +2,6 @@ noinst_LTLIBRARIES = liblinux.la
 
 if LINUX_IA64
 PLATFORM_PCI_SUPPORT = $(srcdir)/../shared/ia64Pci.c
-PLATFORM_DEFINES = -DOS_PROBE_PCI_CHIPSET=lnxProbePciChipset
 PLATFORM_INCLUDES = -I$(srcdir)/../shared
 endif
 if LINUX_ALPHA
diff --git a/hw/xfree86/os-support/linux/lnx_ia64.c b/hw/xfree86/os-support/linux/lnx_ia64.c
deleted file mode 100644
index 5f742d0..0000000
--- a/hw/xfree86/os-support/linux/lnx_ia64.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 2004, Egbert Eich
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * EGBERT EICH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
- * NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name of Egbert Eich shall not
- * be used in advertising or otherwise to promote the sale, use or other deal-
- *ings in this Software without prior written authorization from Egbert Eich.
- *
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#include "ia64Pci.h"
-#include "Pci.h"
-
-#if defined OS_PROBE_PCI_CHIPSET
-IA64Chipset OS_PROBE_PCI_CHIPSET(scanpciWrapperOpt flags)
-{
-    struct stat unused;
-    struct utsname utsName;
-
-    if (!stat("/proc/bus/mckinley/zx1",&unused) 
-	|| !stat("/proc/bus/mckinley/zx2",&unused))
-	return ZX1_CHIPSET;
-
-    if (!stat("/proc/sgi_sn/licenseID", &unused)) {
-        int major, minor, patch;
-        char *c;
-
-	/* We need a 2.6.11 or better kernel for Altix support */
-	uname(&utsName);
-        c = utsName.release;
-        
-        major = atoi(c);
-        c = strstr(c, ".") + 1;
-        minor = atoi(c);
-        c = strstr(c, ".") + 1;
-        patch = atoi(c);
-        
-	if (major < 2 || (major == 2 && minor < 6) ||
-            (major == 2 && minor == 6 && patch < 11)) {
-	    ErrorF("Kernel 2.6.11 or better needed for Altix support\n");
-	    return NONE_CHIPSET;
-	}
-	return ALTIX_CHIPSET;
-    }
-
-    return NONE_CHIPSET;
-}
-#endif
diff --git a/hw/xfree86/os-support/shared/ia64Pci.h b/hw/xfree86/os-support/shared/ia64Pci.h
deleted file mode 100644
index 978c9ff..0000000
--- a/hw/xfree86/os-support/shared/ia64Pci.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2004, Egbert Eich
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * EGBERT EICH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
- * NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name of Egbert Eich shall not
- * be used in advertising or otherwise to promote the sale, use or other deal-
- *ings in this Software without prior written authorization from Egbert Eich.
- *
- */
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#ifndef _IA64_PCI_H
-# define _IA64_PCI_H
-
-#include "Pci.h"
-
-typedef enum {
-    NONE_CHIPSET,
-    I460GX_CHIPSET,
-    E8870_CHIPSET,
-    ZX1_CHIPSET,
-    ALTIX_CHIPSET
-} IA64Chipset;
-
-# ifdef OS_PROBE_PCI_CHIPSET
-extern IA64Chipset OS_PROBE_PCI_CHIPSET(scanpciWrapperOpt flags);
-# endif
-#endif
commit 86cfe0ee236bfd3613e5f9ba589211db42d009eb
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Oct 8 23:45:40 2008 -0400

    PCI: Simplify OS PCI function registration a bit.

diff --git a/hw/xfree86/os-support/bus/Pci.c b/hw/xfree86/os-support/bus/Pci.c
index 5dccd39..888a9e3 100644
--- a/hw/xfree86/os-support/bus/Pci.c
+++ b/hw/xfree86/os-support/bus/Pci.c
@@ -138,13 +138,13 @@
 
 /* Global data */
 
-pciBusInfo_t *pciBusInfo = NULL;
+pciBusFuncs_t *pciBusFuncs = NULL;
 
 _X_EXPORT ADDRESS
 pciBusAddrToHostAddr(PCITAG tag, PciAddrType type, ADDRESS addr)
 {
-    if (pciBusInfo->funcs->pciAddrBusToHost)
-	return pciBusInfo->funcs->pciAddrBusToHost(tag, type, addr);
+    if (pciBusFuncs && pciBusFuncs->pciAddrBusToHost)
+	return pciBusFuncs->pciAddrBusToHost(tag, type, addr);
     else
 	return addr;
 }
diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index 285c7a5..5feb733 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -191,23 +191,9 @@ typedef struct pci_bus_funcs {
 	ADDRESS (*pciAddrBusToHost)(PCITAG, PciAddrType, ADDRESS);
 } pciBusFuncs_t, *pciBusFuncs_p;
 
-/*
- * pciBusInfo_t - One structure per defined PCI bus
- */
-typedef struct pci_bus_info {
-	unsigned char  numDevices;   /* Range of valid devnums      */
-	unsigned char  secondary;    /* Boolean: bus is a secondary */
-	int            primary_bus;  /* Parent bus                  */
-	pciBusFuncs_p  funcs;        /* PCI access functions        */
-	void          *pciBusPriv;   /* Implementation private data */
-	struct pci_device *bridge;       /* bridge that opens this bus  */
-} pciBusInfo_t;
-
-#define HOST_NO_BUS ((pciBusInfo_t *)(-1))
-
 /* Generic PCI service functions and helpers */
 ADDRESS       pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS);
 
-extern pciBusInfo_t  *pciBusInfo;
+extern pciBusFuncs_t  *pciBusFuncs;
 
 #endif /* _PCI_H */
diff --git a/hw/xfree86/os-support/bus/bsd_pci.c b/hw/xfree86/os-support/bus/bsd_pci.c
index cfdd986..9b55d3a 100644
--- a/hw/xfree86/os-support/bus/bsd_pci.c
+++ b/hw/xfree86/os-support/bus/bsd_pci.c
@@ -48,19 +48,6 @@
 
 #include "pciaccess.h"
 
-static pciBusFuncs_t bsd_funcs = {
-    .pciAddrBusToHost = pciAddrNOOP,
-};
-
-static pciBusInfo_t bsd_pci = {
-    .numDevices = 32,
-    .secondary = FALSE,
-    .primary_bus = 0,
-    .funcs = &bsd_funcs,
-    .pciBusPriv = NULL,
-    .bridge = NULL,
-};
-
 _X_EXPORT pointer
 xf86MapDomainMemory(int ScreenNum, int Flags, struct pci_device *dev,
 		    ADDRESS Base, unsigned long Size)
@@ -78,7 +65,5 @@ xf86MapLegacyIO(struct pci_device *dev)
 void
 bsdPciInit(void)
 {
-    pciBusInfo = &bsd_pci;
-
     xf86InitVidMem();
 }
diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c
index 28b0aec..263fd8f 100644
--- a/hw/xfree86/os-support/bus/linuxPci.c
+++ b/hw/xfree86/os-support/bus/linuxPci.c
@@ -79,15 +79,6 @@ static pciBusFuncs_t linuxFuncs0 = {
 #endif
 };
 
-static pciBusInfo_t linuxPci0 = {
-/* numDevices  */	32,
-/* secondary   */	FALSE,
-/* primary_bus */	0,
-/* funcs       */	&linuxFuncs0,
-/* pciBusPriv  */	NULL,
-/* bridge      */	NULL
-};
-
 static const struct pci_id_match match_host_bridge = {
     PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
     (PCI_CLASS_BRIDGE << 16) | (PCI_SUBCLASS_BRIDGE_HOST << 8),
@@ -109,7 +100,7 @@ linuxPciInit(void)
 	   we'll need a fallback for 2.0 kernels here */
 	return;
     }
-    pciBusInfo	   = &linuxPci0;
+    pciBusFuncs	   = &linuxFuncs0;
 }
 
 /**
commit 2d427b9cb1594f8f2f66b463033fff5b459962fd
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Oct 8 23:38:23 2008 -0400

    PCI: Remove config mechanism details.
    
    pciaccess handles this for us now, no need to remember PC arcana.

diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index 574a21e..285c7a5 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -168,16 +168,6 @@
 
 #endif /* !defined(DEBUGPCI) */
 
-/*
- * PCI Config mechanism definitions
- */
-#define PCI_EN 0x80000000
-
-#define	PCI_CFGMECH1_ADDRESS_REG	0xCF8
-#define	PCI_CFGMECH1_DATA_REG		0xCFC
-
-#define PCI_CFGMECH1_MAXDEV	32
-
 #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
 	defined(__DragonFly__) || defined(__sun)
 #define ARCH_PCI_INIT bsdPciInit
@@ -205,7 +195,6 @@ typedef struct pci_bus_funcs {
  * pciBusInfo_t - One structure per defined PCI bus
  */
 typedef struct pci_bus_info {
-	unsigned char  configMech;   /* PCI config type to use      */
 	unsigned char  numDevices;   /* Range of valid devnums      */
 	unsigned char  secondary;    /* Boolean: bus is a secondary */
 	int            primary_bus;  /* Parent bus                  */
@@ -216,17 +205,7 @@ typedef struct pci_bus_info {
 
 #define HOST_NO_BUS ((pciBusInfo_t *)(-1))
 
-/* configMech values */
-#define PCI_CFG_MECH_UNKNOWN 0 /* Not yet known  */
-#define PCI_CFG_MECH_1       1 /* Most machines  */
-#define PCI_CFG_MECH_2       2 /* Older PC's     */
-#define PCI_CFG_MECH_OTHER   3 /* Something else */
-
 /* Generic PCI service functions and helpers */
-CARD32        pciCfgMech1Read(PCITAG tag, int offset);
-void          pciCfgMech1Write(PCITAG tag, int offset, CARD32 val);
-void          pciCfgMech1SetBits(PCITAG tag, int offset, CARD32 mask,
-				 CARD32 val);
 ADDRESS       pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS);
 
 extern pciBusInfo_t  *pciBusInfo;
diff --git a/hw/xfree86/os-support/bus/bsd_pci.c b/hw/xfree86/os-support/bus/bsd_pci.c
index 7becc0a..cfdd986 100644
--- a/hw/xfree86/os-support/bus/bsd_pci.c
+++ b/hw/xfree86/os-support/bus/bsd_pci.c
@@ -53,7 +53,6 @@ static pciBusFuncs_t bsd_funcs = {
 };
 
 static pciBusInfo_t bsd_pci = {
-    .configMech = PCI_CFG_MECH_OTHER,
     .numDevices = 32,
     .secondary = FALSE,
     .primary_bus = 0,
diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c
index 2a03119..28b0aec 100644
--- a/hw/xfree86/os-support/bus/linuxPci.c
+++ b/hw/xfree86/os-support/bus/linuxPci.c
@@ -80,7 +80,6 @@ static pciBusFuncs_t linuxFuncs0 = {
 };
 
 static pciBusInfo_t linuxPci0 = {
-/* configMech  */	PCI_CFG_MECH_OTHER,
 /* numDevices  */	32,
 /* secondary   */	FALSE,
 /* primary_bus */	0,
commit 5bb86bafd6fda296011cbcd5d15a85a6d770ae29
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Oct 8 23:34:41 2008 -0400

    PCI: Remove non-pciaccess path for x86.

diff --git a/configure.ac b/configure.ac
index 6286a6c..662fcbd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1220,7 +1220,6 @@ AC_MSG_RESULT([$XORG])
 
 xorg_bus_linuxpci=no
 xorg_bus_bsdpci=no
-xorg_bus_ix86pci=no
 xorg_bus_sparc=no
 
 if test "x$XORG" = xyes; then
@@ -1357,15 +1356,6 @@ if test "x$XORG" = xyes; then
 	  sparc*)
 		xorg_bus_sparc="yes"
 		;;
-	  i*86|x86_64*|amd64*)
-		case $host_os in
-		  *bsd*|linux*|solaris*)
-			;;
-		  *)
-			xorg_bus_ix86pci="yes"
-			;;
-		esac
-		;;
 	esac
 
 	if test "x$XORG_OS_PCI" = x ; then
@@ -1459,7 +1449,6 @@ fi
 AM_CONDITIONAL([XORG], [test "x$XORG" = xyes])
 AM_CONDITIONAL([XORG_BUS_LINUXPCI], [test "x$xorg_bus_linuxpci" = xyes])
 AM_CONDITIONAL([XORG_BUS_BSDPCI], [test "x$xorg_bus_bsdpci" = xyes])
-AM_CONDITIONAL([XORG_BUS_IX86PCI], [test "x$xorg_bus_ix86pci" = xyes])
 AM_CONDITIONAL([XORG_BUS_SPARC], [test "x$xorg_bus_sparc" = xyes])
 AM_CONDITIONAL([LINUX_IA64], [test "x$linux_ia64" = xyes])
 AM_CONDITIONAL([LINUX_ALPHA], [test "x$linux_alpha" = xyes])
diff --git a/hw/xfree86/os-support/bus/Makefile.am b/hw/xfree86/os-support/bus/Makefile.am
index 5199340..92a519b 100644
--- a/hw/xfree86/os-support/bus/Makefile.am
+++ b/hw/xfree86/os-support/bus/Makefile.am
@@ -11,10 +11,6 @@ if XORG_BUS_BSDPCI
 PCI_SOURCES += bsd_pci.c
 endif
 
-if XORG_BUS_IX86PCI
-PCI_SOURCES += ix86Pci.c
-endif
-
 if XORG_BUS_SPARC
 PLATFORM_SOURCES = Sbus.c
 sdk_HEADERS += xf86Sbus.h
diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index adac6b6..574a21e 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -187,13 +187,6 @@
 #define ARCH_PCI_INIT linuxPciInit
 #endif /* defined(linux) */
 
-#if !defined(ARCH_PCI_INIT)
-#warning You really need to port to libpciaccess.
-#if defined(__i386__) || defined(__i386) ||  defined(__amd64__) || defined(__amd64)
-#define ARCH_PCI_INIT ix86PciInit
-#endif /* i386/amd64 */
-#endif /* !defined(ARCH_PCI_INIT) */
-
 #ifndef ARCH_PCI_INIT
 #error No PCI support available for this architecture/OS combination
 #endif
diff --git a/hw/xfree86/os-support/bus/ix86Pci.c b/hw/xfree86/os-support/bus/ix86Pci.c
deleted file mode 100644
index a279363..0000000
--- a/hw/xfree86/os-support/bus/ix86Pci.c
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * ix86Pci.c - x86 PCI driver
- *
- * The XFree86 server PCI access functions have been reimplemented as a
- * framework that allows each supported platform/OS to have their own
- * platform/OS specific PCI driver.
- *
- * Most of the code of these functions was simply lifted from the
- * Intel architecture specifric portion of the original Xfree86
- * PCI code in hw/xfree86/common_hw/xf86_PCI.C...
- *
- * Gary Barton
- * Concurrent Computer Corporation
- * garyb at gate.net
- */
-
-/*
- * Copyright 1998 by Concurrent Computer Corporation
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Concurrent Computer
- * Corporation not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission.  Concurrent Computer Corporation makes no representations
- * about the suitability of this software for any purpose.  It is
- * provided "as is" without express or implied warranty.
- *
- * CONCURRENT COMPUTER CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD
- * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL CONCURRENT COMPUTER CORPORATION BE
- * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Copyright 1998 by Metro Link Incorporated
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Metro Link
- * Incorporated not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission.  Metro Link Incorporated makes no representations
- * about the suitability of this software for any purpose.  It is
- * provided "as is" without express or implied warranty.
- *
- * METRO LINK INCORPORATED DISCLAIMS ALL WARRANTIES WITH REGARD
- * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL METRO LINK INCORPORATED BE
- * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * This software is derived from the original XFree86 PCI code
- * which includes the following copyright notices as well:
- *
- * Copyright 1995 by Robin Cutshaw <robin at XFree86.Org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the names of the above listed copyright holder(s)
- * not be used in advertising or publicity pertaining to distribution of
- * the software without specific, written prior permission.  The above listed
- * copyright holder(s) make(s) no representations about the suitability of this
- * software for any purpose.  It is provided "as is" without express or
- * implied warranty.
- *
- * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
- * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
- * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
- * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
- * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * This code is also based heavily on the code in FreeBSD-current, which was
- * written by Wolfgang Stanglmeier, and contains the following copyright:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-/*
- * Copyright (c) 1999-2003 by The XFree86 Project, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name of the copyright holder(s)
- * and author(s) shall not be used in advertising or otherwise to promote
- * the sale, use or other dealings in this Software without prior written
- * authorization from the copyright holder(s) and author(s).
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <stdio.h>
-#include "compiler.h"
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86_OSlib.h"
-#include "Pci.h"
-
-#ifdef PC98
-#define outb(port,data) _outb(port,data)
-#define outl(port,data) _outl(port,data)
-#define inb(port) _inb(port)
-#define inl(port) _inl(port)
-#endif
-
-#define	PCI_CFGMECH2_ENABLE_REG		0xCF8
-#ifdef PC98
-#define	PCI_CFGMECH2_FORWARD_REG	0xCF9
-#else
-#define	PCI_CFGMECH2_FORWARD_REG	0xCFA
-#endif
-
-#define PCI_CFGMECH2_MAXDEV	16
-
-#define PCI_ADDR_FROM_TAG_CFG1(tag,reg) (PCI_EN | tag | (reg & 0xfc))
-#define PCI_FORWARD_FROM_TAG(tag)       PCI_BUS_FROM_TAG(tag)
-#define PCI_ENABLE_FROM_TAG(tag)        (0xf0 | (((tag) & 0x00000700) >> 7))
-#define PCI_ADDR_FROM_TAG_CFG2(tag,reg) (0xc000 | (((tag) & 0x0000f800) >> 3) \
-                                        | (reg & 0xfc))
-
-/*
- * Intel x86 platform specific PCI access functions
- */
-#if 0
-static CARD32 ix86PciReadLongSetup(PCITAG tag, int off);
-static void ix86PciWriteLongSetup(PCITAG, int off, CARD32 val);
-static void ix86PciSetBitsLongSetup(PCITAG, int off, CARD32 mask, CARD32 val);
-static CARD32 ix86PciReadLongCFG1(PCITAG tag, int off);
-static void ix86PciWriteLongCFG1(PCITAG, int off, CARD32 val);
-static void ix86PciSetBitsLongCFG1(PCITAG, int off, CARD32 mask, CARD32 val);
-static CARD32 ix86PciReadLongCFG2(PCITAG tag, int off);
-static void ix86PciWriteLongCFG2(PCITAG, int off, CARD32 val);
-static void ix86PciSetBitsLongCFG2(PCITAG, int off, CARD32 mask, CARD32 val);
-#endif
-
-static pciBusFuncs_t ix86Funcs0 = {
-#if 0
-/* pciReadLong      */	ix86PciReadLongSetup,
-/* pciWriteLong     */	ix86PciWriteLongSetup,
-/* pciSetBitsLong   */	ix86PciSetBitsLongSetup,
-/* pciAddrHostToBus */	pciAddrNOOP,
-#endif
-/* pciAddrBusToHost */	pciAddrNOOP
-};
-
-static pciBusFuncs_t ix86Funcs1 = {
-#if 0
-/* pciReadLong      */	ix86PciReadLongCFG1,
-/* pciWriteLong     */	ix86PciWriteLongCFG1,
-/* pciSetBitsLong   */	ix86PciSetBitsLongCFG1,
-/* pciAddrHostToBus */	pciAddrNOOP,
-#endif
-/* pciAddrBusToHost */	pciAddrNOOP
-};
-
-static pciBusFuncs_t ix86Funcs2 = {
-#if 0
-/* pciReadLong      */	ix86PciReadLongCFG2,
-/* pciWriteLong     */	ix86PciWriteLongCFG2,
-/* pciSetBitsLong   */	ix86PciSetBitsLongCFG2,
-/* pciAddrHostToBus */	pciAddrNOOP,
-#endif
-/* pciAddrBusToHost */	pciAddrNOOP
-};
-
-static pciBusInfo_t ix86Pci0 = {
-/* configMech  */	PCI_CFG_MECH_UNKNOWN,	/* Set by ix86PciInit() */
-/* numDevices  */	0,			/* Set by ix86PciInit() */
-/* secondary   */	FALSE,
-/* primary_bus */	0,
-/* funcs       */	&ix86Funcs0,		/* Set by ix86PciInit() */
-/* pciBusPriv  */	NULL,
-/* bridge      */	NULL
-};
-
-_X_EXPORT pointer
-xf86MapDomainMemory(int ScreenNum, int Flags, struct pci_device *dev,
-                    ADDRESS Base, unsigned long Size)
-{
-    return xf86MapVidMem(ScreenNum, Flags, Base, Size);
-}
-
-IOADDRESS
-xf86MapLegacyIO(struct pci_device *dev)
-{
-    (void)dev;
-    return 0;
-}
-
-static Bool
-ix86PciBusCheck(void)
-{
-#if 0
-    PCITAG tag;
-    CARD32 id, class;
-    CARD8 device;
-
-    for (device = 0; device < ix86Pci0.numDevices; device++) {
-	tag = PCI_MAKE_TAG(0, device, 0);
-	id = (*ix86Pci0.funcs->pciReadLong)(tag, PCI_ID_REG);
-
-	if ((CARD16)(id + 1U) <= (CARD16)1UL)
-		continue;
-
-	/* The rest of this is inspired by the Linux kernel */
-	class = (*ix86Pci0.funcs->pciReadLong)(tag, PCI_CLASS_REG);
-
-	/* Ignore revision id and programming interface */
-	switch (class >> 16) {
-	case (PCI_CLASS_PREHISTORIC << 8) | PCI_SUBCLASS_PREHISTORIC_MISC:
-	    /* Check for vendors of known buggy chipsets */
-	    id &= 0x0000ffff;
-	    if ((id == PCI_VENDOR_INTEL) || (id == PCI_VENDOR_COMPAQ))
-		return TRUE;
-	    continue;
-
-	case (PCI_CLASS_PREHISTORIC << 8) | PCI_SUBCLASS_PREHISTORIC_VGA:
-	case (PCI_CLASS_DISPLAY << 8) | PCI_SUBCLASS_DISPLAY_VGA:
-	case (PCI_CLASS_BRIDGE << 8) | PCI_SUBCLASS_BRIDGE_HOST:
-	    return TRUE;
-
-	default:
-	    break;
-	}
-    }
-#endif
-    return FALSE;
-}
-
-static void
-ix86PciSelectCfgmech(void)
-{
-    static Bool beenhere = FALSE;
-    CARD32 mode1Res1 = 0, mode1Res2 = 0, oldVal1 = 0;
-    CARD8  mode2Res1 = 0, mode2Res2 = 0, oldVal2 = 0;
-    int stages = 0;
-
-    if (beenhere)
-	return; /* Been there, done that */
-
-    beenhere = TRUE;
-
-    /* Determine if motherboard chipset supports PCI Config Mech 1 or 2 */
-    do {
-	if (!xf86EnableIO())
-	    return;
-
-	xf86MsgVerb(X_INFO, 2,
-		"PCI: Probing config type using method 1\n");
-	oldVal1 = inl(PCI_CFGMECH1_ADDRESS_REG);
-
-#ifdef DEBUGPCI
-	if (xf86Verbose > 2) {
-	    ErrorF("Checking config type 1:\n"
-		    "\tinitial value of MODE1_ADDR_REG is 0x%08x\n", oldVal1);
-	    ErrorF("\tChecking that all bits in mask 0x7f000000 are clear\n");
-	}
-#endif
-
-	/* Assuming config type 1 to start with */
-	if ((oldVal1 & 0x7f000000) == 0) {
-
-	    stages |= 0x01;
-
-#ifdef DEBUGPCI
-	    if (xf86Verbose > 2) {
-		ErrorF("\tValue indicates possibly config type 1\n");
-		ErrorF("\tWriting 32-bit value 0x%08x to MODE1_ADDR_REG\n", PCI_EN);
-#if 0
-		ErrorF("\tWriting 8-bit value 0x00 to MODE1_ADDR_REG + 3\n");
-#endif
-	    }
-#endif
-
-	    ix86Pci0.configMech = PCI_CFG_MECH_1;
-	    ix86Pci0.numDevices = PCI_CFGMECH1_MAXDEV;
-	    ix86Pci0.funcs = &ix86Funcs1;
-
-	    outl(PCI_CFGMECH1_ADDRESS_REG, PCI_EN);
-
-#if 0
-	    /*
-	     * This seems to cause some Neptune-based PCI machines to switch
-	     * from config type 1 to config type 2
-	     */
-	    outb(PCI_CFGMECH1_ADDRESS_REG + 3, 0);
-#endif
-	    mode1Res1 = inl(PCI_CFGMECH1_ADDRESS_REG);
-
-#ifdef DEBUGPCI
-	    if (xf86Verbose > 2) {
-		ErrorF("\tValue read back from MODE1_ADDR_REG is 0x%08x\n",
-			mode1Res1);
-		ErrorF("\tRestoring original contents of MODE1_ADDR_REG\n");
-	    }
-#endif
-
-	    outl(PCI_CFGMECH1_ADDRESS_REG, oldVal1);
-
-	    if (mode1Res1) {
-
-		stages |= 0x02;
-
-#ifdef DEBUGPCI
-		if (xf86Verbose > 2) {
-		    ErrorF("\tValue read back is non-zero, and indicates possible"
-			    " config type 1\n");
-		}
-#endif
-
-		if (ix86PciBusCheck()) {
-
-#ifdef DEBUGPCI
-		    if (xf86Verbose > 2)
-			ErrorF("\tBus check Confirms this: ");
-#endif
-
-		    xf86MsgVerb(X_INFO, 2, "PCI: Config type is 1\n");
-		    xf86MsgVerb(X_INFO, 3,
-			    "PCI: stages = 0x%02x, oldVal1 = 0x%08lx, mode1Res1"
-			    " = 0x%08lx\n", stages, (unsigned long)oldVal1,
-			    (unsigned long)mode1Res1);
-		    return;
-		}
-
-#ifdef DEBUGPCI
-		if (xf86Verbose > 2) {
-		    ErrorF("\tBus check fails to confirm this, continuing type 1"
-			    " check ...\n");
-		}
-#endif
-
-	    }
-
-	    stages |= 0x04;
-
-#ifdef DEBUGPCI
-	    if (xf86Verbose > 2) {
-		ErrorF("\tWriting 0xff000001 to MODE1_ADDR_REG\n");
-	    }
-#endif
-	    outl(PCI_CFGMECH1_ADDRESS_REG, 0xff000001);
-	    mode1Res2 = inl(PCI_CFGMECH1_ADDRESS_REG);
-
-#ifdef DEBUGPCI
-	    if (xf86Verbose > 2) {
-		ErrorF("\tValue read back from MODE1_ADDR_REG is 0x%08x\n",
-			mode1Res2);
-		ErrorF("\tRestoring original contents of MODE1_ADDR_REG\n");
-	    }
-#endif
-
-	    outl(PCI_CFGMECH1_ADDRESS_REG, oldVal1);
-
-	    if ((mode1Res2 & 0x80000001) == 0x80000000) {
-
-		stages |= 0x08;
-
-#ifdef DEBUGPCI
-		if (xf86Verbose > 2) {
-		    ErrorF("\tValue read back has only the msb set\n"
-			    "\tThis indicates possible config type 1\n");
-		}
-#endif
-
-		if (ix86PciBusCheck()) {
-
-#ifdef DEBUGPCI
-		    if (xf86Verbose > 2)
-			ErrorF("\tBus check Confirms this: ");
-#endif
-
-		    xf86MsgVerb(X_INFO, 2, "PCI: Config type is 1\n");
-		    xf86MsgVerb(X_INFO, 3,
-			    "PCI: stages = 0x%02x, oldVal1 = 0x%08lx,\n"
-			    "\tmode1Res1 = 0x%08lx, mode1Res2 = 0x%08lx\n",
-			    stages, (unsigned long)oldVal1,
-			    (unsigned long)mode1Res1, (unsigned long)mode1Res2);
-		    return;
-		}
-
-#ifdef DEBUGPCI
-		if (xf86Verbose > 2) {
-		    ErrorF("\tBus check fails to confirm this.\n");
-		}
-#endif
-
-	    }
-	}
-
-	xf86MsgVerb(X_INFO, 3, "PCI: Standard check for type 1 failed.\n");
-	xf86MsgVerb(X_INFO, 3, "PCI: stages = 0x%02x, oldVal1 = 0x%08lx,\n"
-		"\tmode1Res1 = 0x%08lx, mode1Res2 = 0x%08lx\n",
-		stages, (unsigned long)oldVal1, (unsigned long)mode1Res1,
-		(unsigned long)mode1Res2);
-
-	/* Try config type 2 */
-	oldVal2 = inb(PCI_CFGMECH2_ENABLE_REG);
-	if ((oldVal2 & 0xf0) == 0) {
-	    ix86Pci0.configMech = PCI_CFG_MECH_2;
-	    ix86Pci0.numDevices = PCI_CFGMECH2_MAXDEV;
-	    ix86Pci0.funcs = &ix86Funcs2;
-
-	    outb(PCI_CFGMECH2_ENABLE_REG, 0x0e);
-	    mode2Res1 = inb(PCI_CFGMECH2_ENABLE_REG);
-	    outb(PCI_CFGMECH2_ENABLE_REG, oldVal2);
-
-	    if (mode2Res1 == 0x0e) {
-		if (ix86PciBusCheck()) {
-		    xf86MsgVerb(X_INFO, 2, "PCI: Config type is 2\n");
-		    return;
-		}
-	    }
-	}
-	break;
-    } while (0);
-
-    /* No PCI found */
-    ix86Pci0.configMech = PCI_CFG_MECH_UNKNOWN;
-    xf86MsgVerb(X_INFO, 2, "PCI: No PCI bus found\n");
-}
-
-void
-ix86PciInit()
-{
-    /* Initialize pciBusInfo */
-    pciBusInfo     = &ix86Pci0;
-
-    /* Make sure that there is a PCI bus present. */
-    ix86PciSelectCfgmech();
-    if (ix86Pci0.configMech == PCI_CFG_MECH_UNKNOWN) {
-	pciBusInfo     = NULL;
-    }
-}
commit a67360e79fa7e17c3d907771694009c57c1cd195
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Oct 8 23:31:38 2008 -0400

    PCI: Always build domain support.

diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index 2eb1745..adac6b6 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -184,14 +184,9 @@
 #endif
 
 #if defined(linux)
-# define ARCH_PCI_INIT linuxPciInit
-# if defined(__m32r__)
-#  define INCLUDE_XF86_MAP_PCI_MEM
-#  define INCLUDE_XF86_NO_DOMAIN
-# endif
+#define ARCH_PCI_INIT linuxPciInit
 #endif /* defined(linux) */
 
-
 #if !defined(ARCH_PCI_INIT)
 #warning You really need to port to libpciaccess.
 #if defined(__i386__) || defined(__i386) ||  defined(__amd64__) || defined(__amd64)
diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c
index 8b0a820..2a03119 100644
--- a/hw/xfree86/os-support/bus/linuxPci.c
+++ b/hw/xfree86/os-support/bus/linuxPci.c
@@ -95,19 +95,15 @@ static const struct pci_id_match match_host_bridge = {
     0x0000ffff00, 0
 };
 
-#ifndef INCLUDE_XF86_NO_DOMAIN
 #define MAX_DOMAINS 257
 static pointer DomainMmappedIO[MAX_DOMAINS];
-#endif
 
 void
 linuxPciInit(void)
 {
     struct stat st;
 
-#ifndef INCLUDE_XF86_NO_DOMAIN
     memset(DomainMmappedIO, 0, sizeof(DomainMmappedIO));
-#endif
 
     if (-1 == stat("/proc/bus/pci", &st)) {
 	/* when using this as default for all linux architectures,
@@ -237,7 +233,6 @@ linuxPpcBusAddrToHostAddr(PCITAG tag, PciAddrType type, ADDRESS addr)
 
 #endif /* __powerpc__ */
 
-#ifndef INCLUDE_XF86_NO_DOMAIN
 
 /*
  * Compiling the following simply requires the presence of <linux/pci.c>.
@@ -601,4 +596,3 @@ xf86AccResFromOS(resPtr pRes)
     return pRes;
 }
 
-#endif /* !INCLUDE_XF86_NO_DOMAIN */
diff --git a/hw/xfree86/os-support/linux/lnx_axp.c b/hw/xfree86/os-support/linux/lnx_axp.c
index a8ad161..e8b6d47 100644
--- a/hw/xfree86/os-support/linux/lnx_axp.c
+++ b/hw/xfree86/os-support/linux/lnx_axp.c
@@ -179,7 +179,6 @@ _alpha_iobase_query(unsigned flags, int hose, int bus, int devfn)
      */
     _iobase = _alpha_iobase;
 
-#ifndef INCLUDE_XF86_NO_DOMAIN
     /* 
      * Only take over the inx/outx functions if this is a dense I/O
      * system *and* addressing domains are being used. The dense I/O
@@ -191,7 +190,6 @@ _alpha_iobase_query(unsigned flags, int hose, int bus, int devfn)
     _alpha_inb = _dense_inb;
     _alpha_inw = _dense_inw;
     _alpha_inl = _dense_inl;
-#endif /* !INCLUDE_XF86_NO_DOMAIN */
   } else _iobase = _alpha_iobase_legacy;
 
   return _iobase(flags, hose, bus, devfn);
diff --git a/hw/xfree86/os-support/linux/lnx_ev56.c b/hw/xfree86/os-support/linux/lnx_ev56.c
index 11c45e5..e751da2 100644
--- a/hw/xfree86/os-support/linux/lnx_ev56.c
+++ b/hw/xfree86/os-support/linux/lnx_ev56.c
@@ -90,7 +90,6 @@ writeDense32(int Value, pointer Base, register unsigned long Offset)
 }
 
 
-#ifndef INCLUDE_XF86_NO_DOMAIN
 
 void
 _dense_outb(char val, unsigned long port)
@@ -146,5 +145,4 @@ _dense_inl(unsigned long port)
   return *(volatile CARD32 *)port;
 }
 
-#endif /* !INCLUDE_XF86_NO_DOMAIN */
 
commit 51e105ccc3d0ac8c0fe74efd029ffbddb80b140e
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Oct 8 23:12:31 2008 -0400

    Remove xf86GetResourcesImplicitly

diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 758560d..dcc5c3e 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -1439,24 +1439,6 @@ RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment, Bool useEstimated
  * Resource registration
  */
 
-static resList
-xf86GetResourcesImplicitly(int entityIndex)
-{
-    if (entityIndex >= xf86NumEntities) return NULL;
-    
-    switch (xf86Entities[entityIndex]->bus.type) {
-    case BUS_ISA:
-    case BUS_NONE:
-    case BUS_SBUS:
-	return NULL;
-    case BUS_PCI:
-	return NULL;
-    case BUS_last:
-	return NULL;
-    }
-    return NULL;
-}
-
 static void
 convertRange2Host(int entityIndex, resRange *pRange)
 {
@@ -1487,8 +1469,7 @@ xf86ConvertListToHost(int entityIndex, resPtr list)
 
 /*
  * xf86RegisterResources() -- attempts to register listed resources.
- * If list is NULL it tries to obtain resources implicitly. Function
- * returns a resPtr listing all resources not successfully registered.
+ * Returns a resPtr listing all resources not successfully registered.
  */
 
 _X_EXPORT resPtr
@@ -1498,13 +1479,9 @@ xf86RegisterResources(int entityIndex, resList list, unsigned long access)
     resRange range;
     resList list_f = NULL;
 
-    if (!list) {
-	list = xf86GetResourcesImplicitly(entityIndex);
-	/* these resources have to be in host address space already */
-	if (!list) return NULL;
-	list_f = list;
-    }
-    
+    if (!list)
+	return NULL;
+
     while(list->type != ResEnd) {
 	range = *list;
 


More information about the xorg-commit mailing list