vdr/xine-lib-vdr/src/video_out/libdha AsmMacros.h Makefile.am Makefile.in README cpu_flush.c irq.c libdha.c libdha.h mmi.c mtrr.c pci.c pci_db2c.awk pci_ids.h pci_names.h pci_vendors.h ports.c test.c
Darren Salt
pkg-vdr-dvb-changes@lists.alioth.debian.org
Mon, 04 Apr 2005 22:38:28 +0000
Update of /cvsroot/pkg-vdr-dvb/vdr/xine-lib-vdr/src/video_out/libdha
In directory haydn:/tmp/cvs-serv13100/src/video_out/libdha
Added Files:
AsmMacros.h Makefile.am Makefile.in README cpu_flush.c irq.c
libdha.c libdha.h mmi.c mtrr.c pci.c pci_db2c.awk pci_ids.h
pci_names.h pci_vendors.h ports.c test.c
Log Message:
Import of VDR-patched xine-lib.
--- NEW FILE: pci_db2c.awk ---
# This file converts given pci.db to "C" source and header files
# For latest version of pci ids see: http://pciids.sf.net
# Copyright 2002 Nick Kurshev
#
# Usage: awk -f pci_db2c.awk pci.db
#
# Tested with Gawk v 3.0.x and Mawk 1.3.3
# But it should work with standard Awk implementations (hopefully).
# (Nobody tested it with Nawk, but it should work, too).
#
BEGIN {
if(ARGC != 2) {
# check for arguments:
print "Usage awk -f pci_db2c.awk pci.db (and make sure pci.db file exists first)";
exit(1);
}
in_file = ARGV[1];
vendor_file = "pci_vendors.h";
ids_file = "pci_ids.h"
name_file = "pci_names.c"
name_h_file = "pci_names.h"
dev_ids_file = "pci_dev_ids.c"
line=0;
# print out head lines
print_head(vendor_file);
print_head(ids_file);
print_head(name_file);
print_head(name_h_file);
print_head(dev_ids_file);
print "#ifndef PCI_VENDORS_INCLUDED" >vendor_file
print "#define PCI_VENDORS_INCLUDED 1">vendor_file
print "" >vendor_file
print "#ifndef PCI_IDS_INCLUDED" >ids_file
print "#define PCI_IDS_INCLUDED 1">ids_file
print "" >ids_file
print "#include \"pci_vendors.h\"">ids_file
print "" >ids_file
print "#ifndef PCI_NAMES_INCLUDED" >name_h_file
print "#define PCI_NAMES_INCLUDED 1">name_h_file
print "" >name_h_file
print_name_struct(name_h_file);
print "#include <stddef.h>">name_file
print "#include \"pci_names.h\"">name_file
print "#include \"pci_dev_ids.c\"">name_file
print "">name_file
print "static struct vendor_id_s vendor_ids[] = {">name_file
first_pass=1;
init_name_db();
while(getline <in_file)
{
# count up lines
line++;
n=split($0, field, "[\t]");
name_field = kill_double_quoting(field[3])
if(field[1] == "v" && length(field[3])>0 && field[4] == "0")
{
init_device_db()
svend_name = get_short_vendor_name(field[3])
printf("#define VENDOR_%s\t", svend_name) >vendor_file;
if(length(svend_name) < 9) printf("\t") >vendor_file;
printf("0x%s /*%s*/\n",field[2], name_field) >vendor_file;
printf("{ 0x%s, \"%s\", dev_lst_%s },\n",field[2], name_field, field[2]) >name_file;
printf("/* Vendor: %s: %s */\n", field[2], name_field) > ids_file
if(first_pass == 1) { first_pass=0; }
else { print "{ 0xFFFF, NULL }\n};" >dev_ids_file; }
printf("static const struct device_id_s dev_lst_%s[]={\n", field[2])>dev_ids_file
}
if(field[1] == "d" && length(field[3])>0 && field[4] == "0")
{
sdev_name = get_short_device_name(field[3])
full_name = sprintf("#define DEVICE_%s_%s", svend_name, sdev_name);
printf("%s\t", full_name) >ids_file
if(length(full_name) < 9) printf("\t") >ids_file;
if(length(full_name) < 17) printf("\t") >ids_file;
if(length(full_name) < 25) printf("\t") >ids_file;
if(length(full_name) < 32) printf("\t") >ids_file;
if(length(full_name) < 40) printf("\t") >ids_file;
if(length(full_name) < 48) printf("\t") >ids_file;
printf("0x%s /*%s*/\n", substr(field[2], 5), name_field) >ids_file
printf("{ 0x%s, \"%s\" },\n", substr(field[2], 5), name_field) >dev_ids_file
}
if(field[1] == "s" && length(field[3])>0 && field[4] == "0")
{
subdev_name = get_short_subdevice_name(field[3])
full_name = sprintf("#define SUBDEVICE_%s_%s", svend_name, subdev_name)
printf("\t%s\t", full_name) >ids_file
if(length(full_name) < 9) printf("\t") >ids_file;
if(length(full_name) < 17) printf("\t") >ids_file;
if(length(full_name) < 25) printf("\t") >ids_file;
if(length(full_name) < 32) printf("\t") >ids_file;
if(length(full_name) < 40) printf("\t") >ids_file;
printf("0x%s /*%s*/\n", substr(field[2], 9), name_field) >ids_file
}
}
print "Total lines parsed:", line;
print "">vendor_file
print "#endif/*PCI_VENDORS_INCLUDED*/">vendor_file
print "">ids_file
print "#endif/*PCI_IDS_INCLUDED*/">ids_file
print "">name_h_file
print "#endif/*PCI_NAMES_INCLUDED*/">name_h_file
print "};">name_file
print "{ 0xFFFF, NULL }" >dev_ids_file;
print "};">dev_ids_file
print_func_bodies(name_file);
}
function print_head( out_file)
{
print "/*" >out_file;
printf(" * File: %s\n", out_file) >out_file;
printf(" * This file was generated automatically. Don't modify it.\n") >out_file;
print "*/" >out_file;
return;
}
function print_name_struct(out_file)
{
print "#ifdef __cplusplus" >out_file
print "extern \"C\" {" >out_file
print "#endif" >out_file
print "">out_file
print "struct device_id_s" >out_file
print "{" >out_file
print "\tunsigned short\tid;" >out_file
print "\tconst char *\tname;" >out_file
print "};" >out_file
print "">out_file
print "struct vendor_id_s" >out_file
print "{" >out_file
print "\tunsigned short\tid;" >out_file
print "\tconst char *\tname;" >out_file
print "\tconst struct device_id_s *\tdev_list;" >out_file
print "};" >out_file
print "extern const char *pci_vendor_name(unsigned short id);">out_file
print "extern const char *pci_device_name(unsigned short vendor_id, unsigned short device_id);">out_file
print "">out_file
print "#ifdef __cplusplus" >out_file
print "}" >out_file
print "#endif" >out_file
return
}
function print_func_bodies(out_file)
{
print "">out_file
print "const char *pci_vendor_name(unsigned short id)" >out_file
print "{" >out_file
print " unsigned i;" >out_file
print " for(i=0;i<sizeof(vendor_ids)/sizeof(struct vendor_id_s);i++)">out_file
print " {" >out_file
print "\tif(vendor_ids[i].id == id) return vendor_ids[i].name;" >out_file
print " }" >out_file
print " return NULL;" >out_file
print "}">out_file
print "" >out_file
print "const char *pci_device_name(unsigned short vendor_id, unsigned short device_id)" >out_file
print "{" >out_file
print " unsigned i, j;" >out_file
print " for(i=0;i<sizeof(vendor_ids)/sizeof(struct vendor_id_s);i++)">out_file
print " {" >out_file
print "\tif(vendor_ids[i].id == vendor_id)" >out_file
print "\t{" >out_file
print "\t j=0;" >out_file
print "\t while(vendor_ids[i].dev_list[j].id != 0xFFFF)" >out_file
print "\t {">out_file
print "\t\tif(vendor_ids[i].dev_list[j].id == device_id) return vendor_ids[i].dev_list[j].name;">out_file
print "\t\tj++;">out_file
print "\t };">out_file
print "\t break;" >out_file
print "\t}" >out_file
print " }" >out_file
print " return NULL;">out_file
print "}">out_file
return
}
function kill_double_quoting(fld)
{
n=split(fld,phrases, "[\"]");
new_fld = phrases[1]
for(i=2;i<=n;i++) new_fld = sprintf("%s\\\"%s", new_fld, phrases[i])
return new_fld
}
function init_name_db()
{
vendor_names[1]=""
}
function init_device_db()
{
# delete device_names
for( i in device_names ) delete device_names[i];
device_names[1]=""
# delete subdevice_names
for( i in subdevice_names ) delete subdevice_names[i];
subdevice_names[1] = ""
}
function get_short_vendor_name(from)
{
n=split(from, name, "[ ]");
new_name = toupper(name[1]);
if(length(new_name)<3) new_name = sprintf("%s_%s", new_name, toupper(name[2]));
n=split(new_name, name, "[^0-9A-Za-z]");
svendor = name[1];
for(i=2;i<=n;i++) svendor=sprintf("%s%s%s", svendor, length(name[i])?"_":"", name[i]);
new_name = svendor;
vend_suffix = 2;
# check for unique
while(new_name in vendor_names)
{
new_name = sprintf("%s%u", svendor, vend_suffix)
vend_suffix = vend_suffix + 1;
}
# Add new name in array of vendor's names
vendor_names[new_name] = new_name
return new_name;
}
function get_short_device_name(from_name)
{
n=split(from_name, name, "[ ]");
new_name = toupper(name[1]);
if(length(name[2])) new_name = sprintf("%s_%s", new_name, toupper(name[2]));
if(length(name[3])) new_name = sprintf("%s_%s", new_name, toupper(name[3]));
n=split(new_name, name, "[^0-9A-Za-z]");
sdevice = name[1];
for(i=2;i<=n;i++) sdevice=sprintf("%s%s%s", sdevice, length(name[i])?"_":"", name[i]);
new_name = sdevice;
dev_suffix = 2;
# check for unique
while(new_name in device_names)
{
new_name = sprintf("%s%u", sdevice, dev_suffix)
dev_suffix = dev_suffix + 1;
}
# Add new name in array of device names
device_names[new_name] = new_name
return new_name;
}
function get_short_subdevice_name(from_name)
{
n=split(from_name, name, "[ ]");
new_name = toupper(name[1]);
if(length(name[2])) new_name = sprintf("%s_%s", new_name, toupper(name[2]));
if(length(name[3])) new_name = sprintf("%s_%s", new_name, toupper(name[3]));
n=split(new_name, name, "[^0-9A-Za-z]");
ssdevice = name[1];
for(i=2;i<=n;i++) ssdevice=sprintf("%s%s%s", ssdevice, length(name[i])?"_":"", name[i]);
new_name = ssdevice;
sdev_suffix = 2;
# check for unique
while(new_name in subdevice_names)
{
new_name = sprintf("%s%u", ssdevice, sdev_suffix)
sdev_suffix = sdev_suffix + 1;
}
# Add new name in array of subdevice names
subdevice_names[new_name] = new_name
return new_name;
}
--- NEW FILE: pci.c ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: README ---
libdha - Library of Direct Hardware Access.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This library was designed for direct hardware access under different
OS and architectures. It's not linux specific only (like harddrake
and other).
This library is based on gfxdump utility from GATOS project.
Full list of supported OS'es see in libdha.h
Note: This library requires ROOT privileges or SUID'ed executable
file (same as XServer).
(Or use newly developed libdha kernel helper. Look at kernelhelper/dhahelper.c)
--- NEW FILE: pci_vendors.h ---
/*
* File: pci_vendors.h
* This file was generated automatically. Don't modify it.
*/
#ifndef PCI_VENDORS_INCLUDED
#define PCI_VENDORS_INCLUDED 1
#define VENDOR_GAMMAGRAPHX 0x0000 /*Gammagraphx, Inc.*/
#define VENDOR_ASCEND 0x001a /*Ascend Communications, Inc.*/
#define VENDOR_PARADYNE 0x0033 /*Paradyne corp.*/
#define VENDOR_LOCKHEED 0x003d /*Lockheed Martin-Marietta Corp*/
#define VENDOR_HAUPPAUGE 0x0070 /*Hauppauge computer works Inc.*/
#define VENDOR_NCIPHER 0x0100 /*Ncipher Corp Ltd*/
#define VENDOR_DYNALINK 0x0675 /*Dynalink*/
#define VENDOR_VIA 0x0925 /*VIA Technologies, Inc. (Wrong ID)*/
#define VENDOR_ARRIS 0x09c1 /*Arris*/
#define VENDOR_BREA 0x0a89 /*BREA Technologies Inc*/
#define VENDOR_COMPAQ 0x0e11 /*Compaq Computer Corporation*/
#define VENDOR_HASOTEC 0x0e55 /*HaSoTec GmbH*/
[...1622 lines suppressed...]
#define VENDOR_I_ME 0xd531 /*I+ME ACTIA GmbH*/
#define VENDOR_EXSYS 0xd84d /*Exsys*/
#define VENDOR_INDIGITA 0xdead /*Indigita Corporation*/
#define VENDOR_WINBOND2 0xe000 /*Winbond*/
#define VENDOR_TIGER 0xe159 /*Tiger Jet Network Inc.*/
#define VENDOR_EKF 0xe4bf /*EKF Elektronik GmbH*/
#define VENDOR_EAGLE 0xea01 /*Eagle Technology*/
#define VENDOR_AASHIMA2 0xeabb /*Aashima Technology B.V.*/
#define VENDOR_ENDACE 0xeace /*Endace Measurement Systems, Ltd*/
#define VENDOR_BELKIN 0xec80 /*Belkin Corporation*/
#define VENDOR_ECHO 0xecc0 /*Echo Corporation*/
#define VENDOR_ARK2 0xedd8 /*ARK Logic Inc*/
#define VENDOR_AJA 0xf1d0 /*AJA Video*/
#define VENDOR_FAST3 0xfa57 /*Fast Search & Transfer ASA*/
#define VENDOR_ULTRAVIEW 0xfebd /*Ultraview Corp.*/
#define VENDOR_EPIGRAM 0xfeda /*Epigram Inc*/
#define VENDOR_VMWARE2 0xfffe /*VMWare Inc*/
#define VENDOR_ILLEGAL 0xffff /*Illegal Vendor ID*/
#endif/*PCI_VENDORS_INCLUDED*/
--- NEW FILE: ports.c ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: Makefile.am ---
include $(top_srcdir)/misc/Makefile.common
EXTRA_DIST = README pci_db2c.awk
SUBDIRS = bin kernelhelper oth sysdep
AM_CFLAGS = @STATIC@
if HAVE_VIDIX
dha_lib = libdha.la
endif
awk_generated = pci_dev_ids.c pci_ids.h pci_names.c pci_names.h pci_vendors.h
CLEANFILES = $(awk_generated)
noinst_LTLIBRARIES = $(dha_lib)
libdha_la_SOURCES = libdha.c mtrr.c pci.c mmi.c ports.c irq.c cpu_flush.c
nodist_libdha_la_SOURCES = pci_names.c
EXTRA_PROGRAMS = test
test_SOURCES = test.c
test_LDADD = $(top_builddir)/src/video_out/libdha/libdha.la
noinst_HEADERS = AsmMacros.h libdha.h pci_ids.h pci_names.h pci_vendors.h
## for OpenBSD LIBS += -li386
## We have to create some files, on the fly, this is why this rule is needed.
pci_db2c.awk:
oth/pci.db:
$(awk_generated): pci_db2c.awk oth/pci.db
LC_ALL=C $(AWK) -f $(top_srcdir)/src/video_out/libdha/pci_db2c.awk \
$(top_srcdir)/src/video_out/libdha/oth/pci.db
pci_names.lo: $(awk_generated)
source='$*.c' object='$@' libtool=yes \
depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' \
$(CCDEPMODE) $(depcomp) \
$(LTCOMPILE) -c -o $@ `test -f $*.c || echo '$(srcdir)/'`$*.c
--- NEW FILE: irq.c ---
/* HW IRQ support */
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/mman.h> /* mlock */
#include <pthread.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include "libdha.h"
#include "kernelhelper/dhahelper.h"
static int libdha_fd=-1;
static int hwirq_locks=0;
int hwirq_install(int bus, int dev, int func,
int ar, u_long ao, uint32_t ad)
{
int retval;
if( libdha_fd == -1) libdha_fd = open("/dev/dhahelper",O_RDWR);
hwirq_locks++;
if (libdha_fd > 0)
{
dhahelper_irq_t _irq;
_irq.bus = bus;
_irq.dev = dev;
_irq.func = func;
_irq.ack_region = ar;
_irq.ack_offset = ao;
_irq.ack_data = ad;
retval = ioctl(libdha_fd, DHAHELPER_INSTALL_IRQ, &_irq);
return retval;
}
return errno;
}
int hwirq_wait(unsigned irqnum)
{
int retval;
if (libdha_fd > 0)
{
dhahelper_irq_t _irq;
_irq.num = irqnum;
retval = ioctl(libdha_fd, DHAHELPER_ACK_IRQ, &_irq);
return retval;
}
return EINVAL;
}
int hwirq_uninstall(int bus, int dev, int func)
{
if (libdha_fd > 0)
{
dhahelper_irq_t _irq;
_irq.bus = bus;
_irq.dev = dev;
_irq.func = func;
ioctl(libdha_fd, DHAHELPER_FREE_IRQ, &_irq);
}
if(!hwirq_locks) { close(libdha_fd); libdha_fd=-1; }
return 0;
}
--- NEW FILE: Makefile.in ---
# Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SOURCES = $(libdha_la_SOURCES) $(nodist_libdha_la_SOURCES) $(test_SOURCES)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/misc/Makefile.common
EXTRA_PROGRAMS = test$(EXEEXT)
subdir = src/video_out/libdha
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/_xine.m4 $(top_srcdir)/m4/aa.m4 \
$(top_srcdir)/m4/alsa.m4 $(top_srcdir)/m4/arts.m4 \
$(top_srcdir)/m4/as.m4 $(top_srcdir)/m4/caca.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/directx.m4 \
$(top_srcdir)/m4/dl.m4 $(top_srcdir)/m4/dvdnav.m4 \
$(top_srcdir)/m4/esd.m4 $(top_srcdir)/m4/ffmpeg.m4 \
$(top_srcdir)/m4/freetype2.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/irixal.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/libFLAC.m4 $(top_srcdir)/m4/libfame.m4 \
$(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/opengl.m4 \
$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/sdl.m4 $(top_srcdir)/m4/speex.m4 \
$(top_srcdir)/m4/theora.m4 $(top_srcdir)/m4/vorbis.m4 \
$(top_srcdir)/m4/xv.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libdha_la_LIBADD =
am_libdha_la_OBJECTS = libdha.lo mtrr.lo pci.lo mmi.lo ports.lo irq.lo \
cpu_flush.lo
nodist_libdha_la_OBJECTS = pci_names.lo
libdha_la_OBJECTS = $(am_libdha_la_OBJECTS) \
$(nodist_libdha_la_OBJECTS)
@HAVE_VIDIX_TRUE@am_libdha_la_rpath =
am_test_OBJECTS = test.$(OBJEXT)
test_OBJECTS = $(am_test_OBJECTS)
test_DEPENDENCIES = $(top_builddir)/src/video_out/libdha/libdha.la
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libdha_la_SOURCES) $(nodist_libdha_la_SOURCES) \
$(test_SOURCES)
DIST_SOURCES = $(libdha_la_SOURCES) $(test_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
AAINFO = @AAINFO@
AALIB_CFLAGS = @AALIB_CFLAGS@
AALIB_CONFIG = @AALIB_CONFIG@
AALIB_LIBS = @AALIB_LIBS@
ACLOCAL = @ACLOCAL@
ACLOCAL_DIR = @ACLOCAL_DIR@
ALLOCA = @ALLOCA@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALSA_STATIC_LIB = @ALSA_STATIC_LIB@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
ARTS_CFLAGS = @ARTS_CFLAGS@
ARTS_CONFIG = @ARTS_CONFIG@
ARTS_LIBS = @ARTS_LIBS@
AS = @AS@
ASFLAGS = @ASFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_ASF_FALSE = @BUILD_ASF_FALSE@
BUILD_ASF_TRUE = @BUILD_ASF_TRUE@
BUILD_DHA_KMOD_FALSE = @BUILD_DHA_KMOD_FALSE@
BUILD_DHA_KMOD_TRUE = @BUILD_DHA_KMOD_TRUE@
BUILD_FAAD_FALSE = @BUILD_FAAD_FALSE@
BUILD_FAAD_TRUE = @BUILD_FAAD_TRUE@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CACA_CFLAGS = @CACA_CFLAGS@
CACA_CONFIG = @CACA_CONFIG@
CACA_LIBS = @CACA_LIBS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCAS = @CCAS@
CCASCOMPILE = @CCASCOMPILE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEBUG_CFLAGS = @DEBUG_CFLAGS@
DEFS = @DEFS@
DEPCOMP = @DEPCOMP@
DEPDIR = @DEPDIR@
DEPMOD = @DEPMOD@
DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
DIRECTFB_LIBS = @DIRECTFB_LIBS@
DIRECTX_AUDIO_LIBS = @DIRECTX_AUDIO_LIBS@
DIRECTX_CPPFLAGS = @DIRECTX_CPPFLAGS@
DIRECTX_VIDEO_LIBS = @DIRECTX_VIDEO_LIBS@
DLLTOOL = @DLLTOOL@
DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
DVDNAV_CONFIG = @DVDNAV_CONFIG@
DVDNAV_LIBS = @DVDNAV_LIBS@
DYNAMIC_LD_LIBS = @DYNAMIC_LD_LIBS@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_VCD_FALSE = @ENABLE_VCD_FALSE@
ENABLE_VCD_TRUE = @ENABLE_VCD_TRUE@
ESD_CFLAGS = @ESD_CFLAGS@
ESD_CONFIG = @ESD_CONFIG@
ESD_LIBS = @ESD_LIBS@
EXEEXT = @EXEEXT@
EXTRA_X_CFLAGS = @EXTRA_X_CFLAGS@
EXTRA_X_LIBS = @EXTRA_X_LIBS@
F77 = @F77@
FFLAGS = @FFLAGS@
FFMPEG_CPPFLAGS = @FFMPEG_CPPFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FIG2DEV = @FIG2DEV@
FREETYPE_CONFIG = @FREETYPE_CONFIG@
FT2_CFLAGS = @FT2_CFLAGS@
FT2_LIBS = @FT2_LIBS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLUT_LIBS = @GLUT_LIBS@
GLU_LIBS = @GLU_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNOME_VFS_CFLAGS = @GNOME_VFS_CFLAGS@
GNOME_VFS_LIBS = @GNOME_VFS_LIBS@
GOOM_LIBS = @GOOM_LIBS@
HAVE_AA_FALSE = @HAVE_AA_FALSE@
HAVE_AA_TRUE = @HAVE_AA_TRUE@
HAVE_ALSA09_FALSE = @HAVE_ALSA09_FALSE@
HAVE_ALSA09_TRUE = @HAVE_ALSA09_TRUE@
HAVE_ALSA_FALSE = @HAVE_ALSA_FALSE@
HAVE_ALSA_TRUE = @HAVE_ALSA_TRUE@
HAVE_ARMV4L_FALSE = @HAVE_ARMV4L_FALSE@
HAVE_ARMV4L_TRUE = @HAVE_ARMV4L_TRUE@
HAVE_ARTS_FALSE = @HAVE_ARTS_FALSE@
HAVE_ARTS_TRUE = @HAVE_ARTS_TRUE@
HAVE_BSDI_CDROM = @HAVE_BSDI_CDROM@
HAVE_CACA_FALSE = @HAVE_CACA_FALSE@
HAVE_CACA_TRUE = @HAVE_CACA_TRUE@
HAVE_CDROM_IOCTLS_FALSE = @HAVE_CDROM_IOCTLS_FALSE@
HAVE_CDROM_IOCTLS_TRUE = @HAVE_CDROM_IOCTLS_TRUE@
HAVE_COREAUDIO_FALSE = @HAVE_COREAUDIO_FALSE@
HAVE_COREAUDIO_TRUE = @HAVE_COREAUDIO_TRUE@
HAVE_DARWIN_CDROM = @HAVE_DARWIN_CDROM@
HAVE_DIRECTFB_FALSE = @HAVE_DIRECTFB_FALSE@
HAVE_DIRECTFB_TRUE = @HAVE_DIRECTFB_TRUE@
HAVE_DIRECTX_FALSE = @HAVE_DIRECTX_FALSE@
HAVE_DIRECTX_TRUE = @HAVE_DIRECTX_TRUE@
HAVE_DVDNAV_FALSE = @HAVE_DVDNAV_FALSE@
HAVE_DVDNAV_TRUE = @HAVE_DVDNAV_TRUE@
HAVE_DXR3_FALSE = @HAVE_DXR3_FALSE@
HAVE_DXR3_TRUE = @HAVE_DXR3_TRUE@
HAVE_ESD_FALSE = @HAVE_ESD_FALSE@
HAVE_ESD_TRUE = @HAVE_ESD_TRUE@
HAVE_FB_FALSE = @HAVE_FB_FALSE@
HAVE_FB_TRUE = @HAVE_FB_TRUE@
HAVE_FFMMX_FALSE = @HAVE_FFMMX_FALSE@
HAVE_FFMMX_TRUE = @HAVE_FFMMX_TRUE@
HAVE_FFMPEG_FALSE = @HAVE_FFMPEG_FALSE@
HAVE_FFMPEG_TRUE = @HAVE_FFMPEG_TRUE@
HAVE_FIG2DEV_FALSE = @HAVE_FIG2DEV_FALSE@
HAVE_FIG2DEV_TRUE = @HAVE_FIG2DEV_TRUE@
HAVE_FLAC_FALSE = @HAVE_FLAC_FALSE@
HAVE_FLAC_TRUE = @HAVE_FLAC_TRUE@
HAVE_FREEBSD_CDROM = @HAVE_FREEBSD_CDROM@
HAVE_GNOME_VFS_FALSE = @HAVE_GNOME_VFS_FALSE@
HAVE_GNOME_VFS_TRUE = @HAVE_GNOME_VFS_TRUE@
HAVE_IRIXAL_FALSE = @HAVE_IRIXAL_FALSE@
HAVE_IRIXAL_TRUE = @HAVE_IRIXAL_TRUE@
HAVE_LIBFAME_FALSE = @HAVE_LIBFAME_FALSE@
HAVE_LIBFAME_TRUE = @HAVE_LIBFAME_TRUE@
HAVE_LIBMNG_FALSE = @HAVE_LIBMNG_FALSE@
HAVE_LIBMNG_TRUE = @HAVE_LIBMNG_TRUE@
HAVE_LIBPNG_FALSE = @HAVE_LIBPNG_FALSE@
HAVE_LIBPNG_TRUE = @HAVE_LIBPNG_TRUE@
HAVE_LIBRTE_FALSE = @HAVE_LIBRTE_FALSE@
HAVE_LIBRTE_TRUE = @HAVE_LIBRTE_TRUE@
HAVE_LIBSMBCLIENT_FALSE = @HAVE_LIBSMBCLIENT_FALSE@
HAVE_LIBSMBCLIENT_TRUE = @HAVE_LIBSMBCLIENT_TRUE@
HAVE_LINUX_CDROM = @HAVE_LINUX_CDROM@
HAVE_LINUX_FALSE = @HAVE_LINUX_FALSE@
HAVE_LINUX_TRUE = @HAVE_LINUX_TRUE@
HAVE_MACOSX_VIDEO_FALSE = @HAVE_MACOSX_VIDEO_FALSE@
HAVE_MACOSX_VIDEO_TRUE = @HAVE_MACOSX_VIDEO_TRUE@
HAVE_MLIB_FALSE = @HAVE_MLIB_FALSE@
HAVE_MLIB_TRUE = @HAVE_MLIB_TRUE@
HAVE_OPENGL_FALSE = @HAVE_OPENGL_FALSE@
HAVE_OPENGL_TRUE = @HAVE_OPENGL_TRUE@
HAVE_OSS_FALSE = @HAVE_OSS_FALSE@
HAVE_OSS_TRUE = @HAVE_OSS_TRUE@
HAVE_POLYPAUDIO_FALSE = @HAVE_POLYPAUDIO_FALSE@
HAVE_POLYPAUDIO_TRUE = @HAVE_POLYPAUDIO_TRUE@
HAVE_SDL_FALSE = @HAVE_SDL_FALSE@
HAVE_SDL_TRUE = @HAVE_SDL_TRUE@
HAVE_SGMLTOOLS_FALSE = @HAVE_SGMLTOOLS_FALSE@
HAVE_SGMLTOOLS_TRUE = @HAVE_SGMLTOOLS_TRUE@
HAVE_SOLARIS_CDROM = @HAVE_SOLARIS_CDROM@
HAVE_SPEEX_FALSE = @HAVE_SPEEX_FALSE@
HAVE_SPEEX_TRUE = @HAVE_SPEEX_TRUE@
HAVE_STK_FALSE = @HAVE_STK_FALSE@
HAVE_STK_TRUE = @HAVE_STK_TRUE@
HAVE_SUNAUDIO_FALSE = @HAVE_SUNAUDIO_FALSE@
HAVE_SUNAUDIO_TRUE = @HAVE_SUNAUDIO_TRUE@
HAVE_SUNDGA_FALSE = @HAVE_SUNDGA_FALSE@
HAVE_SUNDGA_TRUE = @HAVE_SUNDGA_TRUE@
HAVE_SUNFB_FALSE = @HAVE_SUNFB_FALSE@
HAVE_SUNFB_TRUE = @HAVE_SUNFB_TRUE@
HAVE_SYNCFB_FALSE = @HAVE_SYNCFB_FALSE@
HAVE_SYNCFB_TRUE = @HAVE_SYNCFB_TRUE@
HAVE_THEORA_FALSE = @HAVE_THEORA_FALSE@
HAVE_THEORA_TRUE = @HAVE_THEORA_TRUE@
HAVE_V4L_FALSE = @HAVE_V4L_FALSE@
HAVE_V4L_TRUE = @HAVE_V4L_TRUE@
HAVE_VCDNAV_FALSE = @HAVE_VCDNAV_FALSE@
HAVE_VCDNAV_TRUE = @HAVE_VCDNAV_TRUE@
HAVE_VIDIX_FALSE = @HAVE_VIDIX_FALSE@
HAVE_VIDIX_TRUE = @HAVE_VIDIX_TRUE@
HAVE_VLDXVMC_FALSE = @HAVE_VLDXVMC_FALSE@
HAVE_VLDXVMC_TRUE = @HAVE_VLDXVMC_TRUE@
HAVE_VORBIS_FALSE = @HAVE_VORBIS_FALSE@
HAVE_VORBIS_TRUE = @HAVE_VORBIS_TRUE@
HAVE_W32DLL_FALSE = @HAVE_W32DLL_FALSE@
HAVE_W32DLL_TRUE = @HAVE_W32DLL_TRUE@
HAVE_WIN32_CDROM = @HAVE_WIN32_CDROM@
HAVE_X11_FALSE = @HAVE_X11_FALSE@
HAVE_X11_TRUE = @HAVE_X11_TRUE@
HAVE_XVMC_FALSE = @HAVE_XVMC_FALSE@
HAVE_XVMC_TRUE = @HAVE_XVMC_TRUE@
HAVE_XV_FALSE = @HAVE_XV_FALSE@
HAVE_XV_TRUE = @HAVE_XV_TRUE@
HAVE_XXMC_FALSE = @HAVE_XXMC_FALSE@
HAVE_XXMC_TRUE = @HAVE_XXMC_TRUE@
HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@
HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@
HOST_OS_DARWIN_FALSE = @HOST_OS_DARWIN_FALSE@
HOST_OS_DARWIN_TRUE = @HOST_OS_DARWIN_TRUE@
INCLUDED_INTL_FALSE = @INCLUDED_INTL_FALSE@
INCLUDED_INTL_TRUE = @INCLUDED_INTL_TRUE@
INCLUDES = @INCLUDES@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_M4_FALSE = @INSTALL_M4_FALSE@
INSTALL_M4_TRUE = @INSTALL_M4_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLDIR = @INTLDIR@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
IRIXAL_CFLAGS = @IRIXAL_CFLAGS@
IRIXAL_LIBS = @IRIXAL_LIBS@
IRIXAL_STATIC_LIB = @IRIXAL_STATIC_LIB@
KSTAT_LIBS = @KSTAT_LIBS@
LDFLAGS = @LDFLAGS@
LIBCDIO_CFLAGS = @LIBCDIO_CFLAGS@
LIBCDIO_LIBS = @LIBCDIO_LIBS@
LIBFAME_CFLAGS = @LIBFAME_CFLAGS@
LIBFAME_CONFIG = @LIBFAME_CONFIG@
LIBFAME_LIBS = @LIBFAME_LIBS@
LIBFFMPEG_CFLAGS = @LIBFFMPEG_CFLAGS@
LIBFLAC_CFLAGS = @LIBFLAC_CFLAGS@
LIBFLAC_LIBS = @LIBFLAC_LIBS@
LIBICONV = @LIBICONV@
LIBISO9660_LIBS = @LIBISO9660_LIBS@
LIBMODPLUG_CFLAGS = @LIBMODPLUG_CFLAGS@
LIBMODPLUG_LIBS = @LIBMODPLUG_LIBS@
LIBMPEG2_CFLAGS = @LIBMPEG2_CFLAGS@
LIBNAME = @LIBNAME@
LIBOBJS = @LIBOBJS@
LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBS = @LIBS@
LIBSMBCLIENT_LIBS = @LIBSMBCLIENT_LIBS@
LIBSTK_CFLAGS = @LIBSTK_CFLAGS@
LIBSTK_LIBS = @LIBSTK_LIBS@
LIBTOOL = $(SHELL) $(top_builddir)/libtool-nofpic
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIBVCDINFO_LIBS = @LIBVCDINFO_LIBS@
LIBVCD_CFLAGS = @LIBVCD_CFLAGS@
LIBVCD_LIBS = @LIBVCD_LIBS@
LIBVCD_SYSDEP = @LIBVCD_SYSDEP@
LINUX_CDROM_TIMEOUT = @LINUX_CDROM_TIMEOUT@
LINUX_INCLUDE = @LINUX_INCLUDE@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MKNOD = @MKNOD@
MLIB_CFLAGS = @MLIB_CFLAGS@
MLIB_LIBS = @MLIB_LIBS@
MNG_LIBS = @MNG_LIBS@
MSGFMT = @MSGFMT@
NET_LIBS = @NET_LIBS@
OBJC = @OBJC@
OBJCDEPMODE = @OBJCDEPMODE@
OBJCFLAGS = @OBJCFLAGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
OPENGL_CFLAGS = @OPENGL_CFLAGS@
OPENGL_LIBS = @OPENGL_LIBS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PASS1_CFLAGS = @PASS1_CFLAGS@
PASS2_CFLAGS = @PASS2_CFLAGS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PNG_CFLAGS = @PNG_CFLAGS@
PNG_LIBS = @PNG_LIBS@
POFILES = @POFILES@
POLYPAUDIO_CFLAGS = @POLYPAUDIO_CFLAGS@
POLYPAUDIO_LIBS = @POLYPAUDIO_LIBS@
POSUB = @POSUB@
PPC_ARCH_FALSE = @PPC_ARCH_FALSE@
PPC_ARCH_TRUE = @PPC_ARCH_TRUE@
RANLIB = @RANLIB@
RT_LIBS = @RT_LIBS@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
SDL_LIBS = @SDL_LIBS@
SET_MAKE = @SET_MAKE@
SGMLTOOLS = @SGMLTOOLS@
SHELL = @SHELL@
SPEC_VERSION = @SPEC_VERSION@
SPEEX_CFLAGS = @SPEEX_CFLAGS@
SPEEX_LIBS = @SPEEX_LIBS@
STATIC = @STATIC@
STRIP = @STRIP@
SUNDGA_CFLAGS = @SUNDGA_CFLAGS@
SUNDGA_LIBS = @SUNDGA_LIBS@
TAR_NAME = @TAR_NAME@
THEORAENC_LIBS = @THEORAENC_LIBS@
THEORAFILE_LIBS = @THEORAFILE_LIBS@
THEORA_CFLAGS = @THEORA_CFLAGS@
THEORA_LIBS = @THEORA_LIBS@
THREAD_CFLAGS = @THREAD_CFLAGS@
THREAD_CFLAGS_CONFIG = @THREAD_CFLAGS_CONFIG@
THREAD_INCLUDES = @THREAD_INCLUDES@
THREAD_LIBS = @THREAD_LIBS@
THREAD_LIBS_CONFIG = @THREAD_LIBS_CONFIG@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VORBISENC_LIBS = @VORBISENC_LIBS@
VORBISFILE_LIBS = @VORBISFILE_LIBS@
VORBIS_CFLAGS = @VORBIS_CFLAGS@
VORBIS_LIBS = @VORBIS_LIBS@
W32DLL_DEP = @W32DLL_DEP@
W32_NO_OPTIMIZE = @W32_NO_OPTIMIZE@
WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
WIN32_FALSE = @WIN32_FALSE@
WIN32_TRUE = @WIN32_TRUE@
XGETTEXT = @XGETTEXT@
XINE_ACFLAGS = @XINE_ACFLAGS@
XINE_BIN_AGE = @XINE_BIN_AGE@
XINE_BUILD_CC = @XINE_BUILD_CC@
XINE_BUILD_DATE = @XINE_BUILD_DATE@
XINE_BUILD_OS = @XINE_BUILD_OS@
XINE_CONFIG_PREFIX = @XINE_CONFIG_PREFIX@
XINE_DATADIR = @XINE_DATADIR@
XINE_FONTDIR = @XINE_FONTDIR@
XINE_FONTPATH = @XINE_FONTPATH@
XINE_IFACE_AGE = @XINE_IFACE_AGE@
XINE_LOCALEDIR = @XINE_LOCALEDIR@
XINE_LOCALEPATH = @XINE_LOCALEPATH@
XINE_MAJOR = @XINE_MAJOR@
XINE_MINOR = @XINE_MINOR@
XINE_PLUGINDIR = @XINE_PLUGINDIR@
XINE_PLUGINPATH = @XINE_PLUGINPATH@
XINE_PLUGIN_MIN_SYMS = @XINE_PLUGIN_MIN_SYMS@
XINE_SCRIPTPATH = @XINE_SCRIPTPATH@
XINE_SUB = @XINE_SUB@
XVMC_LIB = @XVMC_LIB@
XV_LIB = @XV_LIB@
XXMC_LIB = @XXMC_LIB@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZLIB_INCLUDES = @ZLIB_INCLUDES@
ZLIB_LIBS = @ZLIB_LIBS@
ZLIB_LIBS_CONFIG = @ZLIB_LIBS_CONFIG@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__fastdepOBJC_FALSE = @am__fastdepOBJC_FALSE@
am__fastdepOBJC_TRUE = @am__fastdepOBJC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
w32_path = @w32_path@
XINE_LIB = $(top_builddir)/src/xine-engine/libxine.la
EXTRA_DIST = README pci_db2c.awk
SUBDIRS = bin kernelhelper oth sysdep
AM_CFLAGS = @STATIC@
@HAVE_VIDIX_TRUE@dha_lib = libdha.la
awk_generated = pci_dev_ids.c pci_ids.h pci_names.c pci_names.h pci_vendors.h
CLEANFILES = $(awk_generated)
noinst_LTLIBRARIES = $(dha_lib)
libdha_la_SOURCES = libdha.c mtrr.c pci.c mmi.c ports.c irq.c cpu_flush.c
nodist_libdha_la_SOURCES = pci_names.c
test_SOURCES = test.c
test_LDADD = $(top_builddir)/src/video_out/libdha/libdha.la
noinst_HEADERS = AsmMacros.h libdha.h pci_ids.h pci_names.h pci_vendors.h
all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/video_out/libdha/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/video_out/libdha/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
libdha.la: $(libdha_la_OBJECTS) $(libdha_la_DEPENDENCIES)
$(LINK) $(am_libdha_la_rpath) $(libdha_la_LDFLAGS) $(libdha_la_OBJECTS) $(libdha_la_LIBADD) $(LIBS)
test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
@rm -f test$(EXEEXT)
$(LINK) $(test_LDFLAGS) $(test_OBJECTS) $(test_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu_flush.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/irq.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdha.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtrr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pci.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pci_names.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ports.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(mkdir_p) $(distdir)/../../../misc
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
clean: clean-recursive
clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am:
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libtool clean-noinstLTLIBRARIES \
clean-recursive ctags ctags-recursive distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-recursive distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-data-hook install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-hook uninstall-info-am
$(XINE_LIB):
@cd $(top_srcdir)/src/xine-engine && $(MAKE)
install-data-hook:
@if test $$MAKELEVEL -le 4 ; then \
if test -x "$(top_srcdir)/post-install.sh" ; then \
$(top_srcdir)/post-install.sh ; \
fi \
fi
pass1:
@$(MAKE) MULTIPASS_CFLAGS="$(PASS1_CFLAGS)"
pass2:
@$(MAKE) MULTIPASS_CFLAGS="$(PASS2_CFLAGS)"
debug:
@$(MAKE) CFLAGS="$(DEBUG_CFLAGS)"
install-debug: debug
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
@list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) $@) || exit; \
done;
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
$(install_sh) -d $(DESTDIR)$(includedir)/xine
@list='$(include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
list='$(include_HEADERS)'; for p in $$list; do \
rm -f $(DESTDIR)$(includedir)/xine/$$p; \
done
uninstall-hook:
@if echo '$(libdir)' | egrep ^'$(XINE_PLUGINDIR)' >/dev/null; then \
list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's/\.la$$/\.so/g;s|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
rm -f $(DESTDIR)$(libdir)/$$p; \
done; \
fi
mostlyclean-generic:
-rm -f *~ \#* .*~ .\#*
maintainer-clean-generic:
-@echo "This command is intended for maintainers to use;"
-@echo "it deletes files that may require special tools to rebuild."
-rm -f Makefile.in
pci_db2c.awk:
oth/pci.db:
$(awk_generated): pci_db2c.awk oth/pci.db
LC_ALL=C $(AWK) -f $(top_srcdir)/src/video_out/libdha/pci_db2c.awk \
$(top_srcdir)/src/video_out/libdha/oth/pci.db
pci_names.lo: $(awk_generated)
source='$*.c' object='$@' libtool=yes \
depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' \
$(CCDEPMODE) $(depcomp) \
$(LTCOMPILE) -c -o $@ `test -f $*.c || echo '$(srcdir)/'`$*.c
# 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.
.NOEXPORT:
--- NEW FILE: cpu_flush.c ---
/* CPU flush support */
#include <stdio.h>
#include <sys/ioctl.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include "libdha.h"
#include "kernelhelper/dhahelper.h"
void cpu_flush(void *va,unsigned long length)
{
int retval;
int libdha_fd=-1;
if( libdha_fd == -1) libdha_fd = open("/dev/dhahelper",O_RDWR);
if (libdha_fd > 0)
{
dhahelper_cpu_flush_t _l2;
_l2.va = va;
_l2.length = length;
retval = ioctl(libdha_fd, DHAHELPER_CPU_FLUSH, &_l2);
close(libdha_fd);
}
}
--- NEW FILE: test.c ---
#include "libdha.h"
#include "pci_names.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <inttypes.h> /* for __WORDSIZE */
int main( void )
{
pciinfo_t lst[MAX_PCI_DEVICES];
unsigned i,num_pci;
int err;
err = pci_scan(lst,&num_pci);
if(err)
{
printf("Error occured during pci scan: %s\n",strerror(err));
return EXIT_FAILURE;
}
else
{
printf(" Bus:card:func vend:dev base0 :base1 :base2 :baserom :irq:pin:gnt:lat\n");
for(i=0;i<num_pci;i++)
#if __WORDSIZE > 32
printf("%04X:%04X:%04X %04X:%04X %16X:%16X:%16X:%16X:%02X :%02X :%02X :%02X\n"
#else
printf("%04X:%04X:%04X %04X:%04X %08X:%08X:%08X:%08X:%02X :%02X :%02X :%02X\n"
#endif
,lst[i].bus,lst[i].card,lst[i].func
,lst[i].vendor,lst[i].device
,lst[i].base0,lst[i].base1,lst[i].base2,lst[i].baserom
,lst[i].irq,lst[i].ipin,lst[i].gnt,lst[i].lat);
printf("Additional info:\n");
printf("================\n");
printf("base3 :base4 :base5 :name (vendor)\n");
for(i=0;i<num_pci;i++)
{
const char *vname,*dname;
dname = pci_device_name(lst[i].vendor,lst[i].device);
dname = dname ? dname : "Unknown chip";
vname = pci_vendor_name(lst[i].vendor);
vname = vname ? vname : "Unknown chip";
printf("%08X:%08X:%08X:%s (%s)\n"
,lst[i].base3,lst[i].base4,lst[i].base5
,dname,vname);
}
}
return EXIT_SUCCESS;
}
--- NEW FILE: pci_ids.h ---
/*
* File: pci_ids.h
* This file was generated automatically. Don't modify it.
*/
#ifndef PCI_IDS_INCLUDED
#define PCI_IDS_INCLUDED 1
#include "pci_vendors.h"
/* Vendor: 0000: Gammagraphx, Inc. */
/* Vendor: 001a: Ascend Communications, Inc. */
/* Vendor: 0033: Paradyne corp. */
/* Vendor: 003d: Lockheed Martin-Marietta Corp */
/* Vendor: 0070: Hauppauge computer works Inc. */
/* Vendor: 0100: Ncipher Corp Ltd */
/* Vendor: 0675: Dynalink */
#define DEVICE_DYNALINK_IS64PH_ISDN_ADAPTER 0x1700 /*IS64PH ISDN Adapter*/
#define DEVICE_DYNALINK_IS64PH_ISDN_ADAPTER2 0x1702 /*IS64PH ISDN Adapter*/
/* Vendor: 0925: VIA Technologies, Inc. (Wrong ID) */
[...6697 lines suppressed...]
#define DEVICE_ENDACE_DAG_4_2E_DUAL 0x422e /*DAG 4.2E Dual Gigabit Ethernet*/
/* Vendor: ec80: Belkin Corporation */
#define DEVICE_BELKIN_F5D6000 0xec00 /*F5D6000*/
/* Vendor: ecc0: Echo Corporation */
/* Vendor: edd8: ARK Logic Inc */
#define DEVICE_ARK2_1000PV_STINGRAY 0xa091 /*1000PV [Stingray]*/
#define DEVICE_ARK2_2000PV_STINGRAY 0xa099 /*2000PV [Stingray]*/
#define DEVICE_ARK2_2000MT 0xa0a1 /*2000MT*/
#define DEVICE_ARK2_2000MI 0xa0a9 /*2000MI*/
/* Vendor: f1d0: AJA Video */
#define DEVICE_AJA_KONA_SD_SMPTE 0xefac /*KONA SD SMPTE 259M I/O*/
#define DEVICE_AJA_KONA_HD_SMPTE 0xfacd /*KONA HD SMPTE 292M I/O*/
/* Vendor: fa57: Fast Search & Transfer ASA */
/* Vendor: febd: Ultraview Corp. */
/* Vendor: feda: Epigram Inc */
/* Vendor: fffe: VMWare Inc */
#define DEVICE_VMWARE2_VIRTUAL_SVGA 0x0710 /*Virtual SVGA*/
/* Vendor: ffff: Illegal Vendor ID */
#endif/*PCI_IDS_INCLUDED*/
--- NEW FILE: libdha.c ---
/*
libgha.c - Library for direct hardware access
Copyrights:
1996/10/27 - Robin Cutshaw (robin@xfree86.org)
XFree86 3.3.3 implementation
1999 - Øyvind Aabling.
Modified for GATOS/win/gfxdump.
2002 - library implementation by Nick Kurshev
- dhahelper and some changes by Alex Beregszaszi
supported O/S's: SVR4, UnixWare, SCO, Solaris,
FreeBSD, NetBSD, 386BSD, BSDI BSD/386,
Linux, Mach/386, ISC
DOS (WATCOM 9.5 compiler), Win9x (with mapdev.vxd)
Licence: GPL
Original location: www.linuxvideo.org/gatos
*/
#include "config.h"
#include "libdha.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#ifdef ARCH_ALPHA
#include <sys/io.h>
#endif
#include <unistd.h>
/* instead exit() use libdha_exit, and do the 'mother-application' deinit
only in this code */
void libdha_exit(const char *message, int level)
{
printf("libdha: FATAL: %s\n", message);
exit(level); /* FIXME */
}
#if defined(_WIN32)
#include "sysdep/libdha_win32.c"
#elif defined (__EMX__)
#include "sysdep/libdha_os2.c"
#else
#if defined(SVR4) || defined(SCO325)
# if !(defined(sun) && defined (i386) && defined (SVR4))
# define DEV_MEM "/dev/pmem"
# elif defined(PowerMAX_OS)
# define DEV_MEM "/dev/iomem"
# endif
# ifdef SCO325
# undef DEV_MEM
# define DEV_MEM "/dev/mem"
# endif
# endif /* SVR4 */
/* Generic version */
#include <sys/mman.h>
#include <sys/ioctl.h>
#ifndef DEV_MEM
#define DEV_MEM "/dev/mem"
#endif
#include "kernelhelper/dhahelper.h"
static int devmem_fd=-1;
static unsigned devmem_locks=0;
void *map_phys_mem(unsigned long base, unsigned long size)
{
#ifdef ARCH_ALPHA
/* TODO: move it into sysdep */
base += bus_base();
#endif
if( devmem_fd == -1)
{
if ( (devmem_fd = open("/dev/dhahelper",O_RDWR)) < 0)
{
if ( (devmem_fd = open(DEV_MEM,O_RDWR)) == -1)
{
perror("libdha: open(/dev/mem) failed");
exit(1);
}
}
}
devmem_locks++;
return mmap(0,size,PROT_READ|PROT_WRITE,MAP_SHARED,devmem_fd,base) ;
}
void unmap_phys_mem(void *ptr, unsigned long size)
{
int res=munmap(ptr,size) ;
if (res == -1) { perror("libdha: munmap() failed") ; exit(1) ; }
devmem_locks--;
if(!devmem_locks) { close(devmem_fd); devmem_fd=-1; }
}
#endif
--- NEW FILE: pci_names.h ---
/*
* File: pci_names.h
* This file was generated automatically. Don't modify it.
*/
#ifndef PCI_NAMES_INCLUDED
#define PCI_NAMES_INCLUDED 1
#ifdef __cplusplus
extern "C" {
#endif
struct device_id_s
{
unsigned short id;
const char * name;
};
struct vendor_id_s
{
unsigned short id;
const char * name;
const struct device_id_s * dev_list;
};
extern const char *pci_vendor_name(unsigned short id);
extern const char *pci_device_name(unsigned short vendor_id, unsigned short device_id);
#ifdef __cplusplus
}
#endif
#endif/*PCI_NAMES_INCLUDED*/
--- NEW FILE: mmi.c ---
/* Memory manager interface */
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/mman.h> /* mlock */
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include "libdha.h"
#include "kernelhelper/dhahelper.h"
static int libdha_fd=-1;
#define ALLOWED_VER 0x10
int bm_open( void )
{
int retv;
libdha_fd = open("/dev/dhahelper",O_RDWR);
retv = libdha_fd > 0 ? 0 : ENXIO;
if(!retv)
{
int ver;
ioctl(libdha_fd,DHAHELPER_GET_VERSION,&ver);
if(ver < ALLOWED_VER)
{
printf("libdha: You have wrong version (%i) of /dev/dhahelper\n"
"libdha: Please upgrade your driver up to ver=%i\n",ver,ALLOWED_VER);
retv = EINVAL;
close(libdha_fd);
}
}
else printf("libdha: Can't open /dev/dhahelper\n");
return retv;
}
void bm_close( void )
{
close(libdha_fd);
}
int bm_virt_to_phys( void * virt_addr, unsigned long length, unsigned long * parray )
{
dhahelper_vmi_t vmi;
vmi.virtaddr = virt_addr;
vmi.length = length;
vmi.realaddr = parray;
if(libdha_fd > 0) return ioctl(libdha_fd,DHAHELPER_VIRT_TO_PHYS,&vmi);
return ENXIO;
}
int bm_virt_to_bus( void * virt_addr, unsigned long length, unsigned long * barray )
{
dhahelper_vmi_t vmi;
vmi.virtaddr = virt_addr;
vmi.length = length;
vmi.realaddr = barray;
if(libdha_fd > 0) return ioctl(libdha_fd,DHAHELPER_VIRT_TO_BUS,&vmi);
return ENXIO;
}
void * bm_alloc_pci_shmem(pciinfo_t *pi, unsigned mem_bitness, unsigned long length,int op )
{
printf("libdha: Pure virtual function call - bm_alloc_pci_shmem()\n");
#if 0
dhahelper_mem_t vmi;
vmi.length = length;
if(libdha_fd > 0)
{
if(ioctl(libdha_fd,DHAHELPER_ALLOC_PA,&vmi) == 0)
return vmi.addr;
}
#endif
return NULL;
}
void bm_free_pci_shmem(void * pci_shmem)
{
printf("libdha: Pure virtual function call - bm_free_pci_shmem()\n");
#if 0
dhahelper_mem_t vmi;
vmi.addr = virt_addr;
vmi.length = length;
if(libdha_fd > 0)
{
ioctl(libdha_fd,DHAHELPER_FREE_PA,&vmi);
}
#endif
}
int bm_lock_mem( const void *addr, unsigned long length )
{
dhahelper_mem_t vmi;
vmi.addr = (void *) addr;
vmi.length = length;
if(libdha_fd > 0)
{
return ioctl(libdha_fd,DHAHELPER_LOCK_MEM,&vmi);
}
return mlock(addr,length);
}
int bm_unlock_mem( const void * addr, unsigned long length )
{
dhahelper_mem_t vmi;
vmi.addr = (void *) addr;
vmi.length = length;
if(libdha_fd > 0)
{
return ioctl(libdha_fd,DHAHELPER_UNLOCK_MEM,&vmi);
}
return munlock(addr,length);
}
--- NEW FILE: AsmMacros.h ---
/* $XConsortium: AsmMacros.h /main/13 1996/10/25 11:33:12 kaleb $ */
/*
* (c) Copyright 1993,1994 by David Wexelblat <dwex@xfree86.org>
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* DAVID WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of David Wexelblat shall not be
* used in advertising or otherwise to promote the sale, use or other dealings
* in this Software without prior written authorization from David Wexelblat.
*
*/
/*
* Copyright 1997
* Digital Equipment Corporation. All rights reserved.
* This software is furnished under license and may be used and copied only in
* accordance with the following terms and conditions. Subject to these
* conditions, you may download, copy, install, use, modify and distribute
* this software in source and/or binary form. No title or ownership is
* transferred hereby.
*
* 1) Any source code used, modified or distributed must reproduce and retain
* this copyright notice and list of conditions as they appear in the source
* file.
*
* 2) No right is granted to use any trade name, trademark, or logo of Digital
* Equipment Corporation. Neither the "Digital Equipment Corporation" name
* nor any trademark or logo of Digital Equipment Corporation may be used
* to endorse or promote products derived from this software without the
* prior written permission of Digital Equipment Corporation.
*
* 3) This software is provided "AS-IS" and any express or implied warranties,
* including but not limited to, any implied warranties of merchantability,
* fitness for a particular purpose, or non-infringement are disclaimed. In
* no event shall DIGITAL be liable for any damages whatsoever, and in
* particular, DIGITAL shall not be liable for special, indirect,
* consequential, or incidental damages or damages for
* lost profits, loss of revenue or loss of use, whether such damages arise
* in contract,
* negligence, tort, under statute, in equity, at law or otherwise, even if
* advised of the possibility of such damage.
*
*/
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h,v 1.1 2001/11/16 21:13:34 tsi Exp $ */
/*
* Modified for readability by Nick Kurshev
*/
#if defined(__GNUC__) || defined(__ICC)
#if defined(__alpha__)
#include "sysdep/AsmMacros_alpha.h"
#elif defined(__ia64__)
#include "sysdep/AsmMacros_ia64.h"
#elif defined(__sparc__)
#include "sysdep/AsmMacros_sparc.h"
#elif defined( __arm32__ )
#include "sysdep/AsmMacros_arm32.h"
#elif defined(__powerpc__)
#include "sysdep/AsmMacros_powerpc.h"
#elif defined (__i386__)
#include "sysdep/AsmMacros_x86.h"
#else
#include "sysdep/AsmMacros_generic.h"
#endif
#else /* __GNUC__ */
#if defined(_MINIX) && defined(_ACK)
/* inb, outb, inw and outw are defined in the library */
/* ... but I've no idea if the same is true for inl & outl */
extern u8_t inb(U16_t);
extern void outb(U16_t, U8_t);
extern u16_t inw(U16_t);
extern void outw(U16_t, U16_t);
extern u32_t inl(U16_t);
extern void outl(U16_t, U32_t);
#else /* not _MINIX and _ACK */
# if defined(__STDC__) && (__STDC__ == 1)
# ifndef NCR
# define asm __asm
# endif
# endif
# ifdef SVR4
# include <sys/types.h>
# ifndef __USLC__
# define __USLC__
# endif
# endif
#ifndef SCO325
# include <sys/inline.h>
#else
# include "../common/scoasm.h"
#endif
#define intr_disable() asm("cli")
#define intr_enable() asm("sti")
#endif /* _MINIX and _ACK */
#endif /* __GNUC__ */
--- NEW FILE: mtrr.c ---
/*
mtrr.c - Stuff for optimizing memory access
Copyrights:
2002 - Linux version by Nick Kurshev
Licence: GPL
*/
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include "kernelhelper/dhahelper.h"
#include "libdha.h"
#if defined (__i386__) && defined (__NetBSD__)
#include <sys/param.h>
#if __NetBSD_Version__ > 105240000
#include <stdint.h>
#include <stdlib.h>
#include <machine/mtrr.h>
#include <machine/sysarch.h>
#endif
#endif
int mtrr_set_type(unsigned base,unsigned size,int type)
{
int dhahelper_fd;
dhahelper_fd = open("/dev/dhahelper",O_RDWR);
if(dhahelper_fd > 0)
{
int retval;
dhahelper_mtrr_t mtrrs;
mtrrs.operation = MTRR_OP_ADD;
mtrrs.start = base;
mtrrs.size = size;
mtrrs.type = type;
retval = ioctl(dhahelper_fd, DHAHELPER_ACK_IRQ, &mtrrs);
close(dhahelper_fd);
return retval;
}
#if defined (__NetBSD__) && (__NetBSD_Version__) > 105240000
{
struct mtrr *mtrrp;
int n;
mtrrp = malloc(sizeof (struct mtrr));
mtrrp->base = base;
mtrrp->len = size;
mtrrp->type = type;
mtrrp->flags = MTRR_VALID | MTRR_PRIVATE;
n = 1;
if (i386_set_mtrr(mtrrp, &n) < 0) {
free(mtrrp);
return errno;
}
free(mtrrp);
return 0;
}
#else
{
FILE * mtrr_fd;
char * stype;
switch(type)
{
case MTRR_TYPE_UNCACHABLE: stype = "uncachable"; break;
case MTRR_TYPE_WRCOMB: stype = "write-combining"; break;
case MTRR_TYPE_WRTHROUGH: stype = "write-through"; break;
case MTRR_TYPE_WRPROT: stype = "write-protect"; break;
case MTRR_TYPE_WRBACK: stype = "write-back"; break;
default: return EINVAL;
}
mtrr_fd = fopen("/proc/mtrr","wt");
if(mtrr_fd)
{
char sout[256];
unsigned wr_len;
sprintf(sout,"base=0x%08X size=0x%08X type=%s\n",base,size,stype);
wr_len = fprintf(mtrr_fd,sout);
/*printf("MTRR: %s\n",sout);*/
fclose(mtrr_fd);
return wr_len == strlen(sout) ? 0 : EPERM;
}
}
#endif
return ENOSYS;
}
--- NEW FILE: libdha.h ---
/*
libgha.h - Library for direct hardware access
Copyrights:
1996/10/27 - Robin Cutshaw (robin@xfree86.org)
XFree86 3.3.3 implementation
1999 - Øyvind Aabling.
Modified for GATOS/win/gfxdump.
2002 - library implementation by Nick Kurshev
supported O/S's: SVR4, UnixWare, SCO, Solaris,
FreeBSD, NetBSD, 386BSD, BSDI BSD/386,
Linux, Mach/386, ISC
DOS (WATCOM 9.5 compiler), Win9x (with mapdev.vxd)
Licence: GPL
*/
#ifndef LIBDHA_H
#define LIBDHA_H
#if defined (__FreeBSD__)
# include <inttypes.h>
#else
# include <stdint.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define MAX_DEV_PER_VENDOR_CFG1 64
#define MAX_PCI_DEVICES_PER_BUS 32
#define MAX_PCI_DEVICES 64
#define PCI_MULTIFUNC_DEV 0x80
typedef struct pciinfo_s
{
int bus,card,func; /* PCI/AGP bus:card:func */
unsigned short vendor,device; /* Card vendor+device ID */
unsigned long base0,base1,base2,baserom; /* Memory and I/O base addresses */
unsigned long base3,base4,base5; /* Memory and I/O base addresses */
unsigned char irq,ipin,gnt,lat; /* assigned IRQ parameters for this card */
// unsigned base0_limit, base1_limit, base2_limit, baserom_limit;
}pciinfo_t;
extern int pci_config_read(unsigned char bus, unsigned char dev, unsigned char func,
unsigned char cmd, int len, unsigned long *val);
extern int pci_config_write(unsigned char bus, unsigned char dev, unsigned char func,
unsigned char cmd, int len, unsigned long val);
/* Fill array pci_list which must have size MAX_PCI_DEVICES
and return 0 if sucessful */
extern int pci_scan(pciinfo_t *pci_list,unsigned *num_card);
/* Enables/disables accessing to IO space from application side.
Should return 0 if o'k or errno on error. */
extern int enable_app_io( void );
extern int disable_app_io( void );
extern unsigned char INPORT8(unsigned idx);
extern unsigned short INPORT16(unsigned idx);
extern unsigned INPORT32(unsigned idx);
#define INPORT(idx) INPORT32(idx)
extern void OUTPORT8(unsigned idx,unsigned char val);
extern void OUTPORT16(unsigned idx,unsigned short val);
extern void OUTPORT32(unsigned idx,unsigned val);
#define OUTPORT(idx,val) OUTPORT32(idx,val)
extern void * map_phys_mem(unsigned long base, unsigned long size);
extern void unmap_phys_mem(void *ptr, unsigned long size);
/* These are the region types */
#define MTRR_TYPE_UNCACHABLE 0
#define MTRR_TYPE_WRCOMB 1
#define MTRR_TYPE_WRTHROUGH 4
#define MTRR_TYPE_WRPROT 5
#define MTRR_TYPE_WRBACK 6
extern int mtrr_set_type(unsigned base,unsigned size,int type);
/* Busmastering support */
/* returns 0 if support exists else errno */
extern int bm_open( void );
extern void bm_close( void );
/* Converts virtual memory addresses into physical
returns 0 if OK else - errno
parray should have enough length to accept length/page_size
elements. virt_addr can be located in non-continious memory
block and can be allocated by malloc(). (kmalloc() is not
needed). Note: if you have some very old card which requires
continous memory block then you need to implement bm_kmalloc
bm_kfree functions here. NOTE2: to be sure that every page of
region is present in physical memory (is not swapped out) use
m(un)lock functions. Note3: Probably your card will want to
have page-aligned block for DMA transfer so use
memalign(PAGE_SIZE,mem_size) function to alloc such memory. */
extern int bm_virt_to_phys( void * virt_addr, unsigned long length,
unsigned long * parray );
/* Converts virtual memory addresses into bus address
Works in the same way as bm_virt_to_phys.
WARNING: This function will be die after implementing
bm_alloc_pci_shmem() because we really can't pass
any memory address to card. Example: 64-bit linear address
can't be passed into 32-bit card. Even more - some old
cards can access 24-bit address space only */
extern int bm_virt_to_bus( void * virt_addr, unsigned long length,
unsigned long * barray );
/* NOTE: bm_alloc_pci_shmem() and bm_free_pci_shmem()
are still not implemented!
arguments:
pciinfo_t - specifies pci card for which memory should be shared
bitness - can be 16,24,32,64 specifies addressing possibilities
of the card
length - specifies size of memory which should allocated
op - specifies direction as combination flags TO_CARD,FROM_CARD
Return value - should be tuned
we need to have something like this:
struct pci_shmem
{
void * handler;
void * virt_addr
void * array_of_bus_addr[];
unsigned long length;
}
NOTE2: After finalizing of these functions bm_virt_to_bus() will be die */
extern void * bm_alloc_pci_shmem(pciinfo_t *, unsigned mem_bitness, unsigned long length,int op );
extern void bm_free_pci_shmem(void * pci_shmem);
extern int bm_lock_mem( const void * addr, unsigned long length );
extern int bm_unlock_mem( const void * addr, unsigned long length );
/* HWIRQ support */
extern int hwirq_install(int bus, int dev, int func,
int areg, unsigned long aoff, uint32_t adata);
extern int hwirq_wait(unsigned irqnum);
extern int hwirq_uninstall(int bus, int dev, int func);
/* CPU flushing support */
extern void cpu_flush(void *va,unsigned long length);
extern void libdha_exit(const char *message, int level);
#ifdef __cplusplus
}
#endif
#endif