diff options
author | 2006-08-20 19:15:26 +0000 | |
---|---|---|
committer | 2006-08-20 19:15:26 +0000 | |
commit | d08bc524732a6e57469233aa4cf8e53101232af9 (patch) | |
tree | 5b8c0355eb233aa53b2b5d342931251bf43d7aaf /x11-base | |
parent | (#143878) Start after gpm, otherwise using the gpm device for mouse is broken... (diff) | |
download | historical-d08bc524732a6e57469233aa4cf8e53101232af9.tar.gz historical-d08bc524732a6e57469233aa4cf8e53101232af9.tar.bz2 historical-d08bc524732a6e57469233aa4cf8e53101232af9.zip |
(fd.o #3914) Altix support breaks some sparc64 systems with Mach64 video, so conditionally patch it out. This patch will be maintained and forward-ported by the sparc team. This is the last stable blocker for modular X on sparc.
Package-Manager: portage-2.1.1_pre5-r2
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xorg-server/ChangeLog | 8 | ||||
-rw-r--r-- | x11-base/xorg-server/Manifest | 20 | ||||
-rw-r--r-- | x11-base/xorg-server/files/1.1.1-remove-altix.patch | 582 | ||||
-rw-r--r-- | x11-base/xorg-server/xorg-server-1.1.1.ebuild | 10 |
4 files changed, 610 insertions, 10 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog index 9430227b03e6..14b775e5d2cd 100644 --- a/x11-base/xorg-server/ChangeLog +++ b/x11-base/xorg-server/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-base/xorg-server # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.152 2006/08/18 17:20:37 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.153 2006/08/20 19:15:25 dberkholz Exp $ + + 20 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/1.1.1-remove-altix.patch, xorg-server-1.1.1.ebuild: + (fd.o #3914) Altix support breaks some sparc64 systems with Mach64 video, so + conditionally patch it out. This patch will be maintained and forward-ported + by the sparc team. This is the last stable blocker for modular X on sparc. 18 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; xorg-server-1.1.1.ebuild: diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index 79c84bfbfa58..d37e436b92ac 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -22,6 +22,10 @@ AUX 1.0.99.901-Xprint-xprintdir.patch 447 RMD160 7728ad1173bb6e8fcb73ddcfc3ef29f MD5 e4ab51b8df81d9a3be044112dff3736f files/1.0.99.901-Xprint-xprintdir.patch 447 RMD160 7728ad1173bb6e8fcb73ddcfc3ef29f93cdde4f3 files/1.0.99.901-Xprint-xprintdir.patch 447 SHA256 4dcd1bcebfccf0b51956ea6f30bae2f0f9b7b1f62e215d16b63ef19b7433d955 files/1.0.99.901-Xprint-xprintdir.patch 447 +AUX 1.1.1-remove-altix.patch 16742 RMD160 1191f336728e336ee47e403e8038ffa3f4468870 SHA1 02bbc40bc4e8d80a208f172351ad5c95679c3acc SHA256 a74066ead6963d0d155dc107138b2ddab12f322f12c4c292ac9f38f388f63f85 +MD5 d8e257c7497286562b6e44920ea0d65e files/1.1.1-remove-altix.patch 16742 +RMD160 1191f336728e336ee47e403e8038ffa3f4468870 files/1.1.1-remove-altix.patch 16742 +SHA256 a74066ead6963d0d155dc107138b2ddab12f322f12c4c292ac9f38f388f63f85 files/1.1.1-remove-altix.patch 16742 AUX CVE-2006-1526-xrender-mitri.patch 819 RMD160 ab993ffd54ec143755f00a2cfc526253fdb7230b SHA1 fe760840ec4d6023f713f9b79b745c7822a37828 SHA256 1558fcaf5f1f6050c6a38023bc4effd8802320c2c6b3c146f19ceb8beb2d367b MD5 c51e1f359e9008bd496173a013866343 files/CVE-2006-1526-xrender-mitri.patch 819 RMD160 ab993ffd54ec143755f00a2cfc526253fdb7230b files/CVE-2006-1526-xrender-mitri.patch 819 @@ -80,14 +84,14 @@ EBUILD xorg-server-1.1.0-r1.ebuild 24216 RMD160 e03dbecff29c66075081adb836042875 MD5 85ed9414256347d33fe15b5fd14084c5 xorg-server-1.1.0-r1.ebuild 24216 RMD160 e03dbecff29c66075081adb836042875e9057c21 xorg-server-1.1.0-r1.ebuild 24216 SHA256 c56cfcb65e29310d18351437e10c58180db6d2f55c8be15c3a397b360cef4b49 xorg-server-1.1.0-r1.ebuild 24216 -EBUILD xorg-server-1.1.1.ebuild 15002 RMD160 12d39070b68be5e7f1a0d4b2b6eac054e86bab39 SHA1 a585f2f4541dcd04f48e9803def47a9392cea32c SHA256 ac5e0fdce731f54cac9d0386753c643841fa14c0341692d348d6403167520acc -MD5 eb018be4364b9aa3d0b6f58769fcf416 xorg-server-1.1.1.ebuild 15002 -RMD160 12d39070b68be5e7f1a0d4b2b6eac054e86bab39 xorg-server-1.1.1.ebuild 15002 -SHA256 ac5e0fdce731f54cac9d0386753c643841fa14c0341692d348d6403167520acc xorg-server-1.1.1.ebuild 15002 -MISC ChangeLog 31531 RMD160 1d4017ba3e9a6eb16a6813af0deb39eb30268814 SHA1 691a9407ed0db5d1d071c681e405641a20ff2afb SHA256 c6e1ec881748f3cdffbfe6871a9099445ea6002b263027282f7e6c67ceb819d5 -MD5 fb0ab0fabc9374d20eb21cab66f0d0b5 ChangeLog 31531 -RMD160 1d4017ba3e9a6eb16a6813af0deb39eb30268814 ChangeLog 31531 -SHA256 c6e1ec881748f3cdffbfe6871a9099445ea6002b263027282f7e6c67ceb819d5 ChangeLog 31531 +EBUILD xorg-server-1.1.1.ebuild 15311 RMD160 143944dd70780362845891116425c6e4908b393c SHA1 b01ea4b3f6bf7e3c3d6c31e8c41f581910f8b1a0 SHA256 888ead83ea976ca873b9568f7205da85e4e95a662b8360814b97836412ab9d73 +MD5 90cee760003f404787a1af8bedcb0cd5 xorg-server-1.1.1.ebuild 15311 +RMD160 143944dd70780362845891116425c6e4908b393c xorg-server-1.1.1.ebuild 15311 +SHA256 888ead83ea976ca873b9568f7205da85e4e95a662b8360814b97836412ab9d73 xorg-server-1.1.1.ebuild 15311 +MISC ChangeLog 31883 RMD160 9689e2a5e1af5988ac3c0b25f49c395bff658401 SHA1 e08814c2a083c3ec3d3728b37b904ea0c1233a42 SHA256 a717340f032601b104c617ceb3f5f11ef3356f39e74572323a741b42ed51d7e7 +MD5 989b83758f5c441e93edc369335bca8e ChangeLog 31883 +RMD160 9689e2a5e1af5988ac3c0b25f49c395bff658401 ChangeLog 31883 +SHA256 a717340f032601b104c617ceb3f5f11ef3356f39e74572323a741b42ed51d7e7 ChangeLog 31883 MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 metadata.xml 156 diff --git a/x11-base/xorg-server/files/1.1.1-remove-altix.patch b/x11-base/xorg-server/files/1.1.1-remove-altix.patch new file mode 100644 index 000000000000..82800c012d5a --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-remove-altix.patch @@ -0,0 +1,582 @@ +diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h +index 39c8b8c..e9406d8 100644 +--- a/hw/xfree86/common/compiler.h ++++ b/hw/xfree86/common/compiler.h +@@ -120,8 +120,7 @@ # if defined(NO_INLINE) || defined(DO_PR + + # if !defined(__arm__) + # if !defined(__sparc__) && !defined(__arm32__) \ +- && !(defined(__alpha__) && defined(linux)) \ +- && !(defined(__ia64__) && defined(linux)) \ ++ && !(defined(__alpha__) && defined(linux)) + + extern void outb(unsigned short, unsigned char); + extern void outw(unsigned short, unsigned short); +@@ -159,7 +158,7 @@ # endif + + # ifndef NO_INLINE + # ifdef __GNUC__ +-# if (defined(linux) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)) && (defined(__alpha__)) ++# if (defined(linux) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)) && defined(__alpha__) + + # ifdef linux + /* for Linux on Alpha, we use the LIBC _inx/_outx routines */ +@@ -491,16 +490,11 @@ # endif + # undef outb + # undef outw + # undef outl +-# undef inb +-# undef inw +-# undef inl +-extern void outb(unsigned long port, unsigned char val); +-extern void outw(unsigned long port, unsigned short val); +-extern void outl(unsigned long port, unsigned int val); +-extern unsigned int inb(unsigned long port); +-extern unsigned int inw(unsigned long port); +-extern unsigned int inl(unsigned long port); + ++# define outb(a,b) _outb(b,a) ++# define outw(a,b) _outw(b,a) ++# define outl(a,b) _outl(b,a) ++ + # elif defined(linux) && defined(__amd64__) + + # include <inttypes.h> +diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c +index 057dfb0..3da549b 100644 +--- a/hw/xfree86/common/xf86Bus.c ++++ b/hw/xfree86/common/xf86Bus.c +@@ -1860,7 +1860,7 @@ xf86RegisterResources(int entityIndex, r + range.type = (range.type & ~ResAccMask) | (access & ResAccMask); + } + range.type &= ~ResEstimated; /* Not allowed for drivers */ +-#if !((defined(__alpha__) || (defined(__ia64__))) && defined(linux)) ++#if !(defined(__alpha__) && 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); +@@ -2480,8 +2480,8 @@ #ifdef REDUCER + #endif + } + xf86FreeResList(acc); ++ + #if !(defined(__alpha__) && defined(linux)) && \ +- !(defined(__ia64__) && defined(linux)) && \ + !(defined(__sparc64__) && defined(__OpenBSD__)) + /* + * No need to validate on Alpha Linux or OpenBSD/sparc64, +diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c +index 4d587a1..177e354 100644 +--- a/hw/xfree86/common/xf86pciBus.c ++++ b/hw/xfree86/common/xf86pciBus.c +@@ -1649,14 +1649,10 @@ getValidBIOSBase(PCITAG tag, int num) + /* Return a possible window */ + ret = findPciRange(tag,m,avoid,biosSize); + } else { +-#if !defined(__ia64__) /* on ia64, trust the kernel, don't look for overlaps */ +- if (mem) +- pciConvertListToHost(pvp->bus,pvp->device,pvp->func, mem); + if (!xf86IsSubsetOf(range, m) || + ChkConflict(&range, avoid, SETUP) + || (mem && ChkConflict(&range, mem, SETUP))) + ret = 0; +-#endif + } + + xf86FreeResList(avoid); +diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c +index ad4f773..6536442 100644 +--- a/hw/xfree86/loader/xf86sym.c ++++ b/hw/xfree86/loader/xf86sym.c +@@ -1098,12 +1098,12 @@ #if !defined(Lynx) + #endif + #endif + #if defined(__ia64__) +- SYMFUNC(outw) +- SYMFUNC(outb) +- SYMFUNC(outl) +- SYMFUNC(inb) +- SYMFUNC(inw) +- SYMFUNC(inl) ++ SYMFUNC(_outw) ++ SYMFUNC(_outb) ++ SYMFUNC(_outl) ++ SYMFUNC(_inb) ++ SYMFUNC(_inw) ++ SYMFUNC(_inl) + #endif + #if defined(__arm__) + SYMFUNC(outw) +diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h +index a91c6b2..98ab31a 100644 +--- a/hw/xfree86/os-support/bus/Pci.h ++++ b/hw/xfree86/os-support/bus/Pci.h +@@ -261,6 +261,7 @@ #elif defined(__ia64__) + # if defined(linux) + # define ARCH_PCI_INIT linuxPciInit + # define INCLUDE_XF86_MAP_PCI_MEM ++# define INCLUDE_XF86_NO_DOMAIN + # elif defined(FreeBSD) + # define ARCH_PCI_INIT freebsdPciInit + # define INCLUDE_XF86_MAP_PCI_MEM +diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c +index 0714c9c..f5b41f1 100644 +--- a/hw/xfree86/os-support/bus/linuxPci.c ++++ b/hw/xfree86/os-support/bus/linuxPci.c +@@ -63,7 +63,6 @@ #include "Pci.h" + static CARD32 linuxPciCfgRead(PCITAG tag, int off); + static void linuxPciCfgWrite(PCITAG, int off, CARD32 val); + static void linuxPciCfgSetBits(PCITAG tag, int off, CARD32 mask, CARD32 bits); +-static ADDRESS linuxTransAddrBusToHost(PCITAG tag, PciAddrType type, ADDRESS addr); + #if defined(__powerpc__) + static ADDRESS linuxPpcBusAddrToHostAddr(PCITAG, PciAddrType, ADDRESS); + static ADDRESS linuxPpcHostAddrToBusAddr(PCITAG, PciAddrType, ADDRESS); +@@ -84,7 +83,7 @@ #if defined(__powerpc__) + /* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr, + #else + /* pciAddrHostToBus */ pciAddrNOOP, +-/* pciAddrBusToHost */ linuxTransAddrBusToHost, ++/* pciAddrBusToHost */ pciAddrNOOP, + #endif + + /* pciControlBridge */ NULL, +@@ -236,26 +235,6 @@ linuxPciCfgSetBits(PCITAG tag, int off, + } + } + +-/* +- * This function will convert a BAR address into a host address +- * suitable for passing into the mmap function of a /proc/bus +- * device. +- */ +-ADDRESS linuxTransAddrBusToHost(PCITAG tag, PciAddrType type, ADDRESS addr) +-{ +- ADDRESS ret = xf86GetOSOffsetFromPCI(tag, PCI_MEM|PCI_IO, addr); +- +- if (ret) +- return ret; +- +- /* +- * if it is not a BAR address, it must be legacy, (or wrong) +- * return it as is.. +- */ +- return addr; +-} +- +- + #if defined(__powerpc__) + + #ifndef __NR_pciconfig_iobase +@@ -508,9 +487,6 @@ xf86GetPciDomain(PCITAG Tag) + if (pPCI && (result = PCI_DOM_FROM_BUS(pPCI->busnum))) + return result; + +- if (!pPCI || pPCI->fakeDevice) +- return 1; /* Domain 0 is reserved */ +- + if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0) + return 0; + +@@ -551,7 +527,7 @@ # endif + if (Flags & VIDMEM_FRAMEBUFFER) + mmapflags = MAP_SHARED | MAP_WRITECOMBINED; + else +- mmapflags = MAP_SHARED | MAP_NONCACHED; ++ mmapflags = MAP_SHARED | MAP_NONCACHED + + #else /* !__ia64__ */ + +@@ -576,7 +552,7 @@ #endif /* ?__ia64__ */ + result = mmap(NULL, Size + Offset, prot, mmapflags, fd, realBase); + + if (!result || ((pointer)result == MAP_FAILED)) +- return NULL; ++ FatalError("linuxMapPci() mmap failure: %s\n", strerror(errno)); + + xf86MakeNewMapping(ScreenNum, Flags, realBase, Size + Offset, result); + +@@ -647,37 +624,12 @@ _X_EXPORT pointer + xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag, + ADDRESS Base, unsigned long Size) + { +- int domain = xf86GetPciDomain(Tag); +- int fd; +- +- /* +- * We use /proc/bus/pci on non-legacy addresses or if the Linux sysfs +- * legacy_mem interface is unavailable. +- */ +- if (Base > 1024*1024) +- return linuxMapPci(ScreenNum, Flags, Tag, Base, Size, +- PCIIOC_MMAP_IS_MEM); +- +- if ((fd = linuxOpenLegacy(Tag, "legacy_mem")) < 0) +- return linuxMapPci(ScreenNum, Flags, Tag, Base, Size, +- PCIIOC_MMAP_IS_MEM); +- +- +- /* If we haven't already mapped this legacy space, try to. */ +- if (!DomainMmappedMem[domain]) { +- DomainMmappedMem[domain] = mmap(NULL, 1024*1024, PROT_READ|PROT_WRITE, +- MAP_SHARED, fd, 0); +- if (DomainMmappedMem[domain] == MAP_FAILED) { +- close(fd); +- perror("mmap failure"); +- FatalError("xf86MapDomainMem(): mmap() failure\n"); +- } +- } +- +- close(fd); +- return (pointer)((char *)DomainMmappedMem[domain] + Base); ++ return linuxMapPci(ScreenNum, Flags, Tag, Base, Size, PCIIOC_MMAP_IS_MEM); + } + ++#define MAX_DOMAINS 257 ++static pointer DomainMmappedIO[MAX_DOMAINS]; ++ + /* + * xf86MapDomainIO - map I/O space in this domain + * +@@ -698,30 +650,23 @@ xf86MapDomainIO(int ScreenNum, int Flags + IOADDRESS Base, unsigned long Size) + { + int domain = xf86GetPciDomain(Tag); +- int fd; + + if ((domain <= 0) || (domain >= MAX_DOMAINS)) + FatalError("xf86MapDomainIO(): domain out of range\n"); + +- if (DomainMmappedIO[domain]) +- return (IOADDRESS)DomainMmappedIO[domain] + Base; +- + /* Permanently map all of I/O space */ +- if ((fd = linuxOpenLegacy(Tag, "legacy_io")) < 0) { +- DomainMmappedIO[domain] = linuxMapPci(ScreenNum, Flags, Tag, +- 0, linuxGetIOSize(Tag), +- PCIIOC_MMAP_IS_IO); +- /* ia64 can't mmap legacy IO port space */ +- if (!DomainMmappedIO[domain]) +- return Base; +- } +- else { /* legacy_io file exists, encode fd */ +- DomainMmappedIO[domain] = (pointer)(fd << 24); ++ if (!DomainMmappedIO[domain]) { ++ DomainMmappedIO[domain] = linuxMapPci(ScreenNum, Flags, Tag, ++ 0, linuxGetIOSize(Tag), ++ PCIIOC_MMAP_IS_IO); ++ if (!DomainMmappedIO[domain]) ++ FatalError("xf86MapDomainIO(): mmap() failure\n"); + } + + return (IOADDRESS)DomainMmappedIO[domain] + Base; + } + ++/* +<<<<<<< .merge_file_1mFYhf */ + /* + * xf86ReadDomainMemory - copy from domain memory into a caller supplied buffer + */ +@@ -733,40 +678,6 @@ xf86ReadDomainMemory(PCITAG Tag, ADDRESS + unsigned long size; + int len, pagemask = getpagesize() - 1; + +- unsigned int i, dom, bus, dev, func; +- unsigned int fd; +- char file[256]; +- struct stat st; +- +- dom = PCI_DOM_FROM_TAG(Tag); +- bus = PCI_BUS_FROM_TAG(Tag); +- dev = PCI_DEV_FROM_TAG(Tag); +- func = PCI_FUNC_FROM_TAG(Tag); +- sprintf(file, "/sys/devices/pci%04x:%02x/%04x:%02x:%02x.%1x/rom", +- dom, bus, dom, bus, dev, func); +- +- /* +- * If the caller wants the ROM and the sysfs rom interface exists, +- * try to use it instead of reading it from /proc/bus/pci. +- */ +- if (((Base & 0xfffff) == 0xC0000) && (stat(file, &st) == 0)) { +- if ((fd = open(file, O_RDWR))) +- Base = 0x0; +- +- /* enable the ROM first */ +- write(fd, "1", 2); +- lseek(fd, 0, SEEK_SET); +- +- /* copy the ROM until we hit Len, EOF or read error */ +- for (i = 0; i < Len && read(fd, Buf, 1) > 0; Buf++, i++) +- ; +- +- write(fd, "0", 2); +- close(fd); +- +- return Len; +- } +- + /* Ensure page boundaries */ + offset = Base & ~pagemask; + size = ((Base + Len + pagemask) & ~pagemask) - offset; +diff --git a/hw/xfree86/os-support/linux/lnx_ia64.c b/hw/xfree86/os-support/linux/lnx_ia64.c +index 5f742d0..6580f2e 100644 +--- a/hw/xfree86/os-support/linux/lnx_ia64.c ++++ b/hw/xfree86/os-support/linux/lnx_ia64.c +@@ -30,7 +30,6 @@ #endif + + #include <sys/types.h> + #include <sys/stat.h> +-#include <sys/utsname.h> + #include <unistd.h> + #include <stdlib.h> + +@@ -41,34 +40,11 @@ #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.c b/hw/xfree86/os-support/shared/ia64Pci.c +index 1fe119d..b8e13cd 100644 +--- a/hw/xfree86/os-support/shared/ia64Pci.c ++++ b/hw/xfree86/os-support/shared/ia64Pci.c +@@ -33,165 +33,12 @@ #ifdef HAVE_XORG_CONFIG_H + #include <xorg-config.h> + #endif + +-#include <fcntl.h> +-#include <unistd.h> +-#include <signal.h> +-#include <dirent.h> +-#include <sys/types.h> +-#include <sys/stat.h> +-#include <sys/ioctl.h> +-#include <linux/pci.h> +- +-#include "compiler.h" + #include "460gxPCI.h" + #include "e8870PCI.h" + #include "zx1PCI.h" +-#include "altixPCI.h" + #include "Pci.h" + #include "ia64Pci.h" + +-/* +- * We use special in/out routines here since Altix platforms require the +- * use of the sysfs legacy_io interface. The legacy_io file maps to the I/O +- * space of a given PCI domain; reads and writes are used to do port I/O. +- * The file descriptor for the file is stored in the upper bits of the +- * value passed in by the caller, and is created and populated by +- * xf86MapDomainIO. +- * +- * If the legacy_io interface doesn't exist, we fall back to the glibc in/out +- * routines, which are prefixed by an underscore (e.g. _outb). +- */ +-static int ia64_port_to_fd(unsigned long port) +-{ +- return (port >> 24) & 0xffffffff; +-} +- +-_X_EXPORT void outb(unsigned long port, unsigned char val) +-{ +- int fd = ia64_port_to_fd(port); +- +- if (!fd) { +- _outb(val, port & 0xffff); +- goto out; +- } +- if (lseek(fd, port & 0xffff, SEEK_SET) == -1) { +- ErrorF("I/O lseek failed\n"); +- goto out; +- } +- if (write(fd, &val, 1) != 1) { +- ErrorF("I/O write failed\n"); +- goto out; +- } +- out: +- return; +-} +- +-_X_EXPORT void outw(unsigned long port, unsigned short val) +-{ +- int fd = ia64_port_to_fd(port); +- +- if (!fd) { +- _outw(val, port & 0xffff); +- goto out; +- } +- if (lseek(fd, port & 0xffff, SEEK_SET) == -1) { +- ErrorF("I/O lseek failed\n"); +- goto out; +- } +- if (write(fd, &val, 2) != 2) { +- ErrorF("I/O write failed\n"); +- goto out; +- } +- out: +- return; +-} +- +-_X_EXPORT void outl(unsigned long port, unsigned int val) +-{ +- int fd = ia64_port_to_fd(port); +- +- if (!fd) { +- _outl(val, port & 0xffff); +- goto out; +- } +- if (lseek(fd, port & 0xffff, SEEK_SET) == -1) { +- ErrorF("I/O lseek failed\n"); +- goto out; +- } +- if (write(fd, &val, 4) != 4) { +- ErrorF("I/O write failed\n"); +- goto out; +- } +- out: +- return; +-} +- +-_X_EXPORT unsigned int inb(unsigned long port) +-{ +- int fd = ia64_port_to_fd(port); +- unsigned char val; +- +- if (!fd) +- return _inb(port & 0xffff); +- +- if (lseek(fd, port & 0xffff, SEEK_SET) == -1) { +- ErrorF("I/O lseek failed\n"); +- val = -1; +- goto out; +- } +- if (read(fd, &val, 1) != 1) { +- ErrorF("I/O read failed\n"); +- val = -1; +- goto out; +- } +- out: +- return val; +-} +- +-_X_EXPORT unsigned int inw(unsigned long port) +-{ +- int fd = ia64_port_to_fd(port); +- unsigned short val; +- +- if (!fd) +- return _inw(port & 0xffff); +- +- if (lseek(fd, port & 0xffff, SEEK_SET) == -1) { +- ErrorF("I/O lseek failed\n"); +- val = -1; +- goto out; +- } +- if (read(fd, &val, 2) != 2) { +- ErrorF("I/O read failed\n"); +- val = -1; +- goto out; +- } +- out: +- return val; +-} +- +-_X_EXPORT unsigned int inl(unsigned long port) +-{ +- int fd = ia64_port_to_fd(port); +- unsigned int val; +- +- if (!fd) +- return _inl(port & 0xffff); +- +- if (lseek(fd, port & 0xffff, SEEK_SET) == -1) { +- ErrorF("I/O lseek failed\n"); +- val = -1; +- goto out; +- } +- if (read(fd, &val, 4) != 4) { +- ErrorF("I/O read failed\n"); +- val = -1; +- goto out; +- } +- out: +- return val; +-} +- + void + ia64ScanPCIWrapper(scanpciWrapperOpt flags) + { +@@ -215,9 +62,6 @@ #ifdef OS_PROBE_PCI_CHIPSET + case ZX1_CHIPSET: + xf86PreScanZX1(); + return; +- case ALTIX_CHIPSET: +- xf86PreScanAltix(); +- return; + default: + return; + } +@@ -234,9 +78,6 @@ #endif + case ZX1_CHIPSET: + xf86PostScanZX1(); + return; +- case ALTIX_CHIPSET: +- xf86PostScanAltix(); +- return; + default: + return; + } +diff --git a/hw/xfree86/os-support/shared/ia64Pci.h b/hw/xfree86/os-support/shared/ia64Pci.h +index 978c9ff..ccd6c24 100644 +--- a/hw/xfree86/os-support/shared/ia64Pci.h ++++ b/hw/xfree86/os-support/shared/ia64Pci.h +@@ -36,8 +36,7 @@ typedef enum { + NONE_CHIPSET, + I460GX_CHIPSET, + E8870_CHIPSET, +- ZX1_CHIPSET, +- ALTIX_CHIPSET ++ ZX1_CHIPSET + } IA64Chipset; + + # ifdef OS_PROBE_PCI_CHIPSET +diff --git a/hw/xfree86/os-support/xf86_OSproc.h b/hw/xfree86/os-support/xf86_OSproc.h +index 83ce9ed..4d42917 100644 +--- a/hw/xfree86/os-support/xf86_OSproc.h ++++ b/hw/xfree86/os-support/xf86_OSproc.h +@@ -262,8 +262,6 @@ resPtr xf86AccResFromOS(resPtr ret); + #endif /* NEED_OS_RAC_PROTOS */ + + extern Bool xf86GetPciSizeFromOS(PCITAG tag, int indx, int* bits); +-extern Bool xf86GetPciOffsetFromOS(PCITAG tag, int indx, unsigned long* bases); +-extern unsigned long xf86GetOSOffsetFromPCI(PCITAG tag, int space, unsigned long base); + + extern void xf86MakeNewMapping(int, int, unsigned long, unsigned long, pointer); + extern void xf86InitVidMem(void); diff --git a/x11-base/xorg-server/xorg-server-1.1.1.ebuild b/x11-base/xorg-server/xorg-server-1.1.1.ebuild index a74bed9367fb..2001ae8e0d6f 100644 --- a/x11-base/xorg-server/xorg-server-1.1.1.ebuild +++ b/x11-base/xorg-server/xorg-server-1.1.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.1.1.ebuild,v 1.6 2006/08/18 17:20:37 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.1.1.ebuild,v 1.7 2006/08/20 19:15:25 dberkholz Exp $ # Must be before x-modular eclass is inherited #SNAPSHOT="yes" @@ -328,6 +328,14 @@ src_unpack() { x-modular_unpack_source x-modular_patch_source + # https://bugs.freedesktop.org/show_bug.cgi?id=3914 + # Addition of Altix support breaks 64-bit BARs, + # which causes sparc64 lockups with ATI video + # The sparc team will maintain and forward-port this patch. + if use sparc && use video_cards_mach64; then + epatch "${FILESDIR}"/${PV}-remove-altix.patch + fi + # Set up kdrive servers to build if use kdrive; then einfo "Removing unused kdrive drivers ..." |