summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@benzedrine.nwnk.net>2006-07-26 19:03:39 -0400
committerAdam Jackson <ajax@benzedrine.nwnk.net>2006-07-26 19:03:39 -0400
commit990a4009057e068f41d20b95aa0c59357185650d (patch)
tree7bd1dd6832f839f00a71ed79f06d59323840409c
parent39158e98acb29e97a2682d4a37385f9141b484c4 (diff)
Remove getconfig horrorshow. Replace with a static built-in rule list for now.
-rw-r--r--configure.ac1
-rw-r--r--hw/xfree86/Makefile.am4
-rw-r--r--hw/xfree86/common/xf86AutoConfig.c204
-rw-r--r--hw/xfree86/getconfig/.gitignore4
-rw-r--r--hw/xfree86/getconfig/Makefile.am56
-rw-r--r--hw/xfree86/getconfig/cfg.man.pre137
-rw-r--r--hw/xfree86/getconfig/cfg.sample110
-rw-r--r--hw/xfree86/getconfig/getconfig43
-rw-r--r--hw/xfree86/getconfig/getconfig.man.pre98
-rw-r--r--hw/xfree86/getconfig/getconfig.pl433
-rw-r--r--hw/xfree86/getconfig/xorg.cfg50
11 files changed, 64 insertions, 1076 deletions
diff --git a/configure.ac b/configure.ac
index f8aa32a7b..c14187eb7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1659,7 +1659,6 @@ hw/xfree86/dri/Makefile
hw/xfree86/dummylib/Makefile
hw/xfree86/exa/Makefile
hw/xfree86/fbdevhw/Makefile
-hw/xfree86/getconfig/Makefile
hw/xfree86/i2c/Makefile
hw/xfree86/int10/Makefile
hw/xfree86/loader/Makefile
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index 3a5ef65ac..525c4e0a2 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -7,12 +7,12 @@ DOC_SUBDIR = doc
SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser rac \
ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp xf8_16bpp \
xf8_32bpp loader scanpci dixmods exa \
- $(DRI_SUBDIR) utils $(DOC_SUBDIR) getconfig
+ $(DRI_SUBDIR) utils $(DOC_SUBDIR)
DIST_SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support \
parser rac ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp \
xf8_16bpp xf8_32bpp loader scanpci dixmods dri exa \
- utils doc getconfig
+ utils doc
bin_PROGRAMS = Xorg
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
index f0a41c67c..37cf52e34 100644
--- a/hw/xfree86/common/xf86AutoConfig.c
+++ b/hw/xfree86/common/xf86AutoConfig.c
@@ -1,6 +1,3 @@
-/* $DHD: xc/programs/Xserver/hw/xfree86/common/xf86AutoConfig.c,v 1.15 2003/09/24 19:39:36 dawes Exp $ */
-/* $XdotOrg: $ */
-
/*
* Copyright 2003 by David H. Dawes.
* Copyright 2003 by X-Oz Technologies.
@@ -32,7 +29,6 @@
* Author: David Dawes <dawes@XFree86.Org>.
*/
-
#ifdef HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#endif
@@ -44,9 +40,7 @@
#include "xf86Priv.h"
#include "xf86_OSlib.h"
-/*
- * Sections for the default built-in configuration.
- */
+/* Sections for the default built-in configuration. */
#define BUILTIN_MODULE_SECTION \
"Section \"Module\"\n" \
@@ -100,17 +94,6 @@
#define BUILTIN_LAYOUT_SECTION_POST \
"EndSection\n\n"
-
-#ifndef GET_CONFIG_CMD
-#define GET_CONFIG_CMD "getconfig"
-#endif
-
-#ifndef GETCONFIG_DIR
-#define GETCONFIG_DIR PROJECTROOT "/lib/X11/getconfig"
-#endif
-
-#define GETCONFIG_WHITESPACE " \t\n"
-
static const char **builtinConfig = NULL;
static int builtinLines = 0;
static const char *deviceList[] = {
@@ -170,6 +153,61 @@ AppendToConfig(const char *s)
AppendToList(s, &builtinConfig, &builtinLines);
}
+static const char *
+videoPtrToDriverName(pciVideoPtr info)
+{
+ /*
+ * things not handled yet:
+ * amd/cyrix/nsc
+ * xgi
+ */
+
+ switch (info->vendor)
+ {
+ case 0x1142: return "apm";
+ case 0xedd8: return "ark";
+ case 0x1a03: return "ast";
+ case 0x1002: return "ati";
+ case 0x102c: return "chips";
+ case 0x1013: return "cirrus";
+ case 0x8086:
+ if ((info->chipType == 0x00d1) || (info->chipType == 0x7800))
+ return "i740";
+ else return "i810";
+ case 0x102b: return "mga";
+ case 0x10c8: return "neomagic";
+ case 0x105d: return "i128";
+ case 0x10de: case 0x12d2: return "nv";
+ case 0x1163: return "rendition";
+ case 0x5333:
+ switch (info->chipType)
+ {
+ case 0x88d0: case 0x88d1: case 0x88f0: case 0x8811:
+ case 0x8812: case 0x8814: case 0x8901:
+ return "s3";
+ case 0x5631: case 0x883d: case 0x8a01: case 0x8a10:
+ case 0x8c01: case 0x8c03: case 0x8904: case 0x8a13:
+ return "s3virge";
+ default:
+ return "savage";
+ }
+ case 0x1039: return "sis";
+ case 0x126f: return "siliconmotion";
+ case 0x121a:
+ if (info->chipType < 0x0003)
+ return "voodoo";
+ else
+ return "tdfx";
+ case 0x3d3d: return "glint";
+ case 0x1023: return "trident";
+ case 0x100c: return "tseng";
+ case 0x1106: return "via";
+ case 0x15ad: return "vmware";
+ default: break;
+ }
+ return NULL;
+}
+
Bool
xf86AutoConfig(void)
{
@@ -177,7 +215,6 @@ xf86AutoConfig(void)
char buf[1024];
pciVideoPtr *pciptr, info = NULL;
char *driver = NULL;
- FILE *gp = NULL;
ConfigStatus ret;
/* Find the primary device, and get some information about it. */
@@ -194,108 +231,8 @@ xf86AutoConfig(void)
ErrorF("xf86PciVideoInfo is not set\n");
}
- if (info) {
- char *tmp;
- char *path = NULL, *a, *b;
- char *searchPath = NULL;
-
- /*
- * Look for the getconfig program first in the xf86ModulePath
- * directories, then in GETCONFIG_DIR, then in BINDIR. If it
- * isn't found in any of those locations, just use the normal
- * search path.
- */
-
- if (xf86ModulePath) {
- a = xnfstrdup(xf86ModulePath);
- b = strtok(a, ",");
- while (b) {
- path = xnfrealloc(path,
- strlen(b) + 1 + strlen(GET_CONFIG_CMD) + 1);
- sprintf(path, "%s/%s", b, GET_CONFIG_CMD);
- if (access(path, X_OK) == 0)
- break;
- b = strtok(NULL, ",");
- }
- if (!b) {
- xfree(path);
- path = NULL;
- }
- xfree(a);
- }
-
- if (!path) {
- path = xnfstrdup(GETCONFIG_DIR "/" GET_CONFIG_CMD);
- if (access(path, X_OK) != 0) {
- xfree(path);
- path = NULL;
- }
- }
-
-#ifdef BINDIR
- if (!path) {
- path = xnfstrdup(BINDIR "/" GET_CONFIG_CMD);
- if (access(path, X_OK) != 0) {
- xfree(path);
- path = NULL;
- }
- }
-#endif
-
- if (!path)
- path = xnfstrdup(GET_CONFIG_CMD);
-
- /*
- * Build up the config file directory search path:
- *
- * /etc/X11
- * PROJECTROOT/etc/X11
- * xf86ModulePath
- * PROJECTROOT/lib/X11/getconfig (GETCONFIG_DIR)
- */
-
- searchPath = xnfalloc(strlen("/etc/X11") + 1 +
- strlen(PROJECTROOT "/etc/X11") + 1 +
- (xf86ModulePath ? strlen(xf86ModulePath) : 0)
- + 1 +
- strlen(GETCONFIG_DIR) + 1);
- strcpy(searchPath, "/etc/X11," PROJECTROOT "/etc/X11,");
- if (xf86ModulePath && *xf86ModulePath) {
- strcat(searchPath, xf86ModulePath);
- strcat(searchPath, ",");
- }
- strcat(searchPath, GETCONFIG_DIR);
-
- ErrorF("xf86AutoConfig: Primary PCI is %d:%d:%d\n",
- info->bus, info->device, info->func);
-
- snprintf(buf, sizeof(buf), "%s"
-#ifdef DEBUG
- " -D"
-#endif
- " -X %d"
- " -I %s"
- " -v 0x%04x -d 0x%04x -r 0x%02x -s 0x%04x"
- " -b 0x%04x -c 0x%04x",
- path,
- (unsigned int)xorgGetVersion(),
- searchPath,
- info->vendor, info->chipType, info->chipRev,
- info->subsysVendor, info->subsysCard,
- info->class << 8 | info->subclass);
- ErrorF("Running \"%s\"\n", buf);
- gp = Popen(buf, "r");
- if (gp) {
- if (fgets(buf, sizeof(buf) - 1, gp)) {
- buf[strlen(buf) - 1] = '\0';
- tmp = strtok(buf, GETCONFIG_WHITESPACE);
- if (tmp)
- driver = xnfstrdup(tmp);
- }
- }
- xfree(path);
- xfree(searchPath);
- }
+ if (info)
+ driver = videoPtrToDriverName(info);
AppendToConfig(BUILTIN_MODULE_SECTION);
AppendToConfig(BUILTIN_MONITOR_SECTION);
@@ -306,19 +243,12 @@ xf86AutoConfig(void)
AppendToConfig(buf);
ErrorF("New driver is \"%s\"\n", driver);
buf[0] = '\t';
- while (fgets(buf + 1, sizeof(buf) - 2, gp)) {
- AppendToConfig(buf);
- ErrorF("Extra line: %s", buf);
- }
AppendToConfig(BUILTIN_DEVICE_SECTION_POST);
snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION,
driver, 0, driver, 0);
AppendToConfig(buf);
}
- if (gp)
- Pclose(gp);
-
for (p = deviceList; *p; p++) {
snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p);
AppendToConfig(buf);
@@ -337,13 +267,6 @@ xf86AutoConfig(void)
}
AppendToConfig(BUILTIN_LAYOUT_SECTION_POST);
-#ifdef BUILTIN_EXTRA
- AppendToConfig(BUILTIN_EXTRA);
-#endif
-
- if (driver)
- xfree(driver);
-
xf86MsgVerb(X_DEFAULT, 0,
"Using default built-in configuration (%d lines)\n",
builtinLines);
@@ -356,12 +279,9 @@ xf86AutoConfig(void)
xf86setBuiltinConfig(builtinConfig);
ret = xf86HandleConfigFile(TRUE);
FreeConfig();
- switch(ret) {
- case CONFIG_OK:
- return TRUE;
- default:
+
+ if (ret != CONFIG_OK)
xf86Msg(X_ERROR, "Error parsing the built-in default configuration.\n");
- return FALSE;
- }
-}
+ return (ret == CONFIG_OK);
+}
diff --git a/hw/xfree86/getconfig/.gitignore b/hw/xfree86/getconfig/.gitignore
deleted file mode 100644
index dc5d5cb4d..000000000
--- a/hw/xfree86/getconfig/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-getconfig.1
-getconfig.1x
-getconfig.5
-getconfig.5x
diff --git a/hw/xfree86/getconfig/Makefile.am b/hw/xfree86/getconfig/Makefile.am
deleted file mode 100644
index acd1d9f17..000000000
--- a/hw/xfree86/getconfig/Makefile.am
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-#
-# 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, and/or sell copies of the Software, and to permit persons
-# to whom the Software is furnished to do so, provided that the above
-# copyright notice(s) and this permission notice appear in all copies of
-# the Software and that both the above copyright notice(s) and this
-# permission notice appear in supporting documentation.
-#
-# 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
-# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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.
-#
-# Except as contained in this notice, the name of a copyright holder
-# shall not be used in advertising or otherwise to promote the sale, use
-# or other dealings in this Software without prior written authorization
-# of the copyright holder.
-#
-
-dist_bin_SCRIPTS = getconfig getconfig.pl
-
-getconfigdir = $(libdir)/X11/getconfig
-dist_getconfig_DATA = xorg.cfg cfg.sample
-
-include $(top_srcdir)/cpprules.in
-
-appmandir = $(APP_MAN_DIR)
-appman_PRE = getconfig.man
-appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
-
-filemandir = $(FILE_MAN_DIR)
-fileman_DATA = getconfig.$(FILE_MAN_SUFFIX)
-
-getconfig.$(FILE_MAN_SUFFIX): cfg.man
- -rm -f getconfig.$(FILE_MAN_SUFFIX)
- $(LN_S) cfg.man getconfig.$(FILE_MAN_SUFFIX)
-
-SUFFIXES += .$(APP_MAN_SUFFIX) .man
-
-.man.$(APP_MAN_SUFFIX):
- -rm -f $@
- $(LN_S) $< $@
-
-BUILT_SOURCES = $(appman_PRE)
-CLEANFILES = $(appman_PRE) $(appman_DATA) $(fileman_DATA) cfg.man
-
-EXTRA_DIST = cfg.man.pre getconfig.man.pre
diff --git a/hw/xfree86/getconfig/cfg.man.pre b/hw/xfree86/getconfig/cfg.man.pre
deleted file mode 100644
index 3996809ad..000000000
--- a/hw/xfree86/getconfig/cfg.man.pre
+++ /dev/null
@@ -1,137 +0,0 @@
-.TH getconfig __filemansuffix__ __vendorversion__
-.SH NAME
-getconfig - meta configuration files for getconfig(1)
-.SH SYNOPSIS
-.B \(**.cfg
-.SH DESCRIPTION
-.B getconfig
-is a programmatic interface that is used by the
-.B __xservername__
-server to get configuration information about video hardware when
-operating without an
-.B __xconfigfile__
-file.
-.PP
-This implementation of
-.B getconfig
-is written in perl. It processes rules from meta-configuration files.
-All meta-configuration files have a
-.I .cfg
-suffix.
-.PP
-Lines starting with a pound-sign (#) are comments, and are ignored.
-Blank lines that consist only of white space are also treated as comments
-and ignored.
-.PP
-The first non-comment line must be a signature string followed by
-the file format version number. The signature string is
-.PP
-.RS 4
-.nf
-"Xorg getconfig rules file.\ \ Version: "
-.fi
-.RE
-.PP
-The currently defined version is "1.0". Files that do not have the
-correct signature string are ignored.
-.PP
-The remaining non-comment lines define rules. The start of a new rule
-is indicated by a line with no leading white space. Subsequent lines
-making up a rule must be indented with white space. Logical lines within
-a rule may be split over multiple physical lines by using the usual
-continuation convention ('\e' at the end of the line). The first logical
-line of each rule is a perl expression. It may be any valid perl
-expression whose evaluated (with 'eval') result may be used as the
-argument to a perl 'if' statement. The second logical line should be
-the name of the __xservername__ video driver to use when the rule is true, and
-subsequent logical lines of each rule, if present, are additional
-configuration output for the video device's
-.B __xconfigfile__
-.B Device
-section. The driver name and additional lines of configuration information
-are written to standard output when the rule is chosen as the successful
-rule.
-.PP
-Pseudo rules consisting of perl expressions may be present in the file
-for the purpose of defining custom perl variables or setting the weight
-to use for the following rules. Pseudo rules are rules that consist of
-a single logical line only, and the are never candidates themselves for the
-successful rule.
-.PP
-Several perl variables are pre-defined, and may be used within rules.
-They include:
-.PP
-.RS 4
-.nf
-.BR "$vendor " "PCI vendor ID"
-.BR "$device " "PCI device ID"
-.BR "$revision " "PCI revision ID"
-.BR "$subsys " "PCI subsystem ID"
-.BR "$subsysVendor " "PCI subsystem vendor ID"
-.BR "$class " "PCI class"
-.BR "$XorgVersion " "Xorg version, as a 'v' string"
-.BR "$XorgVersionNumeric " "Xorg numeric version"
-.BR "$XorgVersionMajor " "Xorg major version"
-.BR "$XorgVersionMinor " "Xorg minor version"
-.BR "$XorgVersionPatch " "Xorg patch version"
-.BR "$XorgVersionSnap " "Xorg snap version"
-.BR "$weight " "current rule weight"
-.fi
-.RE
-.PP
-The
-.B $weight
-variable determines the weight of the rules as they are processed. The
-weight for subsequent rules may be set with a pseudo rule that sets or
-changes the value of
-.BR $weight .
-The default weight, and the weight used for built-in rules is 500. The
-meta-configuration files are processed in an unpredictable order. The
-weighting of the rules is used to determine their relative priority
-.PP
-After processing all of the rules, both built-in and those read from
-the meta-configuration files, the
-.B getconfig
-program chooses as the successful rule the last and highest weighted
-rule that evaluates to true.
-.SH FILES
-.I .cfg
-files located in the search path. The search path typically specified
-by the
-.B __xservername__
-server is:
-.PP
-.RS 4
-.nf
-.I /etc/X11
-.I __projectroot__/etc/X11
-.I <modulepath>
-.I __projectroot__/lib/X11/getconfig
-.fi
-.RE
-.PP
-where
-.I <modulepath>
-is the
-.B __xservername__
-server's module search path.
-.PP
-.TP 30
-.I __projectroot__/lib/X11/getconfig/xorg.cfg
-Default rules file that gets installed. This file doesn't contain any
-rules by default.
-.TP 30
-.I __projectroot__/lib/X11/getconfig/cfg.sample
-A sample rules file that gives some examples of what types of rules can
-appear in rules files.
-
-.SH "SEE ALSO"
-getconfig(1),
-__xservername__(__appmansuffix__),
-__xconfigfile__(__filemansuffix__).
-
-.SH AUTHORS
-The __xservername__ automatic configuration support and the
-.B getconfig
-interface was written by David H. Dawes, with the support of X-Oz
-Technologies for XFree86.
diff --git a/hw/xfree86/getconfig/cfg.sample b/hw/xfree86/getconfig/cfg.sample
deleted file mode 100644
index 93c98e4e2..000000000
--- a/hw/xfree86/getconfig/cfg.sample
+++ /dev/null
@@ -1,110 +0,0 @@
-# $DHD: xc/programs/Xserver/hw/xfree86/getconfig/cfg.sample,v 1.2 2003/09/23 05:12:07 dawes Exp $
-
-# Some sample Xorg getconfig rules file.
-
-#
-# The line below is the getconfig rules file signature, and must be the
-# first non-blank, non-comment line.
-#
-
-Xorg Project getconfig rules file. Version: 1.0
-
-#
-# Set the weight for the following rules. This should be set, otherwise
-# the previously set weight will get used, and you have no idea of knowing
-# what that might be.
-#
-
-$weight = 1000
-
-#
-# Rules. Rules consist of a condition (in perl code) followed by
-# a driver name and optionally some additional strings. The start of a
-# rule is indicated by a line with no leading white space. Subsequent
-# lines making up a rule must be indented. Logical lines may be split
-# over multiple physical lines by using the usual continuation '\'.
-#
-# Rules that are not followed by a driver name may be used to do other
-# things, like setting the weight as above.
-#
-
-#
-# Pre-defined variables include:
-#
-# $vendor PCI vendor ID
-# $device PCI device ID
-# $revision PCI revision ID
-# $subsys PCI subsystem ID
-# $subsysVendor PCI subsystem vendor ID
-# $class PCI class
-# $XorgVersion Xorg version, as a 'v' string.
-#
-# The Xorg version information is also available as the following:
-#
-# $XorgVersionNumeric
-# $XorgVersionMajor
-# $XorgVersionMinor
-# $XorgVersionPatch
-# $XorgVersionSnap
-#
-
-# Define a fake vendor ID for some sample rules.
-
-$novendor = 0x10000
-$nodevice = 0x10000
-
-$vendor == $novendor
- nodriver
- Option "xx"
- Videoram 1000
-
-# A rule with continued lines.
-
-$vendor == $novendor && \
-$device == $nodevice
- nodriver2
- Option \
- "yy"
-
-# Increase the weight of the following rules if the Xorg version is 4.3 or
-# higher.
-
-$weight++ if ($XorgVersion ge v4.3)
-
-$vendor == $novendor
- nodriver
- Option "yy"
-
-#
-# The weight can be changed at any times, and applies to rules that follow
-# until changed again.
-#
-
-$weight = 100
-
-$vendor == $novendor && $XorgVersion eq v4.3.2.1
- nodriver3
-
-$weight = 600
-
-#
-# The following two examples use some real values.
-#
-
-# Example: make the default depth 24 for Radeon R200 and RV200 cards.
-
-$vendor == 0x1002 && \
- ($device >= 0x5148 && $device <= 0x514F || \
- $device >= 0x5168 && $device <= 0x516C || \
- $device == 0x4242 || \
- $device >= 0x5157 && device <= 0x5158)
- ati
- Option "DefaultDepth" "24"
-
-
-# Example: enable DRI for MGA G400
-
-$vendor == 0x102b && $device == 0x0525
- mga
- Option "dri"
-
diff --git a/hw/xfree86/getconfig/getconfig b/hw/xfree86/getconfig/getconfig
deleted file mode 100644
index a9e2b3ef2..000000000
--- a/hw/xfree86/getconfig/getconfig
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-# $XdotOrg$
-
-#
-# Copyright 2003 by David H. Dawes.
-# Copyright 2003 by X-Oz Technologies.
-# All rights reserved.
-#
-# 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).
-#
-# Author: David Dawes <dawes@XFree86.Org>.
-#
-
-# A simple wrapper to execute the real getconfig program. So long as perl
-# is in $PATH, we don't need to know where it is this way.
-
-if echo $0 | grep / >/dev/null 2>&1; then
- DIR=`dirname $0`/
-fi
-
-exec perl ${DIR}getconfig.pl "$@"
diff --git a/hw/xfree86/getconfig/getconfig.man.pre b/hw/xfree86/getconfig/getconfig.man.pre
deleted file mode 100644
index 9faede134..000000000
--- a/hw/xfree86/getconfig/getconfig.man.pre
+++ /dev/null
@@ -1,98 +0,0 @@
-.TH getconfig 1 __vendorversion__
-.SH NAME
-getconfig - get configuration information for the __xservername__ server
-.SH SYNOPSIS
-.B getconfig
-.RI [ option
-.IR ... ]
-.SH DESCRIPTION
-.B getconfig
-is a programmatic interface that is used by the
-.B __xservername__
-server to get configuration information about video hardware when
-operating without an
-.B __xconfigfile__
-file.
-.PP
-This implementation of
-.B getconfig
-is written in perl. It processes a prioritized and ordered list of
-rules supplied internally and from meta-configuration files. The rules
-are in the form of perl expressions.
-.B getconfig
-writes to standard output the __xconfigfile__-style configuration data
-specified by the last highest priority rule that evaluates to true.
-Information about the format of the meta-configuration files can be
-found in the getconfig(__filemansuffix__) manual page.
-.SH OPTIONS
-.TP 8
-.BI \-I " search-path"
-Specify the search path to use for meta-config files.
-.I search-path
-is a comma-separated list of directories to search. Each directory in
-the search path is searched for files with a
-.I .cfg
-suffix. Each such file is opened and checked for a valid signature
-string. Rules are read from files with a valid signature string and
-appended to the list of rules to evaluate. If no search path is specified,
-only the internally supplied configuration rules will be used.
-.TP 8
-.B \-D
-Enable debugging output.
-.TP 8
-.B \-V
-Print out the version information and exit.
-.TP 8
-.BI \-X
-.BI __xservername__-version
-Specify the __xservername__ version in numeric (integer) form.
-.TP 8
-.BI \-b " subsys-id"
-Specify the PCI subsystem ID of the video device.
-.TP 8
-.BI \-c " class"
-Specify the PCI class of the video device.
-.TP 8
-.BI \-d " device-id"
-Specify the PCI devide ID of the video device.
-.TP 8
-.BI \-r " revision"
-Specify the PCI revision of the video device.
-.TP 8
-.BI \-s " subsysvendor-id"
-Specify the PCI subsystem vendor ID of the video device.
-.TP 8
-.BI \-v " vendor-id"
-Specify the PCI vendor ID of the video device.
-.SH FILES
-.I .cfg
-files located in the search path. The search path typically specified
-by the
-.B __xservername__
-server is:
-.PP
-.RS 4
-.nf
-.I /etc/X11
-.I __projectroot__/etc/X11
-.I <modulepath>
-.I __projectroot__/lib/X11/getconfig
-.fi
-.RE
-.PP
-where
-.I <modulepath>
-is the
-.B __xservername__
-server's module search path.
-
-.SH "SEE ALSO"
-getconfig(__filemansuffix__),
-__xservername__(__appmansuffix__),
-__xconfigfile__(__filemansuffix__).
-
-.SH AUTHORS
-The __xservername__ automatic configuration support and the
-.B getconfig
-interface was written by David H. Dawes, with the support of X-Oz
-Technologies for XFree86.
diff --git a/hw/xfree86/getconfig/getconfig.pl b/hw/xfree86/getconfig/getconfig.pl
deleted file mode 100644
index a540c686b..000000000
--- a/hw/xfree86/getconfig/getconfig.pl
+++ /dev/null
@@ -1,433 +0,0 @@
-#!/usr/bin/perl
-
-# $DHD: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.13 2003/09/23 05:12:07 dawes Exp $
-# $XdotOrg: $
-
-#
-# Copyright 2003 by David H. Dawes.
-# Copyright 2003 by X-Oz Technologies.
-# All rights reserved.
-#
-# 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).
-#
-# Author: David Dawes <dawes@XFree86.Org>.
-#
-
-
-#
-# This script takes PCI id information, compares it against an ordered list
-# of rules, and prints out the configuration information specified by the
-# last matching rule.
-#
-# This script is called by xf86AutoConfig().
-#
-
-# Command line processing.
-
-$GetconfigVersion = v1.0;
-
-$debug = 0;
-
-$myname = $0;
-$myname =~ s/.*\///;
-
-$signature = "Xorg Foundation getconfig rules file. Version: ";
-
-while (@ARGV[0] =~ /^-[A-Za-z]$/) {
- $f = shift;
- SWITCH: {
- if ($f eq "-D") {
- $debug = 1;
- last SWITCH;
- }
- if ($f eq "-I") {
- push(@searchPaths, split(/,/, shift));
- last SWITCH;
- }
- if ($f eq "-V") {
- printf STDERR "$myname: Version %vd.\n", $GetconfigVersion;
- exit 0;
- }
- if ($f eq "-X") {
- $XorgVersionNumeric = shift;
- if (!defined($XorgVersionNumeric)) {
- print STDERR "$myname: -X requires the Xorg version.\n";
- exit 1;
- }
- }
- if ($f eq "-b") {
- $subsys = oct(shift);
- if (!defined($subsys)) {
- print STDERR "$myname: -b requires the subsys id.\n";
- exit 1;
- }
- last SWITCH;
- }
- if ($f eq "-c") {
- $class = oct(shift);
- if (!defined($class)) {
- print STDERR "$myname: -c requires the class value.\n";
- exit 1;
- }
- last SWITCH;
- }
- if ($f eq "-d") {
- $device = oct(shift);
- if (!defined($device)) {
- print STDERR "$myname: -d requires the device id.\n";
- exit 1;
- }
- last SWITCH;
- }
- if ($f eq "-r") {
- $revision = oct(shift);
- if (!defined($revision)) {
- print STDERR "$myname: -r requires the device revision.\n";
- exit 1;
- }
- last SWITCH;
- }
- if ($f eq "-s") {
- $subsysVendor = oct(shift);
- if (!defined($subsysVendor)) {
- print STDERR "$myname: -s requires the subsysVendor id.\n";
- exit 1;
- }
- last SWITCH;
- }
- if ($f eq "-v") {
- $vendor = oct(shift);
- if (!defined($vendor)) {
- print STDERR "$myname: -v requires the vendor id.\n";
- exit 1;
- }
- last SWITCH;
- }
- }
-}
-
-printf STDERR "$myname: Version %vd.\n", $GetconfigVersion;
-
-if (defined($XorgVersionNumeric)) {
- $XorgVersionMajor = $XorgVersionNumeric / 10000000;
- $XorgVersionMinor = ($XorgVersionNumeric % 10000000) / 100000;
- $XorgVersionPatch = ($XorgVersionNumeric % 100000) / 1000;
- $XorgVersionSnapshot = $XorgVersionNumeric % 1000;
- $XorgVersion = chr($XorgVersionMajor) . chr($XorgVersionMinor) .
- chr($XorgVersionPatch) . chr($XorgVersionSnapshot);
-}
-
-if ($debug) {
- printf STDERR "$myname: Xorg Version: %d, %d.%d.%d.%d, %vd.\n",
- $XorgVersionNumeric, $XorgVersionMajor, $XorgVersionMinor,
- $XorgVersionPatch, $XorgVersionSnapshot, $XorgVersion;
-} else {
- printf STDERR "$myname: Xorg Version: %vd.\n", $XorgVersion;
-}
-
-
-# The rules here are just basic vendor ID to driver mappings.
-# Ideally this is all that would be required. More complicated configuration
-# rules will be provided in external files.
-
-# XXX This set of basic rules isn't complete yet.
-
-@rules = (
-
-# Set the weight for the built-in rules.
-['$weight = 500'],
-
-# APM
-['$vendor == 0x1142',
- 'apm'],
-
-# ARK
-['$vendor == 0xedd8',
- 'apm'],
-
-# AST
-['$vendor == 0x1a03',
- 'ast'],
-
-# ATI
-['$vendor == 0x1002',
- 'ati'],
-
-# Chips & Technologies
-['$vendor == 0x102c',
- 'chips'],
-
-# Cirrus
-['$vendor == 0x1013',
- 'cirrus'],
-
-# Intel
-['$vendor == 0x8086',
- 'i810'],
-['$vendor == 0x8086 && ($chipType == 0x00d1 || $chipType == 0x7800)',
- 'i740'],
-
-# Matrox
-['$vendor == 0x102b',
- 'mga'],
-
-# Neomagic
-['$vendor == 0x10c8',
- 'neomagic'],
-
-# Number Nine
-['$vendor == 0x105d',
- 'i128'],
-
-# NVIDIA
-['$vendor == 0x10de || $vendor == 0x12d2',
- 'nv'],
-
-# S3
-['$vendor == 0x5333 && ($device == 0x88d0 ||' .
- '$device == 0x88d1 ||' .
- '$device == 0x88f0 ||' .
- '$device == 0x8811 ||' .
- '$device == 0x8812 ||' .
- '$device == 0x8814 ||' .
- '$device == 0x8901)',
- 's3'],
-
-# S3 virge
-['$vendor == 0x5333 && ($device == 0x5631 ||' .
- '$device == 0x883d ||' .
- '$device == 0x8a01 ||' .
- '$device == 0x8a10 ||' .
- '$device == 0x8c01 ||' .
- '$device == 0x8c03 ||' .
- '$device == 0x8904 ||' .
- '$device == 0x8a13)',
- 's3virge'],
-
-# S3 Savage
-['$vendor == 0x5333 && ($device >= 0x8a20 && $device <= 0x8a22 ||' .
- '$device == 0x9102 ||' .
- '$device >= 0x8c10 && $device <= 0x8c13 ||' .
- '$device == 0x8a25 ||' .
- '$device == 0x8a26 ||' .
- '$device >= 0x8d01 && $device <= 0x8d04 ||' .
- '$device >= 0x8c2a && $device <= 0x8c2f ||' .
- '$device == 0x8c22 ||' .
- '$device == 0x8c24 ||' .
- '$device == 0x8c26)',
- 'savage'],
-
-# SIS
-['$vendor == 0x1039',
- 'sis'],
-
-# SMI
-['$vendor == 0x126f',
- 'siliconmotion'],
-
-# 3Dfx
-['$vendor == 0x121a',
- 'tdfx'],
-
-# 3Dlabs
-['$vendor == 0x3d3d',
- 'glint'],
-
-# Trident
-['$vendor == 0x1023',
- 'trident'],
-
-# Tseng Labs
-['$vendor == 0x100c',
- 'tseng'],
-
-# VIA
-['$vendor == 0x1106',
- 'via'],
-
-# VMware
-['$vendor == 0x15ad',
- 'vmware'],
-
-);
-
-# Reverse the search path list, since the later rules have higher priority
-# than earlier ones (weighting being equal).
-
-@searchPaths = reverse(@searchPaths);
-
-if ($debug) {
- $i = 0;
- for $path (@searchPaths) {
- print STDERR "$myname: Search path $i is: \"$path\".\n";
- $i++;
- }
-}
-
-print STDERR "$myname: ", $#rules + 1, " built-in rule", plural($#rules + 1),
- ".\n";
-
-for $path (@searchPaths) {
- while (<$path/*.cfg>) {
- @tmp = readRulesFile($_);
- if (defined(@tmp[0])) {
- push @rules, @tmp;
- }
- }
-}
-
-if ($debug) {
- $i = 0;
- for $r (@rules) {
- print STDERR "$myname: rule $i is: \'@$r\'.\n";
- $i++
- }
-}
-
-$i = 0;
-$e = 0;
-$weight = 0;
-$w = 0;
-for $r (@rules) {
- ($cond, $d, @o) = @$r;
- $result = eval $cond;
- if ($@) {
- print STDERR "$myname: Error evaluating rule $i \'$cond\': $@";
- $e++;
- }
- if ($debug) {
- print STDERR "$myname: rule $i \'$cond\' evaluates to \'$result\'.\n";
- }
- if ($result && defined($d) && $weight >= $w) {
- $driver = $d;
- @opts = @o;
- $w = $weight;
- }
- $i++;
-}
-
-print STDERR "$myname: Evaluated $i rule", plural($i),
- " with $e error", plural($e), ".\n";
-
-print STDERR "$myname: Weight of result is $w.\n";
-
-if ($debug) {
- if (defined($driver)) {
- print STDERR "$myname: Driver is \'$driver\'.\n";
- } else {
- print STDERR "$myname: No driver.\n";
- }
- if (defined(@opts)) {
- print STDERR "$myname: options are:\n";
- for $opt (@opts) {
- print STDERR "\t$opt\n";
- }
- } else {
- print STDERR "$myname: No options.\n";
- }
-}
-
-print "$driver\n";
-for $opt (@opts) {
- print "$opt\n";
-}
-
-exit 0;
-
-# Subroutines.
-
-sub readRulesFile {
- my ($file) = @_;
- my $signatureOK = 0;
- my @r, @tmp;
- my $line, $cont, $prevcont, $fileversion;
-
- undef @tmp;
- undef @r;
-
- if (open(RF, "<$file")) {
- $prevcont = 0;
- while (<RF>) {
- chop;
- $line = $_;
- next if ($line =~ /^#/);
- next if ($line =~ /^\s*$/);
- if (!$signatureOK) {
- if ($line =~ /^$signature(.*)$/) {
- $fileversion = $1;
- $signatureOK = 1;
- print STDERR
- "$myname: rules file \'$file\' has version $fileversion.\n";
- next;
- }
- }
- if (!$signatureOK) {
- print STDERR "$myname: file \'$file\' has bad signature.\n";
- close(RF);
- last;
- }
- $cont = 0;
- if ($line =~ s/\\\s*$//) {
- $cont = 1;
- }
- if (!$prevcont && $line =~ /^\S+/) {
- if (defined(@tmp[0])) {
- push(@r,[@tmp]);
- }
- undef @tmp;
- }
- if ($prevcont) {
- push(@tmp, pop(@tmp) . $line);
- } else {
- push(@tmp, $line);
- }
- $prevcont = $cont;
- }
- if (defined(@tmp[0])) {
- push(@r,[@tmp]);
- }
- if (!defined(@r[0])) {
- print STDERR "$myname: no rules in file \'$file\'.\n";
- } else {
- print STDERR "$myname: ", $#r + 1,
- " rule", plural($#r + 1),
- " added from file \'$file\'.\n";
- }
- } else {
- print STDERR "$myname: cannot open file \'$file\'.\n";
- }
-
- return @r;
-}
-
-sub plural {
- my ($count) = @_;
-
- if ($count != 1) {
- return "s";
- } else {
- return "";
- }
-}
-
diff --git a/hw/xfree86/getconfig/xorg.cfg b/hw/xfree86/getconfig/xorg.cfg
deleted file mode 100644
index a591bf32f..000000000
--- a/hw/xfree86/getconfig/xorg.cfg
+++ /dev/null
@@ -1,50 +0,0 @@
-# $XdotOrg: xc/programs/Xserver/hw/xfree86/getconfig/xorg.cfg,v 1.2 2004/04/23 19:54:01 eich Exp $
-
-# Base Xorg getconfig rules file.
-
-#
-# The line below is the getconfig rules file signature, and must be the
-# first non-blank, non-comment line.
-#
-
-Xorg Foundation getconfig rules file. Version: 1.0
-
-#
-# Set the weight for the following rules. This should be set, otherwise
-# the previously set weight will get used, and you have no idea of knowing
-# what that might be.
-#
-
-$weight = 1000
-
-#
-# Rules. Rules consist of a condition (in perl code) followed by
-# a driver name and optionally some additional strings. The start of a
-# rule is indicated by a line with no leading white space. subsequent
-# lines making up a rule must be indented. Logical lines may be split
-# over multiple physical lines by using the usual continuation '\'.
-#
-# Rules that are not followed by a driver name may be used to do other
-# things, like setting the weight as above.
-#
-
-#
-# Pre-defined variables include:
-#
-# $vendor PCI vendor ID
-# $device PCI device ID
-# $revision PCI revision ID
-# $subsys PCI subsystem ID
-# $subsysVendor PCI subsystem vendor ID
-# $class PCI class
-# $XorgVersion Xorg version, as a 'v' string.
-#
-# The Xorg version information is also available as the following:
-#
-# $XorgVersionNumeric
-# $XorgVersionMajor
-# $XorgVersionMinor
-# $XorgVersionPatch
-# $XorgVersionSnap
-#
-