+++ /dev/null
---- XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_pci.c.orig Tue Oct 17 20:53:20 2000
-+++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_pci.c Fri Mar 2 13:23:04 2001
-@@ -13,7 +13,7 @@ Bool
- xf86GetPciSizeFromOS(PCITAG tag, int index, int* bits)
- {
- FILE *file;
-- char c[0x100];
-+ char c[0x200];
- char *res;
- int bus, devfn, dev, fn;
- unsigned int size[7];
-@@ -26,7 +26,7 @@ xf86GetPciSizeFromOS(PCITAG tag, int ind
- if (!(file = fopen("/proc/bus/pci/devices","r")))
- return FALSE;
- do {
-- res = fgets(c,0xff,file);
-+ res = fgets(c,0x1ff,file);
- if (res) {
- num = sscanf(res,"%02x%02x\t%*04x%*04x\t%*x"
- "\t%*x\t%*x\t%*x\t%*x\t%*x\t%*x\t%*x"
+++ /dev/null
---- XFree86-4.0.3.orig/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c.orig Thu Feb 1 04:22:06 2001
-+++ XFree86-4.0.3/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c Sat Feb 10 15:35:08 2001
-@@ -498,7 +498,7 @@
- /* set memory interface delay values and enable refresh */
- /* these apply to all RAM vendors */
- dramInit1 = 0x0;
-- dramInit1 |= 2<<SST_SGRAM_OFLOP_DEL_ADJ_SHIFT;
-+ dramInit1 |= 7<<SST_SGRAM_OFLOP_DEL_ADJ_SHIFT;
- dramInit1 |= SST_SGRAM_CLK_NODELAY;
- dramInit1 |= SST_DRAM_REFRESH_EN;
- dramInit1 |= (0x18 << SST_DRAM_REFRESH_VALUE_SHIFT) &
-SST_DRAM_REFRESH_VALUE;
+++ /dev/null
-diff -urN xc-4.0.2.orig/programs/Xserver/hw/xfree86/drivers/mga/Imakefile xc/programs/Xserver/hw/xfree86/drivers/mga/Imakefile
---- XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/Imakefile Sat Dec 16 12:33:00 2000
-+++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/Imakefile Thu Feb 8 08:56:41 2001
-@@ -57,10 +57,10 @@
-
- MGASRCS = mga_driver.c mga_hwcurs.c /* mga_cmap.c */ mga_dac3026.c mga_dacG.c \
- mga_storm8.c mga_storm16.c mga_storm24.c mga_storm32.c mga_arc.c \
-- mga_dga.c mga_shadow.c mga_video.c $(DRISRCS)
-+ mga_dga.c mga_shadow.c mga_video.c mga_g450pll.c $(DRISRCS)
- MGAOBJS = mga_driver.o mga_hwcurs.o /* mga_cmap.o */ mga_dac3026.o mga_dacG.o \
- mga_storm8.o mga_storm16.o mga_storm24.o mga_storm32.o mga_arc.o \
-- mga_dga.o mga_shadow.o mga_video.o $(DRIOBJS)
-+ mga_dga.o mga_shadow.o mga_video.o mga_g450pll.o $(DRIOBJS)
-
- SRCS = $(MGASRCS) $(MGAHALSRCS)
- OBJS = $(MGAOBJS) $(MGAHALOBJS)
-diff -urN xc-4.0.2.orig/programs/Xserver/hw/xfree86/drivers/mga/mga.h xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h
---- XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h Wed Dec 6 10:35:19 2000
-+++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h Thu Feb 8 08:56:41 2001
-@@ -414,4 +414,5 @@
- void MGAInitVideo(ScreenPtr pScreen);
- void MGAResetVideo(ScrnInfoPtr pScrn);
-
-+double G450SetPLLFreq(ScrnInfoPtr pScrn, long f_out);
- #endif
-diff -urN xc-4.0.2.orig/programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c
---- XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c Wed Dec 6 10:35:20 2000
-+++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c Thu Feb 8 08:56:41 2001
-@@ -237,6 +237,11 @@
- /* The actual frequency output by the clock */
- double f_pll;
-
-+ if(MGAISG450(pMga)) {
-+ G450SetPLLFreq(pScrn, f_out);
-+ return;
-+ }
-+
- /* Do the calculations for m, n, p and s */
- f_pll = MGAGCalcClock( pScrn, f_out, &m, &n, &p, &s );
-
-@@ -338,6 +343,9 @@
- #ifdef USEMGAHAL
- MGA_HAL(break;);
- #endif
-+ if (MGAISG450(pMga))
-+ break;
-+
- if(pMga->Dac.maxPixelClock == 360000) { /* G400 MAX */
- if(pMga->OverclockMem) {
- /* 150/200 */
-@@ -528,6 +536,10 @@
- if (mode->Flags & V_DBLSCAN)
- pVga->CRTC[9] |= 0x80;
-
-+ if(MGAISG450(pMga)) {
-+ OUTREG(MGAREG_ZORG, 0);
-+ }
-+
- MGAGSetPCLK(pScrn, mode->Clock);
- ); /* MGA_NOT_HAL */
-
-@@ -656,7 +668,10 @@
- (i == 0x1b) ||
- (i == 0x1c) ||
- ((i >= 0x1f) && (i <= 0x29)) ||
-- ((i >= 0x30) && (i <= 0x37)) )
-+ ((i >= 0x30) && (i <= 0x37)) ||
-+ (MGAISG450(pMga) &&
-+ ((i == 0x2c) || (i == 0x2d) || (i == 0x2e) ||
-+ (i == 0x4c) || (i == 0x4d) || (i == 0x4e))))
- continue;
- outMGAdac(i, mgaReg->DacRegs[i]);
- }
-@@ -665,15 +680,17 @@
- should be correct already */
- optionMask = (pMga->Primary) ? OPTION1_MASK_PRIMARY : OPTION1_MASK;
-
-- /* restore pci_option register */
-- pciSetBitsLong(pMga->PciTag, PCI_OPTION_REG, optionMask,
-- mgaReg->Option);
-- if (pMga->Chipset != PCI_CHIP_MGA1064)
-- pciSetBitsLong(pMga->PciTag, PCI_MGA_OPTION2, OPTION2_MASK,
-- mgaReg->Option2);
-- if (pMga->Chipset == PCI_CHIP_MGAG400)
-- pciSetBitsLong(pMga->PciTag, PCI_MGA_OPTION3, OPTION3_MASK,
-- mgaReg->Option3);
-+ if (!MGAISG450(pMga)) {
-+ /* restore pci_option register */
-+ pciSetBitsLong(pMga->PciTag, PCI_OPTION_REG, optionMask,
-+ mgaReg->Option);
-+ if (pMga->Chipset != PCI_CHIP_MGA1064)
-+ pciSetBitsLong(pMga->PciTag, PCI_MGA_OPTION2, OPTION2_MASK,
-+ mgaReg->Option2);
-+ if (pMga->Chipset == PCI_CHIP_MGAG400)
-+ pciSetBitsLong(pMga->PciTag, PCI_MGA_OPTION3, OPTION3_MASK,
-+ mgaReg->Option3);
-+ }
- ); /* MGA_NOT_HAL */
-
- /* restore CRTCEXT regs */
-diff -urN xc-4.0.2.orig/programs/Xserver/hw/xfree86/drivers/mga/mga_g450pll.c xc/programs/Xserver/hw/xfree86/drivers/mga/mga_g450pll.c
---- XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_g450pll.c Wed Dec 31 19:00:00 1969
-+++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_g450pll.c Thu Feb 8 08:56:41 2001
-@@ -0,0 +1,444 @@
-+/* All drivers should typically include these */
-+#include "xf86.h"
-+#include "xf86_OSproc.h"
-+#include "xf86_ansic.h"
-+
-+/* Drivers for PCI hardware need this */
-+#include "xf86PciInfo.h"
-+
-+/* Drivers that need to access the PCI config space directly need this */
-+#include "xf86Pci.h"
-+
-+#include "mga_bios.h"
-+#include "mga_reg.h"
-+#include "mga.h"
-+
-+#define DEBUG
-+
-+#define MNP_TABLE_SIZE 64
-+#define CLKSEL_MGA 0x0c
-+#define PLLLOCK 0x40
-+
-+#define outMGAdreg(reg, val) OUTREG8(RAMDAC_OFFSET + (reg), val)
-+
-+#define outMGAdac(reg, val) \
-+ (outMGAdreg(MGA1064_INDEX, reg), outMGAdreg(MGA1064_DATA, val))
-+
-+static CARD32 G450ApplyPFactor(ScrnInfoPtr pScrn, CARD8 ucP, CARD32 *pulFIn)
-+{
-+ if(!(ucP & 0x40))
-+ {
-+ *pulFIn = *pulFIn / (2L << (ucP & 3));
-+ }
-+
-+ return TRUE;
-+}
-+
-+
-+static CARD32 G450RemovePFactor(ScrnInfoPtr pScrn, CARD8 ucP, CARD32 *pulFIn)
-+{
-+ if(!(ucP & 0x40))
-+ {
-+ *pulFIn = *pulFIn * (2L << (ucP & 3));
-+ }
-+
-+ return TRUE;
-+}
-+
-+
-+static CARD32 G450CalculVCO(ScrnInfoPtr pScrn, CARD32 ulMNP, CARD32 *pulF)
-+{
-+ CARD8 ucM, ucN, ucP;
-+
-+ ucM = (CARD8)((ulMNP >> 16) & 0xff);
-+ ucN = (CARD8)((ulMNP >> 8) & 0xff);
-+ ucP = (CARD8)(ulMNP & 0x03);
-+
-+ *pulF = (27000 * (2 * (ucN + 2)) + ((ucM + 1) >> 1)) / (ucM + 1);
-+
-+ return TRUE;
-+}
-+
-+
-+static CARD32 G450CalculDeltaFreq(ScrnInfoPtr pScrn, CARD32 ulF1,
-+ CARD32 ulF2, CARD32 *pulDelta)
-+{
-+ if(ulF2 < ulF1)
-+ {
-+ *pulDelta = ((ulF1 - ulF2) * 1000) / ulF1;
-+ }
-+ else
-+ {
-+ *pulDelta = ((ulF2 - ulF1) * 1000) / ulF1;
-+ }
-+
-+ return TRUE;
-+}
-+
-+
-+
-+
-+static CARD32 G450FindNextPLLParam(ScrnInfoPtr pScrn, CARD32 ulFout,
-+ CARD32 *pulPLLMNP)
-+{
-+ CARD8 ucM, ucN, ucP, ucS;
-+ CARD32 ulVCO, ulVCOMin;
-+
-+ ucM = (CARD8)((*pulPLLMNP >> 16) & 0xff);
-+ ucN = (CARD8)((*pulPLLMNP >> 8) & 0xff);
-+ ucP = (CARD8)(*pulPLLMNP & 0x43);
-+
-+ ulVCOMin = 256000;
-+
-+ if(ulVCOMin >= (255L * 8000))
-+ {
-+ ulVCOMin = 230000;
-+ }
-+
-+ if((ucM == 9) && (ucP & 0x40))
-+ {
-+ *pulPLLMNP = 0xffffffff;
-+ } else if (ucM == 9)
-+ {
-+ if(ucP)
-+ {
-+ ucP--;
-+ }
-+ else
-+ {
-+ ucP = 0x40;
-+ }
-+ ucM = 0;
-+ }
-+ else
-+ {
-+ ucM++;
-+ }
-+
-+ ulVCO = ulFout;
-+
-+ G450RemovePFactor(pScrn, ucP, &ulVCO);
-+
-+ if(ulVCO < ulVCOMin)
-+ {
-+ *pulPLLMNP = 0xffffffff;
-+ }
-+
-+ if(*pulPLLMNP != 0xffffffff)
-+ {
-+ ucN = (CARD8)(((ulVCO * (ucM+1) + 27000)/(27000 * 2)) - 2);
-+
-+ ucS = 5;
-+ if(ulVCO < 1300000) ucS = 4;
-+ if(ulVCO < 1100000) ucS = 3;
-+ if(ulVCO < 900000) ucS = 2;
-+ if(ulVCO < 700000) ucS = 1;
-+ if(ulVCO < 550000) ucS = 0;
-+
-+ ucP |= (CARD8)(ucS << 3);
-+
-+ *pulPLLMNP &= 0xff000000;
-+ *pulPLLMNP |= (CARD32)ucM << 16;
-+ *pulPLLMNP |= (CARD32)ucN << 8;
-+ *pulPLLMNP |= (CARD32)ucP;
-+ }
-+
-+ return TRUE;
-+}
-+
-+
-+static CARD32 G450FindFirstPLLParam(ScrnInfoPtr pScrn, CARD32 ulFout,
-+ CARD32 *pulPLLMNP)
-+{
-+ CARD8 ucP;
-+ CARD32 ulVCO;
-+ CARD32 ulVCOMax;
-+
-+ /* Default value */
-+ ulVCOMax = 1300000;
-+
-+ if(ulFout > (ulVCOMax/2))
-+ {
-+ ucP = 0x40;
-+ ulVCO = ulFout;
-+ }
-+ else
-+ {
-+ ucP = 3;
-+ ulVCO = ulFout;
-+ G450RemovePFactor(pScrn, ucP, &ulVCO);
-+ while(ucP && (ulVCO > ulVCOMax))
-+ {
-+ ucP--;
-+ ulVCO = ulFout;
-+ G450RemovePFactor(pScrn, ucP, &ulVCO);
-+ }
-+ }
-+
-+ if(ulVCO > ulVCOMax)
-+ {
-+ *pulPLLMNP = 0xffffffff;
-+ }
-+ else
-+ {
-+ /* Pixel clock: 1 */
-+ *pulPLLMNP = (1 << 24) + 0xff0000 + ucP;
-+ G450FindNextPLLParam(pScrn, ulFout, pulPLLMNP);
-+ }
-+
-+ return TRUE;
-+
-+}
-+
-+
-+static CARD32 G450WriteMNP(ScrnInfoPtr pScrn, CARD32 ulMNP)
-+{
-+ MGAPtr pMga = MGAPTR(pScrn);
-+
-+ /* Pixel Pll */
-+ outMGAdac(MGA1064_PIX_PLLC_M, (CARD8)(ulMNP >> 16));
-+ outMGAdac(MGA1064_PIX_PLLC_N, (CARD8)(ulMNP >> 8));
-+ outMGAdac(MGA1064_PIX_PLLC_P, (CARD8) ulMNP);
-+ OUTREG8(0x3c00, 0x4f);
-+ return TRUE;
-+}
-+
-+
-+static CARD32 G450CompareMNP(ScrnInfoPtr pScrn, CARD32 ulFout, CARD32 ulMNP1,
-+ CARD32 ulMNP2, long *pulResult)
-+{
-+ CARD32 ulFreq, ulDelta1, ulDelta2;
-+
-+ G450CalculVCO(pScrn, ulMNP1, &ulFreq);
-+ G450ApplyPFactor(pScrn, (CARD8) ulMNP1, &ulFreq);
-+ G450CalculDeltaFreq(pScrn, ulFout, ulFreq, &ulDelta1);
-+
-+ G450CalculVCO(pScrn, ulMNP2, &ulFreq);
-+ G450ApplyPFactor(pScrn, (CARD8) ulMNP2, &ulFreq);
-+ G450CalculDeltaFreq(pScrn, ulFout, ulFreq, &ulDelta2);
-+
-+ if(ulDelta1 < ulDelta2)
-+ {
-+ *pulResult = -1;
-+ }
-+ else if(ulDelta1 > ulDelta2)
-+ {
-+ *pulResult = 1;
-+ }
-+ else
-+ {
-+ *pulResult = 0;
-+ }
-+
-+ if((ulDelta1 <= 5) && (ulDelta2 <= 5))
-+ {
-+ if((ulMNP1 & 0xff0000) < (ulMNP2 & 0xff0000))
-+ {
-+ *pulResult = -1;
-+ }
-+ else if((ulMNP1 & 0xff0000) > (ulMNP2 & 0xff0000))
-+ {
-+ *pulResult = 1;
-+ }
-+ }
-+
-+ return TRUE;
-+}
-+
-+
-+static CARD32 G450IsPllLocked(ScrnInfoPtr pScrn, Bool *lpbLocked)
-+{
-+ CARD32 ulFallBackCounter, ulLockCount, ulCount;
-+ CARD8 ucPLLStatus;
-+
-+ MGAPtr pMga = MGAPTR(pScrn);
-+
-+ /* Pixel PLL */
-+ OUTREG8(0x3c00, 0x4f);
-+
-+ ulFallBackCounter = 0;
-+
-+ do
-+ {
-+ ucPLLStatus = INREG8(0x3c0a);
-+ ulFallBackCounter++;
-+ } while(!(ucPLLStatus & PLLLOCK) && (ulFallBackCounter < 1000));
-+
-+ ulLockCount = 0;
-+ if(ulFallBackCounter < 1000)
-+ {
-+ for(ulCount = 0; ulCount < 100; ulCount++)
-+ {
-+ ucPLLStatus = INREG8(0x3c0a);
-+ if(ucPLLStatus & PLLLOCK)
-+ {
-+ ulLockCount++;
-+ }
-+ }
-+ }
-+
-+ *lpbLocked = ulLockCount >= 90;
-+
-+ return TRUE;
-+}
-+
-+
-+double G450SetPLLFreq(ScrnInfoPtr pScrn, long f_out)
-+{
-+ Bool bFoundValidPLL;
-+ Bool bLocked;
-+ CARD8 ucMisc;
-+ CARD8 ucS;
-+ CARD32 ulMaxIndex;
-+ CARD32 ulMNP;
-+ CARD32 ulMNPTable[MNP_TABLE_SIZE];
-+ CARD32 ulIndex;
-+ CARD32 ulTryMNP;
-+ long lCompareResult;
-+
-+ MGAPtr pMga = MGAPTR(pScrn);
-+
-+ G450FindFirstPLLParam(pScrn, f_out, &ulMNP);
-+ ulMNPTable[0] = ulMNP;
-+ G450FindNextPLLParam(pScrn, f_out, &ulMNP);
-+ ulMaxIndex = 1;
-+ while(ulMNP != 0xffffffff)
-+ {
-+ int ulIndex;
-+ Bool bSkipValue;
-+
-+ bSkipValue = FALSE;
-+ if(ulMaxIndex == MNP_TABLE_SIZE)
-+ {
-+ G450CompareMNP(pScrn, f_out, ulMNP, ulMNPTable[MNP_TABLE_SIZE - 1],
-+ &lCompareResult);
-+
-+ if(lCompareResult > 0)
-+ {
-+ bSkipValue = TRUE;
-+ }
-+ else
-+ {
-+ ulMaxIndex--;
-+ }
-+ }
-+
-+ if(!bSkipValue)
-+ {
-+ for(ulIndex = ulMaxIndex; !bSkipValue && (ulIndex > 0); ulIndex--)
-+ {
-+ G450CompareMNP(pScrn, f_out, ulMNP, ulMNPTable[ulIndex - 1],
-+ &lCompareResult);
-+
-+ if(lCompareResult < 0)
-+ {
-+ ulMNPTable[ulIndex] = ulMNPTable[ulIndex - 1];
-+ }
-+ else
-+ {
-+ break;
-+ }
-+ }
-+ ulMNPTable[ulIndex] = ulMNP;
-+ ulMaxIndex++;
-+ }
-+
-+ G450FindNextPLLParam(pScrn, f_out, &ulMNP);
-+ }
-+
-+ bFoundValidPLL = FALSE;
-+ ulMNP = 0;
-+
-+ /* For pixel pll */
-+ ucMisc = INREG8(0x1FCC);
-+ OUTREG8(0x1fc2, (CARD8)(ucMisc | CLKSEL_MGA));
-+
-+ for(ulIndex = 0; !bFoundValidPLL && (ulIndex < ulMaxIndex); ulIndex++)
-+ {
-+ ulTryMNP = ulMNPTable[ulIndex];
-+
-+ for(ucS = 0; !bFoundValidPLL && (ucS < 0x40); ucS += 8)
-+ {
-+ ulTryMNP &= 0xffffffc7;
-+ ulTryMNP |= (CARD32)ucS;
-+
-+ bLocked = TRUE;
-+ if((ulMNPTable[ulIndex] & 0xff00) < 0x300 ||
-+ (ulMNPTable[ulIndex] & 0xff00) > 0x7a00)
-+ {
-+ bLocked = FALSE;
-+ }
-+
-+ if(bLocked)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP - 0x300);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ }
-+
-+ if(bLocked)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP + 0x300);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ }
-+
-+ if(bLocked)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP - 0x200);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ }
-+
-+ if(bLocked)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP + 0x200);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ }
-+
-+ if(bLocked)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP - 0x100);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ }
-+
-+ if(bLocked)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP + 0x100);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ }
-+
-+ if(bLocked)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ }
-+ else if(!ulMNP)
-+ {
-+ G450WriteMNP(pScrn, ulTryMNP);
-+ G450IsPllLocked(pScrn, &bLocked);
-+ if(bLocked)
-+ {
-+ ulMNP = ulMNPTable[ulIndex];
-+ }
-+ bLocked = FALSE;
-+ }
-+
-+ if(bLocked)
-+ {
-+ bFoundValidPLL = TRUE;
-+ }
-+ }
-+ }
-+
-+ if(!bFoundValidPLL)
-+ {
-+ if(ulMNP)
-+ {
-+ G450WriteMNP(pScrn, ulMNP);
-+ }
-+ else
-+ {
-+ G450WriteMNP(pScrn, ulMNPTable[0]);
-+ }
-+ }
-+
-+ return TRUE;
-+}
+++ /dev/null
-Hi!
-
-Since end of October glibc does not canonicalize locale names returned by
-setlocale and as X looks up its locale alias without doing some obvious
-transformations like:
-s/\.iso8859\([0-9]*\)$/.ISO8859-\1/
-s/\.ISO-8859-\([0-9]*\)$/.ISO8859-\1/
-some X programs are either not localized any longer, or worse if not doing
-any error checking crash (such as rxvt).
-I think it would be good if X did these transformations (the size of its
-locale.alias could decrease quite a bit then), but I wonder if in the mean
-time a patch like this could not be used (these are just locales mentioned
-in glibc's locale.alias):
-
---- xc/nls/locale.alias.jj Wed Dec 6 23:00:42 2000
-+++ xc/nls/locale.alias Wed Dec 13 17:43:26 2000
-@@ -559,12 +559,14 @@ br_FR.iso885915: br_FR.ISO8859-15
- ca: ca_ES.ISO8859-1
- ca_ES: ca_ES.ISO8859-1
- ca_ES.iso88591: ca_ES.ISO8859-1
-+ca_ES.ISO-8859-1: ca_ES.ISO8859-1
- ca_ES.iso885915: ca_ES.ISO8859-15
- cs: cs_CZ.ISO8859-2
- cs_CS: cs_CZ.ISO8859-2
- cs_CS.ISO8859-2: cs_CZ.ISO8859-2
- cs_CZ: cs_CZ.ISO8859-2
- cs_CZ.iso88592: cs_CZ.ISO8859-2
-+cs_CZ.ISO-8859-2: cs_CZ.ISO8859-2
- cs_CZ.ISO_8859-2: cs_CZ.ISO8859-2
- XCOMM cz is old name for cs, should be deleted in the future:
- cz: cs_CZ.ISO8859-2
-@@ -579,8 +581,9 @@ da_DK: da_DK.ISO8859-1
- da_DK.88591: da_DK.ISO8859-1
- da_DK.88591.en: da_DK.ISO8859-1
- da_DK.iso88591: da_DK.ISO8859-1
--da_DK.ISO_8859-1: da_DK.ISO8859-1
- da_DK.iso885915: da_DK.ISO8859-15
-+da_DK.ISO-8859-1: da_DK.ISO8859-1
-+da_DK.ISO_8859-1: da_DK.ISO8859-1
- de: de_DE.ISO8859-1
- de_AT: de_AT.ISO8859-1
- de_AT.iso88591: de_AT.ISO8859-1
-@@ -594,6 +597,7 @@ de_DE: de_DE.ISO8859-1
- de_DE.88591: de_DE.ISO8859-1
- de_DE.88591.en: de_DE.ISO8859-1
- de_DE.iso88591: de_DE.ISO8859-1
-+de_DE.ISO-8859-1: de_DE.ISO8859-1
- de_DE.ISO_8859-1: de_DE.ISO8859-1
- de_DE.iso885915: de_DE.ISO8859-15
- GER_DE.8859: de_DE.ISO8859-1
-@@ -604,6 +608,7 @@ ee_EE.iso88594: ee_EE.ISO8859-4
- el: el_GR.ISO8859-7
- el_GR: el_GR.ISO8859-7
- el_GR.iso88597: el_GR.ISO8859-7
-+el_GR.ISO-8859-7: el_GR.ISO8859-7
- en: en_US.ISO8859-1
- en_AU: en_AU.ISO8859-1
- en_AU.iso88591: en_AU.ISO8859-1
-@@ -651,6 +656,7 @@ es_ES: es_ES.ISO8859-1
- es_ES.88591: es_ES.ISO8859-1
- es_ES.88591.en: es_ES.ISO8859-1
- es_ES.iso88591: es_ES.ISO8859-1
-+es_ES.ISO-8859-1: es_ES.ISO8859-1
- es_ES.ISO_8859-1: es_ES.ISO8859-1
- es_GT: es_GT.ISO8859-1
- es_GT.iso88591: es_GT.ISO8859-1
-@@ -685,6 +691,7 @@ XCOMM charset. EVS8:2000 specifies ISO88
- et: et_EE.ISO8859-15
- et_EE: et_EE.ISO8859-15
- et_EE.iso88591: et_EE.ISO8859-1
-+et_EE.ISO-8859-1: et_EE.ISO8859-1
- et_EE.iso88594: et_EE.ISO8859-4
- et_EE.iso885913: et_EE.ISO8859-13
- et_EE.iso885915: et_EE.ISO8859-15
-@@ -700,6 +707,7 @@ fi_FI: fi_FI.ISO8859-15
- fi_FI.88591: fi_FI.ISO8859-1
- fi_FI.88591.en: fi_FI.ISO8859-1
- fi_FI.iso88591: fi_FI.ISO8859-1
-+fi_FI.ISO-8859-1: fi_FI.ISO8859-1
- fi_FI.ISO_8859-1: fi_FI.ISO8859-1
- fi_FI.iso885915: fi_FI.ISO8859-15
- fo: fo_FO.ISO8859-1
-@@ -727,6 +735,7 @@ fr_FR: fr_FR.ISO8859-1
- fr_FR.88591: fr_FR.ISO8859-1
- fr_FR.88591.en: fr_FR.ISO8859-1
- fr_FR.iso88591: fr_FR.ISO8859-1
-+fr_FR.ISO-8859-1: fr_FR.ISO8859-1
- fr_FR.ISO_8859-1: fr_FR.ISO8859-1
- fr_FR.iso885915: fr_FR.ISO8859-15
- FRE_FR.8859: fr_FR.ISO8859-1
-@@ -744,6 +753,7 @@ gd_GB.iso885915: gd_GB.ISO8859-15
- gl: gl_ES.ISO8859-1
- gl_ES: gl_ES.ISO8859-1
- gl_ES.iso88591: gl_ES.ISO8859-1
-+gl_ES.ISO-8859-1: gl_ES.ISO8859-1
- gl_ES.iso885915: gl_ES.ISO8859-15
- he: he_IL.ISO8859-8
- he_IL: he_IL.ISO8859-8
-@@ -758,10 +768,12 @@ hi_IN.isciidev: hi_IN.ISCII-DEV
- hr: hr_HR.ISO8859-2
- hr_HR: hr_HR.ISO8859-2
- hr_HR.iso88592: hr_HR.ISO8859-2
-+hr_HR.ISO-8859-2: hr_HR.ISO8859-2
- hr_HR.ISO_8859-2: hr_HR.ISO8859-2
- hu: hu_HU.ISO8859-2
- hu_HU: hu_HU.ISO8859-2
- hu_HU.iso88592: hu_HU.ISO8859-2
-+hu_HU.ISO-8859-2: hu_HU.ISO8859-2
- hy: hy_AM.ARMSCII-8
- hy_AM: hy_AM.ARMSCII-8
- hy_AM.armscii8: hy_AM.ARMSCII-8
-@@ -775,6 +787,7 @@ in_ID: id_ID.ISO8859-1
- is: is_IS.ISO8859-1
- is_IS: is_IS.ISO8859-1
- is_IS.iso88591: is_IS.ISO8859-1
-+is_IS.ISO-8859-1: is_IS.ISO8859-1
- is_IS.ISO_8859-1: is_IS.ISO8859-1
- is_IS.iso885915: is_IS.ISO8859-15
- it: it_IT.ISO8859-1
-@@ -786,6 +799,7 @@ it_IT: it_IT.ISO8859-1
- it_IT.88591: it_IT.ISO8859-1
- it_IT.88591.en: it_IT.ISO8859-1
- it_IT.iso88591: it_IT.ISO8859-1
-+it_IT.ISO-8859-1: it_IT.ISO8859-1
- it_IT.ISO_8859-1: it_IT.ISO8859-1
- it_IT.iso885915: it_IT.ISO8859-15
- iu: iu_CA.NUNACOM-8
-@@ -796,6 +810,7 @@ XCOMM those lines should be deleted in a
- iw: he_IL.ISO8859-8
- iw_IL: he_IL.ISO8859-8
- iw_IL.iso88598: he_IL.ISO8859-8
-+iw_IL.ISO-8859-8: iw_IL.ISO8859-8
- #ifndef __uxp__
- ja_JP: ja_JP.eucJP
- #else /* __uxp__ */
-@@ -850,6 +865,7 @@ lt_LT: lt_LT.ISO8859-13
- lt_LT.iso88594: lt_LT.ISO8859-4
- lt_LT.ISO_8859-4: lt_LT.ISO8859-4
- lt_LT.iso885913: lt_LT.ISO8859-13
-+lt_LT.ISO-8859-13: lt_LT.ISO8859-13
- lt_LT.ISO_8859-13: lt_LT.ISO8859-13
- lv: lv_LV.ISO8859-13
- lv_LV: lv_LV.ISO8859-13
-@@ -880,6 +896,7 @@ nl_NL: nl_NL.ISO8859-1
- nl_NL.88591: nl_NL.ISO8859-1
- nl_NL.88591.en: nl_NL.ISO8859-1
- nl_NL.iso88591: nl_NL.ISO8859-1
-+nl_NL.ISO-8859-1: nl_NL.ISO8859-1
- nl_NL.ISO_8859-1: nl_NL.ISO8859-1
- nl_NL.iso885915: nl_NL.ISO8859-15
- no: no_NO.ISO8859-1
-@@ -893,6 +910,8 @@ nb_NO.88591: nb_NO.ISO8859-1
- ny_NO.88591: ny_NO.ISO8859-1
- no_NO.88591.en: no_NO.ISO8859-1
- no_NO.iso88591: no_NO.ISO8859-1
-+no_NO.ISO-8859-1: no_NO.ISO8859-1
-+nb_NO.ISO-8859-1: nb_NO.ISO8859-1
- no_NO.ISO_8859-1: no_NO.ISO8859-1
- no_NO.iso885915: no_NO.ISO8859-15
- nb_NO.iso885915: nb_NO.ISO8859-15
-@@ -915,6 +934,7 @@ ph_PH.iso88591: ph_PH.ISO8859-1
- pl: pl_PL.ISO8859-2
- pl_PL: pl_PL.ISO8859-2
- pl_PL.iso88592: pl_PL.ISO8859-2
-+pl_PL.ISO-8859-2: pl_PL.ISO8859-2
- pp: pp_AN.ISO8859-1
- pp_AN: pp_AN.ISO8859-1
- pp_AN.iso88591: pp_AN.ISO8859-1
-@@ -926,14 +946,17 @@ pt_PT: pt_PT.ISO8859-1
- pt_PT.88591: pt_PT.ISO8859-1
- pt_PT.88591.en: pt_PT.ISO8859-1
- pt_PT.iso88591: pt_PT.ISO8859-1
-+pt_PT.ISO-8859-1: pt_PT.ISO8859-1
- pt_PT.ISO_8859-1: pt_PT.ISO8859-1
- pt_PT.iso885915: pt_PT.ISO8859-1
- ro: ro_RO.ISO8859-2
- ro_RO: ro_RO.ISO8859-2
- ro_RO.iso88592: ro_RO.ISO8859-2
-+ro_RO.ISO-8859-2: ro_RO.ISO8859-2
- ru: ru_RU.KOI8-R
- ru_RU: ru_RU.KOI8-R
- ru_RU.iso88595: ru_RU.ISO8859-5
-+ru_RU.ISO-8859-5: ru_RU.ISO8859-5
- ru_RU.koi8r: ru_RU.KOI8-R
- ru_RU.cp1251: ru_RU.CP1251
- ru_RU.microsoftcp1251: ru_RU.CP1251
-@@ -958,10 +981,12 @@ sh_SP: sh_YU.ISO8859-2
- sk: sk_SK.ISO8859-2
- sk_SK: sk_SK.ISO8859-2
- sk_SK.iso88592: sk_SK.ISO8859-2
-+sk_SK.ISO-8859-2: sk_SK.ISO8859-2
- sl: sl_SI.ISO8859-2
- sl_CS: sl_CS.ISO8859-2
- sl_SI: sl_SI.ISO8859-2
- sl_SI.iso88592: sl_SI.ISO8859-2
-+sl_SI.ISO-8859-2: sl_SI.ISO8859-2
- sp: sp_YU.ISO8859-5
- sp_YU: sp_YU.ISO8859-5
- sq: sq_AL.ISO8859-2
-@@ -980,6 +1005,7 @@ sv_SE: sv_SE.ISO8859-1
- sv_SE.88591: sv_SE.ISO8859-1
- sv_SE.88591.en: sv_SE.ISO8859-1
- sv_SE.iso88591: sv_SE.ISO8859-1
-+sv_SE.ISO-8859-1: sv_SE.ISO8859-1
- sv_SE.ISO_8859-1: sv_SE.ISO8859-1
- sv_SE.iso885915: sv_SE.ISO8859-15
- ta: ta_IN.TSCII-0
-@@ -998,6 +1024,7 @@ tl_PH.iso88591: tl_PH.ISO8859-1
- tr: tr_TR.ISO8859-9
- tr_TR: tr_TR.ISO8859-9
- tr_TR.iso88599: tr_TR.ISO8859-9
-+tr_TR.ISO-8859-9: tr_TR.ISO8859-9
- tt: tt_RU.TATAR-CYR
- tt_RU: tt_RU.TATAR-CYR
- tt_RU.tatarcyr: tt_RU.TATAR-CYR
-@@ -1055,22 +1082,42 @@ spanish_spain.8859: es_ES.ISO8859-1
- XCOMM The following locale names are used in HPUX 9.x
- american.iso88591: en_US.ISO8859-1
- arabic.iso88596: ar_AA.ISO8859-6
-+bokmal: nb_NO.ISO8859-1
-+bokmål: nb_NO.ISO8859-1
- bulgarian: bg_BG.ISO8859-5
- c-french.iso88591: fr_CA.ISO8859-1
-+catalan: ca_ES.ISO8859-1
- chinese-s: zh_CN.eucCN
- chinese-t: zh_TW.eucTW
- croatian: hr_HR.ISO8859-2
- czech: cs_CZ.ISO8859-2
-+danish: da_DK.ISO8859-1
-+dansk: da_DK.ISO8859-1
- danish.iso88591: da_DK.ISO8859-1
-+deutsch: de_DE.ISO8859-1
-+dutch: nl_NL.ISO8859-1
- dutch.iso88591: nl_BE.ISO8859-1
-+eesti: et_EE.ISO8859-1
- english.iso88591: en_EN.ISO8859-1
-+estonian: et_EE.ISO8859-1
-+finnish: fi_FI.ISO8859-1
- finnish.iso88591: fi_FI.ISO8859-1
-+français: fr_FR.ISO8859-1
-+french: fr_FR.ISO8859-1
- french.iso88591: fr_CH.ISO8859-1
-+galego: gl_ES.ISO8859-1
-+galician: gl_ES.ISO8859-1
-+german: de_DE.ISO8859-1
- german.iso88591: de_CH.ISO8859-1
-+greek: el_GR.ISO8859-7
- greek.iso88597: el_GR.ISO8859-7
-+hebrew: iw_IL.ISO8859-8
- hebrew.iso88598: iw_IL.ISO8859-8
-+hrvatski: hr_HR.ISO8859-2
- hungarian: hu_HU.ISO8859-2
- icelandic.iso88591: is_IS.ISO8859-1
-+icelandic: is_IS.ISO8859-1
-+italian: it_IT.ISO8859-1
- italian.iso88591: it_IT.ISO8859-1
- #if ! (defined(SVR4) && defined(sun))
- japanese: ja_JP.SJIS
-@@ -1078,17 +1125,27 @@ japanese: ja_JP.SJIS
- japanese: ja_JP.eucJP
- #endif
- japanese.euc: ja_JP.eucJP
-+japanese.sjis: ja_JP.SJIS
- korean: ko_KR.eucKR
-+korean.euc: ko_KR.eucKR
-+lithuanian: lt_LT.ISO8859-13
-+norwegian: no_NO.ISO8859-1
- norwegian.iso88591: no_NO.ISO8859-1
-+portuguese: pt_PT.ISO8859-1
- polish: pl_PL.ISO8859-2
- portuguese.iso88591: pt_PT.ISO8859-1
-+romanian: ro_RO.ISO8859-2
- rumanian: ro_RO.ISO8859-2
- russian: ru_RU.ISO8859-5
- serbocroatian: sh_YU.ISO8859-2
- slovak: sk_SK.ISO8859-2
- slovene: sl_CS.ISO8859-2
-+slovenian: sl_SI.ISO8859-2
-+spanish: es_ES.ISO8859-1
- spanish.iso88591: es_ES.ISO8859-1
-+swedish: sv_SE.ISO8859-1
- swedish.iso88591: sv_SE.ISO8859-1
-+turkish: tr_TR.ISO8859-9
- turkish.iso88599: tr_TR.ISO8859-9
- univ.utf8: en_US.UTF-8
- XCOMM Digital Unix utf
-
-
- Jakub
+++ /dev/null
---- XFree86-4.0.1/xc/programs/xkbcomp/rules/sgi.lst.learn-to-spell Mon Aug 14 15:35:41 2000
-+++ XFree86-4.0.1/xc/programs/xkbcomp/rules/sgi.lst Mon Aug 14 15:36:45 2000
-@@ -38,7 +38,7 @@
- jp Japanese
- no Norwegian
- pl Polish
-- pt Portugese
-+ pt Portuguese
- ru Russian
- se Swedish
- th Thai
---- XFree86-4.0.1/xc/programs/xkbcomp/rules/sun.lst.learn-to-spell Mon Aug 14 15:35:47 2000
-+++ XFree86-4.0.1/xc/programs/xkbcomp/rules/sun.lst Mon Aug 14 15:36:54 2000
-@@ -27,7 +27,7 @@
- jp Japanese
- no Norwegian
- pl Polish
-- pt Portugese
-+ pt Portuguese
- ru Russian
- se Swedish
- th Thai
+++ /dev/null
---- XFree86-4.0.3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/r128_cce.c Wed Dec 13 11:02:12 2000
-+++ XFree86-4.0.3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/r128_cce.c Tue Feb 20 18:10:16 2001
-@@ -36,9 +36,8 @@
- #include <linux/interrupt.h> /* For task queue support */
- #include <linux/delay.h>
-
-+#define R128_FIFO_DEBUG 0
-
--/* FIXME: Temporary CCE packet buffer */
--u32 r128_cce_buffer[(1 << 14)] __attribute__ ((aligned (32)));
-
- /* CCE microcode (from ATI) */
- static u32 r128_cce_microcode[] = {
-@@ -114,7 +113,7 @@
- return R128_READ(R128_CLOCK_CNTL_DATA);
- }
-
--#if 0
-+#if R128_FIFO_DEBUG
- static void r128_status( drm_r128_private_t *dev_priv )
- {
- printk( "GUI_STAT = 0x%08x\n",
-@@ -152,7 +151,9 @@
- udelay( 1 );
- }
-
-+#if R128_FIFO_DEBUG
- DRM_ERROR( "%s failed!\n", __FUNCTION__ );
-+#endif
- return -EBUSY;
- }
-
-@@ -166,7 +167,9 @@
- udelay( 1 );
- }
-
-+#if R128_FIFO_DEBUG
- DRM_ERROR( "%s failed!\n", __FUNCTION__ );
-+#endif
- return -EBUSY;
- }
-
-@@ -175,7 +178,7 @@
- int i, ret;
-
- ret = r128_do_wait_for_fifo( dev_priv, 64 );
-- if ( !ret ) return ret;
-+ if ( ret < 0 ) return ret;
-
- for ( i = 0 ; i < dev_priv->usec_timeout ; i++ ) {
- if ( !(R128_READ( R128_GUI_STAT ) & R128_GUI_ACTIVE) ) {
-@@ -185,7 +188,9 @@
- udelay( 1 );
- }
-
-+#if R128_FIFO_DEBUG
- DRM_ERROR( "%s failed!\n", __FUNCTION__ );
-+#endif
- return -EBUSY;
- }
-
-@@ -241,7 +246,7 @@
- udelay( 1 );
- }
-
--#if 0
-+#if R128_FIFO_DEBUG
- DRM_ERROR( "failed!\n" );
- r128_status( dev_priv );
- #endif
---- XFree86-4.0.3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/r128_drv.h Tue Dec 5 11:57:26 2000
-+++ XFree86-4.0.3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/r128_drv.h Tue Feb 20 18:04:17 2001
-@@ -388,11 +388,11 @@
- #define R128_BASE(reg) ((u32)(dev_priv->mmio->handle))
- #define R128_ADDR(reg) (R128_BASE(reg) + reg)
-
--#define R128_DEREF(reg) *(__volatile__ int *)R128_ADDR(reg)
-+#define R128_DEREF(reg) *(volatile u32 *)R128_ADDR(reg)
- #define R128_READ(reg) R128_DEREF(reg)
- #define R128_WRITE(reg,val) do { R128_DEREF(reg) = val; } while (0)
-
--#define R128_DEREF8(reg) *(__volatile__ char *)R128_ADDR(reg)
-+#define R128_DEREF8(reg) *(volatile u8 *)R128_ADDR(reg)
- #define R128_READ8(reg) R128_DEREF8(reg)
- #define R128_WRITE8(reg,val) do { R128_DEREF8(reg) = val; } while (0)
-
---- XFree86-4.0.3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c Wed Dec 13 11:02:11 2000
-+++ XFree86-4.0.3/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c Tue Feb 20 23:44:14 2001
-@@ -78,7 +78,7 @@
- #include "drm.h"
-
- #define R128_BUFFER_RETRY 32
--#define R128_IDLE_RETRY 16
-+#define R128_IDLE_RETRY 32
-
-
- int drmR128InitCCE( int fd, drmR128Init *info )
-@@ -154,8 +154,11 @@
-
- ret = ioctl( fd, DRM_IOCTL_R128_CCE_STOP, &stop );
-
-- if ( ret && errno != EBUSY )
-+ if ( ret == 0 ) {
-+ return 0;
-+ } else if ( errno != EBUSY ) {
- return -errno;
-+ }
-
- stop.flush = 0;
-
-@@ -163,8 +166,11 @@
- ret = ioctl( fd, DRM_IOCTL_R128_CCE_STOP, &stop );
- } while ( ret && errno == EBUSY && i++ < R128_IDLE_RETRY );
-
-- if ( ret && errno != EBUSY )
-+ if ( ret == 0 ) {
-+ return 0;
-+ } else if ( errno != EBUSY ) {
- return -errno;
-+ }
-
- stop.idle = 0;
-
+++ /dev/null
-Index: xftmatch.c
-===================================================================
-RCS file: /cvs/xc/lib/Xft/xftmatch.c,v
-retrieving revision 1.4
-diff -u -r1.4 xftmatch.c
---- XFree86-4.0.3.orig/xc/lib/Xft/xftmatch.c 2001/01/26 20:51:17 1.4
-+++ XFree86-4.0.3/xc/lib/Xft/xftmatch.c 2001/03/06 10:32:01
-@@ -97,9 +97,9 @@
- static XftMatcher _XftMatchers [] = {
- { XFT_FOUNDRY, _XftCompareString, },
- { XFT_ENCODING, _XftCompareString, },
-- { XFT_SPACING, _XftCompareInteger, },
- { XFT_ANTIALIAS, _XftCompareBool, },
- { XFT_FAMILY, _XftCompareString, },
-+ { XFT_SPACING, _XftCompareInteger, },
- { XFT_PIXEL_SIZE, _XftCompareSize, },
- { XFT_STYLE, _XftCompareString, },
- { XFT_SLANT, _XftCompareInteger, },