Index: programs/Xserver/hw/xfree86/drivers/ati/Imakefile =================================================================== RCS file: /home/eich/cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile,v retrieving revision 1.1.1.33 diff -u -r1.1.1.33 Imakefile --- programs/Xserver/hw/xfree86/drivers/ati/Imakefile 1 Nov 2004 16:46:00 -0000 1.1.1.33 +++ programs/Xserver/hw/xfree86/drivers/ati/Imakefile 29 Nov 2004 17:00:13 -0000 @@ -89,8 +89,16 @@ * Currently, ATIAvoidNonPCI needs to be set to YES for those platforms that do * not tolerate PCI master aborts. */ +/* + * Some older IA64 platforms don't mind if we are poking around in PIO + * space, however the newer once do an MC if we poke any registers outside + * a small band in the VGA range. Therefore it is best not to touch PIO + * space in IA64 at all. + * This will disenfranchise Mach8/32 users but these cards are ISA and + * there is no IA64 with ISA slots. It is not recommended to use ISA + * adaptor boards for those cards. + */ #if defined(i386Architecture) || \ - defined(ia64Architecture) || \ defined(AMD64Architecture) || \ defined(AlphaArchitecture) # ifndef ATIAvoidCPIO @@ -151,7 +159,8 @@ #endif -DEFINES = $(CPIODEFINES) $(DGADEFINES) $(NONPCIDEFINES) $(DRIDEFINES) +DEFINES = $(CPIODEFINES) $(DGADEFINES) $(NONPCIDEFINES) $(NOLEGACYDEFINES) \ + $(DRIDEFINES) SRCS1 = ati.c atiadapter.c atibus.c atichip.c atiident.c atioption.c \ atiprobe.c atividmem.c $(CPIOSRCS1) $(MODSRCS1) \ Index: programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c =================================================================== RCS file: /home/eich/cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c,v retrieving revision 1.1.1.33 diff -u -r1.1.1.33 atiprobe.c --- programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c 1 Nov 2004 16:46:01 -0000 1.1.1.33 +++ programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c 29 Nov 2004 17:00:13 -0000 @@ -1243,6 +1243,10 @@ xf86MsgVerb(X_INFO, 2, ATI_NAME ": Unshared VGA not probed.\n"); } + /* + * Mach8/32 probing doesn't work well on some legacy free ia64 + * However if we use AVOID_CPIO we don't get here at all. + */ if (ATICheckSparseIOBases(NULL, ProbeFlags, 0x02E8U, 8, fChipsets[ATI_CHIPSET_IBM8514] || fChipsets[ATI_CHIPSET_MACH8] || @@ -1275,6 +1279,10 @@ ATI_NAME ": Unshared 8514/A not probed.\n"); } + /* + * Also NONPCI Mach64 probing is evil on legacy free platforms. + * However if we use AVOID_CPIO we don't get here at all. + */ for (i = 0; i < NumberOf(Mach64SparseIOBases); i++) { if (ATICheckSparseIOBases(NULL, ProbeFlags, Mach64SparseIOBases[i], @@ -1309,7 +1317,6 @@ ATIClaimSparseIOBases(ProbeFlags, Mach64SparseIOBases[i], 4, DetectedMach64); } - #endif /* AVOID_NON_PCI */ } @@ -1539,7 +1546,6 @@ ATIFindVGA(pVideo, &pVGA, &pATI, p8514, ProbeFlags); } - xf86SetPciVideo(NULL, NONE); break; }