diff options
Diffstat (limited to 'source/x/x11/patch')
45 files changed, 539 insertions, 1122 deletions
diff --git a/source/x/x11/patch/xcompmgr.patch b/source/x/x11/patch/xcompmgr.patch index 6097b12a..33c43a52 100644 --- a/source/x/x11/patch/xcompmgr.patch +++ b/source/x/x11/patch/xcompmgr.patch @@ -1,2 +1,4 @@ zcat $CWD/patch/xcompmgr/xcompmgr-follow-icccm-spec.diff.gz | patch -p1 --verbose \ || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff.gz | patch -p0 --verbose \ + || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff b/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff new file mode 100644 index 00000000..39b8ac72 --- /dev/null +++ b/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff @@ -0,0 +1,28 @@ +--- xcompmgr.c 2011-11-19 01:49:52.000000000 -0600 ++++ xcompmgr.c 2012-08-11 21:58:58.000000000 -0500 +@@ -1028,7 +1028,6 @@ + { + w->borderClip = XFixesCreateRegion (dpy, NULL, 0); + XFixesCopyRegion (dpy, w->borderClip, region); +- XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); + } + w->prev_trans = t; + t = w; +@@ -1080,6 +1079,8 @@ + if (w->mode == WINDOW_TRANS) + { + int x, y, wid, hei; ++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); ++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip); + #if HAS_NAME_WINDOW_PIXMAP + x = w->a.x; + y = w->a.y; +@@ -1099,6 +1100,8 @@ + else if (w->mode == WINDOW_ARGB) + { + int x, y, wid, hei; ++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); ++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip); + #if HAS_NAME_WINDOW_PIXMAP + x = w->a.x; + y = w->a.y; diff --git a/source/x/x11/patch/xdm.patch b/source/x/x11/patch/xdm.patch new file mode 100644 index 00000000..75e0dcb9 --- /dev/null +++ b/source/x/x11/patch/xdm.patch @@ -0,0 +1 @@ +zcat $CWD/patch/xdm/xdm.glibc.crypt.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xdm/xdm.glibc.crypt.diff b/source/x/x11/patch/xdm/xdm.glibc.crypt.diff new file mode 100644 index 00000000..076df37d --- /dev/null +++ b/source/x/x11/patch/xdm/xdm.glibc.crypt.diff @@ -0,0 +1,42 @@ +From 8d1eb5c74413e4c9a21f689fc106949b121c0117 Mon Sep 17 00:00:00 2001 +From: mancha <mancha1@hush.com> +Date: Wed, 22 May 2013 14:20:26 +0000 +Subject: Handle NULL returns from glibc 2.17+ crypt(). + +Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL +(w/ NULL return) if the salt violates specifications. Additionally, +on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords +passed to crypt() fail with EPERM (w/ NULL return). + +If using glibc's crypt(), check return value to avoid a possible +NULL pointer dereference. + +Reviewed-by: Matthieu Herrb <matthieu@herrb.eu> +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/greeter/verify.c b/greeter/verify.c +index db3cb7d..b009e2b 100644 +--- a/greeter/verify.c ++++ b/greeter/verify.c +@@ -329,6 +329,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify) + struct spwd *sp; + # endif + char *user_pass = NULL; ++ char *crypted_pass = NULL; + # endif + # ifdef __OpenBSD__ + char *s; +@@ -464,7 +465,9 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify) + # if defined(ultrix) || defined(__ultrix__) + if (authenticate_user(p, greet->password, NULL) < 0) + # else +- if (strcmp (crypt (greet->password, user_pass), user_pass)) ++ crypted_pass = crypt (greet->password, user_pass); ++ if ((crypted_pass == NULL) ++ || (strcmp (crypted_pass, user_pass))) + # endif + { + if(!greet->allow_null_passwd || strlen(p->pw_passwd) > 0) { +-- +cgit v0.9.0.2-2-gbebe + diff --git a/source/x/x11/patch/xf86-video-apm.patch b/source/x/x11/patch/xf86-video-apm.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-apm.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-ark.patch b/source/x/x11/patch/xf86-video-ark.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-ark.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-ast.patch b/source/x/x11/patch/xf86-video-ast.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-ast.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-chips.patch b/source/x/x11/patch/xf86-video-chips.patch index a5a54ac0..a9ddcaa4 100644 --- a/source/x/x11/patch/xf86-video-chips.patch +++ b/source/x/x11/patch/xf86-video-chips.patch @@ -1,4 +1,25 @@ -for patchfile in $CWD/patch/xf86-video-chips/*.patch ; do - cat $patchfile | patch -p1 --verbose \ - || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } ; +# Rationale for this is here: + +# commit bde65934fe8b40a5fdc8a469d0355caca59e81b5 +# Author: Alan Coopersmith <alan.coopersmith@oracle.com> +# Date: Sat Jul 21 09:27:10 2012 -0700 +# +# Add iopl.h to source lists in util/Makefile.am so it gets packaged +# +# Was missed when it was created in commit c421f2477c9999, since +# "make distcheck" passes due to configure determining it can't +# build the utils without the header and moving on. +# +# Reported-by: Andreas Radke <a.radke@arcor.de> +# Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +# iopl.h obtained from git repo +cp $CWD/patch/xf86-video-chips/iopl.h util/ \ + || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file done diff --git a/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch b/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch deleted file mode 100644 index a52e4103..00000000 --- a/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch +++ /dev/null @@ -1,588 +0,0 @@ -From e4bd864898fd276a62dac05cdfff394e98434f02 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 29 Mar 2011 13:53:31 +1000 -Subject: [PATCH 1/9] chips: gut the overlay 8/16 support from driver. - -This driver is for chips that were bought by Intel in 1997, -this feature means maintaining a lot of code in the X server -for little gain. - -Drop it like its hot. - -Signed-off-by: Dave Airlie <airlied@redhat.com> -Reviewed-by: Adam Jackson <ajax@redhat.com> ---- - man/chips.man | 3 - - src/ct_accel.c | 46 ++--------- - src/ct_driver.c | 234 ++++++------------------------------------------------- - src/ct_driver.h | 1 - - src/ct_video.c | 3 +- - 5 files changed, 28 insertions(+), 259 deletions(-) - -diff --git a/man/chips.man b/man/chips.man -index 740af38..0c022ee 100644 ---- a/man/chips.man -+++ b/man/chips.man -@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off - Force driver to leave centering and stretching registers alone. This - can fix some laptop suspend/resume problems. Default: off - .TP --.BI "Option \*qOverlay\*q" --Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off. --.TP - .BI "Option \*qColorKey\*q \*q" integer \*q - Set the colormap index used for the transparency key for the depth 8 plane - when operating in 8+16 overlay mode. The value must be in the range -diff --git a/src/ct_accel.c b/src/ct_accel.c -index 3920b0a..4b5776a 100644 ---- a/src/ct_accel.c -+++ b/src/ct_accel.c -@@ -428,19 +428,7 @@ chips_imagewrite: - infoPtr->ImageWriteFlags |= NO_PLANEMASK; - #endif - -- --#ifdef CHIPS_HIQV -- if (XAAInit(pScreen, infoPtr)) { -- if (cPtr->Flags & ChipsOverlay8plus16) -- return(XAAInitDualFramebufferOverlay(pScreen, -- CTNAME(DepthChange))); -- else -- return TRUE; -- } else -- return FALSE; --#else - return(XAAInit(pScreen, infoPtr)); --#endif - } - - #ifdef CHIPS_HIQV -@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn, - #endif - w *= cAcl->BytesPerPixel; - ctBLTWAIT; --#ifdef CHIPS_HIQV -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) && -- (pScrn->depth == 8)) -- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes); --#endif - ctSETSRCADDR(srcaddr); - ctSETDSTADDR(destaddr); - #ifdef CHIPS_HIQV -@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, - patternaddr = (paty * pScrn->displayWidth + - (patx & ~0x3F)) * cAcl->BytesPerPixel; - cAcl->patternyrot = (patx & 0x3F) >> 3; --#ifdef CHIPS_HIQV -- if (cPtr->Flags & ChipsOverlay8plus16) -- patternaddr += cPtr->FbOffset16; --#endif - - ctBLTWAIT; - ctSETPATSRCADDR(patternaddr); -@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, - - #ifdef CHIPS_HIQV - patternaddr = paty * pScrn->displayWidth + patx; -- if (cPtr->Flags & ChipsOverlay8plus16) -- patternaddr = patternaddr * 2 + cPtr->FbOffset16; -- else -- patternaddr *= cAcl->BytesPerPixel; -+ patternaddr *= cAcl->BytesPerPixel; - #else - patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel; - #endif -@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2; - destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); - destpitch = pScrn->displayWidth * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- destaddr += cPtr->FbOffset16; -- else -- destaddr += cAcl->FbOffset; -+ destaddr += cAcl->FbOffset; - - ctBLTWAIT; - -@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - y++; - - destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- destaddr += cPtr->FbOffset16; -- else -- destaddr += cAcl->FbOffset; -+ destaddr += cAcl->FbOffset; - - ctBLTWAIT; - ctSETDSTADDR(destaddr); -@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2; - srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); - srcpitch = pScrn->displayWidth * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- srcaddr += cPtr->FbOffset16; -- else -- srcaddr += cAcl->FbOffset; -+ srcaddr += cAcl->FbOffset; - - ctBLTWAIT; - ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM | -@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - dst += dstwidth; - y++; - srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- srcaddr += cPtr->FbOffset16; -- else -- srcaddr += cAcl->FbOffset; -+ srcaddr += cAcl->FbOffset; - ctBLTWAIT; - ctSETSRCADDR(srcaddr); - ctSETHEIGHTWIDTHGO(h, bytesPerLine); -diff --git a/src/ct_driver.c b/src/ct_driver.c -index 6624b79..08df050 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1639,55 +1639,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - } - } - -- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) { -- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) { -- if (pScrn->bitsPerPixel == 16) { -- if (cPtr->Flags & ChipsLinearSupport) { -- cPtr->Flags |= ChipsOverlay8plus16; -- if(!xf86GetOptValInteger( -- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey))) -- pScrn->colorKey = TRANSPARENCY_KEY; -- pScrn->overlayFlags = OVERLAY_8_16_DUALFB; -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, -- "PseudoColor overlay enabled.\n"); -- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH)) -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " - Forcing option \"Stretch\" \"ON\".\n"); -- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER)) -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " - Forcing option \"LcdCenter\" \"OFF\".\n"); -- if (cPtr->Flags & ChipsShadowFB) { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " - Disabling \"Shadow Framebuffer\".\n"); -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " Not support with option \"8Plus16\".\n"); -- cPtr->Flags &= ~ChipsShadowFB; -- cPtr->Rotate = 0; -- } -- } else { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n"); -- } -- } else { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- "Option \"Overlay\" is not supported in this configuration\n"); -- } -- } else { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- "\"%s\" is not a valid value for Option \"Overlay\"\n", s); -- } -- } -- -- if (!(cPtr->Flags & ChipsOverlay8plus16)) { -- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, -- &(cPtr->videoKey))) { -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", -+ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, -+ &(cPtr->videoKey))) { -+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", - cPtr->videoKey); -- } else { -- cPtr->videoKey = (1 << pScrn->offset.red) | -+ } else { -+ cPtr->videoKey = (1 << pScrn->offset.red) | - (1 << pScrn->offset.green) | - (((pScrn->mask.blue >> pScrn->offset.blue) - 1) - << pScrn->offset.blue); -- } - } - - if (cPtr->Flags & ChipsShadowFB) { -@@ -2335,28 +2295,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - /* and 32bits on the others. Thus multiply by a suitable factor */ - if (cPtr->Flags & Chips64BitMemory) { - if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) -- if (cPtr->Flags & ChipsOverlay8plus16 ) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1)); - else -- if (cPtr->Flags & ChipsOverlay8plus16) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 8 * 0.7 / bytesPerPixel); - } else { - if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) -- if (cPtr->Flags & ChipsOverlay8plus16 ) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1)); - else -- if (cPtr->Flags & ChipsOverlay8plus16) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 4 * 0.7 / bytesPerPixel); - } -@@ -3736,8 +3684,7 @@ CHIPSEnterVT(int scrnIndex, int flags) - /* Should we re-save the text mode on each VT enter? */ - if(!chipsModeInit(pScrn, pScrn->currentMode)) - return FALSE; -- if ((!(cPtr->Flags & ChipsOverlay8plus16)) -- && (cPtr->Flags & ChipsVideoSupport) -+ if ((cPtr->Flags & ChipsVideoSupport) - && (cPtr->Flags & ChipsLinearSupport)) - CHIPSResetVideo(pScrn); - -@@ -3788,8 +3735,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, - int i, index, shift ; - CHIPSEntPtr cPtrEnt; - -- shift = ((pScrn->depth == 15) && -- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0; -+ shift = (pScrn->depth == 15) ? 3 : 0; - - if (cPtr->UseDualChannel) { - cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0], -@@ -3895,18 +3841,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices, - hwp->disablePalette(hwp); - } - --static Bool --cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8, -- int xsize, int ysize, int dpix, int dpiy, -- int width16, int width8) --{ -- return -- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize, -- dpix, dpiy, width16, width8, 16, 8) && -- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize, -- dpix, dpiy, width16, width8, 16, 8, 16, 8)); --} -- - /* Mandatory */ - static Bool - CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) -@@ -3947,22 +3881,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - if (!chipsMapMem(pScrn)) - return FALSE; - -- /* Setup a pointer to the overlay if needed */ -- if (cPtr->Flags & ChipsOverlay8plus16) { -- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY; -- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY; -- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) { -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, -- "Too little memory for overlay. Disabling.\n"); -- cPtr->Flags &= ~ChipsOverlay8plus16; -- } -- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) { -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, -- "Max overlay Width/Height 1024 pixels. Disabling.\n"); -- cPtr->Flags &= ~ChipsOverlay8plus16; -- } -- } -- - /* Setup the MMIO register access functions if need */ - if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) { - CHIPSSetMmioExtFuncs(cPtr); -@@ -4035,18 +3953,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - miClearVisualTypes(); - - /* Setup the visuals we support. */ -- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){ -- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask, -- pScrn->rgbBits, PseudoColor)) -- return FALSE; -- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor)) -- return FALSE; -- } else { -- if (!miSetVisualTypes(pScrn->depth, -+ if (!miSetVisualTypes(pScrn->depth, - miGetDefaultVisualMask(pScrn->depth), - pScrn->rgbBits, pScrn->defaultVisual)) -- return FALSE; -- } -+ return FALSE; - miSetPixmapDepths (); - - /* -@@ -4090,13 +4000,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - break; - #endif - case 16: -- if (cPtr->Flags & ChipsOverlay8plus16) { -- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart + -- cPtr->FbOffset16, FBStart, width, -- height, pScrn->xDpi, pScrn->yDpi, -- displayWidth, displayWidth); -- break; -- } - default: - ret = fbScreenInit(pScreen, FBStart, - width,height, -@@ -4244,9 +4147,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - if (pScrn->bitsPerPixel < 8) - freespace = allocatebase - pScrn->displayWidth * - pScrn->virtualY / 2; -- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) -- freespace = allocatebase - pScrn->displayWidth * -- pScrn->virtualY - cPtr->FbSize16; - else - freespace = allocatebase - pScrn->displayWidth * - pScrn->virtualY * (pScrn->bitsPerPixel >> 3); -@@ -4369,9 +4269,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - AvailFBArea.y2 = cAcl->CacheEnd / - (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)); - -- if (!(cPtr->Flags & ChipsOverlay8plus16)) { -- xf86InitFBManager(pScreen, &AvailFBArea); -- } -+ xf86InitFBManager(pScreen, &AvailFBArea); - } - if (cPtr->Flags & ChipsAccelSupport) { - if (IS_HiQV(cPtr)) { -@@ -4425,16 +4323,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - if (!miCreateDefColormap(pScreen)) - return FALSE; - -- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) { -- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette, -- NULL, CMAP_RELOAD_ON_MODE_SWITCH)) -- return FALSE; -- } else { -- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, -+ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, - (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette), - NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR)) -- return FALSE; -- } -+ return FALSE; - - #ifndef XSERVER_LIBPCIACCESS - racflag = RAC_COLORMAP; -@@ -4448,8 +4340,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - xf86SetSilkenMouse(pScreen); - #endif - -- if ((!(cPtr->Flags & ChipsOverlay8plus16)) -- && (cPtr->Flags & ChipsVideoSupport) -+ if ((cPtr->Flags & ChipsVideoSupport) - && (cPtr->Flags & ChipsLinearSupport)) { - CHIPSInitVideo(pScreen); - } -@@ -4522,10 +4413,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) - Base >>= 3; - break; - case 16: -- if (!(cPtr->Flags & ChipsOverlay8plus16)) -- Base >>= 1; -- else -- Base >>= 2; -+ Base >>= 1; - break; - case 24: - if (!IS_HiQV(cPtr)) -@@ -4581,14 +4469,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) - cPtr->writeMSS(cPtr, hwp, MSS); - } - -- if (cPtr->Flags & ChipsOverlay8plus16) { -- Base = (Base << 3) & ~(unsigned long)0xF; -- -- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8); -- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF); -- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF); -- } -- - } - - /* Mandatory */ -@@ -4652,13 +4532,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; - CHIPSPtr cPtr = CHIPSPTR(pScrn); - -- if (flags & MODECHECK_FINAL) { -- /* Don't subtract FrambufferSize here as it should be subtracted already */ -- if ((cPtr->Flags & ChipsOverlay8plus16) -- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY -- < 0)) -- return MODE_MEM; -- } - /* The tests here need to be expanded */ - if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD)) - return MODE_NO_INTERLACE; -@@ -5544,12 +5417,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - } else { - ChipsStd->Attribute[0x10] = 0x01; /* mode */ - } -- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) { -- /* Make sure that the overlay isn't visible in the overscan region */ -- if (ChipsStd->Attribute[0x11] == pScrn->colorKey) -- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1; -- } else -- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ -+ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ - ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */ - ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */ - -@@ -5558,8 +5426,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - /* set virtual screen width */ - tmp = pScrn->displayWidth >> 3; - if (pScrn->bitsPerPixel == 16) { -- if (!(cPtr->Flags & ChipsOverlay8plus16)) -- tmp <<= 1; /* double the width of the buffer */ -+ tmp <<= 1; /* double the width of the buffer */ - } else if (pScrn->bitsPerPixel == 24) { - tmp += tmp << 1; - } else if (pScrn->bitsPerPixel == 32) { -@@ -5688,8 +5555,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - - /* centering/stretching */ - if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) { -- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) || -- (cPtr->Flags & ChipsOverlay8plus16)) { -+ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) { - ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */ - ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */ - ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */ -@@ -5709,8 +5575,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - } - } - -- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) -- || (cPtr->Flags & ChipsOverlay8plus16)) { -+ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) { - ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */ - ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */ - } else { -@@ -5723,8 +5588,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - ChipsNew->XR[0x82] |=0x02; - - /* software mode flag */ -- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ? -- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ? -+ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ? - min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) : - mode->CrtcHDisplay, mode->CrtcVDisplay); - #ifdef DEBUG -@@ -5762,7 +5626,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - } - } - /* bpp depend */ -- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) { -+ if (pScrn->bitsPerPixel == 16) { - ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4; - if (cPtr->Flags & ChipsGammaSupport) - ChipsNew->XR[0x82] |= 0x0C; -@@ -5915,60 +5779,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - /* Turn off multimedia by default as it degrades performance */ - ChipsNew->XR[0xD0] &= 0x0f; - -- /* Setup the video/overlay */ -- if (cPtr->Flags & ChipsOverlay8plus16) { -- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ --#ifdef SAR04 -- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */ --#endif -- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */ -- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE)) -- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */ -- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */ -- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */ -- if (pScrn->weight.green == 5) -- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */ -- -- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */ -- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */ -- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */ -- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF; -- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF; -- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */ -- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF; -- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF; -- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */ -- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1; -- -- /* Left Edge of Overlay */ -- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX; -- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */ -- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7); -- /* Right Edge of Overlay */ -- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth - -- 1) & 0xFF; -- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */ -- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth - -- 1) >> 8) & 0x07; -- /* Top Edge of Overlay */ -- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY; -- ChipsNew->MR[0x2F] &= 0xF8; -- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7); -- /* Bottom Edge of Overlay*/ -- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF; -- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */ -- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY - -- 1 ) >> 8) & 0x07; -- -- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */ -- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */ -- ChipsNew->MR[0x3D] = 0x00; -- ChipsNew->MR[0x3E] = 0x00; -- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */ -- ChipsNew->MR[0x40] = 0xFF; -- ChipsNew->MR[0x41] = 0xFF; -- ChipsNew->MR[0x42] = 0x00; -- } else if (cPtr->Flags & ChipsVideoSupport) { -+ if (cPtr->Flags & ChipsVideoSupport) { - #if 0 /* if we do this even though video isn't playing we kill performance */ - ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ - #endif -@@ -6877,8 +6688,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs) - } - - /* Set SAR04 multimedia register correctly */ -- if ((cPtr->Flags & ChipsOverlay8plus16) -- || (cPtr->Flags & ChipsVideoSupport)) { -+ if ((cPtr->Flags & ChipsVideoSupport)) { - #ifdef SAR04 - cPtr->writeXR(cPtr, 0x4E, 0x04); - if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F]) -diff --git a/src/ct_driver.h b/src/ct_driver.h -index d8ce228..10a24d4 100644 ---- a/src/ct_driver.h -+++ b/src/ct_driver.h -@@ -114,7 +114,6 @@ typedef struct { - /* Options flags for the C&T chipsets */ - #define ChipsHWCursor 0x00001000 - #define ChipsShadowFB 0x00002000 --#define ChipsOverlay8plus16 0x00004000 - #define ChipsUseNewFB 0x00008000 - - /* Architecture type flags */ -diff --git a/src/ct_video.c b/src/ct_video.c -index a68acb9..c9e5bb4 100644 ---- a/src/ct_video.c -+++ b/src/ct_video.c -@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen) - CHIPSPtr cPtr = CHIPSPTR(pScrn); - int num_adaptors; - -- if (!(cPtr->Flags & ChipsOverlay8plus16) && -- (cPtr->Flags & ChipsVideoSupport)) { -+ if ((cPtr->Flags & ChipsVideoSupport)) { - newAdaptor = CHIPSSetupImageVideo(pScreen); - CHIPSInitOffscreenImages(pScreen); - } --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch b/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch deleted file mode 100644 index 6caaa210..00000000 --- a/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5f8a7320123255408b393eab9ecfae783920622a Mon Sep 17 00:00:00 2001 -From: Mark Kettenis <kettenis@openbsd.org> -Date: Mon, 26 Sep 2011 21:26:26 +0200 -Subject: [PATCH 2/9] PciTag is unused when using libpciaccess - -Signed-off-by: Mark Kettenis <kettenis@openbsd.org> -Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> -Reviewed-by: Julien Cristau <jcristau@debian.org> ---- - src/ct_driver.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/ct_driver.h b/src/ct_driver.h -index 10a24d4..39eeb6e 100644 ---- a/src/ct_driver.h -+++ b/src/ct_driver.h -@@ -271,7 +271,9 @@ typedef struct { - - typedef struct _CHIPSRec { - pciVideoPtr PciInfo; -+#ifndef XSERVER_LIBPCIACCESS - PCITAG PciTag; -+#endif - int Chipset; - EntityInfoPtr pEnt; - IOADDRESS PIOBase; --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch b/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch deleted file mode 100644 index de379e4d..00000000 --- a/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7ca1840f39d0216e44fe1ca938cfc3ced048da1d Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 22:24:54 -0700 -Subject: [PATCH 3/9] Use malloc/calloc/realloc/free directly - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - src/ct_driver.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index 08df050..e6538c6 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -949,7 +949,7 @@ CHIPSProbe(DriverPtr drv, int flags) - } - - } -- xfree(usedChips); -+ free(usedChips); - } - } - -@@ -981,12 +981,12 @@ CHIPSProbe(DriverPtr drv, int flags) - pScrn->ValidMode = CHIPSValidMode; - foundScreen = TRUE; - } -- xfree(usedChips); -+ free(usedChips); - } - } - #endif - -- xfree(devSections); -+ free(devSections); - return foundScreen; - } - #endif -@@ -4126,7 +4126,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - } - if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY, - pScrn->displayWidth, pBankInfo)) { -- xfree(pBankInfo); -+ free(pBankInfo); - pBankInfo = NULL; - return FALSE; - } --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch b/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch deleted file mode 100644 index bcf6355a..00000000 --- a/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f5191838b70d67e991bef3491d2a60915988079c Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 22:37:00 -0700 -Subject: [PATCH 4/9] configure.ac: Remove AM_PROG_CC_C_O - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - configure.ac | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 225e516..c0ed508 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -44,9 +44,6 @@ XORG_DEFAULT_OPTIONS - AC_DISABLE_STATIC - AC_PROG_LIBTOOL - --# Checks for programs. --AM_PROG_CC_C_O -- - AH_TOP([#include "xorg-server.h"]) - - # Define a configure option for an alternate module directory --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch b/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch deleted file mode 100644 index 77d0d5bc..00000000 --- a/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch +++ /dev/null @@ -1,283 +0,0 @@ -From 94a8b34528b42a4fe6f81c8b8bd1ddb6bebaeea9 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 23:04:32 -0700 -Subject: [PATCH 5/9] util: Consolidate common macros - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - util/dRegs.c | 57 +------------------------------------------------------ - util/iopl.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - util/mRegs.c | 57 +------------------------------------------------------ - util/modClock.c | 53 ++------------------------------------------------- - 4 files changed, 58 insertions(+), 163 deletions(-) - create mode 100644 util/iopl.h - -diff --git a/util/dRegs.c b/util/dRegs.c -index b7edc8f..0d2f0cb 100644 ---- a/util/dRegs.c -+++ b/util/dRegs.c -@@ -1,63 +1,8 @@ -- -- -- -- -- -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - int main(void) - { -diff --git a/util/iopl.h b/util/iopl.h -new file mode 100644 -index 0000000..d7890b3 ---- /dev/null -+++ b/util/iopl.h -@@ -0,0 +1,54 @@ -+#ifdef __NetBSD__ -+# include <sys/types.h> -+# include <machine/pio.h> -+# include <machine/sysarch.h> -+#else -+# if defined(SVR4) && defined(i386) -+# include <sys/types.h> -+# ifdef NCR -+ /* broken NCR <sys/sysi86.h> */ -+# define __STDC -+# include <sys/sysi86.h> -+# undef __STDC -+# else -+# include <sys/sysi86.h> -+# endif -+# ifdef SVR4 -+# if !defined(sun) -+# include <sys/seg.h> -+# endif -+# endif -+# include <sys/v86.h> -+# if defined(sun) -+# include <sys/psw.h> -+# endif -+# endif -+# include "AsmMacros.h" -+#endif /* NetBSD */ -+ -+#include <unistd.h> -+#include <stdio.h> -+#include <stdlib.h> -+ -+#ifdef __NetBSD__ -+# define SET_IOPL() i386_iopl(3) -+# define RESET_IOPL() i386_iopl(0) -+#else -+# if defined(SVR4) && defined(i386) -+# ifndef SI86IOPL -+# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) -+# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) -+# else -+# define SET_IOPL() sysi86(SI86IOPL,3) -+# define RESET_IOPL() sysi86(SI86IOPL,0) -+# endif -+# else -+# ifdef linux -+# define SET_IOPL() iopl(3) -+# define RESET_IOPL() iopl(0) -+# else -+# define SET_IOPL() (void)0 -+# define RESET_IOPL() (void)0 -+# endif -+# endif -+#endif -diff --git a/util/mRegs.c b/util/mRegs.c -index f359738..843d01d 100644 ---- a/util/mRegs.c -+++ b/util/mRegs.c -@@ -1,63 +1,8 @@ -- -- -- -- -- -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - int hex2int(char* str); - -diff --git a/util/modClock.c b/util/modClock.c -index 89a291a..45af19b 100644 ---- a/util/modClock.c -+++ b/util/modClock.c -@@ -1,61 +1,12 @@ -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> -+ - #ifndef Lynx - #include <fnmatch.h> - #endif - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - #define tolerance 0.01 /* +/- 1% */ - --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch b/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch deleted file mode 100644 index a0b4bb4b..00000000 --- a/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c421f2477c99990d0dc712d6aece981fa6c961e5 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 23:09:09 -0700 -Subject: [PATCH 6/9] Fix implicit declaration of iopl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -warning: implicit declaration of function ‘iopl’ [-Wimplicit-function-declaration] - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - util/iopl.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/util/iopl.h b/util/iopl.h -index d7890b3..e08207c 100644 ---- a/util/iopl.h -+++ b/util/iopl.h -@@ -3,6 +3,12 @@ - # include <machine/pio.h> - # include <machine/sysarch.h> - #else -+# if defined(__linux__) -+/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc -+ * # include <sys/io.h> -+ */ -+int iopl(int level); -+# endif - # if defined(SVR4) && defined(i386) - # include <sys/types.h> - # ifdef NCR --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch b/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch deleted file mode 100644 index 12dc5131..00000000 --- a/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 8a5ea07f30cc71ecc413fad0713facff72f77472 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 23:21:33 -0700 -Subject: [PATCH 7/9] Build fix for ABI Version 12 - -ABI Version 12 removes support for multiple PCI domains. If you need to -use this driver on a system with more than one PCI domain, you should -either port this driver to using libpciaccess directly or stick with an -older server. - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - src/ct_driver.c | 5 +++++ - src/ct_driver.h | 4 ++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index e6538c6..a2e5c94 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1446,7 +1446,12 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - - hwp = VGAHWPTR(pScrn); - vgaHWGetIOBase(hwp); -+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 - cPtr->PIOBase = hwp->PIOOffset; -+#else -+ cPtr->PIOBase = 0; -+#endif -+ - /* - * Must allow ensure that storage for the 2nd set of vga registers is - * allocated for dual channel cards -diff --git a/src/ct_driver.h b/src/ct_driver.h -index 39eeb6e..9033867 100644 ---- a/src/ct_driver.h -+++ b/src/ct_driver.h -@@ -276,8 +276,8 @@ typedef struct _CHIPSRec { - #endif - int Chipset; - EntityInfoPtr pEnt; -- IOADDRESS PIOBase; -- CARD32 IOAddress; -+ unsigned long PIOBase; -+ unsigned long IOAddress; - unsigned long FbAddress; - unsigned int IOBase; - unsigned char * FbBase; --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch b/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch deleted file mode 100644 index 3478fa34..00000000 --- a/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5d5753551609f1483801e5edd8d42b11713c981e Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Mon, 19 Dec 2011 16:18:34 -0500 -Subject: [PATCH 8/9] Fall back to shadowfb if XAA is unavailable - -Signed-off-by: Adam Jackson <ajax@redhat.com> ---- - src/ct_driver.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index a2e5c94..95092a2 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1345,10 +1345,9 @@ CHIPSPreInit(ScrnInfoPtr pScrn, int flags) - - if (cPtr->Flags & ChipsAccelSupport) { - if (!xf86LoadSubModule(pScrn, "xaa")) { -- vbeFree(cPtr->pVbe); -- cPtr->pVbe = NULL; -- CHIPSFreeRec(pScrn); -- return FALSE; -+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n"); -+ cPtr->Flags &= ~(ChipsAccelSupport); -+ cPtr->Flags |= ChipsShadowFB; - } - } - --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch b/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch deleted file mode 100644 index 74ec3722..00000000 --- a/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 989cf4f1fb2ac57f38d363734b71a5cf749db146 Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Mon, 19 Dec 2011 17:45:41 -0500 -Subject: [PATCH 9/9] Fix for new vgaHW ABI - -Signed-off-by: Adam Jackson <ajax@redhat.com> ---- - src/ct_driver.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index 95092a2..08ccd72 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1444,6 +1444,7 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - return FALSE; - - hwp = VGAHWPTR(pScrn); -+ vgaHWSetStdFuncs(hwp); - vgaHWGetIOBase(hwp); - #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 - cPtr->PIOBase = hwp->PIOOffset; --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/iopl.h b/source/x/x11/patch/xf86-video-chips/iopl.h new file mode 100644 index 00000000..e08207c7 --- /dev/null +++ b/source/x/x11/patch/xf86-video-chips/iopl.h @@ -0,0 +1,60 @@ +#ifdef __NetBSD__ +# include <sys/types.h> +# include <machine/pio.h> +# include <machine/sysarch.h> +#else +# if defined(__linux__) +/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc + * # include <sys/io.h> + */ +int iopl(int level); +# endif +# if defined(SVR4) && defined(i386) +# include <sys/types.h> +# ifdef NCR + /* broken NCR <sys/sysi86.h> */ +# define __STDC +# include <sys/sysi86.h> +# undef __STDC +# else +# include <sys/sysi86.h> +# endif +# ifdef SVR4 +# if !defined(sun) +# include <sys/seg.h> +# endif +# endif +# include <sys/v86.h> +# if defined(sun) +# include <sys/psw.h> +# endif +# endif +# include "AsmMacros.h" +#endif /* NetBSD */ + +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> + +#ifdef __NetBSD__ +# define SET_IOPL() i386_iopl(3) +# define RESET_IOPL() i386_iopl(0) +#else +# if defined(SVR4) && defined(i386) +# ifndef SI86IOPL +# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) +# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) +# else +# define SET_IOPL() sysi86(SI86IOPL,3) +# define RESET_IOPL() sysi86(SI86IOPL,0) +# endif +# else +# ifdef linux +# define SET_IOPL() iopl(3) +# define RESET_IOPL() iopl(0) +# else +# define SET_IOPL() (void)0 +# define RESET_IOPL() (void)0 +# endif +# endif +#endif diff --git a/source/x/x11/patch/xf86-video-dummy.patch b/source/x/x11/patch/xf86-video-dummy.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-dummy.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-geode.patch b/source/x/x11/patch/xf86-video-geode.patch new file mode 100644 index 00000000..6bbc3b34 --- /dev/null +++ b/source/x/x11/patch/xf86-video-geode.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScrn);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScrn);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-glint.patch b/source/x/x11/patch/xf86-video-glint.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-glint.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-i128.patch b/source/x/x11/patch/xf86-video-i128.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-i128.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-i740.patch b/source/x/x11/patch/xf86-video-i740.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-i740.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-neomagic.patch b/source/x/x11/patch/xf86-video-neomagic.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-neomagic.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-nv.patch b/source/x/x11/patch/xf86-video-nv.patch new file mode 100644 index 00000000..5e71368f --- /dev/null +++ b/source/x/x11/patch/xf86-video-nv.patch @@ -0,0 +1,10 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l '#include <mibstore.h>' * | while read file ; do + sed -i "s/#include <mibstore.h>//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-r128.patch b/source/x/x11/patch/xf86-video-r128.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-r128.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-rendition.patch b/source/x/x11/patch/xf86-video-rendition.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-rendition.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-s3.patch b/source/x/x11/patch/xf86-video-s3.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-s3.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-s3virge.patch b/source/x/x11/patch/xf86-video-s3virge.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-s3virge.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-savage.patch b/source/x/x11/patch/xf86-video-savage.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-savage.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-siliconmotion.patch b/source/x/x11/patch/xf86-video-siliconmotion.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-siliconmotion.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-sis.patch b/source/x/x11/patch/xf86-video-sis.patch new file mode 100644 index 00000000..45276b4c --- /dev/null +++ b/source/x/x11/patch/xf86-video-sis.patch @@ -0,0 +1,2 @@ +zcat $CWD/patch/xf86-video-sis/sis-0.10.7-git.patch.gz | patch -p1 --verbose \ + || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch b/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch new file mode 100644 index 00000000..86523755 --- /dev/null +++ b/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch @@ -0,0 +1,121 @@ +diff --git a/src/sis.h b/src/sis.h +index 46fca2a..20e6134 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -75,7 +75,6 @@ + + #include "compiler.h" + #include "xf86Pci.h" +-#include "xf86Priv.h" + #include "xf86_OSproc.h" + #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 + #include "xf86Resources.h" +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 61e8075..0fd83d7 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -57,7 +57,6 @@ + #include "fb.h" + #include "micmap.h" + #include "mipointer.h" +-#include "mibstore.h" + #include "edid.h" + + #define SIS_NEED_inSISREG +@@ -94,6 +93,10 @@ + #include "dri.h" + #endif + ++#ifndef DEFAULT_DPI ++#define DEFAULT_DPI 96 ++#endif ++ + /* + * LookupWindow was removed with video abi 11. + */ +@@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountIOBase) { + pSiSEnt->MapCountIOBase--; + if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); ++#endif + pSiSEnt->IOBase = NULL; + pSiSEnt->MapCountIOBase = 0; + pSiSEnt->forceUnmapIOBase = FALSE; +@@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountIOBaseDense) { + pSiSEnt->MapCountIOBaseDense--; + if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); ++#endif + pSiSEnt->IOBaseDense = NULL; + pSiSEnt->MapCountIOBaseDense = 0; + pSiSEnt->forceUnmapIOBaseDense = FALSE; +@@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountFbBase) { + pSiSEnt->MapCountFbBase--; + if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); ++#endif + pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL; + pSiSEnt->MapCountFbBase = 0; + pSiSEnt->forceUnmapFbBase = FALSE; +@@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn) + } + } else { + #endif ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); ++#endif + pSiS->IOBase = NULL; + #ifdef __alpha__ ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); ++#endif + pSiS->IOBaseDense = NULL; + #endif ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); ++#endif + pSiS->FbBase = pSiS->RealFbBase = NULL; + #ifdef SISDUALHEAD + } +@@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL) + } + pSiS->SiSFastVidCopyDone = TRUE; + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +@@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y) + } + if(doit) { + sigstate = xf86BlockSIGIO(); +-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18 ++ { ++ double dx = x, dy = y; ++ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL); ++ x = (int)dx; ++ y = (int)dy; ++ } ++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 + { + double dx = x, dy = y; + miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy); diff --git a/source/x/x11/patch/xf86-video-sisusb.patch b/source/x/x11/patch/xf86-video-sisusb.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-sisusb.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-tdfx.patch b/source/x/x11/patch/xf86-video-tdfx.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-tdfx.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-tga.patch b/source/x/x11/patch/xf86-video-tga.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-tga.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-trident.patch b/source/x/x11/patch/xf86-video-trident.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-trident.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-tseng.patch b/source/x/x11/patch/xf86-video-tseng.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-tseng.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-vesa.patch b/source/x/x11/patch/xf86-video-vesa.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-vesa.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-vmware.patch b/source/x/x11/patch/xf86-video-vmware.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-vmware.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-voodoo.patch b/source/x/x11/patch/xf86-video-voodoo.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-voodoo.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-xgi.patch b/source/x/x11/patch/xf86-video-xgi.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-xgi.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-xgixp.patch b/source/x/x11/patch/xf86-video-xgixp.patch new file mode 100644 index 00000000..17d7e829 --- /dev/null +++ b/source/x/x11/patch/xf86-video-xgixp.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xorg-server.patch b/source/x/x11/patch/xorg-server.patch index 01be43a3..c0c4810f 100644 --- a/source/x/x11/patch/xorg-server.patch +++ b/source/x/x11/patch/xorg-server.patch @@ -1 +1,2 @@ zcat $CWD/patch/xorg-server/x11.startwithblackscreen.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff b/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff new file mode 100644 index 00000000..14c31782 --- /dev/null +++ b/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff @@ -0,0 +1,73 @@ +From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith at oracle.com> +Date: Mon, 16 Sep 2013 21:47:16 -0700 +Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText() + [CVE-2013-4396] + +Save a pointer to the passed in closure structure before copying it +and overwriting the *c pointer to point to our copy instead of the +original. If we hit an error, once we free(c), reset c to point to +the original structure before jumping to the cleanup code that +references *c. + +Since one of the errors being checked for is whether the server was +able to malloc(c->nChars * itemSize), the client can potentially pass +a number of characters chosen to cause the malloc to fail and the +error path to be taken, resulting in the read from freed memory. + +Since the memory is accessed almost immediately afterwards, and the +X server is mostly single threaded, the odds of the free memory having +invalid contents are low with most malloc implementations when not using +memory debugging features, but some allocators will definitely overwrite +the memory there, leading to a likely crash. + +Reported-by: Pedro Ribeiro <pedrib at gmail.com> +Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com> +Reviewed-by: Julien Cristau <jcristau at debian.org> +--- + dix/dixfonts.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/dix/dixfonts.c b/dix/dixfonts.c +index feb765d..2e34d37 100644 +--- a/dix/dixfonts.c ++++ b/dix/dixfonts.c +@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + GC *pGC; + unsigned char *data; + ITclosurePtr new_closure; ++ ITclosurePtr old_closure; + + /* We're putting the client to sleep. We need to + save some state. Similar problem to that handled +@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c) + err = BadAlloc; + goto bail; + } ++ old_closure = c; + *new_closure = *c; + c = new_closure; + + data = malloc(c->nChars * itemSize); + if (!data) { + free(c); ++ c = old_closure; + err = BadAlloc; + goto bail; + } +@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + if (!pGC) { + free(c->data); + free(c); ++ c = old_closure; + err = BadAlloc; + goto bail; + } +@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + FreeScratchGC(pGC); + free(c->data); + free(c); ++ c = old_closure; + err = BadAlloc; + goto bail; + } |