From 041ef23192b193b87f6cfc3e74e2e77f9f47cd4b Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 12 Jun 2006 09:39:18 -0700 Subject: [PATCH 01/53] Add new Mesa files arrayobj.c and arrayobj.h. --- GL/symlink-mesa.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/GL/symlink-mesa.sh b/GL/symlink-mesa.sh index 326e4f055..32f839ac5 100755 --- a/GL/symlink-mesa.sh +++ b/GL/symlink-mesa.sh @@ -88,6 +88,8 @@ symlink_mesa_main() { action api_noop.h action api_validate.c action api_validate.h + action arrayobj.c + action arrayobj.h action attrib.c action attrib.h action bitset.h From b90088321e6ef84970aa97d7c851af93f49bf4b7 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 12 Jun 2006 15:22:31 -0700 Subject: [PATCH 02/53] Add arrayobj.c to the Makefile as well. --- GL/mesa/main/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/GL/mesa/main/Makefile.am b/GL/mesa/main/Makefile.am index 1c466a92a..2db76b604 100644 --- a/GL/mesa/main/Makefile.am +++ b/GL/mesa/main/Makefile.am @@ -29,6 +29,7 @@ nodist_libmain_la_SOURCES = accum.c \ api_loopback.c \ api_noop.c \ api_validate.c \ + arrayobj.c \ attrib.c \ blend.c \ bufferobj.c \ From 53f74b6aa95fe57fda45fd8a051595e772f00402 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 16 Jun 2006 10:14:30 -0700 Subject: [PATCH 03/53] Bugzilla #5120, #7246: In CW's GC ops, validate the backing GC against the backing drawable if the serial numbers differ. Fixes crash in XAA which occurred when the DDX bumped the serial number on the backing drawable and expected it to get re-validated, and we didn't because the wrapped drawable hadn't been bumped. --- miext/cw/cw_ops.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/miext/cw/cw_ops.c b/miext/cw/cw_ops.c index 6ba804bb3..80b72806c 100644 --- a/miext/cw/cw_ops.c +++ b/miext/cw/cw_ops.c @@ -28,6 +28,7 @@ #include #include "gcstruct.h" +#include "pixmapstr.h" #include "cw.h" #define SETUP_BACKING_DST(_pDst, _pGC) \ @@ -43,6 +44,9 @@ &src_off_y) #define PROLOGUE(pGC) do { \ + if (pBackingGC->serialNumber != pBackingDst->serialNumber) { \ + ValidateGC(pBackingDst, pBackingGC); \ + } \ pGC->funcs = pGCPrivate->wrapFuncs;\ pGC->ops = pGCPrivate->wrapOps;\ } while (0) From 868e2cab706e317618646e064b0559d4e68c7b32 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 16 Jun 2006 10:17:51 -0700 Subject: [PATCH 04/53] Add explicit dependencies (Xorg_DEPENDENCIES = ) on the internal libraries (such as libcw.la) that we link into the server, causing it to be rebuild automatically when they're updated. Some system libraries are included, but don't appear to cause any harm. You would think this would be automatic... --- hw/xfree86/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index 8665926f6..77d1dd844 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -43,6 +43,9 @@ XORG_LIBS = \ dixmods/libdixmods.la \ @XORG_LIBS@ +Xorg_DEPENDENCIES = \ + $(XORG_LIBS) + Xorg_LDADD = $(XORG_LIBS) \ @XSERVER_LIBS@ \ dixmods/libxorgxkb.la From 71fbda8049f64c7fefae8ab817fb5f37ee2ee134 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Sun, 18 Jun 2006 21:07:28 -0400 Subject: [PATCH 05/53] Xprint/ -> hw/xprint XpConfig -> hw/xprint/config --- Makefile.am | 13 +-- Xext/xprint.c | 4 +- Xprint/pcl/PclPixmap.c | 85 ------------------ configure.ac | 72 +++++++-------- hw/Makefile.am | 9 +- {Xprint => hw/xprint}/AttrValid.c | 0 {Xprint => hw/xprint}/AttrValid.h | 0 {Xprint => hw/xprint}/DiPrint.h | 0 {Xprint => hw/xprint}/Init.c | 0 {Xprint => hw/xprint}/Makefile.am | 6 +- {Xprint => hw/xprint}/Oid.c | 0 {Xprint => hw/xprint}/Oid.h | 0 {Xprint => hw/xprint}/OidDefs.h | 0 {Xprint => hw/xprint}/OidStrs.h | 0 {Xprint => hw/xprint}/Util.c | 0 {Xprint => hw/xprint}/ValTree.c | 0 {Xprint => hw/xprint}/attributes.c | 0 {Xprint => hw/xprint}/attributes.h | 0 {XpConfig => hw/xprint/config}/C/Makefile.am | 0 .../xprint/config}/C/print/Makefile.am | 0 .../xprint/config}/C/print/Xprinters | 0 .../config}/C/print/attributes/Makefile.am | 0 .../config}/C/print/attributes/document | 0 .../xprint/config}/C/print/attributes/job | 0 .../xprint/config}/C/print/attributes/printer | 0 .../config}/C/print/ddx-config/Makefile.am | 0 .../C/print/ddx-config/raster/Makefile.am | 0 .../config}/C/print/ddx-config/raster/pcl | 0 .../C/print/ddx-config/raster/postscript | 0 .../C/print/models/CANONBJ10E-GS/Makefile.am | 0 .../C/print/models/CANONBJ10E-GS/model-config | 0 .../C/print/models/CANONC3200-PS/Makefile.am | 0 .../models/CANONC3200-PS/fonts/Makefile.am | 0 .../C/print/models/CANONC3200-PS/model-config | 0 .../C/print/models/GSdefault/Makefile.am | 0 .../C/print/models/GSdefault/model-config | 0 .../C/print/models/HPDJ1600C/Makefile.am | 0 .../print/models/HPDJ1600C/fonts/9nb00051.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00052.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00053.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00054.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00055.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00056.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00057.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00058.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00059.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00060.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00061.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00062.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00063.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00064.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00065.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00066.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00067.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00068.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00069.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00070.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00071.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00072.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00073.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00074.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00075.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00076.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00077.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00079.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00080.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00081.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00082.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00083.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00084.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00085.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00086.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00087.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00088.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00089.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00090.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00091.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00092.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00093.pmf | Bin .../print/models/HPDJ1600C/fonts/9nb00094.pmf | Bin .../print/models/HPDJ1600C/fonts/Makefile.am | 0 .../C/print/models/HPDJ1600C/fonts/README | 0 .../print/models/HPDJ1600C/fonts/fonts.alias | 0 .../C/print/models/HPDJ1600C/fonts/fonts.dir | 0 .../print/models/HPDJ1600C/fonts/lpr0ye1a.pmf | Bin .../C/print/models/HPDJ1600C/model-config | 0 .../C/print/models/HPLJ4050-PS/Makefile.am | 0 .../models/HPLJ4050-PS/fonts/Makefile.am | 0 .../C/print/models/HPLJ4050-PS/model-config | 0 .../C/print/models/HPLJ4family/Makefile.am | 0 .../models/HPLJ4family/fonts/9nb00051.pmf | Bin .../models/HPLJ4family/fonts/9nb00052.pmf | Bin .../models/HPLJ4family/fonts/9nb00053.pmf | Bin .../models/HPLJ4family/fonts/9nb00054.pmf | Bin .../models/HPLJ4family/fonts/9nb00055.pmf | Bin .../models/HPLJ4family/fonts/9nb00056.pmf | Bin .../models/HPLJ4family/fonts/9nb00057.pmf | Bin .../models/HPLJ4family/fonts/9nb00058.pmf | Bin .../models/HPLJ4family/fonts/9nb00059.pmf | Bin .../models/HPLJ4family/fonts/9nb00060.pmf | Bin .../models/HPLJ4family/fonts/9nb00061.pmf | Bin .../models/HPLJ4family/fonts/9nb00062.pmf | Bin .../models/HPLJ4family/fonts/9nb00063.pmf | Bin .../models/HPLJ4family/fonts/9nb00064.pmf | Bin .../models/HPLJ4family/fonts/9nb00065.pmf | Bin .../models/HPLJ4family/fonts/9nb00066.pmf | Bin .../models/HPLJ4family/fonts/9nb00067.pmf | Bin .../models/HPLJ4family/fonts/9nb00068.pmf | Bin .../models/HPLJ4family/fonts/9nb00069.pmf | Bin .../models/HPLJ4family/fonts/9nb00070.pmf | Bin .../models/HPLJ4family/fonts/9nb00071.pmf | Bin .../models/HPLJ4family/fonts/9nb00072.pmf | Bin .../models/HPLJ4family/fonts/9nb00073.pmf | Bin .../models/HPLJ4family/fonts/9nb00074.pmf | Bin .../models/HPLJ4family/fonts/9nb00075.pmf | Bin .../models/HPLJ4family/fonts/9nb00076.pmf | Bin .../models/HPLJ4family/fonts/9nb00077.pmf | Bin .../models/HPLJ4family/fonts/9nb00079.pmf | Bin .../models/HPLJ4family/fonts/9nb00080.pmf | Bin .../models/HPLJ4family/fonts/9nb00081.pmf | Bin .../models/HPLJ4family/fonts/9nb00082.pmf | Bin .../models/HPLJ4family/fonts/9nb00083.pmf | Bin .../models/HPLJ4family/fonts/9nb00084.pmf | Bin .../models/HPLJ4family/fonts/9nb00085.pmf | Bin .../models/HPLJ4family/fonts/9nb00086.pmf | Bin .../models/HPLJ4family/fonts/9nb00087.pmf | Bin .../models/HPLJ4family/fonts/9nb00088.pmf | Bin .../models/HPLJ4family/fonts/9nb00089.pmf | Bin .../models/HPLJ4family/fonts/9nb00090.pmf | Bin .../models/HPLJ4family/fonts/9nb00091.pmf | Bin .../models/HPLJ4family/fonts/9nb00092.pmf | Bin .../models/HPLJ4family/fonts/9nb00093.pmf | Bin .../models/HPLJ4family/fonts/9nb00094.pmf | Bin .../models/HPLJ4family/fonts/Makefile.am | 0 .../C/print/models/HPLJ4family/fonts/README | 0 .../models/HPLJ4family/fonts/fonts.alias | 0 .../print/models/HPLJ4family/fonts/fonts.dir | 0 .../models/HPLJ4family/fonts/lpr0ye1a.pmf | Bin .../C/print/models/HPLJ4family/model-config | 0 .../xprint/config}/C/print/models/Makefile.am | 0 .../models/PS2PDFspooldir-GS/Makefile.am | 0 .../models/PS2PDFspooldir-GS/model-config | 0 .../PS2PDFspooldir-GS/ps2pdf_spooltodir.sh | 0 .../C/print/models/PSdefault/Makefile.am | 0 .../PSdefault/fonts/AvantGarde-Book.pmf | Bin .../fonts/AvantGarde-BookOblique.pmf | Bin .../PSdefault/fonts/AvantGarde-Demi.pmf | Bin .../fonts/AvantGarde-DemiOblique.pmf | Bin .../models/PSdefault/fonts/Courier-Bold.pmf | Bin .../PSdefault/fonts/Courier-BoldOblique.pmf | Bin .../PSdefault/fonts/Courier-Oblique.pmf | Bin .../print/models/PSdefault/fonts/Courier.pmf | Bin .../models/PSdefault/fonts/Helvetica-Bold.pmf | Bin .../PSdefault/fonts/Helvetica-BoldOblique.pmf | Bin .../PSdefault/fonts/Helvetica-Oblique.pmf | Bin .../models/PSdefault/fonts/Helvetica.pmf | Bin .../PSdefault/fonts/LubalinGraph-Book.pmf | Bin .../fonts/LubalinGraph-BookOblique.pmf | Bin .../PSdefault/fonts/LubalinGraph-Demi.pmf | Bin .../fonts/LubalinGraph-DemiOblique.pmf | Bin .../print/models/PSdefault/fonts/Makefile.am | 0 .../PSdefault/fonts/NewCenturySchlbk-Bold.pmf | Bin .../fonts/NewCenturySchlbk-BoldItalic.pmf | Bin .../fonts/NewCenturySchlbk-Italic.pmf | Bin .../fonts/NewCenturySchlbk-Roman.pmf | Bin .../models/PSdefault/fonts/Souvenir-Demi.pmf | Bin .../PSdefault/fonts/Souvenir-DemiItalic.pmf | Bin .../models/PSdefault/fonts/Souvenir-Light.pmf | Bin .../PSdefault/fonts/Souvenir-LightItalic.pmf | Bin .../C/print/models/PSdefault/fonts/Symbol.pmf | Bin .../models/PSdefault/fonts/Times-Bold.pmf | Bin .../PSdefault/fonts/Times-BoldItalic.pmf | Bin .../models/PSdefault/fonts/Times-Italic.pmf | Bin .../models/PSdefault/fonts/Times-Roman.pmf | Bin .../models/PSdefault/fonts/ZapfDingbats.pmf | Bin .../C/print/models/PSdefault/model-config | 0 .../C/print/models/PSspooldir/Makefile.am | 0 .../C/print/models/PSspooldir/model-config | 0 .../C/print/models/PSspooldir/spooltodir.sh | 0 .../C/print/models/SPSPARC2/Makefile.am | 0 .../C/print/models/SPSPARC2/fonts/Makefile.am | 0 .../C/print/models/SPSPARC2/model-config | 0 {XpConfig => hw/xprint/config}/Makefile.am | 0 {XpConfig => hw/xprint/config}/README | 0 .../xprint/config}/en_US/Makefile.am | 0 .../xprint/config}/en_US/print/Makefile.am | 0 .../en_US/print/attributes/Makefile.am | 0 .../config}/en_US/print/attributes/document | 0 {Xprint => hw/xprint}/ddxInit.c | 0 {Xprint => hw/xprint}/doc/Makefile.am | 0 {Xprint => hw/xprint}/doc/Xprt.html | 0 {Xprint => hw/xprint}/doc/Xprt.man.pre | 0 {Xprint => hw/xprint}/doc/Xprt.sgml | 0 {Xprint => hw/xprint}/etc/Makefile.am | 0 .../xprint}/etc/Xsession.d/Makefile.am | 0 .../etc/Xsession.d/cde_xsessiond_xprint.sh | 0 {Xprint => hw/xprint}/etc/init.d/Makefile.am | 0 {Xprint => hw/xprint}/etc/init.d/xprint.cpp | 0 .../xprint}/etc/profile.d/Makefile.am | 0 .../xprint}/etc/profile.d/xprint.csh | 0 {Xprint => hw/xprint}/etc/profile.d/xprint.sh | 0 {Xprint => hw/xprint}/mediaSizes.c | 0 {Xprint => hw/xprint}/pcl-mono/Makefile.am | 0 {Xprint => hw/xprint}/pcl/Makefile.am | 0 {Xprint => hw/xprint}/pcl/Makefile.am.inc | 3 +- {Xprint => hw/xprint}/pcl/Pcl.h | 0 {Xprint => hw/xprint}/pcl/PclArc.c | 0 {Xprint => hw/xprint}/pcl/PclArea.c | 0 {Xprint => hw/xprint}/pcl/PclAttVal.c | 0 {Xprint => hw/xprint}/pcl/PclAttr.c | 0 {Xprint => hw/xprint}/pcl/PclColor.c | 0 {Xprint => hw/xprint}/pcl/PclCursor.c | 0 {Xprint => hw/xprint}/pcl/PclDef.h | 0 {Xprint => hw/xprint}/pcl/PclFonts.c | 0 {Xprint => hw/xprint}/pcl/PclGC.c | 0 {Xprint => hw/xprint}/pcl/PclInit.c | 0 {Xprint => hw/xprint}/pcl/PclLine.c | 0 {Xprint => hw/xprint}/pcl/PclMisc.c | 0 {Xprint => hw/xprint}/pcl/PclPixel.c | 0 {Xprint => hw/xprint}/pcl/PclPolygon.c | 0 {Xprint => hw/xprint}/pcl/PclPrint.c | 0 {Xprint => hw/xprint}/pcl/PclSFonts.c | 0 {Xprint => hw/xprint}/pcl/PclSFonts.h | 0 {Xprint => hw/xprint}/pcl/PclSpans.c | 0 {Xprint => hw/xprint}/pcl/PclText.c | 0 {Xprint => hw/xprint}/pcl/PclWindow.c | 0 {Xprint => hw/xprint}/pcl/Pclmap.h | 0 {Xprint => hw/xprint}/ps/Makefile.am | 2 +- {Xprint => hw/xprint}/ps/Ps.h | 0 {Xprint => hw/xprint}/ps/PsArc.c | 0 {Xprint => hw/xprint}/ps/PsArea.c | 0 {Xprint => hw/xprint}/ps/PsAttVal.c | 0 {Xprint => hw/xprint}/ps/PsAttr.c | 0 {Xprint => hw/xprint}/ps/PsCache.c | 0 {Xprint => hw/xprint}/ps/PsColor.c | 0 {Xprint => hw/xprint}/ps/PsDef.h | 0 {Xprint => hw/xprint}/ps/PsFTFonts.c | 0 {Xprint => hw/xprint}/ps/PsFonts.c | 0 {Xprint => hw/xprint}/ps/PsGC.c | 0 {Xprint => hw/xprint}/ps/PsImageUtil.c | 0 {Xprint => hw/xprint}/ps/PsInit.c | 0 {Xprint => hw/xprint}/ps/PsLine.c | 0 {Xprint => hw/xprint}/ps/PsMisc.c | 0 {Xprint => hw/xprint}/ps/PsPixel.c | 0 {Xprint => hw/xprint}/ps/PsPixmap.c | 0 {Xprint => hw/xprint}/ps/PsPolygon.c | 0 {Xprint => hw/xprint}/ps/PsPrint.c | 0 {Xprint => hw/xprint}/ps/PsSpans.c | 0 {Xprint => hw/xprint}/ps/PsText.c | 0 {Xprint => hw/xprint}/ps/PsWindow.c | 0 {Xprint => hw/xprint}/ps/psout.c | 0 {Xprint => hw/xprint}/ps/psout.h | 0 {Xprint => hw/xprint}/ps/psout_ft.c | 0 {Xprint => hw/xprint}/ps/psout_ftpstype1.c | 0 {Xprint => hw/xprint}/ps/psout_ftpstype3.c | 0 {Xprint => hw/xprint}/ps/ttf2pt1wrap.c | 0 {Xprint => hw/xprint}/raster/Makefile.am | 2 +- {Xprint => hw/xprint}/raster/Raster.c | 0 {Xprint => hw/xprint}/raster/Raster.h | 0 {Xprint => hw/xprint}/raster/RasterAttVal.c | 0 {Xprint => hw/xprint}/spooler.c | 0 {Xprint => hw/xprint}/spooler.h | 0 262 files changed, 53 insertions(+), 143 deletions(-) delete mode 100644 Xprint/pcl/PclPixmap.c rename {Xprint => hw/xprint}/AttrValid.c (100%) rename {Xprint => hw/xprint}/AttrValid.h (100%) rename {Xprint => hw/xprint}/DiPrint.h (100%) rename {Xprint => hw/xprint}/Init.c (100%) rename {Xprint => hw/xprint}/Makefile.am (83%) rename {Xprint => hw/xprint}/Oid.c (100%) rename {Xprint => hw/xprint}/Oid.h (100%) rename {Xprint => hw/xprint}/OidDefs.h (100%) rename {Xprint => hw/xprint}/OidStrs.h (100%) rename {Xprint => hw/xprint}/Util.c (100%) rename {Xprint => hw/xprint}/ValTree.c (100%) rename {Xprint => hw/xprint}/attributes.c (100%) rename {Xprint => hw/xprint}/attributes.h (100%) rename {XpConfig => hw/xprint/config}/C/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/Xprinters (100%) rename {XpConfig => hw/xprint/config}/C/print/attributes/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/attributes/document (100%) rename {XpConfig => hw/xprint/config}/C/print/attributes/job (100%) rename {XpConfig => hw/xprint/config}/C/print/attributes/printer (100%) rename {XpConfig => hw/xprint/config}/C/print/ddx-config/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/ddx-config/raster/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/ddx-config/raster/pcl (100%) rename {XpConfig => hw/xprint/config}/C/print/ddx-config/raster/postscript (100%) rename {XpConfig => hw/xprint/config}/C/print/models/CANONBJ10E-GS/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/CANONBJ10E-GS/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/CANONC3200-PS/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/CANONC3200-PS/fonts/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/CANONC3200-PS/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/GSdefault/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/GSdefault/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00051.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00052.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00053.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00054.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00055.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00056.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00057.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00058.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00059.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00060.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00061.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00062.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00063.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00064.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00065.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00066.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00067.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00068.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00069.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00070.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00071.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00072.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00073.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00074.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00075.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00076.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00077.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00079.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00080.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00081.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00082.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00083.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00084.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00085.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00086.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00087.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00088.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00089.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00090.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00091.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00092.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00093.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/9nb00094.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/README (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/fonts.alias (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/fonts.dir (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/fonts/lpr0ye1a.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPDJ1600C/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4050-PS/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4050-PS/fonts/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4050-PS/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00051.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00052.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00053.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00054.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00055.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00056.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00057.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00058.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00059.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00060.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00061.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00062.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00063.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00064.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00065.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00066.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00067.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00068.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00069.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00070.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00071.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00072.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00073.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00074.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00075.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00076.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00077.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00079.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00080.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00081.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00082.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00083.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00084.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00085.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00086.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00087.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00088.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00089.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00090.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00091.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00092.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00093.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/9nb00094.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/README (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/fonts.alias (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/fonts.dir (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/fonts/lpr0ye1a.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/HPLJ4family/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PS2PDFspooldir-GS/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PS2PDFspooldir-GS/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/AvantGarde-Book.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/AvantGarde-BookOblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/AvantGarde-Demi.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/AvantGarde-DemiOblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Courier-Bold.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Courier-BoldOblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Courier-Oblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Courier.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Helvetica-Bold.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Helvetica-BoldOblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Helvetica-Oblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Helvetica.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/LubalinGraph-Book.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/LubalinGraph-BookOblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/LubalinGraph-Demi.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/LubalinGraph-DemiOblique.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/NewCenturySchlbk-Bold.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/NewCenturySchlbk-BoldItalic.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/NewCenturySchlbk-Italic.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/NewCenturySchlbk-Roman.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Souvenir-Demi.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Souvenir-DemiItalic.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Souvenir-Light.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Souvenir-LightItalic.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Symbol.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Times-Bold.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Times-BoldItalic.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Times-Italic.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/Times-Roman.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/fonts/ZapfDingbats.pmf (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSdefault/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSspooldir/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSspooldir/model-config (100%) rename {XpConfig => hw/xprint/config}/C/print/models/PSspooldir/spooltodir.sh (100%) rename {XpConfig => hw/xprint/config}/C/print/models/SPSPARC2/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/SPSPARC2/fonts/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/C/print/models/SPSPARC2/model-config (100%) rename {XpConfig => hw/xprint/config}/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/README (100%) rename {XpConfig => hw/xprint/config}/en_US/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/en_US/print/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/en_US/print/attributes/Makefile.am (100%) rename {XpConfig => hw/xprint/config}/en_US/print/attributes/document (100%) rename {Xprint => hw/xprint}/ddxInit.c (100%) rename {Xprint => hw/xprint}/doc/Makefile.am (100%) rename {Xprint => hw/xprint}/doc/Xprt.html (100%) rename {Xprint => hw/xprint}/doc/Xprt.man.pre (100%) rename {Xprint => hw/xprint}/doc/Xprt.sgml (100%) rename {Xprint => hw/xprint}/etc/Makefile.am (100%) rename {Xprint => hw/xprint}/etc/Xsession.d/Makefile.am (100%) rename {Xprint => hw/xprint}/etc/Xsession.d/cde_xsessiond_xprint.sh (100%) rename {Xprint => hw/xprint}/etc/init.d/Makefile.am (100%) rename {Xprint => hw/xprint}/etc/init.d/xprint.cpp (100%) rename {Xprint => hw/xprint}/etc/profile.d/Makefile.am (100%) rename {Xprint => hw/xprint}/etc/profile.d/xprint.csh (100%) rename {Xprint => hw/xprint}/etc/profile.d/xprint.sh (100%) rename {Xprint => hw/xprint}/mediaSizes.c (100%) rename {Xprint => hw/xprint}/pcl-mono/Makefile.am (100%) rename {Xprint => hw/xprint}/pcl/Makefile.am (100%) rename {Xprint => hw/xprint}/pcl/Makefile.am.inc (88%) rename {Xprint => hw/xprint}/pcl/Pcl.h (100%) rename {Xprint => hw/xprint}/pcl/PclArc.c (100%) rename {Xprint => hw/xprint}/pcl/PclArea.c (100%) rename {Xprint => hw/xprint}/pcl/PclAttVal.c (100%) rename {Xprint => hw/xprint}/pcl/PclAttr.c (100%) rename {Xprint => hw/xprint}/pcl/PclColor.c (100%) rename {Xprint => hw/xprint}/pcl/PclCursor.c (100%) rename {Xprint => hw/xprint}/pcl/PclDef.h (100%) rename {Xprint => hw/xprint}/pcl/PclFonts.c (100%) rename {Xprint => hw/xprint}/pcl/PclGC.c (100%) rename {Xprint => hw/xprint}/pcl/PclInit.c (100%) rename {Xprint => hw/xprint}/pcl/PclLine.c (100%) rename {Xprint => hw/xprint}/pcl/PclMisc.c (100%) rename {Xprint => hw/xprint}/pcl/PclPixel.c (100%) rename {Xprint => hw/xprint}/pcl/PclPolygon.c (100%) rename {Xprint => hw/xprint}/pcl/PclPrint.c (100%) rename {Xprint => hw/xprint}/pcl/PclSFonts.c (100%) rename {Xprint => hw/xprint}/pcl/PclSFonts.h (100%) rename {Xprint => hw/xprint}/pcl/PclSpans.c (100%) rename {Xprint => hw/xprint}/pcl/PclText.c (100%) rename {Xprint => hw/xprint}/pcl/PclWindow.c (100%) rename {Xprint => hw/xprint}/pcl/Pclmap.h (100%) rename {Xprint => hw/xprint}/ps/Makefile.am (94%) rename {Xprint => hw/xprint}/ps/Ps.h (100%) rename {Xprint => hw/xprint}/ps/PsArc.c (100%) rename {Xprint => hw/xprint}/ps/PsArea.c (100%) rename {Xprint => hw/xprint}/ps/PsAttVal.c (100%) rename {Xprint => hw/xprint}/ps/PsAttr.c (100%) rename {Xprint => hw/xprint}/ps/PsCache.c (100%) rename {Xprint => hw/xprint}/ps/PsColor.c (100%) rename {Xprint => hw/xprint}/ps/PsDef.h (100%) rename {Xprint => hw/xprint}/ps/PsFTFonts.c (100%) rename {Xprint => hw/xprint}/ps/PsFonts.c (100%) rename {Xprint => hw/xprint}/ps/PsGC.c (100%) rename {Xprint => hw/xprint}/ps/PsImageUtil.c (100%) rename {Xprint => hw/xprint}/ps/PsInit.c (100%) rename {Xprint => hw/xprint}/ps/PsLine.c (100%) rename {Xprint => hw/xprint}/ps/PsMisc.c (100%) rename {Xprint => hw/xprint}/ps/PsPixel.c (100%) rename {Xprint => hw/xprint}/ps/PsPixmap.c (100%) rename {Xprint => hw/xprint}/ps/PsPolygon.c (100%) rename {Xprint => hw/xprint}/ps/PsPrint.c (100%) rename {Xprint => hw/xprint}/ps/PsSpans.c (100%) rename {Xprint => hw/xprint}/ps/PsText.c (100%) rename {Xprint => hw/xprint}/ps/PsWindow.c (100%) rename {Xprint => hw/xprint}/ps/psout.c (100%) rename {Xprint => hw/xprint}/ps/psout.h (100%) rename {Xprint => hw/xprint}/ps/psout_ft.c (100%) rename {Xprint => hw/xprint}/ps/psout_ftpstype1.c (100%) rename {Xprint => hw/xprint}/ps/psout_ftpstype3.c (100%) rename {Xprint => hw/xprint}/ps/ttf2pt1wrap.c (100%) rename {Xprint => hw/xprint}/raster/Makefile.am (83%) rename {Xprint => hw/xprint}/raster/Raster.c (100%) rename {Xprint => hw/xprint}/raster/Raster.h (100%) rename {Xprint => hw/xprint}/raster/RasterAttVal.c (100%) rename {Xprint => hw/xprint}/spooler.c (100%) rename {Xprint => hw/xprint}/spooler.h (100%) diff --git a/Makefile.am b/Makefile.am index 773e7690f..c425cc6bb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,11 +26,6 @@ if GLX GLX_DIR=GL endif -if XPRINT -XPDDX_DIR=Xprint -XPCONFIG_DIR=XpConfig -endif - if XINPUT XINPUT_DIR=Xi endif @@ -64,9 +59,7 @@ SUBDIRS = \ $(COMPOSITE_DIR) \ $(GLX_DIR) \ exa \ - hw \ - $(XPDDX_DIR) \ - $(XPCONFIG_DIR) + hw aclocaldir = $(datadir)/aclocal aclocal_DATA = xorg-server.m4 @@ -101,9 +94,7 @@ DIST_SUBDIRS = \ composite \ GL \ exa \ - hw \ - Xprint \ - XpConfig + hw # gross hack relink: all diff --git a/Xext/xprint.c b/Xext/xprint.c index 60512d372..9a4f2653e 100644 --- a/Xext/xprint.c +++ b/Xext/xprint.c @@ -85,8 +85,8 @@ copyright holders. #include #include #include -#include "../Xprint/DiPrint.h" -#include "../Xprint/attributes.h" +#include "../hw/xprint/DiPrint.h" +#include "../hw/xprint/attributes.h" #include "modinit.h" static void XpResetProc(ExtensionEntry *); diff --git a/Xprint/pcl/PclPixmap.c b/Xprint/pcl/PclPixmap.c deleted file mode 100644 index 9449dfdd6..000000000 --- a/Xprint/pcl/PclPixmap.c +++ /dev/null @@ -1,85 +0,0 @@ -/* $Xorg: PclPixmap.c,v 1.3 2000/08/17 19:48:08 cpqbld Exp $ */ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclPixmap.c -** * -** * Contents: -** * Pixmap handling code for the PCL DDX driver -** * -** * Created: 2/19/96 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the names of the copyright holders shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in this Software without prior written authorization from said -copyright holders. -*/ -/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclPixmap.c,v 1.3 1999/12/16 02:26:27 robin Exp $ */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Pcl.h" -#include "cfb.h" -#include "cfb32.h" -#include "mfb.h" -#include "pixmapstr.h" - -PixmapPtr -PclCreatePixmap(ScreenPtr pScreen, - int width, - int height, - int depth) -{ - if( depth == 1 ) - return mfbCreatePixmap( pScreen, width, height, depth ); - else if( depth <= 8 ) - return cfbCreatePixmap( pScreen, width, height, depth ); - else if( depth <= 32 ) - return cfb32CreatePixmap( pScreen, width, height, depth ); - return 0; -} - - -Bool -PclDestroyPixmap(PixmapPtr pPixmap) -{ - if( pPixmap->drawable.depth == 1 ) - return mfbDestroyPixmap( pPixmap ); - else if( pPixmap->drawable.depth <= 8 ) - return cfbDestroyPixmap( pPixmap ); - else if( pPixmap->drawable.depth <= 32 ) - return cfb32DestroyPixmap( pPixmap ); - return 0; -} diff --git a/configure.ac b/configure.ac index f4503e7e3..5a93b1319 100644 --- a/configure.ac +++ b/configure.ac @@ -1727,41 +1727,41 @@ hw/kdrive/smi/Makefile hw/kdrive/src/Makefile hw/kdrive/vesa/Makefile hw/kdrive/via/Makefile -Xprint/Makefile -Xprint/doc/Makefile -Xprint/pcl/Makefile -Xprint/pcl-mono/Makefile -Xprint/raster/Makefile -Xprint/ps/Makefile -Xprint/etc/Makefile -Xprint/etc/Xsession.d/Makefile -Xprint/etc/init.d/Makefile -Xprint/etc/profile.d/Makefile -XpConfig/Makefile -XpConfig/C/print/attributes/Makefile -XpConfig/C/print/ddx-config/Makefile -XpConfig/C/print/ddx-config/raster/Makefile -XpConfig/C/print/models/CANONBJ10E-GS/Makefile -XpConfig/C/print/models/PSdefault/fonts/Makefile -XpConfig/C/print/models/PSdefault/Makefile -XpConfig/C/print/models/PSspooldir/Makefile -XpConfig/C/print/models/SPSPARC2/Makefile -XpConfig/C/print/models/SPSPARC2/fonts/Makefile -XpConfig/C/print/models/GSdefault/Makefile -XpConfig/C/print/models/HPLJ4050-PS/Makefile -XpConfig/C/print/models/HPLJ4050-PS/fonts/Makefile -XpConfig/C/print/models/Makefile -XpConfig/C/print/models/PS2PDFspooldir-GS/Makefile -XpConfig/C/print/models/CANONC3200-PS/Makefile -XpConfig/C/print/models/CANONC3200-PS/fonts/Makefile -XpConfig/C/print/models/HPLJ4family/fonts/Makefile -XpConfig/C/print/models/HPLJ4family/Makefile -XpConfig/C/print/models/HPDJ1600C/Makefile -XpConfig/C/print/models/HPDJ1600C/fonts/Makefile -XpConfig/C/print/Makefile -XpConfig/C/Makefile -XpConfig/en_US/print/attributes/Makefile -XpConfig/en_US/print/Makefile -XpConfig/en_US/Makefile +hw/xprint/Makefile +hw/xprint/doc/Makefile +hw/xprint/pcl/Makefile +hw/xprint/pcl-mono/Makefile +hw/xprint/raster/Makefile +hw/xprint/ps/Makefile +hw/xprint/etc/Makefile +hw/xprint/etc/Xsession.d/Makefile +hw/xprint/etc/init.d/Makefile +hw/xprint/etc/profile.d/Makefile +hw/xprint/config/Makefile +hw/xprint/config/C/print/attributes/Makefile +hw/xprint/config/C/print/ddx-config/Makefile +hw/xprint/config/C/print/ddx-config/raster/Makefile +hw/xprint/config/C/print/models/CANONBJ10E-GS/Makefile +hw/xprint/config/C/print/models/PSdefault/fonts/Makefile +hw/xprint/config/C/print/models/PSdefault/Makefile +hw/xprint/config/C/print/models/PSspooldir/Makefile +hw/xprint/config/C/print/models/SPSPARC2/Makefile +hw/xprint/config/C/print/models/SPSPARC2/fonts/Makefile +hw/xprint/config/C/print/models/GSdefault/Makefile +hw/xprint/config/C/print/models/HPLJ4050-PS/Makefile +hw/xprint/config/C/print/models/HPLJ4050-PS/fonts/Makefile +hw/xprint/config/C/print/models/Makefile +hw/xprint/config/C/print/models/PS2PDFspooldir-GS/Makefile +hw/xprint/config/C/print/models/CANONC3200-PS/Makefile +hw/xprint/config/C/print/models/CANONC3200-PS/fonts/Makefile +hw/xprint/config/C/print/models/HPLJ4family/fonts/Makefile +hw/xprint/config/C/print/models/HPLJ4family/Makefile +hw/xprint/config/C/print/models/HPDJ1600C/Makefile +hw/xprint/config/C/print/models/HPDJ1600C/fonts/Makefile +hw/xprint/config/C/print/Makefile +hw/xprint/config/C/Makefile +hw/xprint/config/en_US/print/attributes/Makefile +hw/xprint/config/en_US/print/Makefile +hw/xprint/config/en_US/Makefile xorg-server.pc ]) diff --git a/hw/Makefile.am b/hw/Makefile.am index 4c35a5817..d00d6fb3f 100644 --- a/hw/Makefile.am +++ b/hw/Makefile.am @@ -26,6 +26,10 @@ if KDRIVE KDRIVE_SUBDIRS = kdrive endif +if XPRINT +XPRINT_SUBDIRS = xprint +endif + # need to add darwin support here SUBDIRS = \ @@ -35,9 +39,10 @@ SUBDIRS = \ $(XVFB_SUBDIRS) \ $(XNEST_SUBDIRS) \ $(DMX_SUBDIRS) \ - $(KDRIVE_SUBDIRS) + $(KDRIVE_SUBDIRS) \ + $(XPRINT_SUBDIRS) -DIST_SUBDIRS = dmx xfree86 vfb xnest xwin darwin kdrive xgl +DIST_SUBDIRS = dmx xfree86 vfb xnest xwin darwin kdrive xgl xprint relink: for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink ; done diff --git a/Xprint/AttrValid.c b/hw/xprint/AttrValid.c similarity index 100% rename from Xprint/AttrValid.c rename to hw/xprint/AttrValid.c diff --git a/Xprint/AttrValid.h b/hw/xprint/AttrValid.h similarity index 100% rename from Xprint/AttrValid.h rename to hw/xprint/AttrValid.h diff --git a/Xprint/DiPrint.h b/hw/xprint/DiPrint.h similarity index 100% rename from Xprint/DiPrint.h rename to hw/xprint/DiPrint.h diff --git a/Xprint/Init.c b/hw/xprint/Init.c similarity index 100% rename from Xprint/Init.c rename to hw/xprint/Init.c diff --git a/Xprint/Makefile.am b/hw/xprint/Makefile.am similarity index 83% rename from Xprint/Makefile.am rename to hw/xprint/Makefile.am index d2a26d641..46647a519 100644 --- a/Xprint/Makefile.am +++ b/hw/xprint/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = doc pcl pcl-mono raster ps etc +SUBDIRS = doc pcl pcl-mono raster ps etc config bin_PROGRAMS = Xprt @@ -9,8 +9,8 @@ Xprt_CFLAGS = @SERVER_DEFINES@ @DIX_CFLAGS@ @XPRINT_CFLAGS@ \ Xprt_LDFLAGS = -L$(top_srcdir) Xprt_LDADD = @XPRINT_LIBS@ ps/libps.la raster/libraster.la \ - pcl/libpcl.la pcl-mono/libpcl.la ../fb/libfb.la \ - ../render/librender.la ../mi/libmi.la ../Xext/libXext.la \ + pcl/libpcl.la pcl-mono/libpcl.la ../../fb/libfb.la \ + ../../render/librender.la ../../mi/libmi.la ../../Xext/libXext.la \ @FREETYPE_LIBS@ miinitext-wrapper.c: diff --git a/Xprint/Oid.c b/hw/xprint/Oid.c similarity index 100% rename from Xprint/Oid.c rename to hw/xprint/Oid.c diff --git a/Xprint/Oid.h b/hw/xprint/Oid.h similarity index 100% rename from Xprint/Oid.h rename to hw/xprint/Oid.h diff --git a/Xprint/OidDefs.h b/hw/xprint/OidDefs.h similarity index 100% rename from Xprint/OidDefs.h rename to hw/xprint/OidDefs.h diff --git a/Xprint/OidStrs.h b/hw/xprint/OidStrs.h similarity index 100% rename from Xprint/OidStrs.h rename to hw/xprint/OidStrs.h diff --git a/Xprint/Util.c b/hw/xprint/Util.c similarity index 100% rename from Xprint/Util.c rename to hw/xprint/Util.c diff --git a/Xprint/ValTree.c b/hw/xprint/ValTree.c similarity index 100% rename from Xprint/ValTree.c rename to hw/xprint/ValTree.c diff --git a/Xprint/attributes.c b/hw/xprint/attributes.c similarity index 100% rename from Xprint/attributes.c rename to hw/xprint/attributes.c diff --git a/Xprint/attributes.h b/hw/xprint/attributes.h similarity index 100% rename from Xprint/attributes.h rename to hw/xprint/attributes.h diff --git a/XpConfig/C/Makefile.am b/hw/xprint/config/C/Makefile.am similarity index 100% rename from XpConfig/C/Makefile.am rename to hw/xprint/config/C/Makefile.am diff --git a/XpConfig/C/print/Makefile.am b/hw/xprint/config/C/print/Makefile.am similarity index 100% rename from XpConfig/C/print/Makefile.am rename to hw/xprint/config/C/print/Makefile.am diff --git a/XpConfig/C/print/Xprinters b/hw/xprint/config/C/print/Xprinters similarity index 100% rename from XpConfig/C/print/Xprinters rename to hw/xprint/config/C/print/Xprinters diff --git a/XpConfig/C/print/attributes/Makefile.am b/hw/xprint/config/C/print/attributes/Makefile.am similarity index 100% rename from XpConfig/C/print/attributes/Makefile.am rename to hw/xprint/config/C/print/attributes/Makefile.am diff --git a/XpConfig/C/print/attributes/document b/hw/xprint/config/C/print/attributes/document similarity index 100% rename from XpConfig/C/print/attributes/document rename to hw/xprint/config/C/print/attributes/document diff --git a/XpConfig/C/print/attributes/job b/hw/xprint/config/C/print/attributes/job similarity index 100% rename from XpConfig/C/print/attributes/job rename to hw/xprint/config/C/print/attributes/job diff --git a/XpConfig/C/print/attributes/printer b/hw/xprint/config/C/print/attributes/printer similarity index 100% rename from XpConfig/C/print/attributes/printer rename to hw/xprint/config/C/print/attributes/printer diff --git a/XpConfig/C/print/ddx-config/Makefile.am b/hw/xprint/config/C/print/ddx-config/Makefile.am similarity index 100% rename from XpConfig/C/print/ddx-config/Makefile.am rename to hw/xprint/config/C/print/ddx-config/Makefile.am diff --git a/XpConfig/C/print/ddx-config/raster/Makefile.am b/hw/xprint/config/C/print/ddx-config/raster/Makefile.am similarity index 100% rename from XpConfig/C/print/ddx-config/raster/Makefile.am rename to hw/xprint/config/C/print/ddx-config/raster/Makefile.am diff --git a/XpConfig/C/print/ddx-config/raster/pcl b/hw/xprint/config/C/print/ddx-config/raster/pcl similarity index 100% rename from XpConfig/C/print/ddx-config/raster/pcl rename to hw/xprint/config/C/print/ddx-config/raster/pcl diff --git a/XpConfig/C/print/ddx-config/raster/postscript b/hw/xprint/config/C/print/ddx-config/raster/postscript similarity index 100% rename from XpConfig/C/print/ddx-config/raster/postscript rename to hw/xprint/config/C/print/ddx-config/raster/postscript diff --git a/XpConfig/C/print/models/CANONBJ10E-GS/Makefile.am b/hw/xprint/config/C/print/models/CANONBJ10E-GS/Makefile.am similarity index 100% rename from XpConfig/C/print/models/CANONBJ10E-GS/Makefile.am rename to hw/xprint/config/C/print/models/CANONBJ10E-GS/Makefile.am diff --git a/XpConfig/C/print/models/CANONBJ10E-GS/model-config b/hw/xprint/config/C/print/models/CANONBJ10E-GS/model-config similarity index 100% rename from XpConfig/C/print/models/CANONBJ10E-GS/model-config rename to hw/xprint/config/C/print/models/CANONBJ10E-GS/model-config diff --git a/XpConfig/C/print/models/CANONC3200-PS/Makefile.am b/hw/xprint/config/C/print/models/CANONC3200-PS/Makefile.am similarity index 100% rename from XpConfig/C/print/models/CANONC3200-PS/Makefile.am rename to hw/xprint/config/C/print/models/CANONC3200-PS/Makefile.am diff --git a/XpConfig/C/print/models/CANONC3200-PS/fonts/Makefile.am b/hw/xprint/config/C/print/models/CANONC3200-PS/fonts/Makefile.am similarity index 100% rename from XpConfig/C/print/models/CANONC3200-PS/fonts/Makefile.am rename to hw/xprint/config/C/print/models/CANONC3200-PS/fonts/Makefile.am diff --git a/XpConfig/C/print/models/CANONC3200-PS/model-config b/hw/xprint/config/C/print/models/CANONC3200-PS/model-config similarity index 100% rename from XpConfig/C/print/models/CANONC3200-PS/model-config rename to hw/xprint/config/C/print/models/CANONC3200-PS/model-config diff --git a/XpConfig/C/print/models/GSdefault/Makefile.am b/hw/xprint/config/C/print/models/GSdefault/Makefile.am similarity index 100% rename from XpConfig/C/print/models/GSdefault/Makefile.am rename to hw/xprint/config/C/print/models/GSdefault/Makefile.am diff --git a/XpConfig/C/print/models/GSdefault/model-config b/hw/xprint/config/C/print/models/GSdefault/model-config similarity index 100% rename from XpConfig/C/print/models/GSdefault/model-config rename to hw/xprint/config/C/print/models/GSdefault/model-config diff --git a/XpConfig/C/print/models/HPDJ1600C/Makefile.am b/hw/xprint/config/C/print/models/HPDJ1600C/Makefile.am similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/Makefile.am rename to hw/xprint/config/C/print/models/HPDJ1600C/Makefile.am diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00051.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00051.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00051.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00051.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00052.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00052.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00052.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00052.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00053.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00053.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00053.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00053.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00054.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00054.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00054.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00054.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00055.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00055.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00055.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00055.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00056.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00056.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00056.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00056.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00057.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00057.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00057.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00057.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00058.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00058.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00058.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00058.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00059.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00059.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00059.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00059.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00060.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00060.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00060.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00060.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00061.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00061.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00061.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00061.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00062.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00062.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00062.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00062.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00063.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00063.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00063.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00063.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00064.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00064.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00064.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00064.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00065.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00065.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00065.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00065.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00066.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00066.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00066.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00066.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00067.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00067.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00067.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00067.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00068.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00068.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00068.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00068.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00069.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00069.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00069.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00069.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00070.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00070.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00070.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00070.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00071.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00071.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00071.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00071.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00072.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00072.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00072.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00072.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00073.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00073.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00073.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00073.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00074.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00074.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00074.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00074.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00075.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00075.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00075.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00075.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00076.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00076.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00076.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00076.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00077.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00077.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00077.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00077.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00079.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00079.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00079.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00079.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00080.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00080.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00080.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00080.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00081.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00081.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00081.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00081.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00082.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00082.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00082.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00082.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00083.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00083.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00083.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00083.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00084.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00084.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00084.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00084.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00085.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00085.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00085.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00085.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00086.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00086.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00086.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00086.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00087.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00087.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00087.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00087.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00088.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00088.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00088.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00088.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00089.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00089.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00089.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00089.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00090.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00090.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00090.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00090.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00091.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00091.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00091.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00091.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00092.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00092.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00092.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00092.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00093.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00093.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00093.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00093.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/9nb00094.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00094.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/9nb00094.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00094.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/Makefile.am b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/Makefile.am similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/Makefile.am rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/Makefile.am diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/README b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/README similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/README rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/README diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/fonts.alias b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/fonts.alias similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/fonts.alias rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/fonts.alias diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/fonts.dir b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/fonts.dir similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/fonts.dir rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/fonts.dir diff --git a/XpConfig/C/print/models/HPDJ1600C/fonts/lpr0ye1a.pmf b/hw/xprint/config/C/print/models/HPDJ1600C/fonts/lpr0ye1a.pmf similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/fonts/lpr0ye1a.pmf rename to hw/xprint/config/C/print/models/HPDJ1600C/fonts/lpr0ye1a.pmf diff --git a/XpConfig/C/print/models/HPDJ1600C/model-config b/hw/xprint/config/C/print/models/HPDJ1600C/model-config similarity index 100% rename from XpConfig/C/print/models/HPDJ1600C/model-config rename to hw/xprint/config/C/print/models/HPDJ1600C/model-config diff --git a/XpConfig/C/print/models/HPLJ4050-PS/Makefile.am b/hw/xprint/config/C/print/models/HPLJ4050-PS/Makefile.am similarity index 100% rename from XpConfig/C/print/models/HPLJ4050-PS/Makefile.am rename to hw/xprint/config/C/print/models/HPLJ4050-PS/Makefile.am diff --git a/XpConfig/C/print/models/HPLJ4050-PS/fonts/Makefile.am b/hw/xprint/config/C/print/models/HPLJ4050-PS/fonts/Makefile.am similarity index 100% rename from XpConfig/C/print/models/HPLJ4050-PS/fonts/Makefile.am rename to hw/xprint/config/C/print/models/HPLJ4050-PS/fonts/Makefile.am diff --git a/XpConfig/C/print/models/HPLJ4050-PS/model-config b/hw/xprint/config/C/print/models/HPLJ4050-PS/model-config similarity index 100% rename from XpConfig/C/print/models/HPLJ4050-PS/model-config rename to hw/xprint/config/C/print/models/HPLJ4050-PS/model-config diff --git a/XpConfig/C/print/models/HPLJ4family/Makefile.am b/hw/xprint/config/C/print/models/HPLJ4family/Makefile.am similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/Makefile.am rename to hw/xprint/config/C/print/models/HPLJ4family/Makefile.am diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00051.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00051.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00051.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00051.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00052.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00052.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00052.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00052.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00053.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00053.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00053.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00053.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00054.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00054.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00054.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00054.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00055.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00055.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00055.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00055.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00056.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00056.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00056.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00056.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00057.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00057.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00057.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00057.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00058.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00058.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00058.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00058.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00059.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00059.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00059.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00059.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00060.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00060.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00060.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00060.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00061.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00061.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00061.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00061.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00062.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00062.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00062.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00062.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00063.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00063.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00063.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00063.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00064.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00064.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00064.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00064.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00065.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00065.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00065.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00065.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00066.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00066.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00066.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00066.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00067.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00067.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00067.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00067.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00068.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00068.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00068.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00068.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00069.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00069.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00069.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00069.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00070.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00070.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00070.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00070.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00071.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00071.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00071.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00071.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00072.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00072.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00072.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00072.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00073.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00073.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00073.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00073.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00074.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00074.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00074.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00074.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00075.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00075.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00075.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00075.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00076.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00076.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00076.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00076.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00077.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00077.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00077.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00077.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00079.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00079.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00079.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00079.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00080.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00080.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00080.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00080.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00081.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00081.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00081.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00081.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00082.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00082.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00082.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00082.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00083.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00083.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00083.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00083.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00084.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00084.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00084.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00084.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00085.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00085.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00085.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00085.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00086.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00086.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00086.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00086.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00087.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00087.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00087.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00087.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00088.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00088.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00088.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00088.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00089.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00089.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00089.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00089.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00090.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00090.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00090.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00090.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00091.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00091.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00091.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00091.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00092.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00092.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00092.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00092.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00093.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00093.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00093.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00093.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/9nb00094.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00094.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/9nb00094.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00094.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/Makefile.am b/hw/xprint/config/C/print/models/HPLJ4family/fonts/Makefile.am similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/Makefile.am rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/Makefile.am diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/README b/hw/xprint/config/C/print/models/HPLJ4family/fonts/README similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/README rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/README diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/fonts.alias b/hw/xprint/config/C/print/models/HPLJ4family/fonts/fonts.alias similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/fonts.alias rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/fonts.alias diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/fonts.dir b/hw/xprint/config/C/print/models/HPLJ4family/fonts/fonts.dir similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/fonts.dir rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/fonts.dir diff --git a/XpConfig/C/print/models/HPLJ4family/fonts/lpr0ye1a.pmf b/hw/xprint/config/C/print/models/HPLJ4family/fonts/lpr0ye1a.pmf similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/fonts/lpr0ye1a.pmf rename to hw/xprint/config/C/print/models/HPLJ4family/fonts/lpr0ye1a.pmf diff --git a/XpConfig/C/print/models/HPLJ4family/model-config b/hw/xprint/config/C/print/models/HPLJ4family/model-config similarity index 100% rename from XpConfig/C/print/models/HPLJ4family/model-config rename to hw/xprint/config/C/print/models/HPLJ4family/model-config diff --git a/XpConfig/C/print/models/Makefile.am b/hw/xprint/config/C/print/models/Makefile.am similarity index 100% rename from XpConfig/C/print/models/Makefile.am rename to hw/xprint/config/C/print/models/Makefile.am diff --git a/XpConfig/C/print/models/PS2PDFspooldir-GS/Makefile.am b/hw/xprint/config/C/print/models/PS2PDFspooldir-GS/Makefile.am similarity index 100% rename from XpConfig/C/print/models/PS2PDFspooldir-GS/Makefile.am rename to hw/xprint/config/C/print/models/PS2PDFspooldir-GS/Makefile.am diff --git a/XpConfig/C/print/models/PS2PDFspooldir-GS/model-config b/hw/xprint/config/C/print/models/PS2PDFspooldir-GS/model-config similarity index 100% rename from XpConfig/C/print/models/PS2PDFspooldir-GS/model-config rename to hw/xprint/config/C/print/models/PS2PDFspooldir-GS/model-config diff --git a/XpConfig/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh b/hw/xprint/config/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh similarity index 100% rename from XpConfig/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh rename to hw/xprint/config/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh diff --git a/XpConfig/C/print/models/PSdefault/Makefile.am b/hw/xprint/config/C/print/models/PSdefault/Makefile.am similarity index 100% rename from XpConfig/C/print/models/PSdefault/Makefile.am rename to hw/xprint/config/C/print/models/PSdefault/Makefile.am diff --git a/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-Book.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-Book.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/AvantGarde-Book.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-Book.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-BookOblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-BookOblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/AvantGarde-BookOblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-BookOblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-Demi.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-Demi.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/AvantGarde-Demi.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-Demi.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/AvantGarde-DemiOblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-DemiOblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/AvantGarde-DemiOblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-DemiOblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Courier-Bold.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Courier-Bold.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Courier-Bold.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Courier-Bold.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Courier-BoldOblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Courier-BoldOblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Courier-BoldOblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Courier-BoldOblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Courier-Oblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Courier-Oblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Courier-Oblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Courier-Oblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Courier.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Courier.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Courier.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Courier.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Helvetica-Bold.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-Bold.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Helvetica-Bold.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-Bold.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Helvetica-BoldOblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-BoldOblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Helvetica-BoldOblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-BoldOblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Helvetica-Oblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-Oblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Helvetica-Oblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-Oblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Helvetica.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Helvetica.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-Book.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-Book.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-Book.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-Book.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-BookOblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-BookOblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-BookOblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-BookOblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-Demi.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-Demi.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-Demi.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-Demi.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-DemiOblique.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-DemiOblique.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/LubalinGraph-DemiOblique.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-DemiOblique.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Makefile.am b/hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.am similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Makefile.am rename to hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.am diff --git a/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Bold.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-Bold.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Bold.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-Bold.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-BoldItalic.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-BoldItalic.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-BoldItalic.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-BoldItalic.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Italic.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-Italic.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Italic.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-Italic.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Roman.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-Roman.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/NewCenturySchlbk-Roman.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/NewCenturySchlbk-Roman.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Souvenir-Demi.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-Demi.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Souvenir-Demi.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-Demi.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Souvenir-DemiItalic.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-DemiItalic.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Souvenir-DemiItalic.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-DemiItalic.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Souvenir-Light.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-Light.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Souvenir-Light.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-Light.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Souvenir-LightItalic.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-LightItalic.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Souvenir-LightItalic.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-LightItalic.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Symbol.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Symbol.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Symbol.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Symbol.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Times-Bold.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Times-Bold.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Times-Bold.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Times-Bold.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Times-BoldItalic.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Times-BoldItalic.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Times-BoldItalic.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Times-BoldItalic.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Times-Italic.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Times-Italic.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Times-Italic.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Times-Italic.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/Times-Roman.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/Times-Roman.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/Times-Roman.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/Times-Roman.pmf diff --git a/XpConfig/C/print/models/PSdefault/fonts/ZapfDingbats.pmf b/hw/xprint/config/C/print/models/PSdefault/fonts/ZapfDingbats.pmf similarity index 100% rename from XpConfig/C/print/models/PSdefault/fonts/ZapfDingbats.pmf rename to hw/xprint/config/C/print/models/PSdefault/fonts/ZapfDingbats.pmf diff --git a/XpConfig/C/print/models/PSdefault/model-config b/hw/xprint/config/C/print/models/PSdefault/model-config similarity index 100% rename from XpConfig/C/print/models/PSdefault/model-config rename to hw/xprint/config/C/print/models/PSdefault/model-config diff --git a/XpConfig/C/print/models/PSspooldir/Makefile.am b/hw/xprint/config/C/print/models/PSspooldir/Makefile.am similarity index 100% rename from XpConfig/C/print/models/PSspooldir/Makefile.am rename to hw/xprint/config/C/print/models/PSspooldir/Makefile.am diff --git a/XpConfig/C/print/models/PSspooldir/model-config b/hw/xprint/config/C/print/models/PSspooldir/model-config similarity index 100% rename from XpConfig/C/print/models/PSspooldir/model-config rename to hw/xprint/config/C/print/models/PSspooldir/model-config diff --git a/XpConfig/C/print/models/PSspooldir/spooltodir.sh b/hw/xprint/config/C/print/models/PSspooldir/spooltodir.sh similarity index 100% rename from XpConfig/C/print/models/PSspooldir/spooltodir.sh rename to hw/xprint/config/C/print/models/PSspooldir/spooltodir.sh diff --git a/XpConfig/C/print/models/SPSPARC2/Makefile.am b/hw/xprint/config/C/print/models/SPSPARC2/Makefile.am similarity index 100% rename from XpConfig/C/print/models/SPSPARC2/Makefile.am rename to hw/xprint/config/C/print/models/SPSPARC2/Makefile.am diff --git a/XpConfig/C/print/models/SPSPARC2/fonts/Makefile.am b/hw/xprint/config/C/print/models/SPSPARC2/fonts/Makefile.am similarity index 100% rename from XpConfig/C/print/models/SPSPARC2/fonts/Makefile.am rename to hw/xprint/config/C/print/models/SPSPARC2/fonts/Makefile.am diff --git a/XpConfig/C/print/models/SPSPARC2/model-config b/hw/xprint/config/C/print/models/SPSPARC2/model-config similarity index 100% rename from XpConfig/C/print/models/SPSPARC2/model-config rename to hw/xprint/config/C/print/models/SPSPARC2/model-config diff --git a/XpConfig/Makefile.am b/hw/xprint/config/Makefile.am similarity index 100% rename from XpConfig/Makefile.am rename to hw/xprint/config/Makefile.am diff --git a/XpConfig/README b/hw/xprint/config/README similarity index 100% rename from XpConfig/README rename to hw/xprint/config/README diff --git a/XpConfig/en_US/Makefile.am b/hw/xprint/config/en_US/Makefile.am similarity index 100% rename from XpConfig/en_US/Makefile.am rename to hw/xprint/config/en_US/Makefile.am diff --git a/XpConfig/en_US/print/Makefile.am b/hw/xprint/config/en_US/print/Makefile.am similarity index 100% rename from XpConfig/en_US/print/Makefile.am rename to hw/xprint/config/en_US/print/Makefile.am diff --git a/XpConfig/en_US/print/attributes/Makefile.am b/hw/xprint/config/en_US/print/attributes/Makefile.am similarity index 100% rename from XpConfig/en_US/print/attributes/Makefile.am rename to hw/xprint/config/en_US/print/attributes/Makefile.am diff --git a/XpConfig/en_US/print/attributes/document b/hw/xprint/config/en_US/print/attributes/document similarity index 100% rename from XpConfig/en_US/print/attributes/document rename to hw/xprint/config/en_US/print/attributes/document diff --git a/Xprint/ddxInit.c b/hw/xprint/ddxInit.c similarity index 100% rename from Xprint/ddxInit.c rename to hw/xprint/ddxInit.c diff --git a/Xprint/doc/Makefile.am b/hw/xprint/doc/Makefile.am similarity index 100% rename from Xprint/doc/Makefile.am rename to hw/xprint/doc/Makefile.am diff --git a/Xprint/doc/Xprt.html b/hw/xprint/doc/Xprt.html similarity index 100% rename from Xprint/doc/Xprt.html rename to hw/xprint/doc/Xprt.html diff --git a/Xprint/doc/Xprt.man.pre b/hw/xprint/doc/Xprt.man.pre similarity index 100% rename from Xprint/doc/Xprt.man.pre rename to hw/xprint/doc/Xprt.man.pre diff --git a/Xprint/doc/Xprt.sgml b/hw/xprint/doc/Xprt.sgml similarity index 100% rename from Xprint/doc/Xprt.sgml rename to hw/xprint/doc/Xprt.sgml diff --git a/Xprint/etc/Makefile.am b/hw/xprint/etc/Makefile.am similarity index 100% rename from Xprint/etc/Makefile.am rename to hw/xprint/etc/Makefile.am diff --git a/Xprint/etc/Xsession.d/Makefile.am b/hw/xprint/etc/Xsession.d/Makefile.am similarity index 100% rename from Xprint/etc/Xsession.d/Makefile.am rename to hw/xprint/etc/Xsession.d/Makefile.am diff --git a/Xprint/etc/Xsession.d/cde_xsessiond_xprint.sh b/hw/xprint/etc/Xsession.d/cde_xsessiond_xprint.sh similarity index 100% rename from Xprint/etc/Xsession.d/cde_xsessiond_xprint.sh rename to hw/xprint/etc/Xsession.d/cde_xsessiond_xprint.sh diff --git a/Xprint/etc/init.d/Makefile.am b/hw/xprint/etc/init.d/Makefile.am similarity index 100% rename from Xprint/etc/init.d/Makefile.am rename to hw/xprint/etc/init.d/Makefile.am diff --git a/Xprint/etc/init.d/xprint.cpp b/hw/xprint/etc/init.d/xprint.cpp similarity index 100% rename from Xprint/etc/init.d/xprint.cpp rename to hw/xprint/etc/init.d/xprint.cpp diff --git a/Xprint/etc/profile.d/Makefile.am b/hw/xprint/etc/profile.d/Makefile.am similarity index 100% rename from Xprint/etc/profile.d/Makefile.am rename to hw/xprint/etc/profile.d/Makefile.am diff --git a/Xprint/etc/profile.d/xprint.csh b/hw/xprint/etc/profile.d/xprint.csh similarity index 100% rename from Xprint/etc/profile.d/xprint.csh rename to hw/xprint/etc/profile.d/xprint.csh diff --git a/Xprint/etc/profile.d/xprint.sh b/hw/xprint/etc/profile.d/xprint.sh similarity index 100% rename from Xprint/etc/profile.d/xprint.sh rename to hw/xprint/etc/profile.d/xprint.sh diff --git a/Xprint/mediaSizes.c b/hw/xprint/mediaSizes.c similarity index 100% rename from Xprint/mediaSizes.c rename to hw/xprint/mediaSizes.c diff --git a/Xprint/pcl-mono/Makefile.am b/hw/xprint/pcl-mono/Makefile.am similarity index 100% rename from Xprint/pcl-mono/Makefile.am rename to hw/xprint/pcl-mono/Makefile.am diff --git a/Xprint/pcl/Makefile.am b/hw/xprint/pcl/Makefile.am similarity index 100% rename from Xprint/pcl/Makefile.am rename to hw/xprint/pcl/Makefile.am diff --git a/Xprint/pcl/Makefile.am.inc b/hw/xprint/pcl/Makefile.am.inc similarity index 88% rename from Xprint/pcl/Makefile.am.inc rename to hw/xprint/pcl/Makefile.am.inc index 585ce4839..38a784e13 100644 --- a/Xprint/pcl/Makefile.am.inc +++ b/hw/xprint/pcl/Makefile.am.inc @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/Xprint -I$(top_srcdir)/cfb -I$(top_srcdir)/mfb +INCLUDES = -I$(top_srcdir)/hw/xprint AM_CFLAGS = @SERVER_DEFINES@ @DIX_CFLAGS@ @XPRINT_CFLAGS@ \ -D_XP_PRINT_SERVER_ -DPSZ=8 $(PCL_DRIVER) @@ -19,7 +19,6 @@ libpcl_la_SOURCES = \ $(srcdir)/../pcl/Pclmap.h \ $(srcdir)/../pcl/PclMisc.c \ $(srcdir)/../pcl/PclPixel.c \ - $(srcdir)/../pcl/PclPixmap.c \ $(srcdir)/../pcl/PclPolygon.c \ $(srcdir)/../pcl/PclPrint.c \ $(srcdir)/../pcl/PclSFonts.c \ diff --git a/Xprint/pcl/Pcl.h b/hw/xprint/pcl/Pcl.h similarity index 100% rename from Xprint/pcl/Pcl.h rename to hw/xprint/pcl/Pcl.h diff --git a/Xprint/pcl/PclArc.c b/hw/xprint/pcl/PclArc.c similarity index 100% rename from Xprint/pcl/PclArc.c rename to hw/xprint/pcl/PclArc.c diff --git a/Xprint/pcl/PclArea.c b/hw/xprint/pcl/PclArea.c similarity index 100% rename from Xprint/pcl/PclArea.c rename to hw/xprint/pcl/PclArea.c diff --git a/Xprint/pcl/PclAttVal.c b/hw/xprint/pcl/PclAttVal.c similarity index 100% rename from Xprint/pcl/PclAttVal.c rename to hw/xprint/pcl/PclAttVal.c diff --git a/Xprint/pcl/PclAttr.c b/hw/xprint/pcl/PclAttr.c similarity index 100% rename from Xprint/pcl/PclAttr.c rename to hw/xprint/pcl/PclAttr.c diff --git a/Xprint/pcl/PclColor.c b/hw/xprint/pcl/PclColor.c similarity index 100% rename from Xprint/pcl/PclColor.c rename to hw/xprint/pcl/PclColor.c diff --git a/Xprint/pcl/PclCursor.c b/hw/xprint/pcl/PclCursor.c similarity index 100% rename from Xprint/pcl/PclCursor.c rename to hw/xprint/pcl/PclCursor.c diff --git a/Xprint/pcl/PclDef.h b/hw/xprint/pcl/PclDef.h similarity index 100% rename from Xprint/pcl/PclDef.h rename to hw/xprint/pcl/PclDef.h diff --git a/Xprint/pcl/PclFonts.c b/hw/xprint/pcl/PclFonts.c similarity index 100% rename from Xprint/pcl/PclFonts.c rename to hw/xprint/pcl/PclFonts.c diff --git a/Xprint/pcl/PclGC.c b/hw/xprint/pcl/PclGC.c similarity index 100% rename from Xprint/pcl/PclGC.c rename to hw/xprint/pcl/PclGC.c diff --git a/Xprint/pcl/PclInit.c b/hw/xprint/pcl/PclInit.c similarity index 100% rename from Xprint/pcl/PclInit.c rename to hw/xprint/pcl/PclInit.c diff --git a/Xprint/pcl/PclLine.c b/hw/xprint/pcl/PclLine.c similarity index 100% rename from Xprint/pcl/PclLine.c rename to hw/xprint/pcl/PclLine.c diff --git a/Xprint/pcl/PclMisc.c b/hw/xprint/pcl/PclMisc.c similarity index 100% rename from Xprint/pcl/PclMisc.c rename to hw/xprint/pcl/PclMisc.c diff --git a/Xprint/pcl/PclPixel.c b/hw/xprint/pcl/PclPixel.c similarity index 100% rename from Xprint/pcl/PclPixel.c rename to hw/xprint/pcl/PclPixel.c diff --git a/Xprint/pcl/PclPolygon.c b/hw/xprint/pcl/PclPolygon.c similarity index 100% rename from Xprint/pcl/PclPolygon.c rename to hw/xprint/pcl/PclPolygon.c diff --git a/Xprint/pcl/PclPrint.c b/hw/xprint/pcl/PclPrint.c similarity index 100% rename from Xprint/pcl/PclPrint.c rename to hw/xprint/pcl/PclPrint.c diff --git a/Xprint/pcl/PclSFonts.c b/hw/xprint/pcl/PclSFonts.c similarity index 100% rename from Xprint/pcl/PclSFonts.c rename to hw/xprint/pcl/PclSFonts.c diff --git a/Xprint/pcl/PclSFonts.h b/hw/xprint/pcl/PclSFonts.h similarity index 100% rename from Xprint/pcl/PclSFonts.h rename to hw/xprint/pcl/PclSFonts.h diff --git a/Xprint/pcl/PclSpans.c b/hw/xprint/pcl/PclSpans.c similarity index 100% rename from Xprint/pcl/PclSpans.c rename to hw/xprint/pcl/PclSpans.c diff --git a/Xprint/pcl/PclText.c b/hw/xprint/pcl/PclText.c similarity index 100% rename from Xprint/pcl/PclText.c rename to hw/xprint/pcl/PclText.c diff --git a/Xprint/pcl/PclWindow.c b/hw/xprint/pcl/PclWindow.c similarity index 100% rename from Xprint/pcl/PclWindow.c rename to hw/xprint/pcl/PclWindow.c diff --git a/Xprint/pcl/Pclmap.h b/hw/xprint/pcl/Pclmap.h similarity index 100% rename from Xprint/pcl/Pclmap.h rename to hw/xprint/pcl/Pclmap.h diff --git a/Xprint/ps/Makefile.am b/hw/xprint/ps/Makefile.am similarity index 94% rename from Xprint/ps/Makefile.am rename to hw/xprint/ps/Makefile.am index a05734d5f..90872d9da 100644 --- a/Xprint/ps/Makefile.am +++ b/hw/xprint/ps/Makefile.am @@ -1,6 +1,6 @@ noinst_LTLIBRARIES = libps.la -INCLUDES = -I$(top_srcdir)/Xprint +INCLUDES = -I$(top_srcdir)/hw/xprint AM_CFLAGS = @SERVER_DEFINES@ @DIX_CFLAGS@ @XPRINT_CFLAGS@ @FREETYPE_CFLAGS@ \ -D_XP_PRINT_SERVER_ -DPSZ=8 -DXP_PSTEXT diff --git a/Xprint/ps/Ps.h b/hw/xprint/ps/Ps.h similarity index 100% rename from Xprint/ps/Ps.h rename to hw/xprint/ps/Ps.h diff --git a/Xprint/ps/PsArc.c b/hw/xprint/ps/PsArc.c similarity index 100% rename from Xprint/ps/PsArc.c rename to hw/xprint/ps/PsArc.c diff --git a/Xprint/ps/PsArea.c b/hw/xprint/ps/PsArea.c similarity index 100% rename from Xprint/ps/PsArea.c rename to hw/xprint/ps/PsArea.c diff --git a/Xprint/ps/PsAttVal.c b/hw/xprint/ps/PsAttVal.c similarity index 100% rename from Xprint/ps/PsAttVal.c rename to hw/xprint/ps/PsAttVal.c diff --git a/Xprint/ps/PsAttr.c b/hw/xprint/ps/PsAttr.c similarity index 100% rename from Xprint/ps/PsAttr.c rename to hw/xprint/ps/PsAttr.c diff --git a/Xprint/ps/PsCache.c b/hw/xprint/ps/PsCache.c similarity index 100% rename from Xprint/ps/PsCache.c rename to hw/xprint/ps/PsCache.c diff --git a/Xprint/ps/PsColor.c b/hw/xprint/ps/PsColor.c similarity index 100% rename from Xprint/ps/PsColor.c rename to hw/xprint/ps/PsColor.c diff --git a/Xprint/ps/PsDef.h b/hw/xprint/ps/PsDef.h similarity index 100% rename from Xprint/ps/PsDef.h rename to hw/xprint/ps/PsDef.h diff --git a/Xprint/ps/PsFTFonts.c b/hw/xprint/ps/PsFTFonts.c similarity index 100% rename from Xprint/ps/PsFTFonts.c rename to hw/xprint/ps/PsFTFonts.c diff --git a/Xprint/ps/PsFonts.c b/hw/xprint/ps/PsFonts.c similarity index 100% rename from Xprint/ps/PsFonts.c rename to hw/xprint/ps/PsFonts.c diff --git a/Xprint/ps/PsGC.c b/hw/xprint/ps/PsGC.c similarity index 100% rename from Xprint/ps/PsGC.c rename to hw/xprint/ps/PsGC.c diff --git a/Xprint/ps/PsImageUtil.c b/hw/xprint/ps/PsImageUtil.c similarity index 100% rename from Xprint/ps/PsImageUtil.c rename to hw/xprint/ps/PsImageUtil.c diff --git a/Xprint/ps/PsInit.c b/hw/xprint/ps/PsInit.c similarity index 100% rename from Xprint/ps/PsInit.c rename to hw/xprint/ps/PsInit.c diff --git a/Xprint/ps/PsLine.c b/hw/xprint/ps/PsLine.c similarity index 100% rename from Xprint/ps/PsLine.c rename to hw/xprint/ps/PsLine.c diff --git a/Xprint/ps/PsMisc.c b/hw/xprint/ps/PsMisc.c similarity index 100% rename from Xprint/ps/PsMisc.c rename to hw/xprint/ps/PsMisc.c diff --git a/Xprint/ps/PsPixel.c b/hw/xprint/ps/PsPixel.c similarity index 100% rename from Xprint/ps/PsPixel.c rename to hw/xprint/ps/PsPixel.c diff --git a/Xprint/ps/PsPixmap.c b/hw/xprint/ps/PsPixmap.c similarity index 100% rename from Xprint/ps/PsPixmap.c rename to hw/xprint/ps/PsPixmap.c diff --git a/Xprint/ps/PsPolygon.c b/hw/xprint/ps/PsPolygon.c similarity index 100% rename from Xprint/ps/PsPolygon.c rename to hw/xprint/ps/PsPolygon.c diff --git a/Xprint/ps/PsPrint.c b/hw/xprint/ps/PsPrint.c similarity index 100% rename from Xprint/ps/PsPrint.c rename to hw/xprint/ps/PsPrint.c diff --git a/Xprint/ps/PsSpans.c b/hw/xprint/ps/PsSpans.c similarity index 100% rename from Xprint/ps/PsSpans.c rename to hw/xprint/ps/PsSpans.c diff --git a/Xprint/ps/PsText.c b/hw/xprint/ps/PsText.c similarity index 100% rename from Xprint/ps/PsText.c rename to hw/xprint/ps/PsText.c diff --git a/Xprint/ps/PsWindow.c b/hw/xprint/ps/PsWindow.c similarity index 100% rename from Xprint/ps/PsWindow.c rename to hw/xprint/ps/PsWindow.c diff --git a/Xprint/ps/psout.c b/hw/xprint/ps/psout.c similarity index 100% rename from Xprint/ps/psout.c rename to hw/xprint/ps/psout.c diff --git a/Xprint/ps/psout.h b/hw/xprint/ps/psout.h similarity index 100% rename from Xprint/ps/psout.h rename to hw/xprint/ps/psout.h diff --git a/Xprint/ps/psout_ft.c b/hw/xprint/ps/psout_ft.c similarity index 100% rename from Xprint/ps/psout_ft.c rename to hw/xprint/ps/psout_ft.c diff --git a/Xprint/ps/psout_ftpstype1.c b/hw/xprint/ps/psout_ftpstype1.c similarity index 100% rename from Xprint/ps/psout_ftpstype1.c rename to hw/xprint/ps/psout_ftpstype1.c diff --git a/Xprint/ps/psout_ftpstype3.c b/hw/xprint/ps/psout_ftpstype3.c similarity index 100% rename from Xprint/ps/psout_ftpstype3.c rename to hw/xprint/ps/psout_ftpstype3.c diff --git a/Xprint/ps/ttf2pt1wrap.c b/hw/xprint/ps/ttf2pt1wrap.c similarity index 100% rename from Xprint/ps/ttf2pt1wrap.c rename to hw/xprint/ps/ttf2pt1wrap.c diff --git a/Xprint/raster/Makefile.am b/hw/xprint/raster/Makefile.am similarity index 83% rename from Xprint/raster/Makefile.am rename to hw/xprint/raster/Makefile.am index 4a2223115..fcd1e7334 100644 --- a/Xprint/raster/Makefile.am +++ b/hw/xprint/raster/Makefile.am @@ -1,6 +1,6 @@ noinst_LTLIBRARIES = libraster.la -INCLUDES = -I$(top_srcdir)/Xprint +INCLUDES = -I$(top_srcdir)/hw/xprint AM_CFLAGS = @SERVER_DEFINES@ @DIX_CFLAGS@ @XPRINT_CFLAGS@ \ -D_XP_PRINT_SERVER_ -DPSZ=8 diff --git a/Xprint/raster/Raster.c b/hw/xprint/raster/Raster.c similarity index 100% rename from Xprint/raster/Raster.c rename to hw/xprint/raster/Raster.c diff --git a/Xprint/raster/Raster.h b/hw/xprint/raster/Raster.h similarity index 100% rename from Xprint/raster/Raster.h rename to hw/xprint/raster/Raster.h diff --git a/Xprint/raster/RasterAttVal.c b/hw/xprint/raster/RasterAttVal.c similarity index 100% rename from Xprint/raster/RasterAttVal.c rename to hw/xprint/raster/RasterAttVal.c diff --git a/Xprint/spooler.c b/hw/xprint/spooler.c similarity index 100% rename from Xprint/spooler.c rename to hw/xprint/spooler.c diff --git a/Xprint/spooler.h b/hw/xprint/spooler.h similarity index 100% rename from Xprint/spooler.h rename to hw/xprint/spooler.h From 21ef7e17ef6dca177461c9438b9df707a4d664a2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 18 Jun 2006 18:57:55 -0700 Subject: [PATCH 06/53] Add some missing .gitignore stuff for Mesa symlinks and other generated files. --- GL/glx/.gitignore | 5 ++++ GL/mesa/.gitignore | 32 ++++++++++++++++++++++++++ doc/.gitignore | 2 ++ hw/vfb/.gitignore | 2 ++ hw/xfree86/doc/man/.gitignore | 4 ++++ hw/xfree86/fbdevhw/.gitignore | 2 ++ hw/xfree86/getconfig/.gitignore | 4 ++++ hw/xfree86/utils/gtf/.gitignore | 2 ++ hw/xfree86/utils/pcitweak/.gitignore | 3 +++ hw/xfree86/utils/scanpci/.gitignore | 2 ++ hw/xfree86/utils/xorgcfg/.gitignore | 2 ++ hw/xfree86/utils/xorgconfig/.gitignore | 1 + hw/xnest/.gitignore | 2 ++ 13 files changed, 63 insertions(+) create mode 100644 GL/glx/.gitignore create mode 100644 GL/mesa/.gitignore create mode 100644 doc/.gitignore create mode 100644 hw/vfb/.gitignore create mode 100644 hw/xfree86/doc/man/.gitignore create mode 100644 hw/xfree86/fbdevhw/.gitignore create mode 100644 hw/xfree86/getconfig/.gitignore create mode 100644 hw/xfree86/utils/gtf/.gitignore create mode 100644 hw/xfree86/utils/pcitweak/.gitignore create mode 100644 hw/xfree86/utils/scanpci/.gitignore create mode 100644 hw/xfree86/utils/xorgcfg/.gitignore create mode 100644 hw/xfree86/utils/xorgconfig/.gitignore create mode 100644 hw/xnest/.gitignore diff --git a/GL/glx/.gitignore b/GL/glx/.gitignore new file mode 100644 index 000000000..5cf6f0a44 --- /dev/null +++ b/GL/glx/.gitignore @@ -0,0 +1,5 @@ +indirect_size.h +glcontextmodes.c +glcontextmodes.h +glapi.c +glthread.c diff --git a/GL/mesa/.gitignore b/GL/mesa/.gitignore new file mode 100644 index 000000000..82ab82747 --- /dev/null +++ b/GL/mesa/.gitignore @@ -0,0 +1,32 @@ +X/drivers +X/glxheader.h +X/xmesaP.h +X/xm*.c +array_cache/*.c +array_cache/*.h +mesa/drivers +mesa/glxheader.h +mesa/xm*.c +glapi/*.c +glapi/*.h +main/*.c +main/*.h +math/*.c +math/*.h +ppc +shader/*.c +shader/*.h +shader/slang/*.c +shader/slang/*.h +shader/slang/library +shader/grammar/*.c +shader/grammar/*.h +sparc +swrast/*.c +swrast/*.h +swrast_setup/*.c +swrast_setup/*.h +tnl/*.c +tnl/*.h +x86 +x86-64 diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 000000000..fa5407dda --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,2 @@ +Xserver.1 +Xserver.1x diff --git a/hw/vfb/.gitignore b/hw/vfb/.gitignore new file mode 100644 index 000000000..e3225f65b --- /dev/null +++ b/hw/vfb/.gitignore @@ -0,0 +1,2 @@ +Xvfb.1 +Xvfb.1x diff --git a/hw/xfree86/doc/man/.gitignore b/hw/xfree86/doc/man/.gitignore new file mode 100644 index 000000000..d412e511b --- /dev/null +++ b/hw/xfree86/doc/man/.gitignore @@ -0,0 +1,4 @@ +Xorg.1 +Xorg.1x +xorg.conf.5 +xorg.conf.5x diff --git a/hw/xfree86/fbdevhw/.gitignore b/hw/xfree86/fbdevhw/.gitignore new file mode 100644 index 000000000..4c8446c75 --- /dev/null +++ b/hw/xfree86/fbdevhw/.gitignore @@ -0,0 +1,2 @@ +fbdevhw.4 +fbdevhw.4x diff --git a/hw/xfree86/getconfig/.gitignore b/hw/xfree86/getconfig/.gitignore new file mode 100644 index 000000000..dc5d5cb4d --- /dev/null +++ b/hw/xfree86/getconfig/.gitignore @@ -0,0 +1,4 @@ +getconfig.1 +getconfig.1x +getconfig.5 +getconfig.5x diff --git a/hw/xfree86/utils/gtf/.gitignore b/hw/xfree86/utils/gtf/.gitignore new file mode 100644 index 000000000..741071d52 --- /dev/null +++ b/hw/xfree86/utils/gtf/.gitignore @@ -0,0 +1,2 @@ +gtf.1 +gtf.1x diff --git a/hw/xfree86/utils/pcitweak/.gitignore b/hw/xfree86/utils/pcitweak/.gitignore new file mode 100644 index 000000000..c866baf62 --- /dev/null +++ b/hw/xfree86/utils/pcitweak/.gitignore @@ -0,0 +1,3 @@ +pcitweak.1 +pcitweak.1x + diff --git a/hw/xfree86/utils/scanpci/.gitignore b/hw/xfree86/utils/scanpci/.gitignore new file mode 100644 index 000000000..b752c7455 --- /dev/null +++ b/hw/xfree86/utils/scanpci/.gitignore @@ -0,0 +1,2 @@ +scanpci.1 +scanpci.1x diff --git a/hw/xfree86/utils/xorgcfg/.gitignore b/hw/xfree86/utils/xorgcfg/.gitignore new file mode 100644 index 000000000..378869b1c --- /dev/null +++ b/hw/xfree86/utils/xorgcfg/.gitignore @@ -0,0 +1,2 @@ +xorgcfg.1 +xorgcfg.1x diff --git a/hw/xfree86/utils/xorgconfig/.gitignore b/hw/xfree86/utils/xorgconfig/.gitignore new file mode 100644 index 000000000..6f3cabd65 --- /dev/null +++ b/hw/xfree86/utils/xorgconfig/.gitignore @@ -0,0 +1 @@ +xorgconfig.1 diff --git a/hw/xnest/.gitignore b/hw/xnest/.gitignore new file mode 100644 index 000000000..fc92eb176 --- /dev/null +++ b/hw/xnest/.gitignore @@ -0,0 +1,2 @@ +Xnest.1 +Xnest.1x From 6aaf0e5b581b06fc73e56f863a26cd9d684eb9c0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 18 Jun 2006 19:12:15 -0700 Subject: [PATCH 07/53] Add options to disable EXA acceleration for Composite/UTS/DFS, and always print out how much memory EXA is managing for offscreen pixmaps. --- exa/exa.c | 20 ++++++++++++++++++++ exa/exa_offscreen.c | 5 ----- hw/xfree86/exa/examodule.c | 35 +++++++++++++++++++++++++++++++++-- 3 files changed, 53 insertions(+), 7 deletions(-) diff --git a/exa/exa.c b/exa/exa.c index 75d5c0d69..4b96af815 100644 --- a/exa/exa.c +++ b/exa/exa.c @@ -623,6 +623,10 @@ exaDriverInit (ScreenPtr pScreen, pExaScr->SavedDestroyPixmap = pScreen->DestroyPixmap; pScreen->DestroyPixmap = exaDestroyPixmap; + + LogMessage(X_INFO, "EXA(%d): Offscreen pixmap area of %d bytes\n", + pScreen->myNum, + pExaScr->info->memorySize - pExaScr->info->offScreenBase); } else { @@ -641,6 +645,22 @@ exaDriverInit (ScreenPtr pScreen, } } + LogMessage(X_INFO, "EXA(%d): Driver registered support for the following" + " operations:\n", pScreen->myNum); + assert(pScreenInfo->PrepareSolid != NULL); + LogMessage(X_INFO, " Solid\n"); + assert(pScreenInfo->PrepareCopy != NULL); + LogMessage(X_INFO, " Copy\n"); + if (pScreenInfo->PrepareComposite != NULL) { + LogMessage(X_INFO, " Composite (RENDER acceleration)\n"); + } + if (pScreenInfo->UploadToScreen != NULL) { + LogMessage(X_INFO, " UploadToScreen\n"); + } + if (pScreenInfo->DownloadFromScreen != NULL) { + LogMessage(X_INFO, " DownloadFromScreen\n"); + } + return TRUE; } diff --git a/exa/exa_offscreen.c b/exa/exa_offscreen.c index b55802e1e..9e0aa5d25 100644 --- a/exa/exa_offscreen.c +++ b/exa/exa_offscreen.c @@ -413,7 +413,6 @@ exaOffscreenInit (ScreenPtr pScreen) if (!area) return FALSE; - area->state = ExaOffscreenAvail; area->base_offset = pExaScr->info->offScreenBase; area->offset = area->base_offset; @@ -422,10 +421,6 @@ exaOffscreenInit (ScreenPtr pScreen) area->next = NULL; area->score = 0; -#if DEBUG_OFFSCREEN - ErrorF("============ initial memory block of %d\n", area->size); -#endif - /* Add it to the free areas */ pExaScr->info->offScreenAreas = area; diff --git a/hw/xfree86/exa/examodule.c b/hw/xfree86/exa/examodule.c index 0a7b361c8..4dce58fd8 100644 --- a/hw/xfree86/exa/examodule.c +++ b/hw/xfree86/exa/examodule.c @@ -47,11 +47,22 @@ static int exaXorgScreenPrivateIndex; typedef enum { EXAOPT_MIGRATION_HEURISTIC, + EXAOPT_NO_COMPOSITE, + EXAOPT_NO_UTS, + EXAOPT_NO_DFS, } EXAOpts; static const OptionInfoRec EXAOptions[] = { - { EXAOPT_MIGRATION_HEURISTIC, "MigrationHeuristic", OPTV_ANYSTR, {0}, FALSE }, - { -1, NULL, OPTV_NONE, {0}, FALSE } + { EXAOPT_MIGRATION_HEURISTIC, "MigrationHeuristic", + OPTV_ANYSTR, {0}, FALSE }, + { EXAOPT_NO_COMPOSITE, "EXANoComposite", + OPTV_BOOLEAN, {0}, FALSE }, + { EXAOPT_NO_UTS, "EXANoUploadToScreen", + OPTV_BOOLEAN, {0}, FALSE }, + { EXAOPT_NO_DFS, "EXANoDownloadFromScreen", + OPTV_BOOLEAN, {0}, FALSE }, + { -1, NULL, + OPTV_NONE, {0}, FALSE } }; static Bool @@ -135,6 +146,26 @@ exaDDXDriverInit(ScreenPtr pScreen) } } + if (xf86IsOptionSet(pScreenPriv->options, EXAOPT_NO_COMPOSITE)) { + xf86DrvMsg(pScreen->myNum, X_INFO, + "EXA: Disabling Composite operation " + "(RENDER acceleration)\n"); + pExaScr->info->CheckComposite = NULL; + pExaScr->info->PrepareComposite = NULL; + } + + if (xf86IsOptionSet(pScreenPriv->options, EXAOPT_NO_UTS)) { + xf86DrvMsg(pScreen->myNum, X_INFO, + "EXA: Disabling UploadToScreen\n"); + pExaScr->info->UploadToScreen = NULL; + } + + if (xf86IsOptionSet(pScreenPriv->options, EXAOPT_NO_DFS)) { + xf86DrvMsg(pScreen->myNum, X_INFO, + "EXA: Disabling DownloadFromScreen\n"); + pExaScr->info->DownloadFromScreen = NULL; + } + pScreen->devPrivates[exaXorgScreenPrivateIndex].ptr = pScreenPriv; pScreenPriv->SavedEnableDisableFBAccess = pScrn->EnableDisableFBAccess; From 76aaf7eae7409162c5ed2963f2e27d019cb30263 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 18 Jun 2006 19:47:29 -0700 Subject: [PATCH 08/53] Add a couple of (doxygen) comments I wrote while looking at modesetting. --- hw/xfree86/ddc/xf86DDC.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/hw/xfree86/ddc/xf86DDC.c b/hw/xfree86/ddc/xf86DDC.c index c989cd232..8822bacc1 100644 --- a/hw/xfree86/ddc/xf86DDC.c +++ b/hw/xfree86/ddc/xf86DDC.c @@ -130,6 +130,17 @@ DDCAvailableOptions(void *unused) } #endif +/** + * Attempts to probe the monitor for EDID information, if NoDDC and NoDDC1 are + * unset. EDID information blocks are interpreted and the results returned in + * an xf86MonPtr. + * + * This function does not affect the list of modes used by drivers -- it is up + * to the driver to decide policy on what to do with EDID information. + * + * @return pointer to a new xf86MonPtr containing the EDID information. + * @return NULL if no monitor attached or failure to interpret the EDID. + */ xf86MonPtr xf86DoEDID_DDC1( int scrnIndex, DDC1SetSpeedProc DDC1SetSpeed, @@ -170,6 +181,17 @@ xf86DoEDID_DDC1( return tmp; } +/** + * Attempts to probe the monitor for EDID information, if NoDDC and NoDDC2 are + * unset. EDID information blocks are interpreted and the results returned in + * an xf86MonPtr. + * + * This function does not affect the list of modes used by drivers -- it is up + * to the driver to decide policy on what to do with EDID information. + * + * @return pointer to a new xf86MonPtr containing the EDID information. + * @return NULL if no monitor attached or failure to interpret the EDID. + */ xf86MonPtr xf86DoEDID_DDC2(int scrnIndex, I2CBusPtr pBus) { From 98a602fab1f307a07a96868d7dae12b6f8d7f405 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Sun, 18 Jun 2006 23:54:04 -0400 Subject: [PATCH 09/53] Don't bother building RAC as a module, that's just absurd. --- hw/xfree86/Makefile.am | 1 + hw/xfree86/common/xf86Bus.c | 32 ++++++-------------------------- hw/xfree86/rac/Makefile.am | 5 ++--- hw/xfree86/rac/xf86RAC.c | 12 +++++------- hw/xfree86/rac/xf86RACmodule.c | 21 --------------------- 5 files changed, 14 insertions(+), 57 deletions(-) delete mode 100644 hw/xfree86/rac/xf86RACmodule.c diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index 77d1dd844..b50b6ab07 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -38,6 +38,7 @@ XORG_LIBS = \ common/libinit.a \ loader/libloader.a \ libosandcommon.la \ + rac/librac.a \ parser/libxf86config.a \ dummylib/libdummy.a \ dixmods/libdixmods.la \ diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c index d93503723..057dfb041 100644 --- a/hw/xfree86/common/xf86Bus.c +++ b/hw/xfree86/common/xf86Bus.c @@ -1,4 +1,3 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.80 2004/02/05 18:24:59 eich Exp $ */ /* * Copyright (c) 1997-2003 by The XFree86 Project, Inc. * @@ -2571,17 +2570,13 @@ xf86PostPreInit() if (xf86NumScreens > 1) needRAC = TRUE; -#ifdef XFree86LOADER xf86MsgVerb(X_INFO, 3, "do I need RAC?"); if (needRAC) { xf86ErrorFVerb(3, " Yes, I do.\n"); - - if (!xf86LoadOneModule("rac",NULL)) - FatalError("Cannot load RAC module\n"); - } else + } else { xf86ErrorFVerb(3, " No, I don't.\n"); -#endif + } xf86MsgVerb(X_INFO, 3, "resource ranges after preInit:\n"); xf86PrintResList(3, Acc); @@ -2594,22 +2589,12 @@ xf86PostScreenInit(void) ScreenPtr pScreen; unsigned int flags; int nummem = 0, numio = 0; -#ifdef XFree86LOADER - pointer xf86RACInit = NULL; -#endif - if (doFramebufferMode) { - SetSIGIOForState(OPERATING); - return; - } + if (doFramebufferMode) { + SetSIGIOForState(OPERATING); + return; + } -#ifdef XFree86LOADER - if (needRAC) { - xf86RACInit = LoaderSymbol("xf86RACInit"); - if (!xf86RACInit) - FatalError("Cannot resolve symbol \"xf86RACInit\"\n"); - } -#endif #ifdef DEBUG ErrorF("PostScreenInit generation: %i\n",serverGeneration); #endif @@ -2688,12 +2673,7 @@ xf86PostScreenInit(void) xf86ErrorFVerb(3, "Screen %d is using RAC for io\n", i); } -#ifdef XFree86LOADER - ((Bool(*)(ScreenPtr,unsigned int))xf86RACInit) - (pScreen,flags); -#else xf86RACInit(pScreen,flags); -#endif } } diff --git a/hw/xfree86/rac/Makefile.am b/hw/xfree86/rac/Makefile.am index 144159d5f..0e7cc72b5 100644 --- a/hw/xfree86/rac/Makefile.am +++ b/hw/xfree86/rac/Makefile.am @@ -1,6 +1,5 @@ -module_LTLIBRARIES = librac.la -librac_la_LDFLAGS = -avoid-version -librac_la_SOURCES = xf86RACmodule.c xf86RAC.c +module_LIBRARIES = librac.a +librac_a_SOURCES = xf86RAC.c sdk_HEADERS = xf86RAC.h diff --git a/hw/xfree86/rac/xf86RAC.c b/hw/xfree86/rac/xf86RAC.c index 1f2d3a129..aba86226e 100644 --- a/hw/xfree86/rac/xf86RAC.c +++ b/hw/xfree86/rac/xf86RAC.c @@ -1,5 +1,3 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/rac/xf86RAC.c,v 1.5 1999/06/12 17:30:21 dawes Exp $ */ - #ifdef HAVE_XORG_CONFIG_H #include #endif @@ -243,12 +241,12 @@ static void RACCompositeRects(CARD8 op, PicturePtr pDst, xRenderColor *color, int nRect, xRectangle *rects); #endif -GCFuncs RACGCFuncs = { +static GCFuncs RACGCFuncs = { RACValidateGC, RACChangeGC, RACCopyGC, RACDestroyGC, RACChangeClip, RACDestroyClip, RACCopyClip }; -GCOps RACGCOps = { +static GCOps RACGCOps = { RACFillSpans, RACSetSpans, RACPutImage, RACCopyArea, RACCopyPlane, RACPolyPoint, RACPolylines, RACPolySegment, RACPolyRectangle, RACPolyArc, RACFillPolygon, RACPolyFillRect, @@ -257,13 +255,13 @@ GCOps RACGCOps = { {NULL} /* devPrivate */ }; -miPointerSpriteFuncRec RACSpriteFuncs = { +static miPointerSpriteFuncRec RACSpriteFuncs = { RACSpriteRealizeCursor, RACSpriteUnrealizeCursor, RACSpriteSetCursor, RACSpriteMoveCursor }; -int RACScreenIndex = -1; -int RACGCIndex = -1; +static int RACScreenIndex = -1; +static int RACGCIndex = -1; static unsigned long RACGeneration = 0; diff --git a/hw/xfree86/rac/xf86RACmodule.c b/hw/xfree86/rac/xf86RACmodule.c deleted file mode 100644 index 7b1bdac98..000000000 --- a/hw/xfree86/rac/xf86RACmodule.c +++ /dev/null @@ -1,21 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -static XF86ModuleVersionInfo racVersRec = -{ - "rac", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_VIDEODRV, /* requires the video driver ABI */ - ABI_VIDEODRV_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} -}; - -_X_EXPORT XF86ModuleData racModuleData = { &racVersRec, NULL, NULL }; From a28652f9c35fbc009245382a5cc2a022f42366fc Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 19 Jun 2006 00:57:18 -0400 Subject: [PATCH 10/53] Another round of loader sense-beating. Remove the (unused) server export lists, a really bad hash table, the last vestiges of the other backends, and some miscellaneous cleanups. Good for dropping 300k from the size of the built server on x86. --- configure.ac | 2 +- hw/xfree86/Makefile.am | 2 +- hw/xfree86/loader/Makefile.am | 16 +- hw/xfree86/loader/dixsym.c | 538 -------------- hw/xfree86/loader/dlloader.c | 107 ++- hw/xfree86/loader/dlloader.h | 8 +- hw/xfree86/loader/extsym.c | 84 --- hw/xfree86/loader/fontsym.c | 112 --- hw/xfree86/loader/hash.c | 356 ---------- hw/xfree86/loader/hash.h | 40 -- hw/xfree86/loader/loader.c | 248 +------ hw/xfree86/loader/loader.h | 150 +--- hw/xfree86/loader/loaderProcs.h | 7 +- hw/xfree86/loader/loadext.c | 5 +- hw/xfree86/loader/loadfont.c | 2 +- hw/xfree86/loader/loadmod.c | 40 +- hw/xfree86/loader/misym.c | 225 ------ hw/xfree86/loader/os.c | 4 +- hw/xfree86/loader/xf86sym.c | 1183 ------------------------------- 19 files changed, 79 insertions(+), 3050 deletions(-) delete mode 100644 hw/xfree86/loader/dixsym.c delete mode 100644 hw/xfree86/loader/extsym.c delete mode 100644 hw/xfree86/loader/fontsym.c delete mode 100644 hw/xfree86/loader/hash.c delete mode 100644 hw/xfree86/loader/hash.h delete mode 100644 hw/xfree86/loader/misym.c delete mode 100644 hw/xfree86/loader/xf86sym.c diff --git a/configure.ac b/configure.ac index 5a93b1319..84c2c7024 100644 --- a/configure.ac +++ b/configure.ac @@ -1028,7 +1028,7 @@ if test "x$XORG" = xyes -o "x$XGL" = xyes; then XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os' XORG_INCS="$XORG_DDXINCS $XORG_OSINCS" XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H" - XORG_LIBS="$MI_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB" + XORG_LIBS="$COMPOSITE_LIB $MI_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XPSTUBS_LIB $OS_LIB" AC_CHECK_LIB([dl], [dlopen], XORG_LIBS="$XORG_LIBS -ldl") diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index b50b6ab07..ab29d4d6d 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -36,12 +36,12 @@ DISTCLEANFILES = osandcommon.c xorg.c XORG_LIBS = \ @XORG_CORE_LIBS@ \ common/libinit.a \ - loader/libloader.a \ libosandcommon.la \ rac/librac.a \ parser/libxf86config.a \ dummylib/libdummy.a \ dixmods/libdixmods.la \ + loader/libloader.a \ @XORG_LIBS@ Xorg_DEPENDENCIES = \ diff --git a/hw/xfree86/loader/Makefile.am b/hw/xfree86/loader/Makefile.am index 684087eae..502bb5aeb 100644 --- a/hw/xfree86/loader/Makefile.am +++ b/hw/xfree86/loader/Makefile.am @@ -1,10 +1,6 @@ noinst_LIBRARIES = libloader.a -INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(srcdir)/../vbe \ - -I$(srcdir)/../ddc -I$(srcdir)/../int10 -I$(srcdir)/../i2c \ - -I$(srcdir)/../fbdevhw -I$(srcdir)/../scanpci -I$(srcdir)/../xaa \ - -I$(srcdir)/../vgahw -I$(srcdir)/../ramdac -I$(srcdir)/../shadowfb \ - -I$(srcdir)/../dixmods/extmod -I$(srcdir)/../../../miext/cw \ - -I$(srcdir)/../../../miext/damage + +INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser #AM_LDFLAGS = -r AM_CFLAGS = -DIN_LOADER $(XORG_CFLAGS) @SERVER_DEFINES@ @LOADER_DEFINES@ @@ -15,10 +11,8 @@ endif EXTRA_DIST = \ dlloader.h \ - hash.h \ loader.h \ loaderProcs.h \ - sym.h \ SparcMulDiv.S libloader_a_SOURCES = \ @@ -29,10 +23,4 @@ libloader_a_SOURCES = \ loadfont.c \ dlloader.c \ os.c \ - dixsym.c \ - extsym.c \ - fontsym.c \ - misym.c \ - xf86sym.c \ - hash.c \ $(SPARC_SOURCES) diff --git a/hw/xfree86/loader/dixsym.c b/hw/xfree86/loader/dixsym.c deleted file mode 100644 index 9ba50877e..000000000 --- a/hw/xfree86/loader/dixsym.c +++ /dev/null @@ -1,538 +0,0 @@ -/* $XdotOrg: xserver/xorg/hw/xfree86/loader/dixsym.c,v 1.21 2006/03/24 20:50:13 fredrik Exp $ */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/dixsym.c,v 1.63 2003/12/03 - * 17:11:29 tsi Exp $ */ - -/* - * Copyright 1995-1998 by Metro Link, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Metro Link, Inc. not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Metro Link, Inc. makes no - * representations about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ -/* - * Copyright (c) 1997-2003 by The XFree86 Project, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of the copyright holder(s) - * and author(s) shall not be used in advertising or otherwise to promote - * the sale, use or other dealings in this Software without prior written - * authorization from the copyright holder(s) and author(s). - */ - -#undef DBMALLOC -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "sym.h" -#include "colormap.h" -#include "cursor.h" -#include "cursorstr.h" -#include "dix.h" -#include "dixevents.h" -#include "dixfont.h" -#include "dixstruct.h" -#include "misc.h" -#include "globals.h" -#include "os.h" -#include "osdep.h" -#include "resource.h" -#include "servermd.h" -#include "scrnintstr.h" -#include "windowstr.h" -#include "extension.h" -#define EXTENSION_PROC_ARGS void * -#include "extnsionst.h" -#include "swaprep.h" -#include "swapreq.h" -#include "inputstr.h" -#include -#include "exevents.h" -#include "extinit.h" -#ifdef XV -#include "xvmodproc.h" -#endif -#include "dgaproc.h" -#ifdef RENDER -#include "mipict.h" -#include "renderedge.h" -#endif -#include "selection.h" -#ifdef XKB -#include -extern int XkbDfltRepeatDelay, XkbDfltRepeatInterval; -#endif - -extern Selection *CurrentSelections; -extern int NumCurrentSelections; - -/* DIX things */ - -LOOKUP dixLookupTab[] = { - - /* dix */ - /* atom.c */ - SYMFUNC(MakeAtom) - SYMFUNC(ValidAtom) - /* colormap.c */ - SYMFUNC(AllocColor) - SYMFUNC(CreateColormap) - SYMFUNC(FakeAllocColor) - SYMFUNC(FakeFreeColor) - SYMFUNC(FreeColors) - SYMFUNC(StoreColors) - SYMFUNC(TellLostMap) - SYMFUNC(TellGainedMap) - SYMFUNC(QueryColors) - /* cursor.c */ - SYMFUNC(FreeCursor) - /* devices.c */ - SYMFUNC(Ones) - SYMFUNC(InitButtonClassDeviceStruct) - SYMFUNC(InitFocusClassDeviceStruct) - SYMFUNC(InitLedFeedbackClassDeviceStruct) - SYMFUNC(InitPtrFeedbackClassDeviceStruct) - SYMFUNC(InitKbdFeedbackClassDeviceStruct) - SYMFUNC(InitIntegerFeedbackClassDeviceStruct) - SYMFUNC(InitStringFeedbackClassDeviceStruct) - SYMFUNC(InitBellFeedbackClassDeviceStruct) - SYMFUNC(InitValuatorClassDeviceStruct) - SYMFUNC(InitKeyClassDeviceStruct) - SYMFUNC(InitKeyboardDeviceStruct) - SYMFUNC(SendMappingNotify) - SYMFUNC(InitPointerDeviceStruct) - SYMFUNC(LookupKeyboardDevice) - SYMFUNC(LookupPointerDevice) - /* dispatch.c */ - SYMFUNC(SetInputCheck) - SYMFUNC(SendErrorToClient) - SYMFUNC(UpdateCurrentTime) - SYMFUNC(UpdateCurrentTimeIf) - SYMFUNC(ProcBadRequest) - SYMVAR(dispatchException) - SYMVAR(isItTimeToYield) - SYMVAR(ClientStateCallback) - SYMVAR(ServerGrabCallback) - SYMVAR(CurrentSelections) - SYMVAR(NumCurrentSelections) - /* dixfonts.c */ - SYMFUNC(CloseFont) - SYMFUNC(FontToXError) - SYMFUNC(LoadGlyphs) - SYMVAR(fpe_functions) - /* dixutils.c */ - SYMFUNC(AddCallback) - SYMFUNC(ClientSleep) - SYMFUNC(ClientTimeToServerTime) - SYMFUNC(ClientWakeup) - SYMFUNC(CompareTimeStamps) - SYMFUNC(CopyISOLatin1Lowered) - SYMFUNC(DeleteCallback) - SYMFUNC(LookupClient) - SYMFUNC(LookupDrawable) - SYMFUNC(LookupWindow) - SYMFUNC(NoopDDA) - SYMFUNC(QueueWorkProc) - SYMFUNC(RegisterBlockAndWakeupHandlers) - SYMFUNC(RemoveBlockAndWakeupHandlers) -#ifdef XCSECURITY - SYMFUNC(SecurityLookupDrawable) - SYMFUNC(SecurityLookupWindow) -#endif - /* events.c */ - SYMFUNC(CheckCursorConfinement) - SYMFUNC(DeliverEvents) - SYMFUNC(NewCurrentScreen) - SYMFUNC(PointerConfinedToScreen) - SYMFUNC(TryClientEvents) - SYMFUNC(WriteEventsToClient) - SYMFUNC(GetCurrentRootWindow) - SYMFUNC(GetSpritePosition) - SYMFUNC(GetSpriteWindow) - SYMFUNC(GetSpriteCursor) - SYMFUNC(WindowsRestructured) - SYMVAR(DeviceEventCallback) - SYMVAR(EventCallback) - SYMVAR(inputInfo) - SYMFUNC(SetCriticalEvent) -#ifdef PANORAMIX - SYMFUNC(XineramaGetCursorScreen) -#endif - /* property.c */ - SYMFUNC(ChangeWindowProperty) - /* extension.c */ - SYMFUNC(AddExtension) - SYMFUNC(AddExtensionAlias) - SYMFUNC(CheckExtension) - SYMFUNC(DeclareExtensionSecurity) - SYMFUNC(MinorOpcodeOfRequest) - SYMFUNC(StandardMinorOpcode) -#ifdef XEVIE - SYMVAR(xeviehot) - SYMVAR(xeviewin) -#endif - /* gc.c */ - SYMFUNC(CopyGC) - SYMFUNC(CreateGC) - SYMFUNC(CreateScratchGC) - SYMFUNC(ChangeGC) - SYMFUNC(dixChangeGC) - SYMFUNC(DoChangeGC) - SYMFUNC(FreeGC) - SYMFUNC(FreeScratchGC) - SYMFUNC(GetScratchGC) - SYMFUNC(SetClipRects) - SYMFUNC(ValidateGC) - SYMFUNC(VerifyRectOrder) - SYMFUNC(SetDashes) - /* globals.c */ - SYMVAR(ScreenSaverTime) -#ifdef DPMSExtension - SYMVAR(DPMSEnabled) - SYMVAR(DPMSCapableFlag) - SYMVAR(DPMSOffTime) - SYMVAR(DPMSPowerLevel) - SYMVAR(DPMSStandbyTime) - SYMVAR(DPMSSuspendTime) - SYMVAR(DPMSEnabledSwitch) - SYMVAR(DPMSDisabledSwitch) - SYMVAR(defaultDPMSEnabled) -#endif - /* bigreq */ - SYMVAR(maxBigRequestSize) -#ifdef XV - /* XXX These are exported from the DDX, not DIX. */ - SYMVAR(XvScreenInitProc) - SYMVAR(XvGetScreenIndexProc) - SYMVAR(XvGetRTPortProc) - SYMVAR(XvMCScreenInitProc) -#endif - SYMVAR(ScreenSaverBlanking) - SYMVAR(WindowTable) - SYMVAR(clients) - SYMVAR(currentMaxClients) - SYMVAR(currentTime) - SYMVAR(defaultColorVisualClass) - SYMVAR(display) - SYMVAR(globalSerialNumber) - SYMVAR(lastDeviceEventTime) - SYMVAR(monitorResolution) - SYMVAR(permitOldBugs) - SYMVAR(screenInfo) - SYMVAR(serverClient) - SYMVAR(serverGeneration) - /* main.c */ - SYMFUNC(NotImplemented) - SYMVAR(PixmapWidthPaddingInfo) - /* pixmap.c */ - SYMFUNC(AllocatePixmap) - SYMFUNC(GetScratchPixmapHeader) - SYMFUNC(FreeScratchPixmapHeader) - /* privates.c */ - SYMFUNC(AllocateClientPrivate) - SYMFUNC(AllocateClientPrivateIndex) - SYMFUNC(AllocateGCPrivate) - SYMFUNC(AllocateGCPrivateIndex) - SYMFUNC(AllocateWindowPrivate) - SYMFUNC(AllocateWindowPrivateIndex) - SYMFUNC(AllocateScreenPrivateIndex) - SYMFUNC(AllocateColormapPrivateIndex) - SYMFUNC(AllocateDevicePrivateIndex) - SYMFUNC(AllocateDevicePrivate) -#ifdef PIXPRIV - SYMFUNC(AllocatePixmapPrivateIndex) - SYMFUNC(AllocatePixmapPrivate) -#endif - /* resource.c */ - SYMFUNC(AddResource) - SYMFUNC(ChangeResourceValue) - SYMFUNC(CreateNewResourceClass) - SYMFUNC(CreateNewResourceType) - SYMFUNC(FakeClientID) - SYMFUNC(FreeResource) - SYMFUNC(FreeResourceByType) - SYMFUNC(GetXIDList) - SYMFUNC(GetXIDRange) - SYMFUNC(LookupIDByType) - SYMFUNC(LookupIDByClass) - SYMFUNC(LegalNewID) -#ifdef XCSECURITY - SYMFUNC(SecurityLookupIDByClass) - SYMFUNC(SecurityLookupIDByType) -#endif - SYMFUNC(FindClientResourcesByType) - SYMFUNC(FindAllClientResources) - SYMVAR(lastResourceType) - SYMVAR(TypeMask) -#ifdef RES - SYMFUNC(RegisterResourceName) - SYMVAR(ResourceNames) -#endif - /* swaprep.c */ - SYMFUNC(CopySwap32Write) - SYMFUNC(Swap32Write) - SYMFUNC(SwapConnSetupInfo) - SYMFUNC(SwapConnSetupPrefix) - /* swapreq.c */ - SYMFUNC(SwapShorts) - SYMFUNC(SwapLongs) - SYMFUNC(SwapColorItem) - /* tables.c */ - SYMVAR(EventSwapVector) - SYMVAR(ReplySwapVector) - SYMVAR(ProcVector) - /* window.c */ - SYMFUNC(ChangeWindowAttributes) - SYMFUNC(CheckWindowOptionalNeed) - SYMFUNC(CreateUnclippedWinSize) - SYMFUNC(CreateWindow) - SYMFUNC(FindWindowWithOptional) - SYMFUNC(GravityTranslate) - SYMFUNC(MakeWindowOptional) - SYMFUNC(MapWindow) - SYMFUNC(MoveWindowInStack) - SYMFUNC(NotClippedByChildren) - SYMFUNC(ResizeChildrenWinSize) - SYMFUNC(SaveScreens) - SYMFUNC(SendVisibilityNotify) - SYMFUNC(SetWinSize) - SYMFUNC(SetBorderSize) - SYMFUNC(TraverseTree) - SYMFUNC(UnmapWindow) - SYMFUNC(WalkTree) - SYMVAR(deltaSaveUndersViewable) - SYMVAR(numSaveUndersViewable) - SYMVAR(savedScreenInfo) - SYMVAR(screenIsSaved) - - /*os/ */ - /* access.c */ - SYMFUNC(LocalClient) - /* utils.c */ - SYMFUNC(Xstrdup) - SYMFUNC(XNFstrdup) - SYMVAR(Must_have_memory) - SYMFUNC(AdjustWaitForDelay) - SYMVAR(noTestExtensions) - SYMFUNC(GiveUp) - -#ifdef BIGREQS - SYMVAR(noBigReqExtension) -#endif -#ifdef COMPOSITE - SYMVAR(noCompositeExtension) -#endif -#ifdef DAMAGE - SYMVAR(noDamageExtension) -#endif -#ifdef DBE - SYMVAR(noDbeExtension) -#endif -#ifdef DPMSExtension - SYMVAR(noDPMSExtension) -#endif -#ifdef EVI - SYMVAR(noEVIExtension) -#endif -#ifdef FONTCACHE - SYMVAR(noFontCacheExtension) -#endif -#ifdef GLXEXT - SYMVAR(noGlxExtension) -#endif -#ifdef SCREENSAVER - SYMVAR(noScreenSaverExtension) -#endif -#ifdef MITSHM - SYMVAR(noMITShmExtension) -#endif -#ifdef MITMISC - SYMVAR(noMITMiscExtension) -#endif -#ifdef MULTIBUFFER - SYMVAR(noMultibufferExtension) -#endif -#ifdef RANDR - SYMVAR(noRRExtension) -#endif -#ifdef RENDER - SYMVAR(noRenderExtension) -#endif -#ifdef SHAPE - SYMVAR(noShapeExtension) -#endif -#ifdef XCSECURITY - SYMVAR(noSecurityExtension) -#endif -#ifdef XSYNC - SYMVAR(noSyncExtension) -#endif -#ifdef TOGCUP - SYMVAR(noXcupExtension) -#endif -#ifdef RES - SYMVAR(noResExtension) -#endif -#ifdef XAPPGROUP - SYMVAR(noXagExtension) -#endif -#ifdef XCMISC - SYMVAR(noXCMiscExtension) -#endif -#ifdef XEVIE - SYMVAR(noXevieExtension) -#endif -#ifdef XF86BIGFONT - SYMVAR(noXFree86BigfontExtension) -#endif -#ifdef XFreeXDGA - SYMVAR(noXFree86DGAExtension) -#endif -#ifdef XF86DRI - SYMVAR(noXFree86DRIExtension) -#endif -#ifdef XF86MISC - SYMVAR(noXFree86MiscExtension) -#endif -#ifdef XF86VIDMODE - SYMVAR(noXFree86VidModeExtension) -#endif -#ifdef XFIXES - SYMVAR(noXFixesExtension) -#endif -#ifdef XKB -/* |noXkbExtension| is defined in xc/programs/Xserver/xkb/xkbInit.c */ - SYMVAR(noXkbExtension) -#endif -#ifdef PANORAMIX - SYMVAR(noPanoramiXExtension) -#endif -#ifdef XINPUT - SYMVAR(noXInputExtension) -#endif -#ifdef XIDLE - SYMVAR(noXIdleExtension) -#endif -#ifdef XV - SYMVAR(noXvExtension) -#endif - - /* log.c */ - SYMFUNC(LogVWrite) - SYMFUNC(LogWrite) - SYMFUNC(LogVMessageVerb) - SYMFUNC(LogMessageVerb) - SYMFUNC(LogMessage) - SYMFUNC(FatalError) - SYMFUNC(VErrorF) - SYMFUNC(ErrorF) - SYMFUNC(Error) - /* xalloc.c */ - SYMFUNC(XNFalloc) - SYMFUNC(XNFcalloc) - SYMFUNC(XNFrealloc) - SYMFUNC(Xalloc) - SYMFUNC(Xcalloc) - SYMFUNC(Xfree) - SYMFUNC(Xrealloc) - /* WaitFor.c */ - SYMFUNC(TimerFree) - SYMFUNC(TimerSet) - SYMFUNC(TimerCancel) - /* io.c */ - SYMFUNC(WriteToClient) - SYMFUNC(SetCriticalOutputPending) - SYMVAR(FlushCallback) - SYMVAR(ReplyCallback) - SYMVAR(SkippedRequestsCallback) - SYMFUNC(ResetCurrentRequest) - /* connection.c */ - SYMFUNC(IgnoreClient) - SYMFUNC(AttendClient) - SYMFUNC(AddEnabledDevice) - SYMFUNC(RemoveEnabledDevice) - SYMFUNC(MakeClientGrabPervious) - SYMFUNC(MakeClientGrabImpervious) - SYMVAR(GrabInProgress) - -#ifdef XKB - /* xkb/xkbInit.c */ - SYMFUNC(XkbInitKeyboardDeviceStruct) - SYMFUNC(XkbSetRulesDflts) - SYMVAR(XkbDfltRepeatDelay) - SYMVAR(XkbDfltRepeatInterval) -#endif - -#ifdef XINPUT - /* Xi */ - /* exevents.c */ - SYMFUNC(InitValuatorAxisStruct) - SYMFUNC(InitProximityClassDeviceStruct) - /* extinit.c */ - SYMFUNC(AssignTypeAndName) -#endif - - /* xf86DGA.c */ - /* XXX This is exported from the DDX, not DIX. */ - SYMVAR(XDGAEventBase) - - /* librender.a */ -#ifdef RENDER - /* picture.c */ - SYMFUNC(PictureInit) - SYMFUNC(PictureTransformPoint) - SYMFUNC(PictureTransformPoint3d) - SYMFUNC(PictureGetSubpixelOrder) - SYMFUNC(PictureSetSubpixelOrder) - SYMVAR(PictureScreenPrivateIndex) - /* mipict.c */ - SYMFUNC(miPictureInit) - SYMFUNC(miComputeCompositeRegion) - /* miglyph.c */ - SYMFUNC(miGlyphs) - /* mirect.c */ - SYMFUNC(miCompositeRects) - /* filter.c */ - SYMFUNC(PictureAddFilter) - SYMFUNC(PictureSetFilterAlias) - /* renderedge.c */ - SYMFUNC(RenderSampleCeilY) - SYMFUNC(RenderSampleFloorY) - SYMFUNC(RenderEdgeStep) - SYMFUNC(RenderEdgeInit) - SYMFUNC(RenderLineFixedEdgeInit) -#endif - - {0, 0} -}; diff --git a/hw/xfree86/loader/dlloader.c b/hw/xfree86/loader/dlloader.c index 835deda49..3c62f863b 100644 --- a/hw/xfree86/loader/dlloader.c +++ b/hw/xfree86/loader/dlloader.c @@ -1,7 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/dlloader.c,v 1.13 2003/10/15 16:29:02 dawes Exp $ */ - /* - * * Copyright (c) 1997 The XFree86 Project, Inc. * * Permission to use, copy, modify, distribute, and sell this software @@ -23,7 +20,18 @@ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. */ + * SOFTWARE. + */ + +/* + * Once upon a time, X had multiple loader backends, three of which were + * essentially libdl reimplementations. This was nonsense so we chucked + * it, but we still retain the factorization between loader API and + * platform implementation. This file is the libdl implementation, and + * currently the only backend. If you find yourself porting to a platform + * without working libdl - hpux, win32, some forsaken a.out host, etc. - + * make a new backend rather than hacking up this file. + */ #ifdef HAVE_XORG_CONFIG_H #include @@ -36,82 +44,67 @@ #include #include "os.h" -#include "sym.h" #include "loader.h" #include "dlloader.h" -#ifdef DL_LAZY +#if defined(DL_LAZY) #define DLOPEN_LAZY DL_LAZY -#else -#ifdef RTLD_LAZY +#elif defined(RTLD_LAZY) #define DLOPEN_LAZY RTLD_LAZY -#else -#ifdef __FreeBSD__ +#elif defined(__FreeBSD__) #define DLOPEN_LAZY 1 #else #define DLOPEN_LAZY 0 #endif -#endif -#endif -#ifdef LD_GLOBAL + +#if defined(LD_GLOBAL) #define DLOPEN_GLOBAL LD_GLOBAL -#else -#ifdef RTLD_GLOBAL +#elif defined(RTLD_GLOBAL) #define DLOPEN_GLOBAL RTLD_GLOBAL #else #define DLOPEN_GLOBAL 0 #endif -#endif #if defined(CSRG_BASED) && !defined(__ELF__) -#define NEED_UNDERSCORE_FOR_DLLSYM +#define DLSYM_PREFIX "_" +#else +#define DLSYM_PREFIX "" #endif -/* - * This structure contains all of the information about a module - * that has been loaded. - */ typedef struct { int handle; void *dlhandle; int flags; } DLModuleRec, *DLModulePtr; -/* - * a list of loaded modules XXX can be improved - */ +/* Hooray, yet another open coded linked list! FIXME */ typedef struct DLModuleList { DLModulePtr module; struct DLModuleList *next; } DLModuleList; -DLModuleList *dlModuleList = NULL; +static DLModuleList *dlModuleList = NULL; -void * +static void * DLFindSymbolLocal(pointer module, const char *name) { DLModulePtr dlfile = module; void *p; char *n; -#ifdef NEED_UNDERSCORE_FOR_DLLSYM - static const char symPrefix[] = "_"; -#else - static const char symPrefix[] = ""; -#endif + static const char symPrefix[] = DLSYM_PREFIX; - n = xf86loadermalloc(strlen(symPrefix) + strlen(name) + 1); - sprintf(n, "%s%s", symPrefix, name); + n = malloc(strlen(symPrefix) + strlen(name) + 1); + if (strlen(symPrefix)) + sprintf(n, "%s%s", symPrefix, name); + else + sprintf(n, "%s", name); p = dlsym(dlfile->dlhandle, n); - xf86loaderfree(n); + free(n); return p; } - -/* - * Search a symbol in the module list - */ void * DLFindSymbol(const char *name) { @@ -127,75 +120,59 @@ DLFindSymbol(const char *name) return NULL; } -/* - * public interface - */ void * -DLLoadModule(loaderPtr modrec, int fd, LOOKUP ** ppLookup, int flags) +DLLoadModule(loaderPtr modrec, int fd, int flags) { DLModulePtr dlfile; DLModuleList *l; int dlopen_flags; - if ((dlfile = xf86loadercalloc(1, sizeof(DLModuleRec))) == NULL) { - ErrorF("Unable to allocate DLModuleRec\n"); + if ((dlfile = calloc(1, sizeof(DLModuleRec))) == NULL) { + ErrorF("Unable to allocate DLModuleRec\n"); return NULL; } dlfile->handle = modrec->handle; if (flags & LD_FLAG_GLOBAL) - dlopen_flags = DLOPEN_LAZY | DLOPEN_GLOBAL; + dlopen_flags = DLOPEN_LAZY | DLOPEN_GLOBAL; else - dlopen_flags = DLOPEN_LAZY; + dlopen_flags = DLOPEN_LAZY; dlfile->dlhandle = dlopen(modrec->name, dlopen_flags); if (dlfile->dlhandle == NULL) { ErrorF("dlopen: %s\n", dlerror()); - xf86loaderfree(dlfile); + free(dlfile); return NULL; } - l = xf86loadermalloc(sizeof(DLModuleList)); + l = malloc(sizeof(DLModuleList)); l->module = dlfile; l->next = dlModuleList; dlModuleList = l; - *ppLookup = NULL; return (void *)dlfile; } -void -DLResolveSymbols(void *mod) -{ - return; -} - -int -DLCheckForUnresolved(void *mod) -{ - return 0; -} - void DLUnloadModule(void *modptr) { DLModulePtr dlfile = (DLModulePtr) modptr; DLModuleList *l, *p; - /* remove it from dlModuleList */ + /* remove it from dlModuleList. */ if (dlModuleList->module == modptr) { l = dlModuleList; dlModuleList = l->next; - xf86loaderfree(l); + free(l); } else { p = dlModuleList; for (l = dlModuleList->next; l != NULL; l = l->next) { if (l->module == modptr) { p->next = l->next; - xf86loaderfree(l); + free(l); break; } p = l; } } dlclose(dlfile->dlhandle); - xf86loaderfree(modptr); + free(modptr); } diff --git a/hw/xfree86/loader/dlloader.h b/hw/xfree86/loader/dlloader.h index 6475291b5..b705a18d0 100644 --- a/hw/xfree86/loader/dlloader.h +++ b/hw/xfree86/loader/dlloader.h @@ -19,19 +19,15 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/dlloader.h,v 1.2 1998/07/25 16:56:14 dawes Exp $ */ - #ifdef HAVE_XORG_CONFIG_H #include #endif #ifndef _DLLOADER_H #define _DLLOADER_H -extern void *DLLoadModule(loaderPtr, int, LOOKUP **, int flags); -extern void DLResolveSymbols(void *); -extern int DLCheckForUnresolved(void *); + +extern void *DLLoadModule(loaderPtr, int, int flags); extern void DLUnloadModule(void *); extern void *DLFindSymbol(const char *name); -extern void *DLFindSymbolLocal(pointer module, const char *name); #endif diff --git a/hw/xfree86/loader/extsym.c b/hw/xfree86/loader/extsym.c deleted file mode 100644 index 1a841ac9a..000000000 --- a/hw/xfree86/loader/extsym.c +++ /dev/null @@ -1,84 +0,0 @@ -/* $XdotOrg: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.5 2004/09/14 23:21:22 gisburn Exp $ */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.9 2003/10/15 16:29:03 dawes Exp $ */ - -/* - * - * Copyright 1999-2003 by The XFree86 Project, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of The XFree86 Project, Inc. not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. The XFree86 Project, Inc. makes no - * representations about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * THE XFREE86 PROJECT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO - * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS, IN NO EVENT SHALL THE XFREE86 PROJECT, INC. BE LIABLE - * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "resource.h" -#include "sym.h" -#include "misc.h" -#ifdef PANORAMIX -#include "panoramiX.h" -#endif -#include "sleepuntil.h" - -#ifdef HAS_SHM -extern int ShmCompletionCode; -extern int BadShmSegCode; -extern RESTYPE ShmSegType, ShmPixType; -#endif - -#ifdef PANORAMIX -extern Bool noPanoramiXExtension; -extern int PanoramiXNumScreens; -extern PanoramiXData *panoramiXdataPtr; -extern XID *PanoramiXVisualTable; -extern unsigned long XRT_WINDOW; -extern unsigned long XRT_PIXMAP; -extern unsigned long XRT_GC; -extern unsigned long XRT_COLORMAP; -extern unsigned long XRC_DRAWABLE; -extern Bool XineramaRegisterConnectionBlockCallback(void (*func) (void)); -extern int XineramaDeleteResource(pointer, XID); -#endif - -LOOKUP extLookupTab[] = { - - SYMFUNC(ClientSleepUntil) - -#ifdef HAS_SHM - SYMVAR(ShmCompletionCode) - SYMVAR(BadShmSegCode) - SYMVAR(ShmSegType) -#endif - -#ifdef PANORAMIX - SYMFUNC(XineramaRegisterConnectionBlockCallback) - SYMFUNC(XineramaDeleteResource) - SYMVAR(PanoramiXNumScreens) - SYMVAR(panoramiXdataPtr) - SYMVAR(PanoramiXVisualTable) - SYMVAR(XRT_WINDOW) - SYMVAR(XRT_PIXMAP) - SYMVAR(XRT_GC) - SYMVAR(XRT_COLORMAP) - SYMVAR(XRC_DRAWABLE) -#endif - - {0, 0} -}; diff --git a/hw/xfree86/loader/fontsym.c b/hw/xfree86/loader/fontsym.c deleted file mode 100644 index 5daf82802..000000000 --- a/hw/xfree86/loader/fontsym.c +++ /dev/null @@ -1,112 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.14 2003/12/20 20:04:34 dawes Exp $ */ -/* - * Copyright (c) 1998-2002 by The XFree86 Project, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of the copyright holder(s) - * and author(s) shall not be used in advertising or otherwise to promote - * the sale, use or other dealings in this Software without prior written - * authorization from the copyright holder(s) and author(s). - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "sym.h" -#include -#include -#ifdef FONTENC_COMPATIBILITY -#include -#endif -#include -#include -#include -#include -#ifdef FONTCACHE -#define _FONTCACHE_SERVER_ -#include "fontcache.h" -#endif - -LOOKUP fontLookupTab[] = { - - SYMFUNC(TwoByteSwap) - SYMFUNC(FourByteSwap) - SYMFUNC(FontCouldBeTerminal) - SYMFUNC(BufFileRead) - SYMFUNC(BufFileWrite) - SYMFUNC(CheckFSFormat) - SYMFUNC(FontFileOpen) - SYMFUNC(FontFilePriorityRegisterRenderer) - SYMFUNC(FontFileRegisterRenderer) - SYMFUNC(FontParseXLFDName) - SYMFUNC(FontFileCloseFont) - SYMFUNC(FontFileOpenBitmap) - SYMFUNC(FontFileCompleteXLFD) - SYMFUNC(FontFileCountDashes) - SYMFUNC(FontFileFindNameInDir) - SYMFUNC(FontFileClose) - SYMFUNC(FontComputeInfoAccelerators) - SYMFUNC(FontDefaultFormat) - SYMFUNC(NameForAtom) - SYMFUNC(BitOrderInvert) - SYMFUNC(FontFileMatchRenderer) - SYMFUNC(RepadBitmap) - SYMFUNC(FontEncName) - SYMFUNC(FontEncRecode) - SYMFUNC(FontEncFind) - SYMFUNC(FontMapFind) - SYMFUNC(FontEncMapFind) - SYMFUNC(FontEncFromXLFD) - SYMFUNC(FontEncDirectory) - SYMFUNC(FontMapReverse) - SYMFUNC(FontMapReverseFree) - SYMFUNC(CreateFontRec) - SYMFUNC(DestroyFontRec) - SYMFUNC(GetGlyphs) - SYMFUNC(QueryGlyphExtents) - - SYMVAR(FontFileBitmapSources) - -#ifdef FONTENC_COMPATIBILITY - /* Obsolete backwards compatibility symbols -- fontencc.c */ - SYMFUNC(font_encoding_from_xlfd) - SYMFUNC(font_encoding_find) - SYMFUNC(font_encoding_recode) - SYMFUNC(font_encoding_name) - SYMFUNC(identifyEncodingFile) -#endif - -#ifdef FONTCACHE - /* fontcache.c */ - SYMFUNC(FontCacheGetSettings) - SYMFUNC(FontCacheGetStatistics) - SYMFUNC(FontCacheChangeSettings) - SYMFUNC(FontCacheOpenCache) - SYMFUNC(FontCacheCloseCache) - SYMFUNC(FontCacheSearchEntry) - SYMFUNC(FontCacheGetEntry) - SYMFUNC(FontCacheInsertEntry) - SYMFUNC(FontCacheGetBitmap) -#endif - - {0, 0} -}; diff --git a/hw/xfree86/loader/hash.c b/hw/xfree86/loader/hash.c deleted file mode 100644 index 393360f94..000000000 --- a/hw/xfree86/loader/hash.c +++ /dev/null @@ -1,356 +0,0 @@ -/* $XdotOrg: xc/programs/Xserver/hw/xfree86/loader/hash.c,v 1.3 2005/04/20 12:25:34 daniels Exp $ */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/hash.c,v 1.24 2003/11/17 22:20:40 dawes Exp $ */ - -/* - * - * Copyright 1995-1998 by Metro Link, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Metro Link, Inc. not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Metro Link, Inc. makes no - * representations about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "os.h" -#include -#undef abs -#include -#include "sym.h" -#include "loader.h" -#include "hash.h" - -#if defined(Lynx) -#define MAXINT 32000 -#else -#include -#undef MAXINT -#define MAXINT INT_MAX -#endif - -/* Prototypes for static functions. */ -static unsigned int hashFunc(const char *); -static itemPtr LoaderHashFindNearest(unsigned long); - -static itemPtr LoaderhashTable[HASHSIZE]; - -#ifdef DEBUG -static int hashhits[HASHSIZE]; - -void -DumpHashHits(void) -{ - int i; - int depth = 0; - int dev = 0; - - for (i = 0; i < HASHSIZE; i++) { - ErrorF("hashhits[%d]=%d\n", i, hashhits[i]); - depth += hashhits[i]; - } - - depth /= HASHSIZE; - ErrorF("Average hash depth=%d\n", depth); - - for (i = 0; i < HASHSIZE; i++) { - if (hashhits[i] < depth) - dev += depth - hashhits[i]; - else - dev += hashhits[i] - depth; - } - - dev /= HASHSIZE; - ErrorF("Average hash deviation=%d\n", dev); -} -#endif - -static unsigned int -hashFunc(const char *string) -{ - int i = 0; - - while (i < 10 && string[i]) - i++; - - if (i < 5) { -#ifdef DEBUG - hashhits[i]++; -#endif - return i; - } - -/* - * Original has function -#define HASH ((string[ i-4 ] * string[i-3] + string[i-2] ) & (HASHSIZE-1)) - */ - -#define HASH ((string[i-5] * string[ i-4 ] + string[i-3] * string[i-2] ) & (HASHSIZE-1)) - -#ifdef DEBUG - hashhits[HASH]++; -#endif - - return HASH; -} - -void -LoaderHashAdd(itemPtr entry) -{ - int bucket = hashFunc(entry->name); - itemPtr oentry; - - if ((oentry = LoaderHashFind(entry->name)) != NULL) - LoaderDuplicateSymbol(entry->name, oentry->handle); - - entry->next = LoaderhashTable[bucket]; - LoaderhashTable[bucket] = entry; - return; -} - -void -LoaderAddSymbols(int handle, int module, LOOKUP *list) -{ - LOOKUP *l = list, *exports = NULL; - itemPtr i, exportsItem = NULL; - char *modname; - - if (!list) - return; - - /* - * First look for a symbol called ExportedSymbols. If it exists, - * only export the symbols that are listed in that array. Otherwise - * export all of the external symbols. - */ - modname = _LoaderHandleToCanonicalName(handle); - if (modname) { - char *exportname; - - exportname = xf86loadermalloc(strlen("ExportedSymbols") + - strlen(modname) + 1); - if (exportname) { - sprintf(exportname, "%sExportedSymbols", modname); - while (l->symName) { - if (strcmp(l->symName, exportname) == 0) { - exports = l; - ErrorF("LoaderAddSymbols: %s: %s found\n", modname, - exportname); - break; - } - l++; - } - xf86loaderfree(exportname); - } - } - - /* - * Allocate the exports list item first. - */ - if (exports) { - exportsItem = xf86loadermalloc(sizeof(itemRec)); - exportsItem->name = exports->symName; - exportsItem->address = (char *)exports->offset; - exportsItem->handle = handle; - exportsItem->module = module; - exportsItem->exports = NULL; - LoaderHashAdd(exportsItem); - } - - /* - * Visit every symbol in the lookup table, tagging it with the - * reference to the export list, if present. - */ - l = list; - while (l->symName) { - if (l != exports) { - i = xf86loadermalloc(sizeof(itemRec)); - i->name = l->symName; - i->address = (char *)l->offset; - i->handle = handle; - i->module = module; - i->exports = exportsItem; - LoaderHashAdd(i); - } - l++; - } -} - -itemPtr -LoaderHashDelete(const char *string) -{ - int bucket = hashFunc(string); - itemPtr entry; - itemPtr *entry2; - - entry = LoaderhashTable[bucket]; - entry2 = &(LoaderhashTable[bucket]); - while (entry) { - if (!strcmp(entry->name, string)) { - *entry2 = entry->next; - xf86loaderfree(entry->name); - xf86loaderfree(entry); - return 0; - } - entry2 = &(entry->next); - entry = entry->next; - } - return 0; -} - -itemPtr -LoaderHashFind(const char *string) -{ - int bucket = hashFunc(string); - itemPtr entry; - - entry = LoaderhashTable[bucket]; - while (entry) { - if (!strcmp(entry->name, string)) { - return entry; - } - entry = entry->next; - } - return 0; -} - -static itemPtr -LoaderHashFindNearest(unsigned long address) -{ - int i; - itemPtr entry, best_entry = 0; - long best_difference = MAXINT; - - for (i = 0; i < HASHSIZE; i++) { - entry = LoaderhashTable[i]; - while (entry) { - long difference = (long)address - (long)entry->address; - - if (difference >= 0) { - if (best_entry) { - if (difference < best_difference) { - best_entry = entry; - best_difference = difference; - } - } else { - best_entry = entry; - best_difference = difference; - } - } - entry = entry->next; - } - } - return best_entry; -} - -void -LoaderPrintSymbol(unsigned long address) -{ - itemPtr entry; - - entry = LoaderHashFindNearest(address); - if (entry) { - const char *module, *section; - -#if defined(__alpha__) || defined(__ia64__) - ErrorF("0x%016lx %s+%lx\n", (unsigned long)entry->address, - entry->name, address - (unsigned long)entry->address); -#else - ErrorF("0x%lx %s+%lx\n", (unsigned long)entry->address, entry->name, - address - (unsigned long)entry->address); -#endif - - if (_LoaderAddressToSection(address, &module, §ion)) - ErrorF("\tModule \"%s\"\n\tSection \"%s\"\n", module, section); - } else { - ErrorF("(null)\n"); - } -} - -void -LoaderPrintItem(itemPtr pItem) -{ - if (pItem) { - const char *module, *section; - -#if defined(__alpha__) || defined(__ia64__) - ErrorF("0x%016lx %s\n", (unsigned long)pItem->address, pItem->name); -#else - ErrorF("0x%lx %s\n", (unsigned long)pItem->address, pItem->name); -#endif - if (_LoaderAddressToSection((unsigned long)pItem->address, - &module, §ion)) - ErrorF("\tModule \"%s\"\n\tSection \"%s\"\n", module, section); - } else - ErrorF("(null)\n"); -} - -void -LoaderPrintAddress(const char *symbol) -{ - itemPtr entry; - - entry = LoaderHashFind(symbol); - LoaderPrintItem(entry); -} - -void -LoaderHashTraverse(void *card, int (*fnp)(void *, itemPtr)) -{ - int i; - itemPtr entry, last_entry = 0; - - for (i = 0; i < HASHSIZE; i++) { - last_entry = 0; - entry = LoaderhashTable[i]; - while (entry) { - if ((*fnp) (card, entry)) { - if (last_entry) { - last_entry->next = entry->next; - xf86loaderfree(entry->name); - xf86loaderfree(entry); - entry = last_entry->next; - } else { - LoaderhashTable[i] = entry->next; - xf86loaderfree(entry->name); - xf86loaderfree(entry); - entry = LoaderhashTable[i]; - } - } else { - last_entry = entry; - entry = entry->next; - } - } - } -} - -void -LoaderDumpSymbols() -{ - itemPtr entry; - int j; - - for (j = 0; j < HASHSIZE; j++) { - entry = LoaderhashTable[j]; - while (entry) { - LoaderPrintItem(entry); - entry = entry->next; - } - } - -} diff --git a/hw/xfree86/loader/hash.h b/hw/xfree86/loader/hash.h deleted file mode 100644 index 45617bd5f..000000000 --- a/hw/xfree86/loader/hash.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * - * Copyright 1995-1998 by Metro Link, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Metro Link, Inc. not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Metro Link, Inc. makes no - * representations about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/hash.h,v 1.2.2.2 1998/07/04 13:32:45 dawes Exp $ */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#ifndef _HASH_H -#define _HASH_H - -#include "loader.h" - -typedef struct _HashIterator { - itemPtr pItem; - int bucket; -} HashIteratorRec, *HashIteratorPtr; - -#endif /* _HASH_H */ diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c index 05df28103..da70b022a 100644 --- a/hw/xfree86/loader/loader.c +++ b/hw/xfree86/loader/loader.c @@ -1,5 +1,3 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/loader.c,v 1.71 2003/11/06 18:38:13 tsi Exp $ */ - /* * Copyright 1995-1998 by Metro Link, Inc. * @@ -71,7 +69,6 @@ #include #include "os.h" -#include "sym.h" #include "loader.h" #include "loaderProcs.h" #include "xf86.h" @@ -79,31 +76,11 @@ #include "compiler.h" -extern LOOKUP miLookupTab[]; -extern LOOKUP xfree86LookupTab[]; -extern LOOKUP dixLookupTab[]; -extern LOOKUP fontLookupTab[]; -extern LOOKUP extLookupTab[]; - -/* -#define DEBUG -#define DEBUGAR -#define DEBUGLIST -#define DEBUGMEM -*/ - -int check_unresolved_sema = 0; - #if defined(Lynx) && defined(sun) /* Cross build machine doesn;t have strerror() */ #define strerror(err) "strerror unsupported" #endif -#ifdef __UNIXOS2__ -void *os2ldcalloc(size_t, size_t); -#endif - -#ifdef HANDLE_IN_HASH_ENTRY /* * handles are used to identify files that are loaded. Even archives * are counted as a single file. @@ -113,7 +90,6 @@ void *os2ldcalloc(size_t, size_t); #define HANDLE_USED 1 static char freeHandles[MAX_HANDLE]; static int refCount[MAX_HANDLE]; -#endif #if defined(__sparc__) && defined(__GNUC__) && !defined(__FreeBSD__) # define SYMFUNCDOT(func) { "." #func, (funcptr)&__sparc_dot_ ## func }, @@ -133,26 +109,6 @@ DEFFUNCDOT(mul) DEFFUNCDOT(umul) DEFFUNCDOT(div) DEFFUNCDOT(udiv) -#ifdef linux -static LOOKUP SparcV89LookupTab[] = { - SYMFUNCDOT89(rem) - SYMFUNCDOT89(urem) - SYMFUNCDOT89(mul) - SYMFUNCDOT89(umul) - SYMFUNCDOT89(div) - SYMFUNCDOT89(udiv) - {0, 0} -}; -#endif -static LOOKUP SparcLookupTab[] = { - SYMFUNCDOT(rem) - SYMFUNCDOT(urem) - SYMFUNCDOT(mul) - SYMFUNCDOT(umul) - SYMFUNCDOT(div) - SYMFUNCDOT(udiv) - {0, 0} -}; #ifdef linux #if defined(__GNUC__) && defined(__GLIBC__) @@ -220,22 +176,6 @@ sparcUseHWMulDiv(void) */ static int moduleseq = 0; -/* - * GDB Interface - * ============= - * - * Linked list of loaded modules - gdb will traverse this to determine - * whether it needs to add the symbols for the loaded module. - */ -LDRModulePtr ModList = 0; - -/* Flag which gdb sets to let us know we're being debugged */ -char DebuggerPresent = 0; - -/* List of common symbols */ -LDRCommonPtr ldrCommons; -int nCommons; - typedef struct { int num; const char **list; @@ -253,29 +193,8 @@ static symlist reqList = { 0, NULL }; static int fatalReqSym = 0; /* Prototypes for static functions. */ -static int _GetModuleType(int, long); static loaderPtr _LoaderListPush(void); static loaderPtr _LoaderListPop(int); - /*ARGSUSED*/ static char * -ARCHIVEAddressToSection(void *modptr, unsigned long address) -{ - return NULL; -} - -/* - * Array containing entry points for different formats. - */ - -static loader_funcs funcs[] = { - /* LD_ELFDLOBJECT */ - {DLLoadModule, - DLResolveSymbols, - DLCheckForUnresolved, - ARCHIVEAddressToSection, - DLUnloadModule}, -}; - -int numloaders = sizeof(funcs) / sizeof(loader_funcs); void LoaderInit(void) @@ -287,20 +206,6 @@ LoaderInit(void) xf86Msg(X_ERROR, "LD_BIND_NOW is set, dlloader will NOT work!\n"); } - LoaderAddSymbols(-1, -1, miLookupTab); - LoaderAddSymbols(-1, -1, xfree86LookupTab); - LoaderAddSymbols(-1, -1, dixLookupTab); - LoaderAddSymbols(-1, -1, fontLookupTab); - LoaderAddSymbols(-1, -1, extLookupTab); -#if defined(__sparc__) && !defined(__FreeBSD__) -#ifdef linux - if (sparcUseHWMulDiv()) - LoaderAddSymbols(-1, -1, SparcV89LookupTab); - else -#endif - LoaderAddSymbols(-1, -1, SparcLookupTab); -#endif - xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n"); xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC, GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion), @@ -322,16 +227,6 @@ LoaderInit(void) if (osname) xf86MsgVerb(X_INFO, 2, "Loader running on %s\n", osname); -#if defined(linux) && \ - (defined(__alpha__) || defined(__powerpc__) || defined(__ia64__) \ - || ( defined __amd64__ && ! defined UseMMAP && ! defined DoMMAPedMerge)) - /* - * The glibc malloc uses mmap for large allocations anyway. This breaks - * some relocation types because the offset overflow. See loader.h for more - * details. We need to turn off this behavior here. - */ - mallopt(M_MMAP_MAX, 0); -#endif #if defined(__UNIXWARE__) && !defined(__GNUC__) /* For UnixWare we need to load the C Runtime libraries which are * normally auto-linked by the compiler. Otherwise we are bound to @@ -354,25 +249,12 @@ LoaderInit(void) #endif } -/* - * Determine what type of object is being loaded. - * This function is responsible for restoring the offset. - * The fd and offset are used here so that when Archive processing - * is enabled, individual elements of an archive can be evaluated - * so the correct loader_funcs can be determined. - */ -static int -_GetModuleType(int fd, long offset) -{ - return LD_ELFDLOBJECT; -} - static loaderPtr listHead = (loaderPtr) 0; static loaderPtr _LoaderListPush() { - loaderPtr item = xf86loadercalloc(1, sizeof(struct _loader)); + loaderPtr item = calloc(1, sizeof(struct _loader)); item->next = listHead; listHead = item; @@ -493,28 +375,6 @@ _LoaderModuleToName(int module) return 0; } -/* - * _LoaderAddressToSection() will return the name of the file & section - * that contains the given address. - */ -int -_LoaderAddressToSection(const unsigned long address, const char **module, - const char **section) -{ - loaderPtr item = listHead; - - while (item) { - if ((*section = - item->funcs->AddressToSection(item->private, address)) != NULL) { - *module = _LoaderModuleToName(item->module); - return 1; - } - item = item->next; - } - - return 0; -} - /* * Add a list of symbols to the referenced list. */ @@ -676,22 +536,15 @@ _LoaderHandleUnresolved(char *symbol, char *module) return (fatalsym); } -/* - * Relocation list manipulation routines - */ - -/* - * Public Interface to the loader. - */ +/* Public Interface to the loader. */ int LoaderOpen(const char *module, const char *cname, int handle, int *errmaj, int *errmin, int *wasLoaded, int flags) { loaderPtr tmp; - int new_handle, modtype; + int new_handle; int fd; - LOOKUP *pLookup; #if defined(DEBUG) ErrorF("LoaderOpen(%s)\n", module); @@ -757,26 +610,15 @@ LoaderOpen(const char *module, const char *cname, int handle, return -1; } - if ((modtype = _GetModuleType(fd, 0)) < 0) { - xf86Msg(X_ERROR, "%s is an unrecognized module type\n", module); - freeHandles[new_handle] = HANDLE_FREE; - if (errmaj) - *errmaj = LDR_UNKTYPE; - if (errmin) - *errmin = LDR_UNKTYPE; - return -1; - } - tmp = _LoaderListPush(); - tmp->name = xf86loadermalloc(strlen(module) + 1); + tmp->name = malloc(strlen(module) + 1); strcpy(tmp->name, module); - tmp->cname = xf86loadermalloc(strlen(cname) + 1); + tmp->cname = malloc(strlen(cname) + 1); strcpy(tmp->cname, cname); tmp->handle = new_handle; tmp->module = moduleseq++; - tmp->funcs = &funcs[modtype]; - if ((tmp->private = funcs[modtype].LoadModule(tmp, fd, &pLookup, flags)) == NULL) { + if ((tmp->private = DLLoadModule(tmp, fd, flags)) == NULL) { xf86Msg(X_ERROR, "Failed to load %s\n", module); _LoaderListPop(new_handle); freeHandles[new_handle] = HANDLE_FREE; @@ -787,11 +629,6 @@ LoaderOpen(const char *module, const char *cname, int handle, return -1; } - if (tmp->private != (void *)-1L) { - LoaderAddSymbols(new_handle, tmp->module, pLookup); - xf86loaderfree(pLookup); - } - close(fd); return new_handle; @@ -813,50 +650,13 @@ LoaderHandleOpen(int handle) _X_EXPORT void * LoaderSymbol(const char *sym) { - int i; - itemPtr item = NULL; - - for (i = 0; i < numloaders; i++) - funcs[i].ResolveSymbols(&funcs[i]); - - item = (itemPtr) LoaderHashFind(sym); - - if (item) - return item->address; - else - return (DLFindSymbol(sym)); -} - -int -LoaderResolveSymbols(void) -{ - int i; - - for (i = 0; i < numloaders; i++) - funcs[i].ResolveSymbols(&funcs[i]); - return 0; + return (DLFindSymbol(sym)); } _X_EXPORT int LoaderCheckUnresolved(int delay_flag) { - int i, ret = 0; - LoaderResolveOptions delayFlag = (LoaderResolveOptions)delay_flag; - - LoaderResolveSymbols(); - - if (delayFlag == LD_RESOLV_NOW) { - if (check_unresolved_sema > 0) - check_unresolved_sema--; - else - xf86Msg(X_WARNING, "LoaderCheckUnresolved: not enough " - "MAGIC_DONT_CHECK_UNRESOLVED\n"); - } - - if (!check_unresolved_sema || delayFlag == LD_RESOLV_FORCE) - for (i = 0; i < numloaders; i++) - if (funcs[i].CheckForUnresolved(&funcs[i])) - ret = 1; + int ret = 0; if (fatalReqSym) FatalError("Some required symbols were unresolved\n"); @@ -864,24 +664,6 @@ LoaderCheckUnresolved(int delay_flag) return ret; } -void xf86LoaderTrap(void); - -void -xf86LoaderTrap(void) -{ -} - -_X_EXPORT void -LoaderDefaultFunc(void) -{ - ErrorF("\n\n\tThis should not happen!\n" - "\tAn unresolved function was called!\n"); - - xf86LoaderTrap(); - - FatalError("\n"); -} - int LoaderUnload(int handle) { @@ -905,10 +687,10 @@ LoaderUnload(int handle) /* It is not a member of an archive */ xf86Msg(X_INFO, "Unloading %s\n", tmp->name); } - tmp->funcs->LoaderUnload(tmp->private); - xf86loaderfree(tmp->name); - xf86loaderfree(tmp->cname); - xf86loaderfree(tmp); + DLUnloadModule(tmp->private); + free(tmp->name); + free(tmp->cname); + free(tmp); } freeHandles[handle] = HANDLE_FREE; @@ -925,12 +707,6 @@ LoaderDuplicateSymbol(const char *symbol, const int handle) FatalError("Module load failure\n"); } -/* GDB Sync function */ -void -_loader_debug_state() -{ -} - unsigned long LoaderOptions = 0; void diff --git a/hw/xfree86/loader/loader.h b/hw/xfree86/loader/loader.h index 193adddda..c0913849d 100644 --- a/hw/xfree86/loader/loader.h +++ b/hw/xfree86/loader/loader.h @@ -1,7 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/loader.h,v 1.28 2003/11/06 18:38:14 tsi Exp $ */ - /* - * * Copyright 1995-1998 by Metro Link, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -56,134 +53,19 @@ #ifndef _LOADER_H #define _LOADER_H -#include "sym.h" - #if defined(Lynx) && defined(sun) #define const /**/ #endif -#if (defined(__i386__) || defined(__ix86)) && !defined(i386) -#define i386 -#endif #include #include #include -/* For LOOKUP definition */ -#include "sym.h" -#define LD_UNKNOWN -1 -#define LD_ELFDLOBJECT 0 -#define LD_PROCESSED_ARCHIVE -1 -/* #define UNINIT_SECTION */ -#define HANDLE_IN_HASH_ENTRY /* LoadModule proc flags; LD_FLAG_GLOBAL adds symbols to global * namespace, default is to keep symbols local to module. */ #define LD_FLAG_GLOBAL 1 -#define TestFree(a) if (a) { xfree (a); a = NULL; } -#define HASHDIV 10 -#define HASHSIZE (1< #include -extern int check_unresolved_sema; +#define TestFree(a) if (a) { xfree (a); a = NULL; } typedef struct _pattern { const char *pattern; @@ -93,7 +90,7 @@ static ModuleDescPtr doLoadModule(const char *, const char *, const char **, const XF86ModReqInfo *, int *, int *, int flags); -ModuleVersions LoaderVersionInfo = { +const ModuleVersions LoaderVersionInfo = { XORG_VERSION_CURRENT, ABI_ANSIC_VERSION, ABI_VIDEODRV_VERSION, @@ -102,17 +99,6 @@ ModuleVersions LoaderVersionInfo = { ABI_FONT_VERSION }; -#if 0 -void -LoaderFixups(void) -{ - /* Need to call LRS here because the frame buffers get loaded last, - * and the drivers depend on them. */ - - LoaderResolveSymbols(); -} -#endif - static void FreeStringList(char **paths) { @@ -225,15 +211,15 @@ static const char *stdSubdirs[] = { /* * Standard set of module name patterns to check, in order of preference * These are regular expressions (suitable for use with POSIX regex(3)). + * + * This list assumes that you're an ELFish platform and therefore your + * shared libraries are named something.so. If we're ever nuts enough + * to port this DDX to, say, Darwin, we'll need to fix this. */ static PatternRec stdPatterns[] = { {"^lib(.*)\\.so$",}, - {"^lib(.*)\\.a$",}, {"(.*)_drv\\.so$",}, - {"(.*)_drv\\.o$",}, {"(.*)\\.so$",}, - {"(.*)\\.a$",}, - {"(.*)\\.o$",}, {NULL,} }; @@ -432,7 +418,6 @@ FindModule(const char *module, const char *dir, const char **subdirlist, continue; strcpy(buf, dirpath); strcat(buf, *s); - /*xf86Msg(X_INFO,"OS2DIAG: FindModule: buf=%s\n",buf); */ if ((stat(buf, &stat_buf) == 0) && S_ISDIR(stat_buf.st_mode)) { if (buf[dirlen - 1] != '/') { buf[dirlen++] = '/'; @@ -728,19 +713,11 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data, /* XXX Maybe this should be the other way around? */ if (min > reqmin) { xf86MsgVerb(X_WARNING, 2, "module ABI minor version (%d) " - "is new than that available (%d)\n", min, reqmin); + "is newer than that available (%d)\n", min, reqmin); return FALSE; } } } -#ifdef NOTYET - if (data->checksum) { - /* verify the checksum field */ - /* TO BE DONE */ - } else { - ErrorF("\t*** Checksum field is 0 - this module is untrusted!\n"); - } -#endif return TRUE; } @@ -867,7 +844,6 @@ doLoadModule(const char *module, const char *path, const char **subdirlist, int noncanonical = 0; char *m = NULL; - /*xf86Msg(X_INFO,"OS2DIAG: LoadModule: %s\n",module); */ xf86MsgVerb(X_INFO, 3, "LoadModule: \"%s\"", module); patterns = InitPatterns(patternlist); @@ -1306,7 +1282,7 @@ LoaderErrorMsg(const char *name, const char *modname, int errmaj, int errmin) msg = "module-specific error"; break; default: - msg = "uknown error"; + msg = "unknown error"; } if (name) xf86Msg(type, "%s: Failed to load module \"%s\" (%s, %d)\n", diff --git a/hw/xfree86/loader/misym.c b/hw/xfree86/loader/misym.c deleted file mode 100644 index dc3cb5a85..000000000 --- a/hw/xfree86/loader/misym.c +++ /dev/null @@ -1,225 +0,0 @@ -/* $XdotOrg: xserver/xorg/hw/xfree86/loader/misym.c,v 1.9 2005/10/18 04:02:31 aplattner Exp $ */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/misym.c,v 1.38 2003/10/15 16:29:04 dawes Exp $ */ - -/* - * - * Copyright 1995,96 by Metro Link, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Metro Link, Inc. not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Metro Link, Inc. makes no - * representations about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * Copyright (c) 1997-2003 by The XFree86 Project, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of the copyright holder(s) - * and author(s) shall not be used in advertising or otherwise to promote - * the sale, use or other dealings in this Software without prior written - * authorization from the copyright holder(s) and author(s). - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "sym.h" -#include "misc.h" -#include "mi.h" -#include "mibank.h" -#include "miwideline.h" -#include "mibstore.h" -#include "cursor.h" -#include "mipointer.h" -#include "migc.h" -#include "miline.h" -#include "mizerarc.h" -#include "mifillarc.h" -#include "micmap.h" -#include "mioverlay.h" -#ifdef PANORAMIX -#include "resource.h" -#include "panoramiX.h" -#endif -#ifdef RENDER -#include "mipict.h" -#endif -#ifdef COMPOSITE -#include "cw.h" -#endif -#ifdef DAMAGE -#include "damage.h" -#endif - -/* mi things */ - -extern miPointerSpriteFuncRec miSpritePointerFuncs; - -LOOKUP miLookupTab[] = { - SYMFUNC(miClearToBackground) - SYMFUNC(miSendGraphicsExpose) - SYMFUNC(miModifyPixmapHeader) - SYMFUNC(miHandleValidateExposures) - SYMFUNC(miSetShape) - SYMFUNC(miChangeBorderWidth) - SYMFUNC(miShapedWindowIn) - SYMFUNC(miRectIn) - SYMFUNC(miZeroClipLine) - SYMFUNC(miZeroDashLine) - SYMFUNC(miClearDrawable) - SYMFUNC(miPolyPoint) - SYMFUNC(miStepDash) - SYMFUNC(miIntersect) - SYMFUNC(miRegionAppend) - SYMFUNC(miRegionCopy) - SYMFUNC(miRegionDestroy) - SYMFUNC(miRegionEmpty) - SYMFUNC(miRegionExtents) - SYMFUNC(miRegionInit) - SYMFUNC(miRegionNotEmpty) - SYMFUNC(miRegionEqual) - SYMFUNC(miRegionReset) - SYMFUNC(miRegionUninit) - SYMFUNC(miRegionValidate) - SYMFUNC(miTranslateRegion) - SYMFUNC(miHandleExposures) - SYMFUNC(miPolyFillRect) - SYMFUNC(miPolyFillArc) - SYMFUNC(miImageGlyphBlt) - SYMFUNC(miPolyGlyphBlt) - SYMFUNC(miFillPolygon) - SYMFUNC(miFillConvexPoly) - SYMFUNC(miPolySegment) - SYMFUNC(miZeroLine) - SYMFUNC(miWideLine) - SYMFUNC(miWideDash) - SYMFUNC(miZeroPolyArc) - SYMFUNC(miPolyArc) - SYMFUNC(miCreateGCOps) - SYMFUNC(miDestroyGCOps) - SYMFUNC(miComputeCompositeClip) - SYMFUNC(miChangeGC) - SYMFUNC(miCopyGC) - SYMFUNC(miDestroyGC) - SYMFUNC(miChangeClip) - SYMFUNC(miDestroyClip) - SYMFUNC(miCopyClip) - SYMFUNC(miPolyRectangle) - SYMFUNC(miPolyText8) - SYMFUNC(miPolyText16) - SYMFUNC(miImageText8) - SYMFUNC(miImageText16) - SYMFUNC(miRegionCreate) - SYMFUNC(miPaintWindow) - SYMFUNC(miZeroArcSetup) - SYMFUNC(miFillArcSetup) - SYMFUNC(miFillArcSliceSetup) - SYMFUNC(miFindMaxBand) - SYMFUNC(miClipSpans) - SYMFUNC(miAllocateGCPrivateIndex) - SYMFUNC(miScreenInit) - SYMFUNC(miGetScreenPixmap) - SYMFUNC(miSetScreenPixmap) - SYMFUNC(miPointerCurrentScreen) - SYMFUNC(miRectAlloc) - SYMFUNC(miInitializeBackingStore) - SYMFUNC(miInitializeBanking) - SYMFUNC(miModifyBanking) - SYMFUNC(miCopyPlane) - SYMFUNC(miCopyArea) - SYMFUNC(miCreateScreenResources) - SYMFUNC(miGetImage) - SYMFUNC(miPutImage) - SYMFUNC(miPushPixels) - SYMFUNC(miPointerInitialize) - SYMFUNC(miPointerPosition) - SYMFUNC(miRecolorCursor) - SYMFUNC(miPointerWarpCursor) - SYMFUNC(miDCInitialize) - SYMFUNC(miRectsToRegion) - SYMFUNC(miPointInRegion) - SYMFUNC(miInverse) - SYMFUNC(miSubtract) - SYMFUNC(miUnion) - SYMFUNC(miPolyBuildEdge) - SYMFUNC(miPolyBuildPoly) - SYMFUNC(miRoundJoinClip) - SYMFUNC(miRoundCapClip) - SYMFUNC(miSetZeroLineBias) - SYMFUNC(miResolveColor) - SYMFUNC(miInitializeColormap) - SYMFUNC(miInstallColormap) - SYMFUNC(miUninstallColormap) - SYMFUNC(miListInstalledColormaps) - SYMFUNC(miExpandDirectColors) - SYMFUNC(miCreateDefColormap) - SYMFUNC(miClearVisualTypes) - SYMFUNC(miSetVisualTypes) - SYMFUNC(miSetVisualTypesAndMasks) - SYMFUNC(miGetDefaultVisualMask) - SYMFUNC(miSetPixmapDepths) - SYMFUNC(miInitVisuals) - SYMFUNC(miWindowExposures) - SYMFUNC(miSegregateChildren) - SYMFUNC(miHookInitVisuals) - SYMFUNC(miPointerAbsoluteCursor) - SYMFUNC(miPointerGetMotionEvents) - SYMFUNC(miPointerGetMotionBufferSize) - SYMFUNC(miOverlayCopyUnderlay) - SYMFUNC(miOverlaySetTransFunction) - SYMFUNC(miOverlayCollectUnderlayRegions) - SYMFUNC(miInitOverlay) - SYMFUNC(miOverlayComputeCompositeClip) - SYMFUNC(miOverlayGetPrivateClips) - SYMFUNC(miOverlaySetRootClip) - SYMVAR(miEmptyBox) - SYMVAR(miEmptyData) - SYMVAR(miZeroLineScreenIndex) - SYMVAR(miSpritePointerFuncs) - SYMVAR(miPointerScreenIndex) - SYMVAR(miInstalledMaps) - SYMVAR(miInitVisualsProc) -#ifdef RENDER - SYMFUNC(miGlyphExtents) -#endif -#ifdef COMPOSITE - SYMFUNC(miDisableCompositeWrapper) -#endif -#ifdef DAMAGE - SYMFUNC(DamageDamageRegion) -#endif - - {0, 0} -}; diff --git a/hw/xfree86/loader/os.c b/hw/xfree86/loader/os.c index 4274200c3..42ab0bc70 100644 --- a/hw/xfree86/loader/os.c +++ b/hw/xfree86/loader/os.c @@ -1,5 +1,3 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/os.c,v 1.4 2003/10/15 16:29:04 dawes Exp $ */ - /* * Copyright (c) 1999-2002 by The XFree86 Project, Inc. * @@ -38,6 +36,7 @@ * loader and by OS-specific modules. */ +#ifndef OSNAME #if defined(__linux__) #define OSNAME "linux" #elif defined(__FreeBSD__) @@ -67,6 +66,7 @@ #else #define OSNAME "unknown" #endif +#endif /* Return the OS name, and run-time OS version */ diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c deleted file mode 100644 index 32fe012ad..000000000 --- a/hw/xfree86/loader/xf86sym.c +++ /dev/null @@ -1,1183 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.242 2003/10/27 20:51:16 herrb Exp $ */ - -/* - * - * Copyright 1995,96 by Metro Link, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Metro Link, Inc. not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Metro Link, Inc. makes no - * representations about the suitability of this software for any purpose. - * It is provided "as is" without express or implied warranty. - * - * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ -/* - * Copyright (c) 1997-2003 by The XFree86 Project, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name of the copyright holder(s) - * and author(s) shall not be used in advertising or otherwise to promote - * the sale, use or other dealings in this Software without prior written - * authorization from the copyright holder(s) and author(s). - */ - -#define INCLUDE_DEPRECATED 1 - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include "sym.h" -#include "misc.h" -#include "mi.h" -#include "cursor.h" -#include "mipointer.h" -#include "loaderProcs.h" -#include "xf86Pci.h" -#include "xf86.h" -#include "xf86Resources.h" -#include "xf86_OSproc.h" -#include "xf86Parser.h" -#include "xf86Config.h" -#ifdef XINPUT -# include "xf86Xinput.h" -#endif -#include "xf86OSmouse.h" -#include "xf86OSKbd.h" -#include "xf86xv.h" -#include "xf86xvmc.h" -#include "xf86cmap.h" -#include "xf86fbman.h" -#include "dgaproc.h" -#ifdef DPMSExtension -#include "dpmsproc.h" -#endif -#include "vidmodeproc.h" -#include "xf86miscproc.h" -#include "loader.h" -#define DONT_DEFINE_WRAPPERS -#include "xf86_ansic.h" -#include "xisb.h" -#include "vbe.h" -#ifndef __OpenBSD__ -#include "xf86sbusBus.h" -#endif -#include "compiler.h" - -#ifndef HAS_GLIBC_SIGSETJMP -#if defined(setjmp) && defined(__GNU_LIBRARY__) && \ - (!defined(__GLIBC__) || (__GLIBC__ < 2) || \ - ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 3))) -#define HAS_GLIBC_SIGSETJMP 1 -#endif -#endif - -#if defined(__alpha__) -# ifdef linux -extern unsigned long _bus_base(void); -extern void _outb(char val, unsigned short port); -extern void _outw(short val, unsigned short port); -extern void _outl(int val, unsigned short port); -extern unsigned int _inb(unsigned short port); -extern unsigned int _inw(unsigned short port); -extern unsigned int _inl(unsigned short port); -# endif - -# ifdef __FreeBSD__ -# include -extern void outb(u_int32_t port, u_int8_t val); -extern void outw(u_int32_t port, u_int16_t val); -extern void outl(u_int32_t port, u_int32_t val); -extern u_int8_t inb(u_int32_t port); -extern u_int16_t inw(u_int32_t port); -extern u_int32_t inl(u_int32_t port); -# endif - -extern void *__divl(long, long); -extern void *__reml(long, long); -extern void *__divlu(long, long); -extern void *__remlu(long, long); -extern void *__divq(long, long); -extern void *__divqu(long, long); -extern void *__remq(long, long); -extern void *__remqu(long, long); -#endif - -#if defined(__sparc__) && defined(__FreeBSD__) -extern float _Qp_qtos(unsigned int *); -extern double _Qp_qtod(unsigned int *); -extern unsigned long long _Qp_qtoux(unsigned int *); -extern void _Qp_dtoq(unsigned int *, double); -extern void _Qp_uitoq(unsigned int *, unsigned int); -#endif - -#if defined(__GNUC__) -#ifndef __UNIXOS2__ -extern long __div64(long, long); -#endif -extern long __divdf3(long, long); -extern long __divdi3(long, long); -extern long __divsf3(long, long); -extern long __divsi3(long, long); -extern long __moddi3(long, long); -extern long __modsi3(long, long); - -#ifndef __UNIXOS2__ -extern long __mul64(long, long); -#endif -extern long __muldf3(long, long); -extern long __muldi3(long, long); -extern long __mulsf3(long, long); -extern long __mulsi3(long, long); -extern long __udivdi3(long, long); -extern long __udivsi3(long, long); -extern long __umoddi3(long, long); -extern long __umodsi3(long, long); - -#ifndef __UNIXOS2__ -#pragma weak __div64 -#endif -#pragma weak __divdf3 -#pragma weak __divdi3 -#pragma weak __divsf3 -#pragma weak __divsi3 -#pragma weak __moddi3 -#pragma weak __modsi3 -#ifndef __UNIXOS2__ -#pragma weak __mul64 -#endif -#pragma weak __muldf3 -#pragma weak __muldi3 -#pragma weak __mulsf3 -#pragma weak __mulsi3 -#pragma weak __udivdi3 -#pragma weak __udivsi3 -#pragma weak __umoddi3 -#pragma weak __umodsi3 -#endif - -#if defined(__arm__) && defined(__linux__) -#include -#endif - -#if defined(__powerpc__) && (defined(Lynx) || defined(linux)) -void _restf14(); -void _restf17(); -void _restf18(); -void _restf19(); -void _restf20(); -void _restf22(); -void _restf23(); -void _restf24(); -void _restf25(); -void _restf26(); -void _restf27(); -void _restf28(); -void _restf29(); -void _savef14(); -void _savef17(); -void _savef18(); -void _savef19(); -void _savef20(); -void _savef22(); -void _savef23(); -void _savef24(); -void _savef25(); -void _savef26(); -void _savef27(); -void _savef28(); -void _savef29(); - -/* even if we compile without -DNO_INLINE we still provide - * the usual port i/o functions for module use - */ - -extern volatile unsigned char *ioBase; - -/* XXX Should get all of these from elsewhere */ -#ifndef linux -extern void outb(IOADDRESS, unsigned char); -extern void outw(IOADDRESS, unsigned short); -extern void outl(IOADDRESS, unsigned int); -extern unsigned int inb(IOADDRESS); -extern unsigned int inw(IOADDRESS); -extern unsigned int inl(IOADDRESS); -#endif -extern void stl_brx(unsigned long, volatile unsigned char *, int); -extern void stw_brx(unsigned short, volatile unsigned char *, int); -extern unsigned long ldl_brx(volatile unsigned char *, int); -extern unsigned short ldw_brx(volatile unsigned char *, int); -#endif - -/* XFree86 things */ - -LOOKUP xfree86LookupTab[] = { - - /* Public OSlib functions */ - SYMFUNC(xf86ReadBIOS) - SYMFUNC(xf86EnableIO) - SYMFUNC(xf86DisableIO) - SYMFUNC(xf86DisableInterrupts) - SYMFUNC(xf86EnableInterrupts) - SYMFUNC(xf86LinearVidMem) - SYMFUNC(xf86CheckMTRR) - SYMFUNC(xf86MapVidMem) - SYMFUNC(xf86UnMapVidMem) - SYMFUNC(xf86MapReadSideEffects) - SYMFUNC(xf86GetPciDomain) - SYMFUNC(xf86MapDomainMemory) - SYMFUNC(xf86MapDomainIO) - SYMFUNC(xf86ReadDomainMemory) - SYMFUNC(xf86UDelay) - SYMFUNC(xf86IODelay) - SYMFUNC(xf86SlowBcopy) -#ifdef __alpha__ - SYMFUNC(xf86SlowBCopyToBus) - SYMFUNC(xf86SlowBCopyFromBus) -#endif - SYMFUNC(xf86BusToMem) - SYMFUNC(xf86MemToBus) - SYMFUNC(xf86OpenSerial) - SYMFUNC(xf86SetSerial) - SYMFUNC(xf86SetSerialSpeed) - SYMFUNC(xf86ReadSerial) - SYMFUNC(xf86WriteSerial) - SYMFUNC(xf86CloseSerial) - SYMFUNC(xf86GetErrno) - SYMFUNC(xf86WaitForInput) - SYMFUNC(xf86SerialSendBreak) - SYMFUNC(xf86FlushInput) - SYMFUNC(xf86SetSerialModemState) - SYMFUNC(xf86GetSerialModemState) - SYMFUNC(xf86SerialModemSetBits) - SYMFUNC(xf86SerialModemClearBits) - SYMFUNC(xf86LoadKernelModule) - SYMFUNC(xf86OSMouseInit) - SYMFUNC(xf86OSKbdPreInit) - SYMFUNC(xf86AgpGARTSupported) - SYMFUNC(xf86GetAGPInfo) - SYMFUNC(xf86AcquireGART) - SYMFUNC(xf86ReleaseGART) - SYMFUNC(xf86AllocateGARTMemory) - SYMFUNC(xf86DeallocateGARTMemory) - SYMFUNC(xf86BindGARTMemory) - SYMFUNC(xf86UnbindGARTMemory) - SYMFUNC(xf86EnableAGP) - SYMFUNC(xf86SoundKbdBell) - SYMFUNC(xf86GARTCloseScreen) -#ifdef XINPUT - /* XISB routines (Merged from Metrolink tree) */ - SYMFUNC(XisbNew) - SYMFUNC(XisbFree) - SYMFUNC(XisbRead) - SYMFUNC(XisbWrite) - SYMFUNC(XisbTrace) - SYMFUNC(XisbBlockDuration) -#endif - - /* xf86Bus.c */ - SYMFUNC(xf86CheckPciSlot) - SYMFUNC(xf86ClaimPciSlot) - SYMFUNC(xf86GetPciVideoInfo) - SYMFUNC(xf86GetPciEntity) - SYMFUNC(xf86GetPciConfigInfo) - SYMFUNC(xf86SetPciVideo) - SYMFUNC(xf86ClaimIsaSlot) - SYMFUNC(xf86ClaimFbSlot) - SYMFUNC(xf86ClaimNoSlot) - SYMFUNC(xf86ParsePciBusString) - SYMFUNC(xf86ComparePciBusString) - SYMFUNC(xf86FormatPciBusNumber) - SYMFUNC(xf86ParseIsaBusString) - SYMFUNC(xf86EnableAccess) - SYMFUNC(xf86SetCurrentAccess) - SYMFUNC(xf86IsPrimaryPci) - SYMFUNC(xf86IsPrimaryIsa) - SYMFUNC(xf86PrintResList) - SYMFUNC(xf86AddResToList) - SYMFUNC(xf86JoinResLists) - SYMFUNC(xf86DupResList) - SYMFUNC(xf86FreeResList) - SYMFUNC(xf86ClaimFixedResources) - SYMFUNC(xf86AddEntityToScreen) - SYMFUNC(xf86SetEntityInstanceForScreen) - SYMFUNC(xf86RemoveEntityFromScreen) - SYMFUNC(xf86GetEntityInfo) - SYMFUNC(xf86GetNumEntityInstances) - SYMFUNC(xf86GetDevFromEntity) - SYMFUNC(xf86GetPciInfoForEntity) - SYMFUNC(xf86SetEntityFuncs) - SYMFUNC(xf86DeallocateResourcesForEntity) - SYMFUNC(xf86RegisterResources) - SYMFUNC(xf86CheckPciMemBase) - SYMFUNC(xf86SetAccessFuncs) - SYMFUNC(xf86IsEntityPrimary) - SYMFUNC(xf86FixPciResource) - SYMFUNC(xf86SetOperatingState) - SYMFUNC(xf86EnterServerState) - SYMFUNC(xf86GetBlock) - SYMFUNC(xf86GetSparse) - SYMFUNC(xf86ReallocatePciResources) - SYMFUNC(xf86ChkConflict) - SYMFUNC(xf86IsPciDevPresent) - SYMFUNC(xf86FindScreenForEntity) - SYMFUNC(xf86FindPciDeviceVendor) - SYMFUNC(xf86FindPciClass) -#ifdef INCLUDE_DEPRECATED - SYMFUNC(xf86EnablePciBusMaster) -#endif - SYMFUNC(xf86RegisterStateChangeNotificationCallback) - SYMFUNC(xf86DeregisterStateChangeNotificationCallback) - SYMFUNC(xf86NoSharedResources) -#ifdef async - SYMFUNC(xf86QueueAsyncEvent) -#endif - /* Shared Accel Accessor Functions */ - SYMFUNC(xf86GetLastScrnFlag) - SYMFUNC(xf86SetLastScrnFlag) - SYMFUNC(xf86IsEntityShared) - SYMFUNC(xf86SetEntityShared) - SYMFUNC(xf86IsEntitySharable) - SYMFUNC(xf86SetEntitySharable) - SYMFUNC(xf86IsPrimInitDone) - SYMFUNC(xf86SetPrimInitDone) - SYMFUNC(xf86ClearPrimInitDone) - SYMFUNC(xf86AllocateEntityPrivateIndex) - SYMFUNC(xf86GetEntityPrivate) - - /* xf86Configure.c */ - SYMFUNC(xf86AddDeviceToConfigure) - - /* xf86Cursor.c */ - SYMFUNC(xf86GetPointerScreenFuncs) - - /* xf86DGA.c */ - /* For drivers */ - SYMFUNC(DGAInit) - SYMFUNC(DGAReInitModes) - /* For extmod */ - SYMFUNC(DGAAvailable) - SYMFUNC(DGAActive) - SYMFUNC(DGASetMode) - SYMFUNC(DGASetInputMode) - SYMFUNC(DGASelectInput) - SYMFUNC(DGAGetViewportStatus) - SYMFUNC(DGASetViewport) - SYMFUNC(DGAInstallCmap) - SYMFUNC(DGASync) - SYMFUNC(DGAFillRect) - SYMFUNC(DGABlitRect) - SYMFUNC(DGABlitTransRect) - SYMFUNC(DGAGetModes) - SYMFUNC(DGAGetOldDGAMode) - SYMFUNC(DGAGetModeInfo) - SYMFUNC(DGAChangePixmapMode) - SYMFUNC(DGACreateColormap) - SYMFUNC(DGAOpenFramebuffer) - SYMFUNC(DGACloseFramebuffer) - - /* xf86DPMS.c */ - SYMFUNC(xf86DPMSInit) - - /* xf86Events.c */ - SYMFUNC(SetTimeSinceLastInputEvent) - SYMFUNC(xf86AddInputHandler) - SYMFUNC(xf86RemoveInputHandler) - SYMFUNC(xf86DisableInputHandler) - SYMFUNC(xf86EnableInputHandler) - SYMFUNC(xf86AddEnabledDevice) - SYMFUNC(xf86RemoveEnabledDevice) - SYMFUNC(xf86InterceptSignals) - SYMFUNC(xf86InterceptSigIll) - SYMFUNC(xf86EnableVTSwitch) - - /* xf86Helper.c */ - SYMFUNC(xf86AddDriver) - SYMFUNC(xf86AddInputDriver) - SYMFUNC(xf86DeleteDriver) - SYMFUNC(xf86DeleteInput) - SYMFUNC(xf86AllocateInput) - SYMFUNC(xf86AllocateScreen) - SYMFUNC(xf86DeleteScreen) - SYMFUNC(xf86AllocateScrnInfoPrivateIndex) - SYMFUNC(xf86AddPixFormat) - SYMFUNC(xf86SetDepthBpp) - SYMFUNC(xf86PrintDepthBpp) - SYMFUNC(xf86SetWeight) - SYMFUNC(xf86SetDefaultVisual) - SYMFUNC(xf86SetGamma) - SYMFUNC(xf86SetDpi) - SYMFUNC(xf86SetBlackWhitePixels) - SYMFUNC(xf86EnableDisableFBAccess) - SYMFUNC(xf86VDrvMsgVerb) - SYMFUNC(xf86DrvMsgVerb) - SYMFUNC(xf86DrvMsg) - SYMFUNC(xf86MsgVerb) - SYMFUNC(xf86Msg) - SYMFUNC(xf86ErrorFVerb) - SYMFUNC(xf86ErrorF) - SYMFUNC(xf86TokenToString) - SYMFUNC(xf86StringToToken) - SYMFUNC(xf86ShowClocks) - SYMFUNC(xf86PrintChipsets) - SYMFUNC(xf86MatchDevice) - SYMFUNC(xf86MatchPciInstances) - SYMFUNC(xf86MatchIsaInstances) - SYMFUNC(xf86GetVerbosity) - SYMFUNC(xf86GetVisualName) - SYMFUNC(xf86GetPix24) - SYMFUNC(xf86GetDepth) - SYMFUNC(xf86GetWeight) - SYMFUNC(xf86GetGamma) - SYMFUNC(xf86GetFlipPixels) - SYMFUNC(xf86GetServerName) - SYMFUNC(xf86ServerIsExiting) - SYMFUNC(xf86ServerIsOnlyDetecting) - SYMFUNC(xf86ServerIsOnlyProbing) - SYMFUNC(xf86ServerIsResetting) - SYMFUNC(xf86CaughtSignal) - SYMFUNC(xf86GetVidModeAllowNonLocal) - SYMFUNC(xf86GetVidModeEnabled) - SYMFUNC(xf86GetModInDevAllowNonLocal) - SYMFUNC(xf86GetModInDevEnabled) - SYMFUNC(xf86GetAllowMouseOpenFail) - SYMFUNC(xf86CommonSpecialKey) - SYMFUNC(xf86IsPc98) - SYMFUNC(xf86DisableRandR) - SYMFUNC(xf86GetRotation) - SYMFUNC(xf86GetVersion) - SYMFUNC(xf86GetModuleVersion) - SYMFUNC(xf86GetClocks) - SYMFUNC(xf86SetPriority) - SYMFUNC(xf86LoadDrvSubModule) - SYMFUNC(xf86LoadSubModule) - SYMFUNC(xf86LoadOneModule) - SYMFUNC(xf86UnloadSubModule) - SYMFUNC(xf86LoaderCheckSymbol) - SYMFUNC(xf86LoaderRefSymLists) - SYMFUNC(xf86LoaderRefSymbols) - SYMFUNC(xf86LoaderReqSymLists) - SYMFUNC(xf86LoaderReqSymbols) - SYMFUNC(xf86SetBackingStore) - SYMFUNC(xf86SetSilkenMouse) - /* SYMFUNC(xf86NewSerialNumber) */ - SYMFUNC(xf86FindXvOptions) - SYMFUNC(xf86GetOS) - SYMFUNC(xf86ConfigPciEntity) - SYMFUNC(xf86ConfigIsaEntity) - SYMFUNC(xf86ConfigFbEntity) - SYMFUNC(xf86ConfigActivePciEntity) - SYMFUNC(xf86ConfigActiveIsaEntity) - SYMFUNC(xf86ConfigPciEntityInactive) - SYMFUNC(xf86ConfigIsaEntityInactive) - SYMFUNC(xf86IsScreenPrimary) - SYMFUNC(xf86RegisterRootWindowProperty) - SYMFUNC(xf86IsUnblank) - SYMFUNC(xf86AddModuleInfo) - SYMFUNC(xf86DeleteModuleInfo) - -#if defined(__sparc__) && !defined(__OpenBSD__) - /* xf86sbusBus.c */ - SYMFUNC(xf86MatchSbusInstances) - SYMFUNC(xf86GetSbusInfoForEntity) - SYMFUNC(xf86GetEntityForSbusInfo) - SYMFUNC(xf86SbusUseBuiltinMode) - SYMFUNC(xf86MapSbusMem) - SYMFUNC(xf86UnmapSbusMem) - SYMFUNC(xf86SbusHideOsHwCursor) - SYMFUNC(xf86SbusSetOsHwCursorCmap) - SYMFUNC(xf86SbusHandleColormaps) - SYMFUNC(sparcPromInit) - SYMFUNC(sparcPromClose) - SYMFUNC(sparcPromGetProperty) - SYMFUNC(sparcPromGetBool) -#endif - - /* xf86Init.c */ - SYMFUNC(xf86GetPixFormat) - SYMFUNC(xf86GetBppFromDepth) - - /* xf86Mode.c */ - SYMFUNC(xf86GetNearestClock) - SYMFUNC(xf86ModeStatusToString) - SYMFUNC(xf86LookupMode) - SYMFUNC(xf86CheckModeForMonitor) - SYMFUNC(xf86InitialCheckModeForDriver) - SYMFUNC(xf86CheckModeForDriver) - SYMFUNC(xf86ValidateModes) - SYMFUNC(xf86DeleteMode) - SYMFUNC(xf86PruneDriverModes) - SYMFUNC(xf86SetCrtcForModes) - SYMFUNC(xf86PrintModes) - SYMFUNC(xf86ShowClockRanges) - - /* xf86Option.c */ - SYMFUNC(xf86CollectOptions) - SYMFUNC(xf86CollectInputOptions) - /* Merging of XInput stuff */ - SYMFUNC(xf86AddNewOption) - SYMFUNC(xf86NewOption) - SYMFUNC(xf86NextOption) - SYMFUNC(xf86OptionListCreate) - SYMFUNC(xf86OptionListMerge) - SYMFUNC(xf86OptionListFree) - SYMFUNC(xf86OptionName) - SYMFUNC(xf86OptionValue) - SYMFUNC(xf86OptionListReport) - SYMFUNC(xf86SetIntOption) - SYMFUNC(xf86SetRealOption) - SYMFUNC(xf86SetStrOption) - SYMFUNC(xf86SetBoolOption) - SYMFUNC(xf86CheckIntOption) - SYMFUNC(xf86CheckRealOption) - SYMFUNC(xf86CheckStrOption) - SYMFUNC(xf86CheckBoolOption) - SYMFUNC(xf86ReplaceIntOption) - SYMFUNC(xf86ReplaceRealOption) - SYMFUNC(xf86ReplaceStrOption) - SYMFUNC(xf86ReplaceBoolOption) - SYMFUNC(xf86FindOption) - SYMFUNC(xf86FindOptionValue) - SYMFUNC(xf86MarkOptionUsed) - SYMFUNC(xf86MarkOptionUsedByName) - SYMFUNC(xf86CheckIfOptionUsed) - SYMFUNC(xf86CheckIfOptionUsedByName) - SYMFUNC(xf86ShowUnusedOptions) - SYMFUNC(xf86ProcessOptions) - SYMFUNC(xf86TokenToOptinfo) - SYMFUNC(xf86TokenToOptName) - SYMFUNC(xf86IsOptionSet) - SYMFUNC(xf86GetOptValString) - SYMFUNC(xf86GetOptValInteger) - SYMFUNC(xf86GetOptValULong) - SYMFUNC(xf86GetOptValReal) - SYMFUNC(xf86GetOptValFreq) - SYMFUNC(xf86GetOptValBool) - SYMFUNC(xf86ReturnOptValBool) - SYMFUNC(xf86NameCmp) - SYMFUNC(xf86InitValuatorAxisStruct) - SYMFUNC(xf86InitValuatorDefaults) - - /* xf86fbman.c */ - SYMFUNC(xf86InitFBManager) - SYMFUNC(xf86InitFBManagerArea) - SYMFUNC(xf86InitFBManagerRegion) - SYMFUNC(xf86InitFBManagerLinear) - SYMFUNC(xf86RegisterFreeBoxCallback) - SYMFUNC(xf86FreeOffscreenArea) - SYMFUNC(xf86AllocateOffscreenArea) - SYMFUNC(xf86AllocateLinearOffscreenArea) - SYMFUNC(xf86ResizeOffscreenArea) - SYMFUNC(xf86FBManagerRunning) - SYMFUNC(xf86QueryLargestOffscreenArea) - SYMFUNC(xf86PurgeUnlockedOffscreenAreas) - SYMFUNC(xf86RegisterOffscreenManager) - SYMFUNC(xf86AllocateOffscreenLinear) - SYMFUNC(xf86ResizeOffscreenLinear) - SYMFUNC(xf86QueryLargestOffscreenLinear) - SYMFUNC(xf86FreeOffscreenLinear) - - /* xf86cmap.c */ - SYMFUNC(xf86HandleColormaps) - SYMFUNC(xf86GetGammaRampSize) - SYMFUNC(xf86GetGammaRamp) - SYMFUNC(xf86ChangeGammaRamp) - - /* xf86RandR.c */ -#ifdef RANDR - SYMFUNC(xf86RandRSetNewVirtualAndDimensions) -#endif - - /* xf86xv.c */ -#ifdef XV - SYMFUNC(xf86XVScreenInit) - SYMFUNC(xf86XVRegisterGenericAdaptorDriver) - SYMFUNC(xf86XVListGenericAdaptors) - SYMFUNC(xf86XVRegisterOffscreenImages) - SYMFUNC(xf86XVQueryOffscreenImages) - SYMFUNC(xf86XVAllocateVideoAdaptorRec) - SYMFUNC(xf86XVFreeVideoAdaptorRec) - SYMFUNC(xf86XVFillKeyHelper) - SYMFUNC(xf86XVClipVideoHelper) - SYMFUNC(xf86XVCopyYUV12ToPacked) - SYMFUNC(xf86XVCopyPacked) - - /* xf86xvmc.c */ - SYMFUNC(xf86XvMCScreenInit) - SYMFUNC(xf86XvMCCreateAdaptorRec) - SYMFUNC(xf86XvMCDestroyAdaptorRec) -#endif - - /* xf86VidMode.c */ - SYMFUNC(VidModeExtensionInit) -#ifdef XF86VIDMODE - SYMFUNC(VidModeGetCurrentModeline) - SYMFUNC(VidModeGetFirstModeline) - SYMFUNC(VidModeGetNextModeline) - SYMFUNC(VidModeDeleteModeline) - SYMFUNC(VidModeZoomViewport) - SYMFUNC(VidModeGetViewPort) - SYMFUNC(VidModeSetViewPort) - SYMFUNC(VidModeSwitchMode) - SYMFUNC(VidModeLockZoom) - SYMFUNC(VidModeGetMonitor) - SYMFUNC(VidModeGetNumOfClocks) - SYMFUNC(VidModeGetClocks) - SYMFUNC(VidModeCheckModeForMonitor) - SYMFUNC(VidModeCheckModeForDriver) - SYMFUNC(VidModeSetCrtcForMode) - SYMFUNC(VidModeAddModeline) - SYMFUNC(VidModeGetDotClock) - SYMFUNC(VidModeGetNumOfModes) - SYMFUNC(VidModeSetGamma) - SYMFUNC(VidModeGetGamma) - SYMFUNC(VidModeCreateMode) - SYMFUNC(VidModeCopyMode) - SYMFUNC(VidModeGetModeValue) - SYMFUNC(VidModeSetModeValue) - SYMFUNC(VidModeGetMonitorValue) - SYMFUNC(VidModeSetGammaRamp) - SYMFUNC(VidModeGetGammaRamp) - SYMFUNC(VidModeGetGammaRampSize) -#endif - - /* xf86Versions.c */ - SYMFUNC(xf86GetBuiltinInterfaceVersion) - SYMFUNC(xf86RegisterBuiltinInterfaceVersion) - - /* xf86MiscExt.c */ -#ifdef XF86MISC - SYMFUNC(MiscExtGetMouseSettings) - SYMFUNC(MiscExtGetMouseValue) - SYMFUNC(MiscExtSetMouseValue) - SYMFUNC(MiscExtSetMouseDevice) - SYMFUNC(MiscExtGetKbdSettings) - SYMFUNC(MiscExtGetKbdValue) - SYMFUNC(MiscExtSetKbdValue) - SYMFUNC(MiscExtSetGrabKeysState) - SYMFUNC(MiscExtCreateStruct) - SYMFUNC(MiscExtDestroyStruct) - SYMFUNC(MiscExtApply) - SYMFUNC(MiscExtGetFilePaths) - SYMFUNC(MiscExtPassMessage) -#endif - - /* Misc */ - SYMFUNC(GetTimeInMillis) - - /* xf86Xinput.c */ -#ifdef XINPUT - SYMFUNC(xf86ProcessCommonOptions) - SYMFUNC(xf86IsCorePointer) - SYMFUNC(xf86PostMotionEvent) - SYMFUNC(xf86PostProximityEvent) - SYMFUNC(xf86PostButtonEvent) - SYMFUNC(xf86PostKeyEvent) - SYMFUNC(xf86PostKeyboardEvent) - SYMFUNC(xf86GetMotionEvents) - SYMFUNC(xf86MotionHistoryAllocate) - SYMFUNC(xf86FirstLocalDevice) - SYMFUNC(xf86eqEnqueue) - SYMFUNC(xf86ActivateDevice) -/* The following segment merged from Metrolink tree */ - SYMFUNC(xf86XInputSetScreen) - SYMFUNC(xf86ScaleAxis) - SYMFUNC(xf86XInputSetSendCoreEvents) -/* End merged segment */ -#endif -#ifdef DPMSExtension - SYMFUNC(DPMSGet) - SYMFUNC(DPMSSet) - SYMFUNC(DPMSSupported) -#endif -/* xf86Debug.c */ -#ifdef BUILDDEBUG - SYMFUNC(xf86Break1) - SYMFUNC(xf86Break2) - SYMFUNC(xf86Break3) - SYMFUNC(xf86SPTimestamp) - SYMFUNC(xf86STimestamp) -#endif - - SYMFUNC(pciFindFirst) - SYMFUNC(pciFindNext) - SYMFUNC(pciWriteByte) - SYMFUNC(pciWriteWord) - SYMFUNC(pciWriteLong) - SYMFUNC(pciReadByte) - SYMFUNC(pciReadWord) - SYMFUNC(pciReadLong) - SYMFUNC(pciSetBitsLong) - SYMFUNC(pciTag) - SYMFUNC(pciBusAddrToHostAddr) - SYMFUNC(pciHostAddrToBusAddr) - SYMFUNC(xf86MapPciMem) - SYMFUNC(xf86scanpci) - SYMFUNC(xf86ReadPciBIOS) - - /* Loader functions */ - SYMFUNC(LoaderDefaultFunc) - SYMFUNC(LoadSubModule) - SYMFUNC(DuplicateModule) - SYMFUNC(LoaderErrorMsg) - SYMFUNC(LoaderCheckUnresolved) - SYMFUNC(LoadExtension) - SYMFUNC(LoadFont) - SYMFUNC(LoaderReqSymbols) - SYMFUNC(LoaderReqSymLists) - SYMFUNC(LoaderRefSymbols) - SYMFUNC(LoaderRefSymLists) - SYMFUNC(UnloadSubModule) - SYMFUNC(LoaderSymbol) - SYMFUNC(LoaderListDirs) - SYMFUNC(LoaderFreeDirList) - SYMFUNC(LoaderGetOS) - SYMFUNC(LoaderGetABIVersion) - - /* - * These are our own interfaces to libc functions. - */ - SYMFUNC(xf86abort) - SYMFUNC(xf86abs) - SYMFUNC(xf86acos) - SYMFUNC(xf86asin) - SYMFUNC(xf86atan) - SYMFUNC(xf86atan2) - SYMFUNC(xf86atof) - SYMFUNC(xf86atoi) - SYMFUNC(xf86atol) - SYMFUNC(xf86bsearch) - SYMFUNC(xf86ceil) - SYMFUNC(xf86calloc) - SYMFUNC(xf86clearerr) - SYMFUNC(xf86close) - SYMFUNC(xf86cos) - SYMFUNC(xf86exit) - SYMFUNC(xf86exp) - SYMFUNC(xf86fabs) - SYMFUNC(xf86fclose) - SYMFUNC(xf86feof) - SYMFUNC(xf86ferror) - SYMFUNC(xf86fflush) - SYMFUNC(xf86fgetc) - SYMFUNC(xf86fgetpos) - SYMFUNC(xf86fgets) - SYMFUNC(xf86finite) - SYMFUNC(xf86floor) - SYMFUNC(xf86fmod) - SYMFUNC(xf86fopen) - SYMFUNC(xf86fprintf) - SYMFUNC(xf86fputc) - SYMFUNC(xf86fputs) - SYMFUNC(xf86fread) - SYMFUNC(xf86free) - SYMFUNC(xf86freopen) - SYMFUNC(xf86frexp) - SYMFUNC(xf86fscanf) - SYMFUNC(xf86fseek) - SYMFUNC(xf86fsetpos) - SYMFUNC(xf86ftell) - SYMFUNC(xf86fwrite) - SYMFUNC(xf86getc) - SYMFUNC(xf86getenv) - SYMFUNC(xf86getpagesize) - SYMFUNC(xf86hypot) - SYMFUNC(xf86ioctl) - SYMFUNC(xf86isalnum) - SYMFUNC(xf86isalpha) - SYMFUNC(xf86iscntrl) - SYMFUNC(xf86isdigit) - SYMFUNC(xf86isgraph) - SYMFUNC(xf86islower) - SYMFUNC(xf86isprint) - SYMFUNC(xf86ispunct) - SYMFUNC(xf86isspace) - SYMFUNC(xf86isupper) - SYMFUNC(xf86isxdigit) - SYMFUNC(xf86labs) - SYMFUNC(xf86ldexp) - SYMFUNC(xf86log) - SYMFUNC(xf86log10) - SYMFUNC(xf86lseek) - SYMFUNC(xf86malloc) - SYMFUNC(xf86memchr) - SYMFUNC(xf86memcmp) - SYMFUNC(xf86memcpy) - /* - * Some compilers generate calls to memcpy to handle structure copies - * or run-time initializations. - */ - SYMFUNCALIAS("memcpy", xf86memcpy) - SYMFUNC(xf86memset) - /* - * Some compilers generate calls to memset to handle aggregate - * initializations. - */ - SYMFUNCALIAS("memset", xf86memset) - SYMFUNC(xf86memmove) - SYMFUNC(xf86mmap) - SYMFUNC(xf86modf) - SYMFUNC(xf86munmap) - SYMFUNC(xf86open) - SYMFUNC(xf86perror) - SYMFUNC(xf86pow) - SYMFUNC(xf86printf) - SYMFUNC(xf86qsort) - SYMFUNC(xf86read) - SYMFUNC(xf86realloc) - SYMFUNC(xf86remove) - SYMFUNC(xf86rename) - SYMFUNC(xf86rewind) - SYMFUNC(xf86setbuf) - SYMFUNC(xf86setvbuf) - SYMFUNC(xf86sin) - SYMFUNC(xf86snprintf) - SYMFUNC(xf86sprintf) - SYMFUNC(xf86sqrt) - SYMFUNC(xf86sscanf) - SYMFUNC(xf86strcat) - SYMFUNC(xf86strcmp) - SYMFUNC(xf86strcasecmp) - SYMFUNC(xf86strcpy) - SYMFUNC(xf86strcspn) - SYMFUNC(xf86strerror) - SYMFUNC(xf86strlcat) - SYMFUNC(xf86strlcpy) - SYMFUNC(xf86strlen) - SYMFUNC(xf86strncasecmp) - SYMFUNC(xf86strncat) - SYMFUNC(xf86strncmp) - SYMFUNC(xf86strncpy) - SYMFUNC(xf86strpbrk) - SYMFUNC(xf86strchr) - SYMFUNC(xf86strrchr) - SYMFUNC(xf86strspn) - SYMFUNC(xf86strstr) - SYMFUNC(xf86strtod) - SYMFUNC(xf86strtok) - SYMFUNC(xf86strtol) - SYMFUNC(xf86strtoul) - SYMFUNC(xf86tan) - SYMFUNC(xf86tmpfile) - SYMFUNC(xf86tolower) - SYMFUNC(xf86toupper) - SYMFUNC(xf86ungetc) - SYMFUNC(xf86vfprintf) - SYMFUNC(xf86vsnprintf) - SYMFUNC(xf86vsprintf) - SYMFUNC(xf86write) - - /* non-ANSI C functions */ - SYMFUNC(xf86opendir) - SYMFUNC(xf86closedir) - SYMFUNC(xf86readdir) - SYMFUNC(xf86rewinddir) - SYMFUNC(xf86ffs) - SYMFUNC(xf86strdup) - SYMFUNC(xf86bzero) - SYMFUNC(xf86usleep) - SYMFUNC(xf86execl) - - SYMFUNC(xf86getsecs) - SYMFUNC(xf86fpossize) /* for returning sizeof(fpos_t) */ - - /* Some of these were added for DRI support. */ - SYMFUNC(xf86stat) - SYMFUNC(xf86fstat) - SYMFUNC(xf86access) - SYMFUNC(xf86geteuid) - SYMFUNC(xf86getegid) - SYMFUNC(xf86getpid) - SYMFUNC(xf86mknod) - SYMFUNC(xf86chmod) - SYMFUNC(xf86chown) - SYMFUNC(xf86sleep) - SYMFUNC(xf86mkdir) - SYMFUNC(xf86shmget) - SYMFUNC(xf86shmat) - SYMFUNC(xf86shmdt) - SYMFUNC(xf86shmctl) -#ifdef HAS_GLIBC_SIGSETJMP - SYMFUNC(xf86setjmp) - SYMFUNC(xf86setjmp0) -#if defined(__GLIBC__) && (__GLIBC__ >= 2) - SYMFUNCALIAS("xf86setjmp1", __sigsetjmp) -#else - SYMFUNC(xf86setjmp1) /* For libc5 */ -#endif -#else - SYMFUNCALIAS("xf86setjmp", setjmp) - SYMFUNC(xf86setjmp0) - SYMFUNC(xf86setjmp1) -#endif - SYMFUNCALIAS("xf86longjmp", longjmp) - SYMFUNC(xf86getjmptype) - SYMFUNC(xf86setjmp1_arg2) - SYMFUNC(xf86setjmperror) -#ifdef XF86DRI - /* - * These may have more general uses, but for now, they are only used - * by the DRI. Loading them only when the DRI is built may make porting - * (the non-DRI portions of the X server) easier. - */ - SYMFUNC(xf86InstallSIGIOHandler) - SYMFUNC(xf86RemoveSIGIOHandler) -# if defined(__alpha__) && defined(linux) - SYMFUNC(_bus_base) -# endif -#endif - SYMFUNC(xf86BlockSIGIO) - SYMFUNC(xf86UnblockSIGIO) - -#if defined(__alpha__) - SYMFUNC(__divl) - SYMFUNC(__reml) - SYMFUNC(__divlu) - SYMFUNC(__remlu) - SYMFUNC(__divq) - SYMFUNC(__divqu) - SYMFUNC(__remq) - SYMFUNC(__remqu) - -# ifdef linux - SYMFUNC(_outw) - SYMFUNC(_outb) - SYMFUNC(_outl) - SYMFUNC(_inb) - SYMFUNC(_inw) - SYMFUNC(_inl) - SYMFUNC(_alpha_outw) - SYMFUNC(_alpha_outb) - SYMFUNC(_alpha_outl) - SYMFUNC(_alpha_inb) - SYMFUNC(_alpha_inw) - SYMFUNC(_alpha_inl) -# else - SYMFUNC(outw) - SYMFUNC(outb) - SYMFUNC(outl) - SYMFUNC(inb) - SYMFUNC(inw) - SYMFUNC(inl) -# endif - SYMFUNC(xf86ReadMmio32) - SYMFUNC(xf86ReadMmio16) - SYMFUNC(xf86ReadMmio8) - SYMFUNC(xf86WriteMmio32) - SYMFUNC(xf86WriteMmio16) - SYMFUNC(xf86WriteMmio8) - SYMFUNC(xf86WriteMmioNB32) - SYMFUNC(xf86WriteMmioNB16) - SYMFUNC(xf86WriteMmioNB8) -#endif -#if defined(sun) && defined(SVR4) - SYMFUNC(inb) - SYMFUNC(inw) - SYMFUNC(inl) - SYMFUNC(outb) - SYMFUNC(outw) - SYMFUNC(outl) -#endif -#if defined(__powerpc__) && !defined(__OpenBSD__) - SYMFUNC(inb) - SYMFUNC(inw) - SYMFUNC(inl) - SYMFUNC(outb) - SYMFUNC(outw) - SYMFUNC(outl) -# if defined(NO_INLINE) || defined(Lynx) - SYMFUNC(mem_barrier) - SYMFUNC(ldl_u) - SYMFUNC(eieio) - SYMFUNC(ldl_brx) - SYMFUNC(ldw_brx) - SYMFUNC(stl_brx) - SYMFUNC(stw_brx) - SYMFUNC(ldq_u) - SYMFUNC(ldw_u) - SYMFUNC(stl_u) - SYMFUNC(stq_u) - SYMFUNC(stw_u) - SYMFUNC(write_mem_barrier) -# endif -# if defined(Lynx) - SYMFUNC(_restf14) - SYMFUNC(_restf17) - SYMFUNC(_restf18) - SYMFUNC(_restf19) - SYMFUNC(_restf20) - SYMFUNC(_restf22) - SYMFUNC(_restf23) - SYMFUNC(_restf24) - SYMFUNC(_restf25) - SYMFUNC(_restf26) - SYMFUNC(_restf27) - SYMFUNC(_restf28) - SYMFUNC(_restf29) - SYMFUNC(_savef14) - SYMFUNC(_savef17) - SYMFUNC(_savef18) - SYMFUNC(_savef19) - SYMFUNC(_savef20) - SYMFUNC(_savef22) - SYMFUNC(_savef23) - SYMFUNC(_savef24) - SYMFUNC(_savef25) - SYMFUNC(_savef26) - SYMFUNC(_savef27) - SYMFUNC(_savef28) - SYMFUNC(_savef29) -# endif -# if PPCIO_DEBUG - SYMFUNC(debug_inb) - SYMFUNC(debug_inw) - SYMFUNC(debug_inl) - SYMFUNC(debug_outb) - SYMFUNC(debug_outw) - SYMFUNC(debug_outl) -# endif -#endif -#if defined(__GNUC__) -#if !defined(__UNIXOS2__) && !defined(Lynx) - SYMFUNC(__div64) -#endif -#if !defined(Lynx) /* FIXME: test on others than x86 and !3.1.0a/x86 */ - SYMFUNC(__divdf3) -#endif - SYMFUNC(__divdi3) -#if !defined(Lynx) - SYMFUNC(__divsf3) - SYMFUNC(__divsi3) -#endif - SYMFUNC(__moddi3) -#if !defined(Lynx) - SYMFUNC(__modsi3) -#endif -#if !defined(__UNIXOS2__) && !defined(Lynx) - SYMFUNC(__mul64) -#endif -#if !defined(Lynx) - SYMFUNC(__muldf3) -#endif - SYMFUNC(__muldi3) -#if !defined(Lynx) - SYMFUNC(__mulsf3) - SYMFUNC(__mulsi3) - SYMFUNC(__udivdi3) - SYMFUNC(__udivsi3) -#endif - SYMFUNC(__umoddi3) -#if !defined(Lynx) - SYMFUNC(__umodsi3) -#endif -#endif -#if defined(__ia64__) - SYMFUNC(outw) - SYMFUNC(outb) - SYMFUNC(outl) - SYMFUNC(inb) - SYMFUNC(inw) - SYMFUNC(inl) -#endif -#if defined(__arm__) - SYMFUNC(outw) - SYMFUNC(outb) - SYMFUNC(outl) - SYMFUNC(inb) - SYMFUNC(inw) - SYMFUNC(inl) -#endif - -#ifdef __FreeBSD__ -#if defined(__sparc__) - SYMFUNC(_Qp_qtos) - SYMFUNC(_Qp_qtod) - SYMFUNC(_Qp_qtoux) - SYMFUNC(_Qp_uitoq) - SYMFUNC(_Qp_dtoq) -#endif -#endif - - /* Some variables. */ - - SYMVAR(xf86stdin) - SYMVAR(xf86stdout) - SYMVAR(xf86stderr) - SYMVAR(xf86errno) - SYMVAR(xf86HUGE_VAL) - - /* General variables (from xf86.h) */ - SYMVAR(xf86ScreenIndex) - SYMVAR(xf86PixmapIndex) - SYMVAR(xf86Screens) - SYMVAR(byte_reversed) - SYMVAR(xf86inSuspend) - /* debugging variables */ -#ifdef BUILDDEBUG - SYMVAR(xf86p8bit) - SYMVAR(xf86DummyVar1) - SYMVAR(xf86DummyVar2) - SYMVAR(xf86DummyVar3) -#endif - -#ifdef async - SYMVAR(xf86CurrentScreen) -#endif - /* predefined resource lists from xf86Bus.h */ - SYMVAR(resVgaExclusive) - SYMVAR(resVgaShared) - SYMVAR(resVgaMemShared) - SYMVAR(resVgaIoShared) - SYMVAR(resVgaUnusedExclusive) - SYMVAR(resVgaUnusedShared) - SYMVAR(resVgaSparseExclusive) - SYMVAR(resVgaSparseShared) - SYMVAR(res8514Exclusive) - SYMVAR(res8514Shared) - SYMVAR(PciAvoid) - -#if defined(__powerpc__) && (!defined(NO_INLINE) || defined(Lynx)) - SYMVAR(ioBase) -#endif - - /* Globals from xf86Globals.c and xf86Priv.h */ - SYMVAR(xf86ConfigDRI) - - /* Globals from xf86Configure.c */ - SYMVAR(ConfiguredMonitor) - - /* Pci.c */ - SYMVAR(pciNumBuses) - - {0, 0} -}; From 870cecb72c2cba44dc64cb202917453603c8f287 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jun 2006 11:22:42 -0700 Subject: [PATCH 11/53] fix compiler warnings in XTrap/xtrapdiswp.c --- XTrap/xtrapdiswp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/XTrap/xtrapdiswp.c b/XTrap/xtrapdiswp.c index b0fa43957..dc2a3383a 100644 --- a/XTrap/xtrapdiswp.c +++ b/XTrap/xtrapdiswp.c @@ -374,13 +374,13 @@ void XETSwSendEvent(register xSendEventReq *data) { register char n; xEvent eventT; - void (*proc)(); + EventSwapPtr proc; swapl(&(data->destination), n); swapl(&(data->eventMask), n); /* Swap event */ proc = EventSwapVector[data->event.u.u.type & 0177]; - if (!proc || (int (*)()) proc == (int (*)()) NotImplemented) + if (!proc || proc == NotImplemented) (*proc)(&(data->event), &eventT); data->event = eventT; swaps(&(data->length), n); From 4d258f31967141e3c4a6e4abbef89ffa717e85aa Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jun 2006 11:27:47 -0700 Subject: [PATCH 12/53] fix compiler warnings in XTrap/xtrapdi.c --- XTrap/xtrapdi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/XTrap/xtrapdi.c b/XTrap/xtrapdi.c index 26da8cbb4..1c4f5ca06 100644 --- a/XTrap/xtrapdi.c +++ b/XTrap/xtrapdi.c @@ -170,7 +170,7 @@ static ClientList cmd_clients; /* Linked-list of clients using command key */ /*----------------------------* * Forward Declarations *----------------------------*/ -static void _SwapProc (int (**f1 )(), int (**f2 )()); +static void _SwapProc (int (**f1 )(void), int (**f2 )(void)); static void sXETrapEvent (xETrapDataEvent *from , xETrapDataEvent *to ); static int add_accelerator_node (ClientPtr client , ClientList *accel ); static void remove_accelerator_node (ClientPtr client , ClientList *accel ); @@ -886,14 +886,14 @@ int XETrapConfig(xXTrapConfigReq *request, ClientPtr client) { /* Client wants the XTrap rtn */ if (++(vectored_requests[i]) <= 1L) { /* first client, so do it */ - _SwapProc(&(XETrapProcVector[i]), &(ProcVector[i])); + _SwapProc(&(XETrapProcVector[i]), (int_function *)&(ProcVector[i])); } } else { /* Client wants the *real* rtn */ if (--(vectored_requests[i]) <= 0L) { /* No more clients using, so do it */ - _SwapProc(&(XETrapProcVector[i]), &(ProcVector[i])); + _SwapProc(&(XETrapProcVector[i]), (int_function *)&(ProcVector[i])); } } if (status == Success) @@ -1787,9 +1787,9 @@ static void update_protocol(xXTrapGetReq *reqptr, ClientPtr client) * lint from complaining about mixed types. It seems to work, but I would * probably classify this as a hack. */ -static void _SwapProc( register int (**f1)(), register int (**f2)()) +static void _SwapProc( register int (**f1)(void), register int (**f2)(void)) { - register int (*t1)() = *f1; + register int (*t1)(void) = *f1; *f1 = *f2; *f2 = t1; From b20ae5ddb7682bafcee6f8bf0c8208a3f70b882b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jun 2006 11:38:52 -0700 Subject: [PATCH 13/53] fix compiler warnings in hw/xfree86/xf4bpp/ppcGC.c --- hw/xfree86/xf4bpp/ppcGC.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/xfree86/xf4bpp/ppcGC.c b/hw/xfree86/xf4bpp/ppcGC.c index 1a2de42f3..4aafb706b 100644 --- a/hw/xfree86/xf4bpp/ppcGC.c +++ b/hw/xfree86/xf4bpp/ppcGC.c @@ -97,8 +97,8 @@ SOFTWARE. */ static GCFuncs vgaGCFuncs = { xf4bppValidateGC, - (void (*)())NoopDDA, - (void (*)())NoopDDA, + (void (*)(GCPtr, unsigned long))NoopDDA, + (void (*)(GCPtr, unsigned long, GCPtr))NoopDDA, xf4bppDestroyGC, xf4bppChangeClip, xf4bppDestroyClip, From 9f2793551f335e5fb08990fc8bb9e05e0ffb68d5 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jun 2006 11:50:47 -0700 Subject: [PATCH 14/53] fix compiler warning in hw/vfb/InitOutput.c --- hw/vfb/InitOutput.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c index 86e3fbe14..212f79b7c 100644 --- a/hw/vfb/InitOutput.c +++ b/hw/vfb/InitOutput.c @@ -255,10 +255,12 @@ OsVendorFatalError() { } +#if defined(DDXBEFORERESET) void ddxBeforeReset(void) { return; } +#endif void ddxUseMsg() From 29c78321e86956c4ce0c1c899d82557f927e04da Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jun 2006 14:36:41 -0700 Subject: [PATCH 15/53] fix compiler warning in hw/xfree86/i2c/tda9850.c --- hw/xfree86/i2c/tda9850.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/xfree86/i2c/tda9850.c b/hw/xfree86/i2c/tda9850.c index e6afd8165..5b0c581ed 100644 --- a/hw/xfree86/i2c/tda9850.c +++ b/hw/xfree86/i2c/tda9850.c @@ -107,6 +107,6 @@ CARD16 tda9850_getstatus(TDA9850Ptr t) { CARD16 status; -I2C_WriteRead(&(t->d), NULL, 0, &status, 2); +I2C_WriteRead(&(t->d), NULL, 0, (I2CByte *)&status, 2); return status; } From d97a21acb878bc4e5e6542912fbd820503bba312 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jun 2006 14:36:54 -0700 Subject: [PATCH 16/53] fix compiler warnings in hw/xfree86/i2c/fi1236.c --- hw/xfree86/i2c/fi1236.c | 8 +++++--- hw/xfree86/i2c/fi1236.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/xfree86/i2c/fi1236.c b/hw/xfree86/i2c/fi1236.c index ea37414b2..742645bba 100644 --- a/hw/xfree86/i2c/fi1236.c +++ b/hw/xfree86/i2c/fi1236.c @@ -99,6 +99,7 @@ xf86DrvMsg(f->d.pI2CBus->scrnIndex, X_INFO, "MT2032: Company code 0x%02x%02x, pa } /* might be buggy */ +#if 0 static void MT2032_shutdown(FI1236Ptr f) { CARD8 data[10]; @@ -124,6 +125,7 @@ I2C_WriteRead(&(f->d), (I2CByte *)data, 4, NULL, 0); usleep(15000); } +#endif static void MT2032_dump_status(FI1236Ptr f); @@ -131,7 +133,7 @@ static void MT2032_init(FI1236Ptr f) { CARD8 data[10]; CARD8 value; -CARD8 xogc; +CARD8 xogc = 0x00; MT2032_getid(f); @@ -479,7 +481,7 @@ if(type==TUNER_TYPE_MT2032){ } -CARD32 AFC_TimerCallback(OsTimerPtr timer, CARD32 time, pointer data){ +static CARD32 AFC_TimerCallback(OsTimerPtr timer, CARD32 time, pointer data){ FI1236Ptr f=(FI1236Ptr)data; if(FI1236_AFC(f))return 150; else { @@ -517,7 +519,7 @@ void FI1236_tune(FI1236Ptr f, CARD32 frequency) xf86DrvMsg(f->d.pI2CBus->scrnIndex, X_INFO, "Setting tuner band to %d\n", f->tuner_data.band); - xf86DrvMsg(f->d.pI2CBus->scrnIndex, X_INFO, "Setting tuner frequency to %d\n", frequency); + xf86DrvMsg(f->d.pI2CBus->scrnIndex, X_INFO, "Setting tuner frequency to %d\n", (int)frequency); if ((f->type == TUNER_TYPE_FM1216ME) || (f->type == TUNER_TYPE_FI1236W)) { diff --git a/hw/xfree86/i2c/fi1236.h b/hw/xfree86/i2c/fi1236.h index dbb154671..7c1d07024 100644 --- a/hw/xfree86/i2c/fi1236.h +++ b/hw/xfree86/i2c/fi1236.h @@ -90,6 +90,7 @@ typedef struct { FI1236Ptr Detect_FI1236(I2CBusPtr b, I2CSlaveAddr addr); void FI1236_set_tuner_type(FI1236Ptr f, int type); void TUNER_set_frequency(FI1236Ptr f, CARD32 frequency); +void FI1236_tune(FI1236Ptr f, CARD32 frequency); int FI1236_AFC(FI1236Ptr f); int TUNER_get_afc_hint(FI1236Ptr f); void fi1236_dump_status(FI1236Ptr f); From 9742d55c820a260a42a4537502295931d4529deb Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 19 Jun 2006 14:40:14 -0700 Subject: [PATCH 17/53] update .gitignore to handle Xprint move --- .gitignore | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index ce396c928..8ae535847 100644 --- a/.gitignore +++ b/.gitignore @@ -23,12 +23,6 @@ xorg-server.pc stamp-h? do-not-use-config.h do-not-use-config.h.in -XpConfig/C/print/Xprinters.ghostscript -Xprint/Xprt -Xprint/doc/Xprt.1x -Xprint/doc/Xprt.man -Xprint/dpmsstubs-wrapper.c -Xprint/miinitext-wrapper.c afb/afbbltC.c afb/afbbltCI.c afb/afbbltG.c @@ -216,6 +210,12 @@ hw/xfree86/xorg.c hw/xnest/Xnest hw/xnest/Xnest.1x hw/xnest/Xnest.man +hw/xprint/Xprt +hw/xprint/config/C/print/Xprinters.ghostscript +hw/xprint/doc/Xprt.1x +hw/xprint/doc/Xprt.man +hw/xprint/dpmsstubs-wrapper.c +hw/xprint/miinitext-wrapper.c include/dix-config.h include/kdrive-config.h include/xgl-config.h From e1672a12eb70836a2ceec803d505294897ae8cd2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Jun 2006 13:20:56 -0700 Subject: [PATCH 18/53] Convert PICT_* names from #defines to an enum to aid in debugging. --- render/picture.h | 80 +++++++++++++++++++++++---------------------- render/picturestr.h | 2 +- 2 files changed, 42 insertions(+), 40 deletions(-) diff --git a/render/picture.h b/render/picture.h index 778eb5c4c..e7d86ac39 100644 --- a/render/picture.h +++ b/render/picture.h @@ -68,61 +68,63 @@ typedef struct _Picture *PicturePtr; #define PICT_FORMAT_COLOR(f) (PICT_FORMAT_TYPE(f) & 2) /* 32bpp formats */ -#define PICT_a8r8g8b8 PICT_FORMAT(32,PICT_TYPE_ARGB,8,8,8,8) -#define PICT_x8r8g8b8 PICT_FORMAT(32,PICT_TYPE_ARGB,0,8,8,8) -#define PICT_a8b8g8r8 PICT_FORMAT(32,PICT_TYPE_ABGR,8,8,8,8) -#define PICT_x8b8g8r8 PICT_FORMAT(32,PICT_TYPE_ABGR,0,8,8,8) +typedef enum _PictFormatShort { + PICT_a8r8g8b8 = PICT_FORMAT(32,PICT_TYPE_ARGB,8,8,8,8), + PICT_x8r8g8b8 = PICT_FORMAT(32,PICT_TYPE_ARGB,0,8,8,8), + PICT_a8b8g8r8 = PICT_FORMAT(32,PICT_TYPE_ABGR,8,8,8,8), + PICT_x8b8g8r8 = PICT_FORMAT(32,PICT_TYPE_ABGR,0,8,8,8), /* 24bpp formats */ -#define PICT_r8g8b8 PICT_FORMAT(24,PICT_TYPE_ARGB,0,8,8,8) -#define PICT_b8g8r8 PICT_FORMAT(24,PICT_TYPE_ABGR,0,8,8,8) + PICT_r8g8b8 = PICT_FORMAT(24,PICT_TYPE_ARGB,0,8,8,8), + PICT_b8g8r8 = PICT_FORMAT(24,PICT_TYPE_ABGR,0,8,8,8), /* 16bpp formats */ -#define PICT_r5g6b5 PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,6,5) -#define PICT_b5g6r5 PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,6,5) + PICT_r5g6b5 = PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,6,5), + PICT_b5g6r5 = PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,6,5), -#define PICT_a1r5g5b5 PICT_FORMAT(16,PICT_TYPE_ARGB,1,5,5,5) -#define PICT_x1r5g5b5 PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,5,5) -#define PICT_a1b5g5r5 PICT_FORMAT(16,PICT_TYPE_ABGR,1,5,5,5) -#define PICT_x1b5g5r5 PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,5,5) -#define PICT_a4r4g4b4 PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4) -#define PICT_x4r4g4b4 PICT_FORMAT(16,PICT_TYPE_ARGB,0,4,4,4) -#define PICT_a4b4g4r4 PICT_FORMAT(16,PICT_TYPE_ABGR,4,4,4,4) -#define PICT_x4b4g4r4 PICT_FORMAT(16,PICT_TYPE_ABGR,0,4,4,4) + PICT_a1r5g5b5 = PICT_FORMAT(16,PICT_TYPE_ARGB,1,5,5,5), + PICT_x1r5g5b5 = PICT_FORMAT(16,PICT_TYPE_ARGB,0,5,5,5), + PICT_a1b5g5r5 = PICT_FORMAT(16,PICT_TYPE_ABGR,1,5,5,5), + PICT_x1b5g5r5 = PICT_FORMAT(16,PICT_TYPE_ABGR,0,5,5,5), + PICT_a4r4g4b4 = PICT_FORMAT(16,PICT_TYPE_ARGB,4,4,4,4), + PICT_x4r4g4b4 = PICT_FORMAT(16,PICT_TYPE_ARGB,0,4,4,4), + PICT_a4b4g4r4 = PICT_FORMAT(16,PICT_TYPE_ABGR,4,4,4,4), + PICT_x4b4g4r4 = PICT_FORMAT(16,PICT_TYPE_ABGR,0,4,4,4), /* 8bpp formats */ -#define PICT_a8 PICT_FORMAT(8,PICT_TYPE_A,8,0,0,0) -#define PICT_r3g3b2 PICT_FORMAT(8,PICT_TYPE_ARGB,0,3,3,2) -#define PICT_b2g3r3 PICT_FORMAT(8,PICT_TYPE_ABGR,0,3,3,2) -#define PICT_a2r2g2b2 PICT_FORMAT(8,PICT_TYPE_ARGB,2,2,2,2) -#define PICT_a2b2g2r2 PICT_FORMAT(8,PICT_TYPE_ABGR,2,2,2,2) + PICT_a8 = PICT_FORMAT(8,PICT_TYPE_A,8,0,0,0), + PICT_r3g3b2 = PICT_FORMAT(8,PICT_TYPE_ARGB,0,3,3,2), + PICT_b2g3r3 = PICT_FORMAT(8,PICT_TYPE_ABGR,0,3,3,2), + PICT_a2r2g2b2 = PICT_FORMAT(8,PICT_TYPE_ARGB,2,2,2,2), + PICT_a2b2g2r2 = PICT_FORMAT(8,PICT_TYPE_ABGR,2,2,2,2), -#define PICT_c8 PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0) -#define PICT_g8 PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0) + PICT_c8 = PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0), + PICT_g8 = PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0), -#define PICT_x4a4 PICT_FORMAT(8,PICT_TYPE_A,4,0,0,0) -#define PICT_x4r1g2b1 PICT_FORMAT(8,PICT_TYPE_ARGB,0,1,2,1) -#define PICT_x4b1g2r1 PICT_FORMAT(8,PICT_TYPE_ABGR,0,1,2,1) -#define PICT_x4a1r1g1b1 PICT_FORMAT(8,PICT_TYPE_ARGB,1,1,1,1) -#define PICT_x4a1b1g1r1 PICT_FORMAT(8,PICT_TYPE_ABGR,1,1,1,1) + PICT_x4a4 = PICT_FORMAT(8,PICT_TYPE_A,4,0,0,0), + PICT_x4r1g2b1 = PICT_FORMAT(8,PICT_TYPE_ARGB,0,1,2,1), + PICT_x4b1g2r1 = PICT_FORMAT(8,PICT_TYPE_ABGR,0,1,2,1), + PICT_x4a1r1g1b1 = PICT_FORMAT(8,PICT_TYPE_ARGB,1,1,1,1), + PICT_x4a1b1g1r1 = PICT_FORMAT(8,PICT_TYPE_ABGR,1,1,1,1), -#define PICT_x4c4 PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0) -#define PICT_x4g4 PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0) + PICT_x4c4 = PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0), + PICT_x4g4 = PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0), /* 4bpp formats */ -#define PICT_a4 PICT_FORMAT(4,PICT_TYPE_A,4,0,0,0) -#define PICT_r1g2b1 PICT_FORMAT(4,PICT_TYPE_ARGB,0,1,2,1) -#define PICT_b1g2r1 PICT_FORMAT(4,PICT_TYPE_ABGR,0,1,2,1) -#define PICT_a1r1g1b1 PICT_FORMAT(4,PICT_TYPE_ARGB,1,1,1,1) -#define PICT_a1b1g1r1 PICT_FORMAT(4,PICT_TYPE_ABGR,1,1,1,1) + PICT_a4 = PICT_FORMAT(4,PICT_TYPE_A,4,0,0,0), + PICT_r1g2b1 = PICT_FORMAT(4,PICT_TYPE_ARGB,0,1,2,1), + PICT_b1g2r1 = PICT_FORMAT(4,PICT_TYPE_ABGR,0,1,2,1), + PICT_a1r1g1b1 = PICT_FORMAT(4,PICT_TYPE_ARGB,1,1,1,1), + PICT_a1b1g1r1 = PICT_FORMAT(4,PICT_TYPE_ABGR,1,1,1,1), -#define PICT_c4 PICT_FORMAT(4,PICT_TYPE_COLOR,0,0,0,0) -#define PICT_g4 PICT_FORMAT(4,PICT_TYPE_GRAY,0,0,0,0) + PICT_c4 = PICT_FORMAT(4,PICT_TYPE_COLOR,0,0,0,0), + PICT_g4 = PICT_FORMAT(4,PICT_TYPE_GRAY,0,0,0,0), /* 1bpp formats */ -#define PICT_a1 PICT_FORMAT(1,PICT_TYPE_A,1,0,0,0) + PICT_a1 = PICT_FORMAT(1,PICT_TYPE_A,1,0,0,0), -#define PICT_g1 PICT_FORMAT(1,PICT_TYPE_GRAY,0,0,0,0) + PICT_g1 = PICT_FORMAT(1,PICT_TYPE_GRAY,0,0,0,0), +} PictFormatShort; /* * For dynamic indexed visuals (GrayScale and PseudoColor), these control the diff --git a/render/picturestr.h b/render/picturestr.h index e81d769d5..1ea91201e 100644 --- a/render/picturestr.h +++ b/render/picturestr.h @@ -129,7 +129,7 @@ typedef union _SourcePict { typedef struct _Picture { DrawablePtr pDrawable; PictFormatPtr pFormat; - CARD32 format; /* PICT_FORMAT */ + PictFormatShort format; /* PICT_FORMAT */ int refcnt; CARD32 id; PicturePtr pNext; /* chain on same drawable */ From e793f0eeee3e9c83b6a7b50d451fb6db12839087 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Jun 2006 14:06:02 -0700 Subject: [PATCH 19/53] Correct component ordering when fetching [ax]4b4g4r4 pixels. Noticed by: rendercheck --- fb/fbcompose.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/fb/fbcompose.c b/fb/fbcompose.c index c4f979d26..771245ef8 100644 --- a/fb/fbcompose.c +++ b/fb/fbcompose.c @@ -267,11 +267,11 @@ fbFetch_a4b4g4r4 (const FbBits *bits, int x, int width, CARD32 *buffer, miIndexe CARD32 r,g,b, a; a = ((p & 0xf000) | ((p & 0xf000) >> 4)) << 16; - b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) << 12; + b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) >> 4; g = ((p & 0x00f0) | ((p & 0x00f0) >> 4)) << 8; - r = ((p & 0x000f) | ((p & 0x000f) << 4)); + r = ((p & 0x000f) | ((p & 0x000f) << 4)) << 16; *buffer++ = (a | r | g | b); - } + } } static FASTCALL void @@ -283,11 +283,11 @@ fbFetch_x4b4g4r4 (const FbBits *bits, int x, int width, CARD32 *buffer, miIndexe CARD32 p = *pixel++; CARD32 r,g,b; - b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) << 12; + b = ((p & 0x0f00) | ((p & 0x0f00) >> 4)) >> 4; g = ((p & 0x00f0) | ((p & 0x00f0) >> 4)) << 8; - r = ((p & 0x000f) | ((p & 0x000f) << 4)); + r = ((p & 0x000f) | ((p & 0x000f) << 4)) << 16; *buffer++ = (0xff000000 | r | g | b); - } + } } static FASTCALL void @@ -758,9 +758,9 @@ fbFetchPixel_a4b4g4r4 (const FbBits *bits, int offset, miIndexedPtr indexed) CARD32 a,r,g,b; a = ((pixel & 0xf000) | ((pixel & 0xf000) >> 4)) << 16; - b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) << 12; + b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) >> 4; g = ((pixel & 0x00f0) | ((pixel & 0x00f0) >> 4)) << 8; - r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4)); + r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4)) << 16; return (a | r | g | b); } @@ -770,9 +770,9 @@ fbFetchPixel_x4b4g4r4 (const FbBits *bits, int offset, miIndexedPtr indexed) CARD32 pixel = ((CARD16 *) bits)[offset]; CARD32 r,g,b; - b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) << 12; + b = ((pixel & 0x0f00) | ((pixel & 0x0f00) >> 4)) >> 4; g = ((pixel & 0x00f0) | ((pixel & 0x00f0) >> 4)) << 8; - r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4)); + r = ((pixel & 0x000f) | ((pixel & 0x000f) << 4)) << 16; return (0xff000000 | r | g | b); } From 520c80f4b807ae6419e70fe2b524532465b509ac Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Jun 2006 14:40:27 -0700 Subject: [PATCH 20/53] Don't forget to step the rows when verifying the equivalence of fb/sys areas. This is only used by fakexa, but we would have missed some errors without this fix. --- exa/exa_migration.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exa/exa_migration.c b/exa/exa_migration.c index 57d651f80..06a4b9330 100644 --- a/exa/exa_migration.c +++ b/exa/exa_migration.c @@ -435,6 +435,8 @@ exaAssertNotDirty (PixmapPtr pPixmap) if (memcmp(dst, src, data_row_bytes) != 0) { abort(); } + dst += dst_pitch; + src += src_pitch; } exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_SRC); } From 55426650417df4ec22ea0e2a67f6074f0ac1d54e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Jun 2006 15:04:46 -0700 Subject: [PATCH 21/53] Clean up gcc warnings from picture format CARD32 -> enum change. --- fb/fbpict.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/fb/fbpict.c b/fb/fbpict.c index f248fdb84..55fb0a7ba 100644 --- a/fb/fbpict.c +++ b/fb/fbpict.c @@ -925,6 +925,8 @@ fbComposite (CARD8 op, #endif func = fbCompositeSolidMask_nx8x8888; break; + default: + break; } break; case PICT_a8r8g8b8: @@ -947,6 +949,8 @@ fbComposite (CARD8 op, #endif func = fbCompositeSolidMask_nx8888x0565C; break; + default: + break; } } break; @@ -970,6 +974,8 @@ fbComposite (CARD8 op, #endif func = fbCompositeSolidMask_nx8888x0565C; break; + default: + break; } } break; @@ -985,9 +991,15 @@ fbComposite (CARD8 op, case PICT_x8b8g8r8: func = fbCompositeSolidMask_nx1xn; break; + default: + break; } break; + default: + break; } + default: + break; } } else if (! srcRepeat) /* has mask and non-repeating source */ @@ -1016,8 +1028,12 @@ fbComposite (CARD8 op, func = fbCompositeSrc_8888RevNPx0565mmx; #endif break; + default: + break; } break; + default: + break; } break; case PICT_x8r8g8b8: @@ -1038,10 +1054,16 @@ fbComposite (CARD8 op, func = fbCompositeSrc_8888RevNPx0565mmx; #endif break; + default: + break; } break; + default: + break; } break; + default: + break; } break; } @@ -1094,8 +1116,12 @@ fbComposite (CARD8 op, } #endif break; + default: + break; } break; + default: + break; } } else if (! srcRepeat) @@ -1118,6 +1144,8 @@ fbComposite (CARD8 op, case PICT_r5g6b5: func = fbCompositeSrc_8888x0565; break; + default: + break; } break; case PICT_x8r8g8b8: @@ -1129,6 +1157,8 @@ fbComposite (CARD8 op, func = fbCompositeCopyAreammx; #endif break; + default: + break; } case PICT_x8b8g8r8: switch (pDst->format) { @@ -1139,6 +1169,8 @@ fbComposite (CARD8 op, func = fbCompositeCopyAreammx; #endif break; + default: + break; } break; case PICT_a8b8g8r8: @@ -1158,6 +1190,8 @@ fbComposite (CARD8 op, case PICT_b5g6r5: func = fbCompositeSrc_8888x0565; break; + default: + break; } break; case PICT_r5g6b5: @@ -1165,6 +1199,8 @@ fbComposite (CARD8 op, case PICT_r5g6b5: func = fbCompositeSrc_0565x0565; break; + default: + break; } break; case PICT_b5g6r5: @@ -1172,8 +1208,12 @@ fbComposite (CARD8 op, case PICT_b5g6r5: func = fbCompositeSrc_0565x0565; break; + default: + break; } break; + default: + break; } } } @@ -1192,6 +1232,8 @@ fbComposite (CARD8 op, #endif func = fbCompositeSrcAdd_8888x8888; break; + default: + break; } break; case PICT_a8b8g8r8: @@ -1204,6 +1246,8 @@ fbComposite (CARD8 op, #endif func = fbCompositeSrcAdd_8888x8888; break; + default: + break; } break; case PICT_a8: @@ -1216,6 +1260,8 @@ fbComposite (CARD8 op, #endif func = fbCompositeSrcAdd_8000x8000; break; + default: + break; } break; case PICT_a1: @@ -1223,8 +1269,12 @@ fbComposite (CARD8 op, case PICT_a1: func = fbCompositeSrcAdd_1000x1000; break; + default: + break; } break; + default: + break; } } break; From 569c808a2375be71f835ee8693605487484bd22e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 19 Jun 2006 16:42:09 -0700 Subject: [PATCH 22/53] Fix crash when using PICT_x4a4 by supplying an appropriate fbFetchPixel_x4a4. --- fb/fbcompose.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fb/fbcompose.c b/fb/fbcompose.c index 771245ef8..41fff7b8a 100644 --- a/fb/fbcompose.c +++ b/fb/fbcompose.c @@ -849,6 +849,14 @@ fbFetchPixel_c8 (const FbBits *bits, int offset, miIndexedPtr indexed) return indexed->rgba[pixel]; } +static FASTCALL CARD32 +fbFetchPixel_x4a4 (const FbBits *bits, int offset, miIndexedPtr indexed) +{ + CARD32 pixel = ((CARD8 *) bits)[offset]; + + return ((pixel & 0xf) | ((pixel & 0xf) << 4)) << 24; +} + #define Fetch8(l,o) (((CARD8 *) (l))[(o) >> 2]) #if IMAGE_BYTE_ORDER == MSBFirst #define Fetch4(l,o) ((o) & 2 ? Fetch8(l,o) & 0xf : Fetch8(l,o) >> 4) @@ -988,6 +996,7 @@ static fetchPixelProc fetchPixelProcForPicture (PicturePtr pict) case PICT_a2b2g2r2: return fbFetchPixel_a2b2g2r2; case PICT_c8: return fbFetchPixel_c8; case PICT_g8: return fbFetchPixel_c8; + case PICT_x4a4: return fbFetchPixel_x4a4; /* 4bpp formats */ case PICT_a4: return fbFetchPixel_a4; From 98d17bba716619e3402bd74c7c3e1c01d055ef6e Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Mon, 19 Jun 2006 17:07:59 -0700 Subject: [PATCH 23/53] Tell git to ignore emacs *~ droppings and git .msg files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8ae535847..429f677ff 100644 --- a/.gitignore +++ b/.gitignore @@ -2,10 +2,12 @@ Makefile Makefile.in .deps .libs +.msg *.lo *.la *.a *.o +*~ aclocal.m4 autom4te.cache compile From 4365d16c8629e824973ee0c357efdfbfd28b672c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristan=20H=C3=B8gsberg?= Date: Mon, 19 Jun 2006 22:13:22 -0400 Subject: [PATCH 24/53] Pull over convolution filter fixes from xgl-0-0-1 branch. Cherry-picking patches: 8a5ea68800b9d7dca90ff4e573ad8533852f1ea3 and 4d755fe14274a7293748ce9aa666ab85df6297c5 --- fb/fbcompose.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fb/fbcompose.c b/fb/fbcompose.c index 41fff7b8a..6f7e3e6ec 100644 --- a/fb/fbcompose.c +++ b/fb/fbcompose.c @@ -3280,8 +3280,8 @@ static void fbFetchTransformed(PicturePtr pict, int x, int y, int width, CARD32 xFixed *params = pict->filter_params; INT32 cwidth = xFixedToInt(params[0]); INT32 cheight = xFixedToInt(params[1]); - int xoff = params[0] >> 1; - int yoff = params[1] >> 1; + int xoff = (params[0] - xFixed1) >> 1; + int yoff = (params[1] - xFixed1) >> 1; params += 2; for (i = 0; i < width; ++i) { if (!v.vector[2]) { @@ -3325,6 +3325,11 @@ static void fbFetchTransformed(PicturePtr pict, int x, int y, int width, CARD32 } } + satot >>= 16; + srtot >>= 16; + sgtot >>= 16; + sbtot >>= 16; + if (satot < 0) satot = 0; else if (satot > 0xff) satot = 0xff; if (srtot < 0) srtot = 0; else if (srtot > 0xff) srtot = 0xff; if (sgtot < 0) sgtot = 0; else if (sgtot > 0xff) sgtot = 0xff; From 2b58685402e70f123e131fd8146e6083ff5214a4 Mon Sep 17 00:00:00 2001 From: Matthieu Herrb Date: Tue, 20 Jun 2006 21:07:53 +0200 Subject: [PATCH 25/53] Check setuid() return value. Bugzilla #7116. --- hw/xfree86/common/xf86Init.c | 6 +++++- hw/xfree86/os-support/shared/libc_wrapper.c | 5 ++++- hw/xfree86/parser/write.c | 5 ++++- os/utils.c | 20 +++++++++++++------- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index 9bb2bf8b2..3aed36974 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -1896,7 +1896,11 @@ xf86RunVtInit(void) FatalError("xf86RunVtInit: fork failed (%s)\n", strerror(errno)); break; case 0: /* child */ - setuid(getuid()); + if (setuid(getuid()) == -1) { + xf86Msg(X_ERROR, "xf86RunVtInit: setuid failed (%s)\n", + strerror(errno)); + exit(255); + } /* set stdin, stdout to the consoleFd */ for (i = 0; i < 2; i++) { if (xf86Info.consoleFd != i) { diff --git a/hw/xfree86/os-support/shared/libc_wrapper.c b/hw/xfree86/os-support/shared/libc_wrapper.c index fc4edc378..1663893d9 100644 --- a/hw/xfree86/os-support/shared/libc_wrapper.c +++ b/hw/xfree86/os-support/shared/libc_wrapper.c @@ -1270,7 +1270,10 @@ xf86execl(const char *pathname, const char *arg, ...) #ifndef SELF_CONTAINED_WRAPPER xf86DisableIO(); #endif - setuid(getuid()); + if (setuid(getuid()) == -1) { + ErrorF("xf86Execl: setuid() failed: %s\n", strerror(errno)); + exit(255); + } #if !defined(SELF_CONTAINED_WRAPPER) /* set stdin, stdout to the consoleFD, and leave stderr alone */ for (i = 0; i < 2; i++) diff --git a/hw/xfree86/parser/write.c b/hw/xfree86/parser/write.c index 285080d99..82baa5a04 100644 --- a/hw/xfree86/parser/write.c +++ b/hw/xfree86/parser/write.c @@ -170,7 +170,10 @@ xf86writeConfigFile (const char *filename, XF86ConfigPtr cptr) strerror(errno)); return 0; case 0: /* child */ - setuid(getuid()); + if (setuid(getuid() == -1) + FatalError("xf86writeConfigFile(): " + "setuid failed(%s)\n", + strerror(errno)); ret = doWriteConfigFile(filename, cptr); exit(ret); break; diff --git a/os/utils.c b/os/utils.c index 43c6365a4..617d20119 100644 --- a/os/utils.c +++ b/os/utils.c @@ -1,4 +1,4 @@ -/* $XdotOrg: xserver/xorg/os/utils.c,v 1.25 2006/03/25 19:52:05 ajax Exp $ */ +/* $XdotOrg: xserver/xorg/os/utils.c,v 1.26 2006-06-01 22:06:41 daniels Exp $ */ /* $Xorg: utils.c,v 1.5 2001/02/09 02:05:24 xorgcvs Exp $ */ /* @@ -1713,8 +1713,10 @@ System(char *command) case -1: /* error */ p = -1; case 0: /* child */ - setgid(getgid()); - setuid(getuid()); + if (setgid(getgid()) == -1) + _exit(127); + if (setuid(getuid()) == -1) + _exit(127); execl("/bin/sh", "sh", "-c", command, (char *)NULL); _exit(127); default: /* parent */ @@ -1765,8 +1767,10 @@ Popen(char *command, char *type) xfree(cur); return NULL; case 0: /* child */ - setgid(getgid()); - setuid(getuid()); + if (setgid(getgid()) == -1) + _exit(127); + if (setuid(getuid()) == -1) + _exit(127); if (*type == 'r') { if (pdes[1] != 1) { /* stdout */ @@ -1840,8 +1844,10 @@ Fopen(char *file, char *type) xfree(cur); return NULL; case 0: /* child */ - setgid(getgid()); - setuid(getuid()); + if (setgid(getgid()) == -1) + _exit(127); + if (setuid(getuid()) == -1) + _exit(127); if (*type == 'r') { if (pdes[1] != 1) { /* stdout */ From 6df52fb7745c185c0168060f69cc6b4f5315914e Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Tue, 20 Jun 2006 16:02:55 -0700 Subject: [PATCH 26/53] Delete code that's been inside #if 0 since X11R6.7. --- Xext/appgroup.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/Xext/appgroup.c b/Xext/appgroup.c index 86bd36ecd..cf42a7d35 100644 --- a/Xext/appgroup.c +++ b/Xext/appgroup.c @@ -77,10 +77,6 @@ static int ProcXagDispatch(ClientPtr client); static int SProcXagDispatch(ClientPtr client); static void XagResetProc(ExtensionEntry* extEntry); -#if 0 -static unsigned char XagReqCode = 0; -static int XagErrorBase; -#endif static int XagCallbackRefCount = 0; static RESTYPE RT_APPGROUP; @@ -233,19 +229,6 @@ void XagClientStateChange( void XagExtensionInit(INITARGS) { -#if 0 - ExtensionEntry* extEntry; - - if ((extEntry = AddExtension (XAGNAME, - 0, - XagNumberErrors, - ProcXagDispatch, - SProcXagDispatch, - XagResetProc, - StandardMinorOpcode))) { - XagReqCode = (unsigned char)extEntry->base; - XagErrorBase = extEntry->errorBase; -#else if (AddExtension (XAGNAME, 0, XagNumberErrors, @@ -253,7 +236,6 @@ XagExtensionInit(INITARGS) SProcXagDispatch, XagResetProc, StandardMinorOpcode)) { -#endif RT_APPGROUP = CreateNewResourceType (XagAppGroupFree); } } From 481d4012e74d9b0e98911f0ae02700ecf4cfc5ac Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Tue, 20 Jun 2006 16:16:19 -0700 Subject: [PATCH 27/53] Don't add -ldl to XORG_LIBS if it's not needed for dlopen --- configure.ac | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 84c2c7024..d025638a3 100644 --- a/configure.ac +++ b/configure.ac @@ -1030,7 +1030,10 @@ if test "x$XORG" = xyes -o "x$XGL" = xyes; then XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H" XORG_LIBS="$COMPOSITE_LIB $MI_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XPSTUBS_LIB $OS_LIB" - AC_CHECK_LIB([dl], [dlopen], XORG_LIBS="$XORG_LIBS -ldl") +dnl Check to see if dlopen is in default libraries (like Solaris, which +dnl has it in libc), or if libdl is needed to get it. + AC_CHECK_FUNC([dlopen], [], + AC_CHECK_LIB([dl], [dlopen], XORG_LIBS="$XORG_LIBS -ldl")) case $host_os in linux*) From a54435946544a039fc333bb5e3438501d0d1ffc6 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Tue, 20 Jun 2006 18:14:27 -0700 Subject: [PATCH 28/53] Move Xserver API for security extension to securitysrv.h --- Xext/securitysrv.h | 133 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 Xext/securitysrv.h diff --git a/Xext/securitysrv.h b/Xext/securitysrv.h new file mode 100644 index 000000000..596eead0d --- /dev/null +++ b/Xext/securitysrv.h @@ -0,0 +1,133 @@ +/* +Copyright 1996, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +/* Xserver internals for Security extension - moved here from + _SECURITY_SERVER section of */ + +#ifndef _SECURITY_SRV_H +#define _SECURITY_SRV_H + +/* Allow client side portions of to compile */ +#ifndef Status +# define Status int +# define NEED_UNDEF_Status +#endif +#ifndef Display +# define Display void +# define NEED_UNDEF_Display +#endif + +#include + +#ifdef NEED_UNDEF_Status +# undef Status +# undef NEED_UNDEF_Status +#endif +#ifdef NEED_UNDEF_Display +# undef Display +# undef NEED_UNDEF_Display +#endif + + +#include "input.h" /* for DeviceIntPtr */ +#include "property.h" /* for PropertyPtr */ +#include "pixmap.h" /* for DrawablePtr */ +#include "resource.h" /* for RESTYPE */ + +/* resource type to pass in LookupIDByType for authorizations */ +extern RESTYPE SecurityAuthorizationResType; + +/* this is what we store for an authorization */ +typedef struct { + XID id; /* resource ID */ + CARD32 timeout; /* how long to live in seconds after refcnt == 0 */ + unsigned int trustLevel; /* trusted/untrusted */ + XID group; /* see embedding extension */ + unsigned int refcnt; /* how many clients connected with this auth */ + unsigned int secondsRemaining; /* overflow time amount for >49 days */ + OsTimerPtr timer; /* timer for this auth */ + struct _OtherClients *eventClients; /* clients wanting events */ +} SecurityAuthorizationRec, *SecurityAuthorizationPtr; + +/* The following callback is called when a GenerateAuthorization request + * is processed to sanity check the group argument. The call data will + * be a pointer to a SecurityValidateGroupInfoRec (below). + * Functions registered on this callback are expected to examine the + * group and set the valid field to TRUE if they recognize the group as a + * legitimate group. If they don't recognize it, they should not change the + * valid field. + */ +extern CallbackListPtr SecurityValidateGroupCallback; +typedef struct { + XID group; /* the group that was sent in GenerateAuthorization */ + Bool valid; /* did anyone recognize it? if so, set to TRUE */ +} SecurityValidateGroupInfoRec; + +/* Proc vectors for untrusted clients, swapped and unswapped versions. + * These are the same as the normal proc vectors except that extensions + * that haven't declared themselves secure will have ProcBadRequest plugged + * in for their major opcode dispatcher. This prevents untrusted clients + * from guessing extension major opcodes and using the extension even though + * the extension can't be listed or queried. + */ +extern int (*UntrustedProcVector[256])(ClientPtr client); +extern int (*SwappedUntrustedProcVector[256])(ClientPtr client); + +extern Bool SecurityCheckDeviceAccess(ClientPtr client, DeviceIntPtr dev, + Bool fromRequest); + +extern void SecurityAudit(char *format, ...); + +extern int XSecurityOptions(int argc, char **argv, int i); + +/* Give this value or higher to the -audit option to get security messages */ +#define SECURITY_AUDIT_LEVEL 4 + +extern void SecurityCensorImage( + ClientPtr client, + RegionPtr pVisibleRegion, + long widthBytesLine, + DrawablePtr pDraw, + int x, int y, int w, int h, + unsigned int format, + char * pBuf); + +#define SecurityAllowOperation 0 +#define SecurityIgnoreOperation 1 +#define SecurityErrorOperation 2 + +extern char +SecurityCheckPropertyAccess( + ClientPtr client, + WindowPtr pWin, + ATOM propertyName, + Mask access_mode); + +#define SECURITY_POLICY_FILE_VERSION "version-1" + +extern char **SecurityGetSitePolicyStrings(int *n); + +#endif /* _SECURITY_SRV_H */ From d44b2a0a57fb89741173c31676af0ccc822387dc Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Tue, 20 Jun 2006 18:22:51 -0700 Subject: [PATCH 29/53] Move Xserver API for security extension to securitysrv.h --- Xext/appgroup.c | 3 +-- Xext/security.c | 2 +- dix/devices.c | 3 +-- dix/dispatch.c | 3 +-- dix/dixutils.c | 3 +-- dix/events.c | 3 +-- dix/extension.c | 3 +-- dix/property.c | 3 +-- dix/window.c | 3 +-- hw/xwin/winauth.c | 5 ++--- mi/miinitext.c | 2 +- os/access.c | 3 +-- os/auth.c | 3 +-- os/connection.c | 3 +-- os/secauth.c | 3 +-- os/utils.c | 3 +-- 16 files changed, 17 insertions(+), 31 deletions(-) diff --git a/Xext/appgroup.c b/Xext/appgroup.c index cf42a7d35..61c1aa0d5 100644 --- a/Xext/appgroup.c +++ b/Xext/appgroup.c @@ -44,8 +44,7 @@ from The Open Group. #define _XAG_SERVER_ #include #include -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #include #define XSERV_t diff --git a/Xext/security.c b/Xext/security.c index 48a45d0a2..31f2b928b 100644 --- a/Xext/security.c +++ b/Xext/security.c @@ -39,7 +39,7 @@ in this Software without prior written authorization from The Open Group. #include "gcstruct.h" #include "colormapst.h" #include "propertyst.h" -#define _SECURITY_SERVER +#include "securitysrv.h" #include #include #include diff --git a/dix/devices.c b/dix/devices.c index c7d3494e8..40afac96f 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -73,8 +73,7 @@ SOFTWARE. #include #endif #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif #include "dispatch.h" diff --git a/dix/dispatch.c b/dix/dispatch.c index 04e2ba11f..4b4eb2bc5 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -108,8 +108,7 @@ int ProcInitialConnection(); #include "panoramiXsrv.h" #endif #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif #ifdef XAPPGROUP #include diff --git a/dix/dixutils.c b/dix/dixutils.c index 91796eade..8cf9daa67 100644 --- a/dix/dixutils.c +++ b/dix/dixutils.c @@ -98,8 +98,7 @@ Author: Adobe Systems Incorporated #define XK_LATIN1 #include #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif /* diff --git a/dix/events.c b/dix/events.c index b014fdbb7..c67cf8ce4 100644 --- a/dix/events.c +++ b/dix/events.c @@ -139,8 +139,7 @@ extern Bool XkbFilterEvents(ClientPtr, int, xEvent *); #endif #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif #ifdef XEVIE diff --git a/dix/extension.c b/dix/extension.c index f6f38fcf3..fd8727069 100644 --- a/dix/extension.c +++ b/dix/extension.c @@ -62,8 +62,7 @@ SOFTWARE. #include "scrnintstr.h" #include "dispatch.h" #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif #define EXTENSION_BASE 128 diff --git a/dix/property.c b/dix/property.c index e074c68dd..35799f836 100644 --- a/dix/property.c +++ b/dix/property.c @@ -61,8 +61,7 @@ SOFTWARE. #include "dispatch.h" #include "swaprep.h" #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif /***************************************************************** diff --git a/dix/window.c b/dix/window.c index 9fba5f832..2be01df45 100644 --- a/dix/window.c +++ b/dix/window.c @@ -130,8 +130,7 @@ Equipment Corporation. #include #endif #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif /****** diff --git a/hw/xwin/winauth.c b/hw/xwin/winauth.c index 3d24ef426..b57a35abf 100644 --- a/hw/xwin/winauth.c +++ b/hw/xwin/winauth.c @@ -35,9 +35,8 @@ #include "win.h" /* Includes for authorization */ -#include "X11/Xauth.h" -#define _SECURITY_SERVER -#include +#include +#include "securitysrv.h" #include diff --git a/mi/miinitext.c b/mi/miinitext.c index 091ac6b26..51faac935 100644 --- a/mi/miinitext.c +++ b/mi/miinitext.c @@ -244,7 +244,7 @@ typedef void (*InitExtension)(INITARGS); #include #endif #ifdef XCSECURITY -#define _SECURITY_SERVER +#include "securitysrv.h" #include #endif #ifdef PANORAMIX diff --git a/os/access.c b/os/access.c index 62af2f91f..db52aa038 100644 --- a/os/access.c +++ b/os/access.c @@ -203,8 +203,7 @@ SOFTWARE. #include "osdep.h" #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif #ifndef PATH_MAX diff --git a/os/auth.c b/os/auth.c index 19c5534d3..d170ef8d8 100644 --- a/os/auth.c +++ b/os/auth.c @@ -48,8 +48,7 @@ from The Open Group. # include # include #ifdef XCSECURITY -#define _SECURITY_SERVER -# include +# include "securitysrv.h" #endif #ifdef WIN32 #include diff --git a/os/connection.c b/os/connection.c index 21c1ea641..697ff4e74 100644 --- a/os/connection.c +++ b/os/connection.c @@ -151,8 +151,7 @@ extern __const__ int _nfiles; #include #endif #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif #ifdef X_NOT_POSIX diff --git a/os/secauth.c b/os/secauth.c index 1000b4e79..8c8700812 100644 --- a/os/secauth.c +++ b/os/secauth.c @@ -37,8 +37,7 @@ from The Open Group. #include "swaprep.h" #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif static char InvalidPolicyReason[] = "invalid policy specification"; diff --git a/os/utils.c b/os/utils.c index 617d20119..f977b837c 100644 --- a/os/utils.c +++ b/os/utils.c @@ -120,8 +120,7 @@ OR PERFORMANCE OF THIS SOFTWARE. #include #endif #ifdef XCSECURITY -#define _SECURITY_SERVER -#include +#include "securitysrv.h" #endif #ifdef RENDER From ea5e0eabd1303a55d8fc10f44d21a3d371ce8919 Mon Sep 17 00:00:00 2001 From: Matthias Hopf Date: Wed, 21 Jun 2006 17:08:51 +0200 Subject: [PATCH 30/53] Bug 4320: Fastpath corner case improvement for Composite. --- hw/xfree86/xaa/xaaPict.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/xfree86/xaa/xaaPict.c b/hw/xfree86/xaa/xaaPict.c index f7c1f3dd0..a1ff51087 100644 --- a/hw/xfree86/xaa/xaaPict.c +++ b/hw/xfree86/xaa/xaaPict.c @@ -516,7 +516,10 @@ XAAComposite (CARD8 op, (!pSrc->repeat || (xSrc >= 0 && ySrc >= 0 && xSrc+width<=pSrc->pDrawable->width && ySrc+height<=pSrc->pDrawable->height)) && - ((op == PictOpSrc && pSrc->format == pDst->format) || + ((op == PictOpSrc && + ((pSrc->format==pDst->format) || + (pSrc->format==PICT_a8r8g8b8 && pDst->format==PICT_x8r8g8b8) || + (pSrc->format==PICT_a8b8g8r8 && pDst->format==PICT_x8b8g8r8))) || (op == PictOpOver && !pSrc->alphaMap && !pDst->alphaMap && pSrc->format==pDst->format && (pSrc->format==PICT_x8r8g8b8 || pSrc->format==PICT_x8b8g8r8)))) From ed18d776f02e2ab235954501ef64936af9f9d909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 21 Jun 2006 16:22:14 -0400 Subject: [PATCH 31/53] Fix #2488 for fb too: sample pixel center when transforming. --- fb/fbcompose.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/fb/fbcompose.c b/fb/fbcompose.c index 6f7e3e6ec..03adab456 100644 --- a/fb/fbcompose.c +++ b/fb/fbcompose.c @@ -2726,8 +2726,9 @@ static void fbFetchSourcePict(PicturePtr pict, int x, int y, int width, CARD32 * xFixed_32_32 l; xFixed_48_16 dx, dy, a, b, off; - v.vector[0] = IntToxFixed(x); - v.vector[1] = IntToxFixed(y); + /* reference point is the center of the pixel */ + v.vector[0] = IntToxFixed(x) + xFixed1/2; + v.vector[1] = IntToxFixed(y) + xFixed1/2; v.vector[2] = xFixed1; if (pict->transform) { if (!PictureTransformPoint3d (pict->transform, &v)) @@ -2793,8 +2794,9 @@ static void fbFetchSourcePict(PicturePtr pict, int x, int y, int width, CARD32 * if (pict->transform) { PictVector v; - v.vector[0] = IntToxFixed(x); - v.vector[1] = IntToxFixed(y); + /* reference point is the center of the pixel */ + v.vector[0] = IntToxFixed(x) + xFixed1/2; + v.vector[1] = IntToxFixed(y) + xFixed1/2; v.vector[2] = xFixed1; if (!PictureTransformPoint3d (pict->transform, &v)) return; @@ -2914,8 +2916,9 @@ static void fbFetchTransformed(PicturePtr pict, int x, int y, int width, CARD32 dx = pict->pDrawable->x; dy = pict->pDrawable->y; - v.vector[0] = IntToxFixed(x - dx); - v.vector[1] = IntToxFixed(y - dy); + /* reference point is the center of the pixel */ + v.vector[0] = IntToxFixed(x - dx) + xFixed1 / 2; + v.vector[1] = IntToxFixed(y - dy) + xFixed1 / 2; v.vector[2] = xFixed1; /* when using convolution filters one might get here without a transform */ @@ -3020,6 +3023,12 @@ static void fbFetchTransformed(PicturePtr pict, int x, int y, int width, CARD32 } } } else if (pict->filter == PictFilterBilinear) { + /* adjust vector for maximum contribution at 0.5, 0.5 of each texel. */ + v.vector[0] -= v.vector[2] / 2; + v.vector[1] -= v.vector[2] / 2; + unit.vector[0] -= unit.vector[2] / 2; + unit.vector[1] -= unit.vector[2] / 2; + if (pict->repeatType == RepeatNormal) { if (REGION_NUM_RECTS(pict->pCompositeClip) == 1) { for (i = 0; i < width; ++i) { From 865884d050e1778180f7677e15f9ee1625ea4bb2 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 21 Jun 2006 14:16:28 -0700 Subject: [PATCH 32/53] fix compiler warning in dix/xpstubs.c when XPRINT is not defined --- dix/xpstubs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dix/xpstubs.c b/dix/xpstubs.c index 5135cc398..c06a524fa 100644 --- a/dix/xpstubs.c +++ b/dix/xpstubs.c @@ -35,6 +35,9 @@ from The Open Group. #include #ifdef XPRINT #include "DiPrint.h" +#else +extern Bool XpClientIsBitmapClient(ClientPtr client); +extern Bool XpClientIsPrintClient(ClientPtr client, FontPathElementPtr fpe); #endif Bool From 77aa701e898c6525322cc4029d95167dd9f6e618 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 21 Jun 2006 14:16:48 -0700 Subject: [PATCH 33/53] add some function prototypes to hw/xprint/DiPrint.h as they are exported --- hw/xprint/DiPrint.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/xprint/DiPrint.h b/hw/xprint/DiPrint.h index a26477971..6801ce046 100644 --- a/hw/xprint/DiPrint.h +++ b/hw/xprint/DiPrint.h @@ -41,6 +41,7 @@ copyright holders. #ifdef HAVE_DIX_CONFIG_H #include #endif +#include #ifndef _XpDiPrint_H_ #define _XpDiPrint_H_ 1 @@ -74,6 +75,10 @@ extern void PrinterInitGlobals(void); extern void PrinterInitOutput(ScreenInfo *pScreenInfo, int argc, char **argv); +extern Bool XpClientIsPrintClient(ClientPtr client, FontPathElementPtr fpe); + +extern Bool XpClientIsBitmapClient(ClientPtr client); + extern void _XpVoidNoop(void); extern Bool _XpBoolNoop(void); From 40aafaf154ba8a2cba857689d1481be2d4a610c2 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 21 Jun 2006 14:36:09 -0700 Subject: [PATCH 34/53] fix a number of compiler warnings in os/* --- os/access.c | 3 +++ os/io.c | 3 +++ os/utils.c | 3 +++ os/xdmauth.c | 9 ++++++--- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/os/access.c b/os/access.c index db52aa038..5946b166d 100644 --- a/os/access.c +++ b/os/access.c @@ -67,6 +67,9 @@ SOFTWARE. #include #include +#define XSERV_t +#define TRANS_SERVER +#define TRANS_REOPEN #include #include #include diff --git a/os/io.c b/os/io.c index a9527baa3..e95f0e6a8 100644 --- a/os/io.c +++ b/os/io.c @@ -66,6 +66,9 @@ SOFTWARE. #include #endif #include +#define XSERV_t +#define TRANS_SERVER +#define TRANS_REOPEN #include #include #include diff --git a/os/utils.c b/os/utils.c index f977b837c..e41c3664b 100644 --- a/os/utils.c +++ b/os/utils.c @@ -68,6 +68,9 @@ OR PERFORMANCE OF THIS SOFTWARE. #include #include "misc.h" #include +#define XSERV_t +#define TRANS_SERVER +#define TRANS_REOPEN #include #include "input.h" #include "dixfont.h" diff --git a/os/xdmauth.c b/os/xdmauth.c index 774298133..faa2e3799 100644 --- a/os/xdmauth.c +++ b/os/xdmauth.c @@ -41,6 +41,9 @@ from The Open Group. #include #include +#define XSERV_t +#define TRANS_SERVER +#define TRANS_REOPEN #include #include "os.h" #include "osdep.h" @@ -153,9 +156,9 @@ XdmAuthenticationInit (char *cookie, int cookie_len) XdmcpRegisterAuthentication (XdmAuthenticationName, XdmAuthenticationNameLen, (unsigned char *)&rho, sizeof (rho), - XdmAuthenticationValidator, - XdmAuthenticationGenerator, - XdmAuthenticationAddAuth); + (ValidatorFunc)XdmAuthenticationValidator, + (GeneratorFunc)XdmAuthenticationGenerator, + (AddAuthorFunc)XdmAuthenticationAddAuth); } #endif /* XDMCP */ From 77c947b900faf34f425eef1549d8210c475e093b Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Wed, 21 Jun 2006 16:18:41 -0700 Subject: [PATCH 35/53] Move Xserver internal API for appgroup from Xagsrv.h to appgroup.h (Since all use is inside the xserver module, might as well keep the header in the Xserver module instead of in proto/XExt to allow easier synchronization of updates.) --- Xext/appgroup.c | 1 - Xext/appgroup.h | 85 ++++++++++++++++++++++++++++++++++++++++++++++--- Xext/security.c | 2 +- dix/dispatch.c | 2 +- dix/window.c | 2 +- os/connection.c | 2 +- 6 files changed, 85 insertions(+), 9 deletions(-) diff --git a/Xext/appgroup.c b/Xext/appgroup.c index 61c1aa0d5..9de355c59 100644 --- a/Xext/appgroup.c +++ b/Xext/appgroup.c @@ -43,7 +43,6 @@ from The Open Group. #include "servermd.h" #define _XAG_SERVER_ #include -#include #include "securitysrv.h" #include diff --git a/Xext/appgroup.h b/Xext/appgroup.h index 05c9ef124..39087fe8e 100644 --- a/Xext/appgroup.h +++ b/Xext/appgroup.h @@ -1,10 +1,87 @@ -/* $XFree86$ */ +/* +Copyright 1996, 1998 The Open Group -void XagClientStateChange( +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. +*/ + +#ifndef _APPGROUP_SRV_H_ +#define _APPGROUP_SRV_H_ + +#include + +_XFUNCPROTOBEGIN + +extern void XagConnectionInfo( + ClientPtr /* client */, + xConnSetupPrefix** /* conn_prefix */, + char** /* conn_info */, + int* /* num_screens */ +); + +extern VisualID XagRootVisual( + ClientPtr /* client */ +); + +extern Colormap XagDefaultColormap( + ClientPtr /* client */ +); + +extern ClientPtr XagLeader( + ClientPtr /* client */ +); + +extern void XagCallClientStateChange( + ClientPtr /* client */ +); + +extern Bool XagIsControlledRoot ( + ClientPtr /* client */, + WindowPtr /* pParent */ +); + +extern XID XagId ( + ClientPtr /* client */ +); + +extern void XagGetDeltaInfo ( + ClientPtr /* client */, + CARD32* /* buf */ +); + +extern void XagClientStateChange( CallbackListPtr* pcbl, pointer nulldata, pointer calldata); -int ProcXagCreate ( + +extern int ProcXagCreate ( register ClientPtr client); -int ProcXagDestroy( + +extern int ProcXagDestroy( register ClientPtr client); + +_XFUNCPROTOEND + +#endif /* _APPGROUP_SRV_H_ */ + + + diff --git a/Xext/security.c b/Xext/security.c index 31f2b928b..187e80004 100644 --- a/Xext/security.c +++ b/Xext/security.c @@ -44,7 +44,7 @@ in this Software without prior written authorization from The Open Group. #include #include #ifdef XAPPGROUP -#include +#include "appgroup.h" #endif #include /* for file reading operations */ #include /* for XA_STRING */ diff --git a/dix/dispatch.c b/dix/dispatch.c index 4b4eb2bc5..72d49950b 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -111,7 +111,7 @@ int ProcInitialConnection(); #include "securitysrv.h" #endif #ifdef XAPPGROUP -#include +#include "appgroup.h" #endif #ifdef XKB #ifndef XKB_IN_SERVER diff --git a/dix/window.c b/dix/window.c index 2be01df45..1cf14bcf5 100644 --- a/dix/window.c +++ b/dix/window.c @@ -127,7 +127,7 @@ Equipment Corporation. #include "globals.h" #ifdef XAPPGROUP -#include +#include "appgroup.h" #endif #ifdef XCSECURITY #include "securitysrv.h" diff --git a/os/connection.c b/os/connection.c index 697ff4e74..ce765665f 100644 --- a/os/connection.c +++ b/os/connection.c @@ -148,7 +148,7 @@ extern __const__ int _nfiles; #include "opaque.h" #include "dixstruct.h" #ifdef XAPPGROUP -#include +#include "appgroup.h" #endif #ifdef XCSECURITY #include "securitysrv.h" From d8135eb9e414bf6957f64c5102ee0ef7c2404c6f Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 21 Jun 2006 20:49:21 -0400 Subject: [PATCH 36/53] Unbreak unbreaking the loader. Re-add the symbol reference lists so that the linker will include everything it's supposed to. This is a terrible solution, but ld semantics don't let you do anything better. --- hw/xfree86/Makefile.am | 2 +- hw/xfree86/loader/Makefile.am | 9 +- hw/xfree86/loader/dixsym.c | 532 +++++++++++++++ hw/xfree86/loader/extsym.c | 79 +++ hw/xfree86/loader/fontsym.c | 109 +++ hw/xfree86/loader/loader.c | 85 +-- hw/xfree86/loader/misym.c | 219 ++++++ hw/xfree86/loader/sym.h | 27 +- hw/xfree86/loader/xf86sym.c | 1177 +++++++++++++++++++++++++++++++++ 9 files changed, 2139 insertions(+), 100 deletions(-) create mode 100644 hw/xfree86/loader/dixsym.c create mode 100644 hw/xfree86/loader/extsym.c create mode 100644 hw/xfree86/loader/fontsym.c create mode 100644 hw/xfree86/loader/misym.c create mode 100644 hw/xfree86/loader/xf86sym.c diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index ab29d4d6d..b50b6ab07 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -36,12 +36,12 @@ DISTCLEANFILES = osandcommon.c xorg.c XORG_LIBS = \ @XORG_CORE_LIBS@ \ common/libinit.a \ + loader/libloader.a \ libosandcommon.la \ rac/librac.a \ parser/libxf86config.a \ dummylib/libdummy.a \ dixmods/libdixmods.la \ - loader/libloader.a \ @XORG_LIBS@ Xorg_DEPENDENCIES = \ diff --git a/hw/xfree86/loader/Makefile.am b/hw/xfree86/loader/Makefile.am index 502bb5aeb..0cda5c159 100644 --- a/hw/xfree86/loader/Makefile.am +++ b/hw/xfree86/loader/Makefile.am @@ -1,6 +1,8 @@ noinst_LIBRARIES = libloader.a -INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser +INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(srcdir)/../dixmods/extmod \ + -I$(srcdir)/../vbe -I$(top_srcdir)/miext/cw -I$(srcdir)/../int10 \ + -I$(srcdir)/../ddc -I$(srcdir)/../i2c #AM_LDFLAGS = -r AM_CFLAGS = -DIN_LOADER $(XORG_CFLAGS) @SERVER_DEFINES@ @LOADER_DEFINES@ @@ -23,4 +25,9 @@ libloader_a_SOURCES = \ loadfont.c \ dlloader.c \ os.c \ + dixsym.c \ + extsym.c \ + fontsym.c \ + misym.c \ + xf86sym.c \ $(SPARC_SOURCES) diff --git a/hw/xfree86/loader/dixsym.c b/hw/xfree86/loader/dixsym.c new file mode 100644 index 000000000..0e8bb89dd --- /dev/null +++ b/hw/xfree86/loader/dixsym.c @@ -0,0 +1,532 @@ +/* + * Copyright 1995-1998 by Metro Link, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Metro Link, Inc. not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Metro Link, Inc. makes no + * representations about the suitability of this software for any purpose. + * It is provided "as is" without express or implied warranty. + * + * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Copyright (c) 1997-2003 by The XFree86 Project, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the copyright holder(s) + * and author(s) shall not be used in advertising or otherwise to promote + * the sale, use or other dealings in this Software without prior written + * authorization from the copyright holder(s) and author(s). + */ + +#undef DBMALLOC +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "sym.h" +#include "colormap.h" +#include "cursor.h" +#include "cursorstr.h" +#include "dix.h" +#include "dixevents.h" +#include "dixfont.h" +#include "dixstruct.h" +#include "misc.h" +#include "globals.h" +#include "os.h" +#include "osdep.h" +#include "resource.h" +#include "servermd.h" +#include "scrnintstr.h" +#include "windowstr.h" +#include "extension.h" +#define EXTENSION_PROC_ARGS void * +#include "extnsionst.h" +#include "swaprep.h" +#include "swapreq.h" +#include "inputstr.h" +#include +#include "exevents.h" +#include "extinit.h" +#ifdef XV +#include "xvmodproc.h" +#endif +#include "dgaproc.h" +#ifdef RENDER +#include "mipict.h" +#include "renderedge.h" +#endif +#include "selection.h" +#ifdef XKB +#include +extern int XkbDfltRepeatDelay, XkbDfltRepeatInterval; +#endif + +extern Selection *CurrentSelections; +extern int NumCurrentSelections; + +/* DIX things */ + +_X_HIDDEN void *dixLookupTab[] = { + + /* dix */ + /* atom.c */ + SYMFUNC(MakeAtom) + SYMFUNC(ValidAtom) + /* colormap.c */ + SYMFUNC(AllocColor) + SYMFUNC(CreateColormap) + SYMFUNC(FakeAllocColor) + SYMFUNC(FakeFreeColor) + SYMFUNC(FreeColors) + SYMFUNC(StoreColors) + SYMFUNC(TellLostMap) + SYMFUNC(TellGainedMap) + SYMFUNC(QueryColors) + /* cursor.c */ + SYMFUNC(FreeCursor) + /* devices.c */ + SYMFUNC(Ones) + SYMFUNC(InitButtonClassDeviceStruct) + SYMFUNC(InitFocusClassDeviceStruct) + SYMFUNC(InitLedFeedbackClassDeviceStruct) + SYMFUNC(InitPtrFeedbackClassDeviceStruct) + SYMFUNC(InitKbdFeedbackClassDeviceStruct) + SYMFUNC(InitIntegerFeedbackClassDeviceStruct) + SYMFUNC(InitStringFeedbackClassDeviceStruct) + SYMFUNC(InitBellFeedbackClassDeviceStruct) + SYMFUNC(InitValuatorClassDeviceStruct) + SYMFUNC(InitKeyClassDeviceStruct) + SYMFUNC(InitKeyboardDeviceStruct) + SYMFUNC(SendMappingNotify) + SYMFUNC(InitPointerDeviceStruct) + SYMFUNC(LookupKeyboardDevice) + SYMFUNC(LookupPointerDevice) + /* dispatch.c */ + SYMFUNC(SetInputCheck) + SYMFUNC(SendErrorToClient) + SYMFUNC(UpdateCurrentTime) + SYMFUNC(UpdateCurrentTimeIf) + SYMFUNC(ProcBadRequest) + SYMVAR(dispatchException) + SYMVAR(isItTimeToYield) + SYMVAR(ClientStateCallback) + SYMVAR(ServerGrabCallback) + SYMVAR(CurrentSelections) + SYMVAR(NumCurrentSelections) + /* dixfonts.c */ + SYMFUNC(CloseFont) + SYMFUNC(FontToXError) + SYMFUNC(LoadGlyphs) + SYMVAR(fpe_functions) + /* dixutils.c */ + SYMFUNC(AddCallback) + SYMFUNC(ClientSleep) + SYMFUNC(ClientTimeToServerTime) + SYMFUNC(ClientWakeup) + SYMFUNC(CompareTimeStamps) + SYMFUNC(CopyISOLatin1Lowered) + SYMFUNC(DeleteCallback) + SYMFUNC(LookupClient) + SYMFUNC(LookupDrawable) + SYMFUNC(LookupWindow) + SYMFUNC(NoopDDA) + SYMFUNC(QueueWorkProc) + SYMFUNC(RegisterBlockAndWakeupHandlers) + SYMFUNC(RemoveBlockAndWakeupHandlers) +#ifdef XCSECURITY + SYMFUNC(SecurityLookupDrawable) + SYMFUNC(SecurityLookupWindow) +#endif + /* events.c */ + SYMFUNC(CheckCursorConfinement) + SYMFUNC(DeliverEvents) + SYMFUNC(NewCurrentScreen) + SYMFUNC(PointerConfinedToScreen) + SYMFUNC(TryClientEvents) + SYMFUNC(WriteEventsToClient) + SYMFUNC(GetCurrentRootWindow) + SYMFUNC(GetSpritePosition) + SYMFUNC(GetSpriteWindow) + SYMFUNC(GetSpriteCursor) + SYMFUNC(WindowsRestructured) + SYMVAR(DeviceEventCallback) + SYMVAR(EventCallback) + SYMVAR(inputInfo) + SYMFUNC(SetCriticalEvent) +#ifdef PANORAMIX + SYMFUNC(XineramaGetCursorScreen) +#endif + /* property.c */ + SYMFUNC(ChangeWindowProperty) + /* extension.c */ + SYMFUNC(AddExtension) + SYMFUNC(AddExtensionAlias) + SYMFUNC(CheckExtension) + SYMFUNC(DeclareExtensionSecurity) + SYMFUNC(MinorOpcodeOfRequest) + SYMFUNC(StandardMinorOpcode) +#ifdef XEVIE + SYMVAR(xeviehot) + SYMVAR(xeviewin) +#endif + /* gc.c */ + SYMFUNC(CopyGC) + SYMFUNC(CreateGC) + SYMFUNC(CreateScratchGC) + SYMFUNC(ChangeGC) + SYMFUNC(dixChangeGC) + SYMFUNC(DoChangeGC) + SYMFUNC(FreeGC) + SYMFUNC(FreeScratchGC) + SYMFUNC(GetScratchGC) + SYMFUNC(SetClipRects) + SYMFUNC(ValidateGC) + SYMFUNC(VerifyRectOrder) + SYMFUNC(SetDashes) + /* globals.c */ + SYMVAR(ScreenSaverTime) +#ifdef DPMSExtension + SYMVAR(DPMSEnabled) + SYMVAR(DPMSCapableFlag) + SYMVAR(DPMSOffTime) + SYMVAR(DPMSPowerLevel) + SYMVAR(DPMSStandbyTime) + SYMVAR(DPMSSuspendTime) + SYMVAR(DPMSEnabledSwitch) + SYMVAR(DPMSDisabledSwitch) + SYMVAR(defaultDPMSEnabled) +#endif + /* bigreq */ + SYMVAR(maxBigRequestSize) +#ifdef XV + /* XXX These are exported from the DDX, not DIX. */ + SYMVAR(XvScreenInitProc) + SYMVAR(XvGetScreenIndexProc) + SYMVAR(XvGetRTPortProc) + SYMVAR(XvMCScreenInitProc) +#endif + SYMVAR(ScreenSaverBlanking) + SYMVAR(WindowTable) + SYMVAR(clients) + SYMVAR(currentMaxClients) + SYMVAR(currentTime) + SYMVAR(defaultColorVisualClass) + SYMVAR(display) + SYMVAR(globalSerialNumber) + SYMVAR(lastDeviceEventTime) + SYMVAR(monitorResolution) + SYMVAR(permitOldBugs) + SYMVAR(screenInfo) + SYMVAR(serverClient) + SYMVAR(serverGeneration) + /* main.c */ + SYMFUNC(NotImplemented) + SYMVAR(PixmapWidthPaddingInfo) + /* pixmap.c */ + SYMFUNC(AllocatePixmap) + SYMFUNC(GetScratchPixmapHeader) + SYMFUNC(FreeScratchPixmapHeader) + /* privates.c */ + SYMFUNC(AllocateClientPrivate) + SYMFUNC(AllocateClientPrivateIndex) + SYMFUNC(AllocateGCPrivate) + SYMFUNC(AllocateGCPrivateIndex) + SYMFUNC(AllocateWindowPrivate) + SYMFUNC(AllocateWindowPrivateIndex) + SYMFUNC(AllocateScreenPrivateIndex) + SYMFUNC(AllocateColormapPrivateIndex) + SYMFUNC(AllocateDevicePrivateIndex) + SYMFUNC(AllocateDevicePrivate) +#ifdef PIXPRIV + SYMFUNC(AllocatePixmapPrivateIndex) + SYMFUNC(AllocatePixmapPrivate) +#endif + /* resource.c */ + SYMFUNC(AddResource) + SYMFUNC(ChangeResourceValue) + SYMFUNC(CreateNewResourceClass) + SYMFUNC(CreateNewResourceType) + SYMFUNC(FakeClientID) + SYMFUNC(FreeResource) + SYMFUNC(FreeResourceByType) + SYMFUNC(GetXIDList) + SYMFUNC(GetXIDRange) + SYMFUNC(LookupIDByType) + SYMFUNC(LookupIDByClass) + SYMFUNC(LegalNewID) +#ifdef XCSECURITY + SYMFUNC(SecurityLookupIDByClass) + SYMFUNC(SecurityLookupIDByType) +#endif + SYMFUNC(FindClientResourcesByType) + SYMFUNC(FindAllClientResources) + SYMVAR(lastResourceType) + SYMVAR(TypeMask) +#ifdef RES + SYMFUNC(RegisterResourceName) + SYMVAR(ResourceNames) +#endif + /* swaprep.c */ + SYMFUNC(CopySwap32Write) + SYMFUNC(Swap32Write) + SYMFUNC(SwapConnSetupInfo) + SYMFUNC(SwapConnSetupPrefix) + /* swapreq.c */ + SYMFUNC(SwapShorts) + SYMFUNC(SwapLongs) + SYMFUNC(SwapColorItem) + /* tables.c */ + SYMVAR(EventSwapVector) + SYMVAR(ReplySwapVector) + SYMVAR(ProcVector) + /* window.c */ + SYMFUNC(ChangeWindowAttributes) + SYMFUNC(CheckWindowOptionalNeed) + SYMFUNC(CreateUnclippedWinSize) + SYMFUNC(CreateWindow) + SYMFUNC(FindWindowWithOptional) + SYMFUNC(GravityTranslate) + SYMFUNC(MakeWindowOptional) + SYMFUNC(MapWindow) + SYMFUNC(MoveWindowInStack) + SYMFUNC(NotClippedByChildren) + SYMFUNC(ResizeChildrenWinSize) + SYMFUNC(SaveScreens) + SYMFUNC(SendVisibilityNotify) + SYMFUNC(SetWinSize) + SYMFUNC(SetBorderSize) + SYMFUNC(TraverseTree) + SYMFUNC(UnmapWindow) + SYMFUNC(WalkTree) + SYMVAR(deltaSaveUndersViewable) + SYMVAR(numSaveUndersViewable) + SYMVAR(savedScreenInfo) + SYMVAR(screenIsSaved) + + /*os/ */ + /* access.c */ + SYMFUNC(LocalClient) + /* utils.c */ + SYMFUNC(Xstrdup) + SYMFUNC(XNFstrdup) + SYMVAR(Must_have_memory) + SYMFUNC(AdjustWaitForDelay) + SYMVAR(noTestExtensions) + SYMFUNC(GiveUp) + +#ifdef BIGREQS + SYMVAR(noBigReqExtension) +#endif +#ifdef COMPOSITE + SYMVAR(noCompositeExtension) +#endif +#ifdef DAMAGE + SYMVAR(noDamageExtension) +#endif +#ifdef DBE + SYMVAR(noDbeExtension) +#endif +#ifdef DPMSExtension + SYMVAR(noDPMSExtension) +#endif +#ifdef EVI + SYMVAR(noEVIExtension) +#endif +#ifdef FONTCACHE + SYMVAR(noFontCacheExtension) +#endif +#ifdef GLXEXT + SYMVAR(noGlxExtension) +#endif +#ifdef SCREENSAVER + SYMVAR(noScreenSaverExtension) +#endif +#ifdef MITSHM + SYMVAR(noMITShmExtension) +#endif +#ifdef MITMISC + SYMVAR(noMITMiscExtension) +#endif +#ifdef MULTIBUFFER + SYMVAR(noMultibufferExtension) +#endif +#ifdef RANDR + SYMVAR(noRRExtension) +#endif +#ifdef RENDER + SYMVAR(noRenderExtension) +#endif +#ifdef SHAPE + SYMVAR(noShapeExtension) +#endif +#ifdef XCSECURITY + SYMVAR(noSecurityExtension) +#endif +#ifdef XSYNC + SYMVAR(noSyncExtension) +#endif +#ifdef TOGCUP + SYMVAR(noXcupExtension) +#endif +#ifdef RES + SYMVAR(noResExtension) +#endif +#ifdef XAPPGROUP + SYMVAR(noXagExtension) +#endif +#ifdef XCMISC + SYMVAR(noXCMiscExtension) +#endif +#ifdef XEVIE + SYMVAR(noXevieExtension) +#endif +#ifdef XF86BIGFONT + SYMVAR(noXFree86BigfontExtension) +#endif +#ifdef XFreeXDGA + SYMVAR(noXFree86DGAExtension) +#endif +#ifdef XF86DRI + SYMVAR(noXFree86DRIExtension) +#endif +#ifdef XF86MISC + SYMVAR(noXFree86MiscExtension) +#endif +#ifdef XF86VIDMODE + SYMVAR(noXFree86VidModeExtension) +#endif +#ifdef XFIXES + SYMVAR(noXFixesExtension) +#endif +#ifdef XKB +/* |noXkbExtension| is defined in xc/programs/Xserver/xkb/xkbInit.c */ + SYMVAR(noXkbExtension) +#endif +#ifdef PANORAMIX + SYMVAR(noPanoramiXExtension) +#endif +#ifdef XINPUT + SYMVAR(noXInputExtension) +#endif +#ifdef XIDLE + SYMVAR(noXIdleExtension) +#endif +#ifdef XV + SYMVAR(noXvExtension) +#endif + + /* log.c */ + SYMFUNC(LogVWrite) + SYMFUNC(LogWrite) + SYMFUNC(LogVMessageVerb) + SYMFUNC(LogMessageVerb) + SYMFUNC(LogMessage) + SYMFUNC(FatalError) + SYMFUNC(VErrorF) + SYMFUNC(ErrorF) + SYMFUNC(Error) + /* xalloc.c */ + SYMFUNC(XNFalloc) + SYMFUNC(XNFcalloc) + SYMFUNC(XNFrealloc) + SYMFUNC(Xalloc) + SYMFUNC(Xcalloc) + SYMFUNC(Xfree) + SYMFUNC(Xrealloc) + /* WaitFor.c */ + SYMFUNC(TimerFree) + SYMFUNC(TimerSet) + SYMFUNC(TimerCancel) + /* io.c */ + SYMFUNC(WriteToClient) + SYMFUNC(SetCriticalOutputPending) + SYMVAR(FlushCallback) + SYMVAR(ReplyCallback) + SYMVAR(SkippedRequestsCallback) + SYMFUNC(ResetCurrentRequest) + /* connection.c */ + SYMFUNC(IgnoreClient) + SYMFUNC(AttendClient) + SYMFUNC(AddEnabledDevice) + SYMFUNC(RemoveEnabledDevice) + SYMFUNC(MakeClientGrabPervious) + SYMFUNC(MakeClientGrabImpervious) + SYMVAR(GrabInProgress) + +#ifdef XKB + /* xkb/xkbInit.c */ + SYMFUNC(XkbInitKeyboardDeviceStruct) + SYMFUNC(XkbSetRulesDflts) + SYMVAR(XkbDfltRepeatDelay) + SYMVAR(XkbDfltRepeatInterval) +#endif + +#ifdef XINPUT + /* Xi */ + /* exevents.c */ + SYMFUNC(InitValuatorAxisStruct) + SYMFUNC(InitProximityClassDeviceStruct) + /* extinit.c */ + SYMFUNC(AssignTypeAndName) +#endif + + /* xf86DGA.c */ + /* XXX This is exported from the DDX, not DIX. */ + SYMVAR(XDGAEventBase) + + /* librender.a */ +#ifdef RENDER + /* picture.c */ + SYMFUNC(PictureInit) + SYMFUNC(PictureTransformPoint) + SYMFUNC(PictureTransformPoint3d) + SYMFUNC(PictureGetSubpixelOrder) + SYMFUNC(PictureSetSubpixelOrder) + SYMVAR(PictureScreenPrivateIndex) + /* mipict.c */ + SYMFUNC(miPictureInit) + SYMFUNC(miComputeCompositeRegion) + /* miglyph.c */ + SYMFUNC(miGlyphs) + /* mirect.c */ + SYMFUNC(miCompositeRects) + /* filter.c */ + SYMFUNC(PictureAddFilter) + SYMFUNC(PictureSetFilterAlias) + /* renderedge.c */ + SYMFUNC(RenderSampleCeilY) + SYMFUNC(RenderSampleFloorY) + SYMFUNC(RenderEdgeStep) + SYMFUNC(RenderEdgeInit) + SYMFUNC(RenderLineFixedEdgeInit) +#endif +}; diff --git a/hw/xfree86/loader/extsym.c b/hw/xfree86/loader/extsym.c new file mode 100644 index 000000000..e09e9c084 --- /dev/null +++ b/hw/xfree86/loader/extsym.c @@ -0,0 +1,79 @@ +/* + * + * Copyright 1999-2003 by The XFree86 Project, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of The XFree86 Project, Inc. not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. The XFree86 Project, Inc. makes no + * representations about the suitability of this software for any purpose. + * It is provided "as is" without express or implied warranty. + * + * THE XFREE86 PROJECT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL THE XFREE86 PROJECT, INC. BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "resource.h" +#include "sym.h" +#include "misc.h" +#ifdef PANORAMIX +#include "panoramiX.h" +#endif +#include "sleepuntil.h" + +#ifdef HAS_SHM +extern int ShmCompletionCode; +extern int BadShmSegCode; +extern RESTYPE ShmSegType, ShmPixType; +#endif + +#ifdef PANORAMIX +extern Bool noPanoramiXExtension; +extern int PanoramiXNumScreens; +extern PanoramiXData *panoramiXdataPtr; +extern XID *PanoramiXVisualTable; +extern unsigned long XRT_WINDOW; +extern unsigned long XRT_PIXMAP; +extern unsigned long XRT_GC; +extern unsigned long XRT_COLORMAP; +extern unsigned long XRC_DRAWABLE; +extern Bool XineramaRegisterConnectionBlockCallback(void (*func) (void)); +extern int XineramaDeleteResource(pointer, XID); +#endif + +_X_HIDDEN void *extLookupTab[] = { + + SYMFUNC(ClientSleepUntil) + +#ifdef HAS_SHM + SYMVAR(ShmCompletionCode) + SYMVAR(BadShmSegCode) + SYMVAR(ShmSegType) +#endif + +#ifdef PANORAMIX + SYMFUNC(XineramaRegisterConnectionBlockCallback) + SYMFUNC(XineramaDeleteResource) + SYMVAR(PanoramiXNumScreens) + SYMVAR(panoramiXdataPtr) + SYMVAR(PanoramiXVisualTable) + SYMVAR(XRT_WINDOW) + SYMVAR(XRT_PIXMAP) + SYMVAR(XRT_GC) + SYMVAR(XRT_COLORMAP) + SYMVAR(XRC_DRAWABLE) +#endif +}; diff --git a/hw/xfree86/loader/fontsym.c b/hw/xfree86/loader/fontsym.c new file mode 100644 index 000000000..82d4b1cf8 --- /dev/null +++ b/hw/xfree86/loader/fontsym.c @@ -0,0 +1,109 @@ +/* + * Copyright (c) 1998-2002 by The XFree86 Project, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the copyright holder(s) + * and author(s) shall not be used in advertising or otherwise to promote + * the sale, use or other dealings in this Software without prior written + * authorization from the copyright holder(s) and author(s). + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include +#include "sym.h" +#include +#include +#ifdef FONTENC_COMPATIBILITY +#include +#endif +#include +#include +#include +#include +#ifdef FONTCACHE +#define _FONTCACHE_SERVER_ +#include "fontcache.h" +#endif + +_X_HIDDEN void *fontLookupTab[] = { + + SYMFUNC(TwoByteSwap) + SYMFUNC(FourByteSwap) + SYMFUNC(FontCouldBeTerminal) + SYMFUNC(BufFileRead) + SYMFUNC(BufFileWrite) + SYMFUNC(CheckFSFormat) + SYMFUNC(FontFileOpen) + SYMFUNC(FontFilePriorityRegisterRenderer) + SYMFUNC(FontFileRegisterRenderer) + SYMFUNC(FontParseXLFDName) + SYMFUNC(FontFileCloseFont) + SYMFUNC(FontFileOpenBitmap) + SYMFUNC(FontFileCompleteXLFD) + SYMFUNC(FontFileCountDashes) + SYMFUNC(FontFileFindNameInDir) + SYMFUNC(FontFileClose) + SYMFUNC(FontComputeInfoAccelerators) + SYMFUNC(FontDefaultFormat) + SYMFUNC(NameForAtom) + SYMFUNC(BitOrderInvert) + SYMFUNC(FontFileMatchRenderer) + SYMFUNC(RepadBitmap) + SYMFUNC(FontEncName) + SYMFUNC(FontEncRecode) + SYMFUNC(FontEncFind) + SYMFUNC(FontMapFind) + SYMFUNC(FontEncMapFind) + SYMFUNC(FontEncFromXLFD) + SYMFUNC(FontEncDirectory) + SYMFUNC(FontMapReverse) + SYMFUNC(FontMapReverseFree) + SYMFUNC(CreateFontRec) + SYMFUNC(DestroyFontRec) + SYMFUNC(GetGlyphs) + SYMFUNC(QueryGlyphExtents) + + SYMVAR(FontFileBitmapSources) + +#ifdef FONTENC_COMPATIBILITY + /* Obsolete backwards compatibility symbols -- fontencc.c */ + SYMFUNC(font_encoding_from_xlfd) + SYMFUNC(font_encoding_find) + SYMFUNC(font_encoding_recode) + SYMFUNC(font_encoding_name) + SYMFUNC(identifyEncodingFile) +#endif + +#ifdef FONTCACHE + /* fontcache.c */ + SYMFUNC(FontCacheGetSettings) + SYMFUNC(FontCacheGetStatistics) + SYMFUNC(FontCacheChangeSettings) + SYMFUNC(FontCacheOpenCache) + SYMFUNC(FontCacheCloseCache) + SYMFUNC(FontCacheSearchEntry) + SYMFUNC(FontCacheGetEntry) + SYMFUNC(FontCacheInsertEntry) + SYMFUNC(FontCacheGetBitmap) +#endif +}; diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c index da70b022a..a5c5b2c8e 100644 --- a/hw/xfree86/loader/loader.c +++ b/hw/xfree86/loader/loader.c @@ -73,8 +73,8 @@ #include "loaderProcs.h" #include "xf86.h" #include "xf86Priv.h" - #include "compiler.h" +#include "sym.h" #if defined(Lynx) && defined(sun) /* Cross build machine doesn;t have strerror() */ @@ -91,85 +91,6 @@ static char freeHandles[MAX_HANDLE]; static int refCount[MAX_HANDLE]; -#if defined(__sparc__) && defined(__GNUC__) && !defined(__FreeBSD__) -# define SYMFUNCDOT(func) { "." #func, (funcptr)&__sparc_dot_ ## func }, -# if !defined(__OpenBSD__) -# define SYMFUNCDOT89(func) { "." #func, (funcptr)&func ## _sparcv89 }, -# define DEFFUNCDOT(func) \ -extern void __sparc_dot_ ## func (void) __asm__ ("." #func); \ -extern void func ## _sparcv89 (void); -# else -# define SYMFUNCDOT(func) { "." #func, (funcptr)&__sparc_dot_ ## func }, -# define DEFFUNCDOT(func) \ -extern void __sparc_dot_ ## func (void) __asm__ ("." #func); -#endif -DEFFUNCDOT(rem) -DEFFUNCDOT(urem) -DEFFUNCDOT(mul) -DEFFUNCDOT(umul) -DEFFUNCDOT(div) -DEFFUNCDOT(udiv) - -#ifdef linux -#if defined(__GNUC__) && defined(__GLIBC__) -#define HWCAP_SPARC_MULDIV 8 -extern unsigned long int _dl_hwcap; -#endif - -static int -sparcUseHWMulDiv(void) -{ - FILE *f; - char buffer[1024]; - char *p; - -#if defined(__GNUC__) && defined(__GLIBC__) - unsigned long *hwcap; - - __asm(".weak _dl_hwcap"); - - hwcap = &_dl_hwcap; - __asm("": "=r"(hwcap):"0"(hwcap)); - if (hwcap) { - if (*hwcap & HWCAP_SPARC_MULDIV) - return 1; - else - return 0; - } -#endif - f = fopen("/proc/cpuinfo", "r"); - if (!f) - return 0; - while (fgets(buffer, 1024, f) != NULL) { - if (!strncmp(buffer, "type", 4)) { - p = strstr(buffer, "sun4"); - if (p && (p[4] == 'u' || p[4] == 'd')) { - fclose(f); - return 1; - } else if (p && p[4] == 'm') { - fclose(f); - f = fopen("/proc/cpuinfo","r"); - if (!f) return 0; - while (fgets(buffer, 1024, f) != NULL) { - if (!strncmp (buffer, "MMU type", 8)) { - p = strstr (buffer, "Cypress"); - if (p) { - fclose(f); - return 1; - } - } - } - fclose(f); - return 0; - } - } - } - fclose(f); - return 0; -} -#endif -#endif - /* * modules are used to identify compilation units (ie object modules). * Archives contain multiple modules, each of which is treated seperately. @@ -206,6 +127,10 @@ LoaderInit(void) xf86Msg(X_ERROR, "LD_BIND_NOW is set, dlloader will NOT work!\n"); } + xf86MsgVerb(X_INFO, 2, "Loader magic: %p\n", (void *) + ((long)dixLookupTab ^ (long)extLookupTab + ^ (long)fontLookupTab ^ (long)miLookupTab + ^ (long)xfree86LookupTab)); xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n"); xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC, GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion), diff --git a/hw/xfree86/loader/misym.c b/hw/xfree86/loader/misym.c new file mode 100644 index 000000000..3f959faa2 --- /dev/null +++ b/hw/xfree86/loader/misym.c @@ -0,0 +1,219 @@ +/* + * + * Copyright 1995,96 by Metro Link, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Metro Link, Inc. not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Metro Link, Inc. makes no + * representations about the suitability of this software for any purpose. + * It is provided "as is" without express or implied warranty. + * + * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Copyright (c) 1997-2003 by The XFree86 Project, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the copyright holder(s) + * and author(s) shall not be used in advertising or otherwise to promote + * the sale, use or other dealings in this Software without prior written + * authorization from the copyright holder(s) and author(s). + */ + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "sym.h" +#include "misc.h" +#include "mi.h" +#include "mibank.h" +#include "miwideline.h" +#include "mibstore.h" +#include "cursor.h" +#include "mipointer.h" +#include "migc.h" +#include "miline.h" +#include "mizerarc.h" +#include "mifillarc.h" +#include "micmap.h" +#include "mioverlay.h" +#ifdef PANORAMIX +#include "resource.h" +#include "panoramiX.h" +#endif +#ifdef RENDER +#include "mipict.h" +#endif +#ifdef COMPOSITE +#include "cw.h" +#endif +#ifdef DAMAGE +#include "damage.h" +#endif + +/* mi things */ + +extern miPointerSpriteFuncRec miSpritePointerFuncs; + +_X_HIDDEN void *miLookupTab[] = { + SYMFUNC(miClearToBackground) + SYMFUNC(miSendGraphicsExpose) + SYMFUNC(miModifyPixmapHeader) + SYMFUNC(miHandleValidateExposures) + SYMFUNC(miSetShape) + SYMFUNC(miChangeBorderWidth) + SYMFUNC(miShapedWindowIn) + SYMFUNC(miRectIn) + SYMFUNC(miZeroClipLine) + SYMFUNC(miZeroDashLine) + SYMFUNC(miClearDrawable) + SYMFUNC(miPolyPoint) + SYMFUNC(miStepDash) + SYMFUNC(miIntersect) + SYMFUNC(miRegionAppend) + SYMFUNC(miRegionCopy) + SYMFUNC(miRegionDestroy) + SYMFUNC(miRegionEmpty) + SYMFUNC(miRegionExtents) + SYMFUNC(miRegionInit) + SYMFUNC(miRegionNotEmpty) + SYMFUNC(miRegionEqual) + SYMFUNC(miRegionReset) + SYMFUNC(miRegionUninit) + SYMFUNC(miRegionValidate) + SYMFUNC(miTranslateRegion) + SYMFUNC(miHandleExposures) + SYMFUNC(miPolyFillRect) + SYMFUNC(miPolyFillArc) + SYMFUNC(miImageGlyphBlt) + SYMFUNC(miPolyGlyphBlt) + SYMFUNC(miFillPolygon) + SYMFUNC(miFillConvexPoly) + SYMFUNC(miPolySegment) + SYMFUNC(miZeroLine) + SYMFUNC(miWideLine) + SYMFUNC(miWideDash) + SYMFUNC(miZeroPolyArc) + SYMFUNC(miPolyArc) + SYMFUNC(miCreateGCOps) + SYMFUNC(miDestroyGCOps) + SYMFUNC(miComputeCompositeClip) + SYMFUNC(miChangeGC) + SYMFUNC(miCopyGC) + SYMFUNC(miDestroyGC) + SYMFUNC(miChangeClip) + SYMFUNC(miDestroyClip) + SYMFUNC(miCopyClip) + SYMFUNC(miPolyRectangle) + SYMFUNC(miPolyText8) + SYMFUNC(miPolyText16) + SYMFUNC(miImageText8) + SYMFUNC(miImageText16) + SYMFUNC(miRegionCreate) + SYMFUNC(miPaintWindow) + SYMFUNC(miZeroArcSetup) + SYMFUNC(miFillArcSetup) + SYMFUNC(miFillArcSliceSetup) + SYMFUNC(miFindMaxBand) + SYMFUNC(miClipSpans) + SYMFUNC(miAllocateGCPrivateIndex) + SYMFUNC(miScreenInit) + SYMFUNC(miGetScreenPixmap) + SYMFUNC(miSetScreenPixmap) + SYMFUNC(miPointerCurrentScreen) + SYMFUNC(miRectAlloc) + SYMFUNC(miInitializeBackingStore) + SYMFUNC(miInitializeBanking) + SYMFUNC(miModifyBanking) + SYMFUNC(miCopyPlane) + SYMFUNC(miCopyArea) + SYMFUNC(miCreateScreenResources) + SYMFUNC(miGetImage) + SYMFUNC(miPutImage) + SYMFUNC(miPushPixels) + SYMFUNC(miPointerInitialize) + SYMFUNC(miPointerPosition) + SYMFUNC(miRecolorCursor) + SYMFUNC(miPointerWarpCursor) + SYMFUNC(miDCInitialize) + SYMFUNC(miRectsToRegion) + SYMFUNC(miPointInRegion) + SYMFUNC(miInverse) + SYMFUNC(miSubtract) + SYMFUNC(miUnion) + SYMFUNC(miPolyBuildEdge) + SYMFUNC(miPolyBuildPoly) + SYMFUNC(miRoundJoinClip) + SYMFUNC(miRoundCapClip) + SYMFUNC(miSetZeroLineBias) + SYMFUNC(miResolveColor) + SYMFUNC(miInitializeColormap) + SYMFUNC(miInstallColormap) + SYMFUNC(miUninstallColormap) + SYMFUNC(miListInstalledColormaps) + SYMFUNC(miExpandDirectColors) + SYMFUNC(miCreateDefColormap) + SYMFUNC(miClearVisualTypes) + SYMFUNC(miSetVisualTypes) + SYMFUNC(miSetVisualTypesAndMasks) + SYMFUNC(miGetDefaultVisualMask) + SYMFUNC(miSetPixmapDepths) + SYMFUNC(miInitVisuals) + SYMFUNC(miWindowExposures) + SYMFUNC(miSegregateChildren) + SYMFUNC(miHookInitVisuals) + SYMFUNC(miPointerAbsoluteCursor) + SYMFUNC(miPointerGetMotionEvents) + SYMFUNC(miPointerGetMotionBufferSize) + SYMFUNC(miOverlayCopyUnderlay) + SYMFUNC(miOverlaySetTransFunction) + SYMFUNC(miOverlayCollectUnderlayRegions) + SYMFUNC(miInitOverlay) + SYMFUNC(miOverlayComputeCompositeClip) + SYMFUNC(miOverlayGetPrivateClips) + SYMFUNC(miOverlaySetRootClip) + SYMVAR(miEmptyBox) + SYMVAR(miEmptyData) + SYMVAR(miZeroLineScreenIndex) + SYMVAR(miSpritePointerFuncs) + SYMVAR(miPointerScreenIndex) + SYMVAR(miInstalledMaps) + SYMVAR(miInitVisualsProc) +#ifdef RENDER + SYMFUNC(miGlyphExtents) +#endif +#ifdef COMPOSITE + SYMFUNC(miDisableCompositeWrapper) +#endif +#ifdef DAMAGE + SYMFUNC(DamageDamageRegion) +#endif +}; diff --git a/hw/xfree86/loader/sym.h b/hw/xfree86/loader/sym.h index 5b34718d6..e708a92f9 100644 --- a/hw/xfree86/loader/sym.h +++ b/hw/xfree86/loader/sym.h @@ -1,7 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/sym.h,v 1.6 2000/10/24 00:06:55 anderson Exp $ */ - /* - * * Copyright 1995,96 by Metro Link, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -30,21 +27,15 @@ #ifndef _SYM_H #define _SYM_H -/* - * This structure is used to pass in symbol information that is being - * added to the symbol table. - */ +extern void *dixLookupTab[]; +extern void *extLookupTab[]; +extern void *fontLookupTab[]; +extern void *miLookupTab[]; +extern void *xfree86LookupTab[]; -typedef void (*funcptr) (void); - -typedef struct { - char *symName; - funcptr offset; -} LOOKUP; - -#define SYMFUNC( func ) { #func, (funcptr)&func }, -#define SYMFUNCALIAS( name, func ) { name, (funcptr)&func }, -#define SYMVAR( var ) { #var, (funcptr)&var }, -#define SYMVARALIAS( name, var ) { name, (funcptr)&var }, +#define SYMFUNC( func ) &func, +#define SYMFUNCALIAS( name, func ) &func, +#define SYMVAR( var ) &var, +#define SYMVARALIAS( name, var ) &var, #endif /* _SYM_H */ diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c new file mode 100644 index 000000000..ad4f77353 --- /dev/null +++ b/hw/xfree86/loader/xf86sym.c @@ -0,0 +1,1177 @@ +/* + * Copyright 1995,96 by Metro Link, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Metro Link, Inc. not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Metro Link, Inc. makes no + * representations about the suitability of this software for any purpose. + * It is provided "as is" without express or implied warranty. + * + * METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Copyright (c) 1997-2003 by The XFree86 Project, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the copyright holder(s) + * and author(s) shall not be used in advertising or otherwise to promote + * the sale, use or other dealings in this Software without prior written + * authorization from the copyright holder(s) and author(s). + */ + +#define INCLUDE_DEPRECATED 1 + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include +#include +#include "sym.h" +#include "misc.h" +#include "mi.h" +#include "cursor.h" +#include "mipointer.h" +#include "loaderProcs.h" +#include "xf86Pci.h" +#include "xf86.h" +#include "xf86Resources.h" +#include "xf86_OSproc.h" +#include "xf86Parser.h" +#include "xf86Config.h" +#ifdef XINPUT +# include "xf86Xinput.h" +#endif +#include "xf86OSmouse.h" +#include "xf86OSKbd.h" +#include "xf86xv.h" +#include "xf86xvmc.h" +#include "xf86cmap.h" +#include "xf86fbman.h" +#include "dgaproc.h" +#ifdef DPMSExtension +#include "dpmsproc.h" +#endif +#include "vidmodeproc.h" +#include "xf86miscproc.h" +#include "loader.h" +#define DONT_DEFINE_WRAPPERS +#include "xf86_ansic.h" +#include "xisb.h" +#include "vbe.h" +#ifndef __OpenBSD__ +#include "xf86sbusBus.h" +#endif +#include "compiler.h" + +#ifndef HAS_GLIBC_SIGSETJMP +#if defined(setjmp) && defined(__GNU_LIBRARY__) && \ + (!defined(__GLIBC__) || (__GLIBC__ < 2) || \ + ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 3))) +#define HAS_GLIBC_SIGSETJMP 1 +#endif +#endif + +#if defined(__alpha__) +# ifdef linux +extern unsigned long _bus_base(void); +extern void _outb(char val, unsigned short port); +extern void _outw(short val, unsigned short port); +extern void _outl(int val, unsigned short port); +extern unsigned int _inb(unsigned short port); +extern unsigned int _inw(unsigned short port); +extern unsigned int _inl(unsigned short port); +# endif + +# ifdef __FreeBSD__ +# include +extern void outb(u_int32_t port, u_int8_t val); +extern void outw(u_int32_t port, u_int16_t val); +extern void outl(u_int32_t port, u_int32_t val); +extern u_int8_t inb(u_int32_t port); +extern u_int16_t inw(u_int32_t port); +extern u_int32_t inl(u_int32_t port); +# endif + +extern void *__divl(long, long); +extern void *__reml(long, long); +extern void *__divlu(long, long); +extern void *__remlu(long, long); +extern void *__divq(long, long); +extern void *__divqu(long, long); +extern void *__remq(long, long); +extern void *__remqu(long, long); +#endif + +#if defined(__sparc__) && defined(__FreeBSD__) +extern float _Qp_qtos(unsigned int *); +extern double _Qp_qtod(unsigned int *); +extern unsigned long long _Qp_qtoux(unsigned int *); +extern void _Qp_dtoq(unsigned int *, double); +extern void _Qp_uitoq(unsigned int *, unsigned int); +#endif + +#if defined(__GNUC__) +#ifndef __UNIXOS2__ +extern long __div64(long, long); +#endif +extern long __divdf3(long, long); +extern long __divdi3(long, long); +extern long __divsf3(long, long); +extern long __divsi3(long, long); +extern long __moddi3(long, long); +extern long __modsi3(long, long); + +#ifndef __UNIXOS2__ +extern long __mul64(long, long); +#endif +extern long __muldf3(long, long); +extern long __muldi3(long, long); +extern long __mulsf3(long, long); +extern long __mulsi3(long, long); +extern long __udivdi3(long, long); +extern long __udivsi3(long, long); +extern long __umoddi3(long, long); +extern long __umodsi3(long, long); + +#ifndef __UNIXOS2__ +#pragma weak __div64 +#endif +#pragma weak __divdf3 +#pragma weak __divdi3 +#pragma weak __divsf3 +#pragma weak __divsi3 +#pragma weak __moddi3 +#pragma weak __modsi3 +#ifndef __UNIXOS2__ +#pragma weak __mul64 +#endif +#pragma weak __muldf3 +#pragma weak __muldi3 +#pragma weak __mulsf3 +#pragma weak __mulsi3 +#pragma weak __udivdi3 +#pragma weak __udivsi3 +#pragma weak __umoddi3 +#pragma weak __umodsi3 +#endif + +#if defined(__arm__) && defined(__linux__) +#include +#endif + +#if defined(__powerpc__) && (defined(Lynx) || defined(linux)) +void _restf14(); +void _restf17(); +void _restf18(); +void _restf19(); +void _restf20(); +void _restf22(); +void _restf23(); +void _restf24(); +void _restf25(); +void _restf26(); +void _restf27(); +void _restf28(); +void _restf29(); +void _savef14(); +void _savef17(); +void _savef18(); +void _savef19(); +void _savef20(); +void _savef22(); +void _savef23(); +void _savef24(); +void _savef25(); +void _savef26(); +void _savef27(); +void _savef28(); +void _savef29(); + +/* even if we compile without -DNO_INLINE we still provide + * the usual port i/o functions for module use + */ + +extern volatile unsigned char *ioBase; + +/* XXX Should get all of these from elsewhere */ +#ifndef linux +extern void outb(IOADDRESS, unsigned char); +extern void outw(IOADDRESS, unsigned short); +extern void outl(IOADDRESS, unsigned int); +extern unsigned int inb(IOADDRESS); +extern unsigned int inw(IOADDRESS); +extern unsigned int inl(IOADDRESS); +#endif +extern void stl_brx(unsigned long, volatile unsigned char *, int); +extern void stw_brx(unsigned short, volatile unsigned char *, int); +extern unsigned long ldl_brx(volatile unsigned char *, int); +extern unsigned short ldw_brx(volatile unsigned char *, int); +#endif + +/* XFree86 things */ + +_X_HIDDEN void *xfree86LookupTab[] = { + + /* Public OSlib functions */ + SYMFUNC(xf86ReadBIOS) + SYMFUNC(xf86EnableIO) + SYMFUNC(xf86DisableIO) + SYMFUNC(xf86DisableInterrupts) + SYMFUNC(xf86EnableInterrupts) + SYMFUNC(xf86LinearVidMem) + SYMFUNC(xf86CheckMTRR) + SYMFUNC(xf86MapVidMem) + SYMFUNC(xf86UnMapVidMem) + SYMFUNC(xf86MapReadSideEffects) + SYMFUNC(xf86GetPciDomain) + SYMFUNC(xf86MapDomainMemory) + SYMFUNC(xf86MapDomainIO) + SYMFUNC(xf86ReadDomainMemory) + SYMFUNC(xf86UDelay) + SYMFUNC(xf86IODelay) + SYMFUNC(xf86SlowBcopy) +#ifdef __alpha__ + SYMFUNC(xf86SlowBCopyToBus) + SYMFUNC(xf86SlowBCopyFromBus) +#endif + SYMFUNC(xf86BusToMem) + SYMFUNC(xf86MemToBus) + SYMFUNC(xf86OpenSerial) + SYMFUNC(xf86SetSerial) + SYMFUNC(xf86SetSerialSpeed) + SYMFUNC(xf86ReadSerial) + SYMFUNC(xf86WriteSerial) + SYMFUNC(xf86CloseSerial) + SYMFUNC(xf86GetErrno) + SYMFUNC(xf86WaitForInput) + SYMFUNC(xf86SerialSendBreak) + SYMFUNC(xf86FlushInput) + SYMFUNC(xf86SetSerialModemState) + SYMFUNC(xf86GetSerialModemState) + SYMFUNC(xf86SerialModemSetBits) + SYMFUNC(xf86SerialModemClearBits) + SYMFUNC(xf86LoadKernelModule) + SYMFUNC(xf86OSMouseInit) + SYMFUNC(xf86OSKbdPreInit) + SYMFUNC(xf86AgpGARTSupported) + SYMFUNC(xf86GetAGPInfo) + SYMFUNC(xf86AcquireGART) + SYMFUNC(xf86ReleaseGART) + SYMFUNC(xf86AllocateGARTMemory) + SYMFUNC(xf86DeallocateGARTMemory) + SYMFUNC(xf86BindGARTMemory) + SYMFUNC(xf86UnbindGARTMemory) + SYMFUNC(xf86EnableAGP) + SYMFUNC(xf86SoundKbdBell) + SYMFUNC(xf86GARTCloseScreen) +#ifdef XINPUT + /* XISB routines (Merged from Metrolink tree) */ + SYMFUNC(XisbNew) + SYMFUNC(XisbFree) + SYMFUNC(XisbRead) + SYMFUNC(XisbWrite) + SYMFUNC(XisbTrace) + SYMFUNC(XisbBlockDuration) +#endif + + /* xf86Bus.c */ + SYMFUNC(xf86CheckPciSlot) + SYMFUNC(xf86ClaimPciSlot) + SYMFUNC(xf86GetPciVideoInfo) + SYMFUNC(xf86GetPciEntity) + SYMFUNC(xf86GetPciConfigInfo) + SYMFUNC(xf86SetPciVideo) + SYMFUNC(xf86ClaimIsaSlot) + SYMFUNC(xf86ClaimFbSlot) + SYMFUNC(xf86ClaimNoSlot) + SYMFUNC(xf86ParsePciBusString) + SYMFUNC(xf86ComparePciBusString) + SYMFUNC(xf86FormatPciBusNumber) + SYMFUNC(xf86ParseIsaBusString) + SYMFUNC(xf86EnableAccess) + SYMFUNC(xf86SetCurrentAccess) + SYMFUNC(xf86IsPrimaryPci) + SYMFUNC(xf86IsPrimaryIsa) + SYMFUNC(xf86PrintResList) + SYMFUNC(xf86AddResToList) + SYMFUNC(xf86JoinResLists) + SYMFUNC(xf86DupResList) + SYMFUNC(xf86FreeResList) + SYMFUNC(xf86ClaimFixedResources) + SYMFUNC(xf86AddEntityToScreen) + SYMFUNC(xf86SetEntityInstanceForScreen) + SYMFUNC(xf86RemoveEntityFromScreen) + SYMFUNC(xf86GetEntityInfo) + SYMFUNC(xf86GetNumEntityInstances) + SYMFUNC(xf86GetDevFromEntity) + SYMFUNC(xf86GetPciInfoForEntity) + SYMFUNC(xf86SetEntityFuncs) + SYMFUNC(xf86DeallocateResourcesForEntity) + SYMFUNC(xf86RegisterResources) + SYMFUNC(xf86CheckPciMemBase) + SYMFUNC(xf86SetAccessFuncs) + SYMFUNC(xf86IsEntityPrimary) + SYMFUNC(xf86FixPciResource) + SYMFUNC(xf86SetOperatingState) + SYMFUNC(xf86EnterServerState) + SYMFUNC(xf86GetBlock) + SYMFUNC(xf86GetSparse) + SYMFUNC(xf86ReallocatePciResources) + SYMFUNC(xf86ChkConflict) + SYMFUNC(xf86IsPciDevPresent) + SYMFUNC(xf86FindScreenForEntity) + SYMFUNC(xf86FindPciDeviceVendor) + SYMFUNC(xf86FindPciClass) +#ifdef INCLUDE_DEPRECATED + SYMFUNC(xf86EnablePciBusMaster) +#endif + SYMFUNC(xf86RegisterStateChangeNotificationCallback) + SYMFUNC(xf86DeregisterStateChangeNotificationCallback) + SYMFUNC(xf86NoSharedResources) +#ifdef async + SYMFUNC(xf86QueueAsyncEvent) +#endif + /* Shared Accel Accessor Functions */ + SYMFUNC(xf86GetLastScrnFlag) + SYMFUNC(xf86SetLastScrnFlag) + SYMFUNC(xf86IsEntityShared) + SYMFUNC(xf86SetEntityShared) + SYMFUNC(xf86IsEntitySharable) + SYMFUNC(xf86SetEntitySharable) + SYMFUNC(xf86IsPrimInitDone) + SYMFUNC(xf86SetPrimInitDone) + SYMFUNC(xf86ClearPrimInitDone) + SYMFUNC(xf86AllocateEntityPrivateIndex) + SYMFUNC(xf86GetEntityPrivate) + + /* xf86Configure.c */ + SYMFUNC(xf86AddDeviceToConfigure) + + /* xf86Cursor.c */ + SYMFUNC(xf86GetPointerScreenFuncs) + + /* xf86DGA.c */ + /* For drivers */ + SYMFUNC(DGAInit) + SYMFUNC(DGAReInitModes) + /* For extmod */ + SYMFUNC(DGAAvailable) + SYMFUNC(DGAActive) + SYMFUNC(DGASetMode) + SYMFUNC(DGASetInputMode) + SYMFUNC(DGASelectInput) + SYMFUNC(DGAGetViewportStatus) + SYMFUNC(DGASetViewport) + SYMFUNC(DGAInstallCmap) + SYMFUNC(DGASync) + SYMFUNC(DGAFillRect) + SYMFUNC(DGABlitRect) + SYMFUNC(DGABlitTransRect) + SYMFUNC(DGAGetModes) + SYMFUNC(DGAGetOldDGAMode) + SYMFUNC(DGAGetModeInfo) + SYMFUNC(DGAChangePixmapMode) + SYMFUNC(DGACreateColormap) + SYMFUNC(DGAOpenFramebuffer) + SYMFUNC(DGACloseFramebuffer) + + /* xf86DPMS.c */ + SYMFUNC(xf86DPMSInit) + + /* xf86Events.c */ + SYMFUNC(SetTimeSinceLastInputEvent) + SYMFUNC(xf86AddInputHandler) + SYMFUNC(xf86RemoveInputHandler) + SYMFUNC(xf86DisableInputHandler) + SYMFUNC(xf86EnableInputHandler) + SYMFUNC(xf86AddEnabledDevice) + SYMFUNC(xf86RemoveEnabledDevice) + SYMFUNC(xf86InterceptSignals) + SYMFUNC(xf86InterceptSigIll) + SYMFUNC(xf86EnableVTSwitch) + + /* xf86Helper.c */ + SYMFUNC(xf86AddDriver) + SYMFUNC(xf86AddInputDriver) + SYMFUNC(xf86DeleteDriver) + SYMFUNC(xf86DeleteInput) + SYMFUNC(xf86AllocateInput) + SYMFUNC(xf86AllocateScreen) + SYMFUNC(xf86DeleteScreen) + SYMFUNC(xf86AllocateScrnInfoPrivateIndex) + SYMFUNC(xf86AddPixFormat) + SYMFUNC(xf86SetDepthBpp) + SYMFUNC(xf86PrintDepthBpp) + SYMFUNC(xf86SetWeight) + SYMFUNC(xf86SetDefaultVisual) + SYMFUNC(xf86SetGamma) + SYMFUNC(xf86SetDpi) + SYMFUNC(xf86SetBlackWhitePixels) + SYMFUNC(xf86EnableDisableFBAccess) + SYMFUNC(xf86VDrvMsgVerb) + SYMFUNC(xf86DrvMsgVerb) + SYMFUNC(xf86DrvMsg) + SYMFUNC(xf86MsgVerb) + SYMFUNC(xf86Msg) + SYMFUNC(xf86ErrorFVerb) + SYMFUNC(xf86ErrorF) + SYMFUNC(xf86TokenToString) + SYMFUNC(xf86StringToToken) + SYMFUNC(xf86ShowClocks) + SYMFUNC(xf86PrintChipsets) + SYMFUNC(xf86MatchDevice) + SYMFUNC(xf86MatchPciInstances) + SYMFUNC(xf86MatchIsaInstances) + SYMFUNC(xf86GetVerbosity) + SYMFUNC(xf86GetVisualName) + SYMFUNC(xf86GetPix24) + SYMFUNC(xf86GetDepth) + SYMFUNC(xf86GetWeight) + SYMFUNC(xf86GetGamma) + SYMFUNC(xf86GetFlipPixels) + SYMFUNC(xf86GetServerName) + SYMFUNC(xf86ServerIsExiting) + SYMFUNC(xf86ServerIsOnlyDetecting) + SYMFUNC(xf86ServerIsOnlyProbing) + SYMFUNC(xf86ServerIsResetting) + SYMFUNC(xf86CaughtSignal) + SYMFUNC(xf86GetVidModeAllowNonLocal) + SYMFUNC(xf86GetVidModeEnabled) + SYMFUNC(xf86GetModInDevAllowNonLocal) + SYMFUNC(xf86GetModInDevEnabled) + SYMFUNC(xf86GetAllowMouseOpenFail) + SYMFUNC(xf86CommonSpecialKey) + SYMFUNC(xf86IsPc98) + SYMFUNC(xf86DisableRandR) + SYMFUNC(xf86GetRotation) + SYMFUNC(xf86GetVersion) + SYMFUNC(xf86GetModuleVersion) + SYMFUNC(xf86GetClocks) + SYMFUNC(xf86SetPriority) + SYMFUNC(xf86LoadDrvSubModule) + SYMFUNC(xf86LoadSubModule) + SYMFUNC(xf86LoadOneModule) + SYMFUNC(xf86UnloadSubModule) + SYMFUNC(xf86LoaderCheckSymbol) + SYMFUNC(xf86LoaderRefSymLists) + SYMFUNC(xf86LoaderRefSymbols) + SYMFUNC(xf86LoaderReqSymLists) + SYMFUNC(xf86LoaderReqSymbols) + SYMFUNC(xf86SetBackingStore) + SYMFUNC(xf86SetSilkenMouse) + /* SYMFUNC(xf86NewSerialNumber) */ + SYMFUNC(xf86FindXvOptions) + SYMFUNC(xf86GetOS) + SYMFUNC(xf86ConfigPciEntity) + SYMFUNC(xf86ConfigIsaEntity) + SYMFUNC(xf86ConfigFbEntity) + SYMFUNC(xf86ConfigActivePciEntity) + SYMFUNC(xf86ConfigActiveIsaEntity) + SYMFUNC(xf86ConfigPciEntityInactive) + SYMFUNC(xf86ConfigIsaEntityInactive) + SYMFUNC(xf86IsScreenPrimary) + SYMFUNC(xf86RegisterRootWindowProperty) + SYMFUNC(xf86IsUnblank) + SYMFUNC(xf86AddModuleInfo) + SYMFUNC(xf86DeleteModuleInfo) + +#if defined(__sparc__) && !defined(__OpenBSD__) + /* xf86sbusBus.c */ + SYMFUNC(xf86MatchSbusInstances) + SYMFUNC(xf86GetSbusInfoForEntity) + SYMFUNC(xf86GetEntityForSbusInfo) + SYMFUNC(xf86SbusUseBuiltinMode) + SYMFUNC(xf86MapSbusMem) + SYMFUNC(xf86UnmapSbusMem) + SYMFUNC(xf86SbusHideOsHwCursor) + SYMFUNC(xf86SbusSetOsHwCursorCmap) + SYMFUNC(xf86SbusHandleColormaps) + SYMFUNC(sparcPromInit) + SYMFUNC(sparcPromClose) + SYMFUNC(sparcPromGetProperty) + SYMFUNC(sparcPromGetBool) +#endif + + /* xf86Init.c */ + SYMFUNC(xf86GetPixFormat) + SYMFUNC(xf86GetBppFromDepth) + + /* xf86Mode.c */ + SYMFUNC(xf86GetNearestClock) + SYMFUNC(xf86ModeStatusToString) + SYMFUNC(xf86LookupMode) + SYMFUNC(xf86CheckModeForMonitor) + SYMFUNC(xf86InitialCheckModeForDriver) + SYMFUNC(xf86CheckModeForDriver) + SYMFUNC(xf86ValidateModes) + SYMFUNC(xf86DeleteMode) + SYMFUNC(xf86PruneDriverModes) + SYMFUNC(xf86SetCrtcForModes) + SYMFUNC(xf86PrintModes) + SYMFUNC(xf86ShowClockRanges) + + /* xf86Option.c */ + SYMFUNC(xf86CollectOptions) + SYMFUNC(xf86CollectInputOptions) + /* Merging of XInput stuff */ + SYMFUNC(xf86AddNewOption) + SYMFUNC(xf86NewOption) + SYMFUNC(xf86NextOption) + SYMFUNC(xf86OptionListCreate) + SYMFUNC(xf86OptionListMerge) + SYMFUNC(xf86OptionListFree) + SYMFUNC(xf86OptionName) + SYMFUNC(xf86OptionValue) + SYMFUNC(xf86OptionListReport) + SYMFUNC(xf86SetIntOption) + SYMFUNC(xf86SetRealOption) + SYMFUNC(xf86SetStrOption) + SYMFUNC(xf86SetBoolOption) + SYMFUNC(xf86CheckIntOption) + SYMFUNC(xf86CheckRealOption) + SYMFUNC(xf86CheckStrOption) + SYMFUNC(xf86CheckBoolOption) + SYMFUNC(xf86ReplaceIntOption) + SYMFUNC(xf86ReplaceRealOption) + SYMFUNC(xf86ReplaceStrOption) + SYMFUNC(xf86ReplaceBoolOption) + SYMFUNC(xf86FindOption) + SYMFUNC(xf86FindOptionValue) + SYMFUNC(xf86MarkOptionUsed) + SYMFUNC(xf86MarkOptionUsedByName) + SYMFUNC(xf86CheckIfOptionUsed) + SYMFUNC(xf86CheckIfOptionUsedByName) + SYMFUNC(xf86ShowUnusedOptions) + SYMFUNC(xf86ProcessOptions) + SYMFUNC(xf86TokenToOptinfo) + SYMFUNC(xf86TokenToOptName) + SYMFUNC(xf86IsOptionSet) + SYMFUNC(xf86GetOptValString) + SYMFUNC(xf86GetOptValInteger) + SYMFUNC(xf86GetOptValULong) + SYMFUNC(xf86GetOptValReal) + SYMFUNC(xf86GetOptValFreq) + SYMFUNC(xf86GetOptValBool) + SYMFUNC(xf86ReturnOptValBool) + SYMFUNC(xf86NameCmp) + SYMFUNC(xf86InitValuatorAxisStruct) + SYMFUNC(xf86InitValuatorDefaults) + + /* xf86fbman.c */ + SYMFUNC(xf86InitFBManager) + SYMFUNC(xf86InitFBManagerArea) + SYMFUNC(xf86InitFBManagerRegion) + SYMFUNC(xf86InitFBManagerLinear) + SYMFUNC(xf86RegisterFreeBoxCallback) + SYMFUNC(xf86FreeOffscreenArea) + SYMFUNC(xf86AllocateOffscreenArea) + SYMFUNC(xf86AllocateLinearOffscreenArea) + SYMFUNC(xf86ResizeOffscreenArea) + SYMFUNC(xf86FBManagerRunning) + SYMFUNC(xf86QueryLargestOffscreenArea) + SYMFUNC(xf86PurgeUnlockedOffscreenAreas) + SYMFUNC(xf86RegisterOffscreenManager) + SYMFUNC(xf86AllocateOffscreenLinear) + SYMFUNC(xf86ResizeOffscreenLinear) + SYMFUNC(xf86QueryLargestOffscreenLinear) + SYMFUNC(xf86FreeOffscreenLinear) + + /* xf86cmap.c */ + SYMFUNC(xf86HandleColormaps) + SYMFUNC(xf86GetGammaRampSize) + SYMFUNC(xf86GetGammaRamp) + SYMFUNC(xf86ChangeGammaRamp) + + /* xf86RandR.c */ +#ifdef RANDR + SYMFUNC(xf86RandRSetNewVirtualAndDimensions) +#endif + + /* xf86xv.c */ +#ifdef XV + SYMFUNC(xf86XVScreenInit) + SYMFUNC(xf86XVRegisterGenericAdaptorDriver) + SYMFUNC(xf86XVListGenericAdaptors) + SYMFUNC(xf86XVRegisterOffscreenImages) + SYMFUNC(xf86XVQueryOffscreenImages) + SYMFUNC(xf86XVAllocateVideoAdaptorRec) + SYMFUNC(xf86XVFreeVideoAdaptorRec) + SYMFUNC(xf86XVFillKeyHelper) + SYMFUNC(xf86XVClipVideoHelper) + SYMFUNC(xf86XVCopyYUV12ToPacked) + SYMFUNC(xf86XVCopyPacked) + + /* xf86xvmc.c */ + SYMFUNC(xf86XvMCScreenInit) + SYMFUNC(xf86XvMCCreateAdaptorRec) + SYMFUNC(xf86XvMCDestroyAdaptorRec) +#endif + + /* xf86VidMode.c */ + SYMFUNC(VidModeExtensionInit) +#ifdef XF86VIDMODE + SYMFUNC(VidModeGetCurrentModeline) + SYMFUNC(VidModeGetFirstModeline) + SYMFUNC(VidModeGetNextModeline) + SYMFUNC(VidModeDeleteModeline) + SYMFUNC(VidModeZoomViewport) + SYMFUNC(VidModeGetViewPort) + SYMFUNC(VidModeSetViewPort) + SYMFUNC(VidModeSwitchMode) + SYMFUNC(VidModeLockZoom) + SYMFUNC(VidModeGetMonitor) + SYMFUNC(VidModeGetNumOfClocks) + SYMFUNC(VidModeGetClocks) + SYMFUNC(VidModeCheckModeForMonitor) + SYMFUNC(VidModeCheckModeForDriver) + SYMFUNC(VidModeSetCrtcForMode) + SYMFUNC(VidModeAddModeline) + SYMFUNC(VidModeGetDotClock) + SYMFUNC(VidModeGetNumOfModes) + SYMFUNC(VidModeSetGamma) + SYMFUNC(VidModeGetGamma) + SYMFUNC(VidModeCreateMode) + SYMFUNC(VidModeCopyMode) + SYMFUNC(VidModeGetModeValue) + SYMFUNC(VidModeSetModeValue) + SYMFUNC(VidModeGetMonitorValue) + SYMFUNC(VidModeSetGammaRamp) + SYMFUNC(VidModeGetGammaRamp) + SYMFUNC(VidModeGetGammaRampSize) +#endif + + /* xf86Versions.c */ + SYMFUNC(xf86GetBuiltinInterfaceVersion) + SYMFUNC(xf86RegisterBuiltinInterfaceVersion) + + /* xf86MiscExt.c */ +#ifdef XF86MISC + SYMFUNC(MiscExtGetMouseSettings) + SYMFUNC(MiscExtGetMouseValue) + SYMFUNC(MiscExtSetMouseValue) + SYMFUNC(MiscExtSetMouseDevice) + SYMFUNC(MiscExtGetKbdSettings) + SYMFUNC(MiscExtGetKbdValue) + SYMFUNC(MiscExtSetKbdValue) + SYMFUNC(MiscExtSetGrabKeysState) + SYMFUNC(MiscExtCreateStruct) + SYMFUNC(MiscExtDestroyStruct) + SYMFUNC(MiscExtApply) + SYMFUNC(MiscExtGetFilePaths) + SYMFUNC(MiscExtPassMessage) +#endif + + /* Misc */ + SYMFUNC(GetTimeInMillis) + + /* xf86Xinput.c */ +#ifdef XINPUT + SYMFUNC(xf86ProcessCommonOptions) + SYMFUNC(xf86IsCorePointer) + SYMFUNC(xf86PostMotionEvent) + SYMFUNC(xf86PostProximityEvent) + SYMFUNC(xf86PostButtonEvent) + SYMFUNC(xf86PostKeyEvent) + SYMFUNC(xf86PostKeyboardEvent) + SYMFUNC(xf86GetMotionEvents) + SYMFUNC(xf86MotionHistoryAllocate) + SYMFUNC(xf86FirstLocalDevice) + SYMFUNC(xf86eqEnqueue) + SYMFUNC(xf86ActivateDevice) +/* The following segment merged from Metrolink tree */ + SYMFUNC(xf86XInputSetScreen) + SYMFUNC(xf86ScaleAxis) + SYMFUNC(xf86XInputSetSendCoreEvents) +/* End merged segment */ +#endif +#ifdef DPMSExtension + SYMFUNC(DPMSGet) + SYMFUNC(DPMSSet) + SYMFUNC(DPMSSupported) +#endif +/* xf86Debug.c */ +#ifdef BUILDDEBUG + SYMFUNC(xf86Break1) + SYMFUNC(xf86Break2) + SYMFUNC(xf86Break3) + SYMFUNC(xf86SPTimestamp) + SYMFUNC(xf86STimestamp) +#endif + + SYMFUNC(pciFindFirst) + SYMFUNC(pciFindNext) + SYMFUNC(pciWriteByte) + SYMFUNC(pciWriteWord) + SYMFUNC(pciWriteLong) + SYMFUNC(pciReadByte) + SYMFUNC(pciReadWord) + SYMFUNC(pciReadLong) + SYMFUNC(pciSetBitsLong) + SYMFUNC(pciTag) + SYMFUNC(pciBusAddrToHostAddr) + SYMFUNC(pciHostAddrToBusAddr) + SYMFUNC(xf86MapPciMem) + SYMFUNC(xf86scanpci) + SYMFUNC(xf86ReadPciBIOS) + + /* Loader functions */ + SYMFUNC(LoadSubModule) + SYMFUNC(DuplicateModule) + SYMFUNC(LoaderErrorMsg) + SYMFUNC(LoaderCheckUnresolved) + SYMFUNC(LoadExtension) + SYMFUNC(LoadFont) + SYMFUNC(LoaderReqSymbols) + SYMFUNC(LoaderReqSymLists) + SYMFUNC(LoaderRefSymbols) + SYMFUNC(LoaderRefSymLists) + SYMFUNC(UnloadSubModule) + SYMFUNC(LoaderSymbol) + SYMFUNC(LoaderListDirs) + SYMFUNC(LoaderFreeDirList) + SYMFUNC(LoaderGetOS) + SYMFUNC(LoaderGetABIVersion) + + /* + * These are our own interfaces to libc functions. + */ + SYMFUNC(xf86abort) + SYMFUNC(xf86abs) + SYMFUNC(xf86acos) + SYMFUNC(xf86asin) + SYMFUNC(xf86atan) + SYMFUNC(xf86atan2) + SYMFUNC(xf86atof) + SYMFUNC(xf86atoi) + SYMFUNC(xf86atol) + SYMFUNC(xf86bsearch) + SYMFUNC(xf86ceil) + SYMFUNC(xf86calloc) + SYMFUNC(xf86clearerr) + SYMFUNC(xf86close) + SYMFUNC(xf86cos) + SYMFUNC(xf86exit) + SYMFUNC(xf86exp) + SYMFUNC(xf86fabs) + SYMFUNC(xf86fclose) + SYMFUNC(xf86feof) + SYMFUNC(xf86ferror) + SYMFUNC(xf86fflush) + SYMFUNC(xf86fgetc) + SYMFUNC(xf86fgetpos) + SYMFUNC(xf86fgets) + SYMFUNC(xf86finite) + SYMFUNC(xf86floor) + SYMFUNC(xf86fmod) + SYMFUNC(xf86fopen) + SYMFUNC(xf86fprintf) + SYMFUNC(xf86fputc) + SYMFUNC(xf86fputs) + SYMFUNC(xf86fread) + SYMFUNC(xf86free) + SYMFUNC(xf86freopen) + SYMFUNC(xf86frexp) + SYMFUNC(xf86fscanf) + SYMFUNC(xf86fseek) + SYMFUNC(xf86fsetpos) + SYMFUNC(xf86ftell) + SYMFUNC(xf86fwrite) + SYMFUNC(xf86getc) + SYMFUNC(xf86getenv) + SYMFUNC(xf86getpagesize) + SYMFUNC(xf86hypot) + SYMFUNC(xf86ioctl) + SYMFUNC(xf86isalnum) + SYMFUNC(xf86isalpha) + SYMFUNC(xf86iscntrl) + SYMFUNC(xf86isdigit) + SYMFUNC(xf86isgraph) + SYMFUNC(xf86islower) + SYMFUNC(xf86isprint) + SYMFUNC(xf86ispunct) + SYMFUNC(xf86isspace) + SYMFUNC(xf86isupper) + SYMFUNC(xf86isxdigit) + SYMFUNC(xf86labs) + SYMFUNC(xf86ldexp) + SYMFUNC(xf86log) + SYMFUNC(xf86log10) + SYMFUNC(xf86lseek) + SYMFUNC(xf86malloc) + SYMFUNC(xf86memchr) + SYMFUNC(xf86memcmp) + SYMFUNC(xf86memcpy) + /* + * Some compilers generate calls to memcpy to handle structure copies + * or run-time initializations. + */ + SYMFUNCALIAS("memcpy", xf86memcpy) + SYMFUNC(xf86memset) + /* + * Some compilers generate calls to memset to handle aggregate + * initializations. + */ + SYMFUNCALIAS("memset", xf86memset) + SYMFUNC(xf86memmove) + SYMFUNC(xf86mmap) + SYMFUNC(xf86modf) + SYMFUNC(xf86munmap) + SYMFUNC(xf86open) + SYMFUNC(xf86perror) + SYMFUNC(xf86pow) + SYMFUNC(xf86printf) + SYMFUNC(xf86qsort) + SYMFUNC(xf86read) + SYMFUNC(xf86realloc) + SYMFUNC(xf86remove) + SYMFUNC(xf86rename) + SYMFUNC(xf86rewind) + SYMFUNC(xf86setbuf) + SYMFUNC(xf86setvbuf) + SYMFUNC(xf86sin) + SYMFUNC(xf86snprintf) + SYMFUNC(xf86sprintf) + SYMFUNC(xf86sqrt) + SYMFUNC(xf86sscanf) + SYMFUNC(xf86strcat) + SYMFUNC(xf86strcmp) + SYMFUNC(xf86strcasecmp) + SYMFUNC(xf86strcpy) + SYMFUNC(xf86strcspn) + SYMFUNC(xf86strerror) + SYMFUNC(xf86strlcat) + SYMFUNC(xf86strlcpy) + SYMFUNC(xf86strlen) + SYMFUNC(xf86strncasecmp) + SYMFUNC(xf86strncat) + SYMFUNC(xf86strncmp) + SYMFUNC(xf86strncpy) + SYMFUNC(xf86strpbrk) + SYMFUNC(xf86strchr) + SYMFUNC(xf86strrchr) + SYMFUNC(xf86strspn) + SYMFUNC(xf86strstr) + SYMFUNC(xf86strtod) + SYMFUNC(xf86strtok) + SYMFUNC(xf86strtol) + SYMFUNC(xf86strtoul) + SYMFUNC(xf86tan) + SYMFUNC(xf86tmpfile) + SYMFUNC(xf86tolower) + SYMFUNC(xf86toupper) + SYMFUNC(xf86ungetc) + SYMFUNC(xf86vfprintf) + SYMFUNC(xf86vsnprintf) + SYMFUNC(xf86vsprintf) + SYMFUNC(xf86write) + + /* non-ANSI C functions */ + SYMFUNC(xf86opendir) + SYMFUNC(xf86closedir) + SYMFUNC(xf86readdir) + SYMFUNC(xf86rewinddir) + SYMFUNC(xf86ffs) + SYMFUNC(xf86strdup) + SYMFUNC(xf86bzero) + SYMFUNC(xf86usleep) + SYMFUNC(xf86execl) + + SYMFUNC(xf86getsecs) + SYMFUNC(xf86fpossize) /* for returning sizeof(fpos_t) */ + + /* Some of these were added for DRI support. */ + SYMFUNC(xf86stat) + SYMFUNC(xf86fstat) + SYMFUNC(xf86access) + SYMFUNC(xf86geteuid) + SYMFUNC(xf86getegid) + SYMFUNC(xf86getpid) + SYMFUNC(xf86mknod) + SYMFUNC(xf86chmod) + SYMFUNC(xf86chown) + SYMFUNC(xf86sleep) + SYMFUNC(xf86mkdir) + SYMFUNC(xf86shmget) + SYMFUNC(xf86shmat) + SYMFUNC(xf86shmdt) + SYMFUNC(xf86shmctl) +#ifdef HAS_GLIBC_SIGSETJMP + SYMFUNC(xf86setjmp) + SYMFUNC(xf86setjmp0) +#if defined(__GLIBC__) && (__GLIBC__ >= 2) + SYMFUNCALIAS("xf86setjmp1", __sigsetjmp) +#else + SYMFUNC(xf86setjmp1) /* For libc5 */ +#endif +#else + SYMFUNCALIAS("xf86setjmp", setjmp) + SYMFUNC(xf86setjmp0) + SYMFUNC(xf86setjmp1) +#endif + SYMFUNCALIAS("xf86longjmp", longjmp) + SYMFUNC(xf86getjmptype) + SYMFUNC(xf86setjmp1_arg2) + SYMFUNC(xf86setjmperror) +#ifdef XF86DRI + /* + * These may have more general uses, but for now, they are only used + * by the DRI. Loading them only when the DRI is built may make porting + * (the non-DRI portions of the X server) easier. + */ + SYMFUNC(xf86InstallSIGIOHandler) + SYMFUNC(xf86RemoveSIGIOHandler) +# if defined(__alpha__) && defined(linux) + SYMFUNC(_bus_base) +# endif +#endif + SYMFUNC(xf86BlockSIGIO) + SYMFUNC(xf86UnblockSIGIO) + +#if defined(__alpha__) + SYMFUNC(__divl) + SYMFUNC(__reml) + SYMFUNC(__divlu) + SYMFUNC(__remlu) + SYMFUNC(__divq) + SYMFUNC(__divqu) + SYMFUNC(__remq) + SYMFUNC(__remqu) + +# ifdef linux + SYMFUNC(_outw) + SYMFUNC(_outb) + SYMFUNC(_outl) + SYMFUNC(_inb) + SYMFUNC(_inw) + SYMFUNC(_inl) + SYMFUNC(_alpha_outw) + SYMFUNC(_alpha_outb) + SYMFUNC(_alpha_outl) + SYMFUNC(_alpha_inb) + SYMFUNC(_alpha_inw) + SYMFUNC(_alpha_inl) +# else + SYMFUNC(outw) + SYMFUNC(outb) + SYMFUNC(outl) + SYMFUNC(inb) + SYMFUNC(inw) + SYMFUNC(inl) +# endif + SYMFUNC(xf86ReadMmio32) + SYMFUNC(xf86ReadMmio16) + SYMFUNC(xf86ReadMmio8) + SYMFUNC(xf86WriteMmio32) + SYMFUNC(xf86WriteMmio16) + SYMFUNC(xf86WriteMmio8) + SYMFUNC(xf86WriteMmioNB32) + SYMFUNC(xf86WriteMmioNB16) + SYMFUNC(xf86WriteMmioNB8) +#endif +#if defined(sun) && defined(SVR4) + SYMFUNC(inb) + SYMFUNC(inw) + SYMFUNC(inl) + SYMFUNC(outb) + SYMFUNC(outw) + SYMFUNC(outl) +#endif +#if defined(__powerpc__) && !defined(__OpenBSD__) + SYMFUNC(inb) + SYMFUNC(inw) + SYMFUNC(inl) + SYMFUNC(outb) + SYMFUNC(outw) + SYMFUNC(outl) +# if defined(NO_INLINE) || defined(Lynx) + SYMFUNC(mem_barrier) + SYMFUNC(ldl_u) + SYMFUNC(eieio) + SYMFUNC(ldl_brx) + SYMFUNC(ldw_brx) + SYMFUNC(stl_brx) + SYMFUNC(stw_brx) + SYMFUNC(ldq_u) + SYMFUNC(ldw_u) + SYMFUNC(stl_u) + SYMFUNC(stq_u) + SYMFUNC(stw_u) + SYMFUNC(write_mem_barrier) +# endif +# if defined(Lynx) + SYMFUNC(_restf14) + SYMFUNC(_restf17) + SYMFUNC(_restf18) + SYMFUNC(_restf19) + SYMFUNC(_restf20) + SYMFUNC(_restf22) + SYMFUNC(_restf23) + SYMFUNC(_restf24) + SYMFUNC(_restf25) + SYMFUNC(_restf26) + SYMFUNC(_restf27) + SYMFUNC(_restf28) + SYMFUNC(_restf29) + SYMFUNC(_savef14) + SYMFUNC(_savef17) + SYMFUNC(_savef18) + SYMFUNC(_savef19) + SYMFUNC(_savef20) + SYMFUNC(_savef22) + SYMFUNC(_savef23) + SYMFUNC(_savef24) + SYMFUNC(_savef25) + SYMFUNC(_savef26) + SYMFUNC(_savef27) + SYMFUNC(_savef28) + SYMFUNC(_savef29) +# endif +# if PPCIO_DEBUG + SYMFUNC(debug_inb) + SYMFUNC(debug_inw) + SYMFUNC(debug_inl) + SYMFUNC(debug_outb) + SYMFUNC(debug_outw) + SYMFUNC(debug_outl) +# endif +#endif +#if defined(__GNUC__) +#if !defined(__UNIXOS2__) && !defined(Lynx) + SYMFUNC(__div64) +#endif +#if !defined(Lynx) /* FIXME: test on others than x86 and !3.1.0a/x86 */ + SYMFUNC(__divdf3) +#endif + SYMFUNC(__divdi3) +#if !defined(Lynx) + SYMFUNC(__divsf3) + SYMFUNC(__divsi3) +#endif + SYMFUNC(__moddi3) +#if !defined(Lynx) + SYMFUNC(__modsi3) +#endif +#if !defined(__UNIXOS2__) && !defined(Lynx) + SYMFUNC(__mul64) +#endif +#if !defined(Lynx) + SYMFUNC(__muldf3) +#endif + SYMFUNC(__muldi3) +#if !defined(Lynx) + SYMFUNC(__mulsf3) + SYMFUNC(__mulsi3) + SYMFUNC(__udivdi3) + SYMFUNC(__udivsi3) +#endif + SYMFUNC(__umoddi3) +#if !defined(Lynx) + SYMFUNC(__umodsi3) +#endif +#endif +#if defined(__ia64__) + SYMFUNC(outw) + SYMFUNC(outb) + SYMFUNC(outl) + SYMFUNC(inb) + SYMFUNC(inw) + SYMFUNC(inl) +#endif +#if defined(__arm__) + SYMFUNC(outw) + SYMFUNC(outb) + SYMFUNC(outl) + SYMFUNC(inb) + SYMFUNC(inw) + SYMFUNC(inl) +#endif + +#ifdef __FreeBSD__ +#if defined(__sparc__) + SYMFUNC(_Qp_qtos) + SYMFUNC(_Qp_qtod) + SYMFUNC(_Qp_qtoux) + SYMFUNC(_Qp_uitoq) + SYMFUNC(_Qp_dtoq) +#endif +#endif + + /* Some variables. */ + + SYMVAR(xf86stdin) + SYMVAR(xf86stdout) + SYMVAR(xf86stderr) + SYMVAR(xf86errno) + SYMVAR(xf86HUGE_VAL) + + /* General variables (from xf86.h) */ + SYMVAR(xf86ScreenIndex) + SYMVAR(xf86PixmapIndex) + SYMVAR(xf86Screens) + SYMVAR(byte_reversed) + SYMVAR(xf86inSuspend) + /* debugging variables */ +#ifdef BUILDDEBUG + SYMVAR(xf86p8bit) + SYMVAR(xf86DummyVar1) + SYMVAR(xf86DummyVar2) + SYMVAR(xf86DummyVar3) +#endif + +#ifdef async + SYMVAR(xf86CurrentScreen) +#endif + /* predefined resource lists from xf86Bus.h */ + SYMVAR(resVgaExclusive) + SYMVAR(resVgaShared) + SYMVAR(resVgaMemShared) + SYMVAR(resVgaIoShared) + SYMVAR(resVgaUnusedExclusive) + SYMVAR(resVgaUnusedShared) + SYMVAR(resVgaSparseExclusive) + SYMVAR(resVgaSparseShared) + SYMVAR(res8514Exclusive) + SYMVAR(res8514Shared) + SYMVAR(PciAvoid) + +#if defined(__powerpc__) && (!defined(NO_INLINE) || defined(Lynx)) + SYMVAR(ioBase) +#endif + + /* Globals from xf86Globals.c and xf86Priv.h */ + SYMVAR(xf86ConfigDRI) + + /* Globals from xf86Configure.c */ + SYMVAR(ConfiguredMonitor) + + /* Pci.c */ + SYMVAR(pciNumBuses) +}; From bf17c6dede1c0cf1edee10f2cc7e1e619b944d3a Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 22 Jun 2006 12:24:09 -0400 Subject: [PATCH 37/53] Drop libz from the server's link line, it was only needed for LBX. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d025638a3..b8d942ee7 100644 --- a/configure.ac +++ b/configure.ac @@ -843,7 +843,7 @@ PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS]) PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS]) XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS}" -XSERVER_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} -lm -lz" +XSERVER_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} -lm" AC_SUBST([XSERVER_LIBS]) AC_SUBST([SYS_LIBS]) From d67fd106968e371d8be3966ed5ecdd3c69f36e3a Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 22 Jun 2006 12:47:51 -0400 Subject: [PATCH 38/53] Add kdrive servers to .gitignore --- .gitignore | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.gitignore b/.gitignore index 429f677ff..149c1e63e 100644 --- a/.gitignore +++ b/.gitignore @@ -116,6 +116,24 @@ hw/dmx/examples/xdmx hw/dmx/examples/xinput hw/dmx/examples/xled hw/dmx/examples/xtest +hw/kdrive/ati/Xati +hw/kdrive/chips/Xchips +hw/kdrive/ephyr/Xephyr +hw/kdrive/epson/Xepson +hw/kdrive/fake/Xfake +hw/kdrive/fbdev/Xfbdev +hw/kdrive/i810/Xi810 +hw/kdrive/mach64/Xmach64 +hw/kdrive/mga/Xmga +hw/kdrive/neomagic/Xneomagic +hw/kdrive/nvidia/Xnvidia +hw/kdrive/pm2/Xpm2 +hw/kdrive/r128/Xr128 +hw/kdrive/sdl/Xsdl +hw/kdrive/sis300/Xsis +hw/kdrive/smi/Xsmi +hw/kdrive/vesa/Xvesa +hw/kdrive/via/Xvia hw/vfb/Xvfb hw/vfb/Xvfb.1x hw/vfb/Xvfb.man From 2cf1f39ca974c81a2f52d2f7509aa3d098a87176 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 21 Jun 2006 09:30:59 -0700 Subject: [PATCH 39/53] Add a manpage for EXA. --- .gitignore | 2 ++ hw/xfree86/exa/Makefile.am | 12 ++++++++++++ hw/xfree86/exa/exa.man.pre | 40 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 hw/xfree86/exa/exa.man.pre diff --git a/.gitignore b/.gitignore index 149c1e63e..1e7970677 100644 --- a/.gitignore +++ b/.gitignore @@ -144,6 +144,8 @@ hw/xfree86/doc/man/Xorg.1x hw/xfree86/doc/man/Xorg.man hw/xfree86/doc/man/xorg.conf.5x hw/xfree86/doc/man/xorg.conf.man +hw/xfree86/exa/exa.4 +hw/xfree86/exa/exa.man hw/xfree86/fbdevhw/fbdevhw.4x hw/xfree86/fbdevhw/fbdevhw.man hw/xfree86/getconfig/cfg.man diff --git a/hw/xfree86/exa/Makefile.am b/hw/xfree86/exa/Makefile.am index 8e85e1ede..7f0a20e4c 100644 --- a/hw/xfree86/exa/Makefile.am +++ b/hw/xfree86/exa/Makefile.am @@ -14,3 +14,15 @@ libexa_la_SOURCES = \ libexa_la_LIBADD = \ ../../../exa/libexa.la + +include $(top_srcdir)/cpprules.in + +drivermandir = $(DRIVER_MAN_DIR) +driverman_DATA = exa.$(DRIVER_MAN_SUFFIX) +CLEANFILES = $(driverman_DATA) exa.man + +exa.$(DRIVER_MAN_SUFFIX): exa.man + -rm -f exa.$(DRIVER_MAN_SUFFIX) + $(LN_S) exa.man exa.$(DRIVER_MAN_SUFFIX) + +EXTRA_DIST = exa.man.pre README diff --git a/hw/xfree86/exa/exa.man.pre b/hw/xfree86/exa/exa.man.pre new file mode 100644 index 000000000..ea41b90e4 --- /dev/null +++ b/hw/xfree86/exa/exa.man.pre @@ -0,0 +1,40 @@ +.\" shorthand for double quote that works everywhere. +.ds q \N'34' +.TH EXA __drivermansuffix__ __vendorversion__ +.SH NAME +exa \- new 2D acceleration architecture for X.Org +.SH DESCRIPTION +.B EXA +provides a simple API for video drivers to implement for 2D acceleration. It +is a module loaded by drivers, and is not intended to be loaded on its own. See +your driver's manual page for how to enable +.B EXA +. +.PP +The +.B EXA +architecture is designed to make accelerating the Render extension simple and +efficient, and results in various performance tradeoffs compared to XAA. Some +options are available for debugging performance issues or driver rendering +problems. They are not intended for general use. +.TP +.BI "Option \*qEXANoComposite\*q \*q" boolean \*q +Disables acceleration of the Composite operation, which is at the heart of +the Render extension. Not related to the Composite extension. Default: No. +.TP +.BI "Option \*qEXANoUploadToScreen\*q \*q" boolean \*q +Disables acceleration of uploading pixmap data to the freamebuffer. Default: No. +.TP +.BI "Option \*qEXANoDownloadFromScreen\*q \*q" boolean \*q +Disables acceleration of downloading of pixmap data from the framebuffer. +.B NOTE: +Not usable with drivers which rely on DownloadFromScreen succeeding. +Default: No. +.TP +.BI "Option \*qMigrationHeuristic\*q \*q" anystr \*q +Chooses an alternate pixmap migration heuristic, for debugging purposes. The +default is intended to be the best performing one for general use, though others +may help with specific use cases. Available options include \*qalways\*q, +\*qgreedy\*q, and \*qsmart\*q. Default: smart. +.SH AUTHORS +Authors include: Keith Packard, Eric Anholt, Zack Rusin, and Michel Dänzer From c7ac485a59709572307b9a4a9abacc52c7021b65 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 21 Jun 2006 09:34:55 -0700 Subject: [PATCH 40/53] Remove the default case from fbcompose.c switches which should cover all cases. Instead, stick the NULL return default case afterwards, so that the compiler can warn us when we've got unimplemented cases. Removes some unimplemented and unused 8bpp, depth 4 picture format names. --- fb/fbcompose.c | 8 ++++---- render/picture.h | 4 ---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/fb/fbcompose.c b/fb/fbcompose.c index 03adab456..3a61e975a 100644 --- a/fb/fbcompose.c +++ b/fb/fbcompose.c @@ -573,9 +573,9 @@ static fetchProc fetchProcForPicture (PicturePtr pict) /* 1bpp formats */ case PICT_a1: return fbFetch_a1; case PICT_g1: return fbFetch_g1; - default: - return NULL; } + + return NULL; } /* @@ -1010,9 +1010,9 @@ static fetchPixelProc fetchPixelProcForPicture (PicturePtr pict) /* 1bpp formats */ case PICT_a1: return fbFetchPixel_a1; case PICT_g1: return fbFetchPixel_g1; - default: - return NULL; } + + return NULL; } diff --git a/render/picture.h b/render/picture.h index e7d86ac39..8184c02c0 100644 --- a/render/picture.h +++ b/render/picture.h @@ -102,10 +102,6 @@ typedef enum _PictFormatShort { PICT_g8 = PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0), PICT_x4a4 = PICT_FORMAT(8,PICT_TYPE_A,4,0,0,0), - PICT_x4r1g2b1 = PICT_FORMAT(8,PICT_TYPE_ARGB,0,1,2,1), - PICT_x4b1g2r1 = PICT_FORMAT(8,PICT_TYPE_ABGR,0,1,2,1), - PICT_x4a1r1g1b1 = PICT_FORMAT(8,PICT_TYPE_ARGB,1,1,1,1), - PICT_x4a1b1g1r1 = PICT_FORMAT(8,PICT_TYPE_ABGR,1,1,1,1), PICT_x4c4 = PICT_FORMAT(8,PICT_TYPE_COLOR,0,0,0,0), PICT_x4g4 = PICT_FORMAT(8,PICT_TYPE_GRAY,0,0,0,0), From bc6cfde19887eff7a07dc739ffa29609fb55b83d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 23 Jun 2006 20:07:34 -0700 Subject: [PATCH 41/53] Use correct OSNAME setting so we can find os-specific modules like libdrm. --- hw/xfree86/loader/os.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/xfree86/loader/os.c b/hw/xfree86/loader/os.c index 42ab0bc70..83fd24787 100644 --- a/hw/xfree86/loader/os.c +++ b/hw/xfree86/loader/os.c @@ -33,10 +33,11 @@ /* * OSNAME is a standard form of the OS name that may be used by the - * loader and by OS-specific modules. + * loader and by OS-specific modules. OSNAME here is different from what's in + * dix-config.h */ -#ifndef OSNAME +#undef OSNAME #if defined(__linux__) #define OSNAME "linux" #elif defined(__FreeBSD__) @@ -66,7 +67,6 @@ #else #define OSNAME "unknown" #endif -#endif /* Return the OS name, and run-time OS version */ From a195a3debca02572d9f7d7a9976b5bf67acc5d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Sat, 24 Jun 2006 14:54:52 +0200 Subject: [PATCH 42/53] Fix byte swapping in some GLX requests. --- GL/glx/indirect_util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GL/glx/indirect_util.c b/GL/glx/indirect_util.c index c9d8600c8..bab0226be 100644 --- a/GL/glx/indirect_util.c +++ b/GL/glx/indirect_util.c @@ -185,8 +185,8 @@ __glXSendReplySwap( ClientPtr client, const void * data, size_t elements, } __glXReply.length = bswap_32( reply_ints ); - __glXReply.type = bswap_32( X_Reply ); - __glXReply.sequenceNumber = bswap_32( client->sequence ); + __glXReply.type = X_Reply; + __glXReply.sequenceNumber = bswap_16( client->sequence ); __glXReply.size = bswap_32( elements ); __glXReply.retval = bswap_32( retval ); From 4426215a6e99f84550aaac23ac9c2018668bfbc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Sat, 24 Jun 2006 15:02:56 +0200 Subject: [PATCH 43/53] Bug #7213: Fix the XFree86-DRI extension for byte-swapped clients. These clients are by definition non-local and thus not direct rendering capable, but they still need the QueryVersion and QueryDirectRenderingCapable requests to find out cleanly. --- hw/xfree86/dri/xf86dri.c | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c index 4b0e35459..5e460361b 100644 --- a/hw/xfree86/dri/xf86dri.c +++ b/hw/xfree86/dri/xf86dri.c @@ -81,6 +81,7 @@ static DISPATCH_PROC(ProcXF86DRIDispatch); static DISPATCH_PROC(ProcXF86DRIAuthConnection); static DISPATCH_PROC(SProcXF86DRIQueryVersion); +static DISPATCH_PROC(SProcXF86DRIQueryDirectRenderingCapable); static DISPATCH_PROC(SProcXF86DRIDispatch); static void XF86DRIResetProc(ExtensionEntry* extEntry); @@ -142,6 +143,9 @@ ProcXF86DRIQueryVersion( if (client->swapped) { swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); + swaps(&rep.majorVersion, n); + swaps(&rep.minorVersion, n); + swapl(&rep.patchVersion, n); } WriteToClient(client, sizeof(xXF86DRIQueryVersionReply), (char *)&rep); return (client->noClientException); @@ -154,6 +158,7 @@ ProcXF86DRIQueryDirectRenderingCapable( { xXF86DRIQueryDirectRenderingCapableReply rep; Bool isCapable; + register int n; REQUEST(xXF86DRIQueryDirectRenderingCapableReq); REQUEST_SIZE_MATCH(xXF86DRIQueryDirectRenderingCapableReq); @@ -172,9 +177,14 @@ ProcXF86DRIQueryDirectRenderingCapable( } rep.isCapable = isCapable; - if (!LocalClient(client)) + if (!LocalClient(client) || client->swapped) rep.isCapable = 0; + if (client->swapped) { + swaps(&rep.sequenceNumber, n); + swapl(&rep.length, n); + } + WriteToClient(client, sizeof(xXF86DRIQueryDirectRenderingCapableReply), (char *)&rep); return (client->noClientException); @@ -626,6 +636,18 @@ SProcXF86DRIQueryVersion( return ProcXF86DRIQueryVersion(client); } +static int +SProcXF86DRIQueryDirectRenderingCapable( + register ClientPtr client +) +{ + register int n; + REQUEST(xXF86DRIQueryDirectRenderingCapableReq); + swaps(&stuff->length, n); + swapl(&stuff->screen, n); + return ProcXF86DRIQueryDirectRenderingCapable(client); +} + static int SProcXF86DRIDispatch ( register ClientPtr client @@ -633,16 +655,17 @@ SProcXF86DRIDispatch ( { REQUEST(xReq); - /* It is bound to be non-local when there is byte swapping */ - if (!LocalClient(client)) - return DRIErrorBase + XF86DRIClientNotLocal; - - /* only local clients are allowed DRI access */ + /* + * Only local clients are allowed DRI access, but remote clients still need + * these requests to find out cleanly. + */ switch (stuff->data) { case X_XF86DRIQueryVersion: return SProcXF86DRIQueryVersion(client); + case X_XF86DRIQueryDirectRenderingCapable: + return SProcXF86DRIQueryDirectRenderingCapable(client); default: - return BadRequest; + return DRIErrorBase + XF86DRIClientNotLocal; } } From 36756fdb2ddc154b406f664a6af0f38d26e6973d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Sat, 24 Jun 2006 15:09:24 +0200 Subject: [PATCH 44/53] Make sure is actually included when needed. configure only defines HAVE_BACKTRACE, not HAVE_EXECINFO_H. This could cause problems on platforms where the size of a pointer is greater than that of an integer, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363218 . --- hw/xfree86/common/xf86Events.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c index 397f75dc1..831c68ad8 100644 --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c @@ -1255,12 +1255,8 @@ xf86InterceptSigIll(void (*sigillhandler)(void)) xf86SigIllHandler = sigillhandler; } -#ifdef HAVE_EXECINFO_H -#define HAVE_BACKTRACE -#include -#endif - #ifdef HAVE_BACKTRACE +#include static __inline__ void xorg_backtrace(void) { From 930b9a069a425818d4e9965f53be7df1f4d7d422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Sat, 24 Jun 2006 15:21:17 +0200 Subject: [PATCH 45/53] Bug #6818: Avoid infinite loop in exaLog2() with negative arguments. --- exa/exa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exa/exa.c b/exa/exa.c index 4b96af815..aa5532a98 100644 --- a/exa/exa.c +++ b/exa/exa.c @@ -158,7 +158,7 @@ exaLog2(int val) { int bits; - if (!val) + if (val <= 0) return 0; for (bits = 0; val != 0; bits++) val >>= 1; From afb84c2fca56887b3bfe7aa93f337c49b087acdc Mon Sep 17 00:00:00 2001 From: George Fufutos Date: Sat, 24 Jun 2006 15:23:14 +0200 Subject: [PATCH 46/53] Bug #6911: Check return value of exaGetPixelFromRGBA(). --- exa/exa_render.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/exa/exa_render.c b/exa/exa_render.c index 26b29ab04..b21c5d724 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -282,8 +282,12 @@ exaTryDriverSolidFill(PicturePtr pSrc, return -1; } - exaGetPixelFromRGBA(&pixel, red, green, blue, alpha, - pDst->format); + if (!exaGetPixelFromRGBA(&pixel, red, green, blue, alpha, + pDst->format)) + { + REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); + return -1; + } if (!(*pExaScr->info->PrepareSolid) (pDstPix, GXcopy, 0xffffffff, pixel)) { From 48c871564d493203d434d5da015903399287f619 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 26 Jun 2006 15:57:32 +0200 Subject: [PATCH 47/53] Move EXA_PM_IS_SOLID() to the public API, since drivers will want it frequently. --- exa/exa.h | 9 +++++++++ exa/exa_priv.h | 8 -------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/exa/exa.h b/exa/exa.h index 2cb200854..96465a775 100644 --- a/exa/exa.h +++ b/exa/exa.h @@ -36,6 +36,7 @@ #include "windowstr.h" #include "gcstruct.h" #include "picturestr.h" +#include "fb.h" #define EXA_VERSION_MAJOR 2 #define EXA_VERSION_MINOR 0 @@ -715,4 +716,12 @@ exaGetPixmapSize(PixmapPtr pPix); void exaEnableDisableFBAccess (int index, Bool enable); +/** + * Returns TRUE if the given planemask covers all the significant bits in the + * pixel values for pDrawable. + */ +#define EXA_PM_IS_SOLID(_pDrawable, _pm) \ + (((_pm) & FbFullMask((_pDrawable)->depth)) == \ + FbFullMask((_pDrawable)->depth)) + #endif /* EXA_H */ diff --git a/exa/exa_priv.h b/exa/exa_priv.h index 90af55335..03ee0eddb 100644 --- a/exa/exa_priv.h +++ b/exa/exa_priv.h @@ -137,14 +137,6 @@ extern int exaPixmapPrivateIndex; /** Align an offset to a power-of-two alignment */ #define EXA_ALIGN2(offset, align) (((offset) + (align) - 1) & ~((align) - 1)) -/** - * Returns TRUE if the given planemask covers all the significant bits in the - * pixel values for pDrawable. - */ -#define EXA_PM_IS_SOLID(_pDrawable, _pm) \ - (((_pm) & FbFullMask((_pDrawable)->depth)) == \ - FbFullMask((_pDrawable)->depth)) - #define EXA_PIXMAP_SCORE_MOVE_IN 10 #define EXA_PIXMAP_SCORE_MAX 20 #define EXA_PIXMAP_SCORE_MOVE_OUT -10 From b3c869304cd85af034aa9debaa874e29d14fcbe6 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Mon, 26 Jun 2006 10:48:44 -0700 Subject: [PATCH 48/53] Free small, one-time memory leak in xdmcp -from handling Part of Patch #6046 --- os/xdmcp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/os/xdmcp.c b/os/xdmcp.c index 3aad4eee3..4f87097a0 100644 --- a/os/xdmcp.c +++ b/os/xdmcp.c @@ -1603,6 +1603,10 @@ get_fromaddr_by_name( , &ai, &aifirst #endif ); +#if defined(IPv6) && defined(AF_INET6) + if (aifirst != NULL) + freeaddrinfo(aifirst); +#endif xdm_from = argv[i]; } From 63c169e3b1f7d6a7375a414fcd50cce32358a525 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 27 Jun 2006 04:11:47 +0200 Subject: [PATCH 49/53] Fix MMX Saturate implementation. The code was expanding the source blend factor from the wrong channel. Fixes cairo's clip-operator test. --- fb/fbmmx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fb/fbmmx.c b/fb/fbmmx.c index d058ffae4..f74930a39 100644 --- a/fb/fbmmx.c +++ b/fb/fbmmx.c @@ -591,7 +591,7 @@ mmxCombineSaturateU (CARD32 *dest, const CARD32 *src, int width) if (sa > da) { __m64 msa = load8888(FbIntDiv(da, sa)); - msa = expand_alpha(msa); + msa = expand_alpha_rev(msa); ms = pix_multiply(ms, msa); } md = pix_add(md, ms); From adfe8e7437ff739f54d1d074008e8cc0e3bcb4d3 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 27 Jun 2006 21:49:00 +0200 Subject: [PATCH 50/53] Bump server release to 7.1.99.1. This will be important for a couple of cairo workaround tests. --- configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index b8d942ee7..af7d06687 100644 --- a/configure.ac +++ b/configure.ac @@ -294,9 +294,9 @@ AC_DEFINE_UNQUOTED(OSNAME, "$OSNAME", DEFAULT_VENDOR_NAME="The X.Org Foundation" DEFAULT_VENDOR_NAME_SHORT="X.Org" DEFAULT_VERSION_MAJOR=7 -DEFAULT_VERSION_MINOR=0 -DEFAULT_VERSION_PATCH=0 -DEFAULT_VERSION_SNAP=0 +DEFAULT_VERSION_MINOR=1 +DEFAULT_VERSION_PATCH=99 +DEFAULT_VERSION_SNAP=1 DEFAULT_RELEASE_DATE="21 December 2005" DEFAULT_VENDOR_WEB="http://wiki.x.org" From 54d9acd5113318274e291abab4554b8e678227df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 27 Jun 2006 19:44:52 -0400 Subject: [PATCH 51/53] Add damage tracking to GLX_EXT_tfp implementation. - Only update when pixmap content actually change; - Only update the regions that acutally changed. This is a worthwhile optimization, but it doesn't completely remove the bottleneck, as mesa still uploads then entire texture whenever it changes. --- GL/glx/glxcmds.c | 1 + GL/glx/glxdrawable.h | 4 +- GL/glx/glxdri.c | 138 ++++++++++++++++++++++++++++++------------- GL/glx/glxext.c | 4 ++ 4 files changed, 106 insertions(+), 41 deletions(-) diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c index 3202f75dc..79fee207a 100644 --- a/GL/glx/glxcmds.c +++ b/GL/glx/glxcmds.c @@ -1263,6 +1263,7 @@ int DoCreateGLXPixmap(__GLXclientState *cl, VisualID visual, pGlxPixmap->pGlxScreen = pGlxScreen; pGlxPixmap->pScreen = pScreen; pGlxPixmap->idExists = True; + pGlxPixmap->pDamage = NULL; pGlxPixmap->refcnt = 0; pGlxPixmap->modes = modes; diff --git a/GL/glx/glxdrawable.h b/GL/glx/glxdrawable.h index 2d5d07a79..4514e263e 100644 --- a/GL/glx/glxdrawable.h +++ b/GL/glx/glxdrawable.h @@ -41,6 +41,8 @@ ** */ +#include + typedef struct { DrawablePtr pDraw; @@ -49,7 +51,7 @@ typedef struct { ScreenPtr pScreen; Bool idExists; int refcnt; - + DamagePtr pDamage; } __GLXpixmap; struct __GLXdrawable { diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c index 4935b0aca..c0339050f 100644 --- a/GL/glx/glxdri.c +++ b/GL/glx/glxdri.c @@ -296,24 +296,18 @@ glxCountBits(int word) } static void -glxFillAlphaChannel (PixmapPtr pixmap) +glxFillAlphaChannel (PixmapPtr pixmap, int x, int y, int width, int height) { - int i, j; - CARD32 *pixels = (CARD32 *)pixmap->devPrivate.ptr; + int i; + CARD32 *p, *end, *pixels = (CARD32 *)pixmap->devPrivate.ptr; CARD32 rowstride = pixmap->devKind / 4; - CARD32 x, y; - - x = pixmap->drawable.x; - y = pixmap->drawable.y; - for (i = y; i < pixmap->drawable.height + y; ++i) + for (i = y; i < y + height; i++) { - for (j = x; j < pixmap->drawable.width + x; ++j) - { - int index = i * rowstride + j; - - pixels[index] |= 0xFF000000; - } + p = &pixels[i * rowstride + x]; + end = p + width; + while (p < end) + *p++ |= 0xFF000000; } } @@ -326,7 +320,6 @@ glxFillAlphaChannel (PixmapPtr pixmap) * - No fbconfig handling for TEXTURE_TARGET * - No fbconfig exposure of Y inversion state * - No GenerateMipmapEXT support (due to no FBO support) - * - No damage tracking between binds * - No support for anything but 16bpp and 32bpp-sparse pixmaps */ @@ -335,38 +328,103 @@ __glXDRIbindTexImage(__GLXcontext *baseContext, int buffer, __GLXpixmap *glxPixmap) { + RegionPtr pRegion; PixmapPtr pixmap; int bpp; - Bool npot; + GLenum target, format, type; pixmap = (PixmapPtr) glxPixmap->pDraw; - bpp = pixmap->drawable.depth >= 24 ? 4 : 2; /* XXX 24bpp packed, 8, etc */ - + if (!glxPixmap->pDamage) { + glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone, + TRUE, glxPixmap->pScreen, NULL); + if (!glxPixmap->pDamage) + return BadAlloc; + + DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage); + pRegion = NULL; + } else { + pRegion = DamageRegion(glxPixmap->pDamage); + if (REGION_NIL(pRegion)) + return Success; + } + + /* XXX 24bpp packed, 8, etc */ + if (pixmap->drawable.depth >= 24) { + bpp = 4; + format = GL_BGRA; + type = GL_UNSIGNED_BYTE; + } else { + bpp = 2; + format = GL_RGB; + type = GL_UNSIGNED_SHORT_5_6_5; + } + + if (!(glxCountBits(pixmap->drawable.width) == 1 && + glxCountBits(pixmap->drawable.height) == 1) + /* || strstr(CALL_GetString(GL_EXTENSIONS, + "GL_ARB_texture_non_power_of_two")) */) + target = GL_TEXTURE_RECTANGLE_ARB; + else + target = GL_TEXTURE_2D; + CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, - pixmap->devKind / bpp) ); - CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, - pixmap->drawable.y) ); - CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, - pixmap->drawable.x) ); + pixmap->devKind / bpp) ); + if (pRegion == NULL) + { + if (pixmap->drawable.depth == 24) + glxFillAlphaChannel(pixmap, + pixmap->drawable.x, + pixmap->drawable.y, + pixmap->drawable.width, + pixmap->drawable.height); - if (pixmap->drawable.depth == 24) - glxFillAlphaChannel(pixmap); + CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, + pixmap->drawable.x) ); + CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, + pixmap->drawable.y) ); - npot = !(glxCountBits(pixmap->drawable.width) == 1 && - glxCountBits(pixmap->drawable.height) == 1) /* || - strstr(CALL_GetString(GL_EXTENSIONS, - "GL_ARB_texture_non_power_of_two")) */ ; - - CALL_TexImage2D( GET_DISPATCH(), - ( npot ? GL_TEXTURE_RECTANGLE_ARB : GL_TEXTURE_2D, - 0, - bpp == 4 ? 4 : 3, - pixmap->drawable.width, - pixmap->drawable.height, - 0, - bpp == 4 ? GL_BGRA : GL_RGB, - bpp == 4 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT_5_6_5, - pixmap->devPrivate.ptr ) ); + CALL_TexImage2D( GET_DISPATCH(), + (target, + 0, + bpp == 4 ? 4 : 3, + pixmap->drawable.width, + pixmap->drawable.height, + 0, + format, + type, + pixmap->devPrivate.ptr) ); + } else { + int i, numRects; + BoxPtr p; + + numRects = REGION_NUM_RECTS (pRegion); + p = REGION_RECTS (pRegion); + for (i = 0; i < numRects; i++) + { + if (pixmap->drawable.depth == 24) + glxFillAlphaChannel(pixmap, + pixmap->drawable.x + p[i].x1, + pixmap->drawable.y + p[i].y1, + p[i].x2 - p[i].x1, + p[i].y2 - p[i].y1); + + CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, + pixmap->drawable.x + p[i].x1) ); + CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, + pixmap->drawable.y + p[i].y1) ); + + CALL_TexSubImage2D( GET_DISPATCH(), + (target, + 0, + p[i].x1, p[i].y1, + p[i].x2 - p[i].x1, p[i].y2 - p[i].y1, + format, + type, + pixmap->devPrivate.ptr) ); + } + } + + DamageEmpty(glxPixmap->pDamage); return Success; } diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c index c2a165efe..cc5dd965a 100644 --- a/GL/glx/glxext.c +++ b/GL/glx/glxext.c @@ -141,6 +141,10 @@ static int PixmapGone(__GLXpixmap *pGlxPixmap, XID id) pGlxPixmap->idExists = False; if (!pGlxPixmap->refcnt) { + if (pGlxPixmap->pDamage) { + DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage); + DamageDestroy(pGlxPixmap->pDamage); + } /* ** The DestroyPixmap routine should decrement the refcount and free ** only if it's zero. From 6bd4c254396cb0f4e8ae21ff455ebb15cd9f4f10 Mon Sep 17 00:00:00 2001 From: Martin Bochnig Date: Mon, 26 Jun 2006 01:52:24 +0200 Subject: [PATCH 52/53] Updated Solaris aperture driver to build on sun4v & amd64 kernels Updated for Solaris 10 changes to DDI --- hw/xfree86/os-support/solaris/apSolaris.shar | 378 ++++++++++--------- 1 file changed, 208 insertions(+), 170 deletions(-) diff --git a/hw/xfree86/os-support/solaris/apSolaris.shar b/hw/xfree86/os-support/solaris/apSolaris.shar index c8e2cfa49..a3548f7b4 100644 --- a/hw/xfree86/os-support/solaris/apSolaris.shar +++ b/hw/xfree86/os-support/solaris/apSolaris.shar @@ -1,40 +1,28 @@ #!/bin/sh -# $XFree86$ -# This is a shell archive (produced by GNU sharutils 4.2c). -# To extract the files from this archive, save it to some FILE, remove -# everything before the `!/bin/sh' line above, then type `sh FILE'. # -# Made on 2002-10-04 13:41 MDT by . -# Source directory was `/archives'. +# This is a shell archive. Save it in a file, remove anything before +# this line, and then unpack it by entering "sh file". Note, it may +# create directories; files and directories will be owned by you and +# have default permissions. +# Made on Sun Jun 25 20:24:59 CEST 2006 by Martin Bochnig at martux.org # -# Existing files will *not* be overwritten unless `-c' is specified. -# This format requires very little intelligence at unshar time. -# "if test", "echo", "mkdir", and "sed" may be needed. +# This archive contains: # -# This shar contains: -# length mode name -# ------ ---------- ------------------------------------------ -# 1521 -rw-r--r-- aperture/Makefile -# 1659 -rw-r--r-- aperture/README -# 7557 -rw-r--r-- aperture/aperture.c -# 450 -rw-r--r-- aperture/aperture.conf -# 87 -rw-r--r-- aperture/devlink.tab -# 1062 -rw-r--r-- aperture/Makefile.sun4u +# ./aperture +# +# ./aperture/Makefile +# ./aperture/Makefile.amd64 +# ./aperture/Makefile.sparcv9 +# ./aperture/README +# ./aperture/aperture.c +# ./aperture/aperture.conf +# ./aperture/devlink.tab # -echo=echo -shar_tty= shar_n= shar_c=' -' -mkdir _sh09806 || ( echo 'failed to create locking directory' '_sh09806'; exit 1 ) -# ============= aperture/Makefile ============== -if test ! -d 'aperture'; then - $echo $echo_n 'x -' 'aperture: '$echo_c - if mkdir 'aperture'; then $echo 'created'; else $echo 'failed to create'; fi -fi -if test -f 'aperture/Makefile' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/Makefile' '(file already exists)' -else - $echo 'x -' extracting 'aperture/Makefile' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/Makefile' && +echo c - ./aperture +mkdir -p ./aperture > /dev/null 2>&1 +# +echo x - ./aperture/Makefile +sed 's/^X//' >./aperture/Makefile << 'END-of-./aperture/Makefile' X# X# File: makefile for aperture Framebuffer Driver X# Author: Doug Anson (danson@lgc.com) @@ -46,14 +34,22 @@ X# Modified: Marc Aurele La France (tsi@xfree86.org) X# Date: 2001.06.08 X# - SPARC support, cleanup and turf aptest. X# -X# >>NOTE<< Have a look at Makefile.sun4u for sun4u specifics. +X# >>NOTE<< Have a look at Makefile.sparcv9 for specifics. +X# +X# Modified: Martin Bochnig (martin@martux.org) +X# Date: 2006.06.24 +X# - Slightly modified to also build on Solaris 10 and 11. +X# - amd64 64 bit kernel support +X# - cosmetical changes to also support sun4v, not only sun4u +X# +X# >>NOTE<< Have a look at Makefile.amd64 for amd64 specifics. X# X# GNU gcc compiler XCC=gcc XCFLGS=-fno-builtin -Wall -O3 X X# -X# Proworks compiler +X# SUNWspro compiler X#CC=/opt/SUNWspro/bin/cc X#CFLGS=-Xa -xnolib -xO3 X @@ -75,26 +71,26 @@ X# Make rules Xall: $(DRIVER) X X$(DRIVER): $(OBJS) -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` $(DRIVER); \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` $(DRIVER); \ X else \ X rm -f $(DRIVER); \ X ld -r -o $(DRIVER) $(OBJS); \ X fi X Xinstall: $(DRIVER) -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` install; \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` install; \ X else \ X cp aperture.conf /kernel/drv; \ X cp $(DRIVER) /kernel/drv; \ X fi X Xadd_drv: -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` add_drv; \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` add_drv; \ X else \ -X add_drv /kernel/drv/aperture; \ +X add_drv aperture; \ X fi X Xclean: @@ -106,29 +102,156 @@ X.c.i: X $(CC) -E $(CFLAGS) $*.c > $@ X X.c.o: -X @if [ -f "Makefile.`uname -m`" ]; then \ -X make -f Makefile.`uname -m` $@; \ +X @if [ -f "Makefile.`isainfo -k`" ]; then \ +X make -f Makefile.`isainfo -k` $@; \ X else \ X rm -f $@; \ X $(CC) -c $(CFLAGS) $*.c -o $@; \ X fi -SHAR_EOF - : || $echo 'restore of' 'aperture/Makefile' 'failed' -fi -# ============= aperture/README ============== -if test -f 'aperture/README' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/README' '(file already exists)' -else - $echo 'x -' extracting 'aperture/README' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/README' && -XFramebuffer apperture driver. +END-of-./aperture/Makefile +echo x - ./aperture/Makefile.amd64 +sed 's/^X//' >./aperture/Makefile.amd64 << 'END-of-./aperture/Makefile.amd64' +X# +X# File: Makefile for aperture Framebuffer Driver +X# Author: Doug Anson (danson@lgc.com) +X# Date: 2/15/94 +X# Modified: David Holland (davidh@use.com) +X# Date: 2/23/94 +X# - Changed name, and debugging structure +X# Modified: Marc Aurele La France (tsi@xfree86.org) +X# Date: 2001.06.08 +X# - SPARC support, cleanup and turf aptest. +X# Modified: Martin Bochnig (martin@martux.org) +X# - amd64 64 bit kernel support, cosmetics and also +X# supporting sun4v (and arbitrary sparcv9) platforms +X# as well as SunOS 5.10 or higher now +X# - Changed name +X# +X +X# +X# GNU gcc compiler, version 3.2 or later +X# +XCC=gcc +XCFLGS=-fno-builtin -Wall -O3 -m64 -mcmodel=kernel +X +X# +X# SUNWspro compiler (untested, might not properly work for amd64 here) +X#CC=/opt/SUNWspro/bin/cc +X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 +X +X# +X# Debug error reporting +X#DEBUG_FLG= +X#DEBUG_FLG=-DAPERTURE_DEBUG +X +X# +X# Files and object declarations +XKERNEL_FLGS=-D_KERNEL -DSUNDDI +XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) +XCFILES= aperture.c +XOBJS= aperture.o +XDRIVER= aperture +X +X# +X# Make rules +Xall: $(DRIVER) +X +X$(DRIVER): $(OBJS) +X rm -f $(DRIVER) +X ld -r -o $(DRIVER) $(OBJS) +X +Xinstall: $(DRIVER) +X cp aperture.conf /kernel/drv +X cp $(DRIVER) /kernel/drv/amd64 +X +Xadd_drv: +X add_drv aperture +X +Xclean: +X rm -f *% *.BAK $(OBJS) $(DRIVER) core +X +X.SUFFIXES: .i +X +X.c.i: +X $(CC) -E $(CFLAGS) $*.c > $@ +END-of-./aperture/Makefile.amd64 +echo x - ./aperture/Makefile.sparcv9 +sed 's/^X//' >./aperture/Makefile.sparcv9 << 'END-of-./aperture/Makefile.sparcv9' +X# +X# File: makefile for aperture Framebuffer Driver +X# Author: Doug Anson (danson@lgc.com) +X# Date: 2/15/94 +X# Modified: David Holland (davidh@use.com) +X# Date: 2/23/94 +X# - Changed name, and debugging structure +X# Modified: Marc Aurele La France (tsi@xfree86.org) +X# Date: 2001.06.08 +X# - SPARC support, cleanup and turf aptest. +X# Modified: Martin Bochnig (martin@martux.org) +X# Date: 2006.06.24 +X# - Changed name for generic sparcv9 support +X# - updated to better work with Solaris 10 and 11 +X# +X +X# +X# GNU gcc compiler, version 3.2 or later +X# +XCC=gcc +XCFLGS=-fno-builtin -Wall -O3 -m64 +X +X# +X# SUNWspro compiler +X#CC=/opt/SUNWspro/bin/cc +X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 +X +X# +X# Debug error reporting +X#DEBUG_FLG= +X#DEBUG_FLG=-DAPERTURE_DEBUG +X +X# +X# Files and object declarations +XKERNEL_FLGS=-D_KERNEL -DSUNDDI +XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) +XCFILES= aperture.c +XOBJS= aperture.o +XDRIVER= aperture +X +X# +X# Make rules +Xall: $(DRIVER) +X +X$(DRIVER): $(OBJS) +X rm -f $(DRIVER) +X ld -r -o $(DRIVER) $(OBJS) +X +Xinstall: $(DRIVER) +X cp aperture.conf /kernel/drv +X cp $(DRIVER) /kernel/drv/sparcv9 +X +Xadd_drv: +X add_drv aperture +X +Xclean: +X rm -f *% *.BAK $(OBJS) $(DRIVER) core +X +X.SUFFIXES: .i +X +X.c.i: +X $(CC) -E $(CFLAGS) $*.c > $@ +END-of-./aperture/Makefile.sparcv9 +echo x - ./aperture/README +sed 's/^X//' >./aperture/README << 'END-of-./aperture/README' +XFramebuffer aperture driver. X XThis driver was written to provide a device that, unlike /dev/mem, allows Xmmap()'ing of ranges beyond installed memory. X -XThe original x86-based version of this driver was the corroborative work of +XThe original x86-based version of this driver was the collaborative work of XDoug Anson (danson@lgc.com), and David Holland (davidh@use.com). It has since -Xbeen rewritten to also work on sun4u machines. +Xbeen rewritten to also work on sparc machines and - later on - also on sparcv9 +Xand recently amd64 64 bit kernels. +XIt flawlessly compiles and installs on Solaris 10 and 11 now. X X XInstallation instructions: @@ -137,23 +260,23 @@ X1) Check the Makefile, for appropriate CC, and CFLAGS definitions. Compiling X with APERTURE_DEBUG defined means the driver will generate reams of X debugging output. You'll probably want to leave this off... X -X2) type 'make'. The driver and test program should compile with out any -X problems. There also should not be any warning messages. +X2) Type 'make' (or 'gmake'). Both the driver and test program should compile +X without any problems. No warning messages should be generated. X X3) Become 'root'. X -X4) type 'make install' and 'make add_drv'. The screen should look something +X4) Type 'make install' and 'make add_drv'. The screen should look something X like this: X X # make install X cp aperture aperture.conf /kernel/drv X # make add_drv -X add_drv /kernel/drv/aperture +X add_drv aperture X -X On a sun4u machine this will mention the /kernel/drv/sparcv9 directory -X instead of /kernel/drv. +X On a sparcv9 machine this will mention the /kernel/drv/sparcv9 directory +X instead of /kernel/drv. Similarily /kernel/drv/amd64 should be used on amd64. X -X This installs the driver in the system. +X This installs the driver to the system. X X5) While as root modify the file /etc/devlink.tab, adding these lines: X @@ -163,7 +286,7 @@ X X Add that line exactly as shown. You may also simply add the X contents of the devlink.tab file supplied to /etc/devlink.tab. X It contains the lines as well. (Yes, that is a tab between -X aperture, and fbs, not spaces - very important) +X aperture and fbs, not spaces - very important) X X6) Perform a reconfiguration boot of the system. X @@ -171,15 +294,9 @@ X # touch /reconfigure X # init 6 X XBug reports, questions, suggestions, etc can be sent to xfree86@xfree86.org. -SHAR_EOF - : || $echo 'restore of' 'aperture/README' 'failed' -fi -# ============= aperture/aperture.c ============== -if test -f 'aperture/aperture.c' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/aperture.c' '(file already exists)' -else - $echo 'x -' extracting 'aperture/aperture.c' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/aperture.c' && +END-of-./aperture/README +echo x - ./aperture/aperture.c +sed 's/^X//' >./aperture/aperture.c << 'END-of-./aperture/aperture.c' X/* X * Copyright (C) 2001 The XFree86 Project, Inc. All Rights Reserved. X * @@ -210,6 +327,13 @@ X/* X * Aperture driver for Solaris. X */ X +X/* +X * Modified: Martin Bochnig (martin@martux.org) +X * Log: Commented out obsolete kernel interfaces DDI_IDENTIFIED and DDI_NOT_IDENTIFIED +X * not supported by SunOS 5.10 or higher anymore, +X * see http://docs.sun.com/app/docs/doc/819-2255/6n4ibnffr?a=view +X */ +X X#include X#include X#include @@ -412,9 +536,9 @@ X X#endif X X if (strcmp(ddi_get_name(dip), DEV_IDENT)) -X error = DDI_NOT_IDENTIFIED; +X error = 1 /* DDI_NOT_IDENTIFIED obsolete since SunOS 5.10 */ ; X else -X error = DDI_IDENTIFIED; +X error = 2 /* DDI_IDENTIFIED obsolete since SunOS 5.10 */ ; X X#ifdef APERTURE_DEBUG X @@ -465,7 +589,7 @@ X else X { X error = ddi_create_minor_node(dip, ddi_get_name(dip), S_IFCHR, X (minor_t)ddi_get_instance(dip), -X NULL, NODESPECIFIC_DEV); +X NULL, 0 /* NODESPECIFIC_DEV obsolete since SunOS 5.10 */ ); X X if (error == DDI_SUCCESS) X { @@ -653,15 +777,9 @@ X#endif X X return error; X} -SHAR_EOF - : || $echo 'restore of' 'aperture/aperture.c' 'failed' -fi -# ============= aperture/aperture.conf ============== -if test -f 'aperture/aperture.conf' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/aperture.conf' '(file already exists)' -else - $echo 'x -' extracting 'aperture/aperture.conf' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/aperture.conf' && +END-of-./aperture/aperture.c +echo x - ./aperture/aperture.conf +sed 's/^X//' >./aperture/aperture.conf << 'END-of-./aperture/aperture.conf' X# X# Copyright 1994 Doug Anson, danson@lgc.com & David Holland, davidh@use.com X# @@ -678,91 +796,11 @@ X# X# Purpose: This conf file is used by the aperture driver. X# Xname="aperture" parent="pseudo"; -SHAR_EOF - : || $echo 'restore of' 'aperture/aperture.conf' 'failed' -fi -# ============= aperture/devlink.tab ============== -if test -f 'aperture/devlink.tab' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/devlink.tab' '(file already exists)' -else - $echo 'x -' extracting 'aperture/devlink.tab' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/devlink.tab' && +END-of-./aperture/aperture.conf +echo x - ./aperture/devlink.tab +sed 's/^X//' >./aperture/devlink.tab << 'END-of-./aperture/devlink.tab' X# The following entry is for the aperture driver Xtype=ddi_pseudo;name=aperture fbs/\M0 -SHAR_EOF - : || $echo 'restore of' 'aperture/devlink.tab' 'failed' -fi -# ============= aperture/Makefile.sun4u ============== -if test -f 'aperture/Makefile.sun4u' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'aperture/Makefile.sun4u' '(file already exists)' -else - $echo 'x -' extracting 'aperture/Makefile.sun4u' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'aperture/Makefile.sun4u' && -X# -X# File: makefile for aperture Framebuffer Driver -X# Author: Doug Anson (danson@lgc.com) -X# Date: 2/15/94 -X# Modified: David Holland (davidh@use.com) -X# Date: 2/23/94 -X# - Changed name, and debugging structure -X# Modified: Marc Aurele La France (tsi@xfree86.org) -X# Date: 2001.06.08 -X# - SPARC support, cleanup and turf aptest. -X# -X -X# -X# GNU gcc compiler, version 3.2 or later -X# -XCC=gcc -XCFLGS=-fno-builtin -Wall -O3 -m64 -X -X# -X# Proworks compiler -X#CC=/opt/SUNWspro/bin/cc -X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 -X -X# -X# Debug error reporting -X#DEBUG_FLG= -X#DEBUG_FLG=-DAPERTURE_DEBUG -X -X# -X# Files and object declarations -XKERNEL_FLGS=-D_KERNEL -DSUNDDI -XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) -XCFILES= aperture.c -XOBJS= aperture.o -XDRIVER= aperture -X -X# -X# Make rules -Xall: $(DRIVER) -X -X$(DRIVER): $(OBJS) -X rm -f $(DRIVER) -X ld -r -o $(DRIVER) $(OBJS) -X -Xinstall: $(DRIVER) -X cp aperture.conf /kernel/drv -X cp $(DRIVER) /kernel/drv/sparcv9 -X -Xadd_drv: -X add_drv /kernel/drv/sparcv9/aperture -X -Xclean: -X rm -f *% *.BAK $(OBJS) $(DRIVER) core -X -X.SUFFIXES: .i -X -X.c.i: -X $(CC) -E $(CFLAGS) $*.c > $@ -SHAR_EOF - : || $echo 'restore of' 'aperture/Makefile.sun4u' 'failed' -fi -$echo $shar_n 'x -' 'lock directory' "\`_sh09806': " $shar_c -if rm -fr _sh09806; then - $echo 'removed' -else - $echo 'failed to remove' -fi -exit 0 +END-of-./aperture/devlink.tab +exit + From 179737d4a07ed10a734fe017b5680f8e78ffda96 Mon Sep 17 00:00:00 2001 From: Jens Granseuer Date: Wed, 7 Jun 2006 01:46:00 -0700 Subject: [PATCH 53/53] Bug 7145: fix build with gcc 2.95 & other c89 compilers Move variable declarations to start of blocks as required by c89 --- exa/exa.c | 5 ++++- hw/xfree86/common/xf86Config.c | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/exa/exa.c b/exa/exa.c index aa5532a98..1022b2ec3 100644 --- a/exa/exa.c +++ b/exa/exa.c @@ -523,6 +523,9 @@ exaDriverInit (ScreenPtr pScreen, ExaDriverPtr pScreenInfo) { ExaScreenPrivPtr pExaScr; +#ifdef RENDER + PictureScreenPtr ps; +#endif if (pScreenInfo->exa_major != EXA_VERSION_MAJOR || pScreenInfo->exa_minor > EXA_VERSION_MINOR) @@ -536,7 +539,7 @@ exaDriverInit (ScreenPtr pScreen, } #ifdef RENDER - PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); + ps = GetPictureScreenIfSet(pScreen); #endif if (exaGeneration != serverGeneration) { diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c index 36dde3031..d9f1dd903 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -617,6 +617,9 @@ static Bool configFiles(XF86ConfFilesPtr fileconf) { MessageType pathFrom = X_DEFAULT; + int countDirs; + char *temp_path; + char *log_buf; /* FontPath */ @@ -676,13 +679,13 @@ configFiles(XF86ConfFilesPtr fileconf) FatalError("No valid FontPath could be found."); /* make fontpath more readable in the logfiles */ - int countDirs = 1; - char *temp_path = defaultFontPath; + countDirs = 1; + temp_path = defaultFontPath; while((temp_path = index(temp_path, ',')) != NULL) { countDirs++; temp_path++; } - char *log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1); + log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1); if(!log_buf) /* fallback to old method */ xf86Msg(pathFrom, "FontPath set to \"%s\"\n", defaultFontPath); else {