Update to xf86-video-sis 0.10.4

This commit is contained in:
matthieu 2012-05-06 16:05:53 +00:00
parent a708e3910d
commit 0653f98f4b
26 changed files with 28898 additions and 21626 deletions

View File

@ -1,3 +1,290 @@
commit e067fc080c653a5d47cd319ca1a7afeebe6c7c4e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Mar 23 19:52:38 2012 -0700
xf86-video-sis 0.10.4
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit f5dafa24d825a7d279c8177422c66b997b82d240
Author: Johannes Obermayr <johannesobermayr@gmx.de>
Date: Mon Feb 6 23:15:31 2012 +0100
Fix build with XInput version 12.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit bdaf1ba97cf8b0abb5aeee97a822ee466bf8f5f5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jan 17 15:21:26 2012 +1000
Undo typos from last commit
Reported-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 9c1f8f775ca692858fd88e325ef815cc49e55805
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Jan 4 13:58:01 2012 +1000
Untangle XF86DRI from the driver-specific DRI define
XF86DRI is defined by xorg-server.h, so --disable-dri in the sis driver
itself does exactly nothing other than not fill in the CFLAGS and thus stop
the driver from compiling.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 16724f3ecd322c64d9ee164fb122d4285d9cef08
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Oct 31 15:03:21 2011 +1000
Use miPointerSetPosition, not miPointerAbsoluteCursor
miPointerAbsoluteCursor was removed in '09.
Technically this shouldn't just work on the VCP since any master pointer may
end up in the dead area. However, I suspect the Venn diagramm of MPX users
and sis merged framebuffer users shows little overlap.
miPointerSetPosition's prototype changed a few times, these are a bunch of
untested ifdefs that should be correct according to the git history.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 3e0d8e11927b8c68f6531eef39eb5bca557e887b
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Dec 19 17:28:33 2011 -0500
Fall back to shadowfb if XAA is unavailable
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit 2b459f385dc2f1b5e769e2ce84b6f4ec099c0a23
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Mon Oct 31 11:57:49 2011 -0700
Build fix for older servers (error: conflicting types for 'pciTag')
/usr/include/xorg/xf86Pci.h:254:25: note: previous declaration of 'pciTag' was here
Reported-by: Johannes Obermayr <johannesobermayr@gmx.de>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 0ab07a477a4916923a13c073c3fd6e575e79f725
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Sun Oct 30 11:09:30 2011 -0700
Use pci_device_map_legacy rather than xf86MapDomainMemory on newer servers
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 77046f9be08295dbca69b51987df3308a284d87e
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Sat Oct 29 17:44:55 2011 -0700
Convert use of LookupWindow to dixLookupWindow
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 06f8213bffd27360d5cc3df0cad19b102cc928e2
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Sat Oct 29 17:32:21 2011 -0700
pciTag was removed from xorg-server, so provide it in-driver until this is updated to use libpciaccess
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 03644653d051e4f5b8498c790626a9bed2756a89
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Sat Oct 29 17:25:18 2011 -0700
Silence warnings by using newer xf86dgaproto
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 4b0aab53a1e8500578f86178761f4c805b2a5990
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Wed Oct 19 00:40:32 2011 -0700
Build fix for ABI Version 12
ABI Version 12 removes support for multiple PCI domains. If you need to
use this driver on a system with more than one PCI domain, you should
either port this driver to using libpciaccess directly or stick with an
older server.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 69aa104ed064ca08196e7310e232ddb5c9a590bd
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Wed Oct 19 00:35:02 2011 -0700
Use unsigned long rather than deprecated IOADDRESS
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 28f3a899a1e317b665cc1925ce7a4e34818cfd1f
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Fri Oct 7 12:32:22 2011 -0700
Use malloc/calloc/realloc/free directly
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit c530ebb5d4ad0663838a0132e3610d713eaaa640
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date: Fri Oct 7 12:24:40 2011 -0700
Fix build failures with recent server changes to swapl and swaps
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 89e9a38f0ccda9b9ee973f5cd5e57cad73eb7421
Author: Matt Turner <mattst88@gmail.com>
Date: Sun Sep 25 12:32:08 2011 -0400
Fix wrong-sized swaps
Signed-off-by: Matt Turner <mattst88@gmail.com>
commit 94f23a5672ebeac61cc32e34882d637aa0c7f2f4
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Jun 4 21:00:03 2011 -0700
Convert sis.man from XORG_RAWCPP to using sed like other drivers
Upgrade to util-macros 1.8 for additional man page support
Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
The value of MAN_SUBST is the same for all X.Org packages.
Use AC_PROG_SED now supplied by XORG_DEFAULT_OPTIONS
The existing statement can now be removed from the configuration file.
Use automake provided $(AM_V_GEN) and XORG_DEFAULT_OPTIONS provided $(SED)
Enables silent rule and use platform appropriate version of sed.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
commit b3368984ae83355d70e06eedefff28c1b84eb16c
Author: Jesse Adkins <jesserayadkins@gmail.com>
Date: Tue Sep 28 13:29:51 2010 -0700
Purge cvs tags.
Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit c2a6ffda81b343d09dfae6ef68983bf28194a00c
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 16:49:04 2010 -0400
config: add comments for main statements
commit ae7ac7fe58a1311544b9d0091614a61d29eef171
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 16:07:00 2010 -0400
config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit fe34acc246e938bd190af11a0361a2541fcc590c
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 14:37:41 2010 -0400
config: replace deprecated AC_HELP_STRING with AS_HELP_STRING
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 4d77c76f9c94804efd942328722fb1262df74f5a
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 14:05:23 2010 -0400
config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 2a3e9ff44670c0763557ce9c87b9946bd4349027
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Wed Jul 21 09:27:42 2010 -0400
config: complete AC_INIT m4 quoting
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 00d2b8790a0aa732d0abb4688330749a1c44763d
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Tue Jul 20 21:54:12 2010 -0400
config: remove unrequired AC_SUBST([DRI_CFLAGS])
This macro is called by PKG_CHECK_MODULES
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit ca0dd9ac3d78991f20e19e9b1cbb06b8707698bd
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Tue Jul 20 21:44:58 2010 -0400
config: remove unrequired AC_SUBST([XORG_CFLAGS])
This macro is called by PKG_CHECK_MODULES
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 96daa64b9ce5a44474fa0c62c5cc5971496120ee
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Tue Jul 20 20:24:42 2010 -0400
config: remove unrequired AC_HEADER_STDC
Autoconf says:
"This macro is obsolescent, as current systems have conforming
header files. New programs need not use this macro".
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 517a7563c43841ecb1cb00577540118f93856df8
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Tue Jul 20 19:41:31 2010 -0400
config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
AC_PROG_C_C99. This sets gcc with -std=gnu99.
If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 494ce36b3bf1cfffb12c70ea969381766b46e622
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Tue Jul 20 18:45:19 2010 -0400
config: update AC_PREREQ statement to 2.60
Unrelated to the previous patches, the new value simply reflects
the reality that the minimum level for autoconf to configure
all x.org modules is 2.60 dated June 2006.
ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 519a4653ffdd5b643b6f3c0f38eb2cad8366215b
Author: Fernando Carrijo <fcarrijo@yahoo.com.br>
Date: Thu Jul 1 07:16:18 2010 -0300
Purge macros NEED_EVENTS and NEED_REPLIES
Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 75a8a7c51547805358ced39e1a04820e17133264 commit 75a8a7c51547805358ced39e1a04820e17133264
Author: Dave Airlie <airlied@redhat.com> Author: Dave Airlie <airlied@redhat.com>
Date: Mon Jul 5 14:23:33 2010 +1000 Date: Mon Jul 5 14:23:33 2010 +1000

View File

@ -0,0 +1,291 @@
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
6. Often, you can also type `make uninstall' to remove the installed
files again.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
./configure CC="cc"
and if that doesn't work, try
./configure CC="cc -nodtk"
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of all of the options to `configure', and exit.
`--help=short'
`--help=recursive'
Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used
only in the top level, while the `recursive' variant lists options
also present in any nested packages.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *Note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
`--no-create'
`-n'
Run the configure checks, but stop before creating any output
files.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

View File

@ -42,9 +42,9 @@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = . top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c install_sh_SCRIPT = ${SHELL} $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name) transform = $(program_transform_name)
NORMAL_INSTALL = : NORMAL_INSTALL = :
@ -105,6 +105,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@ AWK = @AWK@
BASE_CFLAGS = @BASE_CFLAGS@
CC = @CC@ CC = @CC@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
@ -112,13 +113,10 @@ CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@ CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRIVER_NAME = @DRIVER_NAME@ DRIVER_NAME = @DRIVER_NAME@
@ -127,14 +125,13 @@ DRI_FALSE = @DRI_FALSE@
DRI_LIBS = @DRI_LIBS@ DRI_LIBS = @DRI_LIBS@
DRI_TRUE = @DRI_TRUE@ DRI_TRUE = @DRI_TRUE@
DSYMUTIL = @DSYMUTIL@ DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@ DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ FGREP = @FGREP@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@ GREP = @GREP@
@ -145,23 +142,30 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@ MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@ MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NM = @NM@
NMEDIT = @NMEDIT@ NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -173,11 +177,10 @@ PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
PCIACCESS_LIBS = @PCIACCESS_LIBS@ PCIACCESS_LIBS = @PCIACCESS_LIBS@
PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
SED = @SED@ SED = @SED@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@
@ -187,13 +190,11 @@ XORG_LIBS = @XORG_LIBS@
XORG_MAN_PAGE = @XORG_MAN_PAGE@ XORG_MAN_PAGE = @XORG_MAN_PAGE@
XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@ XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@
XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@ XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@

File diff suppressed because it is too large Load Diff

View File

@ -35,6 +35,10 @@
/* xextproto 7.1 available */ /* xextproto 7.1 available */
#undef HAVE_XEXTPROTO_71 #undef HAVE_XEXTPROTO_71
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Name of package */ /* Name of package */
#undef PACKAGE #undef PACKAGE
@ -62,17 +66,17 @@
/* Patch version of this package */ /* Patch version of this package */
#undef PACKAGE_VERSION_PATCHLEVEL #undef PACKAGE_VERSION_PATCHLEVEL
/* Enable DRI driver support */
#undef SISDRI
/* Enable developmental DRI driver support */
#undef SISDRI_DEVEL
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS #undef STDC_HEADERS
/* Version number of package */ /* Version number of package */
#undef VERSION #undef VERSION
/* Enable DRI driver support */
#undef XF86DRI
/* Enable developmental DRI driver support */
#undef XF86DRI_DEVEL
/* Build support for Exa */ /* Build support for Exa */
#undef XF86EXA #undef XF86EXA

File diff suppressed because it is too large Load Diff

View File

@ -20,54 +20,53 @@
# #
# Process this file with autoconf to produce a configure script # Process this file with autoconf to produce a configure script
AC_PREREQ(2.57) # Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-sis], AC_INIT([xf86-video-sis],
0.10.3, [0.10.4],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-sis) [xf86-video-sis])
AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_SRCDIR([Makefile.am])
AM_CONFIG_HEADER([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR(.) AC_CONFIG_AUX_DIR(.)
# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
# Require xorg-macros: XORG_DEFAULT_OPTIONS # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
m4_ifndef([XORG_MACROS_VERSION], m4_ifndef([XORG_MACROS_VERSION],
[m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.3) XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS XORG_DEFAULT_OPTIONS
# Checks for programs. # Initialize libtool
AC_DISABLE_STATIC AC_DISABLE_STATIC
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
AC_PROG_CC
XORG_PROG_RAWCPP
AH_TOP([#include "xorg-server.h"]) AH_TOP([#include "xorg-server.h"])
# Define a configure option for an alternate module directory
AC_ARG_WITH(xorg-module-dir, AC_ARG_WITH(xorg-module-dir,
AC_HELP_STRING([--with-xorg-module-dir=DIR], AS_HELP_STRING([--with-xorg-module-dir=DIR],
[Default xorg module directory [[default=$libdir/xorg/modules]]]), [Default xorg module directory [[default=$libdir/xorg/modules]]]),
[moduledir="$withval"], [moduledir="$withval"],
[moduledir="$libdir/xorg/modules"]) [moduledir="$libdir/xorg/modules"])
AC_ARG_ENABLE(dri, AC_HELP_STRING([--disable-dri], AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
[Disable DRI support [[default=auto]]]), [Disable DRI support [[default=auto]]]),
[DRI="$enableval"], [DRI="$enableval"],
[DRI=auto]) [DRI=auto])
# Checks for extensions # Store the list of server defined optional extensions in REQUIRED_MODULES
XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto) XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)
XORG_DRIVER_CHECK_EXT(RANDR, randrproto) XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
XORG_DRIVER_CHECK_EXT(RENDER, renderproto) XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
XORG_DRIVER_CHECK_EXT(XV, videoproto) XORG_DRIVER_CHECK_EXT(XV, videoproto)
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto) XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# Checks for pkg-config packages # Obtain compiler/linker options for the driver dependencies
PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto $REQUIRED_MODULES]) PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto >= 2.1 $REQUIRED_MODULES])
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
HAVE_XEXTPROTO_71="no") HAVE_XEXTPROTO_71="no")
@ -76,9 +75,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
# Checks for libraries. # Checks for libraries.
# Checks for header files.
AC_HEADER_STDC
if test "$DRI" != no; then if test "$DRI" != no; then
AC_CHECK_FILE([${sdkdir}/dri.h], AC_CHECK_FILE([${sdkdir}/dri.h],
[have_dri_h="yes"], [have_dri_h="no"]) [have_dri_h="yes"], [have_dri_h="no"])
@ -103,8 +99,8 @@ AC_MSG_RESULT([$DRI])
AM_CONDITIONAL(DRI, test x$DRI = xyes) AM_CONDITIONAL(DRI, test x$DRI = xyes)
if test "$DRI" = yes; then if test "$DRI" = yes; then
PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto]) PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
AC_DEFINE(XF86DRI,1,[Enable DRI driver support]) AC_DEFINE(SISDRI,1,[Enable DRI driver support])
AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support]) AC_DEFINE(SISDRI_DEVEL,1,[Enable developmental DRI driver support])
fi fi
# technically this should be a configure flag. meh. # technically this should be a configure flag. meh.
@ -118,20 +114,19 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
CPPFLAGS="$SAVE_CPPFLAGS" CPPFLAGS="$SAVE_CPPFLAGS"
if test "x$XSERVER_LIBPCIACCESS" = xyes; then if test "x$XSERVER_LIBPCIACCESS" = xyes; then
PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.10]) PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.12.901])
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS" XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
fi fi
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes) AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
AC_SUBST([DRI_CFLAGS])
AC_SUBST([XORG_CFLAGS])
AC_SUBST([moduledir]) AC_SUBST([moduledir])
DRIVER_NAME=sis DRIVER_NAME=sis
AC_SUBST([DRIVER_NAME]) AC_SUBST([DRIVER_NAME])
AC_OUTPUT([ AC_CONFIG_FILES([
Makefile Makefile
src/Makefile src/Makefile
man/Makefile man/Makefile
]) ])
AC_OUTPUT

File diff suppressed because it is too large Load Diff

View File

@ -31,39 +31,9 @@ EXTRA_DIST = @DRIVER_NAME@.man
CLEANFILES = $(driverman_DATA) CLEANFILES = $(driverman_DATA)
SED = sed
# Strings to replace in man pages
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MANDEFS = \
-D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \
-D__appmansuffix__=$(APP_MAN_SUFFIX) \
-D__filemansuffix__=$(FILE_MAN_SUFFIX) \
-D__libmansuffix__=$(LIB_MAN_SUFFIX) \
-D__miscmansuffix__=$(MISC_MAN_SUFFIX) \
-D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \
-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
-D__xconfigfile__=xorg.conf \
-D__xservername__=Xorg
# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
# to cpp, because that trick does not work on all ANSI C preprocessors.
# Delete line numbers from the cpp output (-P is not portable, I guess).
# Allow XCOMM to be preceded by whitespace and provide a means of generating
# output lines with trailing backslashes.
# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
-e '/^\#line *[0-9][0-9]* *.*$$/d' \
-e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
-e '/^[ ]*XHASH/s/XHASH/\#/' \
-e '/\@\@$$/s/\@\@$$/\\/'
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(DRIVER_MAN_SUFFIX): .man.$(DRIVER_MAN_SUFFIX):
$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@

View File

@ -46,9 +46,9 @@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c install_sh_SCRIPT = ${SHELL} $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name) transform = $(program_transform_name)
NORMAL_INSTALL = : NORMAL_INSTALL = :
@ -94,6 +94,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@ AWK = @AWK@
BASE_CFLAGS = @BASE_CFLAGS@
CC = @CC@ CC = @CC@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
@ -101,13 +102,10 @@ CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@ CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRIVER_NAME = @DRIVER_NAME@ DRIVER_NAME = @DRIVER_NAME@
@ -116,14 +114,13 @@ DRI_FALSE = @DRI_FALSE@
DRI_LIBS = @DRI_LIBS@ DRI_LIBS = @DRI_LIBS@
DRI_TRUE = @DRI_TRUE@ DRI_TRUE = @DRI_TRUE@
DSYMUTIL = @DSYMUTIL@ DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@ DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ FGREP = @FGREP@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@ GREP = @GREP@
@ -134,23 +131,30 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@ MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@ MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NM = @NM@
NMEDIT = @NMEDIT@ NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -162,11 +166,10 @@ PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
PCIACCESS_LIBS = @PCIACCESS_LIBS@ PCIACCESS_LIBS = @PCIACCESS_LIBS@
PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RAWCPP = @RAWCPP@ SED = @SED@
RAWCPPFLAGS = @RAWCPPFLAGS@
SED = sed
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@
@ -176,13 +179,11 @@ XORG_LIBS = @XORG_LIBS@
XORG_MAN_PAGE = @XORG_MAN_PAGE@ XORG_MAN_PAGE = @XORG_MAN_PAGE@
XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@ XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@
XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@ XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
@ -229,35 +230,6 @@ driverman_PRE = @DRIVER_NAME@.man
driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@) driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
EXTRA_DIST = @DRIVER_NAME@.man EXTRA_DIST = @DRIVER_NAME@.man
CLEANFILES = $(driverman_DATA) CLEANFILES = $(driverman_DATA)
# Strings to replace in man pages
XORGRELSTRING = @PACKAGE_STRING@
XORGMANNAME = X Version 11
MANDEFS = \
-D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \
-D__appmansuffix__=$(APP_MAN_SUFFIX) \
-D__filemansuffix__=$(FILE_MAN_SUFFIX) \
-D__libmansuffix__=$(LIB_MAN_SUFFIX) \
-D__miscmansuffix__=$(MISC_MAN_SUFFIX) \
-D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \
-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
-D__xconfigfile__=xorg.conf \
-D__xservername__=Xorg
# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
# to cpp, because that trick does not work on all ANSI C preprocessors.
# Delete line numbers from the cpp output (-P is not portable, I guess).
# Allow XCOMM to be preceded by whitespace and provide a means of generating
# output lines with trailing backslashes.
# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
-e '/^\#line *[0-9][0-9]* *.*$$/d' \
-e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
-e '/^[ ]*XHASH/s/XHASH/\#/' \
-e '/\@\@$$/s/\@\@$$/\\/'
SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
all: all-am all: all-am
@ -443,8 +415,9 @@ uninstall-am: uninstall-drivermanDATA uninstall-info-am
uninstall-info-am uninstall-info-am
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(DRIVER_MAN_SUFFIX): .man.$(DRIVER_MAN_SUFFIX):
$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:

View File

@ -1,17 +1,5 @@
.\" $XFree86$
.\" $XdotOrg$
.\" shorthand for double quote that works everywhere. .\" shorthand for double quote that works everywhere.
.ds q \N'34' .ds q \N'34'
#ifdef __xservername__
#define __myservername__ __xservername__
#else
#define __myservername__ XFree86
#endif
#ifdef __xconfigfile__
#define __myxconfigfile__ __xconfigfile__
#else
#define __myxconfigfile__ XF86Config
#endif
.TH SIS __drivermansuffix__ __vendorversion__ .TH SIS __drivermansuffix__ __vendorversion__
.SH NAME .SH NAME
sis \- SiS and XGI video driver sis \- SiS and XGI video driver
@ -25,7 +13,7 @@ sis \- SiS and XGI video driver
.fi .fi
.SH DESCRIPTION .SH DESCRIPTION
.B sis .B sis
is an __myservername__ driver for SiS (Silicon Integrated Systems) and XGI video is an __xservername__ driver for SiS (Silicon Integrated Systems) and XGI video
chips. The driver is accelerated and provides support for colordepths of 8, 16 chips. The driver is accelerated and provides support for colordepths of 8, 16
and 24 bpp. XVideo, Render and other extensions are supported as well. and 24 bpp. XVideo, Render and other extensions are supported as well.
.SH SUPPORTED HARDWARE .SH SUPPORTED HARDWARE
@ -60,7 +48,7 @@ for SiS315, 55x, 330, 661/741/76x (plus M, FX, MX, GX variants thereof), 340
and all XGI chips. and all XGI chips.
.PP .PP
.SH CONFIGURATION DETAILS .SH CONFIGURATION DETAILS
Please refer to __myxconfigfile__(__filemansuffix__) for general configuration Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details. This section only covers configuration details specific to this details. This section only covers configuration details specific to this
driver. driver.
.PP .PP
@ -428,11 +416,7 @@ The amount is to be specified in megabyte, the default is 8.
.SH "KNOWN BUGS" .SH "KNOWN BUGS"
none. none.
.SH "SEE ALSO" .SH "SEE ALSO"
#ifdef __xservername__
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__) __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
#else
XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__)
#endif
.PP .PP
.B "http://www.winischhofer.eu/linuxsisvga.shtml" .B "http://www.winischhofer.eu/linuxsisvga.shtml"
for more information and updates for more information and updates

View File

@ -43,9 +43,9 @@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = ${SHELL} $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c install_sh_SCRIPT = ${SHELL} $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name) transform = $(program_transform_name)
NORMAL_INSTALL = : NORMAL_INSTALL = :
@ -125,6 +125,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@ AWK = @AWK@
BASE_CFLAGS = @BASE_CFLAGS@
CC = @CC@ CC = @CC@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
@ -132,13 +133,10 @@ CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@ CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRIVER_NAME = @DRIVER_NAME@ DRIVER_NAME = @DRIVER_NAME@
@ -147,14 +145,13 @@ DRI_FALSE = @DRI_FALSE@
DRI_LIBS = @DRI_LIBS@ DRI_LIBS = @DRI_LIBS@
DRI_TRUE = @DRI_TRUE@ DRI_TRUE = @DRI_TRUE@
DSYMUTIL = @DSYMUTIL@ DSYMUTIL = @DSYMUTIL@
ECHO = @ECHO@ DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@ FGREP = @FGREP@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@ GREP = @GREP@
@ -165,23 +162,30 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@ MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@ MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
NM = @NM@
NMEDIT = @NMEDIT@ NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -193,11 +197,10 @@ PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
PCIACCESS_LIBS = @PCIACCESS_LIBS@ PCIACCESS_LIBS = @PCIACCESS_LIBS@
PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
SED = @SED@ SED = @SED@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@
@ -207,13 +210,11 @@ XORG_LIBS = @XORG_LIBS@
XORG_MAN_PAGE = @XORG_MAN_PAGE@ XORG_MAN_PAGE = @XORG_MAN_PAGE@
XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@ XSERVER_LIBPCIACCESS_FALSE = @XSERVER_LIBPCIACCESS_FALSE@
XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@ XSERVER_LIBPCIACCESS_TRUE = @XSERVER_LIBPCIACCESS_TRUE@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@

View File

@ -238,10 +238,10 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN isfo
continue; continue;
} }
if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; if(!(new = malloc(sizeof(DisplayModeRec)))) return first;
memset(new, 0, sizeof(DisplayModeRec)); memset(new, 0, sizeof(DisplayModeRec));
if(!(new->name = xalloc(10))) { if(!(new->name = malloc(10))) {
xfree(new); free(new);
return first; return first;
} }
if(!first) first = new; if(!first) first = new;
@ -385,11 +385,11 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN isfo
} }
} }
if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; if(!(new = malloc(sizeof(DisplayModeRec)))) return first;
memset(new, 0, sizeof(DisplayModeRec)); memset(new, 0, sizeof(DisplayModeRec));
if(!(new->name = xalloc(12))) { if(!(new->name = malloc(12))) {
xfree(new); free(new);
return first; return first;
} }
if(!first) first = new; if(!first) first = new;
@ -470,11 +470,11 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN isfo
if(pSiS->SiS_Pr->CP_DataValid[i]) { if(pSiS->SiS_Pr->CP_DataValid[i]) {
if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; if(!(new = malloc(sizeof(DisplayModeRec)))) return first;
memset(new, 0, sizeof(DisplayModeRec)); memset(new, 0, sizeof(DisplayModeRec));
if(!(new->name = xalloc(10))) { if(!(new->name = malloc(10))) {
xfree(new); free(new);
return first; return first;
} }
if(!first) first = new; if(!first) first = new;

View File

@ -110,12 +110,12 @@
#warning sisfb will not work! #warning sisfb will not work!
#endif #endif
#define OutPortByte(p,v) outb((u8)(v),(IOADDRESS)(p)) #define OutPortByte(p,v) outb((u8)(v),(unsigned long)(p))
#define OutPortWord(p,v) outw((u16)(v),(IOADDRESS)(p)) #define OutPortWord(p,v) outw((u16)(v),(unsigned long)(p))
#define OutPortLong(p,v) outl((u32)(v),(IOADDRESS)(p)) #define OutPortLong(p,v) outl((u32)(v),(unsigned long)(p))
#define InPortByte(p) inb((IOADDRESS)(p)) #define InPortByte(p) inb((unsigned long)(p))
#define InPortWord(p) inw((IOADDRESS)(p)) #define InPortWord(p) inw((unsigned long)(p))
#define InPortLong(p) inl((IOADDRESS)(p)) #define InPortLong(p) inl((unsigned long)(p))
#define SiS_SetMemory(MemoryAddress,MemorySize,value) memset_io(MemoryAddress, value, MemorySize) #define SiS_SetMemory(MemoryAddress,MemorySize,value) memset_io(MemoryAddress, value, MemorySize)
#endif /* LINUX_KERNEL */ #endif /* LINUX_KERNEL */
@ -129,12 +129,12 @@
#define SIS300 #define SIS300
#define SIS315H #define SIS315H
#define OutPortByte(p,v) outSISREG((IOADDRESS)(p),(CARD8)(v)) #define OutPortByte(p,v) outSISREG((unsigned long)(p),(CARD8)(v))
#define OutPortWord(p,v) outSISREGW((IOADDRESS)(p),(CARD16)(v)) #define OutPortWord(p,v) outSISREGW((unsigned long)(p),(CARD16)(v))
#define OutPortLong(p,v) outSISREGL((IOADDRESS)(p),(CARD32)(v)) #define OutPortLong(p,v) outSISREGL((unsigned long)(p),(CARD32)(v))
#define InPortByte(p) inSISREG((IOADDRESS)(p)) #define InPortByte(p) inSISREG((unsigned long)(p))
#define InPortWord(p) inSISREGW((IOADDRESS)(p)) #define InPortWord(p) inSISREGW((unsigned long)(p))
#define InPortLong(p) inSISREGL((IOADDRESS)(p)) #define InPortLong(p) inSISREGL((unsigned long)(p))
#define SiS_SetMemory(MemoryAddress,MemorySize,value) memset(MemoryAddress, value, MemorySize) #define SiS_SetMemory(MemoryAddress,MemorySize,value) memset(MemoryAddress, value, MemorySize)
#endif /* XF86 */ #endif /* XF86 */

View File

@ -86,6 +86,14 @@
#include "xf86cmap.h" #include "xf86cmap.h"
#include "vbe.h" #include "vbe.h"
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
#define _swapl(x, n) swapl(x,n)
#define _swaps(x, n) swaps(x,n)
#else
#define _swapl(x, n) swapl(x)
#define _swaps(x, n) swaps(x)
#endif
#define SIS_HaveDriverFuncs 0 #define SIS_HaveDriverFuncs 0
#undef SISISXORG6899900 #undef SISISXORG6899900
@ -173,7 +181,13 @@
#undef SISHAVEDRMWRITE #undef SISHAVEDRMWRITE
#undef SISNEWDRI #undef SISNEWDRI
#ifdef XF86DRI
/* if the server was built without DRI support, force-disable DRI */
#ifndef XF86DRI
#undef SISDRI
#endif
#ifdef SISDRI
#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,2,99,3,0) #if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,2,99,3,0)
#define SISHAVEDRMWRITE #define SISHAVEDRMWRITE
#endif #endif
@ -187,7 +201,7 @@
#include "dri.h" #include "dri.h"
#include "GL/glxint.h" #include "GL/glxint.h"
#include "sis_dri.h" #include "sis_dri.h"
#endif /* XF86DRI */ #endif /* SISDRI */
/* Configurable stuff: ------------------------------------- */ /* Configurable stuff: ------------------------------------- */
@ -251,7 +265,6 @@
#endif #endif
/* Need that for SiSCtrl and Pseudo-Xinerama */ /* Need that for SiSCtrl and Pseudo-Xinerama */
#define NEED_REPLIES /* ? */
#define EXTENSION_PROC_ARGS void * #define EXTENSION_PROC_ARGS void *
#include "extnsionst.h" /* required */ #include "extnsionst.h" /* required */
#include <X11/extensions/panoramiXproto.h> /* required */ #include <X11/extensions/panoramiXproto.h> /* required */
@ -805,7 +818,7 @@ typedef struct {
ScrnInfoPtr pScrn_2; ScrnInfoPtr pScrn_2;
UChar *BIOS; UChar *BIOS;
struct SiS_Private *SiS_Pr; struct SiS_Private *SiS_Pr;
#ifdef XF86DRI #ifdef SISDRI
SISAGPHTYPE agpHandle; SISAGPHTYPE agpHandle;
ULong agpAddr; ULong agpAddr;
UChar *agpBase; UChar *agpBase;
@ -971,7 +984,7 @@ typedef struct {
void *RealFbBase; /* Real VRAM virtual linear address (for DHM and SiS76x UMA skipping) */ void *RealFbBase; /* Real VRAM virtual linear address (for DHM and SiS76x UMA skipping) */
CARD32 IOAddress; /* MMIO physical address */ CARD32 IOAddress; /* MMIO physical address */
void *IOBase; /* MMIO linear address */ void *IOBase; /* MMIO linear address */
IOADDRESS IODBase; /* Base of PIO memory area */ unsigned long IODBase; /* Base of PIO memory area */
#ifdef __alpha__ #ifdef __alpha__
void *IOBaseDense; /* MMIO for Alpha platform */ void *IOBaseDense; /* MMIO for Alpha platform */
#endif #endif
@ -1085,7 +1098,7 @@ typedef struct {
unsigned int cmdQueueSize_div2; unsigned int cmdQueueSize_div2;
unsigned int cmdQueueSize_div4; unsigned int cmdQueueSize_div4;
unsigned int cmdQueueSize_4_3; unsigned int cmdQueueSize_4_3;
#ifdef XF86DRI #ifdef SISDRI
SISAGPHTYPE agpHandle; SISAGPHTYPE agpHandle;
ULong agpAddr; ULong agpAddr;
UChar *agpBase; UChar *agpBase;
@ -1144,7 +1157,7 @@ typedef struct {
/* DRI */ /* DRI */
Bool loadDRI; Bool loadDRI;
#ifdef XF86DRI #ifdef SISDRI
Bool directRenderingEnabled; Bool directRenderingEnabled;
DRIInfoPtr pDRIInfo; DRIInfoPtr pDRIInfo;
int drmSubFD; int drmSubFD;
@ -1348,7 +1361,7 @@ typedef struct {
Bool skipswitchcheck; Bool skipswitchcheck;
unsigned int VBFlagsInit; unsigned int VBFlagsInit;
DisplayModePtr currentModeLast; DisplayModePtr currentModeLast;
IOADDRESS MyPIOOffset; unsigned long MyPIOOffset;
Bool OverruleRanges; Bool OverruleRanges;
Bool BenchMemCpy; Bool BenchMemCpy;
Bool NeedCopyFastVidCpy; Bool NeedCopyFastVidCpy;

View File

@ -170,7 +170,7 @@ void SIS6326InitVideo(ScreenPtr pScreen)
adaptors = &newAdaptor; adaptors = &newAdaptor;
} else { } else {
/* need to free this someplace */ /* need to free this someplace */
newAdaptors = xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*)); newAdaptors = malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*));
if(newAdaptors) { if(newAdaptors) {
memcpy(newAdaptors, adaptors, num_adaptors * memcpy(newAdaptors, adaptors, num_adaptors *
sizeof(XF86VideoAdaptorPtr)); sizeof(XF86VideoAdaptorPtr));
@ -185,7 +185,7 @@ void SIS6326InitVideo(ScreenPtr pScreen)
xf86XVScreenInit(pScreen, adaptors, num_adaptors); xf86XVScreenInit(pScreen, adaptors, num_adaptors);
if(newAdaptors) if(newAdaptors)
xfree(newAdaptors); free(newAdaptors);
} }
/* client libraries expect an encoding */ /* client libraries expect an encoding */
@ -531,7 +531,7 @@ SIS6326SetupImageVideo(ScreenPtr pScreen)
return NULL; return NULL;
#endif #endif
if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
sizeof(SISPortPrivRec) + sizeof(SISPortPrivRec) +
sizeof(DevUnion)))) sizeof(DevUnion))))
return NULL; return NULL;

View File

@ -150,18 +150,18 @@ SISSetupDGAMode(
if(pMode->HDisplay != otherPitch) { if(pMode->HDisplay != otherPitch) {
newmodes = xrealloc(modes, (*num + 2) * sizeof(DGAModeRec)); newmodes = realloc(modes, (*num + 2) * sizeof(DGAModeRec));
oneMore = TRUE; oneMore = TRUE;
} else { } else {
newmodes = xrealloc(modes, (*num + 1) * sizeof(DGAModeRec)); newmodes = realloc(modes, (*num + 1) * sizeof(DGAModeRec));
oneMore = FALSE; oneMore = FALSE;
} }
if(!newmodes) { if(!newmodes) {
xfree(modes); free(modes);
return NULL; return NULL;
} }
modes = newmodes; modes = newmodes;

View File

@ -149,19 +149,19 @@ SISInitVisualConfigs(ScreenPtr pScreen)
case 32: case 32:
numConfigs = (useZ16) ? 8 : 16; numConfigs = (useZ16) ? 8 : 16;
if(!(pConfigs = (__GLXvisualConfig*)xcalloc(sizeof(__GLXvisualConfig), if(!(pConfigs = (__GLXvisualConfig*)calloc(sizeof(__GLXvisualConfig),
numConfigs))) { numConfigs))) {
return FALSE; return FALSE;
} }
if(!(pSISConfigs = (SISConfigPrivPtr)xcalloc(sizeof(SISConfigPrivRec), if(!(pSISConfigs = (SISConfigPrivPtr)calloc(sizeof(SISConfigPrivRec),
numConfigs))) { numConfigs))) {
xfree(pConfigs); free(pConfigs);
return FALSE; return FALSE;
} }
if(!(pSISConfigPtrs = (SISConfigPrivPtr*)xcalloc(sizeof(SISConfigPrivPtr), if(!(pSISConfigPtrs = (SISConfigPrivPtr*)calloc(sizeof(SISConfigPrivPtr),
numConfigs))) { numConfigs))) {
xfree(pConfigs); free(pConfigs);
xfree(pSISConfigs); free(pSISConfigs);
return FALSE; return FALSE;
} }
for(i=0; i<numConfigs; i++) pSISConfigPtrs[i] = &pSISConfigs[i]; for(i=0; i<numConfigs; i++) pSISConfigPtrs[i] = &pSISConfigs[i];
@ -319,7 +319,7 @@ SISDRIScreenInit(ScreenPtr pScreen)
pDRIInfo->busIdString = DRICreatePCIBusID(pSIS->PciInfo); pDRIInfo->busIdString = DRICreatePCIBusID(pSIS->PciInfo);
} else { } else {
#endif #endif
pDRIInfo->busIdString = xalloc(64); pDRIInfo->busIdString = malloc(64);
sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d", sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d",
pSIS->PciBus, pSIS->PciDevice, pSIS->PciFunc); pSIS->PciBus, pSIS->PciDevice, pSIS->PciFunc);
#ifdef SISHAVECREATEBUSID #ifdef SISHAVECREATEBUSID
@ -383,7 +383,7 @@ SISDRIScreenInit(ScreenPtr pScreen)
pDRIInfo->SAREASize = SAREA_MAX; pDRIInfo->SAREASize = SAREA_MAX;
#endif #endif
if(!(pSISDRI = (SISDRIPtr)xcalloc(sizeof(SISDRIRec), 1))) { if(!(pSISDRI = (SISDRIPtr)calloc(sizeof(SISDRIRec), 1))) {
DRIDestroyInfoRec(pSIS->pDRIInfo); DRIDestroyInfoRec(pSIS->pDRIInfo);
pSIS->pDRIInfo = 0; pSIS->pDRIInfo = 0;
return FALSE; return FALSE;
@ -401,7 +401,7 @@ SISDRIScreenInit(ScreenPtr pScreen)
if(!DRIScreenInit(pScreen, pDRIInfo, &pSIS->drmSubFD)) { if(!DRIScreenInit(pScreen, pDRIInfo, &pSIS->drmSubFD)) {
xf86DrvMsg(pScreen->myNum, X_ERROR, "[dri] DRIScreenInit failed. Disabling the DRI.\n"); xf86DrvMsg(pScreen->myNum, X_ERROR, "[dri] DRIScreenInit failed. Disabling the DRI.\n");
xfree(pDRIInfo->devPrivate); free(pDRIInfo->devPrivate);
pDRIInfo->devPrivate = 0; pDRIInfo->devPrivate = 0;
DRIDestroyInfoRec(pSIS->pDRIInfo); DRIDestroyInfoRec(pSIS->pDRIInfo);
pSIS->pDRIInfo = 0; pSIS->pDRIInfo = 0;
@ -794,7 +794,7 @@ SISDRICloseScreen(ScreenPtr pScreen)
if(pSIS->pDRIInfo) { if(pSIS->pDRIInfo) {
if(pSIS->pDRIInfo->devPrivate) { if(pSIS->pDRIInfo->devPrivate) {
xfree(pSIS->pDRIInfo->devPrivate); free(pSIS->pDRIInfo->devPrivate);
pSIS->pDRIInfo->devPrivate = NULL; pSIS->pDRIInfo->devPrivate = NULL;
} }
DRIDestroyInfoRec(pSIS->pDRIInfo); DRIDestroyInfoRec(pSIS->pDRIInfo);
@ -802,12 +802,12 @@ SISDRICloseScreen(ScreenPtr pScreen)
} }
if(pSIS->pVisualConfigs) { if(pSIS->pVisualConfigs) {
xfree(pSIS->pVisualConfigs); free(pSIS->pVisualConfigs);
pSIS->pVisualConfigs = NULL; pSIS->pVisualConfigs = NULL;
} }
if(pSIS->pVisualConfigsPriv) { if(pSIS->pVisualConfigsPriv) {
xfree(pSIS->pVisualConfigsPriv); free(pSIS->pVisualConfigsPriv);
pSIS->pVisualConfigsPriv = NULL; pSIS->pVisualConfigsPriv = NULL;
} }

View File

@ -74,8 +74,7 @@
#include "sis_driver.h" #include "sis_driver.h"
#define _XF86DGA_SERVER_ #include <X11/extensions/xf86dgaproto.h>
#include <X11/extensions/xf86dgastr.h>
#include "globals.h" #include "globals.h"
@ -86,11 +85,35 @@
#include <X11/extensions/dpms.h> #include <X11/extensions/dpms.h>
#endif #endif
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 5
#include <inputstr.h> /* for inputInfo */
#endif
#ifdef XF86DRI
#ifdef SISDRI
#include "dri.h" #include "dri.h"
#endif #endif
/*
* LookupWindow was removed with video abi 11.
*/
#if (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 4)
#ifndef DixGetAttrAccess
#define DixGetAttrAccess (1<<4)
#endif
#endif
#if (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 2)
static inline int
dixLookupWindow(WindowPtr *pWin, XID id, ClientPtr client, Mask access)
{
*pWin = LookupWindow(id, client);
if (!*pWin)
return BadWindow;
return Success;
}
#endif
/* Globals (yes, these ARE really required to be global) */ /* Globals (yes, these ARE really required to be global) */
#ifdef SISUSEDEVPORT #ifdef SISUSEDEVPORT
@ -299,9 +322,9 @@ SISFreeRec(ScrnInfoPtr pScrn)
pSiSEnt = pSiS->entityPrivate; pSiSEnt = pSiS->entityPrivate;
#endif #endif
if(pSiS->pstate) xfree(pSiS->pstate); if(pSiS->pstate) free(pSiS->pstate);
pSiS->pstate = NULL; pSiS->pstate = NULL;
if(pSiS->fonts) xfree(pSiS->fonts); if(pSiS->fonts) free(pSiS->fonts);
pSiS->fonts = NULL; pSiS->fonts = NULL;
#ifdef SISDUALHEAD #ifdef SISDUALHEAD
@ -312,11 +335,11 @@ SISFreeRec(ScrnInfoPtr pScrn)
* and we need the BIOS image and SiS_Private for the first * and we need the BIOS image and SiS_Private for the first
* head. * head.
*/ */
if(pSiSEnt->BIOS) xfree(pSiSEnt->BIOS); if(pSiSEnt->BIOS) free(pSiSEnt->BIOS);
pSiSEnt->BIOS = pSiS->BIOS = NULL; pSiSEnt->BIOS = pSiS->BIOS = NULL;
if(pSiSEnt->SiS_Pr) xfree(pSiSEnt->SiS_Pr); if(pSiSEnt->SiS_Pr) free(pSiSEnt->SiS_Pr);
pSiSEnt->SiS_Pr = pSiS->SiS_Pr = NULL; pSiSEnt->SiS_Pr = pSiS->SiS_Pr = NULL;
if(pSiSEnt->RenderAccelArray) xfree(pSiSEnt->RenderAccelArray); if(pSiSEnt->RenderAccelArray) free(pSiSEnt->RenderAccelArray);
pSiSEnt->RenderAccelArray = pSiS->RenderAccelArray = NULL; pSiSEnt->RenderAccelArray = pSiS->RenderAccelArray = NULL;
pSiSEnt->pScrn_1 = NULL; pSiSEnt->pScrn_1 = NULL;
} else { } else {
@ -327,21 +350,21 @@ SISFreeRec(ScrnInfoPtr pScrn)
} }
} else { } else {
#endif #endif
if(pSiS->BIOS) xfree(pSiS->BIOS); if(pSiS->BIOS) free(pSiS->BIOS);
pSiS->BIOS = NULL; pSiS->BIOS = NULL;
if(pSiS->SiS_Pr) xfree(pSiS->SiS_Pr); if(pSiS->SiS_Pr) free(pSiS->SiS_Pr);
pSiS->SiS_Pr = NULL; pSiS->SiS_Pr = NULL;
if(pSiS->RenderAccelArray) xfree(pSiS->RenderAccelArray); if(pSiS->RenderAccelArray) free(pSiS->RenderAccelArray);
pSiS->RenderAccelArray = NULL; pSiS->RenderAccelArray = NULL;
#ifdef SISDUALHEAD #ifdef SISDUALHEAD
} }
#endif #endif
#ifdef SISMERGED #ifdef SISMERGED
if(pSiS->CRT2HSync) xfree(pSiS->CRT2HSync); if(pSiS->CRT2HSync) free(pSiS->CRT2HSync);
pSiS->CRT2HSync = NULL; pSiS->CRT2HSync = NULL;
if(pSiS->CRT2VRefresh) xfree(pSiS->CRT2VRefresh); if(pSiS->CRT2VRefresh) free(pSiS->CRT2VRefresh);
pSiS->CRT2VRefresh = NULL; pSiS->CRT2VRefresh = NULL;
if(pSiS->MetaModes) xfree(pSiS->MetaModes); if(pSiS->MetaModes) free(pSiS->MetaModes);
pSiS->MetaModes = NULL; pSiS->MetaModes = NULL;
if(pSiS->CRT2pScrn) { if(pSiS->CRT2pScrn) {
if(pSiS->CRT2pScrn->modes) { if(pSiS->CRT2pScrn->modes) {
@ -353,10 +376,10 @@ SISFreeRec(ScrnInfoPtr pScrn)
while(pSiS->CRT2pScrn->monitor->Modes) while(pSiS->CRT2pScrn->monitor->Modes)
xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes); xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes);
} }
if(pSiS->CRT2pScrn->monitor->DDC) xfree(pSiS->CRT2pScrn->monitor->DDC); if(pSiS->CRT2pScrn->monitor->DDC) free(pSiS->CRT2pScrn->monitor->DDC);
xfree(pSiS->CRT2pScrn->monitor); free(pSiS->CRT2pScrn->monitor);
} }
xfree(pSiS->CRT2pScrn); free(pSiS->CRT2pScrn);
pSiS->CRT2pScrn = NULL; pSiS->CRT2pScrn = NULL;
} }
if(pSiS->CRT1Modes) { if(pSiS->CRT1Modes) {
@ -366,8 +389,8 @@ SISFreeRec(ScrnInfoPtr pScrn)
do { do {
DisplayModePtr p = pScrn->currentMode->next; DisplayModePtr p = pScrn->currentMode->next;
if(pScrn->currentMode->Private) if(pScrn->currentMode->Private)
xfree(pScrn->currentMode->Private); free(pScrn->currentMode->Private);
xfree(pScrn->currentMode); free(pScrn->currentMode);
pScrn->currentMode = p; pScrn->currentMode = p;
} while(pScrn->currentMode != pScrn->modes); } while(pScrn->currentMode != pScrn->modes);
} }
@ -380,7 +403,7 @@ SISFreeRec(ScrnInfoPtr pScrn)
#endif #endif
while(pSiS->SISVESAModeList) { while(pSiS->SISVESAModeList) {
sisModeInfoPtr mp = pSiS->SISVESAModeList->next; sisModeInfoPtr mp = pSiS->SISVESAModeList->next;
xfree(pSiS->SISVESAModeList); free(pSiS->SISVESAModeList);
pSiS->SISVESAModeList = mp; pSiS->SISVESAModeList = mp;
} }
if(pSiS->pVbe) vbeFree(pSiS->pVbe); if(pSiS->pVbe) vbeFree(pSiS->pVbe);
@ -392,7 +415,7 @@ SISFreeRec(ScrnInfoPtr pScrn)
if(pScrn->driverPrivate == NULL) if(pScrn->driverPrivate == NULL)
return; return;
xfree(pScrn->driverPrivate); free(pScrn->driverPrivate);
pScrn->driverPrivate = NULL; pScrn->driverPrivate = NULL;
} }
@ -501,7 +524,7 @@ SISProbe(DriverPtr drv, int flags)
numDevSections, drv, &usedChipsXGI); numDevSections, drv, &usedChipsXGI);
/* Free it since we don't need that list after this */ /* Free it since we don't need that list after this */
xfree(devSections); free(devSections);
numUsed = numUsedSiS + numUsedXGI; numUsed = numUsedSiS + numUsedXGI;
@ -577,8 +600,8 @@ SISProbe(DriverPtr drv, int flags)
} }
if(usedChipsSiS) xfree(usedChipsSiS); if(usedChipsSiS) free(usedChipsSiS);
if(usedChipsXGI) xfree(usedChipsXGI); if(usedChipsXGI) free(usedChipsXGI);
return foundScreen; return foundScreen;
} }
@ -642,10 +665,10 @@ SISCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn)
if(!(nramp = xf86GetGammaRampSize(pScreen))) return; if(!(nramp = xf86GetGammaRampSize(pScreen))) return;
for(i=0; i<3; i++) { for(i=0; i<3; i++) {
ramp[i] = (UShort *)xalloc(nramp * sizeof(UShort)); ramp[i] = (UShort *)malloc(nramp * sizeof(UShort));
if(!ramp[i]) { if(!ramp[i]) {
if(ramp[0]) { xfree(ramp[0]); ramp[0] = NULL; } if(ramp[0]) { free(ramp[0]); ramp[0] = NULL; }
if(ramp[1]) { xfree(ramp[1]); ramp[1] = NULL; } if(ramp[1]) { free(ramp[1]); ramp[1] = NULL; }
return; return;
} }
} }
@ -705,9 +728,9 @@ SISCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn)
xf86ChangeGammaRamp(pScreen, nramp, ramp[0], ramp[1], ramp[2]); xf86ChangeGammaRamp(pScreen, nramp, ramp[0], ramp[1], ramp[2]);
xfree(ramp[0]); free(ramp[0]);
xfree(ramp[1]); free(ramp[1]);
xfree(ramp[2]); free(ramp[2]);
ramp[0] = ramp[1] = ramp[2] = NULL; ramp[0] = ramp[1] = ramp[2] = NULL;
} }
#endif #endif
@ -1135,10 +1158,10 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
DisplayModePtr mode; DisplayModePtr mode;
int dx = 0,dy = 0; int dx = 0,dy = 0;
if(!((mode = xalloc(sizeof(DisplayModeRec))))) return dest; if(!((mode = malloc(sizeof(DisplayModeRec))))) return dest;
memcpy(mode, i, sizeof(DisplayModeRec)); memcpy(mode, i, sizeof(DisplayModeRec));
if(!((mode->Private = xalloc(sizeof(SiSMergedDisplayModeRec))))) { if(!((mode->Private = malloc(sizeof(SiSMergedDisplayModeRec))))) {
xfree(mode); free(mode);
return dest; return dest;
} }
((SiSMergedDisplayModePtr)mode->Private)->CRT1 = i; ((SiSMergedDisplayModePtr)mode->Private)->CRT1 = i;
@ -1223,8 +1246,8 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Skipped \"%s\" (%dx%d), not enough video RAM or beyond hardware specs\n", "Skipped \"%s\" (%dx%d), not enough video RAM or beyond hardware specs\n",
mode->name, mode->HDisplay, mode->VDisplay); mode->name, mode->HDisplay, mode->VDisplay);
xfree(mode->Private); free(mode->Private);
xfree(mode); free(mode);
return dest; return dest;
} }
@ -2131,10 +2154,10 @@ SiSProcXineramaQueryVersion(ClientPtr client)
rep.majorVersion = SIS_XINERAMA_MAJOR_VERSION; rep.majorVersion = SIS_XINERAMA_MAJOR_VERSION;
rep.minorVersion = SIS_XINERAMA_MINOR_VERSION; rep.minorVersion = SIS_XINERAMA_MINOR_VERSION;
if(client->swapped) { if(client->swapped) {
swaps(&rep.sequenceNumber, n); _swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); _swapl(&rep.length, n);
swaps(&rep.majorVersion, n); _swaps(&rep.majorVersion, n);
swaps(&rep.minorVersion, n); _swaps(&rep.minorVersion, n);
} }
WriteToClient(client, sizeof(xPanoramiXQueryVersionReply), (char *)&rep); WriteToClient(client, sizeof(xPanoramiXQueryVersionReply), (char *)&rep);
return (client->noClientException); return (client->noClientException);
@ -2147,19 +2170,20 @@ SiSProcXineramaGetState(ClientPtr client)
WindowPtr pWin; WindowPtr pWin;
xPanoramiXGetStateReply rep; xPanoramiXGetStateReply rep;
register int n; register int n;
int rc;
REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
pWin = LookupWindow(stuff->window, client); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
if(!pWin) return BadWindow; if (rc != Success)
return rc;
rep.type = X_Reply; rep.type = X_Reply;
rep.length = 0; rep.length = 0;
rep.sequenceNumber = client->sequence; rep.sequenceNumber = client->sequence;
rep.state = !SiSnoPanoramiXExtension; rep.state = !SiSnoPanoramiXExtension;
if(client->swapped) { if(client->swapped) {
swaps (&rep.sequenceNumber, n); _swaps (&rep.sequenceNumber, n);
swapl (&rep.length, n); _swapl (&rep.length, n);
swaps (&rep.state, n);
} }
WriteToClient(client, sizeof(xPanoramiXGetStateReply), (char *)&rep); WriteToClient(client, sizeof(xPanoramiXGetStateReply), (char *)&rep);
return client->noClientException; return client->noClientException;
@ -2172,19 +2196,20 @@ SiSProcXineramaGetScreenCount(ClientPtr client)
WindowPtr pWin; WindowPtr pWin;
xPanoramiXGetScreenCountReply rep; xPanoramiXGetScreenCountReply rep;
register int n; register int n;
int rc;
REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
pWin = LookupWindow(stuff->window, client); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
if(!pWin) return BadWindow; if (rc != Success)
return rc;
rep.type = X_Reply; rep.type = X_Reply;
rep.length = 0; rep.length = 0;
rep.sequenceNumber = client->sequence; rep.sequenceNumber = client->sequence;
rep.ScreenCount = SiSXineramaNumScreens; rep.ScreenCount = SiSXineramaNumScreens;
if(client->swapped) { if(client->swapped) {
swaps(&rep.sequenceNumber, n); _swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); _swapl(&rep.length, n);
swaps(&rep.ScreenCount, n);
} }
WriteToClient(client, sizeof(xPanoramiXGetScreenCountReply), (char *)&rep); WriteToClient(client, sizeof(xPanoramiXGetScreenCountReply), (char *)&rep);
return client->noClientException; return client->noClientException;
@ -2197,10 +2222,12 @@ SiSProcXineramaGetScreenSize(ClientPtr client)
WindowPtr pWin; WindowPtr pWin;
xPanoramiXGetScreenSizeReply rep; xPanoramiXGetScreenSizeReply rep;
register int n; register int n;
int rc;
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
pWin = LookupWindow (stuff->window, client); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
if(!pWin) return BadWindow; if (rc != Success)
return rc;
rep.type = X_Reply; rep.type = X_Reply;
rep.length = 0; rep.length = 0;
@ -2208,10 +2235,10 @@ SiSProcXineramaGetScreenSize(ClientPtr client)
rep.width = SiSXineramadataPtr[stuff->screen].width; rep.width = SiSXineramadataPtr[stuff->screen].width;
rep.height = SiSXineramadataPtr[stuff->screen].height; rep.height = SiSXineramadataPtr[stuff->screen].height;
if(client->swapped) { if(client->swapped) {
swaps(&rep.sequenceNumber, n); _swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); _swapl(&rep.length, n);
swaps(&rep.width, n); _swapl(&rep.width, n);
swaps(&rep.height, n); _swapl(&rep.height, n);
} }
WriteToClient(client, sizeof(xPanoramiXGetScreenSizeReply), (char *)&rep); WriteToClient(client, sizeof(xPanoramiXGetScreenSizeReply), (char *)&rep);
return client->noClientException; return client->noClientException;
@ -2230,9 +2257,9 @@ SiSProcXineramaIsActive(ClientPtr client)
rep.state = !SiSnoPanoramiXExtension; rep.state = !SiSnoPanoramiXExtension;
if(client->swapped) { if(client->swapped) {
register int n; register int n;
swaps(&rep.sequenceNumber, n); _swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); _swapl(&rep.length, n);
swapl(&rep.state, n); _swapl(&rep.state, n);
} }
WriteToClient(client, sizeof(xXineramaIsActiveReply), (char *) &rep); WriteToClient(client, sizeof(xXineramaIsActiveReply), (char *) &rep);
return client->noClientException; return client->noClientException;
@ -2251,9 +2278,9 @@ SiSProcXineramaQueryScreens(ClientPtr client)
rep.length = rep.number * sz_XineramaScreenInfo >> 2; rep.length = rep.number * sz_XineramaScreenInfo >> 2;
if(client->swapped) { if(client->swapped) {
register int n; register int n;
swaps(&rep.sequenceNumber, n); _swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); _swapl(&rep.length, n);
swapl(&rep.number, n); _swapl(&rep.number, n);
} }
WriteToClient(client, sizeof(xXineramaQueryScreensReply), (char *)&rep); WriteToClient(client, sizeof(xXineramaQueryScreensReply), (char *)&rep);
@ -2268,10 +2295,10 @@ SiSProcXineramaQueryScreens(ClientPtr client)
scratch.height = SiSXineramadataPtr[i].height; scratch.height = SiSXineramadataPtr[i].height;
if(client->swapped) { if(client->swapped) {
register int n; register int n;
swaps(&scratch.x_org, n); _swaps(&scratch.x_org, n);
swaps(&scratch.y_org, n); _swaps(&scratch.y_org, n);
swaps(&scratch.width, n); _swaps(&scratch.width, n);
swaps(&scratch.height, n); _swaps(&scratch.height, n);
} }
WriteToClient(client, sz_XineramaScreenInfo, (char *)&scratch); WriteToClient(client, sz_XineramaScreenInfo, (char *)&scratch);
} }
@ -2308,7 +2335,7 @@ SiSSProcXineramaQueryVersion (ClientPtr client)
{ {
REQUEST(xPanoramiXQueryVersionReq); REQUEST(xPanoramiXQueryVersionReq);
register int n; register int n;
swaps(&stuff->length,n); _swaps(&stuff->length,n);
REQUEST_SIZE_MATCH (xPanoramiXQueryVersionReq); REQUEST_SIZE_MATCH (xPanoramiXQueryVersionReq);
return SiSProcXineramaQueryVersion(client); return SiSProcXineramaQueryVersion(client);
} }
@ -2318,7 +2345,7 @@ SiSSProcXineramaGetState(ClientPtr client)
{ {
REQUEST(xPanoramiXGetStateReq); REQUEST(xPanoramiXGetStateReq);
register int n; register int n;
swaps (&stuff->length, n); _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
return SiSProcXineramaGetState(client); return SiSProcXineramaGetState(client);
} }
@ -2328,7 +2355,7 @@ SiSSProcXineramaGetScreenCount(ClientPtr client)
{ {
REQUEST(xPanoramiXGetScreenCountReq); REQUEST(xPanoramiXGetScreenCountReq);
register int n; register int n;
swaps (&stuff->length, n); _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
return SiSProcXineramaGetScreenCount(client); return SiSProcXineramaGetScreenCount(client);
} }
@ -2338,7 +2365,7 @@ SiSSProcXineramaGetScreenSize(ClientPtr client)
{ {
REQUEST(xPanoramiXGetScreenSizeReq); REQUEST(xPanoramiXGetScreenSizeReq);
register int n; register int n;
swaps (&stuff->length, n); _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
return SiSProcXineramaGetScreenSize(client); return SiSProcXineramaGetScreenSize(client);
} }
@ -2348,7 +2375,7 @@ SiSSProcXineramaIsActive(ClientPtr client)
{ {
REQUEST(xXineramaIsActiveReq); REQUEST(xXineramaIsActiveReq);
register int n; register int n;
swaps (&stuff->length, n); _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xXineramaIsActiveReq); REQUEST_SIZE_MATCH(xXineramaIsActiveReq);
return SiSProcXineramaIsActive(client); return SiSProcXineramaIsActive(client);
} }
@ -2358,7 +2385,7 @@ SiSSProcXineramaQueryScreens(ClientPtr client)
{ {
REQUEST(xXineramaQueryScreensReq); REQUEST(xXineramaQueryScreensReq);
register int n; register int n;
swaps (&stuff->length, n); _swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xXineramaQueryScreensReq); REQUEST_SIZE_MATCH(xXineramaQueryScreensReq);
return SiSProcXineramaQueryScreens(client); return SiSProcXineramaQueryScreens(client);
} }
@ -2389,7 +2416,7 @@ SiSXineramaResetProc(ExtensionEntry* extEntry)
{ {
/* Called by CloseDownExtensions() */ /* Called by CloseDownExtensions() */
if(SiSXineramadataPtr) { if(SiSXineramadataPtr) {
Xfree(SiSXineramadataPtr); free(SiSXineramadataPtr);
SiSXineramadataPtr = NULL; SiSXineramadataPtr = NULL;
} }
} }
@ -2454,7 +2481,7 @@ SiSXineramaExtensionInit(ScrnInfoPtr pScrn)
if(!pSiS->XineramaExtEntry) break; if(!pSiS->XineramaExtEntry) break;
if(!(SiSXineramadataPtr = (SiSXineramaData *) if(!(SiSXineramadataPtr = (SiSXineramaData *)
xcalloc(SiSXineramaNumScreens, sizeof(SiSXineramaData)))) break; calloc(SiSXineramaNumScreens, sizeof(SiSXineramaData)))) break;
SiSXineramaGeneration = serverGeneration; SiSXineramaGeneration = serverGeneration;
success = TRUE; success = TRUE;
@ -2493,10 +2520,10 @@ SiSFreeCRT2Structs(SISPtr pSiS)
while(pSiS->CRT2pScrn->monitor->Modes) while(pSiS->CRT2pScrn->monitor->Modes)
xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes); xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes);
} }
if(pSiS->CRT2pScrn->monitor->DDC) xfree(pSiS->CRT2pScrn->monitor->DDC); if(pSiS->CRT2pScrn->monitor->DDC) free(pSiS->CRT2pScrn->monitor->DDC);
xfree(pSiS->CRT2pScrn->monitor); free(pSiS->CRT2pScrn->monitor);
} }
xfree(pSiS->CRT2pScrn); free(pSiS->CRT2pScrn);
pSiS->CRT2pScrn = NULL; pSiS->CRT2pScrn = NULL;
} }
} }
@ -2902,22 +2929,22 @@ SiS_CheckKernelFB(ScrnInfoPtr pScrn)
Bool gotit = FALSE; Bool gotit = FALSE;
if(!ioctl(fd, SISFB_GET_INFO_SIZE, &sisfbinfosize)) { if(!ioctl(fd, SISFB_GET_INFO_SIZE, &sisfbinfosize)) {
if((mysisfbinfo = xalloc(sisfbinfosize))) { if((mysisfbinfo = malloc(sisfbinfosize))) {
if(!ioctl(fd, (SISFB_GET_INFO | (sisfbinfosize << 16)), mysisfbinfo)) { if(!ioctl(fd, (SISFB_GET_INFO | (sisfbinfosize << 16)), mysisfbinfo)) {
gotit = TRUE; gotit = TRUE;
} else { } else {
xfree(mysisfbinfo); free(mysisfbinfo);
mysisfbinfo = NULL; mysisfbinfo = NULL;
} }
} }
} else { } else {
if((mysisfbinfo = xalloc(sizeof(*mysisfbinfo) + 16))) { if((mysisfbinfo = malloc(sizeof(*mysisfbinfo) + 16))) {
if(!ioctl(fd, SISFB_GET_INFO_OLD, mysisfbinfo)) { if(!ioctl(fd, SISFB_GET_INFO_OLD, mysisfbinfo)) {
gotit = TRUE; gotit = TRUE;
xf86DrvMsg(pScrn->scrnIndex, X_WARNING, xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Possibly old version of sisfb detected. Please update.\n"); "Possibly old version of sisfb detected. Please update.\n");
} else { } else {
xfree(mysisfbinfo); free(mysisfbinfo);
mysisfbinfo = NULL; mysisfbinfo = NULL;
} }
} }
@ -3056,7 +3083,7 @@ SiS_CheckKernelFB(ScrnInfoPtr pScrn)
} }
} }
} }
xfree(mysisfbinfo); free(mysisfbinfo);
mysisfbinfo = NULL; mysisfbinfo = NULL;
} }
close (fd); close (fd);
@ -3216,7 +3243,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
pSiS->pInt = NULL; pSiS->pInt = NULL;
/* Save PCI Domain Base */ /* Save PCI Domain Base */
#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0) #if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,99,0,0) || GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12
pSiS->IODBase = 0; pSiS->IODBase = 0;
#else #else
pSiS->IODBase = pScrn->domainIOBase; pSiS->IODBase = pScrn->domainIOBase;
@ -4078,7 +4105,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
} }
#endif #endif
if(!pSiS->BIOS) { if(!pSiS->BIOS) {
if(!(pSiS->BIOS = xcalloc(1, BIOS_SIZE))) { if(!(pSiS->BIOS = calloc(1, BIOS_SIZE))) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING, xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Could not allocate memory for video BIOS image\n"); "Could not allocate memory for video BIOS image\n");
} else { } else {
@ -4173,7 +4200,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
} else { } else {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING, xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Could not find/read video BIOS\n"); "Could not find/read video BIOS\n");
xfree(pSiS->BIOS); free(pSiS->BIOS);
pSiS->BIOS = NULL; pSiS->BIOS = NULL;
} }
} }
@ -5559,7 +5586,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
/* Do some MergedFB mode initialisation */ /* Do some MergedFB mode initialisation */
#ifdef SISMERGED #ifdef SISMERGED
if(pSiS->MergedFB) { if(pSiS->MergedFB) {
pSiS->CRT2pScrn = xalloc(sizeof(ScrnInfoRec)); pSiS->CRT2pScrn = malloc(sizeof(ScrnInfoRec));
if(!pSiS->CRT2pScrn) { if(!pSiS->CRT2pScrn) {
SISErrorLog(pScrn, "Failed to allocate memory for 2nd pScrn, %s\n", mergeddisstr); SISErrorLog(pScrn, "Failed to allocate memory for 2nd pScrn, %s\n", mergeddisstr);
pSiS->MergedFB = FALSE; pSiS->MergedFB = FALSE;
@ -5592,7 +5619,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
} else { } else {
SISErrorLog(pScrn, mergednocrt1, mergeddisstr); SISErrorLog(pScrn, mergednocrt1, mergeddisstr);
} }
if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn);
pSiS->CRT2pScrn = NULL; pSiS->CRT2pScrn = NULL;
pSiS->MergedFB = FALSE; pSiS->MergedFB = FALSE;
} }
@ -5639,7 +5666,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
} else { } else {
SISErrorLog(pScrn, mergednocrt2, mergeddisstr); SISErrorLog(pScrn, mergednocrt2, mergeddisstr);
} }
if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn);
pSiS->CRT2pScrn = NULL; pSiS->CRT2pScrn = NULL;
pSiS->MergedFB = FALSE; pSiS->MergedFB = FALSE;
} }
@ -6016,7 +6043,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
#ifdef SISMERGED #ifdef SISMERGED
if(pSiS->MergedFB) { if(pSiS->MergedFB) {
pSiS->CRT2pScrn->monitor = xalloc(sizeof(MonRec)); pSiS->CRT2pScrn->monitor = malloc(sizeof(MonRec));
if(pSiS->CRT2pScrn->monitor) { if(pSiS->CRT2pScrn->monitor) {
DisplayModePtr tempm = NULL, currentm = NULL, newm = NULL; DisplayModePtr tempm = NULL, currentm = NULL, newm = NULL;
memcpy(pSiS->CRT2pScrn->monitor, pScrn->monitor, sizeof(MonRec)); memcpy(pSiS->CRT2pScrn->monitor, pScrn->monitor, sizeof(MonRec));
@ -6025,10 +6052,10 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
pSiS->CRT2pScrn->monitor->id = (char *)crt2monname; pSiS->CRT2pScrn->monitor->id = (char *)crt2monname;
tempm = pScrn->monitor->Modes; tempm = pScrn->monitor->Modes;
while(tempm) { while(tempm) {
if(!(newm = xalloc(sizeof(DisplayModeRec)))) break; if(!(newm = malloc(sizeof(DisplayModeRec)))) break;
memcpy(newm, tempm, sizeof(DisplayModeRec)); memcpy(newm, tempm, sizeof(DisplayModeRec));
if(!(newm->name = xalloc(strlen(tempm->name) + 1))) { if(!(newm->name = malloc(strlen(tempm->name) + 1))) {
xfree(newm); free(newm);
break; break;
} }
strcpy(newm->name, tempm->name); strcpy(newm->name, tempm->name);
@ -6070,7 +6097,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
} else { } else {
SISErrorLog(pScrn, "Failed to allocate memory for CRT2 monitor, %s.\n", SISErrorLog(pScrn, "Failed to allocate memory for CRT2 monitor, %s.\n",
mergeddisstr); mergeddisstr);
if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn);
pSiS->CRT2pScrn = NULL; pSiS->CRT2pScrn = NULL;
pSiS->MergedFB = FALSE; pSiS->MergedFB = FALSE;
} }
@ -6835,8 +6862,10 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
#ifdef SIS_USE_XAA #ifdef SIS_USE_XAA
if(!pSiS->useEXA) { if(!pSiS->useEXA) {
if (!xf86LoadSubModule(pScrn, "xaa")) { if (!xf86LoadSubModule(pScrn, "xaa")) {
SISErrorLog(pScrn, "Could not load xaa module\n"); xf86DrvMsg(pScrn->scrnIndex, X_INFO,
goto my_error_1; "Falling back to shadowfb\n");
pSiS->NoAccel = 1;
pSiS->ShadowFB = 1;
} }
} }
#endif #endif
@ -6855,7 +6884,6 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
} }
} }
#endif #endif
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "2D acceleration enabled\n");
} }
/* Load shadowfb (if needed) */ /* Load shadowfb (if needed) */
@ -6867,7 +6895,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
} }
/* Load the dri and glx modules if requested. */ /* Load the dri and glx modules if requested. */
#ifdef XF86DRI #ifdef SISDRI
if(pSiS->loadDRI) { if(pSiS->loadDRI) {
if(!xf86LoaderCheckSymbol("DRIScreenInit")) { if(!xf86LoaderCheckSymbol("DRIScreenInit")) {
if(xf86LoadSubModule(pScrn, "dri")) { if(xf86LoadSubModule(pScrn, "dri")) {
@ -7454,7 +7482,7 @@ SISVESASaveRestore(ScrnInfoPtr pScrn, vbeSaveRestoreFunction function)
(function == MODE_SAVE)) { (function == MODE_SAVE)) {
/* don't rely on the memory not being touched */ /* don't rely on the memory not being touched */
if(!pSiS->pstate) { if(!pSiS->pstate) {
pSiS->pstate = xalloc(pSiS->stateSize); pSiS->pstate = malloc(pSiS->stateSize);
} }
memcpy(pSiS->pstate, pSiS->state, pSiS->stateSize); memcpy(pSiS->pstate, pSiS->state, pSiS->stateSize);
} }
@ -8675,7 +8703,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
if(pSiS->ShadowFB) { if(pSiS->ShadowFB) {
pSiS->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width); pSiS->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
pSiS->ShadowPtr = xalloc(pSiS->ShadowPitch * height); pSiS->ShadowPtr = malloc(pSiS->ShadowPitch * height);
displayWidth = pSiS->ShadowPitch / (pScrn->bitsPerPixel >> 3); displayWidth = pSiS->ShadowPitch / (pScrn->bitsPerPixel >> 3);
FBStart = pSiS->ShadowPtr; FBStart = pSiS->ShadowPtr;
} else { } else {
@ -8703,7 +8731,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
pSiS->cmdQueueLen = 0; /* Force an EngineIdle() at start */ pSiS->cmdQueueLen = 0; /* Force an EngineIdle() at start */
#ifdef XF86DRI #ifdef SISDRI
if(pSiS->loadDRI) { if(pSiS->loadDRI) {
#ifdef SISDUALHEAD #ifdef SISDUALHEAD
/* No DRI in dual head mode */ /* No DRI in dual head mode */
@ -8849,14 +8877,14 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
pSiS->CRT2ColNum = 1 << pScrn->rgbBits; pSiS->CRT2ColNum = 1 << pScrn->rgbBits;
if((pSiS->crt2gcolortable = xalloc(pSiS->CRT2ColNum * 2 * sizeof(LOCO)))) { if((pSiS->crt2gcolortable = malloc(pSiS->CRT2ColNum * 2 * sizeof(LOCO)))) {
pSiS->crt2colors = &pSiS->crt2gcolortable[pSiS->CRT2ColNum]; pSiS->crt2colors = &pSiS->crt2gcolortable[pSiS->CRT2ColNum];
if((pSiS->crt2cindices = xalloc(256 * sizeof(int)))) { if((pSiS->crt2cindices = malloc(256 * sizeof(int)))) {
int i = pSiS->CRT2ColNum; int i = pSiS->CRT2ColNum;
SISCalculateGammaRampCRT2(pScrn); SISCalculateGammaRampCRT2(pScrn);
while(i--) pSiS->crt2cindices[i] = i; while(i--) pSiS->crt2cindices[i] = i;
} else { } else {
xfree(pSiS->crt2gcolortable); free(pSiS->crt2gcolortable);
pSiS->crt2gcolortable = NULL; pSiS->crt2gcolortable = NULL;
pSiS->CRT2SepGamma = FALSE; pSiS->CRT2SepGamma = FALSE;
} }
@ -9016,7 +9044,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
} }
#endif #endif
#ifdef XF86DRI #ifdef SISDRI
if(pSiS->loadDRI) { if(pSiS->loadDRI) {
if(pSiS->directRenderingEnabled) { if(pSiS->directRenderingEnabled) {
/* Now that mi, drm and others have done their thing, /* Now that mi, drm and others have done their thing,
@ -9322,9 +9350,22 @@ SISMergedPointerMoved(int scrnIndex, int x, int y)
} }
} }
if(doit) { if(doit) {
UpdateCurrentTime();
sigstate = xf86BlockSIGIO(); sigstate = xf86BlockSIGIO();
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
{
double dx = x, dy = y;
miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);
x = (int)dx;
y = (int)dy;
}
#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 13
miPointerSetPosition(inputInfo.pointer, Absolute, x, y);
#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 5
miPointerSetPosition(inputInfo.pointer, x, y);
#else
UpdateCurrentTime();
miPointerAbsoluteCursor(x, y, currentTime.milliseconds); miPointerAbsoluteCursor(x, y, currentTime.milliseconds);
#endif
xf86UnblockSIGIO(sigstate); xf86UnblockSIGIO(sigstate);
return; return;
} }
@ -9737,7 +9778,7 @@ SISEnterVT(int scrnIndex, int flags)
SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
#ifdef XF86DRI #ifdef SISDRI
if(pSiS->directRenderingEnabled) { if(pSiS->directRenderingEnabled) {
DRIUnlock(screenInfo.screens[scrnIndex]); DRIUnlock(screenInfo.screens[scrnIndex]);
} }
@ -9763,7 +9804,7 @@ SISLeaveVT(int scrnIndex, int flags)
{ {
ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
SISPtr pSiS = SISPTR(pScrn); SISPtr pSiS = SISPTR(pScrn);
#ifdef XF86DRI #ifdef SISDRI
ScreenPtr pScreen; ScreenPtr pScreen;
if(pSiS->directRenderingEnabled) { if(pSiS->directRenderingEnabled) {
@ -9847,7 +9888,7 @@ SISCloseScreen(int scrnIndex, ScreenPtr pScreen)
SiSCtrlExtUnregister(pSiS, pScrn->scrnIndex); SiSCtrlExtUnregister(pSiS, pScrn->scrnIndex);
} }
#ifdef XF86DRI #ifdef SISDRI
if(pSiS->directRenderingEnabled) { if(pSiS->directRenderingEnabled) {
SISDRICloseScreen(pScreen); SISDRICloseScreen(pScreen);
pSiS->directRenderingEnabled = FALSE; pSiS->directRenderingEnabled = FALSE;
@ -9941,7 +9982,7 @@ SISCloseScreen(int scrnIndex, ScreenPtr pScreen)
if(pSiS->useEXA) { if(pSiS->useEXA) {
if(pSiS->EXADriverPtr) { if(pSiS->EXADriverPtr) {
exaDriverFini(pScreen); exaDriverFini(pScreen);
xfree(pSiS->EXADriverPtr); free(pSiS->EXADriverPtr);
pSiS->EXADriverPtr = NULL; pSiS->EXADriverPtr = NULL;
pSiS->exa_scratch = NULL; pSiS->exa_scratch = NULL;
} }
@ -9954,33 +9995,33 @@ SISCloseScreen(int scrnIndex, ScreenPtr pScreen)
} }
if(pSiS->ShadowPtr) { if(pSiS->ShadowPtr) {
xfree(pSiS->ShadowPtr); free(pSiS->ShadowPtr);
pSiS->ShadowPtr = NULL; pSiS->ShadowPtr = NULL;
} }
if(pSiS->DGAModes) { if(pSiS->DGAModes) {
xfree(pSiS->DGAModes); free(pSiS->DGAModes);
pSiS->DGAModes = NULL; pSiS->DGAModes = NULL;
} }
if(pSiS->adaptor) { if(pSiS->adaptor) {
xfree(pSiS->adaptor); free(pSiS->adaptor);
pSiS->adaptor = NULL; pSiS->adaptor = NULL;
pSiS->ResetXv = pSiS->ResetXvGamma = pSiS->ResetXvDisplay = NULL; pSiS->ResetXv = pSiS->ResetXvGamma = pSiS->ResetXvDisplay = NULL;
} }
if(pSiS->blitadaptor) { if(pSiS->blitadaptor) {
xfree(pSiS->blitadaptor); free(pSiS->blitadaptor);
pSiS->blitadaptor = NULL; pSiS->blitadaptor = NULL;
} }
if(pSiS->crt2gcolortable) { if(pSiS->crt2gcolortable) {
xfree(pSiS->crt2gcolortable); free(pSiS->crt2gcolortable);
pSiS->crt2gcolortable = NULL; pSiS->crt2gcolortable = NULL;
} }
if(pSiS->crt2cindices) { if(pSiS->crt2cindices) {
xfree(pSiS->crt2cindices); free(pSiS->crt2cindices);
pSiS->crt2cindices = NULL; pSiS->crt2cindices = NULL;
} }

View File

@ -638,13 +638,13 @@ SiS_AllocBuffers(ScrnInfoPtr pScrn, UChar **buf1, UChar **buf2, UChar **buf3)
(*buf1) = (UChar *)pSiS->FbBase + offset; (*buf1) = (UChar *)pSiS->FbBase + offset;
(*buf1) = (UChar *)(((ULong)(*buf1) + 31) & ~31); (*buf1) = (UChar *)(((ULong)(*buf1) + 31) & ~31);
if(!((*buf2) = (UChar *)xalloc(BUFFERSIZE + 15))) { if(!((*buf2) = (UChar *)malloc(BUFFERSIZE + 15))) {
SISFreeFBMemory(pScrn, &handle); SISFreeFBMemory(pScrn, &handle);
return NULL; return NULL;
} }
if(!((*buf3) = (UChar *)xalloc(BUFFERSIZE + 15))) { if(!((*buf3) = (UChar *)malloc(BUFFERSIZE + 15))) {
xfree((*buf2)); free((*buf2));
SISFreeFBMemory(pScrn, &handle); SISFreeFBMemory(pScrn, &handle);
return NULL; return NULL;
} }
@ -1098,8 +1098,8 @@ SiSVidCopyInitGen(ScreenPtr pScreen, SISMCFuncData *MCFunctions, vidCopyFunc *UM
/* Free buffers */ /* Free buffers */
SISFreeFBMemory(pScrn, &fbhandle); SISFreeFBMemory(pScrn, &fbhandle);
xfree(buf2); free(buf2);
xfree(buf3); free(buf3);
xf86DrvMsg(pScrn->scrnIndex, X_PROBED, xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
"Using %s method for aligned data transfers %s video RAM\n", "Using %s method for aligned data transfers %s video RAM\n",

View File

@ -448,7 +448,7 @@ SiSOptions(ScrnInfoPtr pScrn)
xf86CollectOptions(pScrn, NULL); xf86CollectOptions(pScrn, NULL);
/* Process the options */ /* Process the options */
if(!(pSiS->Options = xalloc(sizeof(SISOptions)))) return; if(!(pSiS->Options = malloc(sizeof(SISOptions)))) return;
memcpy(pSiS->Options, SISOptions, sizeof(SISOptions)); memcpy(pSiS->Options, SISOptions, sizeof(SISOptions));
@ -480,7 +480,7 @@ SiSOptions(ScrnInfoPtr pScrn)
#endif #endif
pSiS->ShadowFB = FALSE; pSiS->ShadowFB = FALSE;
pSiS->loadDRI = FALSE; pSiS->loadDRI = FALSE;
#ifdef XF86DRI #ifdef SISDRI
pSiS->agpWantedPages = AGP_PAGES; pSiS->agpWantedPages = AGP_PAGES;
#endif #endif
pSiS->VESA = -1; pSiS->VESA = -1;
@ -888,7 +888,7 @@ SiSOptions(ScrnInfoPtr pScrn)
if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2POS))) { if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2POS))) {
int result; int result;
Bool valid = FALSE; Bool valid = FALSE;
char *tempstr = xalloc(strlen(strptr) + 1); char *tempstr = malloc(strlen(strptr) + 1);
result = sscanf(strptr, "%s %d", tempstr, &ival); result = sscanf(strptr, "%s %d", tempstr, &ival);
if(result >= 1) { if(result >= 1) {
if(!xf86NameCmp(tempstr,"LeftOf")) { if(!xf86NameCmp(tempstr,"LeftOf")) {
@ -946,18 +946,18 @@ SiSOptions(ScrnInfoPtr pScrn)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Except for \"Clone\", the parameter may be followed by an integer.\n"); "Except for \"Clone\", the parameter may be followed by an integer.\n");
} }
xfree(tempstr); free(tempstr);
} }
if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_METAMODES))) { if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_METAMODES))) {
pSiS->MetaModes = xalloc(strlen(strptr) + 1); pSiS->MetaModes = malloc(strlen(strptr) + 1);
if(pSiS->MetaModes) memcpy(pSiS->MetaModes, strptr, strlen(strptr) + 1); if(pSiS->MetaModes) memcpy(pSiS->MetaModes, strptr, strlen(strptr) + 1);
} }
if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2HSYNC))) { if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2HSYNC))) {
pSiS->CRT2HSync = xalloc(strlen(strptr) + 1); pSiS->CRT2HSync = malloc(strlen(strptr) + 1);
if(pSiS->CRT2HSync) memcpy(pSiS->CRT2HSync, strptr, strlen(strptr) + 1); if(pSiS->CRT2HSync) memcpy(pSiS->CRT2HSync, strptr, strlen(strptr) + 1);
} }
if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2VREFRESH))) { if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2VREFRESH))) {
pSiS->CRT2VRefresh = xalloc(strlen(strptr) + 1); pSiS->CRT2VRefresh = malloc(strlen(strptr) + 1);
if(pSiS->CRT2VRefresh) memcpy(pSiS->CRT2VRefresh, strptr, strlen(strptr) + 1); if(pSiS->CRT2VRefresh) memcpy(pSiS->CRT2VRefresh, strptr, strlen(strptr) + 1);
} }
if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_MERGEDDPI))) { if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_MERGEDDPI))) {
@ -2034,7 +2034,7 @@ SiSOptions(ScrnInfoPtr pScrn)
} }
} }
#ifdef XF86DRI #ifdef SISDRI
/* DRI */ /* DRI */
from = X_DEFAULT; from = X_DEFAULT;
if(xf86GetOptValBool(pSiS->Options, OPTION_DRI, &pSiS->loadDRI)) { if(xf86GetOptValBool(pSiS->Options, OPTION_DRI, &pSiS->loadDRI)) {

View File

@ -34,8 +34,6 @@
#endif #endif
#include "sis.h" #include "sis.h"
#define NEED_REPLIES
#define NEED_EVENTS
#include <X11/X.h> #include <X11/X.h>
#include "dixstruct.h" #include "dixstruct.h"
@ -1882,10 +1880,10 @@ SiSProcSiSCtrlQueryVersion(ClientPtr client)
rep.majorVersion = SISCTRL_MAJOR_VERSION; rep.majorVersion = SISCTRL_MAJOR_VERSION;
rep.minorVersion = SISCTRL_MINOR_VERSION; rep.minorVersion = SISCTRL_MINOR_VERSION;
if(client->swapped) { if(client->swapped) {
swaps(&rep.sequenceNumber, n); _swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); _swapl(&rep.length, n);
swaps(&rep.majorVersion, n); _swaps(&rep.majorVersion, n);
swaps(&rep.minorVersion, n); _swaps(&rep.minorVersion, n);
} }
WriteToClient(client, sizeof(xSiSCtrlQueryVersionReply), (char *)&rep); WriteToClient(client, sizeof(xSiSCtrlQueryVersionReply), (char *)&rep);
return (client->noClientException); return (client->noClientException);
@ -1926,15 +1924,15 @@ SiSProcSiSCtrlCommand(ClientPtr client)
rep.sequenceNumber = client->sequence; rep.sequenceNumber = client->sequence;
if(client->swapped) { if(client->swapped) {
swaps(&rep.sequenceNumber, n); _swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); _swapl(&rep.length, n);
swapl(&rep.screen, n); _swapl(&rep.screen, n);
swapl(&rep.sdc_id, n); _swapl(&rep.sdc_id, n);
swapl(&rep.sdc_command, n); _swapl(&rep.sdc_command, n);
swapl(&rep.sdc_result_header, n); _swapl(&rep.sdc_result_header, n);
for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { for(i = 0; i < SDC_NUM_PARM_RESULT; i++) {
swapl(&rep.sdc_parm[i], n); _swapl(&rep.sdc_parm[i], n);
swapl(&rep.sdc_result[i], n); _swapl(&rep.sdc_result[i], n);
} }
} }
WriteToClient(client, sizeof(xSiSCtrlCommandReply), (char *)&rep); WriteToClient(client, sizeof(xSiSCtrlCommandReply), (char *)&rep);
@ -1961,7 +1959,7 @@ SiSSProcSiSCtrlQueryVersion(ClientPtr client)
{ {
REQUEST(xSiSCtrlQueryVersionReq); REQUEST(xSiSCtrlQueryVersionReq);
register int n; register int n;
swaps(&stuff->length, n); _swaps(&stuff->length, n);
REQUEST_SIZE_MATCH(xSiSCtrlQueryVersionReq); REQUEST_SIZE_MATCH(xSiSCtrlQueryVersionReq);
return SiSProcSiSCtrlQueryVersion(client); return SiSProcSiSCtrlQueryVersion(client);
} }
@ -1972,14 +1970,14 @@ SiSSProcSiSCtrlCommand(ClientPtr client)
REQUEST(xSiSCtrlCommandReq); REQUEST(xSiSCtrlCommandReq);
register int n; register int n;
int i; int i;
swaps(&stuff->length, n); _swaps(&stuff->length, n);
swapl(&stuff->screen, n); _swapl(&stuff->screen, n);
swapl(&stuff->sdc_id, n); _swapl(&stuff->sdc_id, n);
swapl(&stuff->sdc_command, n); _swapl(&stuff->sdc_command, n);
swapl(&stuff->sdc_result_header, n); _swapl(&stuff->sdc_result_header, n);
for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { for(i = 0; i < SDC_NUM_PARM_RESULT; i++) {
swapl(&stuff->sdc_parm[i], n); _swapl(&stuff->sdc_parm[i], n);
swapl(&stuff->sdc_result[i], n); _swapl(&stuff->sdc_result[i], n);
} }
REQUEST_SIZE_MATCH(xSiSCtrlCommandReq); REQUEST_SIZE_MATCH(xSiSCtrlCommandReq);
return SiSProcSiSCtrlCommand(client); return SiSProcSiSCtrlCommand(client);
@ -2007,7 +2005,7 @@ SiSCtrlResetProc(ExtensionEntry* extEntry)
* in SiSCtrlExtUnregister()) * in SiSCtrlExtUnregister())
*/ */
if(extEntry->extPrivate) { if(extEntry->extPrivate) {
xfree(extEntry->extPrivate); free(extEntry->extPrivate);
extEntry->extPrivate = NULL; extEntry->extPrivate = NULL;
} }
} }
@ -2028,7 +2026,7 @@ SiSCtrlExtInit(ScrnInfoPtr pScrn)
if(!(myext = CheckExtension(SISCTRL_PROTOCOL_NAME))) { if(!(myext = CheckExtension(SISCTRL_PROTOCOL_NAME))) {
if(!(myctrl = xcalloc(sizeof(xSiSCtrlScreenTable), 1))) if(!(myctrl = calloc(sizeof(xSiSCtrlScreenTable), 1)))
return; return;
if(!(myext = AddExtension(SISCTRL_PROTOCOL_NAME, 0, 0, if(!(myext = AddExtension(SISCTRL_PROTOCOL_NAME, 0, 0,
@ -2038,7 +2036,7 @@ SiSCtrlExtInit(ScrnInfoPtr pScrn)
StandardMinorOpcode))) { StandardMinorOpcode))) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Failed to add SISCTRL extension\n"); "Failed to add SISCTRL extension\n");
xfree(myctrl); free(myctrl);
return; return;
} }

View File

@ -1429,7 +1429,7 @@ SiSVGASaveFonts(ScrnInfoPtr pScrn)
attr10 = SiS_ReadAttr(pSiS, 0x10); attr10 = SiS_ReadAttr(pSiS, 0x10);
if(attr10 & 0x01) return; if(attr10 & 0x01) return;
if(!(pSiS->fonts = xalloc(SIS_FONTS_SIZE * 2))) { if(!(pSiS->fonts = malloc(SIS_FONTS_SIZE * 2))) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
"Could not save console fonts, mem allocation failed\n"); "Could not save console fonts, mem allocation failed\n");
return; return;
@ -1716,8 +1716,8 @@ SiSVGAMapMem(ScrnInfoPtr pScrn)
#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0) #if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(4,3,0,0,0)
#if XSERVER_LIBPCIACCESS #if XSERVER_LIBPCIACCESS
pSiS->VGAMemBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO_32BIT, (void) pci_device_map_legacy(pSiS->PciInfo, pSiS->VGAMapPhys, pSiS->VGAMapSize,
pSiS->PciInfo, pSiS->VGAMapPhys, pSiS->VGAMapSize); PCI_DEV_MAP_FLAG_WRITABLE, &pSiS->VGAMemBase);
#else #else
pSiS->VGAMemBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO_32BIT, pSiS->VGAMemBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
pSiS->PciTag, pSiS->VGAMapPhys, pSiS->VGAMapSize); pSiS->PciTag, pSiS->VGAMapPhys, pSiS->VGAMapSize);
@ -1737,7 +1737,12 @@ SiSVGAUnmapMem(ScrnInfoPtr pScrn)
if(pSiS->VGAMemBase == NULL) return; if(pSiS->VGAMemBase == NULL) return;
#if XSERVER_LIBPCIACCESS
(void) pci_device_unmap_legacy(pSiS->PciInfo, pSiS->VGAMemBase, pSiS->VGAMapSize);
#else
xf86UnMapVidMem(pScrn->scrnIndex, pSiS->VGAMemBase, pSiS->VGAMapSize); xf86UnMapVidMem(pScrn->scrnIndex, pSiS->VGAMemBase, pSiS->VGAMapSize);
#endif
pSiS->VGAMemBase = NULL; pSiS->VGAMemBase = NULL;
} }
#endif #endif

View File

@ -326,7 +326,7 @@ SISInitVideo(ScreenPtr pScreen)
if(newAdaptor) size++; if(newAdaptor) size++;
if(newBlitAdaptor) size++; if(newBlitAdaptor) size++;
newAdaptors = xalloc(size * sizeof(XF86VideoAdaptorPtr*)); newAdaptors = malloc(size * sizeof(XF86VideoAdaptorPtr*));
if(newAdaptors) { if(newAdaptors) {
if(num_adaptors) { if(num_adaptors) {
memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr)); memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr));
@ -356,7 +356,7 @@ SISInitVideo(ScreenPtr pScreen)
} }
if(newAdaptors) { if(newAdaptors) {
xfree(newAdaptors); free(newAdaptors);
} }
} }
@ -877,7 +877,7 @@ SISSetupImageVideo(ScreenPtr pScreen)
} }
#endif #endif
if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
sizeof(SISPortPrivRec) + sizeof(SISPortPrivRec) +
sizeof(DevUnion)))) { sizeof(DevUnion)))) {
return NULL; return NULL;
@ -4067,7 +4067,7 @@ SISSetupBlitVideo(ScreenPtr pScreen)
} }
#endif #endif
if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) +
(sizeof(DevUnion) * NUM_BLIT_PORTS) + (sizeof(DevUnion) * NUM_BLIT_PORTS) +
sizeof(SISBPortPrivRec)))) { sizeof(SISBPortPrivRec)))) {
return NULL; return NULL;

View File

@ -29,11 +29,40 @@
#ifndef SISPCIRENAME_H #ifndef SISPCIRENAME_H
#define SISPCIRENAME_H #define SISPCIRENAME_H
#include <stdint.h>
enum region_type { enum region_type {
REGION_MEM, REGION_MEM,
REGION_IO REGION_IO
}; };
#include "xf86Module.h"
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12
#if (defined(__alpha__) || defined(__ia64__)) && defined (linux)
#define PCI_DOM_MASK 0x01fful
#else
#define PCI_DOM_MASK 0x0ffu
#endif
#ifndef PCI_DOM_MASK
# define PCI_DOM_MASK 0x0ffu
#endif
#define PCI_DOMBUS_MASK (((PCI_DOM_MASK) << 8) | 0x0ffu)
static inline uint32_t
pciTag(int busnum, int devnum, int funcnum)
{
uint32_t tag;
tag = (busnum & (PCI_DOMBUS_MASK)) << 16;
tag |= (devnum & 0x00001fu) << 11;
tag |= (funcnum & 0x000007u) << 8;
return tag;
}
#endif /* GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 */
#ifndef XSERVER_LIBPCIACCESS #ifndef XSERVER_LIBPCIACCESS
/* pciVideoPtr */ /* pciVideoPtr */

View File

@ -69,8 +69,9 @@ typedef unsigned int BOOLEAN;
#define SISIOMEMTYPE #define SISIOMEMTYPE
#ifdef SIS_LINUX_KERNEL
typedef unsigned long SISIOADDRESS; typedef unsigned long SISIOADDRESS;
#ifdef SIS_LINUX_KERNEL
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,8) #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,8)
#include <linux/types.h> /* Need __iomem */ #include <linux/types.h> /* Need __iomem */
#undef SISIOMEMTYPE #undef SISIOMEMTYPE
@ -78,15 +79,6 @@ typedef unsigned long SISIOADDRESS;
#endif #endif
#endif #endif
#ifdef SIS_XORG_XF86
#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,0,0,0)
typedef unsigned long IOADDRESS;
typedef unsigned long SISIOADDRESS;
#else
typedef IOADDRESS SISIOADDRESS;
#endif
#endif
typedef enum _SIS_CHIP_TYPE { typedef enum _SIS_CHIP_TYPE {
SIS_VGALegacy = 0, SIS_VGALegacy = 0,
SIS_530, SIS_530,