summaryrefslogtreecommitdiffstats
path: root/abs/core-testing
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2010-09-08 07:33:44 (GMT)
committerJames Meyer <james.meyer@operamail.com>2010-09-08 07:33:44 (GMT)
commit525753e4a1a139e088d8ac120b19fbab6c0aaaa6 (patch)
tree35cef28abb613da4f58e83f6abbe4bd4cfa244bf /abs/core-testing
parent592e3cad43ef12c53f523145d0fd981b54f2a049 (diff)
parentb172f79fadb565ecfbcec9508f9377d8618a4f4c (diff)
downloadlinhes_pkgbuild-525753e4a1a139e088d8ac120b19fbab6c0aaaa6.zip
linhes_pkgbuild-525753e4a1a139e088d8ac120b19fbab6c0aaaa6.tar.gz
linhes_pkgbuild-525753e4a1a139e088d8ac120b19fbab6c0aaaa6.tar.bz2
Merge branch 'HEAD' of ssh://jams@knoppmyth.net/mount/repository/LinHES-PKGBUILD
Diffstat (limited to 'abs/core-testing')
-rw-r--r--abs/core-testing/LinHES-config/LinHES-release2
-rw-r--r--abs/core-testing/LinHES-config/PKGBUILD5
-rw-r--r--abs/core-testing/alsa-lib/PKGBUILD8
-rw-r--r--abs/core-testing/alsa-lib/python2.5.patch11
-rw-r--r--abs/core-testing/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch242
-rw-r--r--abs/core-testing/alsa-utils/PKGBUILD20
-rwxr-xr-xabs/core-testing/alsa-utils/alsa4
-rw-r--r--abs/core-testing/alsa-utils/alsaconf.patch15
-rw-r--r--abs/core-testing/ati-dri/PKGBUILD38
-rw-r--r--abs/core-testing/ati-dri/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core-testing/atk/PKGBUILD14
-rw-r--r--abs/core-testing/aufs-utils/PKGBUILD48
-rw-r--r--abs/core-testing/aufs/PKGBUILD71
-rw-r--r--abs/core-testing/aufs2-util/PKGBUILD25
-rwxr-xr-xabs/core-testing/aufs2-util/create-tarball.sh11
-rw-r--r--abs/core-testing/aufs2/PKGBUILD58
-rw-r--r--abs/core-testing/aufs2/aufs2.install12
-rwxr-xr-xabs/core-testing/aufs2/create-tarball.sh14
-rw-r--r--abs/core-testing/avahi/ChangeLog8
-rw-r--r--abs/core-testing/avahi/PKGBUILD51
-rw-r--r--abs/core-testing/avahi/avahi-daemon-dbus.patch16
-rw-r--r--abs/core-testing/bash/PKGBUILD116
-rw-r--r--abs/core-testing/bash/enable-system-config-files.patch15
-rw-r--r--abs/core-testing/bash/profile.bash18
-rw-r--r--abs/core-testing/bash/system.bashrc31
-rw-r--r--abs/core-testing/bc/PKGBUILD29
-rw-r--r--abs/core-testing/bc/bc-1.06-info-dir-entry.patch11
-rw-r--r--abs/core-testing/bc/bc.install20
-rw-r--r--abs/core-testing/binutils/PKGBUILD88
-rw-r--r--abs/core-testing/binutils/binutils.install13
-rw-r--r--abs/core-testing/cairo/PKGBUILD11
-rw-r--r--abs/core-testing/cloog-ppl/PKGBUILD29
-rw-r--r--abs/core-testing/damageproto/PKGBUILD18
-rw-r--r--abs/core-testing/db/PKGBUILD36
-rw-r--r--abs/core-testing/db/db.install30
-rw-r--r--abs/core-testing/dbus-core/PKGBUILD26
-rw-r--r--abs/core-testing/dbus-core/dbus2
-rw-r--r--abs/core-testing/dbus-core/dbus.install19
-rw-r--r--abs/core-testing/dbus-glib/PKGBUILD10
-rw-r--r--abs/core-testing/dbus-python/PKGBUILD18
-rw-r--r--abs/core-testing/dbus/PKGBUILD39
-rw-r--r--abs/core-testing/device-mapper/ChangeLog103
-rw-r--r--abs/core-testing/device-mapper/PKGBUILD82
-rw-r--r--abs/core-testing/device-mapper/device-mapper.rules1
-rw-r--r--abs/core-testing/device-mapper/lvm2_hook25
-rw-r--r--abs/core-testing/device-mapper/lvm2_install30
-rw-r--r--abs/core-testing/docutils/PKGBUILD29
-rw-r--r--abs/core-testing/dri2proto/PKGBUILD10
-rw-r--r--abs/core-testing/e2fsprogs/MIT-LICENSE25
-rw-r--r--abs/core-testing/e2fsprogs/PKGBUILD55
-rw-r--r--abs/core-testing/e2fsprogs/e2fsprogs.install23
-rw-r--r--abs/core-testing/eggdbus/PKGBUILD22
-rw-r--r--abs/core-testing/expat/CVE-2009-3560.patch13
-rw-r--r--abs/core-testing/expat/CVE-2009-3720.patch12
-rw-r--r--abs/core-testing/expat/PKGBUILD26
-rw-r--r--abs/core-testing/fbsplash/PKGBUILD103
-rw-r--r--abs/core-testing/fbsplash/__changelog4
-rw-r--r--abs/core-testing/fbsplash/darch.tar.bz2bin1572821 -> 0 bytes
-rw-r--r--abs/core-testing/fbsplash/extra/encrypt_hook.patch24
-rw-r--r--abs/core-testing/fbsplash/fbcondecor.conf6
-rw-r--r--abs/core-testing/fbsplash/fbcondecor.daemon55
-rw-r--r--abs/core-testing/fbsplash/fbsplash-basic.sh201
-rw-r--r--abs/core-testing/fbsplash/fbsplash.bootsteps1
-rw-r--r--abs/core-testing/fbsplash/fbsplash.conf8
-rw-r--r--abs/core-testing/fbsplash/fbsplash.daemon56
-rw-r--r--abs/core-testing/fbsplash/fbsplash.git.patch166
-rw-r--r--abs/core-testing/fbsplash/fbsplash.initcpio_hook102
-rw-r--r--abs/core-testing/fbsplash/fbsplash.initcpio_install117
-rw-r--r--abs/core-testing/fbsplash/fbsplash.inithooks91
-rw-r--r--abs/core-testing/fbsplash/fbsplash.install36
-rw-r--r--abs/core-testing/fbsplash/splash-functions-arch.sh71
-rw-r--r--abs/core-testing/fbsplash/splash-functions.sh618
-rw-r--r--abs/core-testing/fbsplash/splash.conf63
-rw-r--r--abs/core-testing/fixesproto/PKGBUILD20
-rw-r--r--abs/core-testing/fontconfig/30-urw-aliases.patch13
-rw-r--r--abs/core-testing/fontconfig/PKGBUILD31
-rw-r--r--abs/core-testing/fontconfig/fontconfig.install2
-rw-r--r--abs/core-testing/fontsproto/PKGBUILD18
-rw-r--r--abs/core-testing/freetype2/PKGBUILD31
-rw-r--r--abs/core-testing/gcc-libs/PKGBUILD72
-rw-r--r--abs/core-testing/gcc-libs/buildfix_new_bison.patch22
-rw-r--r--abs/core-testing/gcc-libs/gcc-hash-style-both.patch163
-rw-r--r--abs/core-testing/gcc-libs/gcc_pure64.patch26
-rw-r--r--abs/core-testing/gcc/PKGBUILD239
-rw-r--r--abs/core-testing/gcc/gcc-ada.install22
-rw-r--r--abs/core-testing/gcc/gcc-fortran.install18
-rw-r--r--abs/core-testing/gcc/gcc-hash-style-both.patch12
-rw-r--r--abs/core-testing/gcc/gcc-libs.install14
-rw-r--r--abs/core-testing/gcc/gcc.install8
-rw-r--r--abs/core-testing/gcc/r160561.patch64
-rw-r--r--abs/core-testing/glib2/PKGBUILD23
-rw-r--r--abs/core-testing/glibc/PKGBUILD146
-rw-r--r--abs/core-testing/glibc/glibc-2.10-bz4781.patch42
-rw-r--r--abs/core-testing/glibc/glibc-2.10-dont-build-timezone.patch13
-rw-r--r--abs/core-testing/glibc/glibc-__i686.patch13
-rw-r--r--abs/core-testing/glibc/glibc.install129
-rw-r--r--abs/core-testing/gmp/PKGBUILD24
-rw-r--r--abs/core-testing/gmp/gmp.install2
-rw-r--r--abs/core-testing/gnutls/PKGBUILD12
-rw-r--r--abs/core-testing/gnutls/gnutls.install4
-rw-r--r--abs/core-testing/gobject-introspection/PKGBUILD20
-rw-r--r--abs/core-testing/gtk2/PKGBUILD34
-rw-r--r--abs/core-testing/gtk2/revert_64bit_fix.patch31
-rw-r--r--abs/core-testing/gtk2/xid-collision-debug.patch15
-rw-r--r--abs/core-testing/hal-info/PKGBUILD12
-rw-r--r--abs/core-testing/hal/PKGBUILD104
-rw-r--r--abs/core-testing/hal/dbus-error-init.patch231
-rw-r--r--abs/core-testing/hal/fix-libusb-detection.patch66
-rw-r--r--abs/core-testing/hal/hal-HDAPS-blacklist.patch30
-rw-r--r--abs/core-testing/hal/hal-KVM-evdev.patch36
-rw-r--r--abs/core-testing/hal/hal-remove-dell-killswitch.patch201
-rw-r--r--abs/core-testing/hal/hal-use-at-console.patch45
-rw-r--r--abs/core-testing/hal/hal-xen-unignore-axes.patch39
-rw-r--r--abs/core-testing/hal/hal.install15
-rw-r--r--abs/core-testing/hal/handle-input-touchpad.patch101
-rw-r--r--abs/core-testing/hal/macbook-fix-ioperm.patch41
-rw-r--r--abs/core-testing/hal/path-max.patch31
-rw-r--r--abs/core-testing/heimdal/001_all_heimdal-no_libedit.patch10
-rw-r--r--abs/core-testing/heimdal/002_all_heimal-fPIC.patch12
-rw-r--r--abs/core-testing/heimdal/003_all_heimdal-rxapps.patch22
-rw-r--r--abs/core-testing/heimdal/005_all_heimdal-suid_fix.patch20
-rw-r--r--abs/core-testing/heimdal/012_all_heimdal-berkdb.patch124
-rw-r--r--abs/core-testing/heimdal/013_all_heimdal-pthread-lib.patch11
-rw-r--r--abs/core-testing/heimdal/014_all_heimdal-path.patch50
-rw-r--r--abs/core-testing/heimdal/PKGBUILD96
-rw-r--r--abs/core-testing/imlib2/PKGBUILD44
-rw-r--r--abs/core-testing/initscripts/PKGBUILD32
-rw-r--r--abs/core-testing/initscripts/initscripts.install28
-rw-r--r--abs/core-testing/initscripts/rc.shutdown.patch28
-rw-r--r--abs/core-testing/initscripts/rc.sysinit.patch18
-rw-r--r--abs/core-testing/inputproto/PKGBUILD12
-rw-r--r--abs/core-testing/intel-dri/PKGBUILD43
-rw-r--r--abs/core-testing/intel-dri/intel-disable-ttm-warning.patch13
-rw-r--r--abs/core-testing/intel-dri/intel-revert-vbl.patch21
-rw-r--r--abs/core-testing/intel-dri/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core-testing/iproute2/PKGBUILD35
-rw-r--r--abs/core-testing/iproute2/iproute2-fhs.patch57
-rw-r--r--abs/core-testing/iproute2/tc.patch26
-rw-r--r--abs/core-testing/ipw2100-fw/PKGBUILD39
-rw-r--r--abs/core-testing/ipw2200-fw/PKGBUILD45
-rw-r--r--abs/core-testing/iwlwifi-3945-ucode/PKGBUILD28
-rw-r--r--abs/core-testing/iwlwifi-4965-ucode/PKGBUILD26
-rw-r--r--abs/core-testing/kbproto/PKGBUILD17
-rw-r--r--abs/core-testing/kernel-headers/PKGBUILD30
-rw-r--r--abs/core-testing/kernel-headers/netfilter-includes.patch91
-rw-r--r--abs/core-testing/kernel-headers/serial.diff13
-rw-r--r--abs/core-testing/kernel26.orig/PKGBUILD242
-rw-r--r--abs/core-testing/kernel26.orig/config4957
-rw-r--r--abs/core-testing/kernel26.orig/config.x86_644761
-rw-r--r--abs/core-testing/kernel26.orig/coretemp.patch (renamed from abs/core-testing/kernel26/coretemp.patch)0
-rw-r--r--abs/core-testing/kernel26.orig/ext4.patch (renamed from abs/core-testing/kernel26/ext4.patch)0
-rw-r--r--abs/core-testing/kernel26.orig/kernel26.install147
-rw-r--r--abs/core-testing/kernel26.orig/kernel26.preset17
-rw-r--r--abs/core-testing/kernel26.orig/logo_linux_clut224.ppm (renamed from abs/core-testing/kernel26/logo_linux_clut224.ppm)0
-rw-r--r--abs/core-testing/kernel26.orig/logo_linux_mono.pbm (renamed from abs/core-testing/kernel26/logo_linux_mono.pbm)0
-rw-r--r--abs/core-testing/kernel26.orig/logo_linux_vga16.ppm (renamed from abs/core-testing/kernel26/logo_linux_vga16.ppm)0
-rw-r--r--abs/core-testing/kernel26.orig/serial.diff (renamed from abs/core-testing/kernel26/serial.diff)0
-rw-r--r--abs/core-testing/kernel26/PKGBUILD207
-rw-r--r--abs/core-testing/kernel26/config1660
-rw-r--r--abs/core-testing/kernel26/config.arch4955
-rw-r--r--abs/core-testing/kernel26/config.x86_641609
-rw-r--r--abs/core-testing/kernel26/fbcondecor-2.6.34-fix.patch19
-rw-r--r--abs/core-testing/kernel26/kernel26.install27
-rw-r--r--abs/core-testing/kernel26/kernel26.preset2
-rw-r--r--abs/core-testing/klibc-extras/PKGBUILD23
-rw-r--r--abs/core-testing/klibc-kbd/PKGBUILD48
-rw-r--r--abs/core-testing/klibc-kbd/keymap_hook27
-rw-r--r--abs/core-testing/klibc-kbd/keymap_install76
-rw-r--r--abs/core-testing/klibc-kbd/no-exit.patch31
-rw-r--r--abs/core-testing/klibc-kbd/no-fflush.patch14
-rw-r--r--abs/core-testing/klibc-kbd/no-isatty.patch58
-rw-r--r--abs/core-testing/klibc-module-init-tools/PKGBUILD25
-rw-r--r--abs/core-testing/klibc-module-init-tools/fix-modprobe-ignore-path.patch14
-rw-r--r--abs/core-testing/klibc-module-init-tools/makefile.patch54
-rw-r--r--abs/core-testing/klibc-udev/50-udev-default.rules5
-rw-r--r--abs/core-testing/klibc-udev/60-persistent-storage.rules47
-rw-r--r--abs/core-testing/klibc-udev/64-device-mapper.rules4
-rw-r--r--abs/core-testing/klibc-udev/64-md-raid.rules18
-rw-r--r--abs/core-testing/klibc-udev/80-drivers.rules7
-rw-r--r--abs/core-testing/klibc-udev/PKGBUILD59
-rw-r--r--abs/core-testing/klibc-udev/disable-uid-gid-lookup.patch33
-rw-r--r--abs/core-testing/klibc-udev/klibc-remove-revert.patch111
-rwxr-xr-xabs/core-testing/klibc-udev/load-modules.sh51
-rw-r--r--abs/core-testing/klibc-udev/post-107.patch176
-rwxr-xr-xabs/core-testing/klibc-udev/start_udev115
-rw-r--r--abs/core-testing/klibc-udev/udev-fix-klibc-build.patch48
-rw-r--r--abs/core-testing/klibc-udev/udev.rules187
-rw-r--r--abs/core-testing/klibc-udev/udev_hook10
-rw-r--r--abs/core-testing/klibc-udev/udev_install29
-rw-r--r--abs/core-testing/klibc-udev/vol_id-suspend2.patch15
-rw-r--r--abs/core-testing/klibc/PKGBUILD56
-rw-r--r--abs/core-testing/klibc/klibc-2.6.24.patch44
-rw-r--r--abs/core-testing/klibc/klibc-Kbuild.patch80
-rw-r--r--abs/core-testing/klibc/klibc-compile-shared-by-default.patch12
-rw-r--r--abs/core-testing/klibc/klibc-fix-2.6.28-includes.patch12
-rw-r--r--abs/core-testing/klibc/klibc-module-init-tools.patch63
-rw-r--r--abs/core-testing/klibc/klibc-x86_64-fix-io.h.patch28
-rw-r--r--abs/core-testing/klibc/multiple_raid_assembly_fix.patch20
-rw-r--r--abs/core-testing/libcups/PKGBUILD33
-rw-r--r--abs/core-testing/libdatrie/PKGBUILD6
-rw-r--r--abs/core-testing/libdrm/COPYING48
-rw-r--r--abs/core-testing/libdrm/PKGBUILD36
-rw-r--r--abs/core-testing/libdrm/libdrm-2.4.21-b803918f3f.patch506
-rw-r--r--abs/core-testing/libdrm/no-pthread-stubs.patch65
-rw-r--r--abs/core-testing/libelf/PKGBUILD23
-rw-r--r--abs/core-testing/libfontenc/PKGBUILD21
-rw-r--r--abs/core-testing/libgcrypt/PKGBUILD31
-rw-r--r--abs/core-testing/libgl/PKGBUILD40
-rw-r--r--abs/core-testing/libgl/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core-testing/libgpg-error/PKGBUILD21
-rw-r--r--abs/core-testing/libjpeg/PKGBUILD15
-rw-r--r--abs/core-testing/libldap/PKGBUILD74
-rw-r--r--abs/core-testing/libldap/ntlm.patch139
-rw-r--r--abs/core-testing/libmpc/PKGBUILD28
-rw-r--r--abs/core-testing/libmpc/libmpc.install20
-rw-r--r--abs/core-testing/libpciaccess/PKGBUILD10
-rw-r--r--abs/core-testing/libpng/PKGBUILD48
-rw-r--r--abs/core-testing/libtasn1/PKGBUILD18
-rw-r--r--abs/core-testing/libthai/PKGBUILD10
-rw-r--r--abs/core-testing/libtiff/ChangeLog27
-rw-r--r--abs/core-testing/libtiff/PKGBUILD43
-rw-r--r--abs/core-testing/libtiff/libtiff-CVE-2009-2285.patch22
-rw-r--r--abs/core-testing/libtool/PKGBUILD29
-rw-r--r--abs/core-testing/libtool/libtool.install6
-rw-r--r--abs/core-testing/libx11/PKGBUILD24
-rw-r--r--abs/core-testing/libxau/PKGBUILD19
-rw-r--r--abs/core-testing/libxaw/PKGBUILD14
-rw-r--r--abs/core-testing/libxcb/PKGBUILD12
-rw-r--r--abs/core-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch2
-rw-r--r--abs/core-testing/libxdamage/PKGBUILD24
-rw-r--r--abs/core-testing/libxext/PKGBUILD18
-rw-r--r--abs/core-testing/libxfixes/PKGBUILD23
-rw-r--r--abs/core-testing/libxfont/PKGBUILD26
-rw-r--r--abs/core-testing/libxfontcache/LICENSE100
-rw-r--r--abs/core-testing/libxfontcache/PKGBUILD21
-rw-r--r--abs/core-testing/libxft/PKGBUILD14
-rw-r--r--abs/core-testing/libxi/PKGBUILD16
-rw-r--r--abs/core-testing/libxml2/PKGBUILD13
-rw-r--r--abs/core-testing/libxt/PKGBUILD19
-rw-r--r--abs/core-testing/libxv/PKGBUILD12
-rw-r--r--abs/core-testing/libxvmc/LICENSE23
-rw-r--r--abs/core-testing/libxvmc/PKGBUILD20
-rw-r--r--abs/core-testing/libxxf86dga/PKGBUILD24
-rw-r--r--abs/core-testing/libxxf86misc/PKGBUILD16
-rw-r--r--abs/core-testing/libxxf86vm/PKGBUILD18
-rw-r--r--abs/core-testing/linux-api-headers/PKGBUILD43
-rw-r--r--abs/core-testing/linux-api-headers/scsi.patch42
-rw-r--r--abs/core-testing/linux-firmware/PKGBUILD62
-rw-r--r--abs/core-testing/lirc-utils/PKGBUILD73
-rw-r--r--abs/core-testing/lirc-utils/irexec.conf5
-rwxr-xr-xabs/core-testing/lirc-utils/irexecd38
-rw-r--r--abs/core-testing/lirc-utils/kernel-2.6.33.patch475
-rw-r--r--abs/core-testing/lirc-utils/lirc.logrotate3
-rw-r--r--abs/core-testing/lirc-utils/lirc_patch270
-rwxr-xr-xabs/core-testing/lirc-utils/lircd12
-rw-r--r--abs/core-testing/lirc-utils/lircd.conf (renamed from abs/core-testing/lirc-utils/lircd.conf.d)0
-rw-r--r--abs/core-testing/lirc/PKGBUILD68
-rw-r--r--abs/core-testing/lirc/kernel-2.6.33.patch475
-rw-r--r--abs/core-testing/lirc/lirc.install6
-rw-r--r--abs/core-testing/lirc_085-utils/PKGBUILD72
-rwxr-xr-xabs/core-testing/lirc_085-utils/hw_commandir.c (renamed from abs/core-testing/lirc/hw_commandir.c)0
-rwxr-xr-xabs/core-testing/lirc_085-utils/hw_commandir.h (renamed from abs/core-testing/lirc/hw_commandir.h)0
-rw-r--r--abs/core-testing/lirc_085-utils/kernel-2.6.26.patch (renamed from abs/core-testing/lirc/kernel-2.6.26.patch)0
-rw-r--r--abs/core-testing/lirc_085-utils/lirc.logrotate8
-rw-r--r--abs/core-testing/lirc_085-utils/lirc_atiusb.patch (renamed from abs/core-testing/lirc/lirc_atiusb.patch)0
-rwxr-xr-xabs/core-testing/lirc_085-utils/lircd43
-rw-r--r--abs/core-testing/lirc_085-utils/lircd.conf.d8
-rwxr-xr-xabs/core-testing/lirc_085-utils/lircmd36
-rw-r--r--abs/core-testing/lirc_085/PKGBUILD86
-rw-r--r--abs/core-testing/lirc_085/dvicoIR.rules (renamed from abs/core-testing/lirc/dvicoIR.rules)0
-rwxr-xr-xabs/core-testing/lirc_085/hw_commandir.c (renamed from abs/core-testing/lirc-utils/hw_commandir.c)0
-rwxr-xr-xabs/core-testing/lirc_085/hw_commandir.h (renamed from abs/core-testing/lirc-utils/hw_commandir.h)0
-rw-r--r--abs/core-testing/lirc_085/kernel-2.6.26.patch (renamed from abs/core-testing/lirc-utils/kernel-2.6.26.patch)0
-rw-r--r--abs/core-testing/lirc_085/kernel-2.6.27.patch (renamed from abs/core-testing/lirc/kernel-2.6.27.patch)0
-rw-r--r--abs/core-testing/lirc_085/lirc.fdi (renamed from abs/core-testing/lirc/lirc.fdi)0
-rw-r--r--abs/core-testing/lirc_085/lirc.install (renamed from abs/core-testing/aufs/aufs.install)21
-rw-r--r--abs/core-testing/lirc_085/lirc_atiusb.patch (renamed from abs/core-testing/lirc-utils/lirc_atiusb.patch)0
-rw-r--r--abs/core-testing/lirc_085/lirc_mod_mce.patch (renamed from abs/core-testing/lirc/lirc_mod_mce.patch)0
-rw-r--r--abs/core-testing/lvm2/ChangeLog103
-rw-r--r--abs/core-testing/lvm2/PKGBUILD83
-rw-r--r--abs/core-testing/lvm2/lvm2_hook17
-rw-r--r--abs/core-testing/lvm2/lvm2_install15
-rw-r--r--abs/core-testing/madwifi-utils/PKGBUILD14
-rw-r--r--abs/core-testing/madwifi/PKGBUILD20
-rw-r--r--abs/core-testing/madwifi/kernel-2.6.30.patch14
-rw-r--r--abs/core-testing/madwifi/madwifi-ng.install21
-rw-r--r--abs/core-testing/mesa/LICENSE82
-rw-r--r--abs/core-testing/mesa/PKGBUILD188
-rw-r--r--abs/core-testing/mesa/nouveau_class.h9019
-rw-r--r--abs/core-testing/mkinitcpio-busybox/PKGBUILD37
-rw-r--r--abs/core-testing/mkinitcpio-busybox/config922
-rw-r--r--abs/core-testing/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch453
-rw-r--r--abs/core-testing/mkinitcpio/PKGBUILD39
-rw-r--r--abs/core-testing/mkinitcpio/mkinitcpio.conf.diff9
-rw-r--r--abs/core-testing/module-init-tools/PKGBUILD56
-rw-r--r--abs/core-testing/module-init-tools/modprobe.conf2
-rw-r--r--abs/core-testing/mpfr/PKGBUILD27
-rw-r--r--abs/core-testing/mpfr/mpfr.install2
-rw-r--r--abs/core-testing/mysql-clients/PKGBUILD37
-rw-r--r--abs/core-testing/mysql-python/PKGBUILD19
-rw-r--r--abs/core-testing/mysql/PKGBUILD153
-rw-r--r--abs/core-testing/mysql/__changelog15
-rw-r--r--abs/core-testing/mysql/mysql-no-clients.patch65
-rw-r--r--abs/core-testing/mysql/mysql.install20
-rwxr-xr-xabs/core-testing/mysql/mysqld67
-rw-r--r--abs/core-testing/mysql/mysqld.conf.d1
-rw-r--r--abs/core-testing/mysql/skip-abi-check.patch13
-rw-r--r--abs/core-testing/ndiswrapper-utils/PKGBUILD21
-rw-r--r--abs/core-testing/ndiswrapper/PKGBUILD22
-rw-r--r--abs/core-testing/ndiswrapper/ndiswrapper.install17
-rw-r--r--abs/core-testing/ntfs-3g/25-ntfs-config-write-policy.fdi42
-rw-r--r--abs/core-testing/ntfs-3g/PKGBUILD34
-rw-r--r--abs/core-testing/ntfsprogs/PKGBUILD24
-rwxr-xr-xabs/core-testing/ntp/PKGBUILD97
-rw-r--r--abs/core-testing/ntp/fix-ipv6.patch10
-rw-r--r--abs/core-testing/ntp/ntp-4.2.4-html2man.patch183
-rw-r--r--abs/core-testing/ntp/ntp-4.2.4_p7-nano.patch20
-rwxr-xr-xabs/core-testing/ntp/ntp-client.conf4
-rwxr-xr-xabs/core-testing/ntp/ntp.conf80
-rwxr-xr-xabs/core-testing/ntp/ntpd3
-rw-r--r--abs/core-testing/nvidia-173xx-utils/20-nvidia.conf5
-rw-r--r--abs/core-testing/nvidia-173xx-utils/PKGBUILD22
-rw-r--r--abs/core-testing/nvidia-173xx/PKGBUILD22
-rw-r--r--abs/core-testing/nvidia-173xx/nvidia.install4
-rw-r--r--abs/core-testing/nvidia-96xx/PKGBUILD9
-rw-r--r--abs/core-testing/nvidia-96xx/nvidia.install4
-rw-r--r--abs/core-testing/nvidia-utils/20-nvidia.conf1
-rw-r--r--abs/core-testing/nvidia-utils/PKGBUILD143
-rw-r--r--abs/core-testing/nvidia-utils/nvidia.install41
-rw-r--r--abs/core-testing/nvidia/PKGBUILD37
-rw-r--r--abs/core-testing/nvidia/nvidia.install20
-rw-r--r--abs/core-testing/openssh/PKGBUILD65
-rwxr-xr-xabs/core-testing/openssh/sshd3
-rw-r--r--abs/core-testing/openssl/PKGBUILD52
-rw-r--r--abs/core-testing/openssl/ca-dir.patch33
-rw-r--r--abs/core-testing/openssl/fix-manpages.patch1887
-rw-r--r--abs/core-testing/openssl/no-rpath.patch11
-rw-r--r--abs/core-testing/pacman-mirrorlist/PKGBUILD26
-rw-r--r--abs/core-testing/pacman-mirrorlist/mirrorlist384
-rw-r--r--abs/core-testing/pacman/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch32
-rw-r--r--abs/core-testing/pacman/PKGBUILD30
-rw-r--r--abs/core-testing/pacman/makepkg.conf10
-rw-r--r--abs/core-testing/pacman/pacman.conf4
-rw-r--r--abs/core-testing/pacman/pacman.install10
-rw-r--r--abs/core-testing/pango/PKGBUILD16
-rw-r--r--abs/core-testing/pango/pango.install5
-rw-r--r--abs/core-testing/pcre/ChangeLog24
-rw-r--r--abs/core-testing/pcre/PKGBUILD38
-rw-r--r--abs/core-testing/pixman/PKGBUILD10
-rw-r--r--abs/core-testing/pkg-config/PKGBUILD32
-rw-r--r--abs/core-testing/pkg-config/autoconf-2.66.patch12
-rw-r--r--abs/core-testing/pkgconfig/PKGBUILD22
-rw-r--r--abs/core-testing/pm-utils/PKGBUILD38
-rw-r--r--abs/core-testing/ppl/PKGBUILD27
-rw-r--r--abs/core-testing/ppl/ppl-0.10.2-gmp-5.0.patch30
-rw-r--r--abs/core-testing/procinfo-ng/PKGBUILD38
-rw-r--r--abs/core-testing/procinfo/PKGBUILD22
-rw-r--r--abs/core-testing/procinfo/procinfo-19.2.patch325
-rw-r--r--abs/core-testing/python/PKGBUILD36
-rw-r--r--abs/core-testing/python/python-2.6-db-4.8.patch123
-rw-r--r--[-rwxr-xr-x]abs/core-testing/qt/PKGBUILD103
-rw-r--r--abs/core-testing/qt/assistant.desktop2
-rw-r--r--abs/core-testing/qt/ca-certificates.patch25
-rw-r--r--abs/core-testing/qt/designer.desktop2
-rw-r--r--abs/core-testing/qt/linguist.desktop2
-rw-r--r--abs/core-testing/qt/qdoc3.patch25
-rw-r--r--abs/core-testing/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch (renamed from abs/core-testing/qt/QtWebKit_Flash.patch)91
-rw-r--r--abs/core-testing/qt/qt.install11
-rw-r--r--abs/core-testing/qt/qtconfig.desktop2
-rw-r--r--abs/core-testing/readline/PKGBUILD60
-rw-r--r--abs/core-testing/readline/readline.install4
-rw-r--r--abs/core-testing/reiserfsprogs/PKGBUILD32
-rw-r--r--abs/core-testing/rpcbind/PKGBUILD26
-rwxr-xr-xabs/core-testing/rpcbind/rpcbind39
-rw-r--r--abs/core-testing/rt2500/PKGBUILD33
-rw-r--r--abs/core-testing/rt2500/kernel-2.6.22.patch24125
-rw-r--r--abs/core-testing/rt2500/kernel-2.6.24.patch20
-rw-r--r--abs/core-testing/rt2500/kernel-2.6.27.patch64
-rw-r--r--abs/core-testing/rt2500/rt2500.install26
-rw-r--r--abs/core-testing/rt2x00-rt61-fw/PKGBUILD18
-rw-r--r--abs/core-testing/rt2x00-rt71w-fw/PKGBUILD17
-rw-r--r--abs/core-testing/sqlite3/PKGBUILD19
-rw-r--r--abs/core-testing/squashfs-tools/PKGBUILD21
-rw-r--r--abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch23
-rw-r--r--abs/core-testing/tiacx-firmware/PKGBUILD22
-rw-r--r--abs/core-testing/tiacx-firmware/tiacx-firmware.install4
-rw-r--r--abs/core-testing/tiacx/PKGBUILD25
-rw-r--r--abs/core-testing/tiacx/acx.install16
-rw-r--r--abs/core-testing/tiacx/kernel-2.6.30.patch16
-rw-r--r--abs/core-testing/tiacx/kernel-2.6.31.patch88
-rw-r--r--abs/core-testing/tiacx/kernel-2.6.33.patch11
-rw-r--r--abs/core-testing/udev/81-arch.rules94
-rw-r--r--abs/core-testing/udev/PKGBUILD149
-rw-r--r--abs/core-testing/udev/__changelog1
-rw-r--r--abs/core-testing/udev/arch-udev-rules.patch172
-rwxr-xr-xabs/core-testing/udev/cdsymlinks.sh11
-rwxr-xr-xabs/core-testing/udev/load-modules.sh12
-rw-r--r--abs/core-testing/udev/logitech-rules.patch14
-rw-r--r--abs/core-testing/udev/mount-usb51
-rw-r--r--abs/core-testing/udev/readme-udev-arch.txt266
-rw-r--r--abs/core-testing/udev/resolve-modalias.c62
-rwxr-xr-xabs/core-testing/udev/start_udev137
-rw-r--r--abs/core-testing/udev/udev-ntfs-3g.patch217
-rw-r--r--abs/core-testing/udev/udev.install23
-rw-r--r--abs/core-testing/udev/udev.rules456
-rw-r--r--abs/core-testing/udev/usb-storage.rules4
-rw-r--r--abs/core-testing/unichrome-dri/PKGBUILD38
-rw-r--r--abs/core-testing/unichrome-dri/mesa-7.1-link-shared.patch102
-rw-r--r--abs/core-testing/util-linux-ng/PKGBUILD48
-rw-r--r--abs/core-testing/util-linux-ng/fix-findmnt.patch24
-rw-r--r--abs/core-testing/util-linux-ng/util-linux-ng.install2
-rw-r--r--abs/core-testing/wpa_supplicant/PKGBUILD21
-rw-r--r--abs/core-testing/wpa_supplicant/config9
-rw-r--r--abs/core-testing/xcb-proto/PKGBUILD8
-rw-r--r--abs/core-testing/xcb-util/LICENSE267
-rw-r--r--abs/core-testing/xcb-util/PKGBUILD15
-rw-r--r--abs/core-testing/xcursor-themes/LICENSE24
-rw-r--r--abs/core-testing/xcursor-themes/PKGBUILD18
-rw-r--r--abs/core-testing/xextproto/PKGBUILD10
-rw-r--r--abs/core-testing/xf86-input-calcomp/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-citron/PKGBUILD24
-rw-r--r--abs/core-testing/xf86-input-digitaledge/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-dmc/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-dynapro/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-elo2300/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-evdev/PKGBUILD13
-rw-r--r--abs/core-testing/xf86-input-jamstudio/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-magellan/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-magictouch/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-microtouch/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-palmax/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-spaceorb/PKGBUILD23
-rw-r--r--abs/core-testing/xf86-input-summa/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-tek4957/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-input-ur98/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-video-apm/LICENSE92
-rw-r--r--abs/core-testing/xf86-video-apm/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-video-ark/LICENSE48
-rw-r--r--abs/core-testing/xf86-video-ark/PKGBUILD21
-rw-r--r--abs/core-testing/xf86-video-ati/PKGBUILD27
-rw-r--r--abs/core-testing/xf86-video-chips/LICENSE89
-rw-r--r--abs/core-testing/xf86-video-chips/PKGBUILD26
-rw-r--r--abs/core-testing/xf86-video-cirrus/LICENSE22
-rw-r--r--abs/core-testing/xf86-video-cirrus/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-video-dummy/PKGBUILD21
-rw-r--r--abs/core-testing/xf86-video-fbdev/PKGBUILD18
-rw-r--r--abs/core-testing/xf86-video-geode/PKGBUILD31
-rw-r--r--abs/core-testing/xf86-video-glint/LICENSE84
-rw-r--r--abs/core-testing/xf86-video-glint/PKGBUILD24
-rw-r--r--abs/core-testing/xf86-video-i128/LICENSE23
-rw-r--r--abs/core-testing/xf86-video-i128/PKGBUILD26
-rw-r--r--abs/core-testing/xf86-video-i740/LICENSE47
-rw-r--r--abs/core-testing/xf86-video-i740/PKGBUILD21
-rw-r--r--abs/core-testing/xf86-video-intel/LICENSE440
-rw-r--r--abs/core-testing/xf86-video-intel/PKGBUILD46
-rw-r--r--abs/core-testing/xf86-video-intel/intel-2.11-no-pageflipping.patch33
-rw-r--r--abs/core-testing/xf86-video-mach64/LICENSE209
-rw-r--r--abs/core-testing/xf86-video-mach64/PKGBUILD49
-rw-r--r--abs/core-testing/xf86-video-mga/PKGBUILD52
-rw-r--r--abs/core-testing/xf86-video-neomagic/PKGBUILD19
-rw-r--r--abs/core-testing/xf86-video-nouveau/PKGBUILD41
-rw-r--r--abs/core-testing/xf86-video-nouveau/xf86-video-nouveau.install16
-rw-r--r--abs/core-testing/xf86-video-nv/PKGBUILD23
-rw-r--r--abs/core-testing/xf86-video-openchrome/PKGBUILD32
-rw-r--r--abs/core-testing/xf86-video-openchrome/drm_stdint.patch10
-rw-r--r--abs/core-testing/xf86-video-openchrome/svn-r839.patch1447
-rw-r--r--abs/core-testing/xf86-video-r128/LICENSE219
-rw-r--r--abs/core-testing/xf86-video-r128/PKGBUILD47
-rw-r--r--abs/core-testing/xf86-video-radeonhd/PKGBUILD19
-rw-r--r--abs/core-testing/xf86-video-rendition/PKGBUILD29
-rw-r--r--abs/core-testing/xf86-video-s3/LICENSE25
-rw-r--r--abs/core-testing/xf86-video-s3/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-video-s3virge/LICENSE25
-rw-r--r--abs/core-testing/xf86-video-s3virge/PKGBUILD24
-rw-r--r--abs/core-testing/xf86-video-savage/LICENSE97
-rw-r--r--abs/core-testing/xf86-video-savage/PKGBUILD51
-rw-r--r--abs/core-testing/xf86-video-siliconmotion/PKGBUILD22
-rw-r--r--abs/core-testing/xf86-video-sis/PKGBUILD51
-rw-r--r--abs/core-testing/xf86-video-sisusb/PKGBUILD21
-rw-r--r--abs/core-testing/xf86-video-tdfx/LICENSE160
-rw-r--r--abs/core-testing/xf86-video-tdfx/PKGBUILD47
-rw-r--r--abs/core-testing/xf86-video-trident/PKGBUILD52
-rw-r--r--abs/core-testing/xf86-video-tseng/PKGBUILD23
-rw-r--r--abs/core-testing/xf86-video-unichrome/LICENSE23
-rw-r--r--abs/core-testing/xf86-video-unichrome/PKGBUILD26
-rw-r--r--abs/core-testing/xf86-video-unichrome/drm-include.patch11
-rw-r--r--abs/core-testing/xf86-video-v4l/LICENSE826
-rw-r--r--abs/core-testing/xf86-video-v4l/PKGBUILD19
-rw-r--r--abs/core-testing/xf86-video-vesa/PKGBUILD24
-rw-r--r--abs/core-testing/xf86-video-vga/PKGBUILD29
-rw-r--r--abs/core-testing/xf86-video-vga/pciaccess.patch371
-rw-r--r--abs/core-testing/xf86-video-vmware/LICENSE27
-rw-r--r--abs/core-testing/xf86-video-vmware/PKGBUILD25
-rw-r--r--abs/core-testing/xf86-video-vmware/abi2.patch38
-rw-r--r--abs/core-testing/xf86-video-voodoo/PKGBUILD27
-rw-r--r--abs/core-testing/xf86dgaproto/PKGBUILD23
-rw-r--r--abs/core-testing/xf86driproto/LICENSE50
-rw-r--r--abs/core-testing/xf86driproto/PKGBUILD22
-rw-r--r--abs/core-testing/xf86vidmodeproto/PKGBUILD18
-rw-r--r--abs/core-testing/xfsprogs/PKGBUILD16
-rw-r--r--abs/core-testing/xkeyboard-config/PKGBUILD22
-rwxr-xr-xabs/core-testing/xmltv/PKGBUILD29
-rw-r--r--abs/core-testing/xorg-apps/LICENSE1354
-rw-r--r--abs/core-testing/xorg-apps/PKGBUILD97
-rw-r--r--abs/core-testing/xorg-server-utils/LICENSE.iceauth25
-rw-r--r--abs/core-testing/xorg-server-utils/LICENSE.xcmsdb18
-rw-r--r--abs/core-testing/xorg-server-utils/PKGBUILD86
-rw-r--r--abs/core-testing/xorg-server/10-evdev.conf39
-rw-r--r--abs/core-testing/xorg-server/10-quirks.conf10
-rw-r--r--abs/core-testing/xorg-server/PKGBUILD133
-rw-r--r--abs/core-testing/xorg-server/xorg-server.install29
-rw-r--r--abs/core-testing/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch34
-rw-r--r--abs/core-testing/xorg-server/xserver-1.7.1-libcrypto.patch32
-rw-r--r--abs/core-testing/xorg-server/xvfb-run180
-rw-r--r--abs/core-testing/xorg-server/xvfb-run.1282
-rw-r--r--abs/core-testing/xorg-util-macros/PKGBUILD18
-rw-r--r--abs/core-testing/xorg-utils/LICENSE.xdpyinfo26
-rw-r--r--abs/core-testing/xorg-utils/LICENSE.xfd25
-rw-r--r--abs/core-testing/xorg-utils/LICENSE.xlsfonts22
-rw-r--r--abs/core-testing/xorg-utils/LICENSE.xprop45
-rw-r--r--abs/core-testing/xorg-utils/PKGBUILD60
-rw-r--r--abs/core-testing/xterm/LICENSE73
-rw-r--r--abs/core-testing/xterm/PKGBUILD81
-rw-r--r--abs/core-testing/xz-utils/PKGBUILD30
-rw-r--r--abs/core-testing/xz/PKGBUILD42
-rw-r--r--abs/core-testing/zd1211-firmware/PKGBUILD21
-rw-r--r--abs/core-testing/zlib/PKGBUILD36
-rw-r--r--abs/core-testing/zlib/zlib-1.2.5-lfs-decls.patch13
528 files changed, 47194 insertions, 35342 deletions
diff --git a/abs/core-testing/LinHES-config/LinHES-release b/abs/core-testing/LinHES-config/LinHES-release
index 6fc5aed..156ac78 100644
--- a/abs/core-testing/LinHES-config/LinHES-release
+++ b/abs/core-testing/LinHES-config/LinHES-release
@@ -1 +1 @@
-LinHES R6.03.00 (M)
+LinHES R7.00.01 (Punta Gorda)
diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD
index 655d5c0..dd07a29 100644
--- a/abs/core-testing/LinHES-config/PKGBUILD
+++ b/abs/core-testing/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-config
pkgver=2.1
-pkgrel=40
+pkgrel=41
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
pkgdesc="Install and configure your system"
depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -101,7 +101,6 @@ build() {
install -m 0755 issue $startdir/pkg/etc/issue
}
-
md5sums=('297441b8d85820698c19e7c0ad5a3dfe'
'1a4694fcd694b362c339bda781ed0f3e'
'e36da536dd651ef182e7642337889e77'
@@ -114,7 +113,7 @@ md5sums=('297441b8d85820698c19e7c0ad5a3dfe'
'4620f6f498ef4523398635cb0bd59425'
'06188493e5ed79cb501d3c5694dee8ca'
'e459ed069317bccb20351f037a9df3d2'
- 'e519c47ae24fb65799ec57a4a2050653'
+ 'b47f477693ed3e83a0cd951a616e16d1'
'6aff504ed5e860adc1b7317cd0780900'
'55fccb1da0417a896b724f7cfc32dd5a'
'ab2aa42c2947148c2b1cac0ade6d1d55'
diff --git a/abs/core-testing/alsa-lib/PKGBUILD b/abs/core-testing/alsa-lib/PKGBUILD
index 005dd82..9ba2945 100644
--- a/abs/core-testing/alsa-lib/PKGBUILD
+++ b/abs/core-testing/alsa-lib/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 18680 2008-11-08 16:21:16Z tpowa $
+# $Id: PKGBUILD 79040 2010-04-30 05:28:10Z tpowa $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=alsa-lib
-pkgver=1.0.18
-pkgrel=2
+pkgver=1.0.23
+pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
url="http://www.alsa-project.org"
@@ -20,4 +20,4 @@ build() {
make || return 1
make DESTDIR=$pkgdir install
}
-md5sums=('de60df7541fafe8c6a3397e0f105ff0e')
+md5sums=('f48b50421d8a69d2d806d9c47e534f0d')
diff --git a/abs/core-testing/alsa-lib/python2.5.patch b/abs/core-testing/alsa-lib/python2.5.patch
deleted file mode 100644
index cd0032b..0000000
--- a/abs/core-testing/alsa-lib/python2.5.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules/mixer/simple/python.c~ 2007-08-21 17:21:28.000000000 +0200
-+++ modules/mixer/simple/python.c 2007-08-21 17:26:39.000000000 +0200
-@@ -23,7 +23,7 @@
- #include "config.h"
- #include "asoundlib.h"
- #include "mixer_abst.h"
--#include <python/Python.h>
-+#include <python2.5/Python.h>
-
- struct python_priv {
- int py_initialized;
diff --git a/abs/core-testing/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch b/abs/core-testing/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch
deleted file mode 100644
index 588272f..0000000
--- a/abs/core-testing/alsa-lib/revert-patch-to-fix-converting-32bit-audio-to-16bit.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-
---- a/src/pcm/plugin_ops.h Mon Jan 09 14:40:08 2006 +0000
-+++ b/src/pcm/plugin_ops.h Fri Mar 09 17:06:23 2007 +0100
-@@ -85,6 +85,8 @@ static inline u_int32_t sx24s(u_int32_t
- #define _put_triple(ptr,val) _put_triple_be(ptr,val)
- #define _put_triple_s(ptr,val) _put_triple_le(ptr,val)
- #endif
-+
-+#define shift_down(val, bits) (((val) + (1 << ((bits) - 1))) >> (bits))
-
- #ifdef COPY_LABELS
- static void *copy_labels[5] = {
-@@ -256,14 +258,14 @@ conv_xxx1_009x: as_u32(dst) = sx24s((u_i
- conv_xxx1_009x: as_u32(dst) = sx24s((u_int32_t)(as_u8c(src) ^ 0x80) << 8); goto CONV_END;
- conv_xxx1_9000: as_u32(dst) = (u_int32_t)(as_u8c(src) ^ 0x80) << 24; goto CONV_END;
- conv_xxx1_0009: as_u32(dst) = (u_int32_t)(as_u8c(src) ^ 0x80); goto CONV_END;
--conv_xx12_xxx1: as_u8(dst) = as_u16c(src) >> 8; goto CONV_END;
-+conv_xx12_xxx1: as_u8(dst) = shift_down(as_u16c(src), 8); goto CONV_END;
- conv_xx12_xx12: as_u16(dst) = as_u16c(src); goto CONV_END;
- conv_xx12_xx21: as_u16(dst) = bswap_16(as_u16c(src)); goto CONV_END;
- conv_xx12_x120: as_u32(dst) = sx24((u_int32_t)as_u16c(src) << 8); goto CONV_END;
- conv_xx12_021x: as_u32(dst) = sx24s((u_int32_t)bswap_16(as_u16c(src)) << 8); goto CONV_END;
- conv_xx12_1200: as_u32(dst) = (u_int32_t)as_u16c(src) << 16; goto CONV_END;
- conv_xx12_0021: as_u32(dst) = (u_int32_t)bswap_16(as_u16c(src)); goto CONV_END;
--conv_xx12_xxx9: as_u8(dst) = (as_u16c(src) >> 8) ^ 0x80; goto CONV_END;
-+conv_xx12_xxx9: as_u8(dst) = shift_down(as_u16c(src), 8) ^ 0x80; goto CONV_END;
- conv_xx12_xx92: as_u16(dst) = as_u16c(src) ^ 0x8000; goto CONV_END;
- conv_xx12_xx29: as_u16(dst) = bswap_16(as_u16c(src)) ^ 0x80; goto CONV_END;
- conv_xx12_x920: as_u32(dst) = sx24((u_int32_t)(as_u16c(src) ^ 0x8000) << 8); goto CONV_END;
-@@ -282,57 +284,57 @@ conv_xx12_01Ax: as_u32(dst) = sx24s((u_i
- conv_xx12_01Ax: as_u32(dst) = sx24s((u_int32_t)(as_u16c(src) ^ 0x80) << 8); goto CONV_END;
- conv_xx12_A100: as_u32(dst) = (u_int32_t)bswap_16(as_u16c(src) ^ 0x80) << 16; goto CONV_END;
- conv_xx12_001A: as_u32(dst) = (u_int32_t)(as_u16c(src) ^ 0x80); goto CONV_END;
--conv_x123_xxx1: as_u8(dst) = as_u32c(src) >> 16; goto CONV_END;
--conv_x123_xx12: as_u16(dst) = as_u32c(src) >> 8; goto CONV_END;
--conv_x123_xx21: as_u16(dst) = bswap_16(as_u32c(src) >> 8); goto CONV_END;
-+conv_x123_xxx1: as_u8(dst) = shift_down(as_u32c(src), 16); goto CONV_END;
-+conv_x123_xx12: as_u16(dst) = shift_down(as_u32c(src), 8); goto CONV_END;
-+conv_x123_xx21: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8)); goto CONV_END;
- conv_x123_x123: as_u32(dst) = sx24(as_u32c(src)); goto CONV_END;
- conv_x123_321x: as_u32(dst) = sx24s(bswap_32(as_u32c(src))); goto CONV_END;
- conv_x123_1230: as_u32(dst) = as_u32c(src) << 8; goto CONV_END;
--conv_x123_0321: as_u32(dst) = bswap_32(as_u32c(src)) >> 8; goto CONV_END;
--conv_x123_xxx9: as_u8(dst) = (as_u32c(src) >> 16) ^ 0x80; goto CONV_END;
--conv_x123_xx92: as_u16(dst) = (as_u32c(src) >> 8) ^ 0x8000; goto CONV_END;
--conv_x123_xx29: as_u16(dst) = bswap_16(as_u32c(src) >> 8) ^ 0x80; goto CONV_END;
-+conv_x123_0321: as_u32(dst) = shift_down(bswap_32(as_u32c(src)), 8); goto CONV_END;
-+ conv_x123_xxx9: as_u8(dst) = shift_down(as_u32c(src), 16) ^ 0x80; goto CONV_END;
-+conv_x123_xx92: as_u16(dst) = shift_down(as_u32c(src), 8) ^ 0x8000; goto CONV_END;
-+conv_x123_xx29: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8)) ^ 0x80; goto CONV_END;
- conv_x123_x923: as_u32(dst) = sx24(as_u32c(src) ^ 0x800000); goto CONV_END;
- conv_x123_329x: as_u32(dst) = sx24s(bswap_32(as_u32c(src)) ^ 0x8000); goto CONV_END;
- conv_x123_9230: as_u32(dst) = (as_u32c(src) ^ 0x800000) << 8; goto CONV_END;
--conv_x123_0329: as_u32(dst) = (bswap_32(as_u32c(src)) >> 8) ^ 0x80; goto CONV_END;
--conv_123x_xxx3: as_u8(dst) = (as_u32c(src) >> 8) & 0xff; goto CONV_END;
--conv_123x_xx32: as_u16(dst) = bswap_16(as_u32c(src) >> 8); goto CONV_END;
--conv_123x_xx23: as_u16(dst) = (as_u32c(src) >> 8) & 0xffff; goto CONV_END;
-+conv_x123_0329: as_u32(dst) = shift_down(bswap_32(as_u32c(src)), 8) ^ 0x80; goto CONV_END;
-+conv_123x_xxx3: as_u8(dst) = shift_down(as_u32c(src), 8) & 0xff; goto CONV_END;
-+conv_123x_xx32: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8)); goto CONV_END;
-+conv_123x_xx23: as_u16(dst) = shift_down(as_u32c(src), 8) & 0xffff; goto CONV_END;
- conv_123x_x321: as_u32(dst) = sx24(bswap_32(as_u32c(src))); goto CONV_END;
- conv_123x_123x: as_u32(dst) = sx24s(as_u32c(src)); goto CONV_END;
- conv_123x_3210: as_u32(dst) = bswap_32(as_u32c(src)) << 8; goto CONV_END;
--conv_123x_0123: as_u32(dst) = as_u32c(src) >> 8; goto CONV_END;
--conv_123x_xxxB: as_u8(dst) = ((as_u32c(src) >> 8) & 0xff) ^ 0x80; goto CONV_END;
--conv_123x_xxB2: as_u16(dst) = bswap_16((as_u32c(src) >> 8) ^ 0x80); goto CONV_END;
--conv_123x_xx2B: as_u16(dst) = ((as_u32c(src) >> 8) & 0xffff) ^ 0x80; goto CONV_END;
-+conv_123x_0123: as_u32(dst) = shift_down(as_u32c(src), 8); goto CONV_END;
-+conv_123x_xxxB: as_u8(dst) = (shift_down(as_u32c(src), 8) & 0xff) ^ 0x80; goto CONV_END;
-+conv_123x_xxB2: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 8) ^ 0x80); goto CONV_END;
-+conv_123x_xx2B: as_u16(dst) = (shift_down(as_u32c(src), 8) & 0xffff) ^ 0x80; goto CONV_END;
- conv_123x_xB21: as_u32(dst) = sx24(bswap_32(as_u32c(src)) ^ 0x800000); goto CONV_END;
- conv_123x_12Bx: as_u32(dst) = sx24s(as_u32c(src) ^ 0x8000); goto CONV_END;
- conv_123x_B210: as_u32(dst) = bswap_32(as_u32c(src) ^ 0x8000) << 8; goto CONV_END;
--conv_123x_012B: as_u32(dst) = (as_u32c(src) >> 8) ^ 0x80; goto CONV_END;
--conv_1234_xxx1: as_u8(dst) = as_u32c(src) >> 24; goto CONV_END;
--conv_1234_xx12: as_u16(dst) = as_u32c(src) >> 16; goto CONV_END;
--conv_1234_xx21: as_u16(dst) = bswap_16(as_u32c(src) >> 16); goto CONV_END;
--conv_1234_x123: as_u32(dst) = sx24(as_u32c(src) >> 8); goto CONV_END;
-+conv_123x_012B: as_u32(dst) = shift_down(as_u32c(src), 8) ^ 0x80; goto CONV_END;
-+conv_1234_xxx1: as_u8(dst) = shift_down(as_u32c(src), 24); goto CONV_END;
-+conv_1234_xx12: as_u16(dst) = shift_down(as_u32c(src), 16); goto CONV_END;
-+conv_1234_xx21: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 16)); goto CONV_END;
-+conv_1234_x123: as_u32(dst) = sx24(shift_down(as_u32c(src), 8)); goto CONV_END;
- conv_1234_321x: as_u32(dst) = sx24s(bswap_32(as_u32c(src)) << 8); goto CONV_END;
- conv_1234_1234: as_u32(dst) = as_u32c(src); goto CONV_END;
- conv_1234_4321: as_u32(dst) = bswap_32(as_u32c(src)); goto CONV_END;
--conv_1234_xxx9: as_u8(dst) = (as_u32c(src) >> 24) ^ 0x80; goto CONV_END;
--conv_1234_xx92: as_u16(dst) = (as_u32c(src) >> 16) ^ 0x8000; goto CONV_END;
--conv_1234_xx29: as_u16(dst) = bswap_16(as_u32c(src) >> 16) ^ 0x80; goto CONV_END;
--conv_1234_x923: as_u32(dst) = sx24((as_u32c(src) >> 8) ^ 0x800000); goto CONV_END;
-+conv_1234_xxx9: as_u8(dst) = shift_down(as_u32c(src), 24) ^ 0x80; goto CONV_END;
-+conv_1234_xx92: as_u16(dst) = shift_down(as_u32c(src), 16) ^ 0x8000; goto CONV_END;
-+conv_1234_xx29: as_u16(dst) = bswap_16(shift_down(as_u32c(src), 16)) ^ 0x80; goto CONV_END;
-+conv_1234_x923: as_u32(dst) = sx24(shift_down(as_u32c(src), 8) ^ 0x800000); goto CONV_END;
- conv_1234_329x: as_u32(dst) = sx24s((bswap_32(as_u32c(src)) ^ 0x80) << 8); goto CONV_END;
- conv_1234_9234: as_u32(dst) = as_u32c(src) ^ 0x80000000; goto CONV_END;
- conv_1234_4329: as_u32(dst) = bswap_32(as_u32c(src)) ^ 0x80; goto CONV_END;
- conv_1234_xxx4: as_u8(dst) = as_u32c(src) & 0xff; goto CONV_END;
- conv_1234_xx43: as_u16(dst) = bswap_16(as_u32c(src)); goto CONV_END;
- conv_1234_xx34: as_u16(dst) = as_u32c(src) & 0xffff; goto CONV_END;
--conv_1234_x432: as_u32(dst) = sx24(bswap_32(as_u32c(src)) >> 8); goto CONV_END;
-+conv_1234_x432: as_u32(dst) = sx24(shift_down(bswap_32(as_u32c(src)), 8)); goto CONV_END;
- conv_1234_234x: as_u32(dst) = sx24s(as_u32c(src) << 8); goto CONV_END;
- conv_1234_xxxC: as_u8(dst) = (as_u32c(src) & 0xff) ^ 0x80; goto CONV_END;
- conv_1234_xxC3: as_u16(dst) = bswap_16(as_u32c(src) ^ 0x80); goto CONV_END;
- conv_1234_xx3C: as_u16(dst) = (as_u32c(src) & 0xffff) ^ 0x80; goto CONV_END;
--conv_1234_xC32: as_u32(dst) = sx24((bswap_32(as_u32c(src)) >> 8) ^ 0x800000); goto CONV_END;
-+conv_1234_xC32: as_u32(dst) = sx24(shift_down(bswap_32(as_u32c(src)), 8) ^ 0x800000); goto CONV_END;
- conv_1234_23Cx: as_u32(dst) = sx24s((as_u32c(src) ^ 0x80) << 8); goto CONV_END;
- conv_1234_C321: as_u32(dst) = bswap_32(as_u32c(src) ^ 0x80); goto CONV_END;
- conv_1234_123C: as_u32(dst) = as_u32c(src) ^ 0x80; goto CONV_END;
-@@ -382,26 +384,26 @@ get16_12_92: sample = as_u16c(src) ^ 0x8
- get16_12_92: sample = as_u16c(src) ^ 0x8000; goto GET16_END;
- get16_12_21: sample = bswap_16(as_u16c(src)); goto GET16_END;
- get16_12_A1: sample = bswap_16(as_u16c(src) ^ 0x80); goto GET16_END;
--get16_0123_12: sample = as_u32c(src) >> 8; goto GET16_END;
--get16_0123_92: sample = (as_u32c(src) >> 8) ^ 0x8000; goto GET16_END;
--get16_1230_32: sample = bswap_16(as_u32c(src) >> 8); goto GET16_END;
--get16_1230_B2: sample = bswap_16((as_u32c(src) >> 8) ^ 0x80); goto GET16_END;
--get16_1234_12: sample = as_u32c(src) >> 16; goto GET16_END;
--get16_1234_92: sample = (as_u32c(src) >> 16) ^ 0x8000; goto GET16_END;
-+get16_0123_12: sample = shift_down(as_u32c(src), 8); goto GET16_END;
-+get16_0123_92: sample = shift_down(as_u32c(src), 8) ^ 0x8000; goto GET16_END;
-+get16_1230_32: sample = bswap_16(shift_down(as_u32c(src), 8)); goto GET16_END;
-+get16_1230_B2: sample = bswap_16(shift_down(as_u32c(src), 8) ^ 0x80); goto GET16_END;
-+get16_1234_12: sample = shift_down(as_u32c(src), 16); goto GET16_END;
-+get16_1234_92: sample = shift_down(as_u32c(src), 16) ^ 0x8000; goto GET16_END;
- get16_1234_43: sample = bswap_16(as_u32c(src)); goto GET16_END;
- get16_1234_C3: sample = bswap_16(as_u32c(src) ^ 0x80); goto GET16_END;
--get16_123_12: sample = _get_triple(src) >> 8; goto GET16_END;
--get16_123_92: sample = (_get_triple(src) >> 8) ^ 0x8000; goto GET16_END;
--get16_123_32: sample = _get_triple_s(src) >> 8; goto GET16_END;
--get16_123_B2: sample = (_get_triple_s(src) >> 8) ^ 0x8000; goto GET16_END;
--get16_123_12_20: sample = _get_triple(src) >> 4; goto GET16_END;
--get16_123_92_20: sample = (_get_triple(src) >> 4) ^ 0x8000; goto GET16_END;
--get16_123_32_20: sample = _get_triple_s(src) >> 4; goto GET16_END;
--get16_123_B2_20: sample = (_get_triple_s(src) >> 4) ^ 0x8000; goto GET16_END;
--get16_123_12_18: sample = _get_triple(src) >> 2; goto GET16_END;
--get16_123_92_18: sample = (_get_triple(src) >> 2) ^ 0x8000; goto GET16_END;
--get16_123_32_18: sample = _get_triple_s(src) >> 2; goto GET16_END;
--get16_123_B2_18: sample = (_get_triple_s(src) >> 2) ^ 0x8000; goto GET16_END;
-+get16_123_12: sample = shift_down(_get_triple(src), 8); goto GET16_END;
-+get16_123_92: sample = shift_down(_get_triple(src), 8) ^ 0x8000; goto GET16_END;
-+get16_123_32: sample = shift_down(_get_triple_s(src), 8); goto GET16_END;
-+get16_123_B2: sample = shift_down(_get_triple_s(src), 8) ^ 0x8000; goto GET16_END;
-+get16_123_12_20: sample = shift_down(_get_triple(src), 4); goto GET16_END;
-+get16_123_92_20: sample = shift_down(_get_triple(src), 4) ^ 0x8000; goto GET16_END;
-+get16_123_32_20: sample = shift_down(_get_triple_s(src), 4); goto GET16_END;
-+get16_123_B2_20: sample = shift_down(_get_triple_s(src), 4) ^ 0x8000; goto GET16_END;
-+get16_123_12_18: sample = shift_down(_get_triple(src), 2); goto GET16_END;
-+get16_123_92_18: sample = shift_down(_get_triple(src), 2) ^ 0x8000; goto GET16_END;
-+get16_123_32_18: sample = shift_down(_get_triple_s(src), 2); goto GET16_END;
-+get16_123_B2_18: sample = shift_down(_get_triple_s(src), 2) ^ 0x8000; goto GET16_END;
- }
- #endif
-
-@@ -429,8 +431,8 @@ static void *put16_labels[4 * 2 * 2] = {
-
- #ifdef PUT16_END
- while (0) {
--put16_12_1: as_u8(dst) = sample >> 8; goto PUT16_END;
--put16_12_9: as_u8(dst) = (sample >> 8) ^ 0x80; goto PUT16_END;
-+put16_12_1: as_u8(dst) = shift_down(sample, 8); goto PUT16_END;
-+put16_12_9: as_u8(dst) = shift_down(sample, 8) ^ 0x80; goto PUT16_END;
- put16_12_12: as_u16(dst) = sample; goto PUT16_END;
- put16_12_92: as_u16(dst) = sample ^ 0x8000; goto PUT16_END;
- put16_12_21: as_u16(dst) = bswap_16(sample); goto PUT16_END;
-@@ -500,8 +502,8 @@ get32_12_A100: sample = (u_int32_t)bswap
- get32_12_A100: sample = (u_int32_t)bswap_16(as_u16c(src) ^ 0x80) << 16; goto GET32_END;
- get32_0123_1230: sample = as_u32c(src) << 8; goto GET32_END;
- get32_0123_9230: sample = (as_u32c(src) << 8) ^ 0x80000000; goto GET32_END;
--get32_1230_3210: sample = bswap_32(as_u32c(src) >> 8); goto GET32_END;
--get32_1230_B210: sample = bswap_32((as_u32c(src) >> 8) ^ 0x80); goto GET32_END;
-+get32_1230_3210: sample = bswap_32(shift_down(as_u32c(src), 8)); goto GET32_END;
-+get32_1230_B210: sample = bswap_32(shift_down(as_u32c(src), 8) ^ 0x80); goto GET32_END;
- get32_1234_1234: sample = as_u32c(src); goto GET32_END;
- get32_1234_9234: sample = as_u32c(src) ^ 0x80000000; goto GET32_END;
- get32_1234_4321: sample = bswap_32(as_u32c(src)); goto GET32_END;
-@@ -568,32 +570,32 @@ static void *put32_labels[4 * 2 * 2 + 4
-
- #ifdef PUT32_END
- while (0) {
--put32_1234_1: as_u8(dst) = sample >> 24; goto PUT32_END;
--put32_1234_9: as_u8(dst) = (sample >> 24) ^ 0x80; goto PUT32_END;
--put32_1234_12: as_u16(dst) = sample >> 16; goto PUT32_END;
--put32_1234_92: as_u16(dst) = (sample >> 16) ^ 0x8000; goto PUT32_END;
--put32_1234_21: as_u16(dst) = bswap_16(sample >> 16); goto PUT32_END;
--put32_1234_29: as_u16(dst) = bswap_16(sample >> 16) ^ 0x80; goto PUT32_END;
--put32_1234_0123: as_u32(dst) = sx24(sample >> 8); goto PUT32_END;
--put32_1234_0923: as_u32(dst) = sx24((sample >> 8) ^ 0x800000); goto PUT32_END;
-+put32_1234_1: as_u8(dst) = shift_down(sample, 24); goto PUT32_END;
-+put32_1234_9: as_u8(dst) = shift_down(sample, 24) ^ 0x80; goto PUT32_END;
-+put32_1234_12: as_u16(dst) = shift_down(sample, 16); goto PUT32_END;
-+put32_1234_92: as_u16(dst) = shift_down(sample, 16) ^ 0x8000; goto PUT32_END;
-+put32_1234_21: as_u16(dst) = bswap_16(shift_down(sample, 16)); goto PUT32_END;
-+put32_1234_29: as_u16(dst) = bswap_16(shift_down(sample, 16)) ^ 0x80; goto PUT32_END;
-+put32_1234_0123: as_u32(dst) = sx24(shift_down(sample, 8)); goto PUT32_END;
-+put32_1234_0923: as_u32(dst) = sx24(shift_down(sample, 8) ^ 0x800000); goto PUT32_END;
- put32_1234_3210: as_u32(dst) = sx24s(bswap_32(sample) << 8); goto PUT32_END;
- put32_1234_3290: as_u32(dst) = sx24s((bswap_32(sample) ^ 0x80) << 8); goto PUT32_END;
- put32_1234_1234: as_u32(dst) = sample; goto PUT32_END;
- put32_1234_9234: as_u32(dst) = sample ^ 0x80000000; goto PUT32_END;
- put32_1234_4321: as_u32(dst) = bswap_32(sample); goto PUT32_END;
- put32_1234_4329: as_u32(dst) = bswap_32(sample) ^ 0x80; goto PUT32_END;
--put32_1234_123: _put_triple(dst, sample >> 8); goto PUT32_END;
--put32_1234_923: _put_triple(dst, (sample ^ 0x80000000) >> 8); goto PUT32_END;
--put32_1234_321: _put_triple_s(dst, sample >> 8); goto PUT32_END;
--put32_1234_329: _put_triple_s(dst, (sample ^ 0x80000000) >> 8); goto PUT32_END;
--put32_1234_123_20: _put_triple(dst, sample >> 12); goto PUT32_END;
--put32_1234_923_20: _put_triple(dst, (sample ^ 0x80000000) >> 12); goto PUT32_END;
--put32_1234_321_20: _put_triple_s(dst, sample >> 12); goto PUT32_END;
--put32_1234_329_20: _put_triple_s(dst, (sample ^ 0x80000000) >> 12); goto PUT32_END;
--put32_1234_123_18: _put_triple(dst, sample >> 14); goto PUT32_END;
--put32_1234_923_18: _put_triple(dst, (sample ^ 0x80000000) >> 14); goto PUT32_END;
--put32_1234_321_18: _put_triple_s(dst, sample >> 14); goto PUT32_END;
--put32_1234_329_18: _put_triple_s(dst, (sample ^ 0x80000000) >> 14); goto PUT32_END;
-+put32_1234_123: _put_triple(dst, shift_down(sample, 8)); goto PUT32_END;
-+put32_1234_923: _put_triple(dst, shift_down(sample ^ 0x80000000, 8)); goto PUT32_END;
-+put32_1234_321: _put_triple_s(dst, shift_down(sample, 8)); goto PUT32_END;
-+put32_1234_329: _put_triple_s(dst, shift_down(sample ^ 0x80000000, 8)); goto PUT32_END;
-+put32_1234_123_20: _put_triple(dst, shift_down(sample, 12)); goto PUT32_END;
-+put32_1234_923_20: _put_triple(dst, shift_down(sample ^ 0x80000000, 12)); goto PUT32_END;
-+put32_1234_321_20: _put_triple_s(dst, shift_down(sample, 12)); goto PUT32_END;
-+put32_1234_329_20: _put_triple_s(dst, shift_down(sample ^ 0x80000000, 12)); goto PUT32_END;
-+put32_1234_123_18: _put_triple(dst, shift_down(sample, 14)); goto PUT32_END;
-+put32_1234_923_18: _put_triple(dst, shift_down(sample ^ 0x80000000, 14)); goto PUT32_END;
-+put32_1234_321_18: _put_triple_s(dst, shift_down(sample, 14)); goto PUT32_END;
-+put32_1234_329_18: _put_triple_s(dst, shift_down(sample ^ 0x80000000, 14)); goto PUT32_END;
- }
- #endif
-
-@@ -1079,3 +1081,4 @@ norms_32_s32s: _norms(src, dst, 32, 1,
- #undef _put_triple_le
- #undef _put_triple_be
-
-+#undef shift_down
-
-
-
-
diff --git a/abs/core-testing/alsa-utils/PKGBUILD b/abs/core-testing/alsa-utils/PKGBUILD
index caa636c..2f6e163 100644
--- a/abs/core-testing/alsa-utils/PKGBUILD
+++ b/abs/core-testing/alsa-utils/PKGBUILD
@@ -1,17 +1,19 @@
-# $Id: PKGBUILD 18682 2008-11-08 16:46:01Z tpowa $
+# $Id: PKGBUILD 79271 2010-05-02 14:42:00Z tpowa $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=alsa-utils
-pkgver=1.0.18
-pkgrel=1
+pkgver=1.0.23
+pkgrel=2
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
url="http://www.alsa-project.org"
#can not use >=$pkgver due to use of letters in alsa-lib update versioning
-depends=("alsa-lib>1.0.17.999" 'dialog' 'pciutils' 'ncurses')
+depends=("alsa-lib>1.0.22.99" 'dialog' 'pciutils' 'ncurses')
makedepends=('xmlto' 'docbook-xsl')
license=('GPL')
-source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2 \
- alsa alsaconf.patch alsa.conf.d)
+source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2
+ alsa
+ alsaconf.patch
+ alsa.conf.d)
backup=(etc/conf.d/alsa)
build() {
@@ -23,7 +25,7 @@ build() {
install -D -m755 ../alsa $startdir/pkg/etc/rc.d/alsa
install -D -m644 ../alsa.conf.d $startdir/pkg/etc/conf.d/alsa
}
-md5sums=('0a6b26d27cc2adfd591d91d8c155fdb7'
- '9dff78913b13b10e67c4195e90395ed2'
- '538f82650d08e901efea86c5395520df'
+md5sums=('cb0cf46029ac9549cf3a31bff6a4f4e1'
+ '3ef812cae83053d01cd560284efad71f'
+ '62ebef77d5617d0036012cc541dcf23c'
'93089f0d8872078939f76dd2acaebc2b')
diff --git a/abs/core-testing/alsa-utils/alsa b/abs/core-testing/alsa-utils/alsa
index e1d6f28..08f76af 100755
--- a/abs/core-testing/alsa-utils/alsa
+++ b/abs/core-testing/alsa-utils/alsa
@@ -19,13 +19,13 @@ case "$1" in
if [ -e /sys/module/snd_ac97_codec/parameters/power_save \
-a $POWERSAVE -ne 0 ]; then
echo $POWERSAVE > /sys/module/snd_ac97_codec/parameters/power_save
- echo 1 > /dev/dsp
+ [ -c /dev/dsp ] && echo 1 > /dev/dsp
fi
if [ -e /sys/module/snd_hda_intel/parameters/power_save \
-a $POWERSAVE -ne 0 ]; then
echo $POWERSAVE > /sys/module/snd_hda_intel/parameters/power_save
- echo 1 > /dev/dsp
+ [ -c /dev/dsp ] && echo 1 > /dev/dsp
fi
;;
stop)
diff --git a/abs/core-testing/alsa-utils/alsaconf.patch b/abs/core-testing/alsa-utils/alsaconf.patch
index c1d2eb2..ec79fe9 100644
--- a/abs/core-testing/alsa-utils/alsaconf.patch
+++ b/abs/core-testing/alsa-utils/alsaconf.patch
@@ -7,9 +7,9 @@ diff -Naur alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in alsa-utils-1.0.9a/alsacon
distribution="fedora"
+elif test -f /etc/arch-release && grep -q "Arch" /etc/arch-release; then
+ distribution="arch"
+ elif [ -f /etc/slackware-version -o -f /etc/slamd64-version ]; then
+ distribution="slackware"
else
- distribution="unknown"
- fi
@@ -382,6 +384,8 @@
rcalsasound=/etc/rc.d/init.d/alsasound
elif [ -x /etc/init.d/alsa ]; then
@@ -19,3 +19,14 @@ diff -Naur alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in alsa-utils-1.0.9a/alsacon
else
rcalsasound=rcalsasound
fi
+--- alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in 2010-01-03 19:44:08.000000000 +0100
++++ alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in 2010-01-03 19:44:08.000000000 +0100
+@@ -315,7 +315,7 @@
+ 3.[789]*)
+ ;;
+ *)
+- cfgout="/etc/modprobe.d/sound"
++ cfgout="/etc/modprobe.d/sound.conf"
+ cfgoldout=""
+ ;;
+ esac
diff --git a/abs/core-testing/ati-dri/PKGBUILD b/abs/core-testing/ati-dri/PKGBUILD
deleted file mode 100644
index 253f136..0000000
--- a/abs/core-testing/ati-dri/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 17170 2008-10-26 11:01:19Z andyrtr $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Alexander Baldeck <alexander@archlinux.org>
-pkgname=ati-dri
-pkgver=7.2
-pkgrel=1
-pkgdesc="DRI drivers for ATI/AMD videochips"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libgl>=7.2' 'expat>=2.0.1')
-makedepends=('glproto>=1.4.9' 'pkgconfig' 'libxfixes' 'libxdamage' 'libxxf86vm' 'libxext')
-conflicts=('xf86-video-ati<6.9.0-6')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
-
-build() {
- cd "${srcdir}/Mesa-${pkgver}"
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=radeon,r200,r300 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
- rm -rf "${pkgdir}/usr/include"
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
-}
diff --git a/abs/core-testing/ati-dri/mesa-7.1-link-shared.patch b/abs/core-testing/ati-dri/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core-testing/ati-dri/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core-testing/atk/PKGBUILD b/abs/core-testing/atk/PKGBUILD
index db41418..304d2c8 100644
--- a/abs/core-testing/atk/PKGBUILD
+++ b/abs/core-testing/atk/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 30101 2009-03-16 18:13:31Z jgc $
+# $Id: PKGBUILD 74174 2010-03-30 17:11:38Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=atk
-pkgver=1.26.0
+pkgver=1.30.0
pkgrel=1
pkgdesc="A library providing a set of interfaces for accessibility"
arch=(i686 x86_64)
license=('LGPL')
-depends=('glib2>=2.20.0')
-makedepends=('pkgconfig')
-options=('!libtool' '!docs')
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.26/${pkgname}-${pkgver}.tar.bz2)
+depends=('glib2>=2.24')
+makedepends=('pkgconfig' 'gobject-introspection')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.30/${pkgname}-${pkgver}.tar.bz2)
url='http://www.gtk.org/'
-md5sums=('719229408019c548855673840679f156')
+sha256sums=('92b9b1213cafc68fe9c3806273b968c26423237d7b1f631dd83dc5270b8c268c')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/aufs-utils/PKGBUILD b/abs/core-testing/aufs-utils/PKGBUILD
deleted file mode 100644
index 9db9850..0000000
--- a/abs/core-testing/aufs-utils/PKGBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# $Id: PKGBUILD 22882 2008-12-29 19:41:01Z tpowa $
-# Contributor: Paul Mattal <paul@mattal.com>
-# Maintainer: Paul Mattal <pjmattal@elys.com>
-pkgname=aufs-utils
-pkgver=20081226
-pkgrel=3
-_kernver='2.6.28-LinHES'
-pkgdesc="Another Unionfs Implementation that supports NFS branches"
-arch=('i686' 'x86_64')
-url="http://aufs.sourceforge.net/"
-license=('GPL2')
-depends=('glibc')
-source=(ftp://ftp.archlinux.org/other/aufs/aufs-$pkgver.tar.bz2)
-
-build() {
- cd $srcdir/aufs || return 1
-
- # Fix TMPFS_MAGIC error
- sed 's|-le 26|-le 27|g' -i fs/aufs25/Makefile || return 1
-
- # disable debug, broken in 2.6.28!
- sed -i 's|CONFIG_AUFS_DEBUG = y|CONFIG_AUFS_DEBUG = |' \
- local.mk || return 1
-
- # configure for NFS by:
- # 1) configure local.mk to use FILP and LHASH
- sed -i 's|CONFIG_AUFS_PUT_FILP_PATCH =|CONFIG_AUFS_PUT_FILP_PATCH = y|' \
- local.mk || return 1
- sed -i 's|CONFIG_AUFS_LHASH_PATCH =|CONFIG_AUFS_LHASH_PATCH = y|' \
- local.mk || return 1
- # 2) configure local.mk NOT to use FAKE_DM
- sed -i 's|CONFIG_AUFS_FAKE_DM = y|CONFIG_AUFS_FAKE_DM = |' \
- local.mk || return 1
-
- # build
- make KDIR=/usr/src/linux-$_kernver/ -f local.mk || return 1
-
- # install
- install -D -m755 util/aufind.sh $pkgdir/usr/bin/aufind.sh || return 1
- install -D -m755 util/aulchown $pkgdir/usr/bin/aulchown || return 1
- install -D -m755 util/auplink $pkgdir/usr/bin/auplink || return 1
- install -D -m755 util/mount.aufs $pkgdir/sbin/mount.aufs || return 1
- install -D -m755 util/umount.aufs $pkgdir/sbin/umount.aufs || return 1
- install -D -m644 util/etc_default_aufs $pkgdir/etc/default/aufs || return 1
-}
-
-# vim:set ts=2 sw=2 et:
-md5sums=('e855ed9edc16953028f22cae393690de')
diff --git a/abs/core-testing/aufs/PKGBUILD b/abs/core-testing/aufs/PKGBUILD
deleted file mode 100644
index 3f1e1d0..0000000
--- a/abs/core-testing/aufs/PKGBUILD
+++ /dev/null
@@ -1,71 +0,0 @@
-# $Id: PKGBUILD 22431 2008-12-26 20:13:34Z tpowa $
-# Contributor: Paul Mattal <paul@mattal.com>
-# Maintainer: Paul Mattal <pjmattal@elys.com>
-pkgname=aufs
-pkgver=20081226
-pkgrel=2
-_kernver='2.6.28-LinHES'
-pkgdesc="Another Unionfs Implementation that supports NFS branches"
-arch=('i686' 'x86_64')
-url="http://aufs.sourceforge.net/"
-license=('GPL2')
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'glibc' 'aufs-utils=20081226')
-install=$pkgname.install
-source=(ftp://ftp.archlinux.org/other/aufs/$pkgname-$pkgver.tar.bz2)
-options=(!libtool !makeflags)
-
-build() {
- cd $srcdir/$pkgname || return 1
-
- # Fix TMPFS_MAGIC error
- sed 's|-le 26|-le 27|g' -i fs/aufs25/Makefile || return 1
-
- # use splice functions exported by unionfs kernel patch'
- # - important for loopback fs mounts
- sed -i 's|CONFIG_AUFS_SPLICE_PATCH =|CONFIG_AUFS_SPLICE_PATCH = y|' \
- local.mk || return 1
-
- # this fixes the unionfs patch from hanging aufs
- sed -i 's|CONFIG_AUFS_UNIONFS23_PATCH =|CONFIG_AUFS_UNIONFS23_PATCH = y|' \
- local.mk || return 1
-
- sed -i 's|CONFIG_AUFS_WORKAROUND_FUSE =|CONFIG_AUFS_WORKAROUND_FUSE = y|' \
- local.mk || return 1
-
- sed -i 's|CONFIG_AUFS_BRANCH_MAX_127 = y|CONFIG_AUFS_BRANCH_MAX_127 =|' \
- local.mk || return 1
-
- sed -i 's|CONFIG_AUFS_BRANCH_MAX_1023 =|CONFIG_AUFS_BRANCH_MAX_1023 = y|' \
- local.mk || return 1
-
- # ???
- sed -i 's|.*CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \
- local.mk || return 1
- # disable debug, broken in 2.6.28!
- sed -i 's|CONFIG_AUFS_DEBUG = y|CONFIG_AUFS_DEBUG = |' \
- local.mk || return 1
-
- # configure for NFS by:
- # 1) configure local.mk to use FILP and LHASH
- sed -i 's|CONFIG_AUFS_PUT_FILP_PATCH =|CONFIG_AUFS_PUT_FILP_PATCH = y|' \
- local.mk || return 1
- sed -i 's|CONFIG_AUFS_LHASH_PATCH =|CONFIG_AUFS_LHASH_PATCH = y|' \
- local.mk || return 1
- # 2) configure local.mk NOT to use FAKE_DM
- sed -i 's|CONFIG_AUFS_FAKE_DM = y|CONFIG_AUFS_FAKE_DM = |' \
- local.mk || return 1
-
- # build
- make KDIR=/usr/src/linux-$_kernver/ -f local.mk || return 1
-
- # install
- install -D -m644 fs/aufs25/aufs.ko \
- $startdir/pkg/lib/modules/$_kernver/fs/aufs25/aufs.ko || return 1
-
- # tweak the install script for the right kernel version
- sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
- $startdir/$pkgname.install || return 1
-}
-
-# vim:set ts=2 sw=2 et:
-md5sums=('e855ed9edc16953028f22cae393690de')
diff --git a/abs/core-testing/aufs2-util/PKGBUILD b/abs/core-testing/aufs2-util/PKGBUILD
new file mode 100644
index 0000000..0690bba
--- /dev/null
+++ b/abs/core-testing/aufs2-util/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 80416 2010-05-17 08:02:02Z tpowa $
+# Contributor: Paul Mattal <paul@mattal.com>
+# Maintainer: Paul Mattal <pjmattal@elys.com>
+pkgname=aufs2-util
+pkgver=20100517
+pkgrel=1
+pkgdesc="Another Unionfs Implementation that supports NFS branches"
+arch=('i686' 'x86_64')
+url="http://aufs.sourceforge.net/"
+license=('GPL2')
+depends=('glibc')
+makedepends=('aufs2>=2.6.34_20100517' 'kernel26-headers')
+replaces=('aufs-utils')
+source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make || return 1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install || return 1
+}
+md5sums=('1541729832ead247953b09dd5cc40883')
diff --git a/abs/core-testing/aufs2-util/create-tarball.sh b/abs/core-testing/aufs2-util/create-tarball.sh
new file mode 100755
index 0000000..dd59212
--- /dev/null
+++ b/abs/core-testing/aufs2-util/create-tarball.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+GITSNAPSHOT=20100517
+# aufs2 (no -xx) for the latest -rc version.
+git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git aufs2-util.git
+cd aufs2-util.git
+#git checkout origin/aufs2${AUFS2VERSION}
+git checkout
+cd ..
+rm -rf aufs2-util-${GITSNAPSHOT}
+cp -a aufs2-util.git aufs2-util-${GITSNAPSHOT}
+tar -czf aufs2-util-${GITSNAPSHOT}.tar.gz --exclude=.git aufs2-util-${GITSNAPSHOT}
diff --git a/abs/core-testing/aufs2/PKGBUILD b/abs/core-testing/aufs2/PKGBUILD
new file mode 100644
index 0000000..21037ef
--- /dev/null
+++ b/abs/core-testing/aufs2/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 80414 2010-05-17 07:59:57Z tpowa $
+# Maintainer: Paul Mattal <pjmattal@elys.com>
+
+pkgname=aufs2
+pkgver=2.6.34_20100517
+pkgrel=1
+#_kernver=${pkgver%_*}-ARCH
+_kernver=2.6.34-LinHES
+pkgdesc="Another Unionfs Implementation"
+arch=('i686' 'x86_64')
+url="http://aufs.sourceforge.net/"
+license=('GPL2')
+depends=('kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('linux-api-headers>=2.6.34' 'linux-api-headers<2.6.35')
+replaces=('aufs')
+install=${pkgname}.install
+source=("ftp://ftp.archlinux.org/other/aufs2/${pkgname}-${pkgver}.tar.gz")
+options=('!makeflags')
+md5sums=('271f07ac41e07cb7c30ff29bee8087fa')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ sed -i 's|CONFIG_AUFS_HNOTIFY =.*|CONFIG_AUFS_HNOTIFY = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_HFSNOTIFY =.*|CONFIG_AUFS_HFSNOTIFY = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_EXPORT =.*|CONFIG_AUFS_EXPORT = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_SHWH =.*|CONFIG_AUFS_SHWH = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_BDEV_LOOP =.*|CONFIG_AUFS_BDEV_LOOP = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_BR_RAMFS =.*|CONFIG_AUFS_BR_RAMFS = y|' \
+ config.mk || return 1
+ sed -i 's|CONFIG_AUFS_DEBUG =.*|CONFIG_AUFS_DEBUG =|' \
+ config.mk || return 1
+ if [ "${CARCH}" = "x86_64" ]; then
+ inot64=" y"
+ else
+ inot64=""
+ fi
+ sed -i "s|CONFIG_AUFS_INO_T_64 =.*|CONFIG_AUFS_INO_T_64 =${inot64}|" \
+ config.mk || return 1
+ # build
+ make KDIR=/usr/src/linux-${_kernver} || return 1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ install -D -m644 fs/aufs/aufs.ko \
+ $pkgdir/lib/modules/${_kernver}/kernel/fs/aufs/aufs.ko || return 1
+ # tweak the install script for the right kernel version
+ sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ $startdir/$pkgname.install || return 1
+ # install include files
+ install -D -m 644 include/linux/aufs_type.h $pkgdir/usr/src/linux-$_kernver/include/linux/aufs_type.h || return 1
+}
+md5sums=('421c5ca3d4d917f92f7c0508a16f8177')
diff --git a/abs/core-testing/aufs2/aufs2.install b/abs/core-testing/aufs2/aufs2.install
new file mode 100644
index 0000000..0f4de97
--- /dev/null
+++ b/abs/core-testing/aufs2/aufs2.install
@@ -0,0 +1,12 @@
+post_install() {
+ KERNEL_VERSION=2.6.34-LinHES
+ depmod $KERNEL_VERSION
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/core-testing/aufs2/create-tarball.sh b/abs/core-testing/aufs2/create-tarball.sh
new file mode 100755
index 0000000..c196c68
--- /dev/null
+++ b/abs/core-testing/aufs2/create-tarball.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+AUFS2VERSION="-34"
+KERNELVERSION=2.6.34
+GITSNAPSHOT=20100517
+# aufs2 (no -xx) for the latest -rc version.
+git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git aufs2-standalone.git
+cd aufs2-standalone.git
+#git checkout origin/aufs2${AUFS2VERSION}
+git checkout origin/aufs2
+#*** apply "aufs2-base.patch" and "aufs2-standalone.patch" to your kernel source files.
+cd ..
+rm -rf aufs2-${KERNELVERSIN}_${GITSNAPSHOT}
+cp -a aufs2-standalone.git aufs2-${KERNELVERSION}_${GITSNAPSHOT}
+tar -czf aufs2-${KERNELVERSION}_${GITSNAPSHOT}.tar.gz --exclude=.git aufs2-${KERNELVERSION}_${GITSNAPSHOT}
diff --git a/abs/core-testing/avahi/ChangeLog b/abs/core-testing/avahi/ChangeLog
index e298fb4..57984a3 100644
--- a/abs/core-testing/avahi/ChangeLog
+++ b/abs/core-testing/avahi/ChangeLog
@@ -1,4 +1,12 @@
+2009-04-23 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 0.6.25
+
+2009-03-21 Eric Belanger <eric@archlinux.org>
+
+ * Added optdepends for avahi-discover (close FS#11250)
+
2009-01-04 Douglas Soares de Andrade <douglas@archlinux.org>
* Updated for i686: 0.6.24
diff --git a/abs/core-testing/avahi/PKGBUILD b/abs/core-testing/avahi/PKGBUILD
index c448d16..f3d15bf 100644
--- a/abs/core-testing/avahi/PKGBUILD
+++ b/abs/core-testing/avahi/PKGBUILD
@@ -1,31 +1,37 @@
-# $Id: PKGBUILD 23159 2009-01-04 04:58:11Z douglas $
-# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
+# $Id: PKGBUILD 70504 2010-02-27 03:24:54Z dgriffiths $
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=avahi
-pkgver=0.6.24
-pkgrel=2
+pkgver=0.6.25
+pkgrel=3
pkgdesc="A multicast/unicast DNS-SD framework"
arch=('i686' 'x86_64')
url="http://www.avahi.org/"
license=('LGPL')
-depends=('dbus>=1.1.20-1' 'libcap' 'libdaemon>=0.11' 'gdbm' 'glib2' 'expat')
-optdepends=('qt3:Qt3 UI support' 'libglade:Avahi-discover-standalone'
- 'nss-mdns:NSS support for mDNS')
+depends=('dbus>=1.1.20-1' 'libcap>=2.16' 'libdaemon>=0.11' 'gdbm' 'glib2' 'expat')
+optdepends=('qt3: Qt3 UI support'
+ 'libglade: avahi-discover-standalone'
+ 'nss-mdns: NSS support for mDNS'
+ 'pygtk: avahi-discover'
+ 'dbus-python: avahi-discover')
makedepends=('mono' 'pygtk' 'gtk-sharp-2' 'dbus-python' 'qt3' 'libglade' 'intltool')
-backup=(etc/avahi/avahi-daemon.conf)
+backup=(etc/avahi/avahi-daemon.conf etc/avahi/services/{sftp-,}ssh.service)
install=avahi.install
conflicts=('howl' 'mdnsresponder')
provides=('howl' 'mdnsresponder')
replaces=('howl' 'mdnsresponder')
options=('!libtool')
-source=(http://www.avahi.org/download/avahi-${pkgver}.tar.gz gnome-nettool.png)
+source=(http://www.avahi.org/download/avahi-${pkgver}.tar.gz gnome-nettool.png avahi-daemon-dbus.patch)
build() {
[ -z "${QTDIR}" ] && . /etc/profile.d/qt3.sh
- export MONO_SHARED_DIR=${startdir}/src/.wabi
+ export MONO_SHARED_DIR=${srcdir}/.wabi
mkdir -p ${MONO_SHARED_DIR}
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ sed -i 's|Requires.private|Requires|' avahi-qt3.pc.in
+
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
@@ -42,23 +48,24 @@ build() {
--with-autoipd-group=avahi
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR=${pkgdir} install
rm -rf ${MONO_SHARED_DIR}
- #fix capability
- sed -i -e 's|$DAEMON -D |modprobe capability > /dev/null 2>\&1 ; $DAEMON -D |' ${startdir}/pkg/etc/rc.d/avahi-daemon
-
- sed -i -e 's/netdev/network/g' ${startdir}/pkg/etc/dbus-1/system.d/avahi-dbus.conf
+ sed -i -e 's/netdev/network/g' ${pkgdir}/etc/dbus-1/system.d/avahi-dbus.conf
# howl and mdnsresponder compatability
- cd ${startdir}/pkg/usr/include
+ cd ${pkgdir}/usr/include
ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h
ln -s avahi-compat-howl howl
- cd ${startdir}/pkg/usr/lib/pkgconfig
+ cd ${pkgdir}/usr/lib/pkgconfig
ln -s avahi-compat-howl.pc howl.pc
- mkdir -p ${startdir}/pkg/usr/share/pixmaps
- install -m 644 ${startdir}/src/gnome-nettool.png ${startdir}/pkg/usr/share/pixmaps/gnome-nettool.png
+ mkdir -p ${pkgdir}/usr/share/pixmaps
+ install -m 644 ${srcdir}/gnome-nettool.png ${pkgdir}/usr/share/pixmaps/gnome-nettool.png
+
+ cd ${pkgdir}
+ patch -p0 < ${srcdir}/avahi-daemon-dbus.patch || return 1
}
-md5sums=('068c1d220b07037e64caf87d4a7a0504'
- '42c2905307c7a5dc6ac4b75f4c3d65a3')
+md5sums=('a83155a6e29e3988f07e5eea3287b21e'
+ '42c2905307c7a5dc6ac4b75f4c3d65a3'
+ '0e1f5900b56fcfa1bffddb4f233f539f')
diff --git a/abs/core-testing/avahi/avahi-daemon-dbus.patch b/abs/core-testing/avahi/avahi-daemon-dbus.patch
new file mode 100644
index 0000000..fe82f41
--- /dev/null
+++ b/abs/core-testing/avahi/avahi-daemon-dbus.patch
@@ -0,0 +1,16 @@
+--- etc/rc.d/avahi-daemon 2010-02-26 21:10:30.000000000 -0600
++++ etc/rc.d/avahi-daemon 2010-02-26 21:09:44.000000000 -0600
+@@ -35,8 +35,11 @@
+
+ case "$1" in
+ start)
+- stat_busy "Starting $DESC"
+- $DAEMON -D > /dev/null 2>&1
++ if ck_daemon dbus; then
++ /etc/rc.d/dbus start
++ fi
++ stat_busy "Starting $DESC"
++ modprobe capability > /dev/null 2>&1 ; $DAEMON -D > /dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
diff --git a/abs/core-testing/bash/PKGBUILD b/abs/core-testing/bash/PKGBUILD
index ae1eaba..96c24a1 100644
--- a/abs/core-testing/bash/PKGBUILD
+++ b/abs/core-testing/bash/PKGBUILD
@@ -1,101 +1,69 @@
-# $Id: PKGBUILD 25772 2009-01-28 20:03:08Z aaron $
+# $Id: PKGBUILD 82719 2010-06-16 04:44:35Z allan $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=bash
-_patchlevel=048
-pkgver=3.2.$_patchlevel
-pkgrel=3
+_patchlevel=007 #prepare for some patches
+pkgver=4.1.$_patchlevel
+pkgrel=1
pkgdesc="The GNU Bourne Again shell"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('GPL')
url="http://www.gnu.org/software/bash/bash.html"
groups=('base')
backup=(etc/profile.bash etc/skel/.bashrc etc/skel/.bash_profile)
-depends=('readline>=5.2' 'glibc')
-makedepends=(gzip bison)
+depends=('readline>=6.1' 'glibc')
+makedepends=(gzip)
provides=('sh')
install=bash.install
-source=(http://ftp.gnu.org/gnu/bash/bash-3.2.tar.gz
- profile.bash bashrc)
-for p in $(seq -w 001 $_patchlevel); do
- source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-$p)
-done
+source=(http://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz
+ profile.bash
+ bashrc
+ enable-system-config-files.patch
+ system.bashrc)
+if [ $_patchlevel -gt 000 ]; then
+ for (( p=1; p<=$_patchlevel; p++ )); do
+ source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-4.1-patches/bash41-$(printf "%03d" $p))
+ done
+fi
build() {
- cd ${startdir}/src/${pkgname}-3.2
- for p in ../bash32-*; do
+ cd ${srcdir}/${pkgname}-4.1
+ for p in ../bash41-*; do
+ [ -e "$p" ] || continue
msg "applying patch ${p}"
patch -Np0 -i ${p} || return 1
done
+ patch -Np0 -i $srcdir/enable-system-config-files.patch || return 1
+
./configure --prefix=/usr --with-curses --enable-readline \
--without-bash-malloc --with-installed-readline \
--bindir=/bin --mandir=/usr/share/man --infodir=/usr/share/info
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR=${pkgdir} install
- install -D -m644 ${startdir}/src/profile.bash ${startdir}/pkg/etc/profile.bash
+ install -D -m644 ${srcdir}/profile.bash ${pkgdir}/etc/profile.bash || return 1
+ install -D -m644 ${srcdir}/system.bashrc ${pkgdir}/etc/bash.bashrc || return 1
# for now, bash is our default /bin/sh
- cd ${startdir}/pkg/bin
+ cd ${pkgdir}/bin
ln -s bash sh
- mkdir -p $startdir/pkg/etc/skel/
- install -D -m644 $startdir/src/bashrc $startdir/pkg/etc/skel/.bashrc
- echo ". \$HOME/.bashrc" >$startdir/pkg/etc/skel/.bash_profile
-
- rm -f ${pkgdir}/usr/share/info/dir
- gzip -9 ${pkgdir}/usr/share/info/bash.info
+ mkdir -p ${pkgdir}/etc/skel/
+ install -D -m644 ${srcdir}/bashrc ${pkgdir}/etc/skel/.bashrc
+ echo ". \$HOME/.bashrc" >${pkgdir}/etc/skel/.bash_profile
}
-# wow, that's a lot of md5sums!
-md5sums=('00bfa16d58e034e3c2aa27f390390d30'
- 'c2fae355facefcac8a732cce877da194'
+
+md5sums=('9800d8724815fd84994d9be65ab5e7b8'
+ '17f20ec69535a2f50f2112a8c700630d'
'3d2837e84645eac9bde399b58014bafa'
- 'd8e10c754f477e3f3a581af566b89301'
- 'd38a5288b2f0ea6c9ac76b66cc74ef7d'
- '0b90d37911827d8cb95f3b4353cc225e'
- '8062f3a59631f58d78b180d83759b68a'
- '585b5943fadf0875ced243b245adde58'
- '1d5732e01ea938aeed42f3def131fa4d'
- 'dcd0cc5d801607827f7c851e72b0eabc'
- 'bb3c7dd11198c0ab93d0e960bebf6256'
- '434a6f29b0ca5f1ab784b2437ae8eaed'
- '2efff04dd246fcf63bd4b99f77c9a081'
- '1dd104342f6920dfaf5efb3131e922e0'
- '4f24b696ab78bdfae4f9cb7eb59b835d'
- '7c40addbf1187a26ae1c8373ed383442'
- '28e88c9f8679e99ac590d4a4a8227c56'
- '7c17d29675bd0d49470f162774385f80'
- 'a1edaa98b4449fe2205fa75448b7b105'
- '889ed119bbf9d363660b9a0127f35efa'
- 'a7d3f85fa687d2c1b5a134839f6d395d'
- 'f0399da4007e46fc5820ce25d07425b9'
- 'b76602281c3104d904fd064510fe0c21'
- '923374ae4403c92820f711e62e1d01a5'
- 'c82d3bd14e373878b2a680dce18d1596'
- '987c949a77b4b0ffe4a2597141e77635'
- '5a2b976e761ab83f0fc7daae11451b86'
- '08668dc2825f65eced9cac6b09ce1b45'
- 'f35b2b217f088ff009f956894550d41d'
- 'b5ff2b9610c61290f773c4b02cc1a37d'
- '016f5b56c93404d32aea09385f0fc13e'
- 'a81420626d4d88d0dce2ffac0ac56341'
- '11f91baf970c132949f9072ee93f2ea6'
- 'f6bbc1e8ec0246740731c728ef476191'
- '8180ec936770579bce69f0816c2dd878'
- '3cec33c3711860c4c6b7614afeec7870'
- '7bc6c5b5f38b7027152f8db0458a2e14'
- 'a2db61fe90e39371d0e6cd2285ec9208'
- '95c70c7ae9de5bd3659c86284be7fb76'
- '62b876a3d7cd192cc8db2476fbb6b7b9'
- 'aca3afc341bd3e5a0d8a3b4ca40dbb3f'
- 'e240c34f979b64bcb83c5f6567110bb1'
- '06e6df263398807fa032707fb7b77b5f'
- '373ae081d658dc85bc1058c4759d6669'
- '9c9ebc6bfc33a0215277ee17a276eb5a'
- 'b87fb9ea16a64ca41b6676e9a7eb7a33'
- '07e0229ce5879bfbd26a8146070fd366'
- '1ad07965a8a93f3556ee1ab18b97cde2'
- 'f7b1e19fcad54c2286bc0ed614aad9bf'
- '550690766de770116c34dbdf74e59184'
- '4cc593e7b789b23b37a5397e092d3954')
+ '51725defa4c2dec49c1bc15883e0bee2'
+ '196697769f1667a8a1aed608811129c6'
+ '582dea5671b557f783e18629c2f77b68'
+ '118d465095d4a4706eb1d34696a2666a'
+ '120f7cf039a40d35fe375e59d6f17adc'
+ '336ee037fc2cc1e2350b05097fbdc87c'
+ '9471e666797f0b03eb2175ed752a9550'
+ 'fb80ccd58cb1e34940f3adf4ce6e4a1e'
+ '192a8b161d419a1d0d211169f1d1046e')
+
diff --git a/abs/core-testing/bash/enable-system-config-files.patch b/abs/core-testing/bash/enable-system-config-files.patch
new file mode 100644
index 0000000..5295355
--- /dev/null
+++ b/abs/core-testing/bash/enable-system-config-files.patch
@@ -0,0 +1,15 @@
+--- src/bash-4.0/config-top.h 2009-01-04 11:32:23.000000000 -0800
++++ config-top.h 2009-08-25 08:41:08.000000000 -0700
+@@ -75,10 +75,10 @@
+ #define KSH_COMPATIBLE_SELECT
+
+ /* System-wide .bashrc file for interactive shells. */
+-/* #define SYS_BASHRC "/etc/bash.bashrc" */
++#define SYS_BASHRC "/etc/bash.bashrc"
+
+ /* System-wide .bash_logout for login shells. */
+-/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
++#define SYS_BASH_LOGOUT "/etc/bash.bash_logout"
+
+ /* Define this to make non-interactive shells begun with argv[0][0] == '-'
+ run the startup files when not in posix mode. */
diff --git a/abs/core-testing/bash/profile.bash b/abs/core-testing/bash/profile.bash
index 8a7e1aa..d28f069 100644
--- a/abs/core-testing/bash/profile.bash
+++ b/abs/core-testing/bash/profile.bash
@@ -3,23 +3,9 @@
# Global settings for bash shells
#
-PS1='[\u@\h \W]\$ '
-PS2='> '
-PS3='> '
-PS4='+ '
-
-export PS1 PS2 PS3 PS4
-
#In the future we may want to add more ulimit entries here,
# in the offchance that /etc/security/limits.conf is skipped
ulimit -Sc 0 #Don't create core files
-if test "$TERM" = "xterm" -o \
- "$TERM" = "xterm-color" -o \
- "$TERM" = "xterm-256color" -o \
- "$TERM" = "rxvt" -o \
- "$TERM" = "rxvt-unicode" -o \
- "$TERM" = "xterm-xfree86"; then
- PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
- export PROMPT_COMMAND
-fi
+# Source our global bashrc file, to remove duplication of effort
+[ -r /etc/bash.bashrc ] && . /etc/bash.bashrc
diff --git a/abs/core-testing/bash/system.bashrc b/abs/core-testing/bash/system.bashrc
new file mode 100644
index 0000000..5430d6b
--- /dev/null
+++ b/abs/core-testing/bash/system.bashrc
@@ -0,0 +1,31 @@
+#
+# /etc/bash.bashrc
+#
+# This file is the systemwide bashrc file. While most of the
+# environment is preserved when running an interactive shell
+# the PS[1-4] variables, aliases and functions are reset.
+#
+# When running a non-login shell, apply the following settings:
+# - Prompt defaults (PS[1-4], PROMPT_COMMAND)
+# - bash_completion if it exists
+# - source /etc/bash.bashrc.local
+
+PS1='[\u@\h \W]\$ '
+PS2='> '
+PS3='> '
+PS4='+ '
+
+export PS1 PS2 PS3 PS4
+
+if test "$TERM" = "xterm" -o \
+ "$TERM" = "xterm-color" -o \
+ "$TERM" = "xterm-256color" -o \
+ "$TERM" = "rxvt" -o \
+ "$TERM" = "rxvt-unicode" -o \
+ "$TERM" = "xterm-xfree86"; then
+ PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
+ export PROMPT_COMMAND
+fi
+
+[ -r /etc/bash_completion ] && . /etc/bash_completion
+[ -r /etc/bash.bashrc.local ] && . /etc/bash.bashrc.local
diff --git a/abs/core-testing/bc/PKGBUILD b/abs/core-testing/bc/PKGBUILD
index a20e35f..1ecefa1 100644
--- a/abs/core-testing/bc/PKGBUILD
+++ b/abs/core-testing/bc/PKGBUILD
@@ -1,26 +1,31 @@
-# $Id: PKGBUILD 9097 2008-08-17 03:44:40Z allan $
+# $Id: PKGBUILD 58247 2009-11-06 14:41:31Z eric $
# Maintainer: dorphell <dorphell@archlinux.org>
pkgname=bc
pkgver=1.06
-pkgrel=5
+pkgrel=7
pkgdesc="An arbitrary precision calculator language"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/bc/"
license=('GPL')
depends=('readline')
-replaces=(bc-readline)
-conflicts=(bc-readline)
+replaces=('bc-readline')
+conflicts=('bc-readline')
+install=bc.install
source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
- build-fix.patch)
-md5sums=('d44b5dddebd8a7a7309aea6c36fda117' 'fc7ecbd9e55ef04c6d3a495692626116')
+ build-fix.patch bc-1.06-info-dir-entry.patch)
+md5sums=('d44b5dddebd8a7a7309aea6c36fda117' 'fc7ecbd9e55ef04c6d3a495692626116'\
+ 'b6fe9869830aca0d34badf810fe0cfb3')
+sha1sums=('c8f258a7355b40a485007c40865480349c157292' '3af67c59e2232b9329ff0c1cf49d1a8a1cf87cd7'\
+ 'c15c2a301ba80cf4d3c03a6e164f4e57fa86e4a2')
build() {
CFLAGS="$CFLAGS -O3"
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np1 -i ${startdir}/src/build-fix.patch || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i "${srcdir}/build-fix.patch" || return 1
+ patch -p1 -i "${srcdir}/bc-1.06-info-dir-entry.patch" || return 1
./configure --prefix=/usr --mandir=/usr/share/man \
- --infodir=/usr/share/info --with-readline
+ --infodir=/usr/share/info --with-readline || return 1
make LEX="flex -I" || return 1
- make DESTDIR=${startdir}/pkg install
- rm ${pkgdir}/usr/share/info/dir
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core-testing/bc/bc-1.06-info-dir-entry.patch b/abs/core-testing/bc/bc-1.06-info-dir-entry.patch
new file mode 100644
index 0000000..8c1344c
--- /dev/null
+++ b/abs/core-testing/bc/bc-1.06-info-dir-entry.patch
@@ -0,0 +1,11 @@
+--- bc-1.06/doc/bc.info.info-dir-entry 2000-10-03 20:36:31.000000000 +0200
++++ bc-1.06/doc/bc.info 2003-01-06 14:07:40.000000000 +0100
+@@ -1,5 +1,8 @@
+ This is bc.info, produced by makeinfo version 4.0 from bc.texi.
+
++START-INFO-DIR-ENTRY
++* bc: (bc). Arbritrary precision calculator language.
++END-INFO-DIR-ENTRY
+ 
+ File: bc.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
+
diff --git a/abs/core-testing/bc/bc.install b/abs/core-testing/bc/bc.install
new file mode 100644
index 0000000..e1e2eaa
--- /dev/null
+++ b/abs/core-testing/bc/bc.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(bc.info.gz dc.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core-testing/binutils/PKGBUILD b/abs/core-testing/binutils/PKGBUILD
index 9a8b925..0ec1438 100644
--- a/abs/core-testing/binutils/PKGBUILD
+++ b/abs/core-testing/binutils/PKGBUILD
@@ -1,70 +1,74 @@
-# $Id: PKGBUILD 19325 2008-11-20 11:47:00Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# $Id: PKGBUILD 80784 2010-05-22 08:05:08Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
-# toolchain build order: kernel-headers->glibc->binutils->gcc-libs->gcc->binutils->glibc
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.19
-pkgrel=1
-_date=20081119
+pkgver=2.20.1
+pkgrel=3
+_date=20100521
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64')
-url="http://sources.redhat.com/binutils"
+url="http://www.gnu.org/software/binutils/"
license=('GPL')
groups=('base')
+depends=('glibc>=2.12-1' 'zlib')
options=('!libtool' '!distcc' '!ccache')
-depends=('glibc>=2.9-1' 'texinfo>=4.12-3')
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
-md5sums=('4a49694b08ef0e5931dba4813326d062')
install=binutils.install
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
+md5sums=('67053ffd8582e646e171fccd55b2f0f6')
-build() {
- # for cvs checkout
-# mkdir ${startdir}/src/${pkgname}-${_date}
-# cd ${startdir}/src/${pkgname}-${_date}
-# export _TAG=binutils-2_19-branch
-# export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
-# cvs -z9 co -r $_TAG binutils || return 1
-# cd src && tar -cvjf ../../../binutils-2.19_${_date}.tar.bz2 *
-# return 1
-
- cd ${startdir}/src
+mksource() {
+ mkdir ${pkgname}-${_date}
+ cd ${pkgname}-${_date}
+ export _TAG=binutils-2_20-branch
+ export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
+ cvs -z9 co -r $_TAG binutils || return 1
+ cd src && tar -cvjf ../../binutils-${pkgver}_${_date}.tar.bz2 *
+}
- mkdir build
- cd build
+build() {
+ cd ${srcdir}
+ mkdir build && cd build
CC="gcc -L`pwd`/bfd/.libs/"
if [ "${CARCH}" = "x86_64" ]; then
- ../configure --prefix=/usr --infodir=/usr/share/info --enable-shared --enable-64-bit-bfd --disable-multilib
+ ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-64-bit-bfd --disable-multilib
else
- ../configure --prefix=/usr --infodir=/usr/share/info --enable-shared
+ ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared
fi
+ # fix man files install path
+ sed -i -e "s:mandir \= \/usr\/share:mandir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
# fix info files install path
sed -i -e "s:infodir \= \/usr\/share:infodir \= ${pkgdir}\/usr\/share:" ${srcdir}/build/Makefile || return 1
# This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
make configure-host || return 1
- make tooldir=${startdir}/pkg/usr || return 1
- make prefix=${startdir}/pkg/usr tooldir=${startdir}/pkg/usr install
- install -m 644 ../include/libiberty.h ${startdir}/pkg/usr/include
+ make tooldir=${pkgdir}/usr || return 1
+}
- if [ "${CARCH}" = "x86_64" ]; then
- # Rebuild libiberty.a with -fPIC
- make -C libiberty clean
- make CFLAGS="$CFLAGS -fPIC" -C libiberty
- install -m 644 libiberty/libiberty.a ${startdir}/pkg/usr/lib
- # Rebuild libbfd.a with -fPIC
- make -C bfd clean
- make CFLAGS="$CFLAGS -fPIC" -C bfd
- install -m 644 bfd/libbfd.a ${startdir}/pkg/usr/lib
- fi
+package() {
+ cd ${srcdir}/build
+ make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+ install -m644 ${srcdir}/include/libiberty.h ${pkgdir}/usr/include
- rm -f ${startdir}/pkg/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+ # Rebuild libiberty.a with -fPIC
+ make -C libiberty clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty
+ install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib
+
+ # Rebuild libbfd.a with -fPIC
+ make -C bfd clean
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
+ install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
+
+ rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
# Remove these symlinks, with binutils prereleases they are not ABI stable.
# Programs should compile static to the .a file.
- rm -f ${startdir}/pkg/usr/lib/lib{bfd,opcodes}.so
-
- rm -f ${pkgdir}/usr/share/info/dir
+ rm -f ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
+ echo "INPUT ( /usr/lib/libbfd.a -liberty -lz )" >${pkgdir}/usr/lib/libbfd.so
+ echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" >${pkgdir}/usr/lib/libopcodes.so
}
diff --git a/abs/core-testing/binutils/binutils.install b/abs/core-testing/binutils/binutils.install
index a1e762a..51781e7 100644
--- a/abs/core-testing/binutils/binutils.install
+++ b/abs/core-testing/binutils/binutils.install
@@ -1,20 +1,17 @@
infodir=/usr/share/info
filelist=(as.info bfd.info binutils.info configure.info gprof.info ld.info standards.info)
-post_install() {
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
-post_upgrade() {
- post_install $1
-}
-
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core-testing/cairo/PKGBUILD b/abs/core-testing/cairo/PKGBUILD
index 4bdb085..2ea6c60 100644
--- a/abs/core-testing/cairo/PKGBUILD
+++ b/abs/core-testing/cairo/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 22041 2008-12-21 12:11:48Z jgc $
+# $Id: PKGBUILD 71210 2010-03-05 15:30:02Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Brice Carpentier <brice@daknet.org>
pkgname=cairo
-pkgver=1.8.6
+pkgver=1.8.10
pkgrel=1
pkgdesc="Cairo vector graphics library"
arch=(i686 x86_64)
license=('LGPL' 'MPL')
url="http://cairographics.org/"
-depends=('libpng>=1.2.33' 'libxrender' 'fontconfig>=2.6.0' 'pixman>=0.12.0' 'xcb-util>=0.3.2')
-makedepends=('pkgconfig')
+depends=('libpng>=1.4.0' 'libxrender' 'fontconfig>=2.8.0' 'pixman>=0.16.6' 'xcb-util>=0.3.6')
+makedepends=('pkgconfig' 'gtk-doc')
options=('!libtool')
source=(http://cairographics.org/releases/${pkgname}-${pkgver}.tar.gz)
-md5sums=('4e64139ef6f668df24450f3b81dd0771')
+sha1sums=('fd5e8ca82ff0e8542ea4c51612cad387f2a49df3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e 's/libpng13/libpng14/g' configure || return 1
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --enable-xcb --disable-static || return 1
make || return 1
diff --git a/abs/core-testing/cloog-ppl/PKGBUILD b/abs/core-testing/cloog-ppl/PKGBUILD
new file mode 100644
index 0000000..16f0369
--- /dev/null
+++ b/abs/core-testing/cloog-ppl/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 78357 2010-04-22 02:43:20Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: ezzetabi <ezzetabi at gawab dot com>
+
+pkgname=cloog-ppl
+pkgver=0.15.9
+pkgrel=1
+pkgdesc="Library that generates loops for scanning polyhedra"
+arch=('i686' 'x86_64')
+url="http://www.cloog.org/"
+license=('GPL')
+depends=('ppl')
+options=('!libtool')
+source=(ftp://gcc.gnu.org/pub/gcc/infrastructure/${pkgname}-${pkgver}.tar.gz)
+md5sums=('806e001d1b1a6b130069ff6274900af5')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --infodir=/usr/share/info \
+ --with-bits=gmp --with-ppl=/usr
+ make
+ make check
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir/ install
+}
diff --git a/abs/core-testing/damageproto/PKGBUILD b/abs/core-testing/damageproto/PKGBUILD
index af6087a..14f6122 100644
--- a/abs/core-testing/damageproto/PKGBUILD
+++ b/abs/core-testing/damageproto/PKGBUILD
@@ -1,19 +1,23 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 51004 2009-09-04 13:03:02Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=damageproto
-pkgver=1.1.0
+pkgver=1.2.0
pkgrel=1
pkgdesc="X11 Damage extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('xproto' 'fixesproto')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('33ee591e0b1ca5ad7902934541db7d24')
+sha1sums=('ffe177a6ae2cf023d41e015aa6ece2b191cb8a8a')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/db/PKGBUILD b/abs/core-testing/db/PKGBUILD
index e41aeac..cc149a7 100644
--- a/abs/core-testing/db/PKGBUILD
+++ b/abs/core-testing/db/PKGBUILD
@@ -1,27 +1,33 @@
-# $Id: PKGBUILD 3741 2008-06-30 20:07:01Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# $Id: PKGBUILD 76949 2010-04-09 08:14:30Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=db
-pkgver=4.7.25
-pkgrel=10
+pkgver=4.8.26
+_basever=4.8.26
+pkgrel=2
pkgdesc="The Berkeley DB embedded database system"
-arch=(i686 x86_64)
-license=('custom')
+arch=('i686' 'x86_64')
url="http://www.oracle.com/technology/software/products/berkeley-db/index.html"
-groups=('base')
-depends=('gcc-libs' 'coreutils')
-options=('!libtool')
-source=(http://download-uk.oracle.com/berkeley-db/db-$pkgver.tar.gz)
-install=(db.install)
-md5sums=('ec2b87e833779681a0c3a814aa71359e')
+license=('custom')
+depends=('gcc-libs' 'sh')
+conflicts=('db4')
+options=('!libtool' 'force')
+install=db.install
+source=(http://download-uk.oracle.com/berkeley-db/db-${_basever}.tar.gz)
+md5sums=('3476bac9ec0f3c40729c8a404151d5e3')
build() {
- cd ${srcdir}/$pkgname-$pkgver/build_unix
+ cd ${srcdir}/$pkgname-${_basever}/build_unix
../dist/configure --prefix=/usr --enable-compat185 \
--enable-shared --enable-static --enable-cxx
make LIBSO_LIBS=-lpthread || return 1
+}
+
+package() {
+ cd ${srcdir}/$pkgname-${_basever}/build_unix
make DESTDIR=${pkgdir} install
rm -rf ${pkgdir}/usr/docs
- mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 ${srcdir}/${pkgname}-${pkgver}/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 ${srcdir}/${pkgname}-${_basever}/LICENSE \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core-testing/db/db.install b/abs/core-testing/db/db.install
index 7c97ea0..eeda804 100644
--- a/abs/core-testing/db/db.install
+++ b/abs/core-testing/db/db.install
@@ -1,29 +1,5 @@
-# This is a default template for a post-install scriptlet. You can
-# remove any functions you don't need (and this header).
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_upgrade() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- echo "ATTENTION DB PACKAGE:"
- echo "Please consider to run db_upgrade on Berkeley DB databases with a major db version number update."
-}
-
-# arg 1: the old package version
-pre_remove() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
+ if [ "$(vercmp $2 4.8)" -lt 0 ]; then
+ echo " >> Major version update. Consider running db_upgrade on Berkeley DB databases."
+ fi
}
-
-op=$1
-shift
-$op $* \ No newline at end of file
diff --git a/abs/core-testing/dbus-core/PKGBUILD b/abs/core-testing/dbus-core/PKGBUILD
index 7a1bc6e..b57829f 100644
--- a/abs/core-testing/dbus-core/PKGBUILD
+++ b/abs/core-testing/dbus-core/PKGBUILD
@@ -1,36 +1,36 @@
-# $Id: PKGBUILD 19084 2008-11-14 21:36:59Z jgc $
+# $Id: PKGBUILD 73272 2010-03-24 11:36:47Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
#
pkgname=dbus-core
-pkgver=1.2.4
+pkgver=1.2.24
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
arch=(i686 x86_64)
license=('GPL' 'custom')
-depends=('expat>=2.0')
+depends=('expat>=2.0.1' 'coreutils' 'filesystem')
conflicts=('dbus<1.2.3-2')
options=(!libtool)
install=dbus.install
source=(http://dbus.freedesktop.org/releases/dbus/dbus-${pkgver}.tar.gz
- dbus)
-md5sums=('2e643910a09f44b000a0d76038637999'
- 'f3fd196cc278bd7b45a4ca01fb8f7894')
+ dbus)
+md5sums=('565346cecd9cfecf1463540c6086cc2c'
+ '08f93dd19cffd1b45ab05c1fd4efb560')
build() {
cd "${srcdir}/dbus-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
- --with-system-pid-file=/var/run/dbus.pid \
- --enable-inotify --disable-dnotify \
- --disable-verbose-mode --disable-static \
- --disable-tests --disable-asserts --without-x || return 1
+ --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
+ --with-system-pid-file=/var/run/dbus.pid \
+ --enable-inotify --disable-dnotify \
+ --disable-verbose-mode --disable-static \
+ --disable-tests --disable-asserts --without-x || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- rm -f ${pkgdir}/usr/bin/dbus-launch
- rm -f ${pkgdir}/usr/share/man/man1/dbus-launch.1
+ rm -f "${pkgdir}/usr/bin/dbus-launch"
+ rm -f "${pkgdir}/usr/share/man/man1/dbus-launch.1"
chown 81:81 "${pkgdir}/var/run/dbus" || return 1
diff --git a/abs/core-testing/dbus-core/dbus b/abs/core-testing/dbus-core/dbus
index cd26db8..66b84ca 100644
--- a/abs/core-testing/dbus-core/dbus
+++ b/abs/core-testing/dbus-core/dbus
@@ -24,7 +24,7 @@ case "$1" in
;;
stop)
stat_busy "Stopping D-BUS system messagebus"
- [ -f /var/run/dbus.pid ] && kill `cat /var/run/dbus.pid`
+ [ -f /var/run/dbus.pid ] && kill `cat /var/run/dbus.pid` >/dev/null 2>&1
if [ $? -gt 0 ]; then
stat_fail
else
diff --git a/abs/core-testing/dbus-core/dbus.install b/abs/core-testing/dbus-core/dbus.install
index 85dd9a7..44f4475 100644
--- a/abs/core-testing/dbus-core/dbus.install
+++ b/abs/core-testing/dbus-core/dbus.install
@@ -5,17 +5,20 @@ post_install() {
dbus-uuidgen --ensure
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- post_install $1
+ post_install
#Make sure new rc script can shutdown running dbus
- [ -f var/run/dbus/pid ] && mv var/run/dbus/pid var/run/dbus.pid
+ if [ -f var/run/dbus/pid ]; then
+ mv var/run/dbus/pid var/run/dbus.pid
+ fi
}
-# arg 1: the old package version
-pre_remove() {
- usr/sbin/userdel dbus &>/dev/null
- usr/sbin/groupdel dbus &>/dev/null
+post_remove() {
+ if getent passwd dbus >/dev/null; then
+ usr/sbin/userdel dbus
+ fi
+ if getent group dbus >/dev/null; then
+ usr/sbin/groupdel dbus
+ fi
}
diff --git a/abs/core-testing/dbus-glib/PKGBUILD b/abs/core-testing/dbus-glib/PKGBUILD
index 50fc839..4723bfd 100644
--- a/abs/core-testing/dbus-glib/PKGBUILD
+++ b/abs/core-testing/dbus-glib/PKGBUILD
@@ -1,21 +1,23 @@
-# $Id: PKGBUILD 29414 2009-03-08 16:54:54Z jgc $
+# $Id: PKGBUILD 79735 2010-05-06 13:03:33Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=dbus-glib
-pkgver=0.80
+pkgver=0.86
pkgrel=1
pkgdesc="GLib bindings for DBUS"
arch=(i686 x86_64)
license=('GPL')
url="http://www.freedesktop.org/wiki/Software/DBusBindings"
-depends=('dbus-core>=1.2.4' 'glib2>=2.18.4')
+depends=('dbus-core>=1.2.24' 'glib2>=2.24.1')
makedepends=('pkgconfig')
options=('!libtool' '!emptydirs')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('cd0ab148fb0c786fc88be49d19971f50')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-static=no --enable-bash-completion=no || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --enable-static=no --enable-bash-completion=no || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core-testing/dbus-python/PKGBUILD b/abs/core-testing/dbus-python/PKGBUILD
index ae77c04..2ec5e43 100644
--- a/abs/core-testing/dbus-python/PKGBUILD
+++ b/abs/core-testing/dbus-python/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 17272 2008-10-27 16:25:58Z douglas $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75824 2010-04-04 12:03:46Z jgc $
+# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=dbus-python
-pkgver=0.83.0
-pkgrel=2
+pkgver=0.83.1
+pkgrel=1
pkgdesc="Python bindings for DBUS"
arch=(i686 x86_64)
license=('GPL' 'LGPL')
url="http://www.freedesktop.org/wiki/Software/DBusBindings"
-depends=('dbus-glib>=0.76' 'python>=2.6')
-makedepends=('pkgconfig')
+depends=('dbus-glib>=0.82' 'python>=2.6.5')
+makedepends=('pkgconfig' 'docutils')
options=('!libtool')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('5fdf3970aa0c00020289de7ba8f3be18')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
}
-md5sums=('562c78876219bf458d79a041af18293d')
diff --git a/abs/core-testing/dbus/PKGBUILD b/abs/core-testing/dbus/PKGBUILD
index 3276f82..5759c51 100644
--- a/abs/core-testing/dbus/PKGBUILD
+++ b/abs/core-testing/dbus/PKGBUILD
@@ -1,38 +1,39 @@
-# $Id: PKGBUILD 19087 2008-11-14 21:39:51Z jgc $
+# $Id: PKGBUILD 73275 2010-03-24 11:40:17Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
#
pkgname=dbus
-pkgver=1.2.4
+pkgver=1.2.24
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
arch=(i686 x86_64)
license=('GPL' 'custom')
-depends=("dbus-core>=${pkgver}" 'libx11' 'libsm')
+depends=("dbus-core>=${pkgver}" 'libx11')
+makedepends=('libsm' 'libice')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz
- 30-dbus)
-md5sums=('2e643910a09f44b000a0d76038637999'
+ 30-dbus)
+md5sums=('565346cecd9cfecf1463540c6086cc2c'
'd14e59575f04e55d21a04907b6fd9f3c')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
- --with-system-pid-file=/var/run/dbus.pid \
- --disable-verbose-mode --disable-static \
- --enable-inotify --disable-dnotify \
- --disable-tests --disable-asserts || return 1
+ --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
+ --with-system-pid-file=/var/run/dbus.pid \
+ --disable-verbose-mode --disable-static \
+ --enable-inotify --disable-dnotify \
+ --disable-tests --disable-asserts || return 1
cd tools || return 1
make dbus-launch || return 1
- install -m755 -d ${pkgdir}/usr/bin
- install -m755 -d ${pkgdir}/usr/share/man/man1
- install -m755 dbus-launch ${pkgdir}/usr/bin/ || return 1
- install -m644 dbus-launch.1 ${pkgdir}/usr/share/man/man1/ || return 1
+ install -m755 -d "${pkgdir}/usr/bin"
+ install -m755 -d "${pkgdir}/usr/share/man/man1"
+ install -m755 dbus-launch "${pkgdir}/usr/bin/" || return 1
+ install -m644 dbus-launch.1 "${pkgdir}/usr/share/man/man1/" || return 1
- install -m755 -d ${pkgdir}/etc/X11/xinit/xinitrc.d
- install -m755 ${srcdir}/30-dbus ${pkgdir}/etc/X11/xinit/xinitrc.d/ || return 1
+ install -m755 -d "${pkgdir}/etc/X11/xinit/xinitrc.d"
+ install -m755 "${srcdir}/30-dbus" "${pkgdir}/etc/X11/xinit/xinitrc.d/" || return 1
- install -d -m755 ${startdir}/pkg/usr/share/licenses/dbus
- install -m644 ../COPYING ${pkgdir}/usr/share/licenses/dbus/ || return 1
+ install -d -m755 "${pkgdir}/usr/share/licenses/dbus"
+ install -m644 ../COPYING "${pkgdir}/usr/share/licenses/dbus/" || return 1
}
diff --git a/abs/core-testing/device-mapper/ChangeLog b/abs/core-testing/device-mapper/ChangeLog
new file mode 100644
index 0000000..5809ab5
--- /dev/null
+++ b/abs/core-testing/device-mapper/ChangeLog
@@ -0,0 +1,103 @@
+2010-07-11 Thomas Bächler <thomas@archlinux.org>
+
+ * lvm2/device-mapper 2.02.70-1
+ * Upstream update
+ * Do not move the dmeventd manpage, has been fixed upstream
+ * Remove all the || return 1 in PKGBUILD
+
+2010-07-01 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.69-1
+ * Upstream update
+ * Moved dmeventd man page from lvm2 to device-mapper package
+
+2010-06-25 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.68-1
+ * Upstream update
+ * Fixed tr path in lvmdump
+
+2010-04-05 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.62-1
+ * Upstream update
+ * Fixed license
+
+2010-02-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.61-1
+ * Upstream update
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper 2.02.60-2
+ * Rebuilt without -Wl,--as-needed, it breaks dmeventd monitoring
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper update to 2.02.60-1
+ * Clean up PKGBUILD, fix internal paths to dmeventd and its helpers
+
+2009-11-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.56-1
+ * device-mapper 1.02.40-1
+ * Upstream update
+
+2009-10-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.54-1
+ * device-mapper 1.02.39-1
+ * Upstream update
+ * Enabled the device-mapper event daemon
+ * Moved the udev rule from /etc to /lib
+
+2009-09-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.53-1
+ * device-mapper 1.02.38-1
+ * Upstream update
+
+2009-09-18 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.52-1
+ * device-mapper 1.02.37-1
+ * Upstream update
+ * Implemented split packages
+ * PKGBUILD clean up
+ * Renamed pkgconfig file (close FS#15909)
+
+2009-07-09 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.48-1
+ * device-mapper 1.02.33-1
+ * Upstream update
+ * Removed unneeded readline depends (close FS#15205)
+
+2009-05-24 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.47-1
+ * device-mapper 1.02.32-1
+ * Upstream update
+ * Added dmsetup.static
+
+2009-03-07 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.45-1
+ * device-mapper 1.02.31-1
+ * Upstream update
+
+2009-01-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.44-1
+ * device-mapper 1.02.30-1
+ * Upstream update
+ * Added bash depends
+ * Added readline depends
+ * Added pkgconfig file
+
+2008-11-11 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.43-1
+ * device-mapper 1.02.29-1
+ * Upstream update
+ * Disabled SMP build
+ * Added ChangeLog
diff --git a/abs/core-testing/device-mapper/PKGBUILD b/abs/core-testing/device-mapper/PKGBUILD
index 7c2cd46..b4be343 100644
--- a/abs/core-testing/device-mapper/PKGBUILD
+++ b/abs/core-testing/device-mapper/PKGBUILD
@@ -1,30 +1,64 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-pkgname=device-mapper
-pkgver=1.02.27
-pkgrel=10
-pkgdesc="Device mapper userspace library and tools."
+# $Id: PKGBUILD 85275 2010-07-11 10:26:53Z thomas $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.70
+_pkgverdm=1.02.52
+_pkgverlvm=${pkgver}
+pkgrel=1
arch=('i686' 'x86_64')
-license=('GPL')
-url="http://sourceware.org/dm/"
+url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
groups=('base')
-depends=('glibc')
-source=(ftp://sources.redhat.com/pub/dm/device-mapper.$pkgver.tgz
- device-mapper.rules)
-md5sums=('6074f2c2035c2a526422e691c7457277'
- '065f32a36947e6183722ed9aef13dc0c')
+conflicts=('mkinitcpio<0.5.99')
+changelog=ChangeLog
+source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
+ lvm2_install
+ lvm2_hook)
+md5sums=('39c26d5a821754cc347d7a19e82d4a24'
+ 'f781c9f5dd4f9934952c687b73d26a18'
+ '95bed25bdbc2c2d8500e7a07aeff7f65')
+sha1sums=('6f88114e72204feee491befd5f0e203036b90f11'
+ '583424bb0a6f89ffe4e4ea446b912f0fedac7050'
+ '0dc0c0d620f634c4d078afdb78e3bae15ccf957b')
build() {
- cd $startdir/src/$pkgname.$pkgver
- ./configure --prefix=/usr
- make || return 1
- make DESTDIR=$startdir/pkg sbindir=$startdir/pkg/sbin \
- libdir=$startdir/pkg/lib install
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh
+ unset LDFLAGS
+ ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
+ --includedir=/usr/include --with-usrlibdir=/usr/lib \
+ --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
+ --with-udevdir=/lib/udev/rules.d/ --enable-udev_sync --enable-udev_rules
+ make
+}
+
+package_device-mapper() {
+ pkgdesc="Device mapper userspace library and tools"
+ url="http://sourceware.org/dm/"
+ depends=('glibc' 'udev')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_device-mapper
+}
+
+package_lvm2() {
+ pkgdesc="Logical Volume Manager 2 utilities"
+ depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline')
+ conflicts=('lvm' 'mkinitcpio<0.5.99')
+ backup=('etc/lvm/lvm.conf')
+ options=('!makeflags')
- # install the static library as well
- install -D -m644 lib/ioctl/libdevmapper.a $startdir/pkg/usr/lib/libdevmapper.a
- # install udev rule
- install -D -m644 $startdir/src/device-mapper.rules $startdir/pkg/etc/udev/rules.d/device-mapper.rules
- # fix device-mapper link bug
- ln -sf /lib/libdevmapper.so $startdir/pkg/usr/lib/libdevmapper.so
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ cd liblvm
+ make DESTDIR="${pkgdir}" install
+ cd ..
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/lib/initcpio/install/lvm2"
}
diff --git a/abs/core-testing/device-mapper/device-mapper.rules b/abs/core-testing/device-mapper/device-mapper.rules
deleted file mode 100644
index 66204d4..0000000
--- a/abs/core-testing/device-mapper/device-mapper.rules
+++ /dev/null
@@ -1 +0,0 @@
-ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", NAME="mapper/%c", MODE="0600", SYMLINK+="disk/by-name/%c"
diff --git a/abs/core-testing/device-mapper/lvm2_hook b/abs/core-testing/device-mapper/lvm2_hook
new file mode 100644
index 0000000..13183c6
--- /dev/null
+++ b/abs/core-testing/device-mapper/lvm2_hook
@@ -0,0 +1,25 @@
+# vim:set ft=sh:
+run_hook ()
+{
+ /sbin/modprobe -q dm-mod >/dev/null 2>&1
+ if [ -e "/sys/class/misc/device-mapper" ]; then
+ if [ ! -e "/dev/mapper/control" ]; then
+ /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
+ fi
+
+ # If the lvmwait= parameter has been specified on the command line
+ # wait for the device(s) before trying to activate the volume group(s)
+ if [ -n "${lvmwait}" ]; then
+ for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do
+ poll_device ${pvdev} ${rootdelay}
+ done
+ fi
+
+ [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null"
+
+ msg "Scanning logical volumes..."
+ eval /sbin/lvm vgscan --ignorelockingfailure $LVMQUIET
+ msg "Activating logical volumes..."
+ eval /sbin/lvm vgchange --ignorelockingfailure --ignoremonitoring -ay $LVMQUIET
+ fi
+}
diff --git a/abs/core-testing/device-mapper/lvm2_install b/abs/core-testing/device-mapper/lvm2_install
new file mode 100644
index 0000000..4ce9f18
--- /dev/null
+++ b/abs/core-testing/device-mapper/lvm2_install
@@ -0,0 +1,30 @@
+# vim: set ft=sh:
+
+install ()
+{
+ MODULES=" dm-mod dm-snapshot dm-mirror"
+ BINARIES=""
+ FILES=""
+ SCRIPT="lvm2"
+
+ add_dir "/dev/mapper"
+ add_binary "/sbin/lvm"
+ add_binary "/sbin/dmsetup"
+ add_binary "/sbin/dmeventd"
+ add_file "/lib/udev/rules.d/10-dm.rules"
+ add_file "/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/lib/udev/rules.d/11-dm-lvm.rules"
+}
+
+help ()
+{
+cat<<HELPEOF
+ This hook loads the necessary modules for an LVM2 root device.
+
+ The optional lvmwait= parameter followed by a comma-separated
+ list of device names can be given on the command line.
+ It will cause the hook to wait until all given devices exist
+ before trying to scan and activate any volume groups.
+HELPEOF
+}
diff --git a/abs/core-testing/docutils/PKGBUILD b/abs/core-testing/docutils/PKGBUILD
new file mode 100644
index 0000000..d1240c4
--- /dev/null
+++ b/abs/core-testing/docutils/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 21893 2010-07-18 10:50:27Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: tardo <tardo@nagi-fanboi.net>
+
+pkgname=docutils
+pkgver=0.7
+pkgrel=2
+pkgdesc="Set of tools for processing plaintext docs into formats such as HTML, XML, or LaTeX"
+arch=(any)
+url="http://docutils.sourceforge.net"
+license=('custom')
+depends=('python')
+source=(http://downloads.sourceforge.net/docutils/docutils-$pkgver.tar.gz)
+md5sums=('9aec716baf15d06b5aa57cf8d5591c15')
+
+build() {
+ pacman -Q docutils && { error "You should remove docutils" ; return 1; }
+
+ cd $srcdir/docutils-$pkgver
+ python setup.py install --root=$pkgdir
+
+ for f in $pkgdir/usr/bin/*.py; do
+ mv $f $pkgdir/usr/bin/$(basename $f .py)
+ done
+
+ install -D -m644 COPYING.txt $pkgdir/usr/share/licenses/$pkgname/COPYING.txt
+ install -D -m644 licenses/python* $pkgdir/usr/share/licenses/$pkgname/
+}
+
diff --git a/abs/core-testing/dri2proto/PKGBUILD b/abs/core-testing/dri2proto/PKGBUILD
index f7fd866..d05b73f 100644
--- a/abs/core-testing/dri2proto/PKGBUILD
+++ b/abs/core-testing/dri2proto/PKGBUILD
@@ -1,21 +1,23 @@
# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=dri2proto
-pkgver=1.99.3
+pkgver=2.3
pkgrel=1
pkgdesc="X11 DRI protocol"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://xorg.freedesktop.org/"
+makedepends=('xorg-util-macros')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('fffbbb3c26368ac63d408e81c51ec374')
+sha1sums=('6c9e2c822e777db435a43616067f8dd21cc00a53')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/e2fsprogs/MIT-LICENSE b/abs/core-testing/e2fsprogs/MIT-LICENSE
new file mode 100644
index 0000000..d849b28
--- /dev/null
+++ b/abs/core-testing/e2fsprogs/MIT-LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2003-2007 Theodore Ts'o <tytso@mit.edu>
+Copyright (c) 1997-2003 Yann Dirson <dirson@debian.org>
+Copyright (c) 2001 Alcove <http://www.alcove.com/>
+Copyright (c) 1997 Klee Dienes
+Copyright (c) 1995-1996 Michael Nonweiler <mrn20@cam.ac.uk>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject
+to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/abs/core-testing/e2fsprogs/PKGBUILD b/abs/core-testing/e2fsprogs/PKGBUILD
index 6da53ff..730522b 100644
--- a/abs/core-testing/e2fsprogs/PKGBUILD
+++ b/abs/core-testing/e2fsprogs/PKGBUILD
@@ -1,41 +1,46 @@
-# $Id: PKGBUILD 16283 2008-10-21 12:05:45Z ronald $
-# Maintainer:
+# $Id: PKGBUILD 80571 2010-05-19 18:38:36Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=e2fsprogs
-pkgver=1.41.3
-pkgrel=2
+pkgver=1.41.12
+pkgrel=1
pkgdesc="Ext2/3/4 filesystem utilities"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'MIT')
url="http://e2fsprogs.sourceforge.net"
groups=('base')
-depends=('glibc')
+depends=('sh' 'util-linux-ng')
makedepends=('bc')
-source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz
- 'Makefile-fsck.static.patch')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'MIT-LICENSE')
backup=('etc/mke2fs.conf')
-install=$pkgname.install
-md5sums=('b21d26fc46c584021dc9c444933ee1c2'
- 'ce2b0daf84e17e8c7880ba3d43020ea3')
+install=${pkgname}.install
+sha1sums=('62b002fe507b2ddafc24b89532e472fe4b55a14f'
+ 'f4a0d5b0cdb980e3fedd6f5e7dde0b0ffb7bbdfb')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
# Remove unnecessary init.d directory
- sed -i '/init\.d/s|^|#|' misc/Makefile.in
+ sed -i '/init\.d/s|^|#|' misc/Makefile.in || return 1
+
+ ./configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs \
+ --disable-fsck --disable-uuidd \
+ --disable-libuuid --disable-libblkid || return 1
+
- ./configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs
-
- # add fsck.static for mkinitrd use
- patch -Np1 -i ../Makefile-fsck.static.patch || return 1
-
make || return 1
- make DESTDIR=${pkgdir} install install-libs || return 1
- make -C ${srcdir}/${pkgname}-${pkgver}/misc fsck.static || return 1
-
- install -D -m755 ${srcdir}/${pkgname}-${pkgver}/misc/fsck.static \
- ${pkgdir}/sbin/fsck.static || return 1
-
- sed -i -e 's/^AWK=.*/AWK=awk/' ${pkgdir}/usr/bin/compile_et || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install install-libs || return 1
+
+ sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et" || return 1
+
+ # install MIT license
+ install -Dm644 "${srcdir}/MIT-LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE" || return 1
+
}
diff --git a/abs/core-testing/e2fsprogs/e2fsprogs.install b/abs/core-testing/e2fsprogs/e2fsprogs.install
index e207eb4..f91d39f 100644
--- a/abs/core-testing/e2fsprogs/e2fsprogs.install
+++ b/abs/core-testing/e2fsprogs/e2fsprogs.install
@@ -1,21 +1,20 @@
- infodir=/usr/share/info
- filelist=(libext2fs.info.gz)
+infodir=/usr/share/info
+filelist=(libext2fs.info.gz)
- post_install() {
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
install-info $infodir/$file $infodir/dir 2> /dev/null
done
+}
- }
+post_upgrade() {
+ post_install $1
+}
- post_upgrade() {
- post_install $1
- }
-
- post_remove() {
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
install-info --delete $infodir/$file $infodir/dir 2> /dev/null
done
-
- }
-
+}
diff --git a/abs/core-testing/eggdbus/PKGBUILD b/abs/core-testing/eggdbus/PKGBUILD
new file mode 100644
index 0000000..ddadba2
--- /dev/null
+++ b/abs/core-testing/eggdbus/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 59198 2009-11-21 11:27:17Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=eggdbus
+pkgver=0.6
+pkgrel=1
+pkgdesc="Experimental D-Bus bindings for GObject"
+arch=(i686 x86_64)
+license=('LGPL')
+url="http://www.freedesktop.org/wiki/Software/Policykit"
+depends=('glib2>=2.22.2' 'dbus-glib>=0.82-2')
+makedepends=('gtk-doc')
+options=('!libtool')
+source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz)
+md5sums=('b43d2a6c523fcb8b9d0b0300c4222386')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static --enable-gtk-doc || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/core-testing/expat/CVE-2009-3560.patch b/abs/core-testing/expat/CVE-2009-3560.patch
new file mode 100644
index 0000000..5fe9c36
--- /dev/null
+++ b/abs/core-testing/expat/CVE-2009-3560.patch
@@ -0,0 +1,13 @@
+diff -urNad trunk~/lib/xmlparse.c trunk/lib/xmlparse.c
+--- trunk~/lib/xmlparse.c 2007-05-08 04:25:35.000000000 +0200
++++ trunk/lib/xmlparse.c 2009-12-29 21:57:22.141732904 +0100
+@@ -3703,6 +3703,9 @@
+ return XML_ERROR_UNCLOSED_TOKEN;
+ case XML_TOK_PARTIAL_CHAR:
+ return XML_ERROR_PARTIAL_CHAR;
++ case -XML_TOK_PROLOG_S:
++ tok = -tok;
++ break;
+ case XML_TOK_NONE:
+ #ifdef XML_DTD
+ /* for internal PE NOT referenced between declarations */
diff --git a/abs/core-testing/expat/CVE-2009-3720.patch b/abs/core-testing/expat/CVE-2009-3720.patch
new file mode 100644
index 0000000..65d1643
--- /dev/null
+++ b/abs/core-testing/expat/CVE-2009-3720.patch
@@ -0,0 +1,12 @@
+diff -urNad trunk~/lib/xmltok_impl.c trunk/lib/xmltok_impl.c
+--- trunk~/lib/xmltok_impl.c 2006-11-26 18:34:46.000000000 +0100
++++ trunk/lib/xmltok_impl.c 2009-10-22 21:42:41.000000000 +0200
+@@ -1744,7 +1744,7 @@
+ const char *end,
+ POSITION *pos)
+ {
+- while (ptr != end) {
++ while (ptr < end) {
+ switch (BYTE_TYPE(enc, ptr)) {
+ #define LEAD_CASE(n) \
+ case BT_LEAD ## n: \
diff --git a/abs/core-testing/expat/PKGBUILD b/abs/core-testing/expat/PKGBUILD
index 0d63ac7..e2f1038 100644
--- a/abs/core-testing/expat/PKGBUILD
+++ b/abs/core-testing/expat/PKGBUILD
@@ -1,23 +1,29 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 62836 2010-01-12 23:27:10Z allan $
# Maintainer: dorphell <dorphell@archlinux.org>
# Committer: Judd Vinet <jvinet@zeroflux.org>
pkgname=expat
pkgver=2.0.1
-pkgrel=1
+pkgrel=5
pkgdesc="An XML Parser library written in C"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
+url="http://expat.sourceforge.net/"
license=('custom')
depends=('glibc')
options=('!libtool')
-source=(http://heanet.dl.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz)
-url="http://expat.sourceforge.net/"
-md5sums=('ee8b492592568805593f81f8cdf2a04c')
+source=(http://downloads.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz
+ CVE-2009-3560.patch
+ CVE-2009-3720.patch)
+md5sums=('ee8b492592568805593f81f8cdf2a04c'
+ '50603cac0f03aabc7087415251f592be'
+ 'f3eeb796f28945899216b815e5901996')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i $srcdir/CVE-2009-3560.patch
+ patch -Np1 -i $srcdir/CVE-2009-3720.patch
+ ./configure --prefix=/usr --mandir=/usr/share/man || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install
- install -m644 -D COPYING ${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING
+ make DESTDIR="${pkgdir}" install || return 1
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" || return 1
}
diff --git a/abs/core-testing/fbsplash/PKGBUILD b/abs/core-testing/fbsplash/PKGBUILD
index 736da1f..dcec71a 100644
--- a/abs/core-testing/fbsplash/PKGBUILD
+++ b/abs/core-testing/fbsplash/PKGBUILD
@@ -1,56 +1,71 @@
-# Maintainer: Greg Helton <gt@fallendusk.org>
+# Maintainer: Heiko Baums <heiko@baums-on-web.de>
+# Contributor: Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de>
pkgname=fbsplash
pkgver=1.5.4.3
-pkgrel=15
+pkgrel=33
pkgdesc="A userspace implementation of a splash screen for Linux (formerly known as gensplash)"
arch=('i686' 'x86_64')
url="http://fbsplash.berlios.de"
license=('GPL')
-backup=('etc/conf.d/fbsplash.conf' 'etc/conf.d/fbsplash.bootsteps')
-makedepends=('klibc')
-depends=('initscripts' 'miscsplashutils' 'libjpeg' 'libpng' 'freetype2-static' 'gpm' 'libmng' 'which' 'linhes-splash')
-conflicts=('bootsplash' 'gensplash')
+depends=('miscsplashutils' 'freetype2' 'libjpeg' 'libpng' 'libmng' 'lcms' 'gpm' 'linhes-splash')
+optdepends=('kernel26-fbcondecor: enable console background images'
+ 'fbsplash-extras: additional functionality like daemon icons'
+ 'uswsusp-fbsplash: suspend to disk with fbsplash'
+ 'python: convert themes from splashy to fbsplash')
+conflicts=('fbsplash-scripts' 'initscripts-extras-fbsplash')
+options=('!makeflags')
+backup=('etc/conf.d/fbcondecor' 'etc/conf.d/splash')
install=fbsplash.install
-source=(http://download.berlios.de/fbsplash/splashutils-${pkgver}.tar.bz2 \
- http://code.thewrecker.net/files/darch.tar.bz2 \
- fbsplash.inithooks \
- splash-functions-arch.sh \
- fbsplash.conf \
- fbsplash.initcpio_install \
- fbsplash.daemon fbsplash.bootsteps)
+source=(http://dev.gentoo.org/~spock/projects/gensplash/archive/splashutils-${pkgver}.tar.bz2
+ fbsplash.git.patch
+ splash.conf
+ fbsplash-basic.sh
+ fbsplash.initcpio_install
+ fbsplash.initcpio_hook
+ fbcondecor.daemon
+ fbcondecor.conf)
+
build() {
- cd ${startdir}/src/splashutils-${pkgver}
-
- # Configure, make, and install
- ./configure --prefix=/usr --sysconfdir=/etc --enable-fbcondecor --with-gpm --with-mng --with-png --with-ttf --with-ttf-kernel
- make || return 1
- cp -f ${startdir}/splash-functions.sh ${startdir}/src/splashutils-1.5.4.3/scripts/splash-functions.sh
- make DESTDIR=${startdir}/pkg install || return 1
-
- # Create directories
- mkdir -p ${startdir}/pkg/lib/splash/cache
- mkdir -p ${startdir}/pkg/etc/splash
- mkdir -p ${startdir}/pkg/etc/rc.d/functions.d
-
- # Install scripts
- install -D -m644 ${startdir}/src/fbsplash.initcpio_install ${startdir}/pkg/lib/initcpio/install/fbsplash
- install -D -m644 ${startdir}/src/fbsplash.conf ${startdir}/pkg/etc/conf.d/fbsplash.conf
- install -D -m744 ${startdir}/src/fbsplash.daemon ${startdir}/pkg/etc/rc.d/fbsplash
- install -D -m744 ${startdir}/src/splash-functions-arch.sh ${startdir}/pkg/sbin/splash-functions-arch.sh
- install -D -m755 $startdir/src/fbsplash.bootsteps ${startdir}/pkg/etc/conf.d/fbsplash.bootsteps
-
- # install darch fbsplash theme
- cp -r ${startdir}/src/darch ${startdir}/pkg/etc/splash/darch
-
- # install initscripts hooks
- install -D -m744 ${startdir}/src/fbsplash.inithooks ${startdir}/pkg/etc/rc.d/functions.d/fbsplash.sh
+ cd ${srcdir}/splashutils-${pkgver}
+
+ # patch for building splashutils with glibc and dynamical linking
+ patch -Np0 -i ${srcdir}/fbsplash.git.patch || return 1
+ autoreconf
+
+ # fix fbcondecor_ctl splash type
+ sed -e 's,fbsplash_lib_init(fbspl_bootup),fbsplash_lib_init(fbspl_undef),' -i src/fbcon_decor_ctl.c
+
+ ./configure --prefix=/usr --sysconfdir=/etc --without-klibc --enable-fbcondecor --with-gpm --with-mng --with-png --with-ttf --with-ttf-kernel || return 1
+ make || return 1
+ make DESTDIR=${startdir}/pkg install || return 1
+
+ cd ${pkgdir}
+
+ # fix duplicate slashes to get splash_cache_cleanup grep to work
+ sed -r -e 's,^(export spl_.*="/)/+,\1,' -i sbin/splash-functions.sh
+
+ # fix the path to splash_util
+ sed -r -e 's,^(export spl_util=)\"/bin/,\1"/sbin/,' -i sbin/splash-functions.sh
+
+ # provide the mountpoint needed by splash-functions.sh
+ mkdir -p lib/splash/{cache,tmp}
+
+ # Install fbsplash scripts and config file
+ install -D -m644 ${srcdir}/splash.conf etc/conf.d/splash
+ install -D -m644 ${srcdir}/fbsplash-basic.sh etc/rc.d/functions.d/fbsplash-basic.sh
+ install -D -m644 ${srcdir}/fbsplash.initcpio_install lib/initcpio/install/fbsplash
+ install -D -m644 ${srcdir}/fbsplash.initcpio_hook lib/initcpio/hooks/fbsplash
+ # Install fbcodecor script and config file
+ install -D -m644 ${srcdir}/fbcondecor.conf etc/conf.d/fbcondecor
+ install -D -m755 ${srcdir}/fbcondecor.daemon etc/rc.d/fbcondecor
}
md5sums=('c722cd4148817b9c50381d9bdc1ea6ef'
- '4ea33e99330abf4a9a468ac8c0ba48ca'
- '33b3c7c2050670db0e8b2efd9e088ed9'
- '8ffb29400a2518b16f3dbca653855268'
- '82ef6f37c2795db1b4fec0e6f8443c66'
- '21380586a5dafbf7045886ea4374ab65'
- 'bb5154529e4b5fbc701cf4540c15a61a')
+ '3a338c60ed0710c8b7e3e08929db521a'
+ 'a8f40c99a32d20d505aa24fbbd703008'
+ 'e69753dac753b8ba4e2e29ef5a9c46ca'
+ 'e29b3db6ee059b9950febe976a0f2881'
+ 'ac2351bc918b101bb9249ce8940722be'
+ '715926469d05eecd345c052e6248ca32'
+ 'b3db9d4fd902b62ac9e38589677e2d16')
diff --git a/abs/core-testing/fbsplash/__changelog b/abs/core-testing/fbsplash/__changelog
deleted file mode 100644
index d673fc0..0000000
--- a/abs/core-testing/fbsplash/__changelog
+++ /dev/null
@@ -1,4 +0,0 @@
-modify splash-functions to not use chvt for verbose
-modify fbsplash.inithooks to not display "setting up splash"
-added default value for fbsplash.bootsteps
-
diff --git a/abs/core-testing/fbsplash/darch.tar.bz2 b/abs/core-testing/fbsplash/darch.tar.bz2
deleted file mode 100644
index 0faab98..0000000
--- a/abs/core-testing/fbsplash/darch.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/abs/core-testing/fbsplash/extra/encrypt_hook.patch b/abs/core-testing/fbsplash/extra/encrypt_hook.patch
deleted file mode 100644
index f059048..0000000
--- a/abs/core-testing/fbsplash/extra/encrypt_hook.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- /lib/initcpio/hooks/encrypt 2008-09-12 12:29:38.000000000 -0400
-+++ encrypt.1 2008-10-28 08:13:34.000000000 -0400
-@@ -1,6 +1,7 @@
- # vim: set ft=sh:
- # TODO this one needs some work to work with lots of different
- # encryption schemes
-+. /sbin/splash-functions.sh
- run_hook ()
- {
- /sbin/modprobe -a -q dm-crypt >/dev/null 2>&1
-@@ -59,6 +60,7 @@ run_hook ()
- fi
- fi
- # Ask for a passphrase
-+ splash_verbose
- if [ ${dopassphrase} -gt 0 ]; then
- echo ""
- echo "A password is required to access the ${cryptname} volume:"
-@@ -119,4 +121,5 @@ run_hook ()
- fi
- nuke ${ckeyfile}
- fi
-+ splash_silent
- }
diff --git a/abs/core-testing/fbsplash/fbcondecor.conf b/abs/core-testing/fbsplash/fbcondecor.conf
new file mode 100644
index 0000000..18db844
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbcondecor.conf
@@ -0,0 +1,6 @@
+
+# /etc/conf.d/fbcondecor
+#
+
+## Virtual terminals to load with fbcondecor backgrounds
+SPLASH_TTYS="1 2 3 4 5 6"
diff --git a/abs/core-testing/fbsplash/fbcondecor.daemon b/abs/core-testing/fbsplash/fbcondecor.daemon
new file mode 100644
index 0000000..4d78ea4
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbcondecor.daemon
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# /etc/rc.d/fbcondecor
+
+# Set FbConDecor backgrounds
+#
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/fbcondecor
+. /sbin/splash-functions.sh
+
+splash_setup force
+
+retval=0
+[ -z "${SPLASH_TTYS%% }" ] && retval=1
+case "$1"
+in start )
+ if [ "${SPLASH_MODE_REQ}" != "off" ]; then
+ stat_busy "Setting FBconDecor console images"
+ for tty in ${SPLASH_TTYS}; do
+ # avoid blinking on boot
+ [[ "$( fbcondecor_ctl --tty=${tty} -c getstate )" == *\ on ]] && continue
+ fbcondecor_set_theme ${SPLASH_THEME} ${tty} || retval=1
+ done
+ if [ $retval = 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+ fi
+;; stop )
+ stat_busy "Disabling FBconDecor console images"
+ for tty in ${SPLASH_TTYS}; do
+ # avoid errors on restart
+ [[ "$( fbcondecor_ctl --tty=${tty} -c getstate )" == *\ off ]] && continue
+ fbcondecor_ctl --tty=${tty} -c off || retval=1
+ done
+ if [ $retval = 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+;; restart )
+ $0 stop
+ sleep .1
+ echo # don't swallow our status line
+ $0 start
+;; * )
+ echo "usage: $0 {start|stop|restart}"
+esac
+
+exit 0
+
+# EOF #
diff --git a/abs/core-testing/fbsplash/fbsplash-basic.sh b/abs/core-testing/fbsplash/fbsplash-basic.sh
new file mode 100644
index 0000000..2834060
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbsplash-basic.sh
@@ -0,0 +1,201 @@
+
+# /etc/rc.d/functions.d/fbsplash-basic.sh #
+
+# Basic Fbsplash script for Arch Linux initscripts #
+# #
+# Author: Kurt J. Bosch <kjb-temp-2009 at alpenjodel.de> #
+# Based on the work of Greg Helton <gt at fallendusk.org> #
+# Thomas Baechler <thomas at archlinux.org> #
+# and others #
+# #
+# Distributed under the terms of the GNU General Public License (GPL) #
+
+[[ $PREVLEVEL && $RUNLEVEL ]] || return 0
+
+# Do nothing if improved scripts are installed
+[ -r /etc/rc.d/functions.d/fbsplash-extras.sh ] && return
+
+# Only do this where needed
+# Since we use BASH, all important functions and variables are exported
+case ${0#/etc/rc.} in sysinit | multi | shutdown )
+ export SPLASH_PUSH_MESSAGES="no"
+ export SPLASH_VERBOSE_ON_ERRORS="no"
+ . /sbin/splash-functions.sh # /etc/conf.d/splash is also sourced by this
+ unset options opt i # eliminate splash_setup non local vars ## FIX ME ##
+ declare -ix SPLASH_STEPS=3 # sysinit steps
+ declare -ix SPLASH_STEPS_DONE=0
+esac
+
+# Verbose mode is handled by fbcondecor kernel patch and daemon script
+[[ $SPLASH_MODE_REQ = silent ]] || return 0
+
+# Override - Don't try to use /usr/bin/basename
+splash_comm_send() {
+ [[ $( /bin/pidof -o %PPID $spl_daemon ) ]] && echo "$@" >$spl_fifo &
+}
+
+case $0 in /etc/rc.sysinit )
+ # Prevent splash destruction
+ CONSOLEFONT=""
+ # Continue to use a splash daamon started in initcpio
+ if /bin/mountpoint -q /dev/.splash-cache; then
+ /bin/mount --move /dev/.splash-cache $spl_cachedir || return
+ splash_comm_send set message "$SPLASH_BOOT_MESSAGE"
+ # Mount a tmpfs
+ else
+ ( splash_cache_prep ) || return
+ fi
+ add_hook sysinit_udevsettled splash_sysinit_udevsettled
+ add_hook sysinit_postfsck splash_sysinit_postfsck
+ add_hook sysinit_postfsckloop splash_sysinit_postfsck
+ add_hook sysinit_premount splash_sysinit_premount
+ add_hook sysinit_end splash_sysinit_end
+ splash_sysinit_udevsettled() {
+ splash_begin
+ splash_progress_init
+ splash_progress
+ }
+ splash_sysinit_premount() {
+ splash_progress
+ }
+ splash_sysinit_postfsck() { # fsck failure emergency exit
+ [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ] && chvt 1
+ }
+ splash_sysinit_end() {
+ splash_progress
+ }
+;; /etc/rc.multi )
+ add_hook multi_start splash_multi_start
+ add_hook multi_end splash_multi_end
+ splash_multi_start() {
+ SPLASH_STEPS_DONE=$SPLASH_STEPS
+ splash_progress_init
+ }
+ start_daemon() {
+ [[ $1 = $SPLASH_XSERVICE ]] && SPLASH_EXIT_TYPE=staysilent splash_stop
+ /etc/rc.d/$1 start
+ splash_progress
+ }
+ start_daemon_bkgd() {
+ [[ $1 = $SPLASH_XSERVICE ]] && SPLASH_EXIT_TYPE=staysilent splash_stop
+ stat_bkgd "Starting $1"
+ ( SPLASH_PUSH_MESSAGES="no" SPLASH_VERBOSE_ON_ERRORS="no" \
+ /etc/rc.d/$1 start ) &>/dev/null &
+ }
+ splash_multi_end() {
+ if [[ $PREVLEVEL = N ]]; then
+ if ! in_array "$SPLASH_XSERVICE" "${DAEMONS[@]}"; then
+ if [[ $RUNLEVEL = 5 ]]; then
+ SPLASH_EXIT_TYPE=staysilent splash_stop
+ else
+ splash_stop
+ [[ $( $spl_bindir/fgconsole ) = $SPLASH_TTY ]] && chvt 1
+ fi
+ fi
+ # Now do setfont
+ set_consolefont
+ # Umount the tmpfs
+ splash_cache_cleanup
+ fi
+ }
+;; /etc/rc.shutdown )
+ ( splash_cache_prep ) || return
+ # Not using XSERVICE here to avoid missing errors - X should chvt back to SPLASH_TTY
+ add_hook shutdown_start splash_shutdown_start
+ add_hook shutdown_prekillall splash_shutdown_prekillall
+ add_hook shutdown_postkillall splash_shutdown_postkillall
+ add_hook shutdown_poweroff splash_shutdown_poweroff
+ splash_shutdown_start() {
+ splash_begin
+ }
+ ## http://bugs.archlinux.org/task/10536 ## FIX ME ##
+ splash_shutdown_prekillall() { /bin/sleep .1; }
+ splash_shutdown_postkillall() {
+ if [[ $( $spl_bindir/fgconsole ) = $SPLASH_TTY ]]; then
+ stat_busy "Restarting Fbsplash daemon"
+ PROGRESS=$(( 65535*2/3 )) splash_start
+ if [[ -e $spl_cachedir/stop_failed-fbsplash-dummy ]]; then
+ splash_comm_send update_svc fbsplash-dummy svc_stop_failed
+ fi
+ stat_done
+ fi
+ }
+ ##
+ splash_shutdown_poweroff() {
+ SPLASH_EXIT_TYPE=staysilent splash_stop
+ }
+esac
+
+splash_progress_init() {
+ for daemon in "${DAEMONS[@]}"; do
+ case $daemon in $SPLASH_XSERVICE | @$SPLASH_XSERVICE ) break
+ ;; \!* |@* ) continue
+ esac
+ SPLASH_STEPS+=1
+ done
+}
+
+splash_progress() {
+ splash_comm_send progress $(( 65535*++SPLASH_STEPS_DONE/SPLASH_STEPS ))
+ splash_comm_send paint
+}
+
+# Start the splash daemon - using upstream function
+splash_set_event_dev() { :; } # override - Never grab the keyboard
+splash_begin() {
+ if ! [[ $( /bin/pidof -o %PPID $spl_daemon ) ]]; then
+ stat_busy "Starting Fbsplash daemon"
+ if [ -x /etc/splash/$SPLASH_THEME/scripts/rc_init-pre ]; then
+ /etc/splash/$SPLASH_THEME/scripts/rc_init-pre ${0#/etc/rc.d} $RUNLEVEL
+ fi &&
+ splash_start &&
+ stat_done || stat_fail
+ fi
+}
+
+# Stop the splash daemon - if any
+splash_stop() {
+ if [[ $( /bin/pidof -o %PPID $spl_daemon ) ]]; then
+ SPLASH_PUSH_MESSAGES="no" stat_busy "Stopping Fbsplash daemon"
+ splash_comm_send progress 65535; splash_comm_send paint; /bin/sleep .1
+ splash_comm_send exit $SPLASH_EXIT_TYPE
+ # Wait for painting/fadeout
+ local -i i=0
+ while [[ i++ -lt 100 && $( /bin/pidof -o %PPID $spl_daemon ) ]]; do
+ /bin/sleep .1
+ done
+ stat_done
+ fi
+}
+
+stat_busy() {
+ printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
+ printf "${SAVE_POSITION}"
+ deltext
+ printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} "
+ SPLASH_BUSY_MSG=$1
+ if [[ $SPLASH_PUSH_MESSAGES = yes ]]; then
+ splash_comm_send set message "${1}"
+ splash_comm_send paint
+ fi
+}
+
+stat_fail() {
+ deltext
+ printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n"
+ local event=stop_failed; [[ $PREVLEVEL = N ]] && event=start_failed
+ # Provide a general failure status event and write to msglog textbox
+ splash_comm_send update_svc fbsplash-dummy svc_${event}
+ splash_comm_send log "Error $SPLASH_BUSY_MSG"
+ splash_comm_send paint
+ # Save for daemon restart ## FIX ME ##
+ if /bin/mountpoint -q $spl_cachedir; then
+ : >|$spl_cachedir/${event}-fbsplash-dummy
+ fi
+ # Upstream way of error handling
+ if [[ $SPLASH_VERBOSE_ON_ERRORS = yes ]]; then
+ chvt 1
+ fi
+}
+
+# EOF #
diff --git a/abs/core-testing/fbsplash/fbsplash.bootsteps b/abs/core-testing/fbsplash/fbsplash.bootsteps
deleted file mode 100644
index 7273c0f..0000000
--- a/abs/core-testing/fbsplash/fbsplash.bootsteps
+++ /dev/null
@@ -1 +0,0 @@
-25
diff --git a/abs/core-testing/fbsplash/fbsplash.conf b/abs/core-testing/fbsplash/fbsplash.conf
deleted file mode 100644
index ddd88f8..0000000
--- a/abs/core-testing/fbsplash/fbsplash.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# fbsplash.conf
-#
-
-THEMES="linhes"
-SPLASH_TTYS="1 2 3 4 5 6"
-
-#EOF
diff --git a/abs/core-testing/fbsplash/fbsplash.daemon b/abs/core-testing/fbsplash/fbsplash.daemon
deleted file mode 100644
index e615500..0000000
--- a/abs/core-testing/fbsplash/fbsplash.daemon
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash
-
-source /etc/rc.conf
-source /etc/rc.d/functions
-
-source /sbin/splash-functions.sh
-source /etc/conf.d/fbsplash.conf
-
-case "$1" in
- start)
- if [ "$(fbcondecor_supported)" = "true" ]
- then
- THEME="linhes"
- if [ -f /proc/cmdline ]; then
- OPTIONS=$(grep -o 'splash=[^ ]*' /proc/cmdline)
- for i in $(echo "${OPTIONS#*=}" | sed -e 's/,/ /g')
- do
- case ${i%:*} in
- theme) THEME=${i#*:} ;;
- esac
- done
- fi
- stat_busy "Setting fbcondecor console images"
- for TTY in ${SPLASH_TTYS}; do
- fbcondecor_set_theme ${TTY} ${THEME}
- done
- stat_done
- fi
- save_boot_steps
- splash_exit
- ;;
-
- kill)
- if [ "$(fbcondecor_supported)" = "true" ]
- then
- stat_busy "Disabling fbcondecor console images"
- for TTY in ${SPLASH_TTYS}; do
- fbcondecor_remove_theme ${TTY}
- done
- stat_done
- fi
- ;;
-
- restart)
- $0 kill
- sleep 1
- $1 start
- ;;
-
- *)
- echo "usage: $0 {start|restart|kill}"
-esac
-exit 0
-
-#EOF
-
diff --git a/abs/core-testing/fbsplash/fbsplash.git.patch b/abs/core-testing/fbsplash/fbsplash.git.patch
new file mode 100644
index 0000000..15f041c
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbsplash.git.patch
@@ -0,0 +1,166 @@
+From 4ecac1b2645afc8079aad4067a1aa0e8a96eab12 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Micha=C5=82=20Januszewski?= <spock@gentoo.org>
+Date: Tue, 16 Feb 2010 23:30:18 +0100
+Subject: [PATCH] Make it possible to build fbcondecor_helper against glibc.
+
+---
+ configure.ac | 34 ++++++++++++++++++++++++++++++++++
+ libs/Makefile.am | 2 ++
+ src/Makefile.am | 34 +++++++++++++++++++++++++++++++++-
+ 3 files changed, 69 insertions(+), 1 deletions(-)
+
+diff --git configure.ac configure.ac
+index 63b1ff6..8db1498 100644
+--- configure.ac
++++ configure.ac
+@@ -76,6 +76,23 @@ AC_ARG_ENABLE([klibc-shared],
+ )
+ AM_CONDITIONAL([CONFIG_KLIBC_SHARED], [test "x${config_klibc_shared}" = "xyes"])
+
++AC_ARG_ENABLE([static-binaries],
++ AC_HELP_STRING([--disable-static-binaries], [do not build any statically linked binaries]),
++ [
++ AS_CASE(["${enableval}"],
++ [yes], [config_static_binaries="yes"],
++ [no], [config_static_binaries="no"],
++ [AC_MSG_ERROR([bad value '${enableval}' for --disable-static-binaries])]
++ )
++ ],
++ [config_static_binaries="yes"]
++)
++AM_CONDITIONAL([CONFIG_STATIC_BINARIES], [test "x${config_static_binaries}" = "xyes"])
++AS_IF(
++ [test "x${config_static_binaries}" = "xyes"],
++ [AC_DEFINE([CONFIG_STATIC_BINARIES], [1], [Define to 1 to disable building of statically linked binaries.])]
++)
++
+ AC_ARG_ENABLE([deprecated],
+ AC_HELP_STRING([--enable-deprecated], [include support for deprecated features]),
+ [
+@@ -333,6 +350,23 @@ AC_ARG_WITH([themedir],
+ )
+ AC_SUBST([themedir])
+
++AC_ARG_WITH([klibc],
++ AC_HELP_STRING([--without-klibc], [link the kernel helper against glibc instead of klibc]),
++ [
++ AS_CASE(["${withval}"],
++ [yes], [config_klibc="yes"],
++ [no], [config_klibc="no"],
++ [AC_MSG_ERROR([bad value ${withval} for --with-klibc])]
++ )
++ ],
++ [config_klibc="yes"]
++)
++AM_CONDITIONAL([CONFIG_KLIBC], [test "x${config_klibc}" = "xyes"])
++AS_IF(
++ [test "x${config_klibc}" = "xyes"],
++ [AC_DEFINE([CONFIG_KLIBC], [1], [use klibc])]
++)
++
+ M_CFLFAGS=
+ M_LIBS=
+ AC_CHECK_HEADER(
+diff --git libs/Makefile.am b/core/libs/Makefile.am
+index 6675ec1..d070b29 100644
+--- libs/Makefile.am
++++ libs/Makefile.am
+@@ -24,6 +24,7 @@ mostlyclean-local: \
+
+ noinst_LIBRARIES =
+
++if CONFIG_KLIBC
+ if CONFIG_HELPER
+ noinst_LIBRARIES += libjpeg.a
+ if CONFIG_PNG
+@@ -33,6 +34,7 @@ if CONFIG_TTF_KERNEL
+ noinst_LIBRARIES += libfreetype.a
+ endif
+ endif
++endif
+
+ libjpeg_a_SOURCES =
+ libpng_a_SOURCES =
+diff --git src/Makefile.am b/core/src/Makefile.am
+index fa6919d..7570b5e 100644
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -167,7 +167,6 @@ sbin_PROGRAMS += fbcondecor_ctl
+ endif
+ sbin_PROGRAMS += fbsplashd
+ bin_PROGRAMS += splash_util
+-eexecsbin_PROGRAMS += fbsplashctl
+
+ fbcondecor_ctl_SOURCES = fbcon_decor_ctl.c fbcon_decor.h ../include/console_decor.h ../include/fbcondecor.h common.h fbsplash.h
+ fbcondecor_ctl_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_UTIL $(libfbsplashrender_la_CFLAGS)
+@@ -185,6 +184,9 @@ splash_util_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_UTIL $(libfbsplashrender_l
+ splash_util_LDFLAGS = $(AM_LDFLAGS)
+ splash_util_LDADD = libfbsplashrender.la libfbsplash.la
+
++if CONFIG_STATIC_BINARIES
++eexecsbin_PROGRAMS += fbsplashctl
++
+ fbsplashctl_SOURCES = $(fbsplashd_SOURCES) $(splash_util_SOURCES) fbsplashctl.c
+ fbsplashctl_CFLAGS = $(AM_CFLAGS) $(PTHREAD_STATIC_CFLAGS) $(RT_CFLAGS) $(libfbsplashrender_la_CFLAGS) -DUNIFIED_BUILD
+ fbsplashctl_CPPFLAGS = $(fbsplashd_CPPFLAGS) $(splash_util_CPPFLAGS)
+@@ -210,6 +212,7 @@ uninstall-hook:
+ if CONFIG_FBCON_DECOR
+ rm -f $(DESTDIR)$(eexecsbindir)/fbcondecor_ctl.static$(EXEEXT)
+ endif
++endif
+
+ ################################################################################
+ # Kernel
+@@ -219,6 +222,7 @@ if CONFIG_HELPER
+ eexecsbin_PROGRAMS += fbcondecor_helper
+ endif
+
++if CONFIG_KLIBC
+ fbcondecor_helper_SOURCES = \
+ kernel.c \
+ libfbsplash.c \
+@@ -236,10 +240,12 @@ fbcondecor_helper_SOURCES = \
+ common.h \
+ render.h \
+ fbsplash.h
++
+ fbcondecor_helper_CPPFLAGS = -DWITH_ERRLIST -DTARGET_KERNEL -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ fbcondecor_helper_CFLAGS = -Os -w -ffunction-sections -fdata-sections -I.@am__isrc@
+ fbcondecor_helper_LDFLAGS =
+ fbcondecor_helper_LDADD =
++
+ fbcondecor_helper_CFLAGS += -I$(abs_top_builddir)/libs/libjpeg -I$(LIBJPEG_SOURCE)
+ fbcondecor_helper_LDADD += $(top_builddir)/libs/libjpeg.a
+ if CONFIG_PNG
+@@ -280,3 +286,29 @@ fbcondecor_helper-%.o: %.c
+ @$(call infmsg,CC,$@)
+ $(Q)$(MKDIR_P) $(@D)
+ $(Q)$(KLCC) $(fbcondecor_helper_CPPFLAGS) $(fbcondecor_helper_CFLAGS) $(INCLUDES) -c $< -o $@
++else
++fbcondecor_helper_SOURCES = \
++ kernel.c \
++ libfbsplash.c \
++ libfbsplashrender.c \
++ fbcon_decor.c \
++ common.c \
++ parse.c \
++ list.c \
++ render.c \
++ image.c \
++ effects.c \
++ fbcon_decor.h \
++ ../include/console_decor.h \
++ ../include/fbcondecor.h \
++ common.h \
++ render.h \
++ fbsplash.h
++if CONFIG_TTF_KERNEL
++fbcondecor_helper_SOURCES += ttf.c ttf.h
++endif
++fbcondecor_helper_CPPFLAGS = $(AM_CPPFLAGS) -DTARGET_KERNEL
++fbcondecor_helper_CFLAGS = $(AM_CFLAGS) $(libfbsplashrender_la_CFLAGS)
++fbcondecor_helper_LDFLAGS = $(AM_LDFLAGS)
++fbcondecor_helper_LDADD = $(libfbsplashrender_la_LIBADD)
++endif
+--
+1.6.5.GIT
diff --git a/abs/core-testing/fbsplash/fbsplash.initcpio_hook b/abs/core-testing/fbsplash/fbsplash.initcpio_hook
new file mode 100644
index 0000000..62048df
--- /dev/null
+++ b/abs/core-testing/fbsplash/fbsplash.initcpio_hook
@@ -0,0 +1,102 @@
+run_hook ()
+{
+ SPLASH_INIT_MESSAGE="Initializing the kernel"
+ SPLASH_MODE_REQ="off"
+ SPLASH_THEME="default"
+ SPLASH_TTY=16
+ SPLASH_TEXTBOX="no"
+ SPLASH_AUTOVERBOSE=0
+
+ . /etc/conf.d/splash
+
+ # Kernel parameters override config file
+ local ifs="$IFS"
+ IFS=','
+ set -- $splash
+ IFS="$ifs"
+ local arg effects
+ for arg in "$@"; do
+ case "$arg"
+ in off ) SPLASH_MODE_REQ="off"
+ ;; silent ) SPLASH_MODE_REQ="silent"
+ ;; verbose ) SPLASH_MODE_REQ="verbose"
+ ;; theme:?* ) SPLASH_THEME="${arg#theme:}"
+ ;; tty:?* ) SPLASH_TTY="${arg#tty:}"
+ ;; insane ) SPLASH_SANITY="insane"
+ ;; fadein | fadeout ) effects="$effects,$arg"
+ esac
+ done
+ if [ -n "$effects" ]; then
+ SPLASH_EFFECTS="${effects#,}"
+ fi
+
+ if [ "${SPLASH_MODE_REQ}" != "silent" ]; then
+ return
+ fi
+
+ if ! [ "$console" = tty1 -o "$SPLASH_SANITY" = insane ]; then
+ err "Fbsplash requires console=tty1 in kernel line!"
+ return 1
+ fi
+
+ # Start the daemon here if possible
+ # to show animations early and gain some bootup speed
+ if [ -x /sbin/fbsplashd.static ]; then
+ if [ -x /etc/splash/"$SPLASH_THEME"/scripts/rc_init-pre ]; then
+ msg "Found '/etc/splash/$SPLASH_THEME/scripts/rc_init-pre'"
+ msg "Not starting Fbsplash daemon - no theme hook support in initcpio."
+ else
+ msg "Starting Fbsplash Daemon"
+ (
+ set -e
+ # Hold the cache and fifo within /dev to get it moved to the new root
+ mkdir /dev/.splash-cache
+ # code line derived from splash-functions.sh
+ mount -t tmpfs cachedir /dev/.splash-cache -o rw,mode=0644,size=4096k
+ # Take over any existing cache content
+ mkdir -p /lib/splash/cache
+ mv /lib/splash/cache /lib/splash/.splash-cache
+ cp -a /lib/splash/.splash-cache /dev/
+ ln -s /dev/.splash-cache /lib/splash/cache
+ mkfifo -m 600 /lib/splash/cache/.splash
+ # Wait for any fbcondecor fadein - may take very long on some broken systems
+ i=0
+ while [ -n "$( pidof fbcondecor_helper )" ]; do
+ if [ $i -ge 50 ]; then
+ err "timeout on waiting for fbcondecor_helper to die!"
+ exit 1
+ fi
+ sleep .1
+ i=$(( i + 1 ))
+ done
+ # Actually start the daemon
+ options=""
+ [ -n "$SPLASH_THEME" ] && options="$options --theme=$SPLASH_THEME"
+ [ -n "$SPLASH_EFFECTS" ] && options="$options --effects=$SPLASH_EFFECTS"
+ [ "$SPLASH_TEXTBOX" = yes ] && options="$options --textbox"
+ cd /dev/.splash-cache
+ BOOT_MSG="${SPLASH_INIT_MESSAGE}" \
+ /sbin/fbsplashd.static --type=bootup --pidfile=daemon.pid $options
+ (
+ echo set tty silent $SPLASH_TTY
+ echo set mode silent
+ echo repaint
+ echo set autoverbose $SPLASH_AUTOVERBOSE
+ ) >/lib/splash/cache/.splash &
+ )
+ return
+ fi
+ fi
+
+ # Start the fbcondecor helper if not already done by fbcondecor kernel
+ (
+ # code copied from splash-functions.sh
+ fbcondecor_supported() {
+ [ -e /dev/fbsplash -o -e /dev/fbcondecor ]
+ }
+ if ! fbcondecor_supported; then
+ BOOT_MSG="${SPLASH_INIT_MESSAGE}" \
+ /sbin/fbcondecor_helper 2 init 0 0 $SPLASH_THEME
+ fi
+ )
+}
diff --git a/abs/core-testing/fbsplash/fbsplash.initcpio_install b/abs/core-testing/fbsplash/fbsplash.initcpio_install
index 3fdd7e9..4485f91 100644
--- a/abs/core-testing/fbsplash/fbsplash.initcpio_install
+++ b/abs/core-testing/fbsplash/fbsplash.initcpio_install
@@ -1,29 +1,114 @@
install() {
- [ -x /sbin/fbcondecor_helper ] || return 1
+ (
+ . /etc/conf.d/splash
- source /etc/conf.d/fbsplash.conf
- [ -z "${THEME}" ] && THEME="linhes"
+ if /bin/mountpoint -q /lib/splash/cache; then
+ /bin/umount /lib/splash/cache
+ fi
- add_binary "/sbin/fbcondecor_helper"
+ # Add the helper
+ add_binary /sbin/fbcondecor_helper
- add_device "/dev/null" c 1 3
- add_device "/dev/console" c 5 1
- add_device "/dev/tty0" c 4 0
+ # Add the daemon for early start
+ if [[ $SPLASH_DAEMON = early ]]; then
+ add_binary /sbin/fbsplashd.static
+ fi
- for DIR in /dev /dev/fb /dev/misc /dev/vc /lib/splash/proc /lib/splash/sys
- do
- add_dir ${DIR}
- done
+ # Add a clean config file avoiding errors when running the hook
+ file=$( /usr/bin/mktemp )
+ for var in SPLASH_INIT_MESSAGE SPLASH_MODE_REQ SPLASH_THEME SPLASH_TTY \
+ SPLASH_AUTOVERBOSE SPLASH_EFFECTS SPLASH_TEXTBOX
+ do
+ eval value=\"\$$var\"
+ [ -n "$value" ] && echo $var="'$value'"
+ done >|$file
+ add_file $file /etc/conf.d/splash
- for THEME in ${THEMES}
- do
- add_full_dir "/etc/splash/${THEME}"
- done
+ # List file paths contained in given Fbsplash theme cfg file
+ _get_cfg_files() {
+ < "$1" /bin/sed -re '
+ # convert all whitespace into single blanks
+ s,[[:space:]]+, ,g ; t L1
+ :L1
+ # drop comments, grouping directives and blank lines
+ /^ *([#<]|$)/ d
+ # get a filepath or drop
+ s,.*[ =]([^ ]*/[^ ]+).*,\1, ; t ; d
+ ' | /usr/bin/sort -u
+ }
+
+ # Check if cfg file name or path
+ _match_cfg() {
+ [[ "$1" =~ (^|/)[0-9]+x[0-9]+\.cfg$ ]]
+ }
+
+ # Add non-cfg files in given dir
+ _add_non_cfg_files() {
+ local file dir="$1"
+ for file in $( /bin/ls "$dir" ); do
+ if [ -f "$dir/$file" ]; then
+ _match_cfg "$file" || add_file "$dir/$file"
+ fi
+ done
+ }
+
+ # Add global non-cfg files
+ _add_non_cfg_files /etc/splash
+
+ # Add themes
+ dirs=""
+ for theme in ${SPLASH_THEMES[*]}; do # string list and array allowed
+ [ ${theme:0:1} = / ] || theme=/etc/splash/$theme
+ if [ -f $theme ]; then
+ if ! _match_cfg $theme; then
+ err "Not a valid theme cfg file name: $theme"
+ continue
+ fi
+ add_file $theme || continue
+ dir=$( dirname $theme )
+ # Add non-cfg files in theme dir
+ _add_non_cfg_files $dir
+ # Add files refered in cfg file by paths
+ for file in $( _get_cfg_files $theme ); do
+ if [ ${file:0:1} = / ]; then
+ add_file $file
+ continue
+ fi
+ # Path may be relative to theme-dir or to /etc/splash
+ [ -e $dir/$file -o ! -f /etc/splash/$file ] && add_file $dir/$file
+ [ -e /etc/splash/$file -o ! -f $dir/$file ] && add_file /etc/splash/$file
+ done
+ elif [ -d $theme ]; then
+ dir=$theme
+ add_full_dir $dir
+ else
+ err "Theme not found: $theme"
+ continue
+ fi
+ if [[ " "$dirs" " != *" "$dir" "* ]]; then
+ dirs+=" "$dir
+ fi
+ done
+ for dir in $dirs; do
+ # Add the rc_init-pre script if we have one
+ # Currently this just prevents early daemon start for the theme
+ if [[ $SPLASH_DAEMON = early && -x $dir/scripts/rc_init-pre ]]; then
+ add_file $dir/scripts/rc_init-pre || continue
+ echo "WARNING: rc_init-pre script found - no early daemon with '${dir##*/}'!" >&2
+ fi
+ done
+ )
+
+ SCRIPT="fbsplash"
}
help() {
- echo "This hook includes Fbsplash in the initramfs image."
+cat<<HELPEOF
+ This hook adds the FBconDecor helper and Fbsplash themes and maybe the
+ Fbsplash daemon as specified in /etc/conf.d/splash. Put it after udev
+ for early daemon start or when using a FBconDecor kernel.
+HELPEOF
}
#EOF
diff --git a/abs/core-testing/fbsplash/fbsplash.inithooks b/abs/core-testing/fbsplash/fbsplash.inithooks
deleted file mode 100644
index c396b92..0000000
--- a/abs/core-testing/fbsplash/fbsplash.inithooks
+++ /dev/null
@@ -1,91 +0,0 @@
-# fbsplash function.d script #
-# Author: Greg Helton <gt@fallendusk.org> #
-
-# Who is calling? #
-CALLER=$0
-
-# splash stuff #
-. /etc/conf.d/fbsplash.conf
-. /sbin/splash-functions.sh
-
-# Redefine the stat functions #
-stat_bkgd() {
- printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
- deltext
- printf " ${C_OTHER}[${C_BKGD}BKGD${C_OTHER}]${C_CLEAR} "
-}
-
-stat_busy() {
- printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
- printf "${SAVE_POSITION}"
- deltext
- printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} "
- # This checks to see if we just brought up the lo interface in rc.sysinit #
- # if so, start the progress bar #
- if [ "${1}" == 'Bringing up loopback interface' ]; then
- splash rc_init
- fi
- # Load variables #
- var_load STEP_NR MAX_STEPS RC_MULTI RC_SYSINIT RC_SHUTDOWN
- # Only update the splash progress if we're in sysinit, multi, or shutdown. #
- if [[ "${SPLASH_RC_MULTI}" == "1" || "${SPLASH_RC_SYSINIT}" == "1" || "${SPLASH_RC_SHUTDOWN}" == "1" ]]; then
- ((SPLASH_STEP_NR++))
- SPLASH_PROGRESS=$((100*${SPLASH_STEP_NR}/${SPLASH_MAX_STEPS}))
- SPLASH_CURRENT_PROGRESS=${SPLASH_PROGRESS}
- splash_update_progress ${SPLASH_PROGRESS}
- var_save STEP_NR CURRENT_PROGRESS
- fi
- if [ "${SPLASH_RC_SHUTDOWN}" == "1" ]; then
- save_shutdown_steps
- fi
-
-}
-
-stat_done() {
- deltext
- printf " ${C_OTHER}[${C_DONE}DONE${C_OTHER}]${C_CLEAR} \n"
-}
-
-stat_fail() {
- deltext
- printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n"
- splash_verbose
-}
-
-start_daemon() {
- /etc/rc.d/$1 start
-}
-
-# rc.sysinit #
-if [ "$CALLER" == '/etc/rc.sysinit' ]; then
-# echo "fbsplash: Setting up splash..."
- splash_cache_prep
- SPLASH_MAX_STEPS=$(load_boot_steps)
- SPLASH_STEP_NR=0
- SPLASH_RC_MULTI=0
- SPLASH_RC_SYSINIT=1
- SPLASH_RC_SHUTDOWN=0
- var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN
-fi
-
-# rc.multi #
-if [ "$CALLER" == '/etc/rc.multi' ]; then
- SPLASH_RC_MULTI=1
- SPLASH_RC_SYSINIT=0
- var_save RC_MULTI RC_SYSINIT
-fi
-
-# rc.shutdown #
-if [ "$CALLER" == '/etc/rc.shutdown' ]; then
-# echo "fbsplash: Setting up splash..."
- splash_cache_prep
- SPLASH_MAX_STEPS=$(load_shutdown_steps)
- SPLASH_SHUTDOWN_STEPS=1
- SPLASH_STEP_NR=0
- SPLASH_RC_MULTI=0
- SPLASH_RC_SYSINIT=0
- SPLASH_RC_SHUTDOWN=1
- var_save MAX_STEPS STEP_NR RC_MULTI RC_SYSINIT RC_SHUTDOWN DAEMON_STEPS
- splash rc_init
-fi
-
diff --git a/abs/core-testing/fbsplash/fbsplash.install b/abs/core-testing/fbsplash/fbsplash.install
index 2899857..09da219 100644
--- a/abs/core-testing/fbsplash/fbsplash.install
+++ b/abs/core-testing/fbsplash/fbsplash.install
@@ -1,25 +1,19 @@
-
post_install() {
- echo ">"
- echo "> ATTENTION!!!:"
- echo "----------------------------------------------"
- echo "> fbsplash has been rewritten and no longer depends "
- echo "> on using a special initscripts. "
- echo "> Please read http://wiki.archlinux.org/fbsplash "
- echo "> for more details on the changes. "
- echo "----------------------------------------------"
- if ! [ -e /etc/conf.d/fbsplash.bootsteps ]; then
- echo ""
- echo "Creating step count files..."
- echo "Note: The first boot's percentage will be wrong. "
- echo "The scripts will update with the right steps after first boot"
- echo ""
- touch /etc/conf.d/fbsplash.bootsteps
- touch /etc/conf.d/fbsplash.shutdownsteps
- echo 25 > /etc/conf.d/fbsplash.bootsteps
- echo 20 > /etc/conf.d/fbsplash.shutdownsteps
- fi
- echo 20 > /etc/conf.d/fbsplash.shutdownsteps
+ echo "------------------------------------------------------------"
+ echo "> This package doesn't contain a default theme."
+ echo "> You need to install one separately."
+ echo "> To find some themes, just search AUR for \"fbsplash-theme\","
+ echo "> or GNOME-Look.org or KDE-Look.org for \"fbsplash\"."
+ echo "------------------------------------------------------------"
+ echo "> Configuration for fbsplash: /etc/conf.d/splash"
+ echo "> Configuration for fbcondecor: /etc/conf.d/fbcondecor"
+ echo "------------------------------------------------------------"
+ echo "> Remember to rebuild the initrd after changing the"
+ echo "> configuration."
+ echo "------------------------------------------------------------"
+ echo "> Please read http://wiki.archlinux.org/index.php/Fbsplash"
+ echo "> for more details. "
+ echo "------------------------------------------------------------"
}
post_upgrade() {
diff --git a/abs/core-testing/fbsplash/splash-functions-arch.sh b/abs/core-testing/fbsplash/splash-functions-arch.sh
deleted file mode 100644
index 977ccef..0000000
--- a/abs/core-testing/fbsplash/splash-functions-arch.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-# ArchLinux specific splash functions #
-# Author: Greg Helton <gt@fallendusk.org> #
-
-splash_init() {
- splash_setup
- splash_start
-}
-
-splash_exit() {
- splash_comm_send "exit"
- splash_cache_cleanup
-}
-
-splash_update_progress() {
- local PROGRESS
- PROGRESS=$(($1*65535/100))
- splash_comm_send "progress ${PROGRESS}"
- splash_comm_send "repaint"
-}
-
-var_save() {
-for i in $@ ;
- do
- local var
- eval var=\$SPLASH_${i}
- echo "SPLASH_$i=$(echo ${var})" > ${spl_cachedir}/${i}
- done
-}
-
-var_load() {
-for i in $@ ;
- do
- local var
- eval var=\$SPLASH_${i}
- if [[ -z "$(echo ${var})" && -f ${spl_cachedir}/${i} ]] ; then
- source ${spl_cachedir}/${i}
- fi
- done
-}
-
-save_boot_steps() {
- var_load STEP_NR
- echo $SPLASH_STEP_NR > /etc/conf.d/fbsplash.bootsteps
-}
-
-load_boot_steps() {
- BOOT_STEPS=$(cat /etc/conf.d/fbsplash.bootsteps)
- # Fail safe, so we don't divide by 0
- if [ $BOOT_STEPS = 0 ]; then
- BOOT_STEPS=1
- fi
- printf $BOOT_STEPS
-}
-
-save_shutdown_steps() {
- var_load SHUTDOWN_STEPS
- ((SPLASH_SHUTDOWN_STEPS++))
- echo $SPLASH_SHUTDOWN_STEPS > /etc/conf.d/fbsplash.shutdownsteps
- var_save SHUTDOWN_STEPS
-}
-
-load_shutdown_steps() {
- SHUTDOWN_STEPS=$(cat /etc/conf.d/fbsplash.shutdownsteps)
- # Fail safe, so we don't divide by 0
- if [ $SHUTDOWN_STEPS = 0 ]; then
- SHUTDOWN_STEPS=1
- fi
- printf $SHUTDOWN_STEPS
-}
-
-# EOF #
diff --git a/abs/core-testing/fbsplash/splash-functions.sh b/abs/core-testing/fbsplash/splash-functions.sh
deleted file mode 100644
index 1c17663..0000000
--- a/abs/core-testing/fbsplash/splash-functions.sh
+++ /dev/null
@@ -1,618 +0,0 @@
-# Distributed under the terms of the GNU General Public License v2
-
-# Author: Michal Januszewski <spock@gentoo.org>
-# Maintainer: Michal Januszewski <spock@gentoo.org>
-
-# This file is a part of splashutils. The functions contained in this
-# file are meant to be used by hook scripts in splash themes or by
-# initscript systems. The code will be kept distro-agnostic to facilitate
-# portability. It should also contain POSIX compatible code. No bashisms
-# allowed!
-
-# ####################################################################
-# Change any settings ONLY if you are sure what you're doing.
-# Don't cry if it breaks afterwards.
-# ####################################################################
-
-# The splash scripts need a cache which can be guaranteed to be
-# both readable and writable at all times, even when the root fs
-# is mounted read-only. To that end, an in-RAM fs is used. Valid
-# values for spl_cachetype are 'tmpfs' and 'ramfs'. spl_cachesize
-# is a size limit in KB, and it should probably be left with the
-# default value.
-export spl_cachesize="4096"
-export spl_cachetype="tmpfs"
-export spl_cachedir="//lib/splash/cache"
-export spl_tmpdir="//lib/splash/tmp"
-export spl_fifo="${spl_cachedir}/.splash"
-export spl_pidfile="${spl_cachedir}/daemon.pid"
-export spl_util="//bin/splash_util.static"
-export spl_daemon="//sbin/fbsplashd.static"
-export spl_decor="//sbin/fbcondecor_ctl.static"
-export spl_bindir="//lib/splash/bin"
-
-# This is the main function which handles all events.
-# Accepted parameters:
-# svc_start <name>
-# svc_stop <name>
-# svc_started <name>
-# svc_stopped <name>
-# svc_start_failed <name>
-# svc_stop_failed <name>
-# svc_input_begin <name>
-# svc_input_end <name>
-# rc_init <internal_runlevel> - used to distinguish between 'boot' and 'sysinit'
-# rc_exit
-# critical
-splash() {
- local event="$1"
- shift
-
- # Reload the splash settings in rc_init. We could have set them wrong the
- # first time splash_setup was called (when splash-functions.sh was first
- # sourced) if /proc wasn't mounted.
- if [ "${event}" = "rc_init" ]; then
- splash_setup "force"
- else
- splash_setup
- fi
-
- [ "${SPLASH_MODE_REQ}" = "off" ] && return
-
- # Prepare the cache here -- rc_init-pre might want to use it
- if [ "${event}" = "rc_init" ]; then
- if [ "${RUNLEVEL}" = "S" -a "$1" = "sysinit" ]; then
- splash_cache_prep 'start' || return
- elif [ "${RUNLEVEL}" = "6" -o "${RUNLEVEL}" = "0" ]; then
- # Check if the splash cachedir is mounted readonly. If it is,
- # we need to mount a tmpfs over it.
- if ! touch "${spl_cachedir}/message" 2>/dev/null ; then
- splash_cache_prep 'stop' || return
- fi
- fi
- fi
-
- local args=""
-
- if [ "${event}" = "rc_init" -o "${event}" = "rc_exit" ]; then
- args="$* ${RUNLEVEL}"
- elif [ "${event}" = "svc_started" -o "${event}" = "svc_stopped" ]; then
- if [ -z "$2" ]; then
- # Backwards compatibility hack. Add a 0 to the arguments to simulate
- # an error code.
- args="$* 0"
- else
- args="$*"
-
- # Backwards compatibility: translate an error condition (non-zero
- # error code) into an appropriate event.
- if [ "$2" != "0" ]; then
- if [ "${event}" = "svc_started" ]; then
- event="svc_start_failed"
- else
- event="svc_stop_failed"
- fi
- fi
- fi
- else
- args="$*"
- fi
-
- splash_profile "pre ${event} ${args}"
-
- # Handle -pre event hooks
- if [ -x "/etc/splash/${SPLASH_THEME}/scripts/${event}-pre" ]; then
- /etc/splash/"${SPLASH_THEME}"/scripts/${event}-pre ${args}
- fi
-
- case "$event" in
- svc_start) splash_svc_start "$1";;
- svc_stop) splash_svc_stop "$1";;
- svc_started) splash_svc "$1" "start";;
- svc_stopped) splash_svc "$1" "stop";;
- svc_start_failed) splash_svc_fail "$1" "start";;
- svc_stop_failed) splash_svc_fail "$1" "stop";;
- svc_input_begin) splash_input_begin "$1";;
- svc_input_end) splash_input_end "$1";;
- rc_init) splash_init "$1" "${RUNLEVEL}";;
- rc_exit) splash_exit "${RUNLEVEL}";;
- critical) splash_verbose;;
- esac
-
- splash_profile "post ${event} ${args}"
-
- # Handle -post event hooks
- if [ -x "/etc/splash/${SPLASH_THEME}/scripts/${event}-post" ]; then
- /etc/splash/"${SPLASH_THEME}"/scripts/${event}-post ${args}
- fi
-
- return 0
-}
-
-splash_setup() {
- # If it's already set up, let's not waste time on parsing the config
- # files again
- if [ "${SPLASH_THEME}" != "" -a "${SPLASH_TTY}" != "" -a "$1" != "force" ]; then
- return 0
- fi
-
- export SPLASH_EFFECTS=""
- export SPLASH_SANITY=""
- export SPLASH_TEXTBOX="no"
- export SPLASH_MODE_REQ="off"
- export SPLASH_PROFILE="off"
- export SPLASH_THEME="default"
- export SPLASH_TTY="16"
- export SPLASH_KDMODE="TEXT"
- export SPLASH_AUTOVERBOSE="0"
- export SPLASH_BOOT_MESSAGE="Booting the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_SHUTDOWN_MESSAGE="Shutting down the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_REBOOT_MESSAGE="Rebooting the system (\$progress%)... Press F2 for verbose mode."
- export SPLASH_XSERVICE="xdm"
-
- [ -f /etc/splash/splash ] && . /etc/splash/splash
- [ -f /etc/conf.d/splash ] && . /etc/conf.d/splash
- [ -f /etc/conf.d/fbcondecor ] && . /etc/conf.d/fbcondecor
-
- if [ -f /proc/cmdline ]; then
- options=$(grep -o 'splash=[^ ]*' /proc/cmdline)
-
- # Execute this loop over $options so that we can process multiple
- # splash= arguments on the kernel command line. Useful for adjusting
- # splash parameters from ISOLINUX.
- for opt in ${options} ; do
- options=${opt#*=}
-
- for i in $(echo "${options}" | sed -e 's/,/ /g') ; do
- case ${i%:*} in
- theme) SPLASH_THEME=${i#*:} ;;
- tty) SPLASH_TTY=${i#*:} ;;
- verbose) SPLASH_MODE_REQ="verbose" ;;
- silent) SPLASH_MODE_REQ="silent" ;;
- kdgraphics) SPLASH_KDMODE="GRAPHICS" ;;
- profile) SPLASH_PROFILE="on" ;;
- insane) SPLASH_SANITY="insane" ;;
- esac
- done
- done
- fi
-}
-
-splash_get_boot_message() {
- if [ "${RUNLEVEL}" = "6" ]; then
- echo "${SPLASH_REBOOT_MESSAGE}"
- elif [ "${RUNLEVEL}" = "0" ]; then
- echo "${SPLASH_SHUTDOWN_MESSAGE}"
- else
- echo "${SPLASH_BOOT_MESSAGE}"
- fi
-}
-
-splash_start() {
- if [ "${SPLASH_MODE_REQ}" = "verbose" ]; then
- ${spl_decor} -c on 2>/dev/null
- return 0
- elif [ "${SPLASH_MODE_REQ}" != "silent" ]; then
- return 0
- fi
-
- # Display a warning if the system is not configured to display init messages
- # on tty1. This can cause a lot of problems if it's not handled correctly, so
- # we don't allow silent splash to run on incorrectly configured systems.
- if [ "${SPLASH_MODE_REQ}" = "silent" -a "${SPLASH_SANITY}" != "insane" ]; then
- if [ -z "$(grep -E '(^| )CONSOLE=/dev/tty1( |$)' /proc/cmdline)" -a \
- -z "$(grep -E '(^| )console=tty1( |$)' /proc/cmdline)" ]; then
- clear
- splash_warn "You don't appear to have a correct console= setting on your kernel"
- splash_warn "command line. Silent splash will not be enabled. Please add"
- splash_warn "console=tty1 or CONSOLE=/dev/tty1 to your kernel command line"
- splash_warn "to avoid this message."
- if [ -n "$(grep 'CONSOLE=/dev/tty1' /proc/cmdline)" -o \
- -n "$(grep 'console=tty1' /proc/cmdline)" ]; then
- splash_warn "Note that CONSOLE=/dev/tty1 and console=tty1 are general parameters and"
- splash_warn "not splash= settings."
- fi
- return 1
- fi
-
- if [ -n "$(grep -E '(^| )CONSOLE=/dev/tty1( |$)' /proc/cmdline)" ]; then
- mount -n --bind / ${spl_tmpdir}
- if [ ! -c "${spl_tmpdir}/dev/tty1" ]; then
- umount -n ${spl_tmpdir}
- splash_warn "The filesystem mounted on / doesn't contain the /dev/tty1 device"
- splash_warn "which is required for the silent splash to function properly."
- splash_warn "Silent splash will not be enabled. Please create the appropriate"
- splash_warn "device node to avoid this message."
- return 1
- fi
- umount -n ${spl_tmpdir}
- fi
- fi
-
- rm -f "${spl_pidfile}"
-
- # Prepare the communications FIFO
- rm -f "${spl_fifo}" 2>/dev/null
- mkfifo "${spl_fifo}"
-
- local options=""
- [ "${SPLASH_KDMODE}" = "GRAPHICS" ] && options="--kdgraphics"
- [ -n "${SPLASH_EFFECTS}" ] && options="${options} --effects=${SPLASH_EFFECTS}"
- [ "${SPLASH_TEXTBOX}" = "yes" ] && options="${options} --textbox"
-
- local ttype="bootup"
- if [ "${RUNLEVEL}" = "6" ]; then
- ttype="reboot"
- elif [ "${RUNLEVEL}" = "0" ]; then
- ttype="shutdown"
- fi
-
- # Start the splash daemon
- BOOT_MSG="$(splash_get_boot_message)" ${spl_daemon} --theme="${SPLASH_THEME}" --pidfile="${spl_pidfile}" --type=${ttype} ${options}
-
- # Set the silent TTY and boot message
- splash_comm_send "set tty silent ${SPLASH_TTY}"
-
- if [ "${SPLASH_MODE_REQ}" = "silent" ]; then
- splash_comm_send "set mode silent"
- splash_comm_send "repaint"
- ${spl_decor} -c on 2>/dev/null
- fi
-
- splash_comm_send "set autoverbose ${SPLASH_AUTOVERBOSE}"
-
- splash_set_event_dev
-
- return 0
-}
-
-###########################################################################
-# Cache-related functions
-###########################################################################
-
-splash_cache_prep() {
- # Mount an in-RAM filesystem at spl_cachedir
- mount -ns -t "${spl_cachetype}" cachedir "${spl_cachedir}" \
- -o rw,mode=0644,size="${spl_cachesize}"k
-
- retval="$?"
-
- if [ ${retval} -ne 0 ]; then
- splash_err "Unable to create splash cache - switching to verbose."
- splash_verbose
- return "${retval}"
- fi
-}
-
-# args: list of files to save when the cache is umounted
-# Note that the 'profile' file is already handled and thus shouldn't
-# be included in the list.
-splash_cache_cleanup() {
- # Don't try to clean anything up if the cachedir is not mounted.
- [ -z "$(grep ${spl_cachedir} /proc/mounts)" ] && return;
-
- # Create the temp dir if necessary.
- if [ ! -d "${spl_tmpdir}" ]; then
- mkdir -p "${spl_tmpdir}" 2>/dev/null
- [ "$?" != "0" ] && return
- fi
-
- # Make sure the splash daemon is dead.
- if [ -n "$(pgrep fbsplashd)" ]; then
- sleep 1
- killall -9 "${spl_daemon##*/}" 2>/dev/null
- fi
-
- # If /etc is not writable, don't update /etc/mtab. If it is
- # writable, update it to avoid stale mtab entries (bug #121827).
- local mntopt=""
- [ -w /etc/mtab ] || mntopt="-n"
- mount ${mntopt} --move "${spl_cachedir}" "${spl_tmpdir}" 2>/dev/null
-
- # Don't try to copy anything if the cachedir is not writable.
- [ -w "${spl_cachedir}" ] || return
-
- if [ "${SPLASH_PROFILE}" != "off" ]; then
- cp -a "${spl_tmpdir}/profile" "${spl_cachedir}" 2>/dev/null
- fi
-
- while [ -n "$1" ]; do
- cp -a "${spl_tmpdir}/$1" "${spl_cachedir}" 2>/dev/null
- shift
- done
-
- umount -l "${spl_tmpdir}" 2>/dev/null
-}
-
-###########################################################################
-# Common functions
-###########################################################################
-
-# Sends data to the splash FIFO after making sure there's someone
-# alive on the other end to receive it.
-splash_comm_send() {
- if [ -z "`pidof $(basename ${spl_daemon})`" ]; then
- return 1
- else
- splash_profile "comm $*"
- echo "$*" > "${spl_fifo}" &
- fi
-}
-
-# Returns the current splash mode.
-splash_get_mode() {
- local ctty="${spl_bindir}/fgconsole"
- local mode="$(${spl_util})"
-
- if [ "${mode}" = "silent" ]; then
- echo "silent"
- else
- if [ -z "$(${spl_decor} -c getstate --tty=${ctty} 2>/dev/null | grep off)" ]; then
- echo "verbose"
- else
- echo "off"
- fi
- fi
-}
-
-# chvt <n>
-# --------
-# Switches to the n-th tty.
-chvt() {
- local ntty=$1
-
-# if [ -x /usr/bin/chvt ] ; then
-# /usr/bin/chvt ${ntty}
-# else
- printf "\e[12;${ntty}]"
-# fi
-}
-
-# Switches to verbose mode.
-splash_verbose() {
-# chvt 1
-/bin/true
-}
-
-# Switches to silent mode.
-splash_silent() {
- splash_comm_send "set mode silent"
-}
-
-# Saves profiling information
-splash_profile() {
- if [ "${SPLASH_PROFILE}" = "on" ]; then
- echo "$(cat /proc/uptime | cut -f1 -d' '): $*" >> "${spl_cachedir}/profile"
- fi
-}
-
-# Set the input device if it exists. This will make it possible to use F2 to
-# switch from verbose to silent.
-splash_set_event_dev() {
- local t="$(grep -Hsi keyboard /sys/class/input/input*/name | sed -e 's#.*input\([0-9]*\)/name.*#event\1#')"
- if [ -z "${t}" ]; then
- t="$(grep -Hsi keyboard /sys/class/input/event*/device/driver/description | grep -o 'event[0-9]\+')"
- if [ -z "${t}" ]; then
- for i in /sys/class/input/input* ; do
- if [ "$((0x$(cat $i/capabilities/ev) & 0x100002))" = "1048578" ]; then
- t="$(echo $i | sed -e 's#.*input\([0-9]*\)#event\1#')"
- fi
- done
-
- if [ -z "${t}" ]; then
- # Try an alternative method of finding the event device. The idea comes
- # from Bombadil <bombadil(at)h3c.de>. We're couting on the keyboard controller
- # being the first device handled by kbd listed in input/devices.
- t="$(/bin/grep -s -m 1 '^H: Handlers=kbd' /proc/bus/input/devices | grep -o 'event[0-9]*')"
- fi
- fi
- fi
- [ -n "${t}" ] && splash_comm_send "set event dev /dev/input/${t}"
-}
-
-###########################################################################
-# Service
-###########################################################################
-
-# args: <svc> <action>
-splash_svc() {
- local srv="$1"
- local act="$2"
-
- if [ "${act}" = "start" ]; then
- splash_svc_update "${srv}" "svc_started"
- if [ "${srv}" = "gpm" ]; then
- splash_comm_send "set gpm"
- splash_comm_send "repaint"
- fi
- splash_comm_send "log Service '${srv}' started."
- else
- splash_svc_update "${srv}" "svc_stopped"
- splash_comm_send "log Service '${srv}' stopped."
- fi
-
- splash_update_progress "${srv}"
-}
-
-# args: <svc> <action>
-splash_svc_fail() {
- local srv="$1"
- local act="$2"
-
- if [ "${SPLASH_VERBOSE_ON_ERRORS}" = "yes" ]; then
- splash_verbose
- return 1
- fi
-
- if [ "${act}" = "start" ]; then
- splash_svc_update "${srv}" "svc_start_failed"
- splash_comm_send "log Service '${srv}' failed to start."
- else
- splash_svc_update "${srv}" "svc_stop_failed"
- splash_comm_send "log Service '${srv}' failed to stop."
- fi
-
- splash_update_progress "${srv}"
-}
-
-# args: <svc> <state>
-#
-# Inform the splash daemon about service status changes.
-splash_svc_update() {
- splash_comm_send "update_svc $1 $2"
-}
-
-# args: <svc>
-splash_svc_start() {
- local svc="$1"
-
- splash_svc_update "${svc}" "svc_start"
- splash_comm_send "paint"
-}
-
-# args: <svc>
-splash_svc_stop() {
- local svc="$1"
-
- splash_svc_update "${svc}" "svc_stop"
- splash_comm_send "paint"
-}
-
-# args: <svc>
-splash_input_begin() {
- local svc="$1"
-
- if [ "$(splash_get_mode)" = "silent" ]; then
- splash_verbose
- export SPL_SVC_INPUT_SILENT="${svc}"
- fi
-}
-
-# args: <svc>
-splash_input_end() {
- local svc="$1"
-
- if [ "${SPL_SVC_INPUT_SILENT}" = "${svc}" ]; then
- splash_silent
- unset SPL_SVC_INPUT_SILENT
- fi
-}
-
-###########################################################################
-# Framebuffer Console Decorations functions
-###########################################################################
-
-fbcondecor_supported()
-{
- [ -e /dev/fbsplash -o -e /dev/fbcondecor ]
-}
-
-# args: <theme> <tty>
-fbcondecor_set_theme()
-{
- local theme=$1
- local tty=$2
-
- [ -x ${spl_decor} ] || return 1
-
- ${spl_decor} --tty="${tty}" -t "${theme}" -c setcfg || return 1
- ${spl_decor} --tty="${tty}" -t "${theme}" -c setpic -q
- ${spl_decor} --tty="${tty}" -c on
-}
-
-###########################################################################
-# Service list
-###########################################################################
-
-# splash_svclist_get <type>
-# -------------------------
-# type:
-# - start - to get a list of services to be started during bootup
-# - stop - to get a list of services to be stopped during shutdown/reboot
-splash_svclist_get() {
- if [ "$1" = "start" -a -r "${spl_cachedir}/svcs_start" ]; then
- cat "${spl_cachedir}/svcs_start"
- elif [ "$1" = "stop" -a -r "${spl_cachedir}/svcs_stop" ]; then
- cat "${spl_cachedir}/svcs_stop"
- fi
-}
-
-splash_warn() {
- echo "$*"
-}
-
-splash_err() {
- echo "$*"
-}
-
-############################################################################
-# Functions to be overridden by distro-specific code
-###########################################################################
-
-# args: <internal_runlevel> <runlevel>
-#
-# This function is called when an 'rc_init' event takes place,
-# i.e. when the runlevel is changed.
-
-# It is normally used to initialize any internal splash-related
-# variables (e.g. ones used to track the boot progress), calculate
-# and save the service list and call `splash_start` in appropriate
-# runlevels.
-#
-# Note that the splash cache is already intialized when this
-# function is called.
-splash_init() {
- if [ "$2" = "6" -o "$2" = "0" -o "$2" = "S" -a "$1" = "sysinit" ]; then
- splash_start
- fi
-}
-
-# args: <runlevel>
-#
-# This function is called when an 'rc_exit' event takes place,
-# i.e. at the end of processes all initscript from a runlevel.
-splash_exit() {
- # If we're in sysinit or rebooting, do nothing.
- [ "$1" = "S" -o "$1" = "6" -o "$1" = "0" ] && return 0
-
- splash_comm_send "exit"
- splash_cache_cleanup
-}
-
-# args: <svc>
-#
-# This function is called whenever the progress variable should be
-# updated. It should recalculate the progress and send it to the
-# splash daemon.
-splash_update_progress() {
- # splash_comm_send "progress ${progress}"
- # splash_comm_send "paint"
- return
-}
-
-# Export functions if we're running bash.
-if [ -n "${BASH}" ]; then
- export -f splash
- export -f splash_setup
- export -f splash_get_boot_message
- export -f splash_start
- export -f splash_cache_prep
- export -f splash_cache_cleanup
- export -f splash_comm_send
- export -f splash_get_mode
- export -f chvt
- export -f splash_verbose
- export -f splash_silent
- export -f splash_profile
- export -f splash_set_event_dev
- export -f splash_svclist_get
-fi
-
-# Load any supplementary splash functions.
-for i in /sbin/splash-functions-*.sh ; do
- [ -r "${i}" ] && . "${i}"
-done
-
-splash_setup
-
-# vim:ts=4
diff --git a/abs/core-testing/fbsplash/splash.conf b/abs/core-testing/fbsplash/splash.conf
new file mode 100644
index 0000000..74cada9
--- /dev/null
+++ b/abs/core-testing/fbsplash/splash.conf
@@ -0,0 +1,63 @@
+#
+# /etc/conf.d/splash
+#
+
+#### initcpio and Fbsplash daemon ##########################################
+
+## Themes to include into initcpio
+## For a smaller initcpio you may try theme cfg files instead of directories.
+SPLASH_THEMES=(
+ linhes
+)
+
+## Override the initial silent splash screen status message defaults.
+## Note: '$progress' will be replaced by Fbsplash itself.
+## * initcpio - (no effect with fbcondecor kernel)
+SPLASH_INIT_MESSAGE="Initializing the kernel"
+## * bootup
+SPLASH_BOOT_MESSAGE="Booting '$HOSTNAME' (\$progress%)"
+## * reboot
+SPLASH_REBOOT_MESSAGE="Rebooting '$HOSTNAME' (\$progress%)"
+## * shutdown
+SPLASH_SHUTDOWN_MESSAGE="Shutting down '$HOSTNAME' (\$progress%)"
+
+## To show animations early, include the Fbsplash daemon (1.5 MiB) into initcpio, too,
+## instead of the small helper only.
+## Note: Themes with 'scripts/rc_init-pre' like 'arch-banner-icons' are not supported.
+SPLASH_DAEMON="early"
+
+## Make the splash daemon use fade effects.
+## Note: The initcpio helper does only use the kernel parameter!
+# SPLASH_EFFECTS="fadein,fadeout"
+## Uggly hack to get that in from the kernel line :p
+SPLASH_EFFECTS=$(e=();IFS=',';for w in $splash;do [[ $w == fade* ]]&&e+=($w);done;echo "${e[*]}")
+
+## Enable the textbox when starting the Fbsplash daemon.
+## Useful if the theme provides a message log or other textbox.
+## The scripts write any initscripts [FAIL] messages to the log.
+## Note: The textbox can also be toggled by pressing F3-key.
+SPLASH_TEXTBOX="yes"
+
+## Splash progress timeout
+## If set to a positive value, Fbsplash will automatically switch to verbose
+## mode if there is no progress for the specified number of seconds.
+SPLASH_AUTOVERBOSE=0
+
+#### scripts behaviour #####################################################
+
+## Change to verbose mode on any initscripts [FAIL] message
+## Useful with very simple themes and also when starting Xorg from DAEMONS
+SPLASH_VERBOSE_ON_ERRORS="no"
+
+## Name of the DAEMONS script starting Xorg if any
+## Set this to avoid virtual terminal change struggle between Xorg and Fbsplash.
+SPLASH_XSERVICE="gdm"
+#SPLASH_XSERVICE="kdm"
+#SPLASH_XSERVICE="xdm"
+#SPLASH_XSERVICE="lxdm"
+#SPLASH_XSERVICE="slim"
+
+## Push initscripts [BUSY] messages to the splash status message line.
+SPLASH_PUSH_MESSAGES="no"
+
+# EOF #
diff --git a/abs/core-testing/fixesproto/PKGBUILD b/abs/core-testing/fixesproto/PKGBUILD
index 2f77d60..6af302b 100644
--- a/abs/core-testing/fixesproto/PKGBUILD
+++ b/abs/core-testing/fixesproto/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 54646 2009-10-11 16:21:38Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fixesproto
-pkgver=4.0
-pkgrel=2
+pkgver=4.1.1
+pkgrel=1
pkgdesc="X11 Fixes extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
-depends=(xproto xextproto)
+license=('custom')
+depends=('xproto' 'xextproto')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=(8b298cc3424597f8138c7faf7763dce9)
+md5sums=('4c1cb4f2ed9f34de59f2f04783ca9483')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core-testing/fontconfig/30-urw-aliases.patch b/abs/core-testing/fontconfig/30-urw-aliases.patch
new file mode 100644
index 0000000..8077b86
--- /dev/null
+++ b/abs/core-testing/fontconfig/30-urw-aliases.patch
@@ -0,0 +1,13 @@
+--- a/conf.d/30-urw-aliases.conf 2009-08-06 16:23:57.000000000 +0100
++++ b/conf.d/30-urw-aliases.conf 2009-08-06 16:25:07.000000000 +0100
+@@ -29,6 +29,10 @@
+ <family>Zapf Dingbats</family>
+ <accept><family>Dingbats</family></accept>
+ </alias>
++ <alias binding="same">
++ <family>ZapfDingbats</family>
++ <accept><family>Dingbats</family></accept>
++ </alias>
+ <match target="pattern">
+ <test name="family">
+ <string>Symbol</string>
diff --git a/abs/core-testing/fontconfig/PKGBUILD b/abs/core-testing/fontconfig/PKGBUILD
index f5c3465..ff2130a 100644
--- a/abs/core-testing/fontconfig/PKGBUILD
+++ b/abs/core-testing/fontconfig/PKGBUILD
@@ -1,32 +1,35 @@
-# $Id: PKGBUILD 4424 2008-07-06 22:09:03Z jgc $
+# $Id: PKGBUILD 59983 2009-11-29 20:25:27Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fontconfig
-pkgver=2.6.0
-pkgrel=4
+pkgver=2.8.0
+pkgrel=1
pkgdesc="A library for configuring and customizing font access"
arch=(i686 x86_64)
url="http://www.fontconfig.org/release/"
license=('custom')
-depends=('expat>=2.0' 'freetype2>=2.3.7')
+depends=('expat>=2.0.1' 'freetype2>=2.3.11')
options=('!libtool')
install=fontconfig.install
source=(http://www.fontconfig.org/release/${pkgname}-${pkgver}.tar.gz
- 29-replace-bitmap-fonts.conf)
-md5sums=('ab54ec1d4ddd836313fdbc0cd5299d6d'
- 'f6b67e8cc79197ed6abd4701911e83da')
+ 29-replace-bitmap-fonts.conf
+ 30-urw-aliases.patch)
+md5sums=('77e15a92006ddc2adbb06f840d591c0e'
+ 'f6b67e8cc79197ed6abd4701911e83da'
+ '51bc6cb633b50f3c28793361738aac5b')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/30-urw-aliases.patch" || return 1
# enable Position Independent Code for prelinking
export CFLAGS="${CFLAGS} -fPIC"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m644 ${startdir}/src/29-replace-bitmap-fonts.conf \
- ${startdir}/pkg/etc/fonts/conf.avail || return 1
- rm -f ${startdir}/pkg/etc/fonts/conf.d/*.conf
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m644 "${srcdir}/29-replace-bitmap-fonts.conf" \
+ "${pkgdir}/etc/fonts/conf.avail" || return 1
+ rm -f ${pkgdir}/etc/fonts/conf.d/*.conf
#Install license
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/fontconfig/fontconfig.install b/abs/core-testing/fontconfig/fontconfig.install
index 6608834..20feb6e 100644
--- a/abs/core-testing/fontconfig/fontconfig.install
+++ b/abs/core-testing/fontconfig/fontconfig.install
@@ -35,7 +35,7 @@ post_upgrade() {
The way fontconfig is configured has been changed.
Configuration is done via /etc/fonts/conf.avail and conf.d.
- Read /etc/fonts/conf.avail/README for more information.
+ Read /etc/fonts/conf.d/README for more information.
Configuration via /etc/fonts/local.conf is still possible,
but is no longer recommended for options available in conf.avail.
diff --git a/abs/core-testing/fontsproto/PKGBUILD b/abs/core-testing/fontsproto/PKGBUILD
index 7847a5c..595f2e3 100644
--- a/abs/core-testing/fontsproto/PKGBUILD
+++ b/abs/core-testing/fontsproto/PKGBUILD
@@ -1,19 +1,21 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 51009 2009-09-04 13:55:55Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=fontsproto
-pkgver=2.0.2
+pkgver=2.1.0
pkgrel=1
pkgdesc="X11 font extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('c946f166107b016a21cc7a02e1132724')
-sha1sums=('1244f63bd90668c7ddc88febbf4a220fd83ea492')
+sha1sums=('395b300fd5120a7ff90cb8fea4e2356b9632dc3e')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/freetype2/PKGBUILD b/abs/core-testing/freetype2/PKGBUILD
index 177f421..19f921d 100644
--- a/abs/core-testing/freetype2/PKGBUILD
+++ b/abs/core-testing/freetype2/PKGBUILD
@@ -1,7 +1,8 @@
-# $Id: PKGBUILD 4337 2008-07-06 17:43:50Z jgc $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 85761 2010-07-19 13:01:22Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=freetype2
-pkgver=2.3.7
+pkgver=2.4.1
pkgrel=1
pkgdesc="TrueType font rendering library"
arch=(i686 x86_64)
@@ -10,24 +11,18 @@ url="http://freetype.sourceforge.net"
depends=('zlib')
options=('!libtool')
source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2
- bytecode.patch
- freetype-2.3.0-enable-spr.patch
- freetype-2.2.1-enable-valid.patch
- freetype-2.2.1-memcpy-fix.patch)
-md5sums=('83306194817ebdea554133b4232a34aa'
- '9ff19e742968c29e3ba52b08d6bf0a50'
+ freetype-2.3.0-enable-spr.patch
+ freetype-2.2.1-enable-valid.patch)
+md5sums=('567a27e5189ed581396f69fb51faf2d8'
'816dc8619a6904a7385769433c0a8653'
- '214119610444c9b02766ccee5e220680'
- '6fb6606d28082ecb8e0c6d986b0b26aa')
+ '214119610444c9b02766ccee5e220680')
build() {
- cd ${startdir}/src/freetype-${pkgver}
- patch -Np0 -i ${startdir}/src/bytecode.patch || return 1
- patch -Np1 -i ${startdir}/src/freetype-2.3.0-enable-spr.patch || return 1
- patch -Np1 -i ${startdir}/src/freetype-2.2.1-enable-valid.patch || return 1
- patch -Np1 -i ${startdir}/src/freetype-2.2.1-memcpy-fix.patch || return 1
+ cd "${srcdir}/freetype-${pkgver}"
+ patch -Np1 -i "${srcdir}/freetype-2.3.0-enable-spr.patch" || return 1
+ patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch" || return 1
- ./configure --prefix=/usr --disable-static || return 1
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core-testing/gcc-libs/PKGBUILD b/abs/core-testing/gcc-libs/PKGBUILD
deleted file mode 100644
index 3edfc76..0000000
--- a/abs/core-testing/gcc-libs/PKGBUILD
+++ /dev/null
@@ -1,72 +0,0 @@
-# $Id: PKGBUILD 25244 2009-01-24 17:53:12Z andyrtr $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=gcc-libs
-pkgver=4.3.3
-pkgrel=1
-#_snapshot=4.3-20080724
-pkgdesc="Runtime libraries shipped by GCC for C and C++ languages"
-arch=('i686' 'x86_64')
-license=('GPL' 'LGPL')
-groups=('base')
-url="http://gcc.gnu.org"
-depends=('glibc>=2.8-3')
-makedepends=('binutils>=2.19' 'gcc>=4.3.2' 'mpfr>=2.3.1' 'texinfo' 'flex')
-conflicts=('gcc-fortran' 'gcc-objc')
-provides=("gcc-objc=${pkgver}")
-options=('!libtool' '!emptydirs' '!docs')
-source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc}-${pkgver}.tar.bz2
- #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc}-${_snapshot}.tar.bz2
- gcc_pure64.patch
- gcc-hash-style-both.patch
- buildfix_new_bison.patch)
-md5sums=('1739288c2c7b1472796b33d641dbdbbd'
- '18428e313a9927d38b313e688c62219b'
- '8771e6190dd4f3178b2a7978d2380a5d'
- '125b75947c763ba59b7ea95d3739d431'
- '4030ee1c08dd1e843c0225b772360e76'
- 'bb420bc84b1104455b7230b1cd4b96c2'
- '412fb8ebb30958eb1a93e9bd89413dd7')
-
-build() {
- if ! locale -a | grep ^de_DE; then
- echo "You need the de_DE locale to build gcc."
- return 1
- fi
-
- cd ${srcdir}/gcc-${pkgver}
- #cd ${srcdir}/gcc-${_snapshot}
- # Don't install libiberty
- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
-
- if [ "${CARCH}" = "x86_64" ]; then
- patch -Np1 -i ../gcc_pure64.patch || return 1
- fi
- patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch || return 1
- patch -Np0 -i ${srcdir}/buildfix_new_bison.patch || return 1
-
- # Don't run fixincludes
- sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
-
-# echo ${pkgver} > gcc/BASE-VER
-
- mkdir build
- cd build
- ../configure --prefix=/usr --enable-shared \
- --enable-languages=c,c++,fortran,objc,obj-c++,treelang --enable-threads=posix \
- --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib \
- --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \
- --with-tune=generic
- make || return 1
- make -j1 DESTDIR=${pkgdir} install-target-libstdc++-v3 install-target-libmudflap install-target-libgomp install-target-libssp install-target-libgfortran install-target-libobjc install-target-libgcc || return 1
-
- # Cleanup, libgomp installs the whole compiler it seems...
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/gcc
- rm -rf ${pkgdir}/usr/bin
- rm -rf ${pkgdir}/usr{,share}/man
- find ${pkgdir} -name gcc.mo -delete
-
-# rm -f {pkgdir}/usr/share/info/dir
-}
diff --git a/abs/core-testing/gcc-libs/buildfix_new_bison.patch b/abs/core-testing/gcc-libs/buildfix_new_bison.patch
deleted file mode 100644
index 01b8880..0000000
--- a/abs/core-testing/gcc-libs/buildfix_new_bison.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gcc/treelang/parse.y 2007-07-18 08:19:29.000000000 +0000
-+++ gcc/treelang/parse.y.new 2008-11-20 06:40:00.013275486 +0000
-@@ -369,7 +369,6 @@
- current_function = NULL;
- }
- ;
--
- variable_defs_opt:
- /* Nil. */ {
- $$ = 0;
-@@ -685,9 +684,9 @@
-
- expressions_with_commas_opt:
- /* Nil. */ {
--$$ = 0
-+$$ = 0;
- }
--|expressions_with_commas { $$ = $1 }
-+|expressions_with_commas { $$ = $1; }
- ;
-
- expressions_with_commas:
diff --git a/abs/core-testing/gcc-libs/gcc-hash-style-both.patch b/abs/core-testing/gcc-libs/gcc-hash-style-both.patch
deleted file mode 100644
index 8fea758..0000000
--- a/abs/core-testing/gcc-libs/gcc-hash-style-both.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-#! /bin/sh -e
-
-# DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc)
-
-dir=
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
- dir="$3/"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch)
- patch $pdir -f --no-backup-if-mismatch -p0 < $0
- #cd ${dir}gcc && autoconf
- ;;
- -unpatch)
- patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
- #rm ${dir}gcc/configure
- ;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
-2006-07-11 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/linux.h (LINK_SPEC): Add --hash-style=both.
- * config/i386/linux64.h (LINK_SPEC): Likewise.
- * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
- * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
- LINK_OS_LINUX_SPEC64): Likewise.
- * config/s390/linux.h (LINK_SPEC): Likewise.
- * config/ia64/linux.h (LINK_SPEC): Likewise.
- * config/sparc/linux.h (LINK_SPEC): Likewise.
- * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
- LINK_ARCH64_SPEC): Likewise.
- * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
-
---- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200
-+++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200
-@@ -39,7 +39,7 @@
-
- #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
-
--#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
-+#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
- %{O*:-O3} %{!O*:-O1} \
- %{shared:-shared} \
- %{!shared: \
---- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200
-+++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -77,7 +77,7 @@
-
- #undef LINK_SPEC
- #define LINK_SPEC \
-- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
- %{shared:-shared} \
- %{!shared: \
- %{static:-static} \
---- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200
-+++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -132,7 +132,7 @@
-
-
- #undef LINK_SPEC
--#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
- %{!mno-relax:%{!r:-relax}} \
- %{!shared: \
- %{!ibcs: \
---- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200
-+++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200
-@@ -166,7 +166,7 @@
- { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
- { "link_arch", LINK_ARCH_SPEC },
-
--#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
-@@ -175,7 +175,7 @@
- %{static:-static}}} \
- "
-
--#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
-@@ -256,7 +256,7 @@
- #else /* !SPARC_BI_ARCH */
-
- #undef LINK_SPEC
--#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
---- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200
-+++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -108,7 +108,7 @@
- { "dynamic_linker", LINUX_DYNAMIC_LINKER }
-
- #undef LINK_SPEC
--#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
-+#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
---- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200
-+++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200
-@@ -65,7 +65,7 @@
- #endif
-
- #undef LINK_SPEC
--#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
-+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
---- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100
-+++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200
-@@ -40,7 +40,7 @@
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
-
- #undef LINK_SPEC
--#define LINK_SPEC "\
-+#define LINK_SPEC "--hash-style=both \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
---- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200
-+++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200
-@@ -901,7 +901,7 @@
- #define LINUX_DYNAMIC_LINKER \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
-
--#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
-
---- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200
-+++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200
-@@ -354,11 +354,11 @@
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
-
-
--#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
-+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
-
--#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
-+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
-
diff --git a/abs/core-testing/gcc-libs/gcc_pure64.patch b/abs/core-testing/gcc-libs/gcc_pure64.patch
deleted file mode 100644
index 8c0baf8..0000000
--- a/abs/core-testing/gcc-libs/gcc_pure64.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
---- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
-+++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
-@@ -49,8 +49,8 @@
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
-
- #undef LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
-diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
---- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
-+++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
-@@ -6,7 +6,7 @@
-
- MULTILIB_OPTIONS = m64/m32
- MULTILIB_DIRNAMES = 64 32
--MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
-+MULTILIB_OSDIRNAMES = ../lib ../lib32
-
- LIBGCC = stmp-multilib
- INSTALL_LIBGCC = install-multilib
diff --git a/abs/core-testing/gcc/PKGBUILD b/abs/core-testing/gcc/PKGBUILD
index fd796b4..40fd4b6 100644
--- a/abs/core-testing/gcc/PKGBUILD
+++ b/abs/core-testing/gcc/PKGBUILD
@@ -1,81 +1,222 @@
-# $Id: PKGBUILD 25249 2009-01-24 18:28:11Z andyrtr $
+# $Id: PKGBUILD 82472 2010-06-11 13:12:15Z allan $
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
-pkgname=gcc
-pkgver=4.3.3
-pkgrel=1
-#_snapshot=4.3-20080724
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: libtool requires rebuilt with each new gcc version
+
+pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada')
+pkgver=4.5.0
+pkgrel=6
+_snapshot=4.5-20100610
+_libstdcppmanver=20100312 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL')
-groups=('base-devel')
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'custom')
url="http://gcc.gnu.org"
-depends=('binutils>=2.19' "gcc-libs>=${pkgver}" 'mpfr>=2.3.1' 'texinfo')
-makedepends=('flex')
-replaces=('gcc-fortran' 'gcc-objc')
-options=('!libtool')
-install=gcc.install
-source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,java}-${pkgver}.tar.bz2
- #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,java}-${_snapshot}.tar.bz2
- ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man-20080118.tar.bz2
+makedepends=('binutils>=2.20.1' 'libmpc>=0.8.2-2' 'cloog-ppl>=0.15.8' 'libelf' 'gcc-ada')
+options=('!libtool' '!emptydirs')
+source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,ada}-${pkgver}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-{core,g++,fortran,objc,ada}-${_snapshot}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-man.${_libstdcppmanver}.tar.bz2
gcc_pure64.patch
gcc-hash-style-both.patch
- buildfix_new_bison.patch)
-md5sums=('1739288c2c7b1472796b33d641dbdbbd'
- '18428e313a9927d38b313e688c62219b'
- '8771e6190dd4f3178b2a7978d2380a5d'
- '125b75947c763ba59b7ea95d3739d431'
- '068938366ee0be5b70112bdf485898b4'
- '990881456a89b1ffbd68d2d7188759da'
+ r160561.patch)
+md5sums=('d0c6573f18e61d0a6c6fe742066346cd'
+ '4c5369d27b8cb4c4e447553f064d0f16'
+ '2c191ab600e600c774a65674c542e210'
+ 'a569128d6daf741b242e39f5c24debe4'
+ 'a7527896c33759ccc40bb82173f8f27f'
+ 'f9a21b9dfc174f49a09ddaacfd3ac78f'
'4030ee1c08dd1e843c0225b772360e76'
- 'bb420bc84b1104455b7230b1cd4b96c2'
- '412fb8ebb30958eb1a93e9bd89413dd7')
+ '6fd395bacbd7b6e47c7b74854b478363'
+ '79cb26e66eb2502171ef69438fa8666d')
+
+if [ -n "${_snapshot}" ]; then
+ _basedir="${srcdir}/gcc-${_snapshot}"
+else
+ _basedir="${srcdir}/gcc-${pkgver}"
+fi
build() {
- if ! locale -a | grep ^de_DE; then
+ if ! locale -a | grep ^de_DE > /dev/null; then
echo "You need the de_DE locale to build gcc."
return 1
fi
- cd ${srcdir}/gcc-${pkgver}
- #cd ${srcdir}/gcc-${_snapshot}
- # Don't install libiberty
+ cd ${_basedir}
+
+ # Do not install libiberty
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
if [ "${CARCH}" = "x86_64" ]; then
patch -Np1 -i ../gcc_pure64.patch || return 1
fi
patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch || return 1
- patch -Np0 -i ${srcdir}/buildfix_new_bison.patch || return 1
+
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44258
+ patch -Np1 -i ${srcdir}/r160561.patch || return 1
echo ${pkgver} > gcc/BASE-VER
- mkdir build
- cd build
- ../configure --prefix=/usr --enable-shared \
- --enable-languages=c,c++,fortran,objc,obj-c++,treelang \
- --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info \
- --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib \
- --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \
- --with-tune=generic
+ mkdir build && cd build
+ ../configure --prefix=/usr --enable-languages=c,c++,fortran,objc,obj-c++,ada \
+ --enable-shared --enable-threads=posix --enable-__cxa_atexit \
+ --enable-clocale=gnu --enable-gnu-unique-object \
+ --enable-lto --enable-plugin \
+ --disable-multilib --disable-libstdcxx-pch \
+ --with-system-zlib --with-ppl --with-cloog \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info
make || return 1
+}
+
+package_gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC for C and C++ languages"
+ groups=('base')
+ depends=('glibc>=2.12-4')
+ install=gcc-libs.install
+
+ cd ${_basedir}/build
+ make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libssp libstdc++-v3/src; do
+ make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+ make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
+
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+ # I thought I said to only install the lib...
+ rm -rf ${pkgdir}/usr/lib/gcc/
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc()
+{
+ depends=('binutils>=2.20.1' 'libmpc>=0.8.1-2' 'cloog-ppl>=0.15.8' 'libelf')
+ groups=('base-devel')
+ install=gcc.install
+
+ cd ${_basedir}/build
+
+ # much, much easier to install the lot and clean-up the mess
make -j1 DESTDIR=${pkgdir} install || return 1
- mkdir -p ${pkgdir}/lib
- ln -sf ../usr/bin/cpp ${pkgdir}/lib/cpp
+ rm $pkgdir/usr/bin/{*gfortran,gnat*}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}/*
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,libgfortranbegin.a}
+ rm $pkgdir/usr/lib/{*.so*,lib{gfortran,objc}.a}
+ rm $pkgdir/usr/share/info/{gfortran,gnat*,libgomp}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/gfortran.1
+
+ # many packages require these symlinks
+ install -dm755 ${pkgdir}/lib
+ ln -sf /usr/bin/cpp ${pkgdir}/lib/cpp
ln -sf gcc ${pkgdir}/usr/bin/cc
ln -sf g++ ${pkgdir}/usr/bin/c++
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
# install the libstdc++ man pages
- mkdir -p ${pkgdir}/usr/share/man/man3
- install -m644 ${srcdir}/man/man3/* ${pkgdir}/usr/share/man/man3/
+ install -dm755 ${pkgdir}/usr/share/man/man3
+ install -m644 ${srcdir}/libstdc++-man.${_libstdcppmanver}/man3/* \
+ ${pkgdir}/usr/share/man/man3/
+ # deal with conflicts...
+ rm -f ${pkgdir}/usr/share/man/man3/{ctime,queue,random,regex,string}.3
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran()
+{
+ pkgdesc="Fortran front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-fortran.install
+
+ cd ${_basedir}/build
+ make -j1 DESTDIR=$pkgdir install-target-libgfortran
+ make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+
+ # remove libraries included in gcc-libs
+ rm -f ${pkgdir}/usr/lib/libgfortran.so*
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc()
+{
+ pkgdesc="Objective-C front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
- # Remove libraries and translations in gcc-libs
- rm -f ${pkgdir}/usr/lib/lib*
- find ${pkgdir} -name libstdc++.mo -delete
+ cd ${_basedir}/build
+ make -j1 DESTDIR=$pkgdir install-target-libobjc
+ install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
- # Remove fixed includes, either no need for them, or they're not complete
- rm -rf ${pkgdir}/usr/lib/${CHOST}/${pkgver}/include-fixed/*
+ # remove libraries included in gcc-libs
+ rm -f ${pkgdir}/usr/lib/libobjc.so*
- rm -f ${pkgdir}/usr/share/info/dir
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada()
+{
+ pkgdesc="Ada front-end for GCC (GNAT)"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-ada.install
+
+ cd ${_basedir}/build/gcc
+ make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
}
diff --git a/abs/core-testing/gcc/gcc-ada.install b/abs/core-testing/gcc/gcc-ada.install
new file mode 100644
index 0000000..1c8e086
--- /dev/null
+++ b/abs/core-testing/gcc/gcc-ada.install
@@ -0,0 +1,22 @@
+infodir=/usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core-testing/gcc/gcc-fortran.install b/abs/core-testing/gcc/gcc-fortran.install
new file mode 100644
index 0000000..acffc05
--- /dev/null
+++ b/abs/core-testing/gcc/gcc-fortran.install
@@ -0,0 +1,18 @@
+infodir=/usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core-testing/gcc/gcc-hash-style-both.patch b/abs/core-testing/gcc/gcc-hash-style-both.patch
index 8fea758..fbb2105 100644
--- a/abs/core-testing/gcc/gcc-hash-style-both.patch
+++ b/abs/core-testing/gcc/gcc-hash-style-both.patch
@@ -78,8 +78,8 @@ exit 0
{ "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
{ "link_arch", LINK_ARCH_SPEC },
--#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -87,8 +87,8 @@ exit 0
%{static:-static}}} \
"
--#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -96,8 +96,8 @@ exit 0
#else /* !SPARC_BI_ARCH */
#undef LINK_SPEC
--#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
diff --git a/abs/core-testing/gcc/gcc-libs.install b/abs/core-testing/gcc/gcc-libs.install
new file mode 100644
index 0000000..bd57efb
--- /dev/null
+++ b/abs/core-testing/gcc/gcc-libs.install
@@ -0,0 +1,14 @@
+infodir=/usr/share/info
+file="libgomp.info"
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core-testing/gcc/gcc.install b/abs/core-testing/gcc/gcc.install
index 1ad170c..83d89b0 100644
--- a/abs/core-testing/gcc/gcc.install
+++ b/abs/core-testing/gcc/gcc.install
@@ -1,9 +1,10 @@
infodir=/usr/share/info
-filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info gfortran.info libgomb.info treelang.info)
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -12,8 +13,9 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core-testing/gcc/r160561.patch b/abs/core-testing/gcc/r160561.patch
new file mode 100644
index 0000000..f3c386b
--- /dev/null
+++ b/abs/core-testing/gcc/r160561.patch
@@ -0,0 +1,64 @@
+--- trunk/gcc/tree-sra.c 2010/06/10 16:44:04 160560
++++ trunk/gcc/tree-sra.c 2010/06/10 16:49:09 160561
+@@ -1689,9 +1689,10 @@
+
+ /* Build a subtree of accesses rooted in *ACCESS, and move the pointer in the
+ linked list along the way. Stop when *ACCESS is NULL or the access pointed
+- to it is not "within" the root. */
++ to it is not "within" the root. Return false iff some accesses partially
++ overlap. */
+
+-static void
++static bool
+ build_access_subtree (struct access **access)
+ {
+ struct access *root = *access, *last_child = NULL;
+@@ -1706,24 +1707,32 @@
+ last_child->next_sibling = *access;
+ last_child = *access;
+
+- build_access_subtree (access);
++ if (!build_access_subtree (access))
++ return false;
+ }
++
++ if (*access && (*access)->offset < limit)
++ return false;
++
++ return true;
+ }
+
+ /* Build a tree of access representatives, ACCESS is the pointer to the first
+- one, others are linked in a list by the next_grp field. Decide about scalar
+- replacements on the way, return true iff any are to be created. */
++ one, others are linked in a list by the next_grp field. Return false iff
++ some accesses partially overlap. */
+
+-static void
++static bool
+ build_access_trees (struct access *access)
+ {
+ while (access)
+ {
+ struct access *root = access;
+
+- build_access_subtree (&access);
++ if (!build_access_subtree (&access))
++ return false;
+ root->next_grp = access;
+ }
++ return true;
+ }
+
+ /* Return true if expr contains some ARRAY_REFs into a variable bounded
+@@ -2062,9 +2071,7 @@
+ struct access *access;
+
+ access = sort_and_splice_var_accesses (var);
+- if (access)
+- build_access_trees (access);
+- else
++ if (!access || !build_access_trees (access))
+ disqualify_candidate (var,
+ "No or inhibitingly overlapping accesses.");
+ }
diff --git a/abs/core-testing/glib2/PKGBUILD b/abs/core-testing/glib2/PKGBUILD
index db2bcae..32cf552 100644
--- a/abs/core-testing/glib2/PKGBUILD
+++ b/abs/core-testing/glib2/PKGBUILD
@@ -1,30 +1,33 @@
-# $Id: PKGBUILD 34596 2009-04-10 10:17:45Z jgc $
+# $Id: PKGBUILD 79346 2010-05-03 10:44:26Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=glib2
-pkgver=2.20.1
+pkgver=2.24.1
pkgrel=1
pkgdesc="Common C routines used by GTK+ 2.4 and other libs"
url="http://www.gtk.org/"
arch=(i686 x86_64)
license=('LGPL')
-depends=('pcre>=7.8')
+depends=('pcre>=8.02')
makedepends=('pkgconfig')
options=('!libtool' '!docs')
-source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.20/glib-${pkgver}.tar.bz2
- glib2.sh
- glib2.csh)
-md5sums=('d7ef53c7b65827a1baa4bad1c6893fa3'
- '803017b365bd35dc20b092ce43b8c8c5'
- '90c7b830bef4baf225c2eb8b7ead0cab')
+source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.24/glib-${pkgver}.tar.bz2
+ glib2.sh
+ glib2.csh)
+sha256sums=('014c3da960bf17117371075c16495f05f36501db990851ceea658f15d2ea6d04'
+ '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a'
+ '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3')
build() {
cd "${srcdir}/glib-${pkgver}"
- ./configure --prefix=/usr --enable-static --enable-shared --with-pcre=system --disable-fam || return 1
+ ./configure --prefix=/usr --enable-static --enable-shared \
+ --with-pcre=system --disable-fam || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
install -d "${pkgdir}/etc/profile.d"
install -m755 "${srcdir}/glib2.sh" "${pkgdir}/etc/profile.d/" || return 1
install -m755 "${srcdir}/glib2.csh" "${pkgdir}/etc/profile.d/" || return 1
+
+ chmod 755 ${pkgdir}/usr/bin/gtester-report || return 1
}
diff --git a/abs/core-testing/glibc/PKGBUILD b/abs/core-testing/glibc/PKGBUILD
index e7f866f..e31d7b6 100644
--- a/abs/core-testing/glibc/PKGBUILD
+++ b/abs/core-testing/glibc/PKGBUILD
@@ -1,67 +1,69 @@
-# $Id: PKGBUILD 25809 2009-01-29 17:49:56Z aaron $
+# $Id: PKGBUILD 83855 2010-06-23 10:51:26Z allan $
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: valgrind requires rebuilt with each new glibc version
pkgname=glibc
-pkgver=2.9
+pkgver=2.12
pkgrel=4
-_glibcdate=20081119
-install=glibc.install
-backup=(etc/locale.gen)
+_glibcdate=20100620
pkgdesc="GNU C Library"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL')
+arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
+license=('GPL' 'LGPL')
groups=('base')
-depends=('kernel-headers>=2.6.27.6' 'tzdata')
-makedepends=('gcc>=4.3.2-2')
+depends=('linux-api-headers>=2.6.34' 'tzdata')
+makedepends=('gcc>=4.4')
replaces=('glibc-xen')
+backup=(etc/locale.gen
+ etc/nscd.conf)
+options=('!strip')
+install=glibc.install
source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.bz2
- ftp://ftp.archlinux.org/other/glibc/glibc-patches-${pkgver}-2.tar.gz
- nscd
- locale.gen.txt
- locale-gen)
-md5sums=('1f7cc590a7a9bbef8b09fe89af69fb8c'
- '7679e2bcd981847efccb2bad9e57fee3'
+ glibc-2.10-dont-build-timezone.patch
+ glibc-2.10-bz4781.patch
+ glibc-__i686.patch
+ nscd
+ locale.gen.txt
+ locale-gen)
+md5sums=('8857bfae3e0a659452ddd8f9d2606490'
+ '4dadb9203b69a3210d53514bb46f41c3'
+ '0c5540efc51c0b93996c51b57a8540ae'
+ '40cd342e21f71f5e49e32622b25acc52'
'b587ee3a70c9b3713099295609afde49'
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf')
-build() {
-
- # for cvs checkout
- mkdir ${srcdir}/glibc-${_glibcdate}
- cd ${srcdir}/glibc-${_glibcdate}
- export _TAG=glibc-2_9-branch
- export 'CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/glibc'
-# cvs -z9 co -r $_TAG libc || return 1
-# tar -cvjf ../../glibc-2.9_${_glibcdate}.tar.bz2 libc
-# return 1
-
- cd ${srcdir}/libc
+mksource() {
+ git clone git://sourceware.org/git/glibc.git
+ pushd glibc
+ git checkout -b glibc-2.12-arch origin/release/2.12/master
+ popd
+ tar -cvjf glibc-${pkgver}_${_glibcdate}.tar.bz2 glibc/*
+}
- # patch from Debian
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-2.5-localedef_segfault-1.patch || return 1 # still needed?
+build() {
+ cd ${srcdir}/glibc
- # Upstream fixes. See sources.redhat.com bugzilla
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-2.7-bz4781.patch || return 1
+ # timezone data is in separate package (tzdata)
+ patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch
- # Gentoo fixes
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-dont-build-timezone.patch || return 1
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
+ patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch
- # fixes taken from FC10 2.9-3 rpm, fixes FS#12215
- # see http://sources.redhat.com/bugzilla/show_bug.cgi?id=7060
- # see https://bugzilla.redhat.com/show_bug.cgi?id=459756
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-nss_dns-gethostbyname4-disable.patch || return 1
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-fixes1.patch || return 1
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
+ # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
+ patch -Np1 -i ${srcdir}/glibc-__i686.patch
- install -m755 -d ${pkgdir}/etc
+ install -dm755 ${pkgdir}/etc
touch ${pkgdir}/etc/ld.so.conf
mkdir glibc-build
cd glibc-build
- if [ "${CARCH}" = "i686" ]; then
+ if [[ ${CARCH} = "i686" ]]; then
# Hack to fix NPTL issues with Xen, only required on 32bit platforms
export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
fi
@@ -70,34 +72,41 @@ build() {
../configure --prefix=/usr \
--enable-add-ons=nptl,libidn --without-cvs \
- --enable-kernel=2.6.16 --disable-profile \
+ --enable-kernel=2.6.18 --disable-profile \
--with-headers=/usr/include --libexecdir=/usr/lib \
--enable-bind-now --with-tls --with-__thread \
- --libdir=/usr/lib --without-gd
-
- make || return 1
- make install_root=${pkgdir} install || return 1
+ --libdir=/usr/lib --without-gd --disable-multi-arch
+
+ make
+}
- rm -f ${pkgdir}/etc/ld.so.cache ${pkgdir}/etc/ld.so.conf ${pkgdir}/etc/localtime
+package() {
+ cd ${srcdir}/glibc/glibc-build
+ make install_root=${pkgdir} install
- install -m755 -d ${pkgdir}/etc/rc.d
- install -m755 -d ${pkgdir}/usr/sbin
- install -m755 -d ${pkgdir}/usr/lib/locale
- install -m644 ${srcdir}/libc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
+ # provided by kernel-headers
+ rm ${pkgdir}/usr/include/scsi/scsi.h
+
+ rm ${pkgdir}/etc/ld.so.conf
+
+ install -dm755 ${pkgdir}/etc/rc.d
+ install -dm755 ${pkgdir}/usr/sbin
+ install -dm755 ${pkgdir}/usr/lib/locale
+ install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd
install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
- sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf || return 1
+ sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf
# create /etc/locale.gen
install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
- sed -i "s|/| |g" ${srcdir}/libc/localedata/SUPPORTED
- sed -i 's|\\| |g' ${srcdir}/libc/localedata/SUPPORTED
- sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/libc/localedata/SUPPORTED
- cat ${srcdir}/libc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
+ sed -i "s|/| |g" ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i 's|\\| |g' ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/glibc/localedata/SUPPORTED
+ cat ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
sed -i "s|^|#|g" ${pkgdir}/etc/locale.gen
- if [ "${CARCH}" = "x86_64" ]; then
+ if [[ ${CARCH} = "x86_64" ]]; then
# fix for the linker
sed -i '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' ${pkgdir}/usr/bin/ldd
#Comply with multilib binaries, they look for the linker in /lib64
@@ -105,6 +114,25 @@ build() {
cd ${pkgdir}/lib64
ln -v -s ../lib/ld* .
fi
-
- rm -f ${pkgdir}/usr/share/info/dir
+
+ # manually strip files as stripping libpthread-*.so and libthread_db.so
+ # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks
+ # valgrind on x86_64
+
+ cd $pkgdir
+ strip $STRIP_BINARIES sbin/{ldconfig,sln} \
+ usr/bin/{gencat,getconf,getent,iconv,locale} \
+ usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \
+ usr/lib/getconf/* \
+ usr/sbin/{iconvconfig,nscd,rpcinfo}
+ [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4
+
+ strip $STRIP_STATIC usr/lib/*.a \
+ lib/{{ld,libpthread}-2.12,libthread_db-1.0}.so
+
+ strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-2.12.so \
+ lib/libnss_{compat,dns,files,hesiod,nis,nisplus}-2.12.so \
+ lib/{libdl,libm,libnsl,libresolv,librt,libutil}-2.12.so \
+ lib/{libmemusage,libpcprofile,libSegFault}.so \
+ usr/lib/{pt_chown,gconv/*.so}
}
diff --git a/abs/core-testing/glibc/glibc-2.10-bz4781.patch b/abs/core-testing/glibc/glibc-2.10-bz4781.patch
new file mode 100644
index 0000000..cf1a97a
--- /dev/null
+++ b/abs/core-testing/glibc/glibc-2.10-bz4781.patch
@@ -0,0 +1,42 @@
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -120,9 +120,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (eip);
+ /* Note: %esi is zero. */
+ movl %esi,%ebp /* terminate the stack frame */
+ #ifdef RESET_PID
+@@ -155,7 +152,6 @@
+ jmp L(haspid)
+ .previous
+ #endif
+- cfi_endproc;
+
+ cfi_startproc
+ PSEUDO_END (BP_SYM (__clone))
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -89,9 +89,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (rip);
+ /* Clear the frame pointer. The ABI suggests this be done, to mark
+ the outermost frame obviously. */
+ xorl %ebp, %ebp
+@@ -116,7 +113,6 @@
+ /* Call exit with return value from function call. */
+ movq %rax, %rdi
+ call HIDDEN_JUMPTARGET (_exit)
+- cfi_endproc;
+
+ cfi_startproc;
+ PSEUDO_END (BP_SYM (__clone))
diff --git a/abs/core-testing/glibc/glibc-2.10-dont-build-timezone.patch b/abs/core-testing/glibc/glibc-2.10-dont-build-timezone.patch
new file mode 100644
index 0000000..d3abeff
--- /dev/null
+++ b/abs/core-testing/glibc/glibc-2.10-dont-build-timezone.patch
@@ -0,0 +1,13 @@
+timezone data has been split into the package sys-libs/timezone-data
+
+--- glibc-2.4/Makeconfig
++++ glibc-2.4/Makeconfig
+@@ -931,7 +931,7 @@
+ stdlib stdio-common libio malloc string wcsmbs time dirent \
+ grp pwd posix io termios resource misc socket sysvipc gmon \
+ gnulib iconv iconvdata wctype manual shadow gshadow po argp \
+- crypt nss localedata timezone rt conform debug \
++ crypt nss localedata rt conform debug \
+ $(add-on-subdirs) $(dlfcn) $(binfmt-subdir)
+
+ ifndef avoid-generated
diff --git a/abs/core-testing/glibc/glibc-__i686.patch b/abs/core-testing/glibc/glibc-__i686.patch
new file mode 100644
index 0000000..28d5dd4
--- /dev/null
+++ b/abs/core-testing/glibc/glibc-__i686.patch
@@ -0,0 +1,13 @@
+diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile
+--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000
++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000
+@@ -1,6 +1,7 @@
+ # The mpn functions need a #define for asm syntax flavor.
+-# Every i386 port in use uses gas syntax (I think).
+-asm-CPPFLAGS += -DGAS_SYNTAX
++# Every i386 port in use uses gas syntax (I think). Don't replace
++# __i686 in __i686.get_pc_thunk.bx.
++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
+
+ # The i386 `long double' is a distinct type we support.
+ long-double-fcts = yes
diff --git a/abs/core-testing/glibc/glibc.install b/abs/core-testing/glibc/glibc.install
index 17c6b5d..0b250b4 100644
--- a/abs/core-testing/glibc/glibc.install
+++ b/abs/core-testing/glibc/glibc.install
@@ -2,135 +2,20 @@ infodir=/usr/share/info
filelist=(libc.info libc.info-1 libc.info-2 libc.info-3 libc.info-4 libc.info-5 libc.info-6 libc.info-7
libc.info-8 libc.info-9 libc.info-10 libc.info-11)
-pre_upgrade() {
-if [ "`uname -m`" = "x86_64" ]; then
- if [ "`vercmp $2 2.4`" -lt 0 ]; then
- cat << _EOF
- ==> glibc oldpkgver < 2.4 detected!
- ==>
- ==> ATTENTION x86_64 USERS:
- ==>
- ==> We now switch from the former lib-linking to pure /lib support. To get rid
- ==> of all lib64 directories we have removed the link /lib -> /lib64 and
- ==> /usr/lib -> /usr/lib64.
- ==>
- ==> We have also rebuilt all packages we know that still used lib64 directories.
- ==> Now all should go to /lib directories.
- ==>
- ==> Internally we have removed the link and then mv /lib64 /lib. Same to /usr/lib64.
- ==> /lib64 and /usr/lib64 shouldn't exist anymore. If any package still installs to
- ==> /lib64 or /usr/lib64 let us know.
- ==>
-_EOF
-
-# now the moving
-rm -rf /lib/tls && echo "/lib/tls removed"
-ldconfig -r .
-rm -f /usr/lib
-mv /usr/lib64 /usr/lib && echo "/usr/lib64 moved"
-rm -f /lib
-mv /lib64 /lib && echo "/lib64 moved"
-
- fi
-fi
-
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null
- done
-}
-
post_upgrade() {
ldconfig -r .
- init u
-
- if [ "`vercmp $2 2.3.6`" -lt 0 ]; then
- cat << _EOF
- ==> ATTENTION INTERNATIONAL USERS:
- ==>
- ==> Locales are no longer included in the glibc package.
- ==> They are generated by /usr/sbin/locale-gen depending on the contents
- ==> of /etc/locale.gen.
- ==> glibc will try to autodetect the required locales now, if you need
- ==> additional locales, please enable them in /etc/locale.gen and run
- ==> /usr/sbin/locale-gen
- ==>
-_EOF
- # Check active locales, enable the ones that are in use
- loc=("$LANG"
- "`grep '^LOCALE=' etc/rc.conf | awk -F '=' '{ print $2 }'`")
- for l in "${loc[@]}"; do
- if [ ! -z "${l}" ]; then
- line="`grep -i "^#${l}[[:space:]]" etc/locale.gen`"
- if [ ! -z "${line}" ]; then
- sed -i -e "s|${line}|${line/\#/}|" etc/locale.gen
- fi
- fi
- done
- fi
-
+ [ -x /sbin/init ] && init u
usr/sbin/locale-gen
-
-# fix CHOST for arch64
-if [ "`uname -m`" = "x86_64" ]; then
- if [ "`vercmp $2 2.4`" -lt 0 ]; then
- sed -i s/'x86_64-pc-linux-gnu'/'x86_64-unknown-linux-gnu'/ /etc/makepkg.conf && \
- echo "in /etc/makepkg.conf CHOST has been changed to \"x86_64-unknown-linux-gnu\""
-
- # we remove files from glibc 2.3.6 that are not removed automatically
- rm -f /lib/ld-2.3.* && echo "removing unneeded old files"
- rm -f /lib/libBrokenLocale-2.3.*
- rm -f /lib/libNoVersion*
- rm -f /lib/libanl-2.3.*
- rm -f /lib/libc-2.3.*
- rm -f /lib/libcidn-2.3.*
- rm -f /lib/libcrypt-2.3.*
- rm -f /lib/libdl-2.3.*
- rm -f /lib/libm-2.3.*
- rm -f /lib/libnsl-2.3.*
- rm -f /lib/libnss1*
- rm -f /lib/libnss_compat-2.3.*
- rm -f /lib/libnss_dns-2.3.*
- rm -f /lib/libnss_dns.so.1
- rm -f /lib/libnss_files-2.3.*
- rm -f /lib/libnss_files.so.1
- rm -f /lib/libnss_hesiod-2.3.*
- rm -f /lib/libnss_nis-2.3.*
- rm -f /lib/libnss_nis.so.1
- rm -f /lib/libnss_nisplus-2.3.*
- rm -f /lib/libpthread-0.10.so
- rm -f /lib/libresolv-2.3.*
- rm -f /lib/librt-2.3.*
- rm -f /lib/libutil-2.3.*
- rm -fR /lib/nosegneg
- #rm -fR /usr/include/asm
- #rm -fR /usr/include/linux
- rm -fR /usr/include/ntpl
- rm -f /usr/lib/libNoVersion*
- rm -f /usr/lib/libc_stubs.a
- rm -f /usr/lib/libnss1*
- rm -f /usr/lib/libnss_compat.so.1
- rm -f /usr/lib/libnss_dns.so.1
- rm -f /usr/lib/libnss_files.so.1
- rm -f /usr/lib/libnss_nis.so.1
- rm -fR /usr/lib/nptl
- rm -f /usr/sbin/nscd_nischeck
- rm -fR /usr/share/zoneinfo/SystemV
- rm -fR /usr/share/zoneinfo/posix/SystemV
- rm -fR /usr/share/zoneinfo/right/SystemV
- ldconfig -r .
- fi
-fi
-
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- usr/bin/install-info $infodir/$file $infodir/dir 2> /dev/null
- done
+
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
}
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core-testing/gmp/PKGBUILD b/abs/core-testing/gmp/PKGBUILD
index b747f73..0eee2df 100644
--- a/abs/core-testing/gmp/PKGBUILD
+++ b/abs/core-testing/gmp/PKGBUILD
@@ -1,27 +1,27 @@
-# $Id: PKGBUILD 14742 2008-10-10 10:19:37Z allan $
+# $Id: PKGBUILD 72634 2010-03-19 02:57:15Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
+
pkgname=gmp
-pkgver=4.2.4
-pkgrel=1.1
+pkgver=5.0.1
+pkgrel=1
pkgdesc="A free library for arbitrary precision arithmetic"
-arch=(i686 x86_64)
-depends=('gcc-libs' 'texinfo')
+arch=('i686' 'x86_64')
+url="http://gmplib.org/"
+depends=('gcc-libs' 'sh')
license=('LGPL3')
options=(!libtool)
install=gmp.install
source=(ftp://ftp.gnu.org/gnu/gmp/gmp-${pkgver}.tar.bz2)
-url="http://gmplib.org/"
-md5sums=('fc1e3b3a2a5038d4d74138d0b9cf8dbe')
+md5sums=('6bac6df75c192a13419dfd71d19240a7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
[ "${CARCH}" = "i686" ] && export ABI="32"
- ./configure --prefix=/usr --enable-cxx --infodir=/usr/share/info || return 1
+ ./configure --build=$CHOST \
+ --prefix=/usr --infodir=/usr/share/info \
+ --enable-cxx || return 1
make || return 1
make check || return 1
make DESTDIR="${pkgdir}" install || return 1
- cd "${pkgdir}/usr/share/info"
- rm -f dir
- gzip * || return 1
}
diff --git a/abs/core-testing/gmp/gmp.install b/abs/core-testing/gmp/gmp.install
index 4f756bd..1c31ab3 100644
--- a/abs/core-testing/gmp/gmp.install
+++ b/abs/core-testing/gmp/gmp.install
@@ -2,6 +2,7 @@ info_dir=/usr/share/info
info_files=(gmp.info gmp.info-1 gmp.info-2)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
@@ -12,6 +13,7 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
diff --git a/abs/core-testing/gnutls/PKGBUILD b/abs/core-testing/gnutls/PKGBUILD
index 6948722..cd95ffd 100644
--- a/abs/core-testing/gnutls/PKGBUILD
+++ b/abs/core-testing/gnutls/PKGBUILD
@@ -1,11 +1,8 @@
-# $Id: PKGBUILD 35543 2009-04-13 20:57:08Z jgc $
+# $Id: PKGBUILD 72984 2010-03-21 17:04:24Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Notice:
-# When building a new major version, build, install, build again.
-#
pkgname=gnutls
-pkgver=2.6.5
+pkgver=2.8.6
pkgrel=1
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=(i686 x86_64)
@@ -13,14 +10,13 @@ license=('GPL3' 'LGPL')
url="http://www.gnu.org/software/gnutls/"
install=gnutls.install
options=('libtool')
-depends=('gcc-libs>=4.3.3' 'libtasn1>=2.0' 'readline' 'zlib' 'libgcrypt>=1.4.4')
+depends=('gcc-libs>=4.4.3' 'libtasn1>=2.5' 'readline>=6.0' 'zlib' 'libgcrypt>=1.4.5' 'texinfo')
source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('92b92c36b616aa8bd69a9a0fb2b8eb24')
+md5sums=('eb0a6d7d3cb9ac684d971c14f9f6d3ba')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --with-zlib --disable-guile || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- rm -f "${pkgdir}/usr/share/info/dir"
}
diff --git a/abs/core-testing/gnutls/gnutls.install b/abs/core-testing/gnutls/gnutls.install
index 0cf66fa..b9a5bae 100644
--- a/abs/core-testing/gnutls/gnutls.install
+++ b/abs/core-testing/gnutls/gnutls.install
@@ -3,7 +3,7 @@ filelist=(gnutls.info gnutls.info-1 gnutls.info-2 gnutls.info-3)
post_install() {
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -13,6 +13,6 @@ post_upgrade() {
pre_remove() {
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core-testing/gobject-introspection/PKGBUILD b/abs/core-testing/gobject-introspection/PKGBUILD
new file mode 100644
index 0000000..179c5bf
--- /dev/null
+++ b/abs/core-testing/gobject-introspection/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id: PKGBUILD 81938 2010-06-07 11:01:46Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=gobject-introspection
+pkgver=0.6.14
+pkgrel=1
+pkgdesc="Introspection system for GObject-based libraries"
+url="http://live.gnome.org/GObjectInstrospection"
+arch=('x86_64' 'i686')
+license=('LGPL' 'GPL')
+depends=('libffi>=3.0.8' 'glib2>=2.24.1' 'python' 'cairo>=1.8.10')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('c4713bcbcebb06861738a8f630ab05289666e631f42f7abbf2e836978db7eba6')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-static || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+}
diff --git a/abs/core-testing/gtk2/PKGBUILD b/abs/core-testing/gtk2/PKGBUILD
index 6cdc6e1..7d9c9f9 100644
--- a/abs/core-testing/gtk2/PKGBUILD
+++ b/abs/core-testing/gtk2/PKGBUILD
@@ -1,35 +1,37 @@
-# $Id: PKGBUILD 35332 2009-04-12 12:46:16Z jgc $
+# $Id: PKGBUILD 79610 2010-05-04 20:23:20Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gtk2
-pkgver=2.16.1
-pkgrel=6
+pkgver=2.20.1
+pkgrel=2
pkgdesc="The GTK+ Toolkit (v2)"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://www.gtk.org/"
install=gtk2.install
-depends=('atk>=1.26.0' 'pango>=1.24.0-2' 'libxcursor' 'libxinerama' 'libxrandr>=1.3.0' 'libxi>=1.2.1' 'libcups>=1.3.9' 'libxcomposite' 'libxdamage' 'heimdal>=1.2.1' 'gnutls>=2.6.4' 'shared-mime-info')
-makedepends=('pkgconfig')
+depends=('atk>=1.30.0' 'pango>=1.28.0' 'libxcursor' 'libxinerama' 'libxrandr>=1.3.0' 'libxi>=1.3' 'libxcomposite' 'libxdamage' 'heimdal>=1.3.2' 'gnutls>=2.8.6' 'shared-mime-info' 'cairo>=1.8.10' 'libtiff>=3.9.2-2' 'libcups>=1.4.2-3')
+makedepends=('pkgconfig' 'gtk-doc' 'gobject-introspection')
replaces=('gtkprint-cups' 'gail')
conflicts=('gtkprint-cups' 'gail')
provides=('gail=1.22.3')
options=('!libtool' '!docs')
backup=(etc/gtk-2.0/gtkrc)
license=('LGPL')
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.16/gtk+-${pkgver}.tar.bz2
- gtkclipboard-check.patch)
-md5sums=('74e35ff3e6e02c960fe2117a4b6b102f'
- '4025d3c15d6c6f73a032f403ffd4ff1c')
+source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.20/gtk+-${pkgver}.tar.bz2
+ xid-collision-debug.patch
+ revert_64bit_fix.patch)
+sha256sums=('0e081731d21e34ff45c82199490c2889504fa8b3c7e117c043e82ababaec0f65'
+ 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558'
+ '20f3a03760f765b68b85b614810e5df4a689b609da1ae200aa30072475121b4c')
build() {
cd "${srcdir}/gtk+-${pkgver}"
- # Workaround patch for flash
- patch -Np1 -i "${srcdir}/gtkclipboard-check.patch" || return 1
+ patch -Np1 -i "${srcdir}/xid-collision-debug.patch" || return 1
+ patch -RNp1 -i ${srcdir}/revert_64bit_fix.patch || retun 1
- ./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --with-xinput=yes \
- --without-libjasper \
- --with-included-loaders=png || return 1
+ CXX=/bin/false ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --with-xinput=yes \
+ --without-libjasper \
+ --with-included-loaders=png || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core-testing/gtk2/revert_64bit_fix.patch b/abs/core-testing/gtk2/revert_64bit_fix.patch
new file mode 100644
index 0000000..a6453e3
--- /dev/null
+++ b/abs/core-testing/gtk2/revert_64bit_fix.patch
@@ -0,0 +1,31 @@
+From a0f23e1706b34bca6a65183040d1f1498cce2a50 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Thu, 25 Mar 2010 04:55:15 +0000
+Subject: Fix a 64bit issue
+
+Thank you libpng, for typedef unsigned long png_uint_32.
+---
+diff --git a/gdk-pixbuf/io-png.c b/gdk-pixbuf/io-png.c
+index c0374ca..43db70a 100644
+--- a/gdk-pixbuf/io-png.c
++++ b/gdk-pixbuf/io-png.c
+@@ -261,7 +261,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error)
+ gchar *icc_profile_base64;
+ const gchar *icc_profile_title;
+ const gchar *icc_profile;
+- guint icc_profile_size;
++ gulong icc_profile_size;
+ guint32 retval;
+ gint compression_type;
+
+@@ -607,7 +607,7 @@ png_info_callback (png_structp png_read_ptr,
+ gchar *icc_profile_base64;
+ const gchar *icc_profile_title;
+ const gchar *icc_profile;
+- guint icc_profile_size;
++ gulong icc_profile_size;
+ guint32 retval;
+ gint compression_type;
+
+--
+cgit v0.8.3.1
diff --git a/abs/core-testing/gtk2/xid-collision-debug.patch b/abs/core-testing/gtk2/xid-collision-debug.patch
new file mode 100644
index 0000000..d61238c
--- /dev/null
+++ b/abs/core-testing/gtk2/xid-collision-debug.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.18.3/gdk/x11/gdkxid.c 2009-06-19 04:59:18.000000000 +0200
++++ gtk+-2.18.3/gdk/x11/gdkxid.c.new 2009-07-22 11:30:12.000000000 +0200
+@@ -56,10 +56,10 @@
+ if (!display_x11->xid_ht)
+ display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash,
+ (GEqualFunc) gdk_xid_equal);
+-
++/*
+ if (g_hash_table_lookup (display_x11->xid_ht, xid))
+ g_warning ("XID collision, trouble ahead");
+-
++*/
+ g_hash_table_insert (display_x11->xid_ht, xid, data);
+ }
+
diff --git a/abs/core-testing/hal-info/PKGBUILD b/abs/core-testing/hal-info/PKGBUILD
index a7f8dd0..ca6f5ad 100644
--- a/abs/core-testing/hal-info/PKGBUILD
+++ b/abs/core-testing/hal-info/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 22303 2008-12-25 18:44:16Z jgc $
+# $Id: PKGBUILD 61557 2009-12-19 19:17:15Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=hal-info
-_date=20081219
+_date=20091130
pkgver=0.${_date}
pkgrel=1
pkgdesc="Hardware Abstraction Layer information files"
-arch=(i686 x86_64)
+arch=(any)
license=('GPL' 'custom')
url="http://www.freedesktop.org/wiki/Software/hal"
source=(http://hal.freedesktop.org/releases/hal-info-${_date}.tar.gz)
-md5sums=('be7d6d47fd18250a99a3267e712d8af7')
+md5sums=('34375489a02a00b250fdc0b280be11b8')
build() {
cd "${srcdir}/${pkgname}-${_date}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --enable-killswitch-dell-wlan=no --enable-killswitch-dell-bluetooth=no \
+ --enable-killswitch-dell-wwan=no || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core-testing/hal/PKGBUILD b/abs/core-testing/hal/PKGBUILD
index f3e48cc..6e928fd 100644
--- a/abs/core-testing/hal/PKGBUILD
+++ b/abs/core-testing/hal/PKGBUILD
@@ -1,59 +1,83 @@
-# $Id: PKGBUILD 12450 2008-09-14 10:49:05Z pierre $
+# $Id: PKGBUILD 82401 2010-06-10 21:48:17Z thomas $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
pkgname=hal
-pkgver=0.5.11
-pkgrel=5
+pkgver=0.5.14
+pkgrel=4
pkgdesc="Hardware Abstraction Layer"
arch=(i686 x86_64)
license=('GPL' 'custom')
url="http://www.freedesktop.org/wiki/Software/hal"
-depends=('dbus-glib>=0.74' 'dbus>=1.2.1' 'libusb>=0.1.12' 'udev>=118' 'filesystem>=0.7.1-5' 'hal-info>=0.20080508' 'eject' 'libsmbios>=2.0.2' 'dmidecode' 'pciutils>=2.2.8-3' 'usbutils>=0.73-5' 'pm-utils>=1.1.2')
+depends=('dbus-glib>=0.82' 'libusb>=0.1.12' 'udev>=146' 'filesystem>=0.7.1-5' 'hal-info>=0.20090716' 'eject' 'dmidecode' 'pciutils>=3.0.2' 'usbutils>=0.73-5' 'pm-utils>=1.2.5' 'consolekit>=0.4.1' 'util-linux-ng>=2.16')
makedepends=('pkgconfig' 'gperf')
-options=('!libtool')
+options=('!libtool' '!makeflags')
install=hal.install
-source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.bz2
- hal
- hal-policy.patch
- cryptsetup_location.patch
- hal-0.5.9-hide-diagnostic.patch
- ntfs3g-valid-options.patch
- fix-udev-compatibility.patch
- ntfs-mount-fix.patch)
-md5sums=('5e8935ab61bcb14afd2d4548084aace0'
+source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
+ hal
+ hal-0.5.9-hide-diagnostic.patch
+ hal-remove-dell-killswitch.patch
+ hal-KVM-evdev.patch
+ hal-HDAPS-blacklist.patch
+ hal-xen-unignore-axes.patch
+ hal-use-at-console.patch
+ fix-libusb-detection.patch
+ dbus-error-init.patch
+ path-max.patch
+ handle-input-touchpad.patch
+ macbook-fix-ioperm.patch)
+md5sums=('e9163df591a6f38f59fdbfe33e73bf20'
'277e96ac130d7bfce0b30f0b80db8782'
- '18dcdaa79952e2057c2e4745fbc8ad52'
- 'c688a3c6574699365926f4fef7441545'
'4d4b6801a1cedca22b8bdd9db73b16fb'
- '4242a2c78885e396f639d0cd5e33218c'
- '1a33d73fa422df2f05b7e3483836f778'
- '96cf8835c30dc581c4fcf72b6ad7675e')
+ '6d87c3e63184ae3a69caafc846f538a3'
+ '6507e5091ee2d11a87ae738a8e2caecb'
+ '1171c2d83b76059f2da7a3538e08fa4e'
+ '52bd305299aa22ae07f1a862c22d30fa'
+ '3f11234fb5e5044fbfc5199ec65b182c'
+ 'da088f12cfc2d190bbf95b747e19ab9e'
+ '634f4ec2203eff7de8fa2ed2c6b9cbe0'
+ 'f8c9b3a40d03907b498feef571d42466'
+ '0575677614db0632b17b1a719798c7e0'
+ '46a5db3ff896ee37762aa8d7e70942c4')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np1 -i ${startdir}/src/hal-policy.patch || return 1
- patch -Np1 -i ${startdir}/src/cryptsetup_location.patch || return 1
- patch -Np1 -i ${startdir}/src/hal-0.5.9-hide-diagnostic.patch || return 1
- patch -Np0 -i ${startdir}/src/ntfs3g-valid-options.patch || return 1
- # Fix compatibility with udev 126 and later
- patch -Np1 -i ${startdir}/src/fix-udev-compatibility.patch || return 1
- patch -p0 -i ${srcdir}/ntfs-mount-fix.patch || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/hal-0.5.9-hide-diagnostic.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-remove-dell-killswitch.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-KVM-evdev.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-HDAPS-blacklist.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-xen-unignore-axes.patch" || return 1
+ patch -Np1 -i "${srcdir}/hal-use-at-console.patch" || return 1
+ patch -Np1 -i "${srcdir}/fix-libusb-detection.patch" || return 1
+ patch -Np1 -i "${srcdir}/dbus-error-init.patch" || return 1
+ patch -Np1 -i "${srcdir}/path-max.patch" || return 1
+ patch -Np1 -i "${srcdir}/handle-input-touchpad.patch" || return 1
+ patch -Np1 -i "${srcdir}/macbook-fix-ioperm.patch" || return 1
+
+ libtoolize --force || return 1
+ aclocal || return 1
+ autoconf || return 1
+ automake || return 1
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/hal --enable-static=no \
- --enable-acpi-ibm --enable-acpi-toshiba \
- --disable-docbook-docs --disable-doxygen-docs \
- --with-hal-user=hal --with-hal-group=hal \
- --with-pid-file=/var/run/hald.pid \
- --enable-policy-kit=no || return 1
- sed -e 's/device-manager//' -i tools/Makefile || return 1
+ --libexecdir=/usr/lib/hal --with-udev-prefix=/etc \
+ --enable-static=no --disable-acpi-ibm \
+ --disable-docbook-docs --disable-console-kit \
+ --disable-policy-kit --disable-acl-management \
+ --enable-umount-helper --disable-smbios \
+ --with-hal-user=hal --with-hal-group=hal \
+ --with-pid-file=/var/run/hald.pid \
+ --disable-gtk-doc || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${startdir}/pkg/etc/rc.d
- install -m755 -d ${startdir}/pkg/media || return 1
- install -m 755 ${startdir}/src/hal ${startdir}/pkg/etc/rc.d/hal || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/etc/rc.d"
+ install -m755 -d "${pkgdir}/media" || return 1
+ install -m755 "${srcdir}/hal" "${pkgdir}/etc/rc.d/" || return 1
- install -m755 -d ${startdir}/pkg/usr/share/licenses/${pkgname}
- install -m644 COPYING ${startdir}/pkg/usr/share/licenses/${pkgname}/ || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+
+ # Fix udev rule location
+ install -d -m755 "${pkgdir}/lib"
+ mv "${pkgdir}/etc/udev" "${pkgdir}/lib/"
}
diff --git a/abs/core-testing/hal/dbus-error-init.patch b/abs/core-testing/hal/dbus-error-init.patch
new file mode 100644
index 0000000..fb3ad02
--- /dev/null
+++ b/abs/core-testing/hal/dbus-error-init.patch
@@ -0,0 +1,231 @@
+From dcb2829b8eff61463b0869614ddb07b1c86cecaa Mon Sep 17 00:00:00 2001
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Wed, 30 Dec 2009 11:42:52 +0000
+Subject: linux/probe-input: don't use error prio init
+
+it may happen in the out: case that LIBHAL_FREE_DBUS_ERROR (&error) is
+called before the error structure is initialized via
+dbus_error_init (&error). This could lead to a segfault during startup
+as seen in dmesg:
+
+|Intel AES-NI instructions are not detected.
+|padlock: VIA PadLock not detected.
+|hald-probe-inpu[1793]: segfault at 2 ip 00007f656fb68969 sp 00007fff39eeb950 error 4 in libc-2.10.2.so[7f656faf3000+14a000]
+|hald-probe-inpu[1796]: segfault at 2 ip 00007fa2c3293969 sp 00007fffd92a5dd0 error 4 in libc-2.10.2.so[7fa2c321e000+14a000]
+|hald-probe-inpu[1797]: segfault at 2 ip 00007f1d08ba2969 sp 00007fff34244e30 error 4 in libc-2.10.2.so[7f1d08b2d000+14a000]
+|hald-probe-inpu[1799]: segfault at 2 ip 00007f35c0e3d969 sp 00007fffe5ec7ee0 error 4 in libc-2.10.2.so[7f35c0dc8000+14a000]
+|hald-probe-inpu[1800]: segfault at 2 ip 00007f931c556969 sp 00007fffe1825b60 error 4 in libc-2.10.2.so[7f931c4e1000+14a000]
+|hald-probe-inpu[1801]: segfault at 2 ip 00007f5156d9a969 sp 00007fff4e620af0 error 4 in libc-2.10.2.so[7f5156d25000+14a000]
+|RPC: Registered udp transport module.
+|RPC: Registered tcp transport module.
+
+What I run into seems to be reported as Debian #562068 [0]. This patch
+makes the segfault go away on my machine.
+
+[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=562068
+
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/hald/linux/probing/probe-input.c b/hald/linux/probing/probe-input.c
+index 94e9929..cad47d3 100644
+--- a/hald/linux/probing/probe-input.c
++++ b/hald/linux/probing/probe-input.c
+@@ -70,6 +70,7 @@ main (int argc, char *argv[])
+ fd = -1;
+
+ setup_logger ();
++ dbus_error_init (&error);
+
+ button_type = getenv ("HAL_PROP_BUTTON_TYPE");
+ if (button_type == NULL)
+@@ -96,7 +97,6 @@ main (int argc, char *argv[])
+ if (udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+--
+cgit v0.8.3-6-g21f6
+From baa61a879985d63f549854518ef14efd40e62e8c Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Wed, 24 Feb 2010 16:19:28 +0000
+Subject: Make sure dbus_error_init() is called before LIBHAL_FREE_DBUS_ERROR()
+
+If dbus_error_init() is not called before LIBHAL_FREE_DBUS_ERROR() is
+called on that error, then it is uninitialized and may segfault. This
+means that dbus_error_init() must be called before any "goto out" if
+"out:" calls LIBHAL_FREE_DBUS_ERROR().
+
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/hald/linux/probing/probe-hiddev.c b/hald/linux/probing/probe-hiddev.c
+index 45d2084..bffc040 100644
+--- a/hald/linux/probing/probe-hiddev.c
++++ b/hald/linux/probing/probe-hiddev.c
+@@ -57,11 +57,12 @@ main (int argc, char *argv[])
+ /* assume failure */
+ ret = 1;
+
++ dbus_error_init (&error);
++
+ udi = getenv ("UDI");
+ if (udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-ieee1394-unit.c b/hald/linux/probing/probe-ieee1394-unit.c
+index 70b0f86..aaa92e2 100644
+--- a/hald/linux/probing/probe-ieee1394-unit.c
++++ b/hald/linux/probing/probe-ieee1394-unit.c
+@@ -388,6 +388,8 @@ int main (int argc, char *argv[])
+
+ setup_logger ();
+
++ dbus_error_init (&error);
++
+ udi = getenv ("UDI");
+ if (udi == NULL)
+ goto out;
+@@ -396,7 +398,6 @@ int main (int argc, char *argv[])
+ if (ieee1394_udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-net-bluetooth.c b/hald/linux/probing/probe-net-bluetooth.c
+index 0b1b912..e911eea 100644
+--- a/hald/linux/probing/probe-net-bluetooth.c
++++ b/hald/linux/probing/probe-net-bluetooth.c
+@@ -141,6 +141,8 @@ main (int argc, char *argv[])
+ DBusMessage *reply = NULL;
+ DBusError error;
+
++ dbus_error_init (&error);
++
+ udi = getenv ("UDI");
+ if (udi == NULL)
+ goto out;
+@@ -151,8 +153,6 @@ main (int argc, char *argv[])
+
+ HAL_INFO (("Investigating '%s'", iface));
+
+- dbus_error_init (&error);
+-
+ if ((conn = dbus_bus_get (DBUS_BUS_SYSTEM, &error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-printer.c b/hald/linux/probing/probe-printer.c
+index 91ed7bc..7c6d1c6 100644
+--- a/hald/linux/probing/probe-printer.c
++++ b/hald/linux/probing/probe-printer.c
+@@ -66,6 +66,8 @@ main (int argc, char *argv[])
+ ret = 1;
+
+ setup_logger ();
++
++ dbus_error_init (&error);
+
+ udi = getenv ("UDI");
+ if (udi == NULL) {
+@@ -73,7 +75,6 @@ main (int argc, char *argv[])
+ goto out;
+ }
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL) {
+ HAL_ERROR (("ctx init failed"));
+ goto out;
+diff --git a/hald/linux/probing/probe-smbios.c b/hald/linux/probing/probe-smbios.c
+index 0bc9689..15c0d4f 100644
+--- a/hald/linux/probing/probe-smbios.c
++++ b/hald/linux/probing/probe-smbios.c
+@@ -129,6 +129,8 @@ main (int argc, char *argv[])
+ ret = 1;
+
+ setup_logger ();
++
++ dbus_error_init (&error);
+
+ udi = getenv ("UDI");
+ if (udi == NULL) {
+@@ -136,7 +138,6 @@ main (int argc, char *argv[])
+ goto out;
+ }
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL) {
+ HAL_ERROR (("ctx init failed"));
+ goto out;
+diff --git a/hald/linux/probing/probe-storage.c b/hald/linux/probing/probe-storage.c
+index 824a82e..dd524ca 100644
+--- a/hald/linux/probing/probe-storage.c
++++ b/hald/linux/probing/probe-storage.c
+@@ -109,6 +109,8 @@ main (int argc, char *argv[])
+ /* assume failure */
+ ret = 1;
+
++ dbus_error_init (&error);
++
+ if ((udi = getenv ("UDI")) == NULL)
+ goto out;
+ if ((device_file = getenv ("HAL_PROP_BLOCK_DEVICE")) == NULL)
+@@ -127,7 +129,6 @@ main (int argc, char *argv[])
+ else
+ only_check_for_fs = FALSE;
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+diff --git a/hald/linux/probing/probe-video4linux.c b/hald/linux/probing/probe-video4linux.c
+index cf913c0..7bc13e8 100644
+--- a/hald/linux/probing/probe-video4linux.c
++++ b/hald/linux/probing/probe-video4linux.c
+@@ -58,6 +58,8 @@ main (int argc, char *argv[])
+
+ setup_logger ();
+
++ dbus_error_init (&error);
++
+ device_file = getenv ("HAL_PROP_VIDEO4LINUX_DEVICE");
+ if (device_file == NULL)
+ goto out;
+@@ -66,7 +68,6 @@ main (int argc, char *argv[])
+ if (udi == NULL)
+ goto out;
+
+- dbus_error_init (&error);
+ ctx = libhal_ctx_init_direct (&error);
+ if (ctx == NULL)
+ goto out;
+diff --git a/hald/linux/probing/probe-volume.c b/hald/linux/probing/probe-volume.c
+index 0de1b91..7268fff 100644
+--- a/hald/linux/probing/probe-volume.c
++++ b/hald/linux/probing/probe-volume.c
+@@ -318,6 +318,8 @@ main (int argc, char *argv[])
+ /* assume failure */
+ ret = 1;
+
++ dbus_error_init (&error);
++
+ if ((udi = getenv ("UDI")) == NULL)
+ goto out;
+ if ((device_file = getenv ("HAL_PROP_BLOCK_DEVICE")) == NULL)
+@@ -346,7 +348,6 @@ main (int argc, char *argv[])
+
+ fsusage = getenv ("HAL_PROP_VOLUME_FSUSAGE");
+
+- dbus_error_init (&error);
+ if ((ctx = libhal_ctx_init_direct (&error)) == NULL)
+ goto out;
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core-testing/hal/fix-libusb-detection.patch b/abs/core-testing/hal/fix-libusb-detection.patch
new file mode 100644
index 0000000..d4f966d
--- /dev/null
+++ b/abs/core-testing/hal/fix-libusb-detection.patch
@@ -0,0 +1,66 @@
+From fce91df8ba7f305c624baf1f06961c040b088ecc Mon Sep 17 00:00:00 2001
+From: Joe Marcus Clarke <marcus@FreeBSD.org>
+Date: Tue, 08 Dec 2009 00:05:27 +0000
+Subject: Fix libusb detection on Linux
+
+Adjust the FreeBSD libusb20 code so that it does not interfere with the
+Linux libusb detection.
+
+Reported by: Robby Workman <rw@rlworkman.net>
+---
+diff --git a/configure.in b/configure.in
+index a8fda51..8363595 100644
+--- a/configure.in
++++ b/configure.in
+@@ -479,9 +479,6 @@ if test "x$with_libpci" != xno ; then
+ fi
+ AM_CONDITIONAL([HAVE_LIBPCI], [test "x$USE_LIBPCI" = "xyes"])
+
+-USE_LIBUSB20=no
+-USE_LIBUSB=no
+-LIBUSB20_LIBS=""
+ AC_ARG_WITH([backend],
+ AS_HELP_STRING([--with-backend=<name>],
+ [backend to use (linux/solaris/freebsd/dummy)]),
+@@ -510,21 +507,25 @@ AM_CONDITIONAL(HALD_COMPILE_FREEBSD, [test x$HALD_BACKEND = xfreebsd], [Compilin
+ AM_CONDITIONAL(HALD_COMPILE_SOLARIS, [test x$HALD_BACKEND = xsolaris], [Compiling for Solaris])
+ AC_SUBST(HALD_BACKEND)
+ if test "x$HALD_BACKEND" = "xfreebsd"; then
+- AC_CHECK_LIB([usb20], [libusb20_dev_get_info], [USE_LIBUSB20=yes], [USE_LIBUSB20=no])
+-fi
+-if test "x$USE_LIBUSB20" = "xno"; then
+- AC_CHECK_LIB([usb], [libusb20_dev_get_info], [USE_LIBUSB=yes], [USE_LIBUSB=no])
+-fi
+-AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_LIBUSB20" = "xyes"])
+-AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_LIBUSB" = "xyes"])
+-if test "x$USE_LIBUSB20" = "xyes"; then
+- AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libusb20])
+- LIBUSB20_LIBS="-lusb20"
+-elif test "x$USE_LIBUSB" = "xyes"; then
+- AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libsub20])
+- LIBUSB20_LIBS="-lusb"
++ USE_BSDLIBUSB20=no
++ USE_BSDLIBUSB=no
++ LIBUSB20_LIBS=""
++ AC_CHECK_LIB([usb20], [libusb20_dev_get_info], [USE_BSDLIBUSB20=yes], [USE_BSDLIBUSB20=no])
++ if test "x$USE_BSDLIBUSB20" = "xno"; then
++ AC_CHECK_LIB([usb], [libusb20_dev_get_info], [USE_BSDLIBUSB=yes], [USE_BSDLIBUSB=no])
++ fi
++ AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_BSDLIBUSB20" = "xyes" -o "x$USE_BSDLIBUSB" = "xyes"])
++ if test "x$USE_BSDLIBUSB20" = "xyes"; then
++ AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libusb20])
++ LIBUSB20_LIBS="-lusb20"
++ elif test "x$USE_BSDLIBUSB" = "xyes"; then
++ AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libsub20])
++ LIBUSB20_LIBS="-lusb"
++ fi
++ AC_SUBST(LIBUSB20_LIBS)
++else
++ AM_CONDITIONAL([HAVE_LIBUSB20], [false])
+ fi
+-AC_SUBST(LIBUSB20_LIBS)
+
+ dnl DBUS API is subject to changes
+ AC_DEFINE_UNQUOTED(DBUS_API_SUBJECT_TO_CHANGE, [], [DBUS API is subject to change])
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core-testing/hal/hal-HDAPS-blacklist.patch b/abs/core-testing/hal/hal-HDAPS-blacklist.patch
new file mode 100644
index 0000000..8a68228
--- /dev/null
+++ b/abs/core-testing/hal/hal-HDAPS-blacklist.patch
@@ -0,0 +1,30 @@
+From e1f85fe0cdfa7e4d4ce7a811d0b0c90bf38fba0c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 25 Jun 2009 09:47:27 +1000
+Subject: [PATCH] Blacklist HDAPS accelerometer device from being picked up in X.
+
+This device posts accelerometer data through ABS_X/ABS_Y, making X unusable
+if it's controlling the pointer.
+---
+ fdi/policy/10osvendor/10-x11-input.fdi | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index a342421..89ba672 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -38,5 +38,11 @@
+ <merge key="input.x11_driver" type="string">evdev</merge>
+ </match>
+ </match>
++
++ <!-- http://bugs.freedesktop.org/show_bug.cgi?id=22442
++ Posts accel data through ABS_X/ABS_Y, makes X unusable -->
++ <match key="info.product" contains="ThinkPad HDAPS accelerometer data">
++ <remove key="input.x11_driver" />
++ </match>
+ </device>
+ </deviceinfo>
+--
+1.6.3.rc1.2.g0164.dirty
+
diff --git a/abs/core-testing/hal/hal-KVM-evdev.patch b/abs/core-testing/hal/hal-KVM-evdev.patch
new file mode 100644
index 0000000..917655e
--- /dev/null
+++ b/abs/core-testing/hal/hal-KVM-evdev.patch
@@ -0,0 +1,36 @@
+From 7618498eec840cb26474dc47821e083957772706 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 20 Mar 2009 14:37:24 +1000
+Subject: [PATCH] Add x11_driver for American Megatrends KVM.
+
+This device exposes only ABS_X, ABS_Y and buttons. It gets input.joystick
+assigned but not input.mouse, hence the default evdev mapping doesn't pick up
+on it.
+
+Red Hat Bug 484776 <https://bugzilla.redhat.com/show_bug.cgi?id=484776>
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ fdi/policy/10osvendor/10-x11-input.fdi | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index 769f75b..eb9767e 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -2,6 +2,12 @@
+ <deviceinfo version="0.2">
+ <device>
+
++ <!-- This KVMS has abs x/y and buttons. It only has inputInfo.joystick
++ set by hal and doesn't get picked up by default -->
++ <match key="input.product" contains="American Megatrends Inc. Virtual Keyboard and Mouse">
++ <merge key="input.x11_driver" type="string">evdev</merge>
++ </match>
++
+ <!-- KVM emulates a USB graphics tablet which works in absolute coordinate mode -->
+ <match key="input.product" contains="QEMU USB Tablet">
+ <merge key="input.x11_driver" type="string">evdev</merge>
+--
+1.6.0.6
+
diff --git a/abs/core-testing/hal/hal-remove-dell-killswitch.patch b/abs/core-testing/hal/hal-remove-dell-killswitch.patch
new file mode 100644
index 0000000..ae0cf7a
--- /dev/null
+++ b/abs/core-testing/hal/hal-remove-dell-killswitch.patch
@@ -0,0 +1,201 @@
+diff -upr hal-0.5.12/tools/linux/hal-system-killswitch-get-power-linux hal-0.5.12.new/tools/linux/hal-system-killswitch-get-power-linux
+--- hal-0.5.12/tools/linux/hal-system-killswitch-get-power-linux 2008-08-22 07:34:47.000000000 +0100
++++ hal-0.5.12.new/tools/linux/hal-system-killswitch-get-power-linux 2009-03-03 10:45:20.000000000 +0000
+@@ -8,11 +8,6 @@
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+
+-DELL_WCTL=/usr/bin/dellWirelessCtl
+-if [ -x "/usr/sbin/dellWirelessCtl" ]; then
+- DELL_WCTL=/usr/sbin/dellWirelessCtl
+-fi
+-
+ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "bluetooth" ]; then
+ if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "sonypic" ]; then
+ value="`hal-system-sonypic getbluetooth`"
+@@ -22,25 +17,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ exit 1
+ fi
+ exit ${value}
+- elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- $DELL_WCTL --st_bt
+- value=$?
+- if [ "$value" = "0" ]; then
+- exit 1
+- elif [ "$value" = "1" ]; then
+- exit 0
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $value" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+ elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = thinkpad -a -r "$HAL_PROP_LINUX_SYSFS_PATH" ]; then
+ read value < $HAL_PROP_LINUX_SYSFS_PATH 2> /dev/null
+ if [ $? -eq 0 ]; then
+@@ -55,56 +31,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ echo "Access type not supported" >&2
+ exit 1
+ fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wlan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- $DELL_WCTL --st_wlan
+- value=$?
+- if [ "$value" = "0" ]; then
+- exit 1
+- elif [ "$value" = "1" ]; then
+- exit 0
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $value" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wwan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- $DELL_WCTL --st_wwan
+- value=$?
+- if [ "$value" = "0" ]; then
+- exit 1
+- elif [ "$value" = "1" ]; then
+- exit 0
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $value" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+ else
+ echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+ echo "Killswitch type not supported" >&2
+diff -upr hal-0.5.12/tools/linux/hal-system-killswitch-set-power-linux hal-0.5.12.new/tools/linux/hal-system-killswitch-set-power-linux
+--- hal-0.5.12/tools/linux/hal-system-killswitch-set-power-linux 2008-10-24 09:45:54.000000000 +0100
++++ hal-0.5.12.new/tools/linux/hal-system-killswitch-set-power-linux 2009-03-03 10:44:49.000000000 +0000
+@@ -8,11 +8,6 @@
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+
+-DELL_WCTL=/usr/bin/dellWirelessCtl
+-if [ -x "/usr/sbin/dellWirelessCtl" ]; then
+- DELL_WCTL=/usr/sbin/dellWirelessCtl
+-fi
+-
+ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "bluetooth" ]; then
+ if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "sonypic" ]; then
+ hal-system-sonypic setbluetooth $value
+@@ -23,26 +18,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ exit 1
+ fi
+ exit 0
+- elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # TODO: write our own binary that links with libsmbios?
+- if [ "$value" = "true" ]; then
+- $DELL_WCTL --bt 1
+- ret=$?
+- else
+- $DELL_WCTL --bt 0
+- ret=$?
+- fi
+- if [ "$ret" != "0" ]; then
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $ret" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+ elif [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = thinkpad -a -w "$HAL_PROP_LINUX_SYSFS_PATH" ]; then
+ if [ "$value" = "true" ]; then
+ bit=1;
+@@ -61,60 +36,6 @@ if [ "$HAL_PROP_KILLSWITCH_TYPE" = "blue
+ echo "Access type not supported" >&2
+ exit 1
+ fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wlan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # As a side effect we disable the physical kill switch
+- # TODO: write our own binary that links with libsmbios?
+- if [ "$value" = "true" ]; then
+- $DELL_WCTL --sw_wlan 0 --wlan 1
+- ret=$?
+- else
+- $DELL_WCTL --sw_wlan 0 --wlan 0
+- ret=$?
+- fi
+- if [ "$ret" != "0" ]; then
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $ret" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+-elif [ "$HAL_PROP_KILLSWITCH_TYPE" = "wwan" ]; then
+- if [ "$HAL_PROP_KILLSWITCH_ACCESS_METHOD" = "dell" ]; then
+- if [ -x "$DELL_WCTL" ]; then
+- # As a side effect we disable the physical kill switch
+- # TODO: write our own binary that links with libsmbios?
+- if [ "$value" = "true" ]; then
+- $DELL_WCTL --sw_wwan 0 --wwan 1
+- ret=$?
+- else
+- $DELL_WCTL --sw_wwan 0 --wwan 0
+- ret=$?
+- fi
+- if [ "$ret" != "0" ]; then
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl returned $ret" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "dellWirelessCtl ($DELL_WCTL) not available or executable" >&2
+- exit 1
+- fi
+- else
+- echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+- echo "Access type not supported" >&2
+- exit 1
+- fi
+ else
+ echo "org.freedesktop.Hal.Device.KillSwitch.NotSupported" >&2
+ echo "Killswitch type not supported" >&2
diff --git a/abs/core-testing/hal/hal-use-at-console.patch b/abs/core-testing/hal/hal-use-at-console.patch
new file mode 100644
index 0000000..0b32f17
--- /dev/null
+++ b/abs/core-testing/hal/hal-use-at-console.patch
@@ -0,0 +1,45 @@
+diff -up hal-0.5.13/hal.conf.in.drop-polkit hal-0.5.13/hal.conf.in
+--- hal-0.5.13/hal.conf.in.drop-polkit 2009-02-04 17:07:23.000000000 -0500
++++ hal-0.5.13/hal.conf.in 2009-07-29 23:15:16.866766074 -0400
+@@ -25,7 +25,41 @@
+ send_interface="org.freedesktop.Hal.Device"/>
+ <allow send_destination="org.freedesktop.Hal"
+ send_interface="org.freedesktop.Hal.Manager"/>
++ </policy>
++
++ <!-- Only allow users at the local console to manipulate devices -->
++ <policy at_console="true">
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.CPUFreq"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.DockStation"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.KillSwitch"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Leds"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.LightSensor"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Storage"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Storage.Removable"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Volume"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
++ <allow send_destination="org.freedesktop.Hal"
++ send_interface="org.freedesktop.Hal.Device.WakeOnLan"/>
++
++ </policy>
+
++ <!-- well,...and root too -->
++ <policy user="root">
+ <allow send_destination="org.freedesktop.Hal"
+ send_interface="org.freedesktop.Hal.Device.CPUFreq"/>
+ <allow send_destination="org.freedesktop.Hal"
diff --git a/abs/core-testing/hal/hal-xen-unignore-axes.patch b/abs/core-testing/hal/hal-xen-unignore-axes.patch
new file mode 100644
index 0000000..b248639
--- /dev/null
+++ b/abs/core-testing/hal/hal-xen-unignore-axes.patch
@@ -0,0 +1,39 @@
+From e48f59d2b9bcb43ea8a7b8c884dcb73c8f65b170 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 19 Oct 2009 14:27:20 +1000
+Subject: [PATCH] Un-ignore absolute axes for the Xen Virtual Pointer.
+
+The evdev-internal axis type picking fails for the Xen Virtual Pointer as it
+exposes both relative and absolute axes. Evdev picks the relative axes by
+default, leading to a immovable pointer if the Xen backend only sends
+absolute coordinates.
+
+Explicitly tell evdev to not ignore the absolute axes.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=523914
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ fdi/policy/10osvendor/10-x11-input.fdi | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index 89ba672..752c4ab 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -44,5 +44,12 @@
+ <match key="info.product" contains="ThinkPad HDAPS accelerometer data">
+ <remove key="input.x11_driver" />
+ </match>
++
++ <!-- https://bugzilla.redhat.com/show_bug.cgi?id=523914
++ Mouse does not move in PV Xen guest -->
++ <match key="info.product" contains="Xen Virtual Pointer">
++ <merge key="input.x11_options.IgnoreAbsoluteAxes" type="string">false</merge>
++ <merge key="input.x11_options.IgnoreRelativeAxes" type="string">false</merge>
++ </match>
+ </device>
+ </deviceinfo>
+--
+1.6.2.5
+
diff --git a/abs/core-testing/hal/hal.install b/abs/core-testing/hal/hal.install
index d3f3686..d6afee3 100644
--- a/abs/core-testing/hal/hal.install
+++ b/abs/core-testing/hal/hal.install
@@ -14,12 +14,11 @@ post_upgrade() {
}
# arg 1: the old package version
-pre_remove() {
- usr/sbin/userdel hal &>/dev/null
- usr/sbin/groupdel hal &>/dev/null
+post_remove() {
+ if getent passwd hal &>/dev/null; then
+ usr/sbin/userdel hal
+ fi
+ if getent group hal &>/dev/null; then
+ usr/sbin/groupdel hal
+ fi
}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core-testing/hal/handle-input-touchpad.patch b/abs/core-testing/hal/handle-input-touchpad.patch
new file mode 100644
index 0000000..9cd6464
--- /dev/null
+++ b/abs/core-testing/hal/handle-input-touchpad.patch
@@ -0,0 +1,101 @@
+From 6dccf8e3ad181e8f56b1d2a994ec50a1953a1c2d Mon Sep 17 00:00:00 2001
+From: Michael Witten <mfwitten@gmail.com>
+Date: Wed, 06 Jan 2010 00:53:17 +0000
+Subject: Policy: handle `input.touchpad' explicitly
+
+This commit essentially duplicates the policy for:
+
+ <match key="info.capabilities" contains="input.mouse">
+
+and then changes `input.mouse' to `input.touchpad'. This
+is necessary because in Linus Torvalds's Linux repo:
+
+ git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+
+the following commit:
+
+ commit 7105d2ea73e1391b681d0e1212c42f561c64d429
+ Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+ Date: Fri Dec 11 23:54:54 2009 -0800
+
+ Input: ALPS - do not set REL_X/REL_Y capabilities on the touchpad
+
+ Relative events are only reported via secondary device therefore device
+ associated with the touchpad should not advertise these capabilities.
+
+ Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+
+made these few changes:
+
+ diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
+ index a3f492a..b03e7e0 100644
+ /--- a/drivers/input/mouse/alps.c
+ /+++ b/drivers/input/mouse/alps.c
+ /@@ -487,6 +487,17 @@ int alps_init(struct psmouse *psmouse)
+ if (alps_hw_init(psmouse))
+ goto init_fail;
+
+ + /*
+ + * Undo part of setup done for us by psmouse core since touchpad
+ + * is not a relative device.
+ + */
+ + __clear_bit(EV_REL, dev1->evbit);
+ + __clear_bit(REL_X, dev1->relbit);
+ + __clear_bit(REL_Y, dev1->relbit);
+ +
+ + /*
+ + * Now set up our capabilities.
+ + */
+ dev1->evbit[BIT_WORD(EV_KEY)] |= BIT_MASK(EV_KEY);
+ dev1->keybit[BIT_WORD(BTN_TOUCH)] |= BIT_MASK(BTN_TOUCH);
+ dev1->keybit[BIT_WORD(BTN_TOOL_FINGER)] |= BIT_MASK(BTN_TOOL_FINGER);
+
+so that HAL no longer adds:
+
+ input.mouse
+
+to an ALPS touchpad's:
+
+ info.capabilities
+
+so that HAL no longer marks the ALPS touchpad with:
+
+ input.x11_driver = 'evdev'
+
+because the policy file:
+
+ fdi/policy/10osvendor/10-x11-input.fdi
+
+doesn't define the policy for:
+
+ <match key="info.capabilities" contains="input.touchpad">
+
+which was previous unnecessary because everything used to
+be caught by the policy for:
+
+ <match key="info.capabilities" contains="input.mouse">
+
+Signed-off-by: Michael Witten <mfwitten@gmail.com>
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
+index cff8fc5..8bbe263 100644
+--- a/fdi/policy/10osvendor/10-x11-input.fdi
++++ b/fdi/policy/10osvendor/10-x11-input.fdi
+@@ -16,6 +16,14 @@
+ </match>
+ </match>
+
++ <match key="info.capabilities" contains="input.touchpad">
++ <merge key="input.x11_driver" type="string">mouse</merge>
++ <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
++ string="Linux">
++ <merge key="input.x11_driver" type="string">evdev</merge>
++ </match>
++ </match>
++
+ <match key="info.capabilities" contains="input.tablet">
+ <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
+ string="Linux">
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core-testing/hal/macbook-fix-ioperm.patch b/abs/core-testing/hal/macbook-fix-ioperm.patch
new file mode 100644
index 0000000..14d0b39
--- /dev/null
+++ b/abs/core-testing/hal/macbook-fix-ioperm.patch
@@ -0,0 +1,41 @@
+From 597c1ffffd61a15a334ce42f2a569c59f0270bcb Mon Sep 17 00:00:00 2001
+From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Date: Thu, 25 Feb 2010 10:25:18 +0000
+Subject: Fix incorrect arguments to ioperm() call
+
+The second argument of ioperm() is not the last port to be accessed
+but rather length of the port range [port, port + len).
+
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/hald/linux/addons/addon-imac-backlight.c b/hald/linux/addons/addon-imac-backlight.c
+index e869192..54e4ea3 100644
+--- a/hald/linux/addons/addon-imac-backlight.c
++++ b/hald/linux/addons/addon-imac-backlight.c
+@@ -158,7 +158,8 @@ main (int argc, char **argv)
+ goto out;
+ }
+
+- if (ioperm(0xB2, 0xB3, 1) < 0)
++ /* Allow access to ports 0xB2 and 0xB3 */
++ if (ioperm(0xB2, 2, 1) < 0)
+ {
+ HAL_ERROR (("ioperm failed (you should be root)."));
+ exit(1);
+diff --git a/hald/linux/addons/addon-macbookpro-backlight.c b/hald/linux/addons/addon-macbookpro-backlight.c
+index 2a6fef6..c1bbbac 100644
+--- a/hald/linux/addons/addon-macbookpro-backlight.c
++++ b/hald/linux/addons/addon-macbookpro-backlight.c
+@@ -507,7 +507,8 @@ main (int argc, char *argv[])
+ state = INREG(0x7ae4);
+ OUTREG(0x7ae4, state);
+
+- if (ioperm (0x300, 0x304, 1) < 0) {
++ /* Allow access to porta 0x300 through 0x304 */
++ if (ioperm (0x300, 5, 1) < 0) {
+ HAL_ERROR (("ioperm failed (you should be root)."));
+ exit(1);
+ }
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core-testing/hal/path-max.patch b/abs/core-testing/hal/path-max.patch
new file mode 100644
index 0000000..304185d
--- /dev/null
+++ b/abs/core-testing/hal/path-max.patch
@@ -0,0 +1,31 @@
+From a2c3dd5a04d79265772c09c4280606d5c2ed72c6 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Mon, 04 Jan 2010 15:56:13 +0000
+Subject: Bump HAL_PATH_MAX to 4096
+
+Some bits in the code use realpath() with destination paths of size
+HAL_PATH_MAX. This potentially breaks on systems where PATH_MAX is bigger than
+HAL_PATH_MAX (which was 512 until now).
+
+Since we can't use PATH_MAX directly (due to platforms like GNU/Hurd, which
+apparently don't have it), just bump HAL_PATH_MAX to 4096 (as PATH_MAX is on
+Linux), to avoid potential buffer overflows and also fix hal on Linux when
+enabling FORTIFY in gcc.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=25888
+---
+diff --git a/hald/util.h b/hald/util.h
+index c2a1584..7883333 100644
+--- a/hald/util.h
++++ b/hald/util.h
+@@ -38,7 +38,7 @@
+ #endif
+
+ #define HAL_NAME_MAX 256
+-#define HAL_PATH_MAX 512
++#define HAL_PATH_MAX 4096
+
+ gboolean hal_util_remove_trailing_slash (gchar *path);
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/abs/core-testing/heimdal/001_all_heimdal-no_libedit.patch b/abs/core-testing/heimdal/001_all_heimdal-no_libedit.patch
new file mode 100644
index 0000000..a551bdc
--- /dev/null
+++ b/abs/core-testing/heimdal/001_all_heimdal-no_libedit.patch
@@ -0,0 +1,10 @@
+--- cf/krb-readline.m4 2005-06-16 18:28:32.000000000 +0200
++++ cf/krb-readline.m4 2005-06-27 23:17:06.000000000 +0200
+@@ -6,7 +6,6 @@
+ dnl el_init
+
+ AC_DEFUN([KRB_READLINE],[
+-AC_FIND_FUNC_NO_LIBS(el_init, edit, [], [], [$LIB_tgetent])
+ if test "$ac_cv_func_el_init" = yes ; then
+ AC_CACHE_CHECK(for four argument el_init, ac_cv_func_el_init_four,[
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
diff --git a/abs/core-testing/heimdal/002_all_heimal-fPIC.patch b/abs/core-testing/heimdal/002_all_heimal-fPIC.patch
new file mode 100644
index 0000000..c67dbae
--- /dev/null
+++ b/abs/core-testing/heimdal/002_all_heimal-fPIC.patch
@@ -0,0 +1,12 @@
+--- lib/editline/Makefile.am 2005-06-16 18:28:44.000000000 +0200
++++ lib/editline/Makefile.am 2005-06-27 23:21:02.000000000 +0200
+@@ -41,6 +41,9 @@
+
+ EXTRA_DIST = $(man_MANS)
+
++$(libeditline_la_OBJECTS): %.lo: %.c
++ $(LTCOMPILE) -fPIC -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
++
+ snprintf.c:
+ $(LN_S) $(srcdir)/../roken/snprintf.c .
+ strdup.c:
diff --git a/abs/core-testing/heimdal/003_all_heimdal-rxapps.patch b/abs/core-testing/heimdal/003_all_heimdal-rxapps.patch
new file mode 100644
index 0000000..40fc05f
--- /dev/null
+++ b/abs/core-testing/heimdal/003_all_heimdal-rxapps.patch
@@ -0,0 +1,22 @@
+--- appl/kx/rxtelnet.in 2005-06-16 18:29:10.000000000 +0200
++++ appl/kx/rxtelnet.in 2005-06-27 23:21:34.000000000 +0200
+@@ -2,7 +2,7 @@
+ # $Id: rxtelnet.in,v 1.31 2004/03/07 17:22:06 lha Exp $
+ #
+ usage="Usage: $0 [-l username] [-k] [-fF] [-t args_to_telnet] [-x args_to_xterm] [-K args_to_kx] [-w term_emulator] [-b telnet_binary] [-n] [-v] [-h | --help] [--version] host [port]"
+-binary=telnet
++binary=ktelnet
+ term=
+ kx_args=-P
+ while true
+--- appl/kx/rxterm.in 2005-06-16 18:29:10.000000000 +0200
++++ appl/kx/rxterm.in 2005-06-27 23:21:55.000000000 +0200
+@@ -2,7 +2,7 @@
+ # $Id: rxterm.in,v 1.23 2002/03/18 17:37:34 joda Exp $
+ #
+ usage="Usage: $0 [-l username] [-k] [-f] [-r rsh_args] [-x xterm_args] [-K kx_args] [-w term_emulator] [-b rsh_binary][-v] [-h | --help] [--version] host"
+-binary=rsh
++binary=krsh
+ term=xterm
+ while true
+ do
diff --git a/abs/core-testing/heimdal/005_all_heimdal-suid_fix.patch b/abs/core-testing/heimdal/005_all_heimdal-suid_fix.patch
new file mode 100644
index 0000000..35a9ed9
--- /dev/null
+++ b/abs/core-testing/heimdal/005_all_heimdal-suid_fix.patch
@@ -0,0 +1,20 @@
+--- appl/su/Makefile.am 2005-06-16 18:27:46.000000000 +0200
++++ appl/su/Makefile.am 2005-06-27 23:25:21.000000000 +0200
+@@ -7,6 +7,7 @@
+ bin_PROGRAMS = su
+ bin_SUIDS = su
+ su_SOURCES = su.c supaths.h
++su_LDFLAGS = -Wl,-z,now
+ man_MANS = su.1
+
+ LDADD = $(LIB_kafs) \
+--- appl/otp/Makefile.am 2005-06-16 18:28:46.000000000 +0200
++++ appl/otp/Makefile.am 2005-06-27 23:25:40.000000000 +0200
+@@ -8,6 +8,7 @@
+ bin_SUIDS = otp
+ otp_SOURCES = otp.c otp_locl.h
+ otpprint_SOURCES = otpprint.c otp_locl.h
++otp_LDFLAGS = -Wl,-z,now
+
+ man_MANS = otp.1 otpprint.1
+
diff --git a/abs/core-testing/heimdal/012_all_heimdal-berkdb.patch b/abs/core-testing/heimdal/012_all_heimdal-berkdb.patch
new file mode 100644
index 0000000..46762c2
--- /dev/null
+++ b/abs/core-testing/heimdal/012_all_heimdal-berkdb.patch
@@ -0,0 +1,124 @@
+Binary files heimdal-0.7-old/cf/.find-func-no-libs2.m4.swp and heimdal-0.7/cf/.find-func-no-libs2.m4.swp differ
+Index: heimdal/cf/db.m4
+===================================================================
+--- heimdal.orig/cf/db.m4
++++ heimdal/cf/db.m4
+@@ -18,24 +18,13 @@ db_type=unknown
+
+ if test "$enable_berkeley_db" != no; then
+
+- AC_CHECK_HEADERS([ \
+- db4/db.h \
+- db3/db.h \
+- db.h \
+- db_185.h \
+- ])
++ AC_CHECK_HEADERS([db.h])
+
+ dnl db_create is used by db3 and db4
+
+- AC_FIND_FUNC_NO_LIBS(db_create, db4 db3 db, [
++ AC_FIND_FUNC_NO_LIBS(db_create, db, [
+ #include <stdio.h>
+- #ifdef HAVE_DB4_DB_H
+- #include <db4/db.h>
+- #elif defined(HAVE_DB3_DB_H)
+- #include <db3/db.h>
+- #else
+ #include <db.h>
+- #endif
+ ],[NULL, NULL, 0])
+
+ if test "$ac_cv_func_db_create" = "yes"; then
+@@ -50,17 +39,9 @@ dnl db_create is used by db3 and db4
+
+ dnl dbopen is used by db1/db2
+
+- AC_FIND_FUNC_NO_LIBS(dbopen, db2 db, [
++ AC_FIND_FUNC_NO_LIBS(dbopen, db, [
+ #include <stdio.h>
+- #if defined(HAVE_DB2_DB_H)
+- #include <db2/db.h>
+- #elif defined(HAVE_DB_185_H)
+- #include <db_185.h>
+- #elif defined(HAVE_DB_H)
+ #include <db.h>
+- #else
+- #error no db.h
+- #endif
+ ],[NULL, 0, 0, 0, NULL])
+
+ if test "$ac_cv_func_dbopen" = "yes"; then
+Index: heimdal/lib/hdb/db.c
+===================================================================
+--- heimdal.orig/lib/hdb/db.c
++++ heimdal/lib/hdb/db.c
+@@ -37,11 +37,7 @@ RCSID("$Id: db.c 20215 2007-02-09 21:59:
+
+ #if HAVE_DB1
+
+-#if defined(HAVE_DB_185_H)
+-#include <db_185.h>
+-#elif defined(HAVE_DB_H)
+ #include <db.h>
+-#endif
+
+ static krb5_error_code
+ DB_close(krb5_context context, HDB *db)
+Index: heimdal/lib/hdb/db3.c
+===================================================================
+--- heimdal.orig/lib/hdb/db3.c
++++ heimdal/lib/hdb/db3.c
+@@ -37,13 +37,7 @@ RCSID("$Id: db3.c 21610 2007-07-17 07:10
+
+ #if HAVE_DB3
+
+-#ifdef HAVE_DB4_DB_H
+-#include <db4/db.h>
+-#elif defined(HAVE_DB3_DB_H)
+-#include <db3/db.h>
+-#else
+ #include <db.h>
+-#endif
+
+ static krb5_error_code
+ DB_close(krb5_context context, HDB *db)
+Index: heimdal/lib/roken/getcap.c
+===================================================================
+--- heimdal.orig/lib/roken/getcap.c
++++ heimdal/lib/roken/getcap.c
+@@ -38,11 +38,13 @@
+ #include "roken.h"
+ RCSID("$Id: getcap.c 16561 2006-01-13 14:25:32Z lha $");
+
++#if defined(HAVE_DBOPEN) && defined(HAVE_DB_H)
++#define USE_DB
++#endif
++
+ #include <sys/types.h>
+ #include <ctype.h>
+-#if defined(HAVE_DB_185_H)
+-#include <db_185.h>
+-#elif defined(HAVE_DB_H)
++#ifdef USE_DB
+ #include <db.h>
+ #endif
+ #include <errno.h>
+Index: heimdal/lib/roken/ndbm_wrap.c
+===================================================================
+--- heimdal.orig/lib/roken/ndbm_wrap.c
++++ heimdal/lib/roken/ndbm_wrap.c
+@@ -37,13 +37,7 @@ RCSID("$Id: ndbm_wrap.c 21634 2007-07-17
+ #endif
+
+ #include "ndbm_wrap.h"
+-#if defined(HAVE_DB4_DB_H)
+-#include <db4/db.h>
+-#elif defined(HAVE_DB3_DB_H)
+-#include <db3/db.h>
+-#else
+ #include <db.h>
+-#endif
+
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/abs/core-testing/heimdal/013_all_heimdal-pthread-lib.patch b/abs/core-testing/heimdal/013_all_heimdal-pthread-lib.patch
new file mode 100644
index 0000000..19f8794
--- /dev/null
+++ b/abs/core-testing/heimdal/013_all_heimdal-pthread-lib.patch
@@ -0,0 +1,11 @@
+--- heimdal-0.7.1/cf/pthreads.m4.old 2005-09-09 12:12:28.000000000 +0000
++++ heimdal-0.7.1/cf/pthreads.m4 2005-09-17 22:23:23.000000000 +0000
+@@ -32,7 +32,7 @@
+ 2.*)
+ native_pthread_support=yes
+ PTHREADS_CFLAGS=-pthread
+- PTHREADS_LIBS=-pthread
++ PTHREADS_LIBS=-lpthread
+ ;;
+ esac
+ ;;
diff --git a/abs/core-testing/heimdal/014_all_heimdal-path.patch b/abs/core-testing/heimdal/014_all_heimdal-path.patch
new file mode 100644
index 0000000..36a86f1
--- /dev/null
+++ b/abs/core-testing/heimdal/014_all_heimdal-path.patch
@@ -0,0 +1,50 @@
+--- appl/rcp/rcp.c.old 2006-05-03 13:31:59.398493625 +0200
++++ appl/rcp/rcp.c 2006-05-03 13:32:04.494485981 +0200
+@@ -34,7 +34,7 @@
+ #include "rcp_locl.h"
+ #include <getarg.h>
+
+-#define RSH_PROGRAM "rsh"
++#define RSH_PROGRAM "krsh"
+
+ struct passwd *pwd;
+ uid_t userid;
+--- appl/rcp/rcp_locl.h.old 2006-05-03 02:30:31.602025409 +0200
++++ appl/rcp/rcp_locl.h 2006-05-03 02:30:35.886018983 +0200
+@@ -64,4 +64,4 @@
+ #define _PATH_CP "/bin/cp"
+ #endif
+ #undef _PATH_RSH
+-#define _PATH_RSH BINDIR "/rsh"
++#define _PATH_RSH BINDIR "/krsh"
+--- appl/telnet/telnetd/telnetd.h.old 2006-05-03 02:23:14.582680939 +0200
++++ appl/telnet/telnetd/telnetd.h 2006-05-03 02:23:23.746667193 +0200
+@@ -192,7 +192,7 @@
+ #endif
+
+ #undef _PATH_LOGIN
+-#define _PATH_LOGIN BINDIR "/login"
++#define _PATH_LOGIN BINDIR "/klogin"
+
+ /* fallbacks */
+
+--- appl/login/shadow.c.old 2006-05-05 06:31:29.517138115 +0200
++++ appl/login/shadow.c 2006-05-05 06:32:26.433052741 +0200
+@@ -38,7 +38,7 @@
+ #ifdef HAVE_SHADOW_H
+
+ #ifndef _PATH_CHPASS
+-#define _PATH_CHPASS "/usr/bin/passwd"
++#define _PATH_CHPASS "/usr/bin/kpasswd"
+ #endif
+
+ static int
+@@ -52,7 +52,7 @@
+ printf("fork /bin/passwd");
+ exit(1);
+ case 0:
+- execlp(_PATH_CHPASS, "passwd", who->pw_name, (char *) 0);
++ execlp(_PATH_CHPASS, "kpasswd", who->pw_name, (char *) 0);
+ exit(1);
+ default:
+ waitpid(pid, &status, 0);
diff --git a/abs/core-testing/heimdal/PKGBUILD b/abs/core-testing/heimdal/PKGBUILD
index 06dd0cd..2074973 100644
--- a/abs/core-testing/heimdal/PKGBUILD
+++ b/abs/core-testing/heimdal/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 21345 2008-12-12 02:52:37Z allan $
+# $Id: PKGBUILD 81228 2010-05-27 15:14:39Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
@@ -7,86 +7,100 @@
#
pkgname=heimdal
-pkgver=1.2.1
-pkgrel=2
+pkgver=1.3.3
+pkgrel=1
pkgdesc="Implementation of Kerberos V5 libraries"
arch=('i686' 'x86_64')
url="http://www.h5l.org/"
license=('custom')
-depends=('db>=4.7' 'openssl' 'e2fsprogs')
+depends=('db' 'openssl' 'sqlite3' 'e2fsprogs')
backup=(etc/krb5.conf)
options=('!libtool' '!emptydirs')
-install=$pkgname.install
-source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz \
- 002_all_heimdal-no_libedit.patch \
- 003_all_heimdal-fPIC.patch \
- 004_all_heimdal-rxapps.patch \
- heimdal-kdc.rc \
- kadmind.rc \
+install=heimdal.install
+source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz
+ 001_all_heimdal-no_libedit.patch
+ 002_all_heimal-fPIC.patch
+ 003_all_heimdal-rxapps.patch
+ 005_all_heimdal-suid_fix.patch
+ 012_all_heimdal-berkdb.patch
+ 013_all_heimdal-pthread-lib.patch
+ 014_all_heimdal-path.patch
+ heimdal-kdc.rc
+ kadmind.rc
kpasswd.rc)
-md5sums=('6e5028077e2a6b101a4a72801ba71b9e'
- '1199c4a4a38e9c2b2c0a99bd5781767a'
- '3d0262aa218e1611500de735d3581e28'
- '0fe81cb1e33b2a2e60edaf47dfdfe4de'
+md5sums=('963c09f1b14c41660be70b55fae9f163'
+ '98e28f11f906c967aac22d6184102c9e'
+ '6d5571bdedba2e2423b90bccdbac2c0a'
+ '2feec3924ee5230b54175b4d4000c872'
+ '45aeb207f360f9f4e9e0fabc8bfeecbc'
+ '56f5d10d0ec40f2fda82ef144ffac1e0'
+ '1b8665b771c4eb6b56ea8582c96e56e3'
+ '8208ae8c0b6ff5ab4f64af1693e9e396'
'e59650992b9541a30dfce727a194f6e0'
'1f2f86a67bbfddb7af581d35fdca9627'
'f8f1eca95b9d3f2b4ebf2417b71b81cf')
build() {
- [ -e /usr/lib/libasn1.so ] && echo "## remove old heimdal pkg first ##" && return 1
-
cd ${srcdir}/heimdal-${pkgver}
- patch -Np0 -i ${srcdir}/002_all_heimdal-no_libedit.patch || return 1
- patch -Np0 -i ${srcdir}/003_all_heimdal-fPIC.patch || return 1
- patch -Np0 -i ${srcdir}/004_all_heimdal-rxapps.patch || return 1
+ patch -Np0 -i ${srcdir}/001_all_heimdal-no_libedit.patch || return 1
+ patch -Np0 -i ${srcdir}/002_all_heimal-fPIC.patch || return 1
+ patch -Np0 -i ${srcdir}/003_all_heimdal-rxapps.patch || return 1
+ patch -Np0 -i ${srcdir}/005_all_heimdal-suid_fix.patch || return 1
+ patch -Np1 -i ${srcdir}/012_all_heimdal-berkdb.patch || return 1
+ patch -Np1 -i ${srcdir}/013_all_heimdal-pthread-lib.patch || return 1
+ patch -Np0 -i ${srcdir}/014_all_heimdal-path.patch || return 1
- sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in configure \
+ sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in \
doc/setup.texi doc/heimdal.info kadmin/kadmind.8 kdc/kdc.8 \
lib/hdb/hdb.h lib/krb5/krb5.conf.5 lib/krb5/krb5.conf.cat5
+ libtoolize --force || return 1
+ aclocal -I cf || return 1
+ autoconf || return 1
+ automake || return 1
+
./configure --prefix=/usr --enable-shared=yes --without-x \
- --sysconfdir=/etc --mandir=/usr/share/man \
+ --sysconfdir=/etc --mandir=/usr/share/man \
--datadir=/var/lib/heimdal \
--localstatedir=/var/lib/heimdal \
--with-openssl=/usr \
--with-readline-lib=/usr/lib \
--with-readline-include=/usr/include/readline \
- --libexecdir=/usr/sbin --with-berkeley-db \
- --disable-krb4
+ --with-sqlite3-lib=/usr/lib \
+ --with-sqlite3-include=/usr/include \
+ --libexecdir=/usr/sbin
make || return 1
make DESTDIR=${pkgdir} install || return 1
+ # Rename daemons and their manpages
for i in telnetd ftpd rshd; do
- mv ${pkgdir}/usr/share/man/man8/${i}.8 ${pkgdir}/usr/share/man/man8/k${i}.8
- mv ${pkgdir}/usr/sbin/${i} ${pkgdir}/usr/sbin/k${i}
+ mv ${pkgdir}/usr/share/man/man8/{,k}${i}.8 || return 1
+ mv ${pkgdir}/usr/sbin/{,k}${i} || return 1
done
+ # Rename clients and their manpages
for i in rcp rsh telnet ftp su login; do
if [ -f ${pkgdir}/usr/share/man/man1/${i}.1 ]; then
- mv ${pkgdir}/usr/share/man/man1/${i}.1 ${pkgdir}/usr/share/man/man1/k${i}.1
+ mv ${pkgdir}/usr/share/man/man1/{,k}${i}.1 || return 1
fi
- mv ${pkgdir}/usr/bin/${i} ${pkgdir}/usr/bin/k${i}
+ mv ${pkgdir}/usr/bin/{,k}${i} || return 1
done
rm -rf ${pkgdir}/usr/share/man/cat{1,3,5,8}
# Arch could be a KDC too
- mkdir -p ${pkgdir}/etc/rc.d
- install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc
+ install -d ${pkgdir}/etc/rc.d
+ install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc/ || return 1
for i in heimdal-kdc kadmind kpasswd; do
- install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i}
+ install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i} || return 1
done
- # Remove conflicts
- rm ${pkgdir}/usr/share/man/man5/ftpusers.5* # man-pages
- rm ${pkgdir}/usr/share/info/dir
-
- # Compress info pages
- for page in heimdal hx509; do
- gzip -9 ${pkgdir}/usr/share/info/${page}.info
- done
+ # Remove conflicts
+ rm ${pkgdir}/usr/share/man/man5/ftpusers.5* # man-pages
+ rm ${pkgdir}/usr/share/man/man3/{DES,DH,EVP,OpenSSL,RAND,RSA}* # openssl (a bit overzealous...)
+ rm ${pkgdir}/usr/share/man/man3/os.3* # erlang
# Install the license
- install -D -m644 ${srcdir}/${pkgname}-${pkgver}/LICENSE \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE \
+ ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
}
diff --git a/abs/core-testing/imlib2/PKGBUILD b/abs/core-testing/imlib2/PKGBUILD
index b465ca2..0307519 100644
--- a/abs/core-testing/imlib2/PKGBUILD
+++ b/abs/core-testing/imlib2/PKGBUILD
@@ -1,28 +1,34 @@
-# $Id: PKGBUILD 2921 2008-06-15 20:14:02Z eric $
-# Maintainer: arjan <arjan@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# $Id: PKGBUILD 79752 2010-05-06 13:39:04Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Arjan Timmerman <arjan.archlinux.org>
+# Contributor: Tom Newsom <Jeepster.gmx.co.uk>
+
pkgname=imlib2
-pkgver=1.4.1
-pkgrel=2
-pkgdesc="Imlib2 is the successor to Imlib. It is NOT a newer version -- Imlib 2 can be installed alongside Imlib 1.x"
-arch=(i686 x86_64)
-url="http://sourceforge.net/projects/enlightenment"
+pkgver=1.4.4
+pkgrel=1
+pkgdesc="Library that does image file loading and saving as well as rendering, manipulation, arbitrary polygon support"
+url="http://sourceforge.net/projects/enlightenment/"
+arch=('i686' 'x86_64')
license=('BSD')
-depends=('libtiff' 'giflib' 'bzip2' 'freetype2' 'libxext' 'libpng' 'libid3tag')
+depends=('libtiff>=3.9.2-2' 'giflib' 'bzip2' 'freetype2' 'libxext' 'libpng>=1.4.0' 'libid3tag' 'libjpeg>=8')
options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/enlightenment/$pkgname-$pkgver.tar.gz)
-md5sums=('16a3d885e523303be794282c0ed90841')
+source=("http://downloads.sourceforge.net/enlightenment/$pkgname-$pkgver.tar.bz2")
+sha1sums=('aca2cf5d40ddcd8a3acfde605f319fccce7c2a2b')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
- # Enable x86 MMX optimizations for i686 (32-bit assembler code not compatible with x86_64)
- [ "${CARCH}" = "i686" ] && EXTRAOPTS="--disable-mmx"
- # Disable AMD64 optimizations due to bug in assembler code
- [ "${CARCH}" = "x86_64" ] && EXTRAOPTS="--disable-amd64"
+ # disable optimizations, they cause problems (e.g. FS#12268)
+ [ $CARCH = "i686" ] && EXTRAOPTS="--disable-mmx"
+ [ $CARCH = "x86_64" ] && EXTRAOPTS="--disable-amd64"
- ./configure --prefix=/usr --sysconfdir=/etc/imlib2 --x-libraries=/usr/lib $EXTRAOPTS
+ # Configure and Build
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/imlib2 \
+ --x-libraries=/usr/lib $EXTRAOPTS || return 1
make || return 1
- make DESTDIR=$startdir/pkg install
- install -D -m644 COPYING $startdir/pkg/usr/share/licenses/$pkgname/LICENSE.txt
+ make DESTDIR=$pkgdir install || return 1
+
+ # Install License
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
}
diff --git a/abs/core-testing/initscripts/PKGBUILD b/abs/core-testing/initscripts/PKGBUILD
index 7f886e0..df2897e 100644
--- a/abs/core-testing/initscripts/PKGBUILD
+++ b/abs/core-testing/initscripts/PKGBUILD
@@ -1,23 +1,33 @@
-# $Id: PKGBUILD 25007 2009-01-22 17:10:39Z aaron $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# $Id: PKGBUILD 85250 2010-07-11 09:54:57Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=initscripts
-pkgver=2009.01
-pkgrel=9
+pkgver=2010.07
+pkgrel=1
pkgdesc="System initialization/bootup scripts"
arch=('i686' 'x86_64')
url="http://www.archlinux.org"
license=('GPL')
groups=('base')
backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown)
-depends=('glibc' 'bash' 'awk' 'grep' 'coreutils' 'sed' 'udev>=118' 'net-tools' 'ncurses' 'kbd' 'findutils')
-source=(ftp://ftp.archlinux.org/other/initscripts/${pkgname}-${pkgver}.tar.gz rc.sysinit.patch rc.shutdown.patch)
-md5sums=('b947f3efd5d4681459fe8073d610f1b5')
+depends=('glibc' 'bash' 'awk' 'grep' 'coreutils' 'sed' 'udev>=139-1'
+ 'net-tools' 'ncurses' 'kbd' 'findutils' 'sysvinit')
+optdepends=('bridge-utils: Network bridging support'
+ 'dhcpcd: DHCP network configuration'
+ 'wireless_tools: Wireless networking')
+install=initscripts.install
+source=(ftp://ftp.archlinux.org/other/initscripts/${pkgname}-${pkgver}-${pkgrel}.tar.xz rc.sysinit.patch rc.shutdown.patch)
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}/
- patch -p0 < $startdir/src/rc.sysinit.patch || exit 1
- patch -p0 < $startdir/src/rc.shutdown.patch || exit 1
- DESTDIR=$startdir/pkg ./install.sh
+ cd ${srcdir}/${pkgname}-${pkgver}-${pkgrel}/
+ patch -p0 < ${srcdir}/rc.sysinit.patch || exit 1
+ patch -p0 < ${srcdir}/rc.shutdown.patch || exit 1
+ DESTDIR=${pkgdir} ./install.sh
}
+sha256sums=('16b89a9108deacb7d2afd965e59e31aa4b313fc4d1a660fb3cc1fa5c28cfc053'
+ '3a8a82edd680263c4ffa7289fdb6dac69d4611905d093ee3457c00e008e95a1a'
+ 'caeb8d9e56783d01001875ffa12d207bc78e06d0fbe3883ce1b68efdfa6ce195')
+sha256sums=('16b89a9108deacb7d2afd965e59e31aa4b313fc4d1a660fb3cc1fa5c28cfc053'
+ '3a8a82edd680263c4ffa7289fdb6dac69d4611905d093ee3457c00e008e95a1a'
+ 'fd5248ccfc927ca0d8722cec61c041083b4bf79126176d18d51d5e21378ec5fa')
diff --git a/abs/core-testing/initscripts/initscripts.install b/abs/core-testing/initscripts/initscripts.install
index 9fffa9b..360101c 100644
--- a/abs/core-testing/initscripts/initscripts.install
+++ b/abs/core-testing/initscripts/initscripts.install
@@ -1,25 +1,7 @@
post_upgrade() {
- cat << "EOF"
------------------------------------------------------------
-IMPORTANT NOTICE FOR ENCRYPTION USERS
-
-The "password" column in /etc/crypttab has now
-two special keywords:
-- ASK ask for a passphrase on boot
-- SWAP use a random key and create swapspace
- This is particularly dangerous, as the
- volume in question will be overwritten
- If you use SWAP as your passphrase (which
- is insecure anyway), be sure to remove it
- from /etc/crypttab to avoid dataloss!
-
-See /etc/crypttab(.pacnew) for more information.
------------------------------------------------------------
-Attention netcfg users: netcfg is no longer included as
-part of the initscripts package.
-Be aware that rc.conf's NET_PROFILES has changed to
-NETWORKS, and that netcfg must be installed separately.
-For more info, see the netcfg man page.
------------------------------------------------------------
-EOF
+ if [ "$(vercmp $2 2009.07)" -lt 0 ]; then
+ echo "==> Adjusting /etc/inittab for transition to /dev/tty standard."
+ echo "==> Original file saved as /etc/inittab.pacsave"
+ sed -i'.pacsave' 's#vc/\([0-9]\)#tty\1#' /etc/inittab
+ fi
}
diff --git a/abs/core-testing/initscripts/rc.shutdown.patch b/abs/core-testing/initscripts/rc.shutdown.patch
index 7456b54..329164d 100644
--- a/abs/core-testing/initscripts/rc.shutdown.patch
+++ b/abs/core-testing/initscripts/rc.shutdown.patch
@@ -1,23 +1,15 @@
---- rc.shutdown.orig 2009-02-06 15:32:04.000000000 +0000
-+++ rc.shutdown 2009-02-06 15:45:05.000000000 +0000
-@@ -22,6 +22,12 @@
- /etc/rc.local.shutdown
+--- rc.shutdown.orig 2010-08-08 23:50:24.000000000 +0000
++++ rc.shutdown 2010-08-08 23:51:37.000000000 +0000
+@@ -32,6 +32,12 @@
+ fi
+ done
fi
-
+#unmount network filesystems for runit
-+#if [ -e /var/service/netfs ]
++#if [ -e /var/services/netfs ]
+#then
-+ /etc/rc.d/netfs stop
++ /etc/rc.d/netfs stop
+#fi
+
- if [ "$PREVLEVEL" = "3" -o "$PREVLEVEL" = "5" ]; then
- # Shutdown daemons
- let i=${#DAEMONS[@]}
-@@ -39,6 +45,7 @@
- fi
- fi
-
-+
- # Terminate all processes
- stat_busy "Sending SIGTERM To Processes"
- /sbin/killall5 -15 &> /dev/null
+ # Shutdown daemons in reverse order
+ let i=${#DAEMONS[@]}-1
+ while [ $i -ge 0 ]; do
diff --git a/abs/core-testing/initscripts/rc.sysinit.patch b/abs/core-testing/initscripts/rc.sysinit.patch
index 6556069..b0253d0 100644
--- a/abs/core-testing/initscripts/rc.sysinit.patch
+++ b/abs/core-testing/initscripts/rc.sysinit.patch
@@ -1,5 +1,5 @@
---- /tmp/rc.sysinit.orig 2009-04-02 16:40:47.000000000 +0000
-+++ rc.sysinit 2009-04-02 16:44:20.000000000 +0000
+--- rc.sysinit.orig 2010-08-08 23:42:36.000000000 +0000
++++ rc.sysinit 2010-08-08 23:44:28.000000000 +0000
@@ -7,10 +7,9 @@
. /etc/rc.d/functions
@@ -7,18 +7,10 @@
-printhl "Arch Linux\n"
-printhl "${C_H2}http://www.archlinux.org"
-printhl "Copyright 2002-2007 Judd Vinet"
--printhl "Copyright 2007-2009 Aaron Griffin"
-+printhl "LinHES"
-+printhl "The Linux Home Entertainment System"
+-printhl "Copyright 2007-2010 Aaron Griffin"
++printhl "LinHES\n"
++printhl "The Linux Home Entertainment System\n"
+printhl "${C_H2}http://www.linhes.org"
printhl "Distributed under the GNU General Public License (GPL)"
printsep
-@@ -85,6 +84,7 @@
- if ! [ "$load_modules" = "off" ]; then
- if [ -f /proc/modules ]; then
- stat_busy "Loading Modules"
-+ /usr/LH/bin/load-modules-mythvantage.sh
- for mod in "${MODULES[@]}"; do
- if [ "$mod" = "${mod#!}" ]; then
- /sbin/modprobe $mod
diff --git a/abs/core-testing/inputproto/PKGBUILD b/abs/core-testing/inputproto/PKGBUILD
index 23f98c4..2741bb7 100644
--- a/abs/core-testing/inputproto/PKGBUILD
+++ b/abs/core-testing/inputproto/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 26845 2009-02-13 15:22:04Z andyrtr $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 54533 2009-10-11 09:28:09Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=inputproto
-pkgver=1.5.0
+pkgver=2.0
pkgrel=1
pkgdesc="X11 Input extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://xorg.freedesktop.org/"
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('dcc36554aea1338b3813943daf1e9988')
+md5sums=('0f7acbc14a082f9ae03744396527d23d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/intel-dri/PKGBUILD b/abs/core-testing/intel-dri/PKGBUILD
deleted file mode 100644
index 8da4e48..0000000
--- a/abs/core-testing/intel-dri/PKGBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# $Id: $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=intel-dri
-pkgver=7.2
-pkgrel=2
-pkgdesc="Mesa DRI drivers for Intel chipsets"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'expat>=2.0.1' 'libgl>=7.2')
-makedepends=('glproto>=1.4.9' 'pkgconfig' 'libxfixes' 'libxdamage' 'libxxf86vm' 'libxext')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch
- intel-revert-vbl.patch
- intel-disable-ttm-warning.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b'
- 'a111f4dc82e894f8801bc3fa129af7af'
- 'a393d374b5d187ff2a5bb90b0f347c9a')
-
-build() {
- cd ${srcdir}/Mesa-${pkgver}
- patch -Np1 -i "${srcdir}/intel-revert-vbl.patch" || return 1
- patch -Np1 -i "${srcdir}/intel-disable-ttm-warning.patch" || return 1
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=i810,i915,i965 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- rm -rf ${pkgdir}/usr/include
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
-}
diff --git a/abs/core-testing/intel-dri/intel-disable-ttm-warning.patch b/abs/core-testing/intel-dri/intel-disable-ttm-warning.patch
deleted file mode 100644
index f9d5223..0000000
--- a/abs/core-testing/intel-dri/intel-disable-ttm-warning.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ruN Mesa-7.2.orig/src/mesa/drivers/dri/intel/intel_context.c Mesa-7.2/src/mesa/drivers/dri/intel/intel_context.c
---- Mesa-7.2.orig/src/mesa/drivers/dri/intel/intel_context.c 2008-09-13 20:25:44.000000000 +0000
-+++ Mesa-7.2/src/mesa/drivers/dri/intel/intel_context.c 2008-12-21 21:27:45.000000000 +0000
-@@ -490,9 +490,6 @@
- if (intel->bufmgr == NULL) {
- if (ttm_disable) {
- fprintf(stderr, "TTM buffer manager disabled. Using classic.\n");
-- } else {
-- fprintf(stderr, "Failed to initialize TTM buffer manager. "
-- "Falling back to classic.\n");
- }
-
- if (intelScreen->tex.size == 0) {
diff --git a/abs/core-testing/intel-dri/intel-revert-vbl.patch b/abs/core-testing/intel-dri/intel-revert-vbl.patch
deleted file mode 100644
index 0394414..0000000
--- a/abs/core-testing/intel-dri/intel-revert-vbl.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 532d2051245a1d8afe7ca236f1d966d555bb121a
-Author: Dave Airlie <airlied@linux.ie>
-Date: Fri Sep 12 17:21:25 2008 +1000
-
- Revert "intel: sync to vblank by default"
-
- This reverts commit e9bf3e4cc9a7e4bcd4c45bd707541d26ecdf0409.
-
-diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
-index c193830..f02192d 100644
---- a/src/mesa/drivers/dri/intel/intel_screen.c
-+++ b/src/mesa/drivers/dri/intel/intel_screen.c
-@@ -55,7 +55,7 @@ PUBLIC const char __driConfigOptions[] =
- DRI_CONF_BEGIN
- DRI_CONF_SECTION_PERFORMANCE
- DRI_CONF_FTHROTTLE_MODE(DRI_CONF_FTHROTTLE_IRQS)
-- DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_ALWAYS_SYNC)
-+ DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_0)
- /* Options correspond to DRI_CONF_BO_REUSE_DISABLED,
- * DRI_CONF_BO_REUSE_ALL
- */
diff --git a/abs/core-testing/intel-dri/mesa-7.1-link-shared.patch b/abs/core-testing/intel-dri/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core-testing/intel-dri/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core-testing/iproute2/PKGBUILD b/abs/core-testing/iproute2/PKGBUILD
index ed280e5..38b5a4c 100644
--- a/abs/core-testing/iproute2/PKGBUILD
+++ b/abs/core-testing/iproute2/PKGBUILD
@@ -1,37 +1,44 @@
-# $Id: PKGBUILD 24415 2009-01-16 12:43:06Z ronald $
+# $Id: PKGBUILD 82589 2010-06-14 06:49:40Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=iproute2
-pkgver=2.6.28
-pkgrel=1
+pkgver=2.6.34
+pkgrel=2
pkgdesc="IP Routing Utilities"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.linux-foundation.org/en/Net:Iproute2"
depends=('linux-atm' 'perl')
-
provides=('iproute')
conflicts=('iproute')
replaces=('iproute')
-
+options=('!makeflags')
backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
-
-source=(http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-${pkgver}.tar.bz2)
-md5sums=('595f9b17320f69e8d30d2fa80f1bca14')
+source=(http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-${pkgver}.tar.bz2
+ 'iproute2-fhs.patch' 'tc.patch')
+sha1sums=('b57f98e284c68a464b9c3e132d29760de6331688'
+ 'ae7c4529555e1dce389fcedcbb7e0df5c726741a'
+ 'de7ffa44922741c1239e1715e1d81d8f4e7b04e4')
build() {
cd $srcdir/iproute2-${pkgver}
- sed -i 's|/usr/local/lib/iptables|/usr/lib/iptables|' include/iptables.h || return 1
- sed -i 's|=/share|=/usr/share|' Makefile || return 1
- sed -i 's|=/sbin|=/usr/sbin|' Makefile || return 1
-
+ # set correct fhs structure
+ patch -Np1 -i ${srcdir}/iproute2-fhs.patch || return 1
+ patch -Np0 -i ${srcdir}/tc.patch || return 1
./configure || return 1
make || return 1
- make DESTDIR=$pkgdir install || return 1
+}
-# chmod 755 $pkgdir/usr/sbin/ifcfg || return 1
+package() {
+ cd $srcdir/iproute2-${pkgver}
+ make DESTDIR=$pkgdir install || return 1
+
+ # libnetlink isn't installed, install it FS#19385
+ install -Dm644 include/libnetlink.h ${pkgdir}/usr/include/libnetlink.h || return 1
+ install -Dm644 lib/libnetlink.a ${pkgdir}/usr/lib/libnetlink.a || return 1
}
+
diff --git a/abs/core-testing/iproute2/iproute2-fhs.patch b/abs/core-testing/iproute2/iproute2-fhs.patch
new file mode 100644
index 0000000..563a915
--- /dev/null
+++ b/abs/core-testing/iproute2/iproute2-fhs.patch
@@ -0,0 +1,57 @@
+diff -Naur iproute2.old/Makefile iproute2-2.6.29/Makefile
+--- iproute2.old/Makefile 2009-11-11 22:05:21.251407668 +0100
++++ iproute2-2.6.29/Makefile 2009-11-11 22:07:09.891833516 +0100
+@@ -1,11 +1,12 @@
+ DESTDIR=/usr/
+ ROOTDIR=$(DESTDIR)
+ LIBDIR=/usr/lib/
+-SBINDIR=/sbin
++SBINDIR=/usr/sbin
+ CONFDIR=/etc/iproute2
+-DOCDIR=/share/doc/iproute2
+-MANDIR=/share/man
++DOCDIR=/usr/share/doc/iproute2
++MANDIR=/usr/share/man
+ ARPDDIR=/var/lib/arpd
++SHAREDIR=/usr/share
+
+ # Path to db_185.h include
+ DBM_INCLUDE:=$(ROOTDIR)/usr/include
+diff -Naur iproute2.old/netem/Makefile iproute2-2.6.29/netem/Makefile
+--- iproute2.old/netem/Makefile 2009-11-11 22:05:21.284750207 +0100
++++ iproute2-2.6.29/netem/Makefile 2009-11-11 22:07:54.674736924 +0100
+@@ -20,9 +20,9 @@
+ $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
+
+ install: all
+- mkdir -p $(DESTDIR)/lib/tc
++ mkdir -p $(DESTDIR)/${SHAREDIR}/tc
+ for i in $(DISTDATA); \
+- do install -m 755 $$i $(DESTDIR)/lib/tc; \
++ do install -m 755 $$i $(DESTDIR)/${SHAREDIR}/tc; \
+ done
+
+ clean:
+diff -Naur iproute2.old/tc/tc_util.c iproute2-2.6.29/tc/tc_util.c
+--- iproute2.old/tc/tc_util.c 2009-11-11 22:05:21.298076943 +0100
++++ iproute2-2.6.29/tc/tc_util.c 2009-11-11 22:09:32.865152646 +0100
+@@ -24,8 +24,8 @@
+ #include "utils.h"
+ #include "tc_util.h"
+
+-#ifndef LIBDIR
+-#define LIBDIR "/usr/lib/"
++#ifndef SHAREDIR
++#define SHAREDIR "/usr/share"
+ #endif
+
+ const char *get_tc_lib(void)
+@@ -34,7 +34,7 @@
+
+ lib_dir = getenv("TC_LIB_DIR");
+ if (!lib_dir)
+- lib_dir = LIBDIR "/tc/";
++ lib_dir = SHAREDIR "/tc/";
+
+ return lib_dir;
+ }
diff --git a/abs/core-testing/iproute2/tc.patch b/abs/core-testing/iproute2/tc.patch
new file mode 100644
index 0000000..e6d6276
--- /dev/null
+++ b/abs/core-testing/iproute2/tc.patch
@@ -0,0 +1,26 @@
+--- tc/Makefile.old 2010-06-14 08:29:49.257421437 +0200
++++ tc/Makefile 2010-06-14 08:30:07.157419977 +0200
+@@ -99,18 +99,11 @@
+ $(AR) rcs $@ $(TCLIB)
+
+ install: all
+- echo mkdir -p $(MODDESTDIR)
+- echo install -m 0755 tc $(DESTDIR)$(SBINDIR)
+- for i in $(TCSO); \
+- do echo install -m 755 $$i $(MODDESTDIR); \
+- done
+- if [ ! -f $(MODDESTDIR)/m_ipt.so ]; then \
+- if [ -f $(MODDESTDIR)/m_xt.so ]; \
+- then ln -s m_xt.so $(MODDESTDIR)/m_ipt.so ; \
+- elif [ -f $(MODDESTDIR)/m_xt_old.so ]; \
+- then ln -s m_xt_old.so $(MODDESTDIR)/m_ipt.so ; \
+- fi; \
+- fi
++ mkdir -p $(DESTDIR)$(LIBDIR)/tc
++ install -m 0755 tc $(DESTDIR)$(SBINDIR)
++ for i in $(TCSO); \
++ do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \
++ done
+
+ clean:
+ rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \
diff --git a/abs/core-testing/ipw2100-fw/PKGBUILD b/abs/core-testing/ipw2100-fw/PKGBUILD
index 52cd9f5..ccb797a 100644
--- a/abs/core-testing/ipw2100-fw/PKGBUILD
+++ b/abs/core-testing/ipw2100-fw/PKGBUILD
@@ -1,36 +1,27 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 59422 2009-11-23 20:05:10Z giovanni $
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=ipw2100-fw
pkgver=1.3
-pkgrel=2
+pkgrel=4
pkgdesc="Intel Centrino Drivers firmware for IPW2100"
-arch=(i686 x86_64)
+arch=('any')
url="http://ipw2100.sourceforge.net/"
-depends=('wireless_tools')
-#source=(ipw2100-fw-1.3.tgz http://switch.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tgz)
-source=(http://bughost.org/firmware/$pkgname-$pkgver.tgz)
-install=ipw2100-fw.install
-replaces=ipw2100
+license=('custom')
+depends=()
+replaces=('ipw2100')
+source=(http://bughost.org/firmware/${pkgname}-${pkgver}.tgz)
+md5sums=('46aa75bcda1a00efa841f9707bbbd113')
build() {
- #cd $startdir/src/$pkgname-$pkgver
- #make
- #Install kernel modules
- #for i in *.ko
- #do
- #install -D -m 644 $i $startdir/pkg/lib/modules/$(uname -r)/kernel/drivers/net/wireless/ipw2100/$i
- #done
-
- cd $startdir/src
+ cd "${srcdir}"
# Install firmware
for i in *.fw
do
- install -D -m 644 $i $startdir/pkg/lib/firmware/$i
+ install -D -m 644 $i "${pkgdir}/lib/firmware/$i" || return 1
done
-
- # Install firmware license
- install -D -m 644 LICENSE $startdir/pkg/lib/firmware/LICENSE.ipw2100-fw
- }
-md5sums=('46aa75bcda1a00efa841f9707bbbd113')
+ # Install license
+ install -D -m 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
+}
diff --git a/abs/core-testing/ipw2200-fw/PKGBUILD b/abs/core-testing/ipw2200-fw/PKGBUILD
index 5ff080b..75b4be9 100644
--- a/abs/core-testing/ipw2200-fw/PKGBUILD
+++ b/abs/core-testing/ipw2200-fw/PKGBUILD
@@ -1,34 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 59427 2009-11-23 20:20:15Z giovanni $
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=ipw2200-fw
-pkgver=3.0
+pkgver=3.1
pkgrel=2
-pkgdesc="Intel Centrino Drivers firmware for IPW2200"
-arch=(i686 x86_64)
-url="http://ipw2200.sourceforge.net/"
-depends=('wireless_tools')
-source=(http://bughost.org/firmware/$pkgname-$pkgver.tgz)
-install=ipw2200-fw.install
-replaces=ipw2200
+pkgdesc="Firmware for the Intel PRO/Wireless 2200BG"
+arch=('any')
+url='http://ipw2200.sourceforge.net/'
+license=('custom')
+depends=()
+source=(http://bughost.org/firmware/${pkgname}-${pkgver}.tgz)
+replaces=('ipw2200')
+md5sums=('eaba788643c7cc7483dd67ace70f6e99')
build() {
- #cd $startdir/src/$pkgname-$pkgver
- #make
- #Install kernel modules
- #for i in *.ko
- #do
- #install -D -m 644 $i $startdir/pkg/lib/modules/$(uname -r)/kernel/drivers/net/wireless/ipw2200/$i
- #done
-
- cd $startdir/src/ipw2200-fw-3.0
-
+ cd "${srcdir}/ipw2200-fw-${pkgver}"
# Install firmware
- for i in *.fw
- do
- install -D -m 644 $i $startdir/pkg/lib/firmware/$i
+ for i in ipw*.fw; do
+ install -D -m 644 $i "${pkgdir}/lib/firmware/$i"
done
- # Install firmware license
- install -D -m 644 LICENSE.ipw2200-fw $startdir/pkg/lib/firmware/LICENSE.ipw2200-fw
- }
-md5sums=('34a5ed3702006f5470ebfd513e04d9eb')
+ # Install license
+ install -D -m 644 LICENSE.ipw2200-fw "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
+}
diff --git a/abs/core-testing/iwlwifi-3945-ucode/PKGBUILD b/abs/core-testing/iwlwifi-3945-ucode/PKGBUILD
deleted file mode 100644
index 14de93b..0000000
--- a/abs/core-testing/iwlwifi-3945-ucode/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-pkgname=iwlwifi-3945-ucode
-pkgver=2.14.1.5
-pkgrel=2
-pkgdesc="Intel wireless firmware for IPW3945 (iwlwifi driver)"
-arch=(i686 x86_64)
-url="http://intellinuxwireless.org/?p=iwlwifi"
-license=('custom')
-depends=()
-source=(http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-2.14.4.tgz
- http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-$pkgver.tgz)
-md5sums=('7178aa3a6e08655b8ac9565095bbd441'
- 'a8122d3e026561055f488dc654ccfcd1')
-force=y
-
-build() {
- cd $startdir/src/$pkgname-2.14.4
- # Install old firmware for compatibility
- install -D -m 644 iwlwifi-3945.ucode $startdir/pkg/lib/firmware/iwlwifi-3945.ucode || return 1
-
- cd $startdir/src/$pkgname-$pkgver
- # Install firmware
- install -D -m 644 iwlwifi-3945-1.ucode $startdir/pkg/lib/firmware/iwlwifi-3945-1.ucode || return 1
- # Install license
- install -D -m 644 LICENSE.iwlwifi-3945-ucode $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1
-}
diff --git a/abs/core-testing/iwlwifi-4965-ucode/PKGBUILD b/abs/core-testing/iwlwifi-4965-ucode/PKGBUILD
deleted file mode 100644
index 4ce295a..0000000
--- a/abs/core-testing/iwlwifi-4965-ucode/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 4446 2008-07-07 12:03:57Z thomas $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-pkgname=iwlwifi-4965-ucode
-pkgver=228.57.2.21
-pkgrel=1
-pkgdesc="Intel wireless firmware for IPW4965 (iwlwifi driver)"
-arch=(i686 x86_64)
-url="http://intellinuxwireless.org/?p=iwlwifi"
-license=('custom')
-depends=()
-source=(http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-$pkgver.tgz
- http://intellinuxwireless.org/iwlwifi/downloads/$pkgname-228.57.1.21.tgz)
-md5sums=('83804fb4bfa991ffd4849c19a74bf38d'
- 'bce5a13d681100aeee2ddac3beaff437')
-
-build() {
- cd $startdir/src/$pkgname-228.57.1.21
- # Install firmware (ABI version 1, for compatibility)
- install -D -m 644 iwlwifi-4965-1.ucode $startdir/pkg/lib/firmware/iwlwifi-4965-1.ucode || return 1
- cd $startdir/src/$pkgname-$pkgver
- # Install firmware (ABI version 2, for future versions of iwl4965)
- install -D -m 644 iwlwifi-4965-2.ucode $startdir/pkg/lib/firmware/iwlwifi-4965-2.ucode || return 1
- # Install license
- install -D -m 644 LICENSE.iwlwifi-4965-ucode $startdir/pkg/usr/share/licenses/$pkgname/LICENSE || return 1
-}
diff --git a/abs/core-testing/kbproto/PKGBUILD b/abs/core-testing/kbproto/PKGBUILD
index f902e44..9cd471d 100644
--- a/abs/core-testing/kbproto/PKGBUILD
+++ b/abs/core-testing/kbproto/PKGBUILD
@@ -1,18 +1,21 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 56308 2009-10-21 14:34:49Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=kbproto
-pkgver=1.0.3
+pkgver=1.0.4
pkgrel=1
pkgdesc="X11 XKB extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6092cdb0a1225f95356ddbe6c2abaad5')
+sha1sums=('d300745389d3a80d90c9a3c989651f228db486e5')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/kernel-headers/PKGBUILD b/abs/core-testing/kernel-headers/PKGBUILD
deleted file mode 100644
index d928a77..0000000
--- a/abs/core-testing/kernel-headers/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 19341 2008-11-20 14:48:13Z andyrtr $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=kernel-headers
-pkgver=2.6.28.5
-_basever=2.6.28
-pkgrel=1
-pkgdesc="Kernel headers sanitized for use in userspace"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.gnu.org/software/libc"
-groups=('base')
-source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${_basever}.tar.bz2
- http://www.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2 serial.diff)
-md5sums=('d351e44709c9810b85e29b877f50968a'
- '7a062fcdec46cec78c3fedbf558e334b'
- 'd66b5cc1e1c2ce40d06d77167f36dfd9')
-
-build() {
- cd ${srcdir}/linux-${_basever}
- patch -Np1 -i ${srcdir}/patch-${pkgver} || return 1
-# patch -p0 < ../../serial.diff
-
- make mrproper
- make headers_check || return 1
- make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
-
- rm -rf ${pkgdir}/usr/include/drm
-}
diff --git a/abs/core-testing/kernel-headers/netfilter-includes.patch b/abs/core-testing/kernel-headers/netfilter-includes.patch
deleted file mode 100644
index b39a4dd..0000000
--- a/abs/core-testing/kernel-headers/netfilter-includes.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From: Patrick McHardy <kaber@trash.net>
-Date: Wed, 21 May 2008 21:08:38 +0000 (-0700)
-Subject: netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__
-X-Git-Tag: v2.6.26-rc4~7^2~9
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=c8942f1f0a7e2160ebf2e51ba89e50ee5895a1e7
-
-netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__
-
-Greg Steuck <greg@nest.cx> points out that some of the netfilter
-headers can't be used in userspace without including linux/types.h
-first. The headers include their own linux/types.h include statements,
-these are stripped by make headers-install because they are inside
-#ifdef __KERNEL__ however. Move them out to fix this.
-
-Reported and Tested by Greg Steuck.
-
-Signed-off-by: Patrick McHardy <kaber@trash.net>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
-diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
-index e4c6659..0c5eb7e 100644
---- a/include/linux/netfilter.h
-+++ b/include/linux/netfilter.h
-@@ -3,7 +3,6 @@
-
- #ifdef __KERNEL__
- #include <linux/init.h>
--#include <linux/types.h>
- #include <linux/skbuff.h>
- #include <linux/net.h>
- #include <linux/netdevice.h>
-@@ -14,6 +13,7 @@
- #include <linux/list.h>
- #include <net/net_namespace.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
-
- /* Responses from hook functions. */
-diff --git a/include/linux/netfilter_arp/arp_tables.h b/include/linux/netfilter_arp/arp_tables.h
-index dd9c97f..590ac3d 100644
---- a/include/linux/netfilter_arp/arp_tables.h
-+++ b/include/linux/netfilter_arp/arp_tables.h
-@@ -11,11 +11,11 @@
-
- #ifdef __KERNEL__
- #include <linux/if.h>
--#include <linux/types.h>
- #include <linux/in.h>
- #include <linux/if_arp.h>
- #include <linux/skbuff.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
- #include <linux/netfilter_arp.h>
-
-diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h
-index bfc889f..092bd50 100644
---- a/include/linux/netfilter_ipv4/ip_tables.h
-+++ b/include/linux/netfilter_ipv4/ip_tables.h
-@@ -17,11 +17,11 @@
-
- #ifdef __KERNEL__
- #include <linux/if.h>
--#include <linux/types.h>
- #include <linux/in.h>
- #include <linux/ip.h>
- #include <linux/skbuff.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
- #include <linux/netfilter_ipv4.h>
-
-diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h
-index f2507dc..1089e33 100644
---- a/include/linux/netfilter_ipv6/ip6_tables.h
-+++ b/include/linux/netfilter_ipv6/ip6_tables.h
-@@ -17,11 +17,11 @@
-
- #ifdef __KERNEL__
- #include <linux/if.h>
--#include <linux/types.h>
- #include <linux/in6.h>
- #include <linux/ipv6.h>
- #include <linux/skbuff.h>
- #endif
-+#include <linux/types.h>
- #include <linux/compiler.h>
- #include <linux/netfilter_ipv6.h>
-
diff --git a/abs/core-testing/kernel-headers/serial.diff b/abs/core-testing/kernel-headers/serial.diff
deleted file mode 100644
index 9b53e48..0000000
--- a/abs/core-testing/kernel-headers/serial.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- include/linux/serial.h.orig 2009-02-11 05:59:28.000000000 +0000
-+++ include/linux/serial.h 2009-02-11 06:09:24.000000000 +0000
-@@ -10,8 +10,9 @@
- #ifndef _LINUX_SERIAL_H
- #define _LINUX_SERIAL_H
-
--#ifdef __KERNEL__
- #include <linux/types.h>
-+
-+#ifdef __KERNEL__
- #include <asm/page.h>
-
- /*
diff --git a/abs/core-testing/kernel26.orig/PKGBUILD b/abs/core-testing/kernel26.orig/PKGBUILD
new file mode 100644
index 0000000..b74b950
--- /dev/null
+++ b/abs/core-testing/kernel26.orig/PKGBUILD
@@ -0,0 +1,242 @@
+# $Id: PKGBUILD 86792 2010-08-04 14:39:45Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+pkgbase="kernel26"
+pkgname=('kernel26' 'kernel26-headers' 'kernel26-manpages' 'kernel26-docs') # Build stock -ARCH kernel
+# pkgname=kernel26-custom # Build kernel with a different name
+_kernelname=${pkgname#kernel26}
+_basekernel=2.6.34
+pkgver=${_basekernel}.2
+pkgrel=2
+makedepends=('xmlto' 'docbook-xsl')
+_patchname="patch-${pkgver}-${pkgrel}-ARCH"
+arch=(i686 x86_64)
+license=('GPL2')
+url="http://www.kernel.org"
+source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
+ ftp://ftp.archlinux.org/other/kernel26/${_patchname}.bz2
+ # the main kernel config files
+ config config.x86_64
+ # standard config files for mkinitcpio ramdisk
+ kernel26.preset)
+md5sums=('10eebcb0178fb4540e2165bfd7efc7ad'
+ '2a8f0f455395296a1678b226ae63c5a7'
+ '79a11916d1ff63a51eaebe0e750fa9b7'
+ 'a7e0aae92e964a0df9e42bdebd548e8c'
+ '25584700a0a679542929c4bed31433b6')
+
+build() {
+ cd ${srcdir}/linux-$_basekernel
+ # Add -ARCH patches
+ # See http://projects.archlinux.org/linux-2.6-ARCH.git/
+ patch -Np1 -i ${srcdir}/${_patchname} || return 1
+
+ if [ "$CARCH" = "x86_64" ]; then
+ cat ../config.x86_64 >./.config
+ else
+ cat ../config >./.config
+ fi
+ if [ "${_kernelname}" != "" ]; then
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
+ fi
+ #
+## A hack to prevent output kernel from being marked as dirty or git
+ sed 's/head=$(git rev-parse --verify --short HEAD 2>\/dev\/null)/0/' \
+ ${srcdir}/linux-$_basekernel/scripts/setlocalversion \
+ > ${srcdir}/linux-$_basekernel/scripts/setlocalversion
+##
+ # get kernel version
+ make prepare
+ # load configuration
+ # Configure the kernel. Replace the line below with one of your choice.
+ #make menuconfig # CLI menu for configuration
+ #make xconfig # X-based configuration
+ #make oldconfig # using old config from previous kernel version
+ # ... or manually edit .config
+ ####################
+ # stop here
+ # this is useful to configure the kernel
+ #msg "Stopping build"
+ #return 1
+ ####################
+ yes "" | make config
+ # build!
+ make bzImage modules || return 1
+}
+
+package_kernel26() {
+ pkgdesc="The Linux Kernel and modules"
+ groups=('base')
+ backup=(etc/mkinitcpio.d/${pkgname}.preset)
+ depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio>=0.5.20')
+ # pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
+ # nforce package support was abandoned by nvidia, kernel modules should cover everything now.
+ # kernel24 support is dropped since glibc24
+ replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
+ 'alsa-driver' 'ieee80211' 'hostap-driver26'
+ 'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
+ 'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
+ 'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
+ install=kernel26.install
+ optdepends=('crda: to set the correct wireless channels of your country')
+
+ KARCH=x86
+ cd ${srcdir}/linux-$_basekernel
+ # get kernel version
+ _kernver="$(make kernelrelease)"
+ mkdir -p ${pkgdir}/{lib/modules,boot}
+ make INSTALL_MOD_PATH=${pkgdir} modules_install || return 1
+ cp System.map ${pkgdir}/boot/System.map26${_kernelname}
+ cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26${_kernelname}
+ # # add vmlinux
+ install -m644 -D vmlinux ${pkgdir}/usr/src/linux-${_kernver}/vmlinux
+
+ # install fallback mkinitcpio.conf file and preset file for kernel
+ install -m644 -D ${srcdir}/kernel26.preset ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset || return 1
+ # set correct depmod command for install
+ sed \
+ -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
+ -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ -i $startdir/kernel26.install
+ sed \
+ -e "s|source .*|source /etc/mkinitcpio.d/kernel26${_kernelname}.kver|g" \
+ -e "s|default_image=.*|default_image=\"/boot/${pkgname}.img\"|g" \
+ -e "s|fallback_image=.*|fallback_image=\"/boot/${pkgname}-fallback.img\"|g" \
+ -i ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset
+
+ echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${pkgdir}/etc/mkinitcpio.d/${pkgname}.kver
+ # remove build and source links
+ rm -f ${pkgdir}/lib/modules/${_kernver}/{source,build}
+ # remove the firmware
+ rm -rf ${pkgdir}/lib/firmware
+}
+
+package_kernel26-headers() {
+ pkgdesc="Header files and scripts for building modules for kernel26"
+ mkdir -p ${pkgdir}/lib/modules/${_kernver}
+ cd ${pkgdir}/lib/modules/${_kernver}
+ ln -sf ../../../usr/src/linux-${_kernver} build
+ cd ${srcdir}/linux-$_basekernel
+ install -D -m644 Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/Makefile
+ install -D -m644 kernel/Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
+ install -D -m644 .config \
+ ${pkgdir}/usr/src/linux-${_kernver}/.config
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
+
+ for i in acpi asm-generic config generated linux math-emu media net pcmcia scsi sound trace video; do
+ cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
+ done
+
+ # copy arch includes for external modules
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
+ cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
+
+ # copy files necessary for later builds, like nvidia and vmware
+ cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
+ cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
+ # fix permissions on scripts dir
+ chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
+
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
+
+ cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ if [ "$CARCH" = "i686" ]; then
+ cp arch/$KARCH/Makefile_32.cpu ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
+ fi
+ cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
+
+ # add headers for lirc package
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
+ cp drivers/media/video/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
+ for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301; do
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
+ cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
+ done
+ # add docbook makefile
+ install -D -m644 Documentation/DocBook/Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
+ # add dm headers
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
+ cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
+ # add inotify.h
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
+ cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
+ # add wireless headers
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
+ cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
+ # add dvb headers for external modules
+ # in reference to:
+ # http://bugs.archlinux.org/task/9912
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
+ cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
+ # add dvb headers for external modules
+ # in reference to:
+ # http://bugs.archlinux.org/task/11194
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
+ # in reference to:
+ # http://bugs.archlinux.org/task/13146
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ # add xfs and shmem for aufs building
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
+ cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
+ # add headers vor virtualbox
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/drm $pkgdir/usr/src/linux-${_kernver}/include/
+ # add headers for broadcom wl
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/trace $pkgdir/usr/src/linux-${_kernver}/include/
+ # copy in Kconfig files
+ for i in `find . -name "Kconfig*"`; do
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
+ cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
+ done
+
+ chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
+ find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
+ # remove unneeded architectures
+ rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+}
+
+#package_kernel26-firmware() {
+# pkgdesc="The included firmware files of the Linux Kernel"
+# groups=('base')
+#
+# cd ${srcdir}/linux-$_basekernel
+# make firmware || return 1
+# make INSTALL_MOD_PATH=${pkgdir} firmware_install || return 1
+#}
+
+package_kernel26-manpages() {
+pkgdesc="Kernel hackers manual - Section 9 manpages that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+make mandocs || return 1
+
+install -d ${pkgdir}/usr/share/man/man9/
+install ${srcdir}/linux-${_basekernel}/Documentation/DocBook/man/*.9.gz \
+${pkgdir}/usr/share/man/man9/
+
+find ${pkgdir} -type f -exec chmod 644 {} \;
+}
+
+package_kernel26-docs() {
+pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+mkdir -p $pkgdir/usr/src/linux-$_kernver
+mv Documentation $pkgdir/usr/src/linux-$_kernver
+find $pkgdir -type f -exec chmod 444 {} \;
+find $pkgdir -type d -exec chmod 755 {} \;
+# remove a file already in kernel26 package
+rm -f $pkgdir/usr/src/linux-$_kernver/Documentation/DocBook/Makefile
+}
diff --git a/abs/core-testing/kernel26.orig/config b/abs/core-testing/kernel26.orig/config
new file mode 100644
index 0000000..7242990
--- /dev/null
+++ b/abs/core-testing/kernel26.orig/config
@@ -0,0 +1,4957 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.34
+# Mon May 17 05:55:59 2010
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="-ARCH"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+# CONFIG_SPARSE_IRQ is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_VMI=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_LGUEST_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+# CONFIG_GENERIC_CPU is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+# CONFIG_X86_DS is not set
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_IOMMU_API=y
+CONFIG_NR_CPUS=8
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+# CONFIG_HIGHPTE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW_64K=y
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=m
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
+CONFIG_X86_APM_BOOT=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+CONFIG_APM_DO_ENABLE=y
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_GX_SUSPMOD=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOOLPC is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_OLPC=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+CONFIG_OLPC=y
+CONFIG_K8_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+CONFIG_SCTP_HMAC_SHA1=y
+# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+CONFIG_PARPORT_PC_FIFO=y
+CONFIG_PARPORT_PC_SUPERIO=y
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_BLK_DEV_XD is not set
+# CONFIG_PARIDE is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=m
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+CONFIG_IDE_XFER_MODE=y
+CONFIG_IDE_TIMINGS=y
+CONFIG_IDE_ATAPI=y
+CONFIG_IDE_LEGACY=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_IDE_GD=m
+CONFIG_IDE_GD_ATA=y
+CONFIG_IDE_GD_ATAPI=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_DELKIN=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEACPI=y
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_PLATFORM=m
+CONFIG_BLK_DEV_CMD640=m
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=m
+CONFIG_BLK_DEV_IDEDMA_SFF=y
+
+#
+# PCI IDE chipsets support
+#
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_CS5536=m
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_TC86C001=m
+
+#
+# Other IDE chipsets support
+#
+
+#
+# Note: most of these also require special kernel boot parameters
+#
+CONFIG_BLK_DEV_4DRIVES=m
+CONFIG_BLK_DEV_ALI14XX=m
+CONFIG_BLK_DEV_DTC2278=m
+CONFIG_BLK_DEV_HT6560B=m
+CONFIG_BLK_DEV_QD65XX=m
+CONFIG_BLK_DEV_UMC8672=m
+CONFIG_BLK_DEV_IDEDMA=y
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ARCMSR_AER=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+CONFIG_PATA_ACPI=m
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5535=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_ISAPNP=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_QDI=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+CONFIG_PATA_WINBOND_VLB=m
+CONFIG_PATA_SCH=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_NET_SB1000=m
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_LANCE=m
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRA=m
+CONFIG_SMC9194=m
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_NET_VENDOR_RACAL=y
+CONFIG_NI52=m
+CONFIG_NI65=m
+CONFIG_DNET=m
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_AC3200=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_FORCEDETH=m
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_CS89x0=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R6040=m
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_JME=m
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
+CONFIG_ENIC=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_IXGB=m
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+CONFIG_B43=m
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+# CONFIG_WAN is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_OLPC=y
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+# CONFIG_TOUCHSCREEN_WM9712 is not set
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+CONFIG_NOZOMI=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_CS5535_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_STUB is not set
+CONFIG_SCx200_ACB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_OLPC=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADCXX=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_WM8400=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_M52790=m
+CONFIG_VIDEO_TLV320AIC23B=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_TCM825X=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_CX25840=m
+
+#
+# MPEG video encoders
+#
+CONFIG_VIDEO_CX2341X=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+CONFIG_USB_ET61X251=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZC0301=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+CONFIG_RADIO_RTRACK2=m
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+CONFIG_DVB_BT8XX=m
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported SDMC DM1105 Adapters
+#
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
+
+#
+# Supported Earthsoft PT1 Adapters
+#
+CONFIG_DVB_PT1=m
+
+#
+# Supported Mantis Adapters
+#
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I810=m
+# CONFIG_FB_I810_GTF is not set
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
+CONFIG_LCD_LTV350QV=m
+CONFIG_LCD_ILI9320=m
+CONFIG_LCD_TDO24M=m
+CONFIG_LCD_VGG2432A4=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_MBP_NVIDIA=m
+CONFIG_BACKLIGHT_SAHARA=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES968=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SGALAXY=m
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_ATIHDMI=y
+CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_WLP=m
+CONFIG_UWB_I1480U=m
+CONFIG_UWB_I1480U_WLP=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_ALIX2 is not set
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_RTC_LIB=m
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1305=m
+CONFIG_RTC_DRV_DS1390=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_ET131X=m
+# CONFIG_ET131X_DEBUG is not set
+CONFIG_SLICOSS=m
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_USB_IP_COMMON=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_TC1100_WMI=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SYSPROF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_4KSTACKS is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
+CONFIG_LGUEST=m
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_RING=y
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core-testing/kernel26.orig/config.x86_64 b/abs/core-testing/kernel26.orig/config.x86_64
new file mode 100644
index 0000000..09f7cf3
--- /dev/null
+++ b/abs/core-testing/kernel26.orig/config.x86_64
@@ -0,0 +1,4761 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.34
+# Mon May 17 07:56:01 2010
+#
+CONFIG_64BIT=y
+# CONFIG_X86_32 is not set
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_64_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+# CONFIG_KTIME_SCALAR is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="-ARCH"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=64
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+# CONFIG_SPARSE_IRQ is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_XEN=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=32
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+# CONFIG_X86_DS is not set
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_GART_IOMMU=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
+# CONFIG_AMD_IOMMU is not set
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_IOMMU_API=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=16
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
+# CONFIG_NUMA is not set
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW_64K=y
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=m
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_HOTPLUG_MEMORY=m
+CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K8=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_P4_CLOCKMOD=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
+# CONFIG_INTR_REMAP is not set
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_ISA_DMA_API=y
+CONFIG_K8_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=y
+CONFIG_IA32_EMULATION=y
+CONFIG_IA32_AOUT=m
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+CONFIG_SCTP_HMAC_SHA1=y
+# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+CONFIG_PARPORT_PC_FIFO=y
+CONFIG_PARPORT_PC_SUPERIO=y
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_PARIDE is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=m
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+CONFIG_IDE_XFER_MODE=y
+CONFIG_IDE_TIMINGS=y
+CONFIG_IDE_ATAPI=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_IDE_GD=m
+CONFIG_IDE_GD_ATA=y
+CONFIG_IDE_GD_ATAPI=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_DELKIN=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEACPI=y
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_PLATFORM=m
+CONFIG_BLK_DEV_CMD640=m
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=m
+CONFIG_BLK_DEV_IDEDMA_SFF=y
+
+#
+# PCI IDE chipsets support
+#
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_TC86C001=m
+CONFIG_BLK_DEV_IDEDMA=y
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ARCMSR_AER=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+CONFIG_PATA_ACPI=m
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+CONFIG_PATA_SCH=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_NET_SB1000=m
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_DNET=m
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_HP100=m
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_FORCEDETH=m
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R6040=m
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_JME=m
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
+CONFIG_ENIC=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_IXGB=m
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+CONFIG_B43=m
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+# CONFIG_WAN is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_XEN_NETDEV_FRONTEND=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_XEN_KBDDEV_FRONTEND=m
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+# CONFIG_TOUCHSCREEN_WM9712 is not set
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+CONFIG_NOZOMI=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_NVRAM=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADCXX=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_WM8400=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_M52790=m
+CONFIG_VIDEO_TLV320AIC23B=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_TCM825X=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_CX25840=m
+
+#
+# MPEG video encoders
+#
+CONFIG_VIDEO_CX2341X=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+CONFIG_USB_ET61X251=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZC0301=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+CONFIG_DVB_BT8XX=m
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported SDMC DM1105 Adapters
+#
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
+
+#
+# Supported Earthsoft PT1 Adapters
+#
+CONFIG_DVB_PT1=m
+
+#
+# Supported Mantis Adapters
+#
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_XEN_FBDEV_FRONTEND=m
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
+CONFIG_LCD_LTV350QV=m
+CONFIG_LCD_ILI9320=m
+CONFIG_LCD_TDO24M=m
+CONFIG_LCD_VGG2432A4=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_MBP_NVIDIA=m
+CONFIG_BACKLIGHT_SAHARA=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_ATIHDMI=y
+CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_WLP=m
+CONFIG_UWB_I1480U=m
+CONFIG_UWB_I1480U_WLP=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SPI=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_ALIX2 is not set
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_RTC_LIB=m
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1305=m
+CONFIG_RTC_DRV_DS1390=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_ET131X=m
+# CONFIG_ET131X_DEBUG is not set
+CONFIG_SLICOSS=m
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_USB_IP_COMMON=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SYSPROF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_IOMMU_DEBUG is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_FPU=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_RING=m
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core-testing/kernel26/coretemp.patch b/abs/core-testing/kernel26.orig/coretemp.patch
index 07ce434..07ce434 100644
--- a/abs/core-testing/kernel26/coretemp.patch
+++ b/abs/core-testing/kernel26.orig/coretemp.patch
diff --git a/abs/core-testing/kernel26/ext4.patch b/abs/core-testing/kernel26.orig/ext4.patch
index 40ecfde..40ecfde 100644
--- a/abs/core-testing/kernel26/ext4.patch
+++ b/abs/core-testing/kernel26.orig/ext4.patch
diff --git a/abs/core-testing/kernel26.orig/kernel26.install b/abs/core-testing/kernel26.orig/kernel26.install
new file mode 100644
index 0000000..da92142
--- /dev/null
+++ b/abs/core-testing/kernel26.orig/kernel26.install
@@ -0,0 +1,147 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+KERNEL_NAME=
+KERNEL_VERSION=2.6.34-ARCH
+
+post_install () {
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod $KERNEL_VERSION
+ # generate init ramdisks
+ echo ">>> MKINITCPIO SETUP"
+ echo ">>> ----------------"
+ echo ">>> If you use LVM2, Encrypted root or software RAID,"
+ echo ">>> Ensure you enable support in /etc/mkinitcpio.conf ."
+ echo ">>> More information about mkinitcpio setup can be found here:"
+ echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
+ echo ""
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
+}
+
+post_upgrade() {
+ pacman -Q grub &>/dev/null
+ hasgrub=$?
+ pacman -Q grub2 &>/dev/null
+ hasgrub2=$?
+ pacman -Q lilo &>/dev/null
+ haslilo=$?
+ # reminder notices
+ if [ $haslilo -eq 0 ]; then
+ echo ">>>"
+ if [ $hasgrub -eq 0 -o $hasgrub2 -eq 0 ]; then
+ echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting."
+ else
+ echo ">>> You appear to be using the LILO bootloader. You should run"
+ echo ">>> 'lilo' before rebooting."
+ fi
+ echo ">>>"
+ fi
+
+ if grep "^[^#]*/boot" /etc/fstab 2>&1 >/dev/null; then
+ if ! grep "/boot" /etc/mtab 2>&1 >/dev/null; then
+ echo "WARNING: /boot appears to be a seperate partition but is not mounted"
+ echo " This is most likely not what you want. Please mount your /boot"
+ echo " partition and reinstall the kernel unless you are sure this is OK"
+ fi
+ fi
+
+ if [ "`vercmp $2 2.6.13`" -lt 0 ]; then
+ # important upgrade notice
+ echo ">>>"
+ echo ">>> IMPORTANT KERNEL UPGRADE NOTICE"
+ echo ">>> -------------------------------"
+ echo ">>> As of kernel 2.6.13, DevFS is NO LONGER AVAILABLE!"
+ echo ">>> If you still use DevFS, please make the transition to uDev before"
+ echo ">>> rebooting. If you really need to stay with DevFS for some reason,"
+ echo ">>> then you can manually downgrade to an older version:"
+ echo ">>>"
+ echo ">>> # pacman -U http://archlinux.org/~judd/kernel/kernel26-scsi-2.6.12.2-1.pkg.tar.gz"
+ echo ">>>"
+ echo ">>> If you choose to downgrade, don't forget to add kernel26-scsi to your"
+ echo ">>> IgnorePkg list in /etc/pacman.conf"
+ echo ">>>"
+ echo ">>> (NOTE: The following portion applies to uDev users as well!)"
+ echo ">>>"
+ echo ">>> If you use any DevFS paths in your GRUB menu.lst, then you will not"
+ echo ">>> be able to boot! Change your root= parameter to use the classic"
+ echo ">>> naming scheme."
+ echo ">>>"
+ echo ">>> EXAMPLES:"
+ echo ">>> - change root=/dev/discs/disc0/part3 to root=/dev/sda3"
+ echo ">>> - change root=/dev/md/0 to root=/dev/md0"
+ echo ">>>"
+ fi
+ # generate new init ramdisk
+ if [ "`vercmp $2 2.6.18`" -lt 0 ]; then
+ echo ">>> --------------------------------------------------------------"
+ echo ">>> | WARNING: |"
+ echo ">>> |mkinitrd is not supported anymore in kernel >=2.6.18 series!|"
+ echo ">>> | Please change to Mkinitcpio setup. |"
+ echo ">>> --------------------------------------------------------------"
+ echo ">>>"
+ fi
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod $KERNEL_VERSION
+ echo ">>> MKINITCPIO SETUP"
+ echo ">>> ----------------"
+ if [ "`vercmp $2 2.6.18`" -lt 0 ]; then
+ echo ">>> Please change your bootloader config files:"
+ echo ">>> Grub: /boot/grub/menu.lst | Lilo: /etc/lilo.conf"
+ echo "------------------------------------------------"
+ echo "| - initrd26.img to kernel26${KERNEL_NAME}.img |"
+ echo "| - initrd26-full.img to kernel26${KERNEL_NAME}-fallback.img |"
+ echo "------------------------------------------------"
+ fi
+ if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
+ echo ""
+ echo ">>> New PATA/IDE subsystem - EXPERIMENTAL"
+ echo ">>> ----------"
+ echo ">>> To use the new pata drivers, change the 'ide' hook "
+ echo ">>> to 'pata' in /etc/mkinicpio.conf HOOKS="
+ echo ">>> The new system changes: /dev/hd? to /dev/sd?"
+ echo ">>> Don't forget to modify GRUB, LILO and fstab to the"
+ echo ">>> new naming system. "
+ echo ">>> eg: hda3 --> sda3, hdc8 --> sdc8"
+ echo ""
+ echo ">>> piix/ata_piix (Intel chipsets) - IMPORTANT"
+ echo "----------"
+ echo ">>> If you have enabled ide/pata/sata HOOKs in /etc/mkinitcpio.conf"
+ echo ">>> the 'ata_piix' module will be used."
+ echo ">>> This may cause your devices to shift names, eg:"
+ echo ">>> - IDE: devices from hd? to sd?"
+ echo ">>> - SATA: sda might shift to sdc if you have 2 other disks on a PIIX IDE port."
+ echo ">>> To check if this will affect you, check 'mkinitcpio -M' for piix/ata_piix"
+ echo ""
+ fi
+
+ echo ">>> If you use LVM2, Encrypted root or software RAID,"
+ echo ">>> Ensure you enable support in /etc/mkinitcpio.conf ."
+ echo ">>> More information about mkinitcpio setup can be found here:"
+ echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
+ echo ""
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME} -m "ATTENTION:\nIf you get a kernel panic below
+and are using an Intel chipset, append 'earlymodules=piix' to the
+kernel commandline"
+else
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
+fi
+if [ "`vercmp $2 2.6.21`" -lt 0 ]; then
+ echo ""
+ echo "Important ACPI Information:"
+ echo ">>> Since 2.6.20.7 all possible ACPI parts are modularized."
+ echo ">>> The modules are located at:"
+ echo ">>> /lib/modules/$(uname -r)/kernel/drivers/acpi"
+ echo ">>> For more information about ACPI modules check this wiki page:"
+ echo ">>> 'http://wiki.archlinux.org/index.php/ACPI_modules'"
+fi
+}
+
+post_remove() {
+ rm -f /boot/kernel26${KERNEL_NAME}.img
+ rm -f /boot/kernel26${KERNEL_NAME}-fallback.img
+} \ No newline at end of file
diff --git a/abs/core-testing/kernel26.orig/kernel26.preset b/abs/core-testing/kernel26.orig/kernel26.preset
new file mode 100644
index 0000000..742a442
--- /dev/null
+++ b/abs/core-testing/kernel26.orig/kernel26.preset
@@ -0,0 +1,17 @@
+# mkinitcpio preset file for kernel26
+
+########################################
+# DO NOT EDIT THIS LINE:
+source /etc/mkinitcpio.d/kernel26.kver
+########################################
+ALL_config="/etc/mkinitcpio.conf"
+
+PRESETS=('default' 'fallback')
+
+#default_config="/etc/mkinitcpio.conf"
+default_image="/boot/kernel26.img"
+#default_options=""
+
+#fallback_config="/etc/mkinitcpio.conf"
+fallback_image="/boot/kernel26-fallback.img"
+fallback_options="-S autodetect" \ No newline at end of file
diff --git a/abs/core-testing/kernel26/logo_linux_clut224.ppm b/abs/core-testing/kernel26.orig/logo_linux_clut224.ppm
index c539d32..c539d32 100644
--- a/abs/core-testing/kernel26/logo_linux_clut224.ppm
+++ b/abs/core-testing/kernel26.orig/logo_linux_clut224.ppm
diff --git a/abs/core-testing/kernel26/logo_linux_mono.pbm b/abs/core-testing/kernel26.orig/logo_linux_mono.pbm
index 7b1369c..7b1369c 100644
--- a/abs/core-testing/kernel26/logo_linux_mono.pbm
+++ b/abs/core-testing/kernel26.orig/logo_linux_mono.pbm
diff --git a/abs/core-testing/kernel26/logo_linux_vga16.ppm b/abs/core-testing/kernel26.orig/logo_linux_vga16.ppm
index 8b2d1ea..8b2d1ea 100644
--- a/abs/core-testing/kernel26/logo_linux_vga16.ppm
+++ b/abs/core-testing/kernel26.orig/logo_linux_vga16.ppm
diff --git a/abs/core-testing/kernel26/serial.diff b/abs/core-testing/kernel26.orig/serial.diff
index 9b53e48..9b53e48 100644
--- a/abs/core-testing/kernel26/serial.diff
+++ b/abs/core-testing/kernel26.orig/serial.diff
diff --git a/abs/core-testing/kernel26/PKGBUILD b/abs/core-testing/kernel26/PKGBUILD
index 0095428..01f2398 100644
--- a/abs/core-testing/kernel26/PKGBUILD
+++ b/abs/core-testing/kernel26/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 25277 2009-01-25 10:01:21Z tpowa $
+# $Id: PKGBUILD 86792 2010-08-04 14:39:45Z thomas $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
-# Mainterner: Cecil Waton <knoppmyth@gmail.com>
-pkgname=kernel26
-_basekernel=2.6.28
-pkgver=2.6.28.5
-pkgrel=5
-_pkgrel=1
-_patchname="patch-${pkgver}-${_pkgrel}-ARCH"
-_fbpatchname="fbcondecor-0.9.5-2.6.28.patch"
-#_patchname="patch-${pkgver}-1-ARCH"
+# Maintainer: Heiko Baums <heiko@baums-on-web.de>
+# pkgbase="kernel26"
+pkgname=('kernel26' 'kernel26-headers' 'kernel26-manpages' 'kernel26-docs') # Build stock -ARCH kernel
+#pkgname=kernel26-fbcondecor # Build kernel with a different name
+_kernelname=${pkgname#kernel26}
+_basekernel=2.6.34
+pkgver=${_basekernel}.2
+pkgrel=2
+_patchname="patch-${pkgver}-${pkgrel}-ARCH"
+_fbpatchname="fbcondecor-0.9.6-2.6.33-rc7.patch"
pkgdesc="The Linux Kernel and modules"
arch=(i686 x86_64)
license=('GPL2')
-groups=('base')
url="http://www.kernel.org"
backup=(etc/mkinitcpio.d/${pkgname}.preset)
-depends=('coreutils' 'module-init-tools' 'mkinitcpio>=0.5.20')
+depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio>=0.5.20')
# pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
# nforce package support was abandoned by nvidia, kernel modules should cover everything now.
# kernel24 support is dropped since glibc24
@@ -24,67 +24,115 @@ replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
'alsa-driver' 'ieee80211' 'hostap-driver26'
'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
- 'gspcav1' 'atl2' 'wlan-ng26')
+ 'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
install=kernel26.install
+optdepends=('crda: to set the correct wireless channels of your country')
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
ftp://ftp.archlinux.org/other/kernel26/${_patchname}.bz2
- http://dev.gentoo.org/~spock/projects/fbcondecor/archive/${_fbpatchname}
+ http://dev.gentoo.org/~spock/projects/fbcondecor/archive/${_fbpatchname}
+ fbcondecor-2.6.34-fix.patch
# the main kernel config files
config config.x86_64
# standard config files for mkinitcpio ramdisk
- kernel26.preset
- logo_linux_clut224.ppm
- serial.diff
- ext4.patch
- coretemp.patch)
-optdepends=('crda: to set the correct wireless channels of your country')
-md5sums=('d351e44709c9810b85e29b877f50968a'
- '6e63a5f54c142f42de7e59fc5f75eab2'
- '04b1413586111705ba790542c6e82350'
- '4c3f00c90fb23c91d600694c886f2ddc'
- '959b317feb974d8906c5e15e7c76ad8f'
- 'ceb38003807a5aa1a00c8d4b9f028893'
- '7bdfe2e1daedb324fdfdfa95ba4e2430'
- 'd66b5cc1e1c2ce40d06d77167f36dfd9'
- '695a2d6f1b0b4c7001bf665d5f667a5d')
+ kernel26.preset)
build() {
KARCH=x86
+ cd ${srcdir}
+ patch -Np0 -i fbcondecor-2.6.34-fix.patch || return 1
+
cd ${srcdir}/linux-$_basekernel
# Add -ARCH patches
- # See http://projects.archlinux.org/git/?p=linux-2.6-ARCH.git;a=summary
+ # See http://projects.archlinux.org/linux-2.6-ARCH.git/
patch -Np1 -i ${srcdir}/${_patchname} || return 1
patch -Np1 -i ${srcdir}/${_fbpatchname} || return 1
- patch -Np1 -i ${srcdir}/ext4.patch || return 1
- patch -Np1 -i ${srcdir}/coretemp.patch || return 1
-# patch -Np1 -i ${srcdir}/patch-2.6.28.5 || return 1
-# patch -p0 < ../../serial.diff
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 >./.config
else
cat ../config >./.config
fi
+ if [ "${_kernelname}" != "" ]; then
+ sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
+ fi
+## A hack to prevent output kernel from being marked as dirty or git
+ sed 's/head=$(git rev-parse --verify --short HEAD 2>\/dev\/null)/0/' \
+ ${srcdir}/linux-$_basekernel/scripts/setlocalversion \
+ > ${srcdir}/linux-$_basekernel/scripts/setlocalversion
+##
# get kernel version
- cp ../logo_linux_clut224.ppm drivers/video/logo
- echo \#\!/bin/sh > scripts/setlocalversion
make prepare
- _kernver="$(make kernelrelease)"
# load configuration
- yes "" | make config
- # build!
+ # Configure the kernel. Replace the line below with one of your choice.
+ #make menuconfig # CLI menu for configuration
+ #make xconfig # X-based configuration
+ #make oldconfig # using old config from previous kernel version
+ # ... or manually edit .config
####################
# stop here
# this is useful to configure the kernel
#msg "Stopping build"
#return 1
####################
+ yes "" | make config
+ # build!
make bzImage modules || return 1
+ }
+
+package_kernel26() {
+ pkgdesc="The Linux Kernel and modules"
+ groups=('base')
+ backup=(etc/mkinitcpio.d/${pkgname}.preset)
+ depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio>=0.5.20')
+ # pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
+ # nforce package support was abandoned by nvidia, kernel modules should cover everything now.
+ # kernel24 support is dropped since glibc24
+ replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
+ 'alsa-driver' 'ieee80211' 'hostap-driver26'
+ 'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
+ 'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
+ 'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
+ install=kernel26.install
+ optdepends=('crda: to set the correct wireless channels of your country')
+
+ KARCH=x86
+ cd ${srcdir}/linux-$_basekernel
+ # get kernel version
+ _kernver="$(make kernelrelease)"
mkdir -p ${pkgdir}/{lib/modules,boot}
make INSTALL_MOD_PATH=${pkgdir} modules_install || return 1
- cp System.map ${pkgdir}/boot/System.map26
- cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26
+ cp System.map ${pkgdir}/boot/System.map26${_kernelname}
+ cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26${_kernelname}
+ # # add vmlinux
+ install -m644 -D vmlinux ${pkgdir}/usr/src/linux-${_kernver}/vmlinux
+
+ # install fallback mkinitcpio.conf file and preset file for kernel
+ install -m644 -D ${srcdir}/kernel26.preset ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset || return 1
+ # set correct depmod command for install
+ sed \
+ -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
+ -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ -i $startdir/kernel26.install
+ sed \
+ -e "s|source .*|source /etc/mkinitcpio.d/kernel26${_kernelname}.kver|g" \
+ -e "s|default_image=.*|default_image=\"/boot/${pkgname}.img\"|g" \
+ -e "s|fallback_image=.*|fallback_image=\"/boot/${pkgname}-fallback.img\"|g" \
+ -i ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset
+
+ echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${pkgdir}/etc/mkinitcpio.d/${pkgname}.kver
+ # remove build and source links
+ rm -f ${pkgdir}/lib/modules/${_kernver}/{source,build}
+ # remove the firmware
+ rm -rf ${pkgdir}/lib/firmware
+}
+
+package_kernel26-headers() {
+ pkgdesc="Header files and scripts for building modules for kernel26"
+ mkdir -p ${pkgdir}/lib/modules/${_kernver}
+ cd ${pkgdir}/lib/modules/${_kernver}
+ ln -sf ../../../usr/src/linux-${_kernver} build
+ cd ${srcdir}/linux-$_basekernel
install -D -m644 Makefile \
${pkgdir}/usr/src/linux-${_kernver}/Makefile
install -D -m644 kernel/Makefile \
@@ -93,7 +141,7 @@ build() {
${pkgdir}/usr/src/linux-${_kernver}/.config
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
- for i in acpi asm-{generic,x86} config linux math-emu media net pcmcia scsi sound video; do
+ for i in acpi asm-generic config generated linux math-emu media net pcmcia scsi sound trace video; do
cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
done
@@ -106,7 +154,7 @@ build() {
cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
# fix permissions on scripts dir
chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
- #mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
@@ -123,14 +171,15 @@ build() {
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
done
+ # add docbook makefile
+ install -D -m644 Documentation/DocBook/Makefile \
+ ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
# add dm headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
# add inotify.h
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
- # add CLUSTERIP file for iptables
- mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/ipv4/netfilter/
# add wireless headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
@@ -144,29 +193,73 @@ build() {
# http://bugs.archlinux.org/task/11194
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
+ # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
+ # in reference to:
+ # http://bugs.archlinux.org/task/13146
+ mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
+ cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
# add xfs and shmem for aufs building
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
- # add vmlinux
- cp vmlinux ${pkgdir}/usr/src/linux-${_kernver}
+ # add headers vor virtualbox
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/drm $pkgdir/usr/src/linux-${_kernver}/include/
+ # add headers for broadcom wl
+ # in reference to:
+ # http://bugs.archlinux.org/task/14568
+ cp -a include/trace $pkgdir/usr/src/linux-${_kernver}/include/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
done
- cd ${pkgdir}/usr/src/linux-${_kernver}/include && ln -s asm-$KARCH asm
-
chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
- cd ${pkgdir}/lib/modules/${_kernver} && \
- (rm -f source build; ln -sf ../../../usr/src/linux-${_kernver} build)
- # install fallback mkinitcpio.conf file and preset file for kernel
- install -m644 -D ${srcdir}/${pkgname}.preset ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset || return 1
- # set correct depmod command for install
- sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26.install
- echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${startdir}/pkg/etc/mkinitcpio.d/${pkgname}.kver
# remove unneeded architectures
- rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+ rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
+}
+
+#package_kernel26-firmware() {
+# pkgdesc="The included firmware files of the Linux Kernel"
+# groups=('base')
+#
+# cd ${srcdir}/linux-$_basekernel
+# make firmware || return 1
+# make INSTALL_MOD_PATH=${pkgdir} firmware_install || return 1
+#}
+
+package_kernel26-manpages() {
+pkgdesc="Kernel hackers manual - Section 9 manpages that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+make mandocs || return 1
+
+install -d ${pkgdir}/usr/share/man/man9/
+install ${srcdir}/linux-${_basekernel}/Documentation/DocBook/man/*.9.gz \
+${pkgdir}/usr/share/man/man9/
+
+find ${pkgdir} -type f -exec chmod 644 {} \;
+}
+
+package_kernel26-docs() {
+pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel."
+
+cd ${srcdir}/linux-$_basekernel
+mkdir -p $pkgdir/usr/src/linux-$_kernver
+mv Documentation $pkgdir/usr/src/linux-$_kernver
+find $pkgdir -type f -exec chmod 444 {} \;
+find $pkgdir -type d -exec chmod 755 {} \;
+# remove a file already in kernel26 package
+rm -f $pkgdir/usr/src/linux-$_kernver/Documentation/DocBook/Makefile
}
+md5sums=('10eebcb0178fb4540e2165bfd7efc7ad'
+ '2a8f0f455395296a1678b226ae63c5a7'
+ 'c72c30fc2787e6d5d72ffae3cfb5341b'
+ 'ed65c8f0da0d8159ce4bfc198657ea83'
+ '6f37aeab713a3d59185a53066c923092'
+ 'c81068add4917fca813417e8aa6c4f22'
+ '25584700a0a679542929c4bed31433b6')
diff --git a/abs/core-testing/kernel26/config b/abs/core-testing/kernel26/config
index b188b73..35c3eba 100644
--- a/abs/core-testing/kernel26/config
+++ b/abs/core-testing/kernel26/config
@@ -1,12 +1,13 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28
-# Wed Jul 1 14:07:15 2009
+# Linux kernel version: 2.6.34
+# Sun Aug 15 19:47:24 2010
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
@@ -16,13 +17,14 @@ CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -33,6 +35,8 @@ CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -40,17 +44,20 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
#
# General setup
@@ -60,35 +67,76 @@ CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-LinHES"
CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
-# CONFIG_AUDIT is not set
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
-# CONFIG_CGROUPS is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-# CONFIG_GROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
@@ -100,37 +148,57 @@ CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
-# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
-# CONFIG_MARKERS is not set
+CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
-CONFIG_OPROFILE_IBS=y
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
@@ -138,12 +206,9 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
-CONFIG_LBD=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_LSF=y
+CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
@@ -151,16 +216,44 @@ CONFIG_BLK_DEV_BSG=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
+# CONFIG_CFQ_GROUP_IOSCHED is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_CLASSIC_RCU=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y
#
@@ -171,23 +264,22 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
-CONFIG_X86_FIND_SMP_CONFIG=y
+# CONFIG_SPARSE_IRQ is not set
CONFIG_X86_MPPARSE=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_VSMP is not set
-# CONFIG_X86_RDC321X is not set
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_VMI=y
-# CONFIG_KVM_CLOCK is not set
-# CONFIG_KVM_GUEST is not set
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
CONFIG_LGUEST_GUEST=y
CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_CLOCK is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
@@ -213,11 +305,13 @@ CONFIG_M686=y
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
+CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
# CONFIG_X86_PPRO_FENCE is not set
CONFIG_X86_WP_WORKS_OK=y
@@ -227,13 +321,14 @@ CONFIG_X86_POPAD_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR_32=y
+CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
# CONFIG_X86_DS is not set
@@ -241,18 +336,23 @@ CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=16
+CONFIG_IOMMU_API=y
+CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
-# CONFIG_PREEMPT_RCU is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
-CONFIG_X86_MCE_NONFATAL=m
-CONFIG_X86_MCE_P4THERMAL=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
CONFIG_VM86=y
CONFIG_TOSHIBA=m
CONFIG_I8K=m
@@ -272,6 +372,7 @@ CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -281,23 +382,30 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
# CONFIG_HIGHPTE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
-# CONFIG_MTRR_SANITIZER is not set
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
@@ -307,7 +415,7 @@ CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
# CONFIG_KEXEC_JUMP is not set
-CONFIG_PHYSICAL_START=0x100000
+CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_HOTPLUG_CPU=y
@@ -319,17 +427,26 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
# Power management and ACPI options
#
CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@@ -340,19 +457,16 @@ CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
-CONFIG_ACPI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_ACPI_TOSHIBA=m
# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
-CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
CONFIG_X86_APM_BOOT=y
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
@@ -360,7 +474,6 @@ CONFIG_APM_DO_ENABLE=y
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_ALLOW_INTS is not set
-CONFIG_APM_REAL_MODE_POWER_OFF=y
#
# CPU Frequency scaling
@@ -384,12 +497,12 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
# CPUFreq processor drivers
#
+CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K6=m
CONFIG_X86_POWERNOW_K7=m
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_POWERNOW_K8_ACPI=y
CONFIG_X86_GX_SUSPMOD=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_SPEEDSTEP_ICH=m
@@ -403,7 +516,6 @@ CONFIG_X86_E_POWERSAVER=m
#
# shared options
#
-# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
CONFIG_CPU_IDLE=y
@@ -424,15 +536,23 @@ CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_OLPC=y
CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
-CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
# CONFIG_EISA is not set
@@ -441,10 +561,8 @@ CONFIG_ISA=y
CONFIG_OLPC=y
CONFIG_K8_NB=y
CONFIG_PCCARD=m
-# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
#
@@ -489,7 +607,6 @@ CONFIG_NET=y
# Networking options
#
CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
@@ -508,10 +625,7 @@ CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
+# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
@@ -528,11 +642,28 @@ CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=m
+CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=m
@@ -551,6 +682,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
@@ -573,6 +705,7 @@ CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
@@ -593,7 +726,10 @@ CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
@@ -604,6 +740,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
@@ -614,6 +751,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
@@ -637,6 +775,7 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not set
# CONFIG_IP_VS_DEBUG is not set
@@ -650,6 +789,7 @@ CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
@@ -727,11 +867,11 @@ CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_BRIDGE_NF_EBTABLES=m
@@ -756,13 +896,31 @@ CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
-# CONFIG_IP_DCCP is not set
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
@@ -773,6 +931,7 @@ CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_STP=m
CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
# CONFIG_VLAN_8021Q_GVRP is not set
@@ -781,11 +940,21 @@ CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
-# CONFIG_ATALK is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
CONFIG_NET_SCHED=y
#
@@ -804,6 +973,7 @@ CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -821,6 +991,7 @@ CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
@@ -834,11 +1005,13 @@ CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
#
# Network testing
#
CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
CONFIG_IRDA=m
@@ -912,9 +1085,7 @@ CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIBTUSB is not set
+CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
@@ -928,39 +1099,48 @@ CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=m
-CONFIG_PHONET=m
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
-CONFIG_CFG80211=m
-CONFIG_NL80211=y
-CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_PID=y
+CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
-CONFIG_RFKILL_INPUT=m
CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
# CONFIG_NET_9P_DEBUG is not set
@@ -973,6 +1153,8 @@ CONFIG_NET_9P_VIRTIO=m
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
@@ -984,6 +1166,7 @@ CONFIG_EXTRA_FIRMWARE=""
CONFIG_CONNECTOR=m
CONFIG_MTD=m
# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
@@ -1036,6 +1219,7 @@ CONFIG_MTD_PLATRAM=m
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
CONFIG_MTD_SLRAM=m
CONFIG_MTD_PHRAM=m
# CONFIG_MTD_MTDRAM is not set
@@ -1051,6 +1235,11 @@ CONFIG_MTD_PHRAM=m
# CONFIG_MTD_ONENAND is not set
#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
# UBI - Unsorted block images
#
# CONFIG_MTD_UBI is not set
@@ -1085,7 +1274,10 @@ CONFIG_BLK_DEV_DAC960=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=m
@@ -1099,43 +1291,50 @@ CONFIG_ATA_OVER_ETH=m
CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
# CONFIG_IBM_ASM is not set
CONFIG_PHANTOM=m
-CONFIG_EEPROM_93CX6=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
-CONFIG_ACER_WMI=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_WMI=m
CONFIG_ICS932S401=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-# CONFIG_SONYPI_COMPAT is not set
-CONFIG_THINKPAD_ACPI=m
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-CONFIG_THINKPAD_ACPI_BAY=y
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=m
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
+CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
+CONFIG_IDE_LEGACY=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=m
CONFIG_IDE_GD_ATA=y
@@ -1145,7 +1344,6 @@ CONFIG_BLK_DEV_DELKIN=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=m
-CONFIG_BLK_DEV_IDESCSI=m
CONFIG_BLK_DEV_IDEACPI=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y
@@ -1178,10 +1376,12 @@ CONFIG_BLK_DEV_TRIFLEX=m
CONFIG_BLK_DEV_CS5520=m
CONFIG_BLK_DEV_CS5530=m
CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_CS5536=m
CONFIG_BLK_DEV_HPT366=m
CONFIG_BLK_DEV_JMICRON=m
CONFIG_BLK_DEV_SC1200=m
CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
CONFIG_BLK_DEV_IT8213=m
CONFIG_BLK_DEV_IT821X=m
CONFIG_BLK_DEV_NS87415=m
@@ -1213,6 +1413,7 @@ CONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#
+CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
@@ -1231,10 +1432,6 @@ CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
@@ -1257,8 +1454,13 @@ CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_7000FASST=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AHA152X=m
@@ -1279,6 +1481,8 @@ CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_IN2000=m
@@ -1289,9 +1493,17 @@ CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA=m
@@ -1310,7 +1522,6 @@ CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_MVSAS=m
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
@@ -1327,6 +1538,7 @@ CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_SYM53C416=m
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
@@ -1338,7 +1550,10 @@ CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
@@ -1350,8 +1565,13 @@ CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=m
@@ -1375,6 +1595,7 @@ CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_CMD640_PCI=m
CONFIG_PATA_CMD64X=m
@@ -1406,15 +1627,17 @@ CONFIG_PATA_NS87415=m
CONFIG_PATA_OPTI=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_QDI=m
CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
CONFIG_PATA_RZ1000=m
CONFIG_PATA_SC1200=m
CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_PDC2027X=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
CONFIG_PATA_WINBOND_VLB=m
@@ -1426,7 +1649,9 @@ CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
-CONFIG_MD_RAID5_RESHAPE=y
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
@@ -1434,8 +1659,11 @@ CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_FUSION=y
@@ -1451,20 +1679,18 @@ CONFIG_FUSION_CTL=m
#
#
-# Enable only one of the two stacks, unless you know what you are doing
+# You can enable one or both FireWire driver stacks.
#
-# CONFIG_FIREWIRE is not set
-CONFIG_IEEE1394=m
-CONFIG_IEEE1394_OHCI1394=m
-CONFIG_IEEE1394_PCILYNX=m
-CONFIG_IEEE1394_SBP2=m
-# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
-CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
-CONFIG_IEEE1394_ETH1394=m
-CONFIG_IEEE1394_RAWIO=m
-CONFIG_IEEE1394_VIDEO1394=m
-CONFIG_IEEE1394_DV1394=m
-# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
@@ -1481,30 +1707,34 @@ CONFIG_IFB=m
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
CONFIG_EQUALIZER=m
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_NET_SB1000=m
# CONFIG_ARCNET is not set
-CONFIG_PHYLIB=y
+CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_FIXED_PHY is not set
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
+CONFIG_MII=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
@@ -1513,34 +1743,37 @@ CONFIG_EL1=m
CONFIG_EL2=m
CONFIG_ELPLUS=m
CONFIG_EL16=m
-CONFIG_EL3=y
+CONFIG_EL3=m
CONFIG_3C515=m
-CONFIG_VORTEX=y
-CONFIG_TYPHOON=y
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
CONFIG_LANCE=m
CONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=m
-CONFIG_ULTRA=y
+CONFIG_ULTRA=m
CONFIG_SMC9194=m
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
CONFIG_NET_VENDOR_RACAL=y
CONFIG_NI52=m
CONFIG_NI65=m
+CONFIG_DNET=m
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
-CONFIG_TULIP=y
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=m
-CONFIG_WINBOND_840=y
-CONFIG_DM9102=y
-CONFIG_ULI526X=y
-CONFIG_PCMCIA_XIRCOM=y
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
CONFIG_AT1700=m
CONFIG_DEPCA=m
-CONFIG_HP100=y
+CONFIG_HP100=m
CONFIG_NET_ISA=y
CONFIG_E2100=m
CONFIG_EWRK3=m
@@ -1561,37 +1794,41 @@ CONFIG_SEEQ8005=m
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
-CONFIG_PCNET32=y
-CONFIG_AMD8111_ETH=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_AC3200=m
+CONFIG_KSZ884X_PCI=m
CONFIG_APRICOT=m
-CONFIG_B44=y
+CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
-CONFIG_FORCEDETH=y
+CONFIG_FORCEDETH=m
# CONFIG_FORCEDETH_NAPI is not set
CONFIG_CS89x0=m
-CONFIG_EEPRO100=y
-CONFIG_E100=y
+CONFIG_E100=m
CONFIG_FEALNX=m
-CONFIG_NATSEMI=y
+CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
-CONFIG_8139TOO=y
+CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R6040=m
-CONFIG_SIS900=y
-CONFIG_EPIC100=y
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_TLAN=m
-CONFIG_VIA_RHINE=y
-CONFIG_VIA_RHINE_MMIO=y
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_SC92031=m
CONFIG_NET_POCKET=y
CONFIG_ATP=m
@@ -1601,39 +1838,48 @@ CONFIG_ATL2=m
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_DL2K=y
+CONFIG_DL2K=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IP1000=m
CONFIG_IGB=m
-# CONFIG_IGB_LRO is not set
CONFIG_IGB_DCA=y
-CONFIG_NS83820=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
-CONFIG_R8169=y
-CONFIG_R8169_VLAN=y
-CONFIG_SIS190=y
-CONFIG_SKGE=y
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
# CONFIG_SKGE_DEBUG is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
-CONFIG_VIA_VELOCITY=y
-CONFIG_TIGON3=y
-CONFIG_BNX2=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
CONFIG_QLA3XXX=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
+CONFIG_ATL1C=m
CONFIG_JME=m
CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
CONFIG_ENIC=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
CONFIG_IXGB=m
CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_NETXEN_NIC=m
@@ -1643,43 +1889,21 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=m
CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
+CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
-CONFIG_HERMES=m
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCI_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
@@ -1687,68 +1911,126 @@ CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
# CONFIG_MAC80211_HWSIM is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
-CONFIG_IWLWIFI=m
-CONFIG_IWLCORE=m
-CONFIG_IWLWIFI_LEDS=y
-CONFIG_IWLWIFI_RFKILL=y
-# CONFIG_IWLWIFI_DEBUG is not set
-CONFIG_IWLAGN=m
-CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
-CONFIG_IWLAGN_LEDS=y
-CONFIG_IWL4965=y
-CONFIG_IWL5000=y
-CONFIG_IWL3945=m
-CONFIG_IWL3945_RFKILL=y
-CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
-CONFIG_IWL3945_LEDS=y
-# CONFIG_IWL3945_DEBUG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
CONFIG_B43_LEDS=y
-CONFIG_B43_RFKILL=y
+CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_RFKILL=y
+CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_RFKILL=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
#
# USB Network Adapters
@@ -1760,7 +2042,9 @@ CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
@@ -1776,6 +2060,10 @@ CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
@@ -1815,6 +2103,9 @@ CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_HE=m
# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PLIP=m
@@ -1841,16 +2132,8 @@ CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
CONFIG_ISDN=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
@@ -1934,7 +2217,6 @@ CONFIG_HISAX_ST5481=m
CONFIG_HISAX_HFCUSB=m
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_HISAX_HDLC=y
#
# Active cards
@@ -1943,14 +2225,6 @@ CONFIG_ISDN_DRV_ICN=m
CONFIG_ISDN_DRV_PCBIT=m
CONFIG_ISDN_DRV_SC=m
CONFIG_ISDN_DRV_ACT2000=m
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_UNDOCREQ=y
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
@@ -1979,6 +2253,34 @@ CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
# CONFIG_PHONE is not set
#
@@ -1987,6 +2289,7 @@ CONFIG_ISDN_DIVAS_MAINT=m
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
#
# Userland interfaces
@@ -2003,12 +2306,19 @@ CONFIG_INPUT_EVDEV=m
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_QT2160=m
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
@@ -2017,6 +2327,7 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_OLPC=y
CONFIG_MOUSE_SERIAL=y
@@ -2027,6 +2338,8 @@ CONFIG_MOUSE_INPORT=m
CONFIG_MOUSE_LOGIBM=m
CONFIG_MOUSE_PC110PAD=m
CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
@@ -2056,6 +2369,7 @@ CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
@@ -2064,9 +2378,16 @@ CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
@@ -2074,11 +2395,13 @@ CONFIG_TOUCHSCREEN_HTCPEN=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
CONFIG_TOUCHSCREEN_WM97XX=m
# CONFIG_TOUCHSCREEN_WM9705 is not set
# CONFIG_TOUCHSCREEN_WM9712 is not set
# CONFIG_TOUCHSCREEN_WM9713 is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
@@ -2090,7 +2413,14 @@ CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_APANEL=m
@@ -2103,6 +2433,10 @@ CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
#
# Hardware I/O ports
@@ -2115,6 +2449,7 @@ CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
@@ -2136,7 +2471,6 @@ CONFIG_ROCKETPORT=m
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
# CONFIG_DIGIEPCA is not set
-# CONFIG_ESPSERIAL is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_ISI is not set
@@ -2146,8 +2480,6 @@ CONFIG_SYNCLINKMP=m
CONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
-# CONFIG_SX is not set
-# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
CONFIG_NOZOMI=m
@@ -2160,17 +2492,21 @@ CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
@@ -2184,6 +2520,7 @@ CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
@@ -2207,7 +2544,8 @@ CONFIG_PC8736x_GPIO=m
CONFIG_NSC_GPIO=m
CONFIG_CS5535_GPIO=m
# CONFIG_RAW_DRIVER is not set
-# CONFIG_HPET is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
@@ -2218,8 +2556,10 @@ CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m
@@ -2248,10 +2588,17 @@ CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+CONFIG_I2C_GPIO=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
@@ -2262,34 +2609,15 @@ CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
#
-# Graphics adapter I2C/DDC channel drivers
-#
-CONFIG_I2C_VOODOO3=m
-
-#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_ISA=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_STUB is not set
CONFIG_SCx200_ACB=m
-
-#
-# Miscellaneous I2C Chip support
-#
-CONFIG_DS1682=m
-CONFIG_AT24=m
-CONFIG_SENSORS_EEPROM=m
-CONFIG_SENSORS_PCF8574=m
-CONFIG_PCF8575=m
-CONFIG_SENSORS_PCA9539=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_SENSORS_MAX6875=m
-CONFIG_SENSORS_TSL2550=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
@@ -2299,16 +2627,69 @@ CONFIG_SPI_MASTER=y
#
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
#
# SPI Protocol Masters
#
-CONFIG_SPI_AT25=m
CONFIG_SPI_SPIDEV=m
CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
CONFIG_W1=m
CONFIG_W1_CON=y
@@ -2318,12 +2699,14 @@ CONFIG_W1_CON=y
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
@@ -2332,10 +2715,18 @@ CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
CONFIG_BATTERY_OLPC=m
CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7414=m
@@ -2347,10 +2738,13 @@ CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7473=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
@@ -2358,9 +2752,8 @@ CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHER=m
-CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_CORETEMP=m
@@ -2369,6 +2762,7 @@ CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
@@ -2379,18 +2773,27 @@ CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
@@ -2403,9 +2806,15 @@ CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_HDAPS=m
-CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_SENSORS_LIS3_I2C=m
CONFIG_SENSORS_APPLESMC=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
@@ -2419,7 +2828,9 @@ CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
@@ -2436,6 +2847,7 @@ CONFIG_60XX_WDT=m
CONFIG_SBC8360_WDT=m
CONFIG_SBC7240_WDT=m
CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=m
@@ -2451,14 +2863,12 @@ CONFIG_SBC_EPX_C3_WATCHDOG=m
CONFIG_PCWATCHDOG=m
CONFIG_MIXCOMWD=m
CONFIG_WDT=m
-CONFIG_WDT_501=y
#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m
-CONFIG_WDT_501_PCI=y
#
# USB-based Watchdog Cards
@@ -2469,11 +2879,16 @@ CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
-CONFIG_SSB=y
+CONFIG_SSB=m
CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -2481,18 +2896,25 @@ CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
-# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CORE=m
CONFIG_MFD_SM501=m
-# CONFIG_HTC_PASIC3 is not set
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
-CONFIG_MFD_WM8350=m
-CONFIG_MFD_WM8350_I2C=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
# CONFIG_REGULATOR is not set
-
-#
-# Multimedia devices
-#
+CONFIG_MEDIA_SUPPORT=m
#
# Multimedia core support
@@ -2509,9 +2931,11 @@ CONFIG_VIDEO_MEDIA=m
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
-# CONFIG_MEDIA_ATTACH is not set
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
@@ -2528,15 +2952,15 @@ CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
@@ -2568,21 +2992,28 @@ CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
# Video decoders
#
+CONFIG_VIDEO_ADV7180=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_TCM825X=m
CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA7111=m
-CONFIG_VIDEO_SAA7114=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
CONFIG_VIDEO_VPX3220=m
#
@@ -2602,6 +3033,8 @@ CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
#
# Video improvement chips
@@ -2611,7 +3044,6 @@ CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_PMS=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
@@ -2642,31 +3074,51 @@ CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
@@ -2675,7 +3127,10 @@ CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
@@ -2685,9 +3140,14 @@ CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_USBVIDEO=m
CONFIG_USB_VICAM=m
@@ -2704,6 +3164,7 @@ CONFIG_USB_STV680=m
CONFIG_USB_ZC0301=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
@@ -2716,16 +3177,26 @@ CONFIG_RADIO_GEMTEK=m
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_MIROPCM20=m
CONFIG_RADIO_SF16FMI=m
CONFIG_RADIO_SF16FMR2=m
CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
-# CONFIG_RADIO_TYPHOON_PROC_FS is not set
CONFIG_RADIO_ZOLTRIX=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
CONFIG_DVB_CAPTURE_DRIVERS=y
#
@@ -2770,10 +3241,19 @@ CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_SIANO_SMS1XXX=m
-CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
#
# Supported FlexCopII (B2C2) Adapters
@@ -2797,43 +3277,63 @@ CONFIG_DVB_PLUTO2=m
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
#
-# Supported DVB Frontends
+# Supported Earthsoft PT1 Adapters
#
+CONFIG_DVB_PT1=m
#
-# Customise DVB Frontends
+# Supported Mantis Adapters
#
-# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
#
-# DVB-S (satellite) frontends
+# Supported nGene Adapters
#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
-
-#
-# DVB-T (terrestrial) frontends
-#
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
-# CONFIG_DVB_DRX397XD is not set
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
@@ -2844,46 +3344,30 @@ CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
-
-#
-# DVB-C (cable) frontends
-#
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
+CONFIG_DVB_DIB8000=m
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
-
-#
-# SEC control devices for DVB-S
-#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
-CONFIG_DVB_LGS8GL5=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-CONFIG_DVB_AF9013=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
CONFIG_DAB=y
CONFIG_USB_DABUSB=m
@@ -2901,13 +3385,20 @@ CONFIG_AGP_SIS=m
CONFIG_AGP_SWORKS=m
CONFIG_AGP_VIA=m
CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
@@ -2927,6 +3418,7 @@ CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
@@ -2962,9 +3454,6 @@ CONFIG_FB_I810=m
# CONFIG_FB_I810_GTF is not set
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_INTEL=m
-# CONFIG_FB_INTEL_DEBUG is not set
-CONFIG_FB_INTEL_I2C=y
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
@@ -2989,28 +3478,31 @@ CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=m
# CONFIG_FB_VT8623 is not set
-CONFIG_FB_CYBLA=m
CONFIG_FB_TRIDENT=m
-CONFIG_FB_TRIDENT_ACCEL=y
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
CONFIG_LCD_LTV350QV=m
CONFIG_LCD_ILI9320=m
CONFIG_LCD_TDO24M=m
CONFIG_LCD_VGG2432A4=m
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CORGI=m
+CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PROGEAR=m
CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_MBP_NVIDIA=m
@@ -3050,31 +3542,41 @@ CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_OPL4_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
+# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
@@ -3096,9 +3598,7 @@ CONFIG_SND_ALS100=m
CONFIG_SND_AZT2320=m
CONFIG_SND_CMI8330=m
CONFIG_SND_CS4231=m
-CONFIG_SND_CS4232=m
CONFIG_SND_CS4236=m
-CONFIG_SND_DT019X=m
CONFIG_SND_ES968=m
CONFIG_SND_ES1688=m
CONFIG_SND_ES18XX=m
@@ -3108,6 +3608,7 @@ CONFIG_SND_GUSEXTREME=m
CONFIG_SND_GUSMAX=m
CONFIG_SND_INTERWAVE=m
CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
CONFIG_SND_OPL3SA2=m
CONFIG_SND_OPTI92X_AD1848=m
CONFIG_SND_OPTI92X_CS4231=m
@@ -3120,7 +3621,8 @@ CONFIG_SND_SB16_CSP=y
CONFIG_SND_SGALAXY=m
CONFIG_SND_SSCAPE=m
CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_WAVEFRONT_FIRMWARE_IN_KERNEL=y
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=m
CONFIG_SND_ALS300=m
@@ -3144,6 +3646,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
@@ -3156,6 +3659,8 @@ CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
@@ -3167,14 +3672,22 @@ CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_FM801_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
@@ -3188,6 +3701,7 @@ CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
@@ -3207,6 +3721,7 @@ CONFIG_SND_YMFPCI=m
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
@@ -3215,12 +3730,12 @@ CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
# CONFIG_SND_SOC_ALL_CODECS is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
-# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y
#
@@ -3231,38 +3746,50 @@ CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-
-#
# Special HID drivers
#
-# CONFIG_HID_COMPAT is not set
+CONFIG_HID_3M_PCT=m
CONFIG_HID_A4TECH=m
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-CONFIG_HID_BRIGHT=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CYPRESS=m
-CONFIG_HID_DELL=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
CONFIG_HID_SUNPLUS=m
-CONFIG_THRUSTMASTER_FF=m
-CONFIG_ZEROPLUS_FF=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
@@ -3275,11 +3802,11 @@ CONFIG_USB=m
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
-CONFIG_USB_MON=y
+CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
@@ -3288,11 +3815,15 @@ CONFIG_USB_WUSB_CBAF=m
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
@@ -3316,26 +3847,25 @@ CONFIG_USB_WDM=m
CONFIG_USB_TMC=m
#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
-# see USB_STORAGE Help for more information
+# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_DPCM=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
# CONFIG_USB_LIBUSUAL is not set
#
@@ -3357,7 +3887,7 @@ CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -3393,16 +3923,22 @@ CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
# CONFIG_USB_SERIAL_DEBUG is not set
#
@@ -3415,14 +3951,9 @@ CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
-CONFIG_USB_BERRY_CHARGE=m
CONFIG_USB_LED=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
-CONFIG_USB_PHIDGET=m
-CONFIG_USB_PHIDGETKIT=m
-CONFIG_USB_PHIDGETMOTORCONTROL=m
-CONFIG_USB_PHIDGETSERVO=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
@@ -3433,7 +3964,6 @@ CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_VST=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
@@ -3451,26 +3981,43 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_AMD5536UDC is not set
# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=m
# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
CONFIG_USB_G_SERIAL=m
CONFIG_USB_MIDI_GADGET=m
CONFIG_USB_G_PRINTER=m
# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@@ -3494,10 +4041,13 @@ CONFIG_SDIO_UART=m
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -3518,20 +4068,33 @@ CONFIG_LEDS_CLASS=m
#
# LED drivers
#
+# CONFIG_LEDS_ALIX2 is not set
CONFIG_LEDS_PCA9532=m
-CONFIG_LEDS_HP_DISK=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
-CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
# CONFIG_INFINIBAND is not set
@@ -3541,6 +4104,7 @@ CONFIG_EDAC=y
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_AMD76X=m
CONFIG_EDAC_E7XXX=m
@@ -3548,7 +4112,9 @@ CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82875P=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
CONFIG_EDAC_I82860=m
CONFIG_EDAC_R82600=m
CONFIG_EDAC_I5000=m
@@ -3579,9 +4145,11 @@ CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
#
# SPI RTC drivers
@@ -3593,6 +4161,7 @@ CONFIG_RTC_DRV_MAX6902=m
CONFIG_RTC_DRV_R9701=m
CONFIG_RTC_DRV_RS5C348=m
CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
#
# Platform RTC drivers
@@ -3606,18 +4175,24 @@ CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_WM8350=m
+CONFIG_RTC_DRV_PCF50633=m
#
# on-CPU RTC drivers
#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
CONFIG_INTEL_IOATDMA=m
CONFIG_DMA_ENGINE=y
@@ -3625,6 +4200,7 @@ CONFIG_DMA_ENGINE=y
# DMA Clients
#
CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
@@ -3637,25 +4213,137 @@ CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_SMX=m
+CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
CONFIG_STAGING=y
# CONFIG_STAGING_EXCLUDE_BUILD is not set
CONFIG_ET131X=m
# CONFIG_ET131X_DEBUG is not set
CONFIG_SLICOSS=m
-CONFIG_SXG=m
-CONFIG_ME4000=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
CONFIG_USB_IP_COMMON=m
CONFIG_USB_IP_VHCI_HCD=m
CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
CONFIG_W35UND=m
CONFIG_PRISM2_USB=m
CONFIG_ECHO=m
-CONFIG_USB_ATMEL=m
CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_TC1100_WMI=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
#
# Firmware Drivers
@@ -3678,14 +4366,15 @@ CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
-CONFIG_EXT4DEV_COMPAT=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
@@ -3693,7 +4382,7 @@ CONFIG_JBD2=m
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
@@ -3701,38 +4390,56 @@ CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
+CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
-CONFIG_FILE_LOCKING=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
# CONFIG_OCFS2_DEBUG_FS is not set
-# CONFIG_OCFS2_COMPAT_JBD is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
@@ -3766,20 +4473,10 @@ CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
-
-#
-# Layered filesystems
-#
-CONFIG_ECRYPT_FS=m
-CONFIG_UNION_FS=m
-CONFIG_UNION_FS_XATTR=y
-# CONFIG_UNION_FS_DEBUG is not set
-
-#
-# Miscellaneous filesystems
-#
+CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
@@ -3797,6 +4494,7 @@ CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_EMBEDDED is not set
@@ -3811,29 +4509,33 @@ CONFIG_OMFS_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
+CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
+CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
-CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-# CONFIG_SUNRPC_REGISTER_V4 is not set
-CONFIG_RPCSEC_GSS_KRB5=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
@@ -3842,6 +4544,7 @@ CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
CONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
@@ -3855,7 +4558,9 @@ CONFIG_NCPFS_NLS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
#
# Partition Types
@@ -3871,7 +4576,8 @@ CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
@@ -3930,6 +4636,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
@@ -3938,12 +4645,16 @@ CONFIG_DEBUG_KERNEL=y
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-# CONFIG_SCHED_DEBUG is not set
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
@@ -3954,6 +4665,7 @@ CONFIG_DEBUG_MUTEXES=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
@@ -3964,49 +4676,80 @@ CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
-# CONFIG_FRAME_POINTER is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-
-#
-# Tracers
-#
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
-# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
-# CONFIG_STRICT_DEVMEM is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_4KSTACKS is not set
CONFIG_DOUBLEFAULT=y
-# CONFIG_MMIOTRACE is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
@@ -4019,6 +4762,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
#
# Security options
@@ -4029,33 +4773,48 @@ CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
-CONFIG_SECURITY_FILE_CAPABILITIES=y
-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
-CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI=m
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
@@ -4070,7 +4829,7 @@ CONFIG_CRYPTO_SEQIV=m
#
# Block modes
#
-CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
@@ -4083,14 +4842,16 @@ CONFIG_CRYPTO_XTS=m
#
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -4113,7 +4874,7 @@ CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
@@ -4129,6 +4890,7 @@ CONFIG_CRYPTO_TWOFISH_586=m
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
#
@@ -4143,15 +4905,21 @@ CONFIG_CRYPTO_DEV_GEODE=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
CONFIG_LGUEST=m
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
#
# Library routines
@@ -4159,23 +4927,31 @@ CONFIG_VIRTIO_RING=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_CRC_CCITT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
-CONFIG_LZO_DECOMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
-CONFIG_PLIST=y
+CONFIG_BTREE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core-testing/kernel26/config.arch b/abs/core-testing/kernel26/config.arch
new file mode 100644
index 0000000..f0aff2c
--- /dev/null
+++ b/abs/core-testing/kernel26/config.arch
@@ -0,0 +1,4955 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.34
+# Mon May 17 05:55:59 2010
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_X86_TRAMPOLINE=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION="-ARCH"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_SMP=y
+# CONFIG_SPARSE_IRQ is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_VMI=y
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+CONFIG_LGUEST_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M386 is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+# CONFIG_GENERIC_CPU is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+# CONFIG_X86_DS is not set
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_IOMMU_API=y
+CONFIG_NR_CPUS=8
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+# CONFIG_HIGHPTE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW_64K=y
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_EFI=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=m
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
+CONFIG_X86_APM_BOOT=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+CONFIG_APM_DO_ENABLE=y
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# CPUFreq processor drivers
+#
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_GX_SUSPMOD=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOOLPC is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_OLPC=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+# CONFIG_MCA is not set
+# CONFIG_SCx200 is not set
+CONFIG_OLPC=y
+CONFIG_K8_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_HOTPLUG_PCI=m
+CONFIG_HOTPLUG_PCI_FAKE=m
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=m
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT=y
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+CONFIG_SCTP_HMAC_SHA1=y
+# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_INGRESS=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_RAM=m
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+CONFIG_PARPORT_PC_FIFO=y
+CONFIG_PARPORT_PC_SUPERIO=y
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_BLK_DEV_XD is not set
+# CONFIG_PARIDE is not set
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
+CONFIG_HAVE_IDE=y
+CONFIG_IDE=m
+
+#
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
+#
+CONFIG_IDE_XFER_MODE=y
+CONFIG_IDE_TIMINGS=y
+CONFIG_IDE_ATAPI=y
+CONFIG_IDE_LEGACY=y
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_IDE_GD=m
+CONFIG_IDE_GD_ATA=y
+CONFIG_IDE_GD_ATAPI=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_DELKIN=m
+CONFIG_BLK_DEV_IDECD=m
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
+CONFIG_BLK_DEV_IDETAPE=m
+CONFIG_BLK_DEV_IDEACPI=y
+# CONFIG_IDE_TASK_IOCTL is not set
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=m
+CONFIG_BLK_DEV_PLATFORM=m
+CONFIG_BLK_DEV_CMD640=m
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
+CONFIG_BLK_DEV_IDEPNP=m
+CONFIG_BLK_DEV_IDEDMA_SFF=y
+
+#
+# PCI IDE chipsets support
+#
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_BLK_DEV_OFFBOARD is not set
+CONFIG_BLK_DEV_GENERIC=m
+CONFIG_BLK_DEV_OPTI621=m
+CONFIG_BLK_DEV_RZ1000=m
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+CONFIG_BLK_DEV_AEC62XX=m
+CONFIG_BLK_DEV_ALI15X3=m
+CONFIG_BLK_DEV_AMD74XX=m
+CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_CMD64X=m
+CONFIG_BLK_DEV_TRIFLEX=m
+CONFIG_BLK_DEV_CS5520=m
+CONFIG_BLK_DEV_CS5530=m
+CONFIG_BLK_DEV_CS5535=m
+CONFIG_BLK_DEV_CS5536=m
+CONFIG_BLK_DEV_HPT366=m
+CONFIG_BLK_DEV_JMICRON=m
+CONFIG_BLK_DEV_SC1200=m
+CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
+CONFIG_BLK_DEV_IT8213=m
+CONFIG_BLK_DEV_IT821X=m
+CONFIG_BLK_DEV_NS87415=m
+CONFIG_BLK_DEV_PDC202XX_OLD=m
+CONFIG_BLK_DEV_PDC202XX_NEW=m
+CONFIG_BLK_DEV_SVWKS=m
+CONFIG_BLK_DEV_SIIMAGE=m
+CONFIG_BLK_DEV_SIS5513=m
+CONFIG_BLK_DEV_SLC90E66=m
+CONFIG_BLK_DEV_TRM290=m
+CONFIG_BLK_DEV_VIA82CXXX=m
+CONFIG_BLK_DEV_TC86C001=m
+
+#
+# Other IDE chipsets support
+#
+
+#
+# Note: most of these also require special kernel boot parameters
+#
+CONFIG_BLK_DEV_4DRIVES=m
+CONFIG_BLK_DEV_ALI14XX=m
+CONFIG_BLK_DEV_DTC2278=m
+CONFIG_BLK_DEV_HT6560B=m
+CONFIG_BLK_DEV_QD65XX=m
+CONFIG_BLK_DEV_UMC8672=m
+CONFIG_BLK_DEV_IDEDMA=y
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ARCMSR_AER=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_PMP=y
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+CONFIG_SATA_SVW=m
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SX4=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+CONFIG_SATA_INIC162X=m
+CONFIG_PATA_ACPI=m
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5535=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_ISAPNP=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_QDI=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+CONFIG_PATA_WINBOND_VLB=m
+CONFIG_PATA_SCH=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# You can enable one or both FireWire driver stacks.
+#
+
+#
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_IFB=m
+CONFIG_DUMMY=m
+CONFIG_BONDING=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_NET_SB1000=m
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL1=m
+CONFIG_EL2=m
+CONFIG_ELPLUS=m
+CONFIG_EL16=m
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_LANCE=m
+CONFIG_NET_VENDOR_SMC=y
+CONFIG_WD80x3=m
+CONFIG_ULTRA=m
+CONFIG_SMC9194=m
+CONFIG_ENC28J60=m
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_NET_VENDOR_RACAL=y
+CONFIG_NI52=m
+CONFIG_NI65=m
+CONFIG_DNET=m
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_AT1700=m
+CONFIG_DEPCA=m
+CONFIG_HP100=m
+CONFIG_NET_ISA=y
+CONFIG_E2100=m
+CONFIG_EWRK3=m
+CONFIG_EEXPRESS=m
+CONFIG_EEXPRESS_PRO=m
+CONFIG_HPLAN_PLUS=m
+CONFIG_HPLAN=m
+CONFIG_LP486E=m
+CONFIG_ETH16I=m
+CONFIG_NE2000=m
+CONFIG_ZNET=m
+CONFIG_SEEQ8005=m
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=m
+CONFIG_AMD8111_ETH=m
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_AC3200=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_APRICOT=m
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_FORCEDETH=m
+# CONFIG_FORCEDETH_NAPI is not set
+CONFIG_CS89x0=m
+CONFIG_E100=m
+CONFIG_FEALNX=m
+CONFIG_NATSEMI=m
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R6040=m
+CONFIG_SIS900=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_SC92031=m
+CONFIG_NET_POCKET=y
+CONFIG_ATP=m
+CONFIG_DE600=m
+CONFIG_DE620=m
+CONFIG_ATL2=m
+CONFIG_NETDEV_1000=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_DL2K=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IP1000=m
+CONFIG_IGB=m
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_NS83820=m
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_R8169=m
+# CONFIG_R8169_VLAN is not set
+CONFIG_SIS190=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_TIGON3=m
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_QLA3XXX=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_JME=m
+CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
+CONFIG_ENIC=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_IXGB=m
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_NETXEN_NIC=m
+CONFIG_NIU=m
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_TEHUTI=m
+CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
+# CONFIG_TR is not set
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
+CONFIG_B43=m
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_NET_PCMCIA=y
+CONFIG_PCMCIA_3C589=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_PCMCIA_AXNET=m
+# CONFIG_WAN is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOATM=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
+CONFIG_ISDN_CAPI_CAPIFS=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_OLPC=y
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+# CONFIG_TOUCHSCREEN_WM9712 is not set
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_STALDRV is not set
+CONFIG_NOZOMI=m
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_CS5535_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_STUB is not set
+CONFIG_SCx200_ACB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+# CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_OLPC=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADCXX=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_MAX1111=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_HDAPS=m
+CONFIG_SENSORS_LIS3_I2C=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_WM8400=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TDA9875=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_M52790=m
+CONFIG_VIDEO_TLV320AIC23B=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_TCM825X=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_CX25840=m
+
+#
+# MPEG video encoders
+#
+CONFIG_VIDEO_CX2341X=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_BT848=m
+CONFIG_VIDEO_BT848_DVB=y
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_PP=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_MEYE=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+CONFIG_USB_ET61X251=m
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+CONFIG_USB_ZC0301=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+CONFIG_RADIO_RTRACK2=m
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_GEMTEK_PCI=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_MAESTRO=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
+
+#
+# Supported BT878 Adapters
+#
+CONFIG_DVB_BT8XX=m
+
+#
+# Supported Pluto2 Adapters
+#
+CONFIG_DVB_PLUTO2=m
+
+#
+# Supported SDMC DM1105 Adapters
+#
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
+
+#
+# Supported Earthsoft PT1 Adapters
+#
+CONFIG_DVB_PT1=m
+
+#
+# Supported Mantis Adapters
+#
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I830=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+CONFIG_FB_PM2_FIFO_DISCONNECT=y
+CONFIG_FB_CYBER2000=m
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 is not set
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I810=m
+# CONFIG_FB_I810_GTF is not set
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+# CONFIG_FB_S3 is not set
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+# CONFIG_FB_VT8623 is not set
+CONFIG_FB_TRIDENT=m
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
+CONFIG_LCD_LTV350QV=m
+CONFIG_LCD_ILI9320=m
+CONFIG_LCD_TDO24M=m
+CONFIG_LCD_VGG2432A4=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_PROGEAR=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_MBP_NVIDIA=m
+CONFIG_BACKLIGHT_SAHARA=m
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FB_CON_DECOR=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES968=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SGALAXY=m
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_FM801_TEA575X=m
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_ATIHDMI=y
+CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+# CONFIG_SND_SOC_ALL_CODECS is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+CONFIG_USB_GADGET_NET2280=y
+CONFIG_USB_NET2280=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_WLP=m
+CONFIG_UWB_I1480U=m
+CONFIG_UWB_I1480U_WLP=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_ALIX2 is not set
+CONFIG_LEDS_PCA9532=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+
+#
+# Reporting subsystems
+#
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_RTC_LIB=m
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+
+#
+# SPI RTC drivers
+#
+CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1305=m
+CONFIG_RTC_DRV_DS1390=m
+CONFIG_RTC_DRV_MAX6902=m
+CONFIG_RTC_DRV_R9701=m
+CONFIG_RTC_DRV_RS5C348=m
+CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=m
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+CONFIG_ET131X=m
+# CONFIG_ET131X_DEBUG is not set
+CONFIG_SLICOSS=m
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_USB_IP_COMMON=m
+CONFIG_USB_IP_VHCI_HCD=m
+CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_ARLAN=m
+CONFIG_WAVELAN=m
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_TC1100_WMI=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_EFI_VARS=m
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_SPKM3=m
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+# CONFIG_MINIX_SUBPARTITION is not set
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SYSPROF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_4KSTACKS is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_FIPS=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_VHOST_NET=m
+CONFIG_LGUEST=m
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_RING=y
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core-testing/kernel26/config.x86_64 b/abs/core-testing/kernel26/config.x86_64
index 6f6fc87..f400618 100644
--- a/abs/core-testing/kernel26/config.x86_64
+++ b/abs/core-testing/kernel26/config.x86_64
@@ -1,12 +1,13 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28
-# Thu Dec 25 19:41:06 2008
+# Linux kernel version: 2.6.34
+# Mon May 17 07:56:01 2010
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
@@ -16,16 +17,18 @@ CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
@@ -33,6 +36,8 @@ CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -40,17 +45,20 @@ CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_EARLY_RES=y
+CONFIG_HAVE_INTEL_TXT=y
CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
#
# General setup
@@ -60,35 +68,76 @@ CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-ARCH"
CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
-# CONFIG_AUDIT is not set
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_TREE=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=64
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
-# CONFIG_CGROUPS is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-# CONFIG_GROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_CGROUP_MEM_RES_CTLR=y
+CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
@@ -100,37 +149,57 @@ CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
-# CONFIG_COMPAT_BRK is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_COUNTERS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
-# CONFIG_MARKERS is not set
+CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
-CONFIG_OPROFILE_IBS=y
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
@@ -138,10 +207,8 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
-CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLOCK_COMPAT=y
@@ -150,16 +217,44 @@ CONFIG_BLOCK_COMPAT=y
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
+# CONFIG_CFQ_GROUP_IOSCHED is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_CLASSIC_RCU=y
+CONFIG_PADATA=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
CONFIG_FREEZER=y
#
@@ -170,20 +265,23 @@ CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
-CONFIG_X86_FIND_SMP_CONFIG=y
+# CONFIG_SPARSE_IRQ is not set
CONFIG_X86_MPPARSE=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_VSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
-# CONFIG_XEN is not set
-# CONFIG_KVM_CLOCK is not set
-# CONFIG_KVM_GUEST is not set
+CONFIG_XEN=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=32
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_CLOCK is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
@@ -209,12 +307,13 @@ CONFIG_PARAVIRT=y
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
-CONFIG_X86_L1_CACHE_BYTES=128
-CONFIG_X86_INTERNODE_CACHE_BYTES=128
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
@@ -223,7 +322,7 @@ CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR_64=y
+CONFIG_CPU_SUP_CENTAUR=y
# CONFIG_X86_DS is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
@@ -234,18 +333,23 @@ CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
# CONFIG_AMD_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
+CONFIG_IOMMU_API=y
+# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=16
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
-# CONFIG_PREEMPT_RCU is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
@@ -254,10 +358,14 @@ CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
# CONFIG_NUMA is not set
+CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -266,28 +374,36 @@ CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
-
-#
-# Memory hotplug is currently incompatible with Software Suspend
-#
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_RESOURCES_64BIT=y
+CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=y
CONFIG_MTRR=y
-# CONFIG_MTRR_SANITIZER is not set
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_EFI=y
CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
@@ -296,30 +412,41 @@ CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x200000
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x200000
+CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+# CONFIG_PM_TRACE_RTC is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
+# CONFIG_PM_SLEEP_ADVANCED_DEBUG is not set
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATION_NVS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_POWER_METER=m
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
@@ -330,19 +457,17 @@ CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
-CONFIG_ACPI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_ACPI_TOSHIBA=m
# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
-CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_HOTPLUG_MEMORY=m
CONFIG_ACPI_SBS=m
+CONFIG_SFI=y
#
# CPU Frequency scaling
@@ -366,16 +491,15 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
#
# CPUFreq processor drivers
#
+CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_POWERNOW_K8_ACPI=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_P4_CLOCKMOD=m
#
# shared options
#
-# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
@@ -394,24 +518,29 @@ CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
-# CONFIG_DMAR is not set
+CONFIG_DMAR=y
+# CONFIG_DMAR_DEFAULT_ON is not set
+CONFIG_DMAR_FLOPPY_WA=y
# CONFIG_INTR_REMAP is not set
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIEASPM is not set
+CONFIG_PCIE_PME=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
-CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_STUB=m
CONFIG_HT_IRQ=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_IOAPIC=y
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
CONFIG_PCCARD=m
-# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
#
@@ -449,12 +578,12 @@ CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
#
# Networking options
#
CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
@@ -490,11 +619,28 @@ CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=m
+CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=m
@@ -513,6 +659,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
@@ -535,6 +682,7 @@ CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
@@ -555,7 +703,10 @@ CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
@@ -566,6 +717,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
@@ -576,6 +728,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
@@ -599,6 +752,7 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not set
# CONFIG_IP_VS_DEBUG is not set
@@ -612,6 +766,7 @@ CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
@@ -689,11 +844,11 @@ CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_BRIDGE_NF_EBTABLES=m
@@ -718,13 +873,31 @@ CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
-# CONFIG_IP_DCCP is not set
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_CCID3_RTO=100
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
+CONFIG_RDS=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
@@ -735,6 +908,7 @@ CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_STP=m
CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
# CONFIG_VLAN_8021Q_GVRP is not set
@@ -743,11 +917,17 @@ CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
-# CONFIG_ATALK is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
CONFIG_NET_SCHED=y
#
@@ -766,6 +946,7 @@ CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_INGRESS=m
#
@@ -783,6 +964,7 @@ CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
@@ -796,11 +978,13 @@ CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
#
# Network testing
#
CONFIG_NET_PKTGEN=m
+CONFIG_NET_DROP_MONITOR=y
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
CONFIG_IRDA=m
@@ -873,9 +1057,7 @@ CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIBTUSB is not set
+CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
@@ -889,40 +1071,49 @@ CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=m
-CONFIG_PHONET=m
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
-CONFIG_CFG80211=m
-CONFIG_NL80211=y
-CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
-CONFIG_RFKILL_INPUT=m
CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
# CONFIG_NET_9P_DEBUG is not set
#
@@ -933,6 +1124,8 @@ CONFIG_NET_9P=m
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
@@ -940,10 +1133,11 @@ CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_SYS_HYPERVISOR=y
CONFIG_CONNECTOR=m
CONFIG_MTD=m
# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
@@ -996,6 +1190,7 @@ CONFIG_MTD_PLATRAM=m
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
+CONFIG_MTD_SST25L=m
CONFIG_MTD_SLRAM=m
CONFIG_MTD_PHRAM=m
# CONFIG_MTD_MTDRAM is not set
@@ -1011,6 +1206,11 @@ CONFIG_MTD_PHRAM=m
# CONFIG_MTD_ONENAND is not set
#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
# UBI - Unsorted block images
#
# CONFIG_MTD_UBI is not set
@@ -1042,7 +1242,10 @@ CONFIG_BLK_DEV_DAC960=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_OSD=m
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=m
@@ -1053,45 +1256,51 @@ CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_VIRTIO_BLK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y
+CONFIG_AD525X_DPOT=m
# CONFIG_IBM_ASM is not set
CONFIG_PHANTOM=m
-CONFIG_EEPROM_93CX6=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
-CONFIG_ACER_WMI=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_HP_WMI=m
CONFIG_ICS932S401=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-# CONFIG_SONYPI_COMPAT is not set
-CONFIG_THINKPAD_ACPI=m
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-CONFIG_THINKPAD_ACPI_BAY=y
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_SGI_XP=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
CONFIG_HP_ILO=m
-CONFIG_SGI_GRU=m
-# CONFIG_SGI_GRU_DEBUG is not set
+CONFIG_ISL29003=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_DS1682=m
+CONFIG_TI_DAC7512=m
+CONFIG_VMWARE_BALLOON=m
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+CONFIG_IWMC3200TOP=m
+# CONFIG_IWMC3200TOP_DEBUG is not set
+# CONFIG_IWMC3200TOP_DEBUGFS is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=m
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
+CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
# CONFIG_BLK_DEV_IDE_SATA is not set
@@ -1103,7 +1312,6 @@ CONFIG_BLK_DEV_DELKIN=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=m
-CONFIG_BLK_DEV_IDESCSI=m
CONFIG_BLK_DEV_IDEACPI=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y
@@ -1139,6 +1347,7 @@ CONFIG_BLK_DEV_HPT366=m
CONFIG_BLK_DEV_JMICRON=m
CONFIG_BLK_DEV_SC1200=m
CONFIG_BLK_DEV_PIIX=m
+CONFIG_BLK_DEV_IT8172=m
CONFIG_BLK_DEV_IT8213=m
CONFIG_BLK_DEV_IT821X=m
CONFIG_BLK_DEV_NS87415=m
@@ -1156,6 +1365,7 @@ CONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#
+CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
@@ -1174,10 +1384,6 @@ CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
@@ -1200,8 +1406,13 @@ CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
@@ -1219,6 +1430,8 @@ CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
@@ -1228,8 +1441,16 @@ CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
@@ -1244,7 +1465,6 @@ CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_MVSAS=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
@@ -1258,10 +1478,14 @@ CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_FC=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
@@ -1271,8 +1495,13 @@ CONFIG_SCSI_DH_RDAC=m
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=m
@@ -1296,6 +1525,7 @@ CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=m
CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATP867X=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_CMD640_PCI=m
CONFIG_PATA_CMD64X=m
@@ -1312,6 +1542,7 @@ CONFIG_PATA_HPT3X3=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_IT8213=m
CONFIG_PATA_JMICRON=m
+CONFIG_PATA_LEGACY=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_MARVELL=m
CONFIG_PATA_MPIIX=m
@@ -1323,14 +1554,16 @@ CONFIG_PATA_NS87415=m
CONFIG_PATA_OPTI=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
CONFIG_PATA_RZ1000=m
CONFIG_PATA_SC1200=m
CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_PDC2027X=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
CONFIG_PATA_SCH=m
@@ -1341,7 +1574,9 @@ CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
-CONFIG_MD_RAID5_RESHAPE=y
+# CONFIG_MULTICORE_RAID456 is not set
+CONFIG_MD_RAID6_PQ=m
+CONFIG_ASYNC_RAID6_TEST=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
@@ -1349,8 +1584,11 @@ CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_FUSION=y
@@ -1366,20 +1604,18 @@ CONFIG_FUSION_CTL=m
#
#
-# Enable only one of the two stacks, unless you know what you are doing
+# You can enable one or both FireWire driver stacks.
+#
+
#
-# CONFIG_FIREWIRE is not set
-CONFIG_IEEE1394=m
-CONFIG_IEEE1394_OHCI1394=m
-CONFIG_IEEE1394_PCILYNX=m
-CONFIG_IEEE1394_SBP2=m
-# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
-CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
-CONFIG_IEEE1394_ETH1394=m
-CONFIG_IEEE1394_RAWIO=m
-CONFIG_IEEE1394_VIDEO1394=m
-CONFIG_IEEE1394_DV1394=m
-# CONFIG_IEEE1394_VERBOSEDEBUG is not set
+# The newer stack is recommended.
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_OHCI_DEBUG=y
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+# CONFIG_IEEE1394 is not set
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
@@ -1397,6 +1633,7 @@ CONFIG_IFB=m
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
CONFIG_EQUALIZER=m
CONFIG_TUN=m
CONFIG_VETH=m
@@ -1407,16 +1644,20 @@ CONFIG_PHYLIB=m
#
# MII PHY device drivers
#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
@@ -1428,8 +1669,11 @@ CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_ENC28J60=m
# CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ETHOC=m
+CONFIG_DNET=m
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set
@@ -1451,13 +1695,13 @@ CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_KSZ884X_PCI=m
CONFIG_B44=m
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=m
# CONFIG_FORCEDETH_NAPI is not set
-CONFIG_EEPRO100=m
CONFIG_E100=m
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
@@ -1471,9 +1715,13 @@ CONFIG_8139TOO_8129=y
CONFIG_R6040=m
CONFIG_SIS900=m
CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
-# CONFIG_TLAN is not set
+CONFIG_TLAN=m
+CONFIG_KS8842=m
+CONFIG_KS8851=m
+CONFIG_KS8851_MLL=m
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
CONFIG_SC92031=m
@@ -1490,8 +1738,8 @@ CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IP1000=m
CONFIG_IGB=m
-# CONFIG_IGB_LRO is not set
CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
@@ -1505,19 +1753,28 @@ CONFIG_SKY2=m
CONFIG_VIA_VELOCITY=m
CONFIG_TIGON3=m
CONFIG_BNX2=m
+CONFIG_CNIC=m
CONFIG_QLA3XXX=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
+CONFIG_ATL1C=m
CONFIG_JME=m
CONFIG_NETDEV_10000=y
+CONFIG_MDIO=m
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3_DEPENDS=y
CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4_DEPENDS=y
+CONFIG_CHELSIO_T4=m
CONFIG_ENIC=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
CONFIG_IXGB=m
CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
CONFIG_NETXEN_NIC=m
@@ -1527,43 +1784,21 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_TEHUTI=m
CONFIG_BNX2X=m
+CONFIG_QLCNIC=m
CONFIG_QLGE=m
CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_BE2NET=m
# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
+CONFIG_WLAN=y
CONFIG_PCMCIA_RAYCS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AIRO=m
-CONFIG_HERMES=m
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCI_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
@@ -1571,70 +1806,126 @@ CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8180=m
CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
CONFIG_ADM8211=m
# CONFIG_MAC80211_HWSIM is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m
-CONFIG_IWLWIFI=m
-CONFIG_IWLCORE=m
-CONFIG_IWLWIFI_LEDS=y
-CONFIG_IWLWIFI_RFKILL=y
-# CONFIG_IWLWIFI_DEBUG is not set
-CONFIG_IWLAGN=m
-CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
-CONFIG_IWLAGN_LEDS=y
-CONFIG_IWL4965=y
-CONFIG_IWL5000=y
-CONFIG_IWL3945=m
-CONFIG_IWL3945_RFKILL=y
-CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
-CONFIG_IWL3945_LEDS=y
-# CONFIG_IWL3945_DEBUG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
+# CONFIG_ATH9K_DEBUGFS is not set
+CONFIG_AR9170_USB=m
+CONFIG_AR9170_LEDS=y
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
CONFIG_B43_PIO=y
+CONFIG_B43_PHY_LP=y
CONFIG_B43_LEDS=y
-CONFIG_B43_RFKILL=y
+CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_RFKILL=y
+CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLAGN=m
+CONFIG_IWL4965=y
+CONFIG_IWL5000=y
+CONFIG_IWL3945=m
+CONFIG_IWM=m
+# CONFIG_IWM_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_SPI=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_SPI=m
+CONFIG_P54_LEDS=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
CONFIG_RT2500PCI=m
CONFIG_RT61PCI=m
+CONFIG_RT2800PCI_PCI=y
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_RFKILL=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WL12XX=m
+CONFIG_WL1251=m
+CONFIG_WL1251_SPI=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL1271=m
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_SDIO=m
+# CONFIG_WIMAX_IWMC3200_SDIO is not set
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
#
# USB Network Adapters
@@ -1646,7 +1937,9 @@ CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
@@ -1662,6 +1955,10 @@ CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
@@ -1698,6 +1995,10 @@ CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_HE=m
# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_XEN_NETDEV_FRONTEND=m
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PLIP=m
@@ -1723,16 +2024,9 @@ CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_VIRTIO_NET=m
+CONFIG_VMXNET3=m
CONFIG_ISDN=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
@@ -1806,19 +2100,10 @@ CONFIG_HISAX_ST5481=m
CONFIG_HISAX_HFCUSB=m
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_HISAX_HDLC=y
#
# Active cards
#
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_UNDOCREQ=y
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
@@ -1845,6 +2130,34 @@ CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
# CONFIG_PHONE is not set
#
@@ -1853,6 +2166,7 @@ CONFIG_ISDN_DIVAS_MAINT=m
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
#
# Userland interfaces
@@ -1864,17 +2178,25 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
+CONFIG_XEN_KBDDEV_FRONTEND=m
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_QT2160=m
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
@@ -1883,11 +2205,14 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
@@ -1917,6 +2242,7 @@ CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
@@ -1925,20 +2251,29 @@ CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_WACOM=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
+CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_UCB1400=m
CONFIG_TOUCHSCREEN_WM97XX=m
# CONFIG_TOUCHSCREEN_WM9705 is not set
# CONFIG_TOUCHSCREEN_WM9712 is not set
# CONFIG_TOUCHSCREEN_WM9713 is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+# CONFIG_TOUCHSCREEN_MC13783 is not set
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
@@ -1950,7 +2285,14 @@ CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+# CONFIG_TOUCHSCREEN_USB_E2I is not set
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_PCAP is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_APANEL=m
@@ -1962,6 +2304,10 @@ CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_CM109=m
CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_WINBOND_CIR=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_PCAP is not set
#
# Hardware I/O ports
@@ -1974,6 +2320,7 @@ CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
@@ -2004,8 +2351,6 @@ CONFIG_SYNCLINKMP=m
CONFIG_N_HDLC=m
# CONFIG_RISCOM8 is not set
# CONFIG_SPECIALIX is not set
-# CONFIG_SX is not set
-# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
CONFIG_NOZOMI=m
@@ -2018,21 +2363,29 @@ CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
+CONFIG_SERIAL_MAX3100=m
+CONFIG_SERIAL_UARTLITE=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_TIMBERDALE=m
CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
@@ -2040,8 +2393,11 @@ CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_NVRAM=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
@@ -2057,7 +2413,8 @@ CONFIG_MWAVE=m
CONFIG_PC8736x_GPIO=m
CONFIG_NSC_GPIO=m
# CONFIG_RAW_DRIVER is not set
-# CONFIG_HPET is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=m
CONFIG_TCG_TIS=m
@@ -2068,8 +2425,10 @@ CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m
@@ -2098,10 +2457,17 @@ CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+CONFIG_I2C_GPIO=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
@@ -2112,32 +2478,13 @@ CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
#
-# Graphics adapter I2C/DDC channel drivers
-#
-CONFIG_I2C_VOODOO3=m
-
-#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_STUB is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-CONFIG_DS1682=m
-CONFIG_AT24=m
-CONFIG_SENSORS_EEPROM=m
-CONFIG_SENSORS_PCF8574=m
-CONFIG_PCF8575=m
-CONFIG_SENSORS_PCA9539=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_SENSORS_MAX6875=m
-CONFIG_SENSORS_TSL2550=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
@@ -2147,16 +2494,69 @@ CONFIG_SPI_MASTER=y
#
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
+CONFIG_SPI_XILINX=m
+CONFIG_SPI_XILINX_PLTFM=m
+# CONFIG_SPI_DESIGNWARE is not set
#
# SPI Protocol Masters
#
-CONFIG_SPI_AT25=m
CONFIG_SPI_SPIDEV=m
CONFIG_SPI_TLE62X0=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-# CONFIG_GPIOLIB is not set
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO expanders:
+#
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_SCH=m
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_WM8994=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_LANGWELL=y
+CONFIG_GPIO_TIMBERDALE=y
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MAX7301=m
+CONFIG_GPIO_MCP23S08=m
+CONFIG_GPIO_MC33880=m
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
CONFIG_W1=m
CONFIG_W1_CON=y
@@ -2166,12 +2566,14 @@ CONFIG_W1_CON=y
CONFIG_W1_MASTER_MATROX=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
@@ -2180,9 +2582,17 @@ CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2782=m
CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_MAX17040=m
+CONFIG_CHARGER_PCF50633=m
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7414=m
@@ -2194,10 +2604,13 @@ CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7473=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
@@ -2205,9 +2618,8 @@ CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHER=m
-CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_CORETEMP=m
@@ -2216,6 +2628,7 @@ CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM70=m
+CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
@@ -2226,18 +2639,27 @@ CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_MAX1111=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
@@ -2250,9 +2672,15 @@ CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_HDAPS=m
-CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_SENSORS_LIS3_I2C=m
CONFIG_SENSORS_APPLESMC=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ATK0110=m
+CONFIG_SENSORS_LIS3LV02D=m
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
@@ -2266,7 +2694,9 @@ CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
@@ -2282,6 +2712,7 @@ CONFIG_PC87413_WDT=m
CONFIG_60XX_WDT=m
CONFIG_SBC8360_WDT=m
CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=m
@@ -2296,7 +2727,6 @@ CONFIG_SBC_EPX_C3_WATCHDOG=m
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m
-CONFIG_WDT_501_PCI=y
#
# USB-based Watchdog Cards
@@ -2315,6 +2745,8 @@ CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -2322,18 +2754,25 @@ CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
-# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CORE=m
CONFIG_MFD_SM501=m
-# CONFIG_HTC_PASIC3 is not set
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_HTC_PASIC3=m
+CONFIG_UCB1400_CORE=m
+CONFIG_TPS65010=m
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_WM8400=m
-CONFIG_MFD_WM8350=m
-CONFIG_MFD_WM8350_I2C=m
+CONFIG_MFD_WM8994=m
+CONFIG_MFD_PCF50633=m
+CONFIG_MFD_MC13783=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_EZX_PCAP=y
+CONFIG_AB4500_CORE=m
+CONFIG_MFD_TIMBERDALE=m
+CONFIG_LPC_SCH=m
# CONFIG_REGULATOR is not set
-
-#
-# Multimedia devices
-#
+CONFIG_MEDIA_SUPPORT=m
#
# Multimedia core support
@@ -2350,9 +2789,11 @@ CONFIG_VIDEO_MEDIA=m
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_IR_CORE=m
+CONFIG_VIDEO_IR=m
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
@@ -2369,15 +2810,15 @@ CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
@@ -2409,21 +2850,28 @@ CONFIG_VIDEO_WM8739=m
CONFIG_VIDEO_VP27SMPX=m
#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
# Video decoders
#
+CONFIG_VIDEO_ADV7180=m
CONFIG_VIDEO_BT819=m
CONFIG_VIDEO_BT856=m
CONFIG_VIDEO_BT866=m
CONFIG_VIDEO_KS0127=m
CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_TCM825X=m
CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA7111=m
-CONFIG_VIDEO_SAA7114=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA717X=m
CONFIG_VIDEO_SAA7191=m
+CONFIG_VIDEO_TVP514X=m
CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TVP7002=m
CONFIG_VIDEO_VPX3220=m
#
@@ -2443,6 +2891,8 @@ CONFIG_VIDEO_SAA7127=m
CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_THS7303=m
+CONFIG_VIDEO_ADV7343=m
#
# Video improvement chips
@@ -2452,7 +2902,6 @@ CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
CONFIG_VIDEO_W9966=m
@@ -2482,31 +2931,51 @@ CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_ALSA=m
CONFIG_VIDEO_CX88_BLACKBIRD=m
CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_MPEG=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_CX23885=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_IVTV=m
CONFIG_VIDEO_FB_IVTV=m
CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_SAA7164=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
@@ -2515,7 +2984,10 @@ CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
@@ -2525,9 +2997,14 @@ CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_USBVIDEO=m
CONFIG_USB_VICAM=m
@@ -2544,6 +3021,7 @@ CONFIG_USB_STV680=m
CONFIG_USB_ZC0301=m
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
@@ -2551,9 +3029,19 @@ CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
CONFIG_USB_DSBR=m
+CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
CONFIG_USB_MR800=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
CONFIG_DVB_CAPTURE_DRIVERS=y
#
@@ -2598,10 +3086,19 @@ CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_SIANO_SMS1XXX=m
-CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
+CONFIG_SMS_SIANO_MDTV=m
+
+#
+# Siano module components
+#
+CONFIG_SMS_USB_DRV=m
+CONFIG_SMS_SDIO_DRV=m
#
# Supported FlexCopII (B2C2) Adapters
@@ -2625,43 +3122,63 @@ CONFIG_DVB_PLUTO2=m
# Supported SDMC DM1105 Adapters
#
CONFIG_DVB_DM1105=m
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_FIREWIRE=y
+# CONFIG_DVB_FIREDTV_IEEE1394 is not set
+CONFIG_DVB_FIREDTV_INPUT=y
#
-# Supported DVB Frontends
+# Supported Earthsoft PT1 Adapters
#
+CONFIG_DVB_PT1=m
#
-# Customise DVB Frontends
+# Supported Mantis Adapters
#
-# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+
+#
+# Supported nGene Adapters
+#
+CONFIG_DVB_NGENE=m
#
-# DVB-S (satellite) frontends
+# Supported DVB Frontends
#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_SI21XX=m
-
-#
-# DVB-T (terrestrial) frontends
-#
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
-# CONFIG_DVB_DRX397XD is not set
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
@@ -2672,46 +3189,29 @@ CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
-
-#
-# DVB-C (cable) frontends
-#
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
+CONFIG_DVB_DIB8000=m
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
-
-#
-# SEC control devices for DVB-S
-#
CONFIG_DVB_LNBP21=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
-CONFIG_DVB_LGS8GL5=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-CONFIG_DVB_AF9013=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
CONFIG_DAB=y
CONFIG_USB_DABUSB=m
@@ -2723,13 +3223,20 @@ CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=m
CONFIG_AGP_SIS=m
CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
+CONFIG_DRM_RADEON_KMS=y
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
@@ -2749,11 +3256,12 @@ CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
-CONFIG_FB_SVGALIB=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
@@ -2782,9 +3290,6 @@ CONFIG_FB_RIVA_I2C=y
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_LE80578=m
CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_INTEL=m
-# CONFIG_FB_INTEL_DEBUG is not set
-CONFIG_FB_INTEL_I2C=y
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
@@ -2797,7 +3302,7 @@ CONFIG_FB_ATY_CT=y
CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
+# CONFIG_FB_S3 is not set
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
@@ -2809,27 +3314,32 @@ CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
CONFIG_FB_3DFX_ACCEL=y
+CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
+# CONFIG_FB_VT8623 is not set
CONFIG_FB_TRIDENT=m
-CONFIG_FB_TRIDENT_ACCEL=y
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_VIRTUAL is not set
+CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_L4F00242T03=m
+CONFIG_LCD_LMS283GF05=m
CONFIG_LCD_LTV350QV=m
CONFIG_LCD_ILI9320=m
CONFIG_LCD_TDO24M=m
CONFIG_LCD_VGG2432A4=m
CONFIG_LCD_PLATFORM=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_CORGI=m
+CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PROGEAR=m
CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_MBP_NVIDIA=m
@@ -2853,6 +3363,7 @@ CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FB_CON_DECOR=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
CONFIG_FONT_8x16=y
@@ -2864,36 +3375,43 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_LOGO is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DRIVERS=y
-CONFIG_SND_PCSP=m
+# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
@@ -2927,6 +3445,8 @@ CONFIG_SND_CS4281=m
CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_GINA20=m
CONFIG_SND_LAYLA20=m
@@ -2939,6 +3459,8 @@ CONFIG_SND_ECHO3G=m
CONFIG_SND_INDIGO=m
CONFIG_SND_INDIGOIO=m
CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_ENS1370=m
@@ -2950,14 +3472,22 @@ CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_FM801_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_NVHDMI=y
+CONFIG_SND_HDA_CODEC_INTELHDMI=y
+CONFIG_SND_HDA_ELD=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
@@ -2971,6 +3501,7 @@ CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
+CONFIG_SND_LX6464ES=m
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m
@@ -2989,6 +3520,7 @@ CONFIG_SND_YMFPCI=m
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
@@ -2997,12 +3529,12 @@ CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
# CONFIG_SND_SOC_ALL_CODECS is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
-# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y
#
@@ -3013,38 +3545,50 @@ CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-
-#
# Special HID drivers
#
-# CONFIG_HID_COMPAT is not set
+CONFIG_HID_3M_PCT=m
CONFIG_HID_A4TECH=m
CONFIG_HID_APPLE=m
CONFIG_HID_BELKIN=m
-CONFIG_HID_BRIGHT=m
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CYPRESS=m
-CONFIG_HID_DELL=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
CONFIG_HID_LOGITECH=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MOSART=m
CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=m
+CONFIG_HID_QUANTA=m
CONFIG_HID_SAMSUNG=m
CONFIG_HID_SONY=m
+CONFIG_HID_STANTUM=m
CONFIG_HID_SUNPLUS=m
-CONFIG_THRUSTMASTER_FF=m
-CONFIG_ZEROPLUS_FF=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
@@ -3057,11 +3601,11 @@ CONFIG_USB=m
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
-CONFIG_USB_MON=y
+CONFIG_USB_MON=m
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
@@ -3070,11 +3614,15 @@ CONFIG_USB_WUSB_CBAF=m
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_OXU210HP_HCD=m
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_SSB is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
@@ -3098,26 +3646,25 @@ CONFIG_USB_WDM=m
CONFIG_USB_TMC=m
#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
-# see USB_STORAGE Help for more information
+# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_DPCM=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
# CONFIG_USB_LIBUSUAL is not set
#
@@ -3139,7 +3686,7 @@ CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -3175,16 +3722,22 @@ CONFIG_USB_SERIAL_MOTOROLA=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
# CONFIG_USB_SERIAL_DEBUG is not set
#
@@ -3197,14 +3750,9 @@ CONFIG_USB_SEVSEG=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
-CONFIG_USB_BERRY_CHARGE=m
CONFIG_USB_LED=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
-CONFIG_USB_PHIDGET=m
-CONFIG_USB_PHIDGETKIT=m
-CONFIG_USB_PHIDGETMOTORCONTROL=m
-CONFIG_USB_PHIDGETSERVO=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_APPLEDISPLAY=m
@@ -3215,7 +3763,6 @@ CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_IOWARRIOR=m
CONFIG_USB_TEST=m
CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_VST=m
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
@@ -3233,26 +3780,43 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_AMD5536UDC is not set
# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=m
# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
CONFIG_USB_G_SERIAL=m
CONFIG_USB_MIDI_GADGET=m
CONFIG_USB_G_PRINTER=m
# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_NOP_USB_XCEIV=m
CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
@@ -3276,11 +3840,14 @@ CONFIG_SDIO_UART=m
#
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -3301,20 +3868,33 @@ CONFIG_LEDS_CLASS=m
#
# LED drivers
#
+# CONFIG_LEDS_ALIX2 is not set
CONFIG_LEDS_PCA9532=m
-CONFIG_LEDS_HP_DISK=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_PLATFORM=y
+CONFIG_LEDS_LP3944=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_DAC124S085=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
-CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_IDE_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
# CONFIG_INFINIBAND is not set
@@ -3324,11 +3904,16 @@ CONFIG_EDAC=y
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
CONFIG_RTC_LIB=m
@@ -3357,9 +3942,11 @@ CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_S35390A=m
CONFIG_RTC_DRV_FM3130=m
CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
#
# SPI RTC drivers
@@ -3371,6 +3958,7 @@ CONFIG_RTC_DRV_MAX6902=m
CONFIG_RTC_DRV_R9701=m
CONFIG_RTC_DRV_RS5C348=m
CONFIG_RTC_DRV_DS3234=m
+CONFIG_RTC_DRV_PCF2123=m
#
# Platform RTC drivers
@@ -3384,18 +3972,24 @@ CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_WM8350=m
+CONFIG_RTC_DRV_PCF50633=m
#
# on-CPU RTC drivers
#
+# CONFIG_RTC_DRV_PCAP is not set
+CONFIG_RTC_DRV_MC13783=m
CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
+CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
CONFIG_INTEL_IOATDMA=m
CONFIG_DMA_ENGINE=y
@@ -3403,6 +3997,7 @@ CONFIG_DMA_ENGINE=y
# DMA Clients
#
CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
@@ -3415,25 +4010,144 @@ CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV=m
CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_SMX=m
+CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+
+#
+# TI VLYNQ
+#
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_STAGING=y
# CONFIG_STAGING_EXCLUDE_BUILD is not set
CONFIG_ET131X=m
# CONFIG_ET131X_DEBUG is not set
CONFIG_SLICOSS=m
-CONFIG_SXG=m
-CONFIG_ME4000=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_VIDEO_GO7007_OV7640=m
+CONFIG_VIDEO_GO7007_SAA7113=m
+CONFIG_VIDEO_GO7007_SAA7115=m
+CONFIG_VIDEO_GO7007_TW9903=m
+CONFIG_VIDEO_GO7007_UDA1342=m
+CONFIG_VIDEO_GO7007_SONY_TUNER=m
+CONFIG_VIDEO_GO7007_TW2804=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
CONFIG_USB_IP_COMMON=m
CONFIG_USB_IP_VHCI_HCD=m
CONFIG_USB_IP_HOST=m
+# CONFIG_USB_IP_DEBUG_ENABLE is not set
CONFIG_W35UND=m
CONFIG_PRISM2_USB=m
CONFIG_ECHO=m
-CONFIG_USB_ATMEL=m
CONFIG_POCH=m
+CONFIG_OTUS=m
+CONFIG_RT2860=m
+CONFIG_RT2870=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192SU=m
+CONFIG_RTL8192U=m
+CONFIG_RTL8192E=m
+# CONFIG_TRANZPORT is not set
+
+#
+# Qualcomm MSM Camera And Video
+#
+
+#
+# Camera Sensor Selection
+#
+CONFIG_INPUT_GPIO=m
+CONFIG_POHMELFS=m
+# CONFIG_POHMELFS_DEBUG is not set
+CONFIG_POHMELFS_CRYPTO=y
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_NOUVEAU=m
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_NOUVEAU_DEBUG=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_USB_SERIAL_QUATECH_USB2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_FB_UDL=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_HYPERV_BLOCK=m
+CONFIG_HYPERV_NET=m
+# CONFIG_VME_BUS is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_RAR_REGISTER is not set
+# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=m
+CONFIG_RAMZSWAP_STATS=y
+# CONFIG_BATMAN_ADV is not set
+CONFIG_SAMSUNG_LAPTOP=m
+# CONFIG_STRIP is not set
+CONFIG_PCMCIA_WAVELAN=m
+CONFIG_PCMCIA_NETWAVE=m
+CONFIG_FB_SM7XX=m
+CONFIG_DT3155=m
+CONFIG_CRYSTALHD=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_ACPI_ASUS=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
#
# Firmware Drivers
@@ -3456,14 +4170,15 @@ CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
-CONFIG_EXT4DEV_COMPAT=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
@@ -3471,7 +4186,7 @@ CONFIG_JBD2=m
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
@@ -3479,38 +4194,57 @@ CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
+CONFIG_JFS_STATISTICS=y
CONFIG_FS_POSIX_ACL=y
-CONFIG_FILE_LOCKING=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
# CONFIG_OCFS2_DEBUG_FS is not set
-# CONFIG_OCFS2_COMPAT_JBD is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_NILFS2_FS=m
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
@@ -3544,20 +4278,10 @@ CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
-
-#
-# Layered filesystems
-#
-CONFIG_ECRYPT_FS=m
-CONFIG_UNION_FS=m
-CONFIG_UNION_FS_XATTR=y
-# CONFIG_UNION_FS_DEBUG is not set
-
-#
-# Miscellaneous filesystems
-#
+CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
@@ -3575,6 +4299,7 @@ CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
+CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_EMBEDDED is not set
@@ -3589,11 +4314,15 @@ CONFIG_OMFS_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_NFS_FSCACHE=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
@@ -3606,11 +4335,12 @@ CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
-# CONFIG_SUNRPC_REGISTER_V4 is not set
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CEPH_FS=m
+# CONFIG_CEPH_FS_PRETTYDEBUG is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
@@ -3619,6 +4349,7 @@ CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DFS_UPCALL is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
CONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
@@ -3632,7 +4363,9 @@ CONFIG_NCPFS_NLS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
#
# Partition Types
@@ -3648,7 +4381,8 @@ CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
@@ -3694,7 +4428,7 @@ CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
+CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
@@ -3707,6 +4441,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
@@ -3715,7 +4450,10 @@ CONFIG_DEBUG_KERNEL=y
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-# CONFIG_SCHED_DEBUG is not set
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
@@ -3731,6 +4469,7 @@ CONFIG_DEBUG_MUTEXES=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
@@ -3740,49 +4479,79 @@ CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
-# CONFIG_FRAME_POINTER is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_LKDTM=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-
-#
-# Tracers
-#
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SYSPROF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
-# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_KSYM_TRACER is not set
# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
-# CONFIG_STRICT_DEVMEM is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_KMEMCHECK is not set
+CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
-# CONFIG_DIRECT_GBPAGES is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_IOMMU_DEBUG is not set
-# CONFIG_MMIOTRACE is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
@@ -3795,6 +4564,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
#
# Security options
@@ -3805,13 +4575,25 @@ CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
-CONFIG_SECURITY_FILE_CAPABILITIES=y
-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y
#
@@ -3828,10 +4610,13 @@ CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
@@ -3853,18 +4638,21 @@ CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_FPU=m
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MICHAEL_MIC=m
@@ -3877,12 +4665,14 @@ CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
#
# Ciphers
#
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=m
@@ -3905,6 +4695,7 @@ CONFIG_CRYPTO_TWOFISH_X86_64=m
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
#
@@ -3912,15 +4703,26 @@ CONFIG_CRYPTO_LZO=m
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
+CONFIG_VHOST_NET=m
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_RING=m
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_BINARY_PRINTF=y
#
# Library routines
@@ -3928,6 +4730,7 @@ CONFIG_KVM_AMD=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
@@ -3935,16 +4738,22 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
-CONFIG_LZO_DECOMPRESS=m
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
-CONFIG_PLIST=y
+CONFIG_BTREE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
diff --git a/abs/core-testing/kernel26/fbcondecor-2.6.34-fix.patch b/abs/core-testing/kernel26/fbcondecor-2.6.34-fix.patch
new file mode 100644
index 0000000..16e54f9
--- /dev/null
+++ b/abs/core-testing/kernel26/fbcondecor-2.6.34-fix.patch
@@ -0,0 +1,19 @@
+--- fbcondecor-0.9.6-2.6.33-rc7.patch 2010-07-05 19:01:13.000000000 +0200
++++ fbcondecor-0.9.6-2.6.33-rc7.patch 2010-07-05 19:06:43.000000000 +0200
+@@ -348,7 +348,7 @@
+ index 0000000..7654ec6
+ --- /dev/null
+ +++ b/drivers/video/console/cfbcondecor.c
+-@@ -0,0 +1,471 @@
++@@ -0,0 +1,472 @@
+ +/*
+ + * linux/drivers/video/cfbcon_decor.c -- Framebuffer decor render functions
+ + *
+@@ -369,6 +369,7 @@
+ +#include <linux/types.h>
+ +#include <linux/fb.h>
+ +#include <linux/selection.h>
+++#include <linux/slab.h>
+ +#include <linux/vt_kern.h>
+ +#include <asm/irq.h>
+ +#include <asm/system.h>
diff --git a/abs/core-testing/kernel26/kernel26.install b/abs/core-testing/kernel26/kernel26.install
index f0bd904..2055db9 100644
--- a/abs/core-testing/kernel26/kernel26.install
+++ b/abs/core-testing/kernel26/kernel26.install
@@ -1,7 +1,8 @@
# arg 1: the new package version
# arg 2: the old package version
-KERNEL_VERSION=2.6.28-LinHES
+KERNEL_NAME=
+KERNEL_VERSION=2.6.34-LinHES
post_install () {
# updating module dependencies
@@ -16,18 +17,20 @@ post_install () {
echo ">>> http://wiki.archlinux.org/index.php/Mkinitcpio"
echo ""
echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
- /sbin/mkinitcpio -p kernel26
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
}
post_upgrade() {
pacman -Q grub &>/dev/null
hasgrub=$?
+ pacman -Q grub2 &>/dev/null
+ hasgrub2=$?
pacman -Q lilo &>/dev/null
haslilo=$?
# reminder notices
if [ $haslilo -eq 0 ]; then
echo ">>>"
- if [ $hasgrub -eq 0 ]; then
+ if [ $hasgrub -eq 0 -o $hasgrub2 -eq 0 ]; then
echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting."
else
echo ">>> You appear to be using the LILO bootloader. You should run"
@@ -36,7 +39,7 @@ post_upgrade() {
echo ">>>"
fi
- if grep "/boot" /etc/fstab 2>&1 >/dev/null; then
+ if grep "^[^#]*/boot" /etc/fstab 2>&1 >/dev/null; then
if ! grep "/boot" /etc/mtab 2>&1 >/dev/null; then
echo "WARNING: /boot appears to be a seperate partition but is not mounted"
echo " This is most likely not what you want. Please mount your /boot"
@@ -88,8 +91,8 @@ post_upgrade() {
echo ">>> Please change your bootloader config files:"
echo ">>> Grub: /boot/grub/menu.lst | Lilo: /etc/lilo.conf"
echo "------------------------------------------------"
- echo "| - initrd26.img to kernel26.img |"
- echo "| - initrd26-full.img to kernel26-fallback.img |"
+ echo "| - initrd26.img to kernel26${KERNEL_NAME}.img |"
+ echo "| - initrd26-full.img to kernel26${KERNEL_NAME}-fallback.img |"
echo "------------------------------------------------"
fi
if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
@@ -121,11 +124,11 @@ post_upgrade() {
echo ""
echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
if [ "`vercmp $2 2.6.19`" -lt 0 ]; then
- /sbin/mkinitcpio -p kernel26 -m "ATTENTION:\nIf you get a kernel panic below
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME} -m "ATTENTION:\nIf you get a kernel panic below
and are using an Intel chipset, append 'earlymodules=piix' to the
kernel commandline"
else
- /sbin/mkinitcpio -p kernel26
+ /sbin/mkinitcpio -p kernel26${KERNEL_NAME}
fi
if [ "`vercmp $2 2.6.21`" -lt 0 ]; then
echo ""
@@ -138,7 +141,7 @@ if [ "`vercmp $2 2.6.21`" -lt 0 ]; then
fi
}
-op=$1
-shift
-
-$op $*
+post_remove() {
+ rm -f /boot/kernel26${KERNEL_NAME}.img
+ rm -f /boot/kernel26${KERNEL_NAME}-fallback.img
+} \ No newline at end of file
diff --git a/abs/core-testing/kernel26/kernel26.preset b/abs/core-testing/kernel26/kernel26.preset
index 269b23a..742a442 100644
--- a/abs/core-testing/kernel26/kernel26.preset
+++ b/abs/core-testing/kernel26/kernel26.preset
@@ -14,4 +14,4 @@ default_image="/boot/kernel26.img"
#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/kernel26-fallback.img"
-fallback_options="-S autodetect"
+fallback_options="-S autodetect" \ No newline at end of file
diff --git a/abs/core-testing/klibc-extras/PKGBUILD b/abs/core-testing/klibc-extras/PKGBUILD
deleted file mode 100644
index 286616c..0000000
--- a/abs/core-testing/klibc-extras/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: PKGBUILD 23611 2009-01-11 14:09:50Z thomas $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-
-pkgname=klibc-extras
-pkgver=2.5
-pkgrel=30
-pkgdesc="Extra apps for klibc early-userspace"
-arch=(i686 x86_64)
-url="http://projects.archlinux.org/?p=klibc-extras.git"
-license=('GPL')
-groups=('base')
-depends=('klibc' $(basename /lib/klibc-*.so .so))
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('edd16b1a558164db0107c7319a21f0d4')
-
-build()
-{
- cd $startdir/src/${pkgname}-${pkgver}
-
- make || return 1
- make DESTDIR=$startdir/pkg install || return 1
- rm -f ${pkgdir}/usr/lib/klibc/bin/mknod
-}
diff --git a/abs/core-testing/klibc-kbd/PKGBUILD b/abs/core-testing/klibc-kbd/PKGBUILD
deleted file mode 100644
index 9b232ce..0000000
--- a/abs/core-testing/klibc-kbd/PKGBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# $Id: PKGBUILD 23614 2009-01-11 14:10:20Z thomas $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-
-pkgname=klibc-kbd
-pkgver=1.15.20080312
-pkgrel=30
-pkgdesc="Keytable files and keyboard utilities"
-arch=('i686' 'x86_64')
-url="ftp://ftp.altlinux.org/pub/people/legion/kbd/"
-license=('GPL')
-groups=('base')
-depends=('klibc' $(basename /lib/klibc-*.so .so) 'kbd')
-source=(ftp://ftp.archlinux.org/other/kbd/kbd-$pkgver.tar.gz
- #ftp://ftp.altlinux.org/pub/people/legion/kbd/kbd-${pkgver}.tar.gz
- no-isatty.patch
- no-exit.patch
- no-fflush.patch
- keymap_install
- keymap_hook)
-md5sums=('709b087bb9d6c073bade70eda2da7770'
- '53e9612ac5fc1b23601f793410742ed3'
- '8c1bec330e8c98355502ac861561667d'
- '8310d1a6cc72b5827898d0e9e29824ab'
- '735d7268f567deee4db3bed951a8303a'
- '85457e44dfd7046224e87f0add8da4b2')
-
-build() {
- cd ${startdir}/src
- #cd ${startdir}/src/kbd-${pkgver}
- patch -Np1 -i no-isatty.patch || return 1
- patch -Np1 -i no-exit.patch || return 1
- patch -Np1 -i no-fflush.patch || return 1
-
- aclocal
- autoconf
- automake --add-missing
- ./configure --datadir=/share/kbd --enable-klibc
-
- cd src/
- make kbd_mode loadkeys setfont || return 1
-
- install -D loadkeys ${startdir}/pkg/lib/initcpio/kbd/loadkeys
- install -D kbd_mode ${startdir}/pkg/lib/initcpio/kbd/kbd_mode
- install -D setfont ${startdir}/pkg/lib/initcpio/kbd/setfont
- # install hook
- install -Dm644 ${startdir}/src/keymap_hook ${startdir}/pkg/lib/initcpio/hooks/keymap
- install -Dm644 ${startdir}/src/keymap_install ${startdir}/pkg/lib/initcpio/install/keymap
-}
diff --git a/abs/core-testing/klibc-kbd/keymap_hook b/abs/core-testing/klibc-kbd/keymap_hook
deleted file mode 100644
index 913b247..0000000
--- a/abs/core-testing/klibc-kbd/keymap_hook
+++ /dev/null
@@ -1,27 +0,0 @@
-# vim: set ft=sh:
-run_hook ()
-{
- msg -n ":: Loading keymap..."
- . /keymap
- if [ "${UTF8}" = "yes" ]; then
- /bin/kbd_mode -u
- printf "\033%%G" >> /dev/console
- [ -n "${KEYMAP}" ] && /bin/loadkeys -q -u ${KEYMAP}
- else
- /bin/kbd_mode -a
- printf "\033%%@" >> /dev/console
- [ -n "${KEYMAP}" ] && /bin/loadkeys -q ${KEYMAP}
- fi
- if [ -n "${CONSOLEFONT}" ]; then
- if [ "${UTF8}" = "yes" ]; then
- CONSOLEMAP=""
- fi
- if [ -n "${CONSOLEMAP}" ]; then
- /bin/setfont -m ${CONSOLEMAP} ${CONSOLEFONT} -C /dev/console
- else
- /bin/setfont ${CONSOLEFONT} -C /dev/console
- fi
- printf "\033(K" >> /dev/console
- fi
- msg "done."
-}
diff --git a/abs/core-testing/klibc-kbd/keymap_install b/abs/core-testing/klibc-kbd/keymap_install
deleted file mode 100644
index e61577e..0000000
--- a/abs/core-testing/klibc-kbd/keymap_install
+++ /dev/null
@@ -1,76 +0,0 @@
-# vim: set ft=sh:
-
-# this is needed because kbd utilities compiled with klibc cannot use gunzip
-add_ucfile ()
-{
- temp=$(mktemp ${TMPDIR}/kbd.XXXX)
- dest=$(echo "${1}" | sed 's|/usr||' | sed 's|.gz||')
- name=$(echo "${1}" | sed 's|.*/||')
-
- if [ $(echo "${1}" | grep '.gz$') ]; then
- gunzip -c ${1} > ${temp}
- add_file ${temp} ${dest}
- else
- add_file ${1} ${dest}
- fi
-}
-
-add_includes()
-{
- for i in $(zgrep -e '^include ".*"' ${1} | cut -d '"' -f 2); do
- for j in $(find /usr/share/kbd/keymaps -name "${i}" -o -name "${i}.*"); do
- add_ucfile ${j}
- add_includes ${j}
- done
- done
-}
-
-install ()
-{
- MODULES=""
- BINARIES=""
- FILES=""
- SCRIPT="keymap"
- KEYMAP_FILE="$(mktemp ${TMPDIR}/keymap.XXXXXX)"
- add_file /lib/initcpio/kbd/loadkeys /bin/loadkeys
- add_file /lib/initcpio/kbd/kbd_mode /bin/kbd_mode
- add_file /lib/initcpio/kbd/setfont /bin/setfont
- eval "$(grep -e "^LOCALE=" -e "^KEYMAP=" -e "^CONSOLEFONT=" -e "^CONSOLEMAP=" /etc/rc.conf)"
- echo "KEYMAP='${KEYMAP}'" >> ${KEYMAP_FILE}
- echo "CONSOLEFONT='${CONSOLEFONT}'" >> ${KEYMAP_FILE}
- echo "CONSOLEMAP='${CONSOLEMAP}'" >> ${KEYMAP_FILE}
- if [ -n "$(echo ${LOCALE} | grep -i utf)" ]; then
- echo "UTF8='yes'" >> ${KEYMAP_FILE}
- fi
- . ${KEYMAP_FILE}
- add_file ${KEYMAP_FILE} /keymap
- if [ -n "${KEYMAP}" ]; then
- for i in $(echo ${KEYMAP}); do
- for j in $(find /usr/share/kbd/keymaps -name "${i}.map.gz"); do
- add_ucfile ${j}
- add_includes ${j}
- done
- done
- fi
- if [ -n "${CONSOLEFONT}" ]; then
- for i in $(find /usr/share/kbd/consolefonts -name "${CONSOLEFONT}.*gz"); do
- add_ucfile ${i}
- done
- fi
- if [ -n "${CONSOLEMAP}" ]; then
- for i in $(find /usr/share/kbd/unimaps -name "${CONSOLEMAP}.uni"); do
- add_ucfile ${i}
- done
- for i in $(find /usr/share/kbd/consoletrans -name "${CONSOLEMAP}.trans" -o -name "${CONSOLEMAP}"); do
- add_ucfile ${i}
- done
- fi
-}
-
-help ()
-{
-cat<<HELPEOF
- This hook loads keymap(s) and consolefont specified in rc.conf
- during early userspace.
-HELPEOF
-}
diff --git a/abs/core-testing/klibc-kbd/no-exit.patch b/abs/core-testing/klibc-kbd/no-exit.patch
deleted file mode 100644
index 2f207dc..0000000
--- a/abs/core-testing/klibc-kbd/no-exit.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 96dc0b9e56da64d2c063d1e74c81034b6b404bc2 Mon Sep 17 00:00:00 2001
-From: Roman Kyrylych <roman@archlinux.org>
-Date: Sat, 15 Mar 2008 21:46:35 +0200
-Subject: [PATCH] Do not exit on ferror during psf font loading when built with klibc
-
-Signed-off-by: Roman Kyrylych <roman@archlinux.org>
----
- src/psffontop.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/src/psffontop.c b/src/psffontop.c
-index 1b99e9b..75a6048 100644
---- a/src/psffontop.c
-+++ b/src/psffontop.c
-@@ -203,9 +203,13 @@ readpsffont(FILE *fontf, char **allbufp, int *allszp,
- }
- n += fread(inputbuf+n, 1, inputbuflth-n, fontf);
- if (ferror(fontf)) {
-+ #ifndef __klibc__
- char *u = _("%s: Error reading input font");
- fprintf(stderr, u, progname);
- exit(EX_DATAERR);
-+ #else
-+ break;
-+ #endif
- }
- if (feof(fontf))
- break;
---
-1.5.3.7
-
diff --git a/abs/core-testing/klibc-kbd/no-fflush.patch b/abs/core-testing/klibc-kbd/no-fflush.patch
deleted file mode 100644
index 1a2bd78..0000000
--- a/abs/core-testing/klibc-kbd/no-fflush.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Nur src.orig/src/klibc_compat.c src/src/klibc_compat.c
---- src.orig/src/klibc_compat.c 2008-03-12 01:56:14.000000000 +0100
-+++ src/src/klibc_compat.c 2008-09-15 18:59:31.000000000 +0200
-@@ -18,10 +18,6 @@
- return (errno != 0 && errno != EOF);
- }
-
--int fflush(FILE *stream) {
-- return 0;
--}
--
- int ungetc(int c, FILE *stream) {
- if (fseek(stream, -1, SEEK_CUR) < 0)
- return EOF;
diff --git a/abs/core-testing/klibc-kbd/no-isatty.patch b/abs/core-testing/klibc-kbd/no-isatty.patch
deleted file mode 100644
index ce02a7a..0000000
--- a/abs/core-testing/klibc-kbd/no-isatty.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 92dc27dd57c83e9e2c798bda41ec111d26e1e3e2 Mon Sep 17 00:00:00 2001
-From: Roman Kyrylych <roman@archlinux.org>
-Date: Sat, 15 Mar 2008 18:57:04 +0200
-Subject: [PATCH] Do not use isatty() when built with klibc
-
-Signed-off-by: Roman Kyrylych <roman@archlinux.org>
----
- src/getfd.c | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/src/getfd.c b/src/getfd.c
-index 7f6d70e..3cef522 100644
---- a/src/getfd.c
-+++ b/src/getfd.c
-@@ -16,6 +16,7 @@
- * if someone else used X (which does a chown on /dev/console).
- */
-
-+#ifndef __klibc__
- static int
- is_a_console(int fd) {
- char arg;
-@@ -25,6 +26,7 @@ is_a_console(int fd) {
- && ioctl(fd, KDGKBTYPE, &arg) == 0
- && ((arg == KB_101) || (arg == KB_84)));
- }
-+#endif
-
- static int
- open_a_console(const char *fnam) {
-@@ -41,10 +43,12 @@ open_a_console(const char *fnam) {
- fd = open(fnam, O_RDONLY);
- if (fd < 0)
- return -1;
-+ #ifndef __klibc__
- if (!is_a_console(fd)) {
- close(fd);
- return -1;
- }
-+ #endif
- return fd;
- }
-
-@@ -80,9 +84,11 @@ int getfd(const char *fnam) {
- if (fd >= 0)
- return fd;
-
-+ #ifndef __klibc__
- for (fd = 0; fd < 3; fd++)
- if (is_a_console(fd))
- return fd;
-+ #endif
-
- fprintf(stderr,
- _("Couldnt get a file descriptor referring to the console\n"));
---
-1.5.3.7
-
diff --git a/abs/core-testing/klibc-module-init-tools/PKGBUILD b/abs/core-testing/klibc-module-init-tools/PKGBUILD
deleted file mode 100644
index a7d6884..0000000
--- a/abs/core-testing/klibc-module-init-tools/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id: PKGBUILD 23617 2009-01-11 14:11:13Z thomas $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-pkgname=klibc-module-init-tools
-pkgver=3.5
-pkgrel=30
-pkgdesc="Utilities for inserting and removing modules from the Linux kernel"
-arch=(i686 x86_64)
-url="http://www.kernel.org"
-license=('GPL')
-groups=('base')
-depends=('klibc' $(basename /lib/klibc-*.so .so))
-source=(http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-$pkgver.tar.bz2)
-md5sums=('2b47686247fc9a99bfdb9dd1d1d80e6f')
-
-build() {
- cd $startdir/src/module-init-tools-$pkgver
- CFLAGS="${CFLAGS} -DCONFIG_NO_BACKWARDS_COMPAT" CC=klcc LD=klcc ./configure --prefix=/usr/lib/klibc
- # klibc lacks getc_unlocked, so use getc instead
- sed 's|getc_unlocked|getc|g' -i *.c
- make || return 1
- INSTALL=/bin/install make DESTDIR=$startdir/pkg install || return 1
- rm -f $startdir/pkg/usr/lib/klibc/sbin/{generate-modprobe.conf,insmod.static}
- rm -rf $startdir/pkg/usr/lib/klibc/{share,man}
-}
diff --git a/abs/core-testing/klibc-module-init-tools/fix-modprobe-ignore-path.patch b/abs/core-testing/klibc-module-init-tools/fix-modprobe-ignore-path.patch
deleted file mode 100644
index c562b3f..0000000
--- a/abs/core-testing/klibc-module-init-tools/fix-modprobe-ignore-path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- modprobe.c~ 2005-12-02 00:42:09.000000000 +0100
-+++ modprobe.c 2008-03-12 09:39:14.000000000 +0100
-@@ -1236,9 +1236,8 @@
-
- /* Try defaults. */
- for (i = 0; i < ARRAY_SIZE(default_configs); i++) {
-- if (read_config(default_configs[i], name, dump_only, removing,
-- options, commands, aliases, blacklist))
-- return;
-+ read_config(default_configs[i], name, dump_only, removing,
-+ options, commands, aliases, blacklist);
- }
- }
-
diff --git a/abs/core-testing/klibc-module-init-tools/makefile.patch b/abs/core-testing/klibc-module-init-tools/makefile.patch
deleted file mode 100644
index df0836f..0000000
--- a/abs/core-testing/klibc-module-init-tools/makefile.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -Nur module-init-tools-3.4.orig/Makefile.am module-init-tools-3.4/Makefile.am
---- module-init-tools-3.4.orig/Makefile.am 2007-10-07 23:51:46.000000000 +0200
-+++ module-init-tools-3.4/Makefile.am 2008-07-22 14:49:09.000000000 +0200
-@@ -18,16 +18,9 @@
- EXTRA_depmod_SOURCES = moduleops_core.c
- EXTRA_modinfo_SOURCES = backwards_compat.c
-
--MAN5 = modprobe.conf.5 modules.dep.5 depmod.conf.5
--MAN8 = depmod.8 insmod.8 lsmod.8 rmmod.8 modprobe.8 modinfo.8
--SGML = $(addprefix doc/, $(MAN5:%.5=%.sgml) $(MAN8:%.8=%.sgml))
--man_MANS = $(MAN5) $(MAN8)
--# If they haven't overridden mandir, fix it (never /man!)
--mandir =$(shell if [ @mandir@ = $(prefix)/man ]; then if [ $(prefix) = / ]; then echo /usr/share/man; else echo $(prefix)/share/man; fi; else echo @mandir@; fi)
--
- TESTSUITE := $(shell find tests -type f ! -name '*~') tests/vg-suppressions
-
--EXTRA_DIST = generate-modprobe.conf modprobe.devfs FAQ CODING stress_modules.sh install-with-care $(SGML) $(man_MANS) $(TESTSUITE)
-+EXTRA_DIST = generate-modprobe.conf modprobe.devfs FAQ CODING stress_modules.sh install-with-care $(TESTSUITE)
-
- sbin_PROGRAMS = insmod modprobe rmmod depmod modinfo insmod.static
- bin_PROGRAMS = lsmod
-@@ -38,32 +31,6 @@
-
- DIST_DIR := /home/rusty/devel/kernel/www/modules/
-
--MAINTAINERCLEANFILES := $(man_MANS)
--
--# According to Warren Togami, RH has docbook2man in the docbook-utils rpm.
--DOCBOOKTOMAN := $(shell if command -v docbook-to-man >/dev/null 2>&1; then echo docbook-to-man; else echo docbook2man; fi)
--
--# docbook2man writes file itself, doesn't do stdout.
--%.8: doc/%.sgml
-- if [ "$(DOCBOOKTOMAN)" = "docbook2man" ]; then \
-- $(DOCBOOKTOMAN) $< > /dev/null 2>&1; \
-- else \
-- $(DOCBOOKTOMAN) $< 2>&1 > $@ | sed 's/^[^:]*://'; \
-- fi
--
--%.5: doc/%.sgml
-- if [ "$(DOCBOOKTOMAN)" = "docbook2man" ]; then \
-- $(DOCBOOKTOMAN) $< > /dev/null 2>&1; \
-- else \
-- $(DOCBOOKTOMAN) $< 2>&1 > $@ | sed 's/^[^:]*://'; \
-- fi
--
--# docbook2man creates extra crap files which need cleaning.
--distclean: killbuildmanpages
--
--killbuildmanpages:
-- rm -f doc/*.tmp manpage.refs manpage.links
--
- tarball: $(DIST_DIR)/module-init-tools-$(VERSION).tar.gz
-
- $(DIST_DIR)/module-init-tools-$(VERSION).tar.gz: dist
diff --git a/abs/core-testing/klibc-udev/50-udev-default.rules b/abs/core-testing/klibc-udev/50-udev-default.rules
deleted file mode 100644
index 8593c7b..0000000
--- a/abs/core-testing/klibc-udev/50-udev-default.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-# firmware class requests
-SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
-
-# do not delete static device nodes
-ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", OPTIONS+="ignore_remove"
diff --git a/abs/core-testing/klibc-udev/60-persistent-storage.rules b/abs/core-testing/klibc-udev/60-persistent-storage.rules
deleted file mode 100644
index d32a143..0000000
--- a/abs/core-testing/klibc-udev/60-persistent-storage.rules
+++ /dev/null
@@ -1,47 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# persistent storage links: /dev/disk/{by-id,by-uuid,by-label,by-path}
-# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-
-# forward scsi device event to corresponding block device
-ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
-
-ACTION!="add|change", GOTO="persistent_storage_end"
-SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
-# skip rules for inappropriate block devices
-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*|btibm*", GOTO="persistent_storage_end"
-
-# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end"
-
-# ignore partitions that span the entire disk
-TEST=="whole_disk", GOTO="persistent_storage_end"
-
-# /sys/class/block will export this
-ENV{DEVTYPE}!="?*", ATTR{range}=="?*", ENV{DEVTYPE}="disk"
-ENV{DEVTYPE}!="?*", ATTR{start}=="?*", ENV{DEVTYPE}="partition"
-
-# for partitions import parent information
-ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
-
-# by-path (parent device path)
-ENV{DEVTYPE}=="disk", IMPORT{program}="path_id %p"
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
-ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
-
-# skip unpartitioned removable media devices from drivers which do not send "change" events
-ENV{DEVTYPE}=="disk", KERNEL!="sd*|sr*", ATTR{removable}=="1", GOTO="persistent_storage_end"
-
-# probe filesystem metadata of optical drives which have a media inserted
-KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT}=="?*", IMPORT{program}="vol_id --export --skip-raid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
-
-# probe filesystem metadata of disks
-KERNEL!="sr*", IMPORT{program}="vol_id --export $tempnode"
-
-# by-label/by-uuid links (filesystem metadata)
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="persistent_storage_end"
diff --git a/abs/core-testing/klibc-udev/64-device-mapper.rules b/abs/core-testing/klibc-udev/64-device-mapper.rules
deleted file mode 100644
index 8154ef3..0000000
--- a/abs/core-testing/klibc-udev/64-device-mapper.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-KERNEL=="device-mapper", NAME="mapper/control"
-
diff --git a/abs/core-testing/klibc-udev/64-md-raid.rules b/abs/core-testing/klibc-udev/64-md-raid.rules
deleted file mode 100644
index e094ca7..0000000
--- a/abs/core-testing/klibc-udev/64-md-raid.rules
+++ /dev/null
@@ -1,18 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-SUBSYSTEM!="block", GOTO="md_end"
-ACTION!="add|change", GOTO="md_end"
-
-# import data from a raid member and activate it
-#ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
-# import data from a raid set
-KERNEL!="md*", GOTO="md_end"
-
-ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
-
-IMPORT{program}="vol_id --export $tempnode"
-OPTIONS+="link_priority=100"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="md_end"
diff --git a/abs/core-testing/klibc-udev/80-drivers.rules b/abs/core-testing/klibc-udev/80-drivers.rules
deleted file mode 100644
index 6f6fcc3..0000000
--- a/abs/core-testing/klibc-udev/80-drivers.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION!="add", GOTO="drivers_end"
-
-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-
-LABEL="drivers_end"
diff --git a/abs/core-testing/klibc-udev/PKGBUILD b/abs/core-testing/klibc-udev/PKGBUILD
deleted file mode 100644
index 0775b05..0000000
--- a/abs/core-testing/klibc-udev/PKGBUILD
+++ /dev/null
@@ -1,59 +0,0 @@
-# $Id: PKGBUILD 23620 2009-01-11 14:11:40Z thomas $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-
-pkgname=klibc-udev
-pkgver=135
-pkgrel=30
-pkgdesc="udev compiled for klibc"
-arch=(i686 x86_64)
-url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
-groups=('base')
-depends=('coreutils' 'klibc' $(basename /lib/klibc-*.so .so))
-license=('GPL')
-source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-$pkgver.tar.bz2
- udev-fix-klibc-build.patch
- disable-uid-gid-lookup.patch
- udev_hook
- udev_install
- 50-udev-default.rules
- 60-persistent-storage.rules
- 64-device-mapper.rules
- 64-md-raid.rules
- 80-drivers.rules
- load-modules.sh)
-md5sums=('661b9df34e1304dad10f595d95b472bb'
- 'c769a0440fc90ba0fee7a2ae2bf7d76f'
- '89acd170a2771f81ca9e4b7920820555'
- '042fd2ba6a0351bbae30da33ff492c03'
- 'a3d81917e2bbe66f6c24486a86d4dc9c'
- 'f9095dbad80fc93bcde60d7fe4572022'
- '6625a4000069b9d46ae0ff9d9c2cebb7'
- '258fea1c2b024f9755f905a21bd45a01'
- 'e20efd69738bbbba35c49e7b63ee0212'
- 'd42740d13b6bb5c5d90bfc2062019f58'
- '5dd248da5d5fa3adfbe87309807ab734')
-
-build() {
- cd ${srcdir}/udev-$pkgver
- patch -p1 -i ../udev-fix-klibc-build.patch || return 1
- # uid/gid lookup fails to build on klibc due to incomplete headers
- # we don't use this feature in klibc, simply omit it
- patch -p1 -i ../disable-uid-gid-lookup.patch || return 1
-
- CC=klcc LD=klcc ./configure --prefix=""
- make || return 1
-
- mkdir -p ${pkgdir}/lib/initcpio/udev
- install -m755 udev/udevd ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 udev/udevadm ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 extras/path_id/path_id ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 extras/volume_id/vol_id ${pkgdir}/lib/initcpio/udev/ || return 1
- install -m755 extras/firmware/firmware.sh ${pkgdir}/lib/initcpio/udev/ || return 1
- for rules in 50-udev-default.rules 60-persistent-storage.rules 64-device-mapper.rules 64-md-raid.rules 80-drivers.rules; do
- install -m644 ${srcdir}/${rules} ${pkgdir}/lib/initcpio/udev/ || return 1
- done
- install -m755 ${srcdir}/load-modules.sh ${pkgdir}/lib/initcpio/udev/ || return 1
-
- install -D -m644 ${srcdir}/udev_install ${pkgdir}/lib/initcpio/install/udev || return 1
- install -D -m644 ${srcdir}/udev_hook ${pkgdir}/lib/initcpio/hooks/udev || return 1
-}
diff --git a/abs/core-testing/klibc-udev/disable-uid-gid-lookup.patch b/abs/core-testing/klibc-udev/disable-uid-gid-lookup.patch
deleted file mode 100644
index 578c3ee..0000000
--- a/abs/core-testing/klibc-udev/disable-uid-gid-lookup.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -Nur udev-132.orig/udev/udev-util.c udev-132/udev/udev-util.c
---- udev-132.orig/udev/udev-util.c 2008-11-06 02:56:15.000000000 +0100
-+++ udev-132/udev/udev-util.c 2008-11-09 18:28:30.000000000 +0100
-@@ -126,6 +126,7 @@
-
- uid_t util_lookup_user(struct udev *udev, const char *user)
- {
-+ /*
- char *endptr;
- int buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
- char buf[buflen];
-@@ -147,11 +148,13 @@
- err(udev, "specified user '%s' unknown\n", user);
- else
- err(udev, "error resolving user '%s': %m\n", user);
-+ */
- return 0;
- }
-
- extern gid_t util_lookup_group(struct udev *udev, const char *group)
- {
-+ /*
- char *endptr;
- int buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
- char buf[buflen];
-@@ -173,6 +176,7 @@
- err(udev, "specified group '%s' unknown\n", group);
- else
- err(udev, "error resolving group '%s': %m\n", group);
-+ */
- return 0;
- }
-
diff --git a/abs/core-testing/klibc-udev/klibc-remove-revert.patch b/abs/core-testing/klibc-udev/klibc-remove-revert.patch
deleted file mode 100644
index 8d9484f..0000000
--- a/abs/core-testing/klibc-udev/klibc-remove-revert.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-### Archlinux revert
-### revert this patch, crazy udev devs
-From: Kay Sievers <kay.sievers@suse.de>
-Date: Fri, 4 Aug 2006 22:02:58 +0000 (+0200)
-Subject: libvolume_id: read ufs2 label
-X-Git-Tag: 097
-X-Git-Url: http://www.kernel.org/git/?p=linux/hotplug/udev.git;a=commitdiff;h=eb82b76dedc1482b6434c46fee84d3ef13cb9648
-
-libvolume_id: read ufs2 label
-
-Taken from the FreeBSD HAL repository.
----
-
---- a/Makefile
-+++ b/Makefile
-@@ -33,6 +33,9 @@ USE_GCOV = false
- # include Security-Enhanced Linux support
- USE_SELINUX = false
-
-+# comile with klibc instead of glibc
-+USE_KLIBC = false
-+
- # set this to create statically linked binaries
- USE_STATIC = false
-
-@@ -139,6 +142,12 @@ ifeq ($(strip $(USE_GCOV)),true)
- LDFLAGS += -fprofile-arcs
- endif
-
-+ifeq ($(strip $(USE_KLIBC)),true)
-+ KLCC = /usr/bin/$(CROSS_COMPILE)klcc
-+ CC = $(KLCC)
-+ LD = $(KLCC)
-+endif
-+
- ifeq ($(strip $(USE_SELINUX)),true)
- UDEV_OBJS += udev_selinux.o
- LIB_OBJS += -lselinux -lsepol
---- a/README
-+++ b/README
-@@ -69,6 +69,10 @@ Compile Options:
- USE_SELINUX
- If set to 'true', udev will be built with SELinux support
- enabled. This is disabled by default.
-+ USE_KLIBC
-+ If set to 'true', udev is built and linked against klibc.
-+ Default value is 'false'. KLCC specifies the klibc compiler
-+ wrapper, usually located at /usr/bin/klcc.
- EXTRAS
- list of helper programs in extras/ to build.
- make EXTRAS="extras/cdrom_id extras/scsi_id extras/volume_id"
---- a/extras/scsi_id/scsi_id.c
-+++ b/extras/scsi_id/scsi_id.c
-@@ -402,7 +402,8 @@ static int set_options(int argc, char **
- /*
- * optind is a global extern used by getopt. Since we can call
- * set_options twice (once for command line, and once for config
-- * file) we have to reset this back to 1.
-+ * file) we have to reset this back to 1. [Note glibc handles
-+ * setting this to 0, but klibc does not.]
- */
- optind = 1;
- while (1) {
---- a/test/simple-build-check.sh
-+++ b/test/simple-build-check.sh
-@@ -23,6 +23,14 @@ make clean EXTRAS="$EXTRAS" >/dev/null
- make all $MAKEOPTS USE_LOG=false EXTRAS="$EXTRAS" || exit
- echo -e "\n\n"
-
-+# klibc build
-+if [ -n "$KLCC" -a -e "$KLCC" ]; then
-+ echo KLCC: "$KLCC"
-+ make clean EXTRAS="$EXTRAS" >/dev/null
-+ make all -j4 $MAKEOPTS USE_KLIBC=true DEBUG=true EXTRAS="$EXTRAS" KLCC="$KLCC" || exit
-+ echo -e "\n\n"
-+fi
-+
- # install in temporary dir and show it
- TEMPDIR="`pwd`/.tmp"
- rm -rf $TEMPDIR
---- a/udev_libc_wrapper.c
-+++ b/udev_libc_wrapper.c
-@@ -30,7 +30,7 @@
-
- #include "udev.h"
-
--#ifndef __GLIBC__
-+#ifdef __KLIBC__
- #define __OWN_USERDB_PARSER__
- #endif
-
---- a/udev_libc_wrapper.h
-+++ b/udev_libc_wrapper.h
-@@ -105,7 +105,7 @@ static inline int inotify_add_watch(int
- }
- #else
- /* needed until /usr/include/sys/inotify.h is working */
--#ifndef __GLIBC__
-+#ifdef __KLIBC__
- #include <sys/inotify.h>
- #else
- static inline int inotify_init(void)
-@@ -117,7 +117,7 @@ static inline int inotify_add_watch(int
- {
- return syscall(__NR_inotify_add_watch, fd, name, mask);
- }
--#endif /* __GLIBC__ */
-+#endif /* __KLIBC__ */
- #endif /* __NR_inotify_init */
-
- #ifndef IN_CREATE
diff --git a/abs/core-testing/klibc-udev/load-modules.sh b/abs/core-testing/klibc-udev/load-modules.sh
deleted file mode 100755
index 3d52d6b..0000000
--- a/abs/core-testing/klibc-udev/load-modules.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#! /bin/sh
-# Implement blacklisting for udev-loaded modules
-# Includes module checking
-# - Aaron Griffin & Tobias Powalowski for Archlinux
-[ $# -ne 1 ] && exit 1
-
-MODPROBE="/sbin/modprobe"
-RESOLVEALIAS="/bin/resolve-modalias"
-USEBLACKLIST="--use-blacklist"
-REPLACE="/bin/replace"
-MODDEPS="/bin/moddeps"
-
-if [ -f /proc/cmdline ]; then
- for cmd in $(cat /proc/cmdline); do
- case $cmd in
- disablemodules=*) eval $cmd ;;
- load_modules=off) exit ;;
- esac
- done
- #parse cmdline entries of the form "disablemodules=x,y,z"
- if [ -n "${disablemodules}" ]; then
- BLACKLIST="$(${REPLACE} ${disablemodules} ',')"
- fi
-fi
-
-# sanitize the module names
-BLACKLIST="$(${REPLACE} "${BLACKLIST}" '-' '_')"
-
-if [ -n "${BLACKLIST}" ] ; then
- # Try to find all modules for the alias
- mods="$($RESOLVEALIAS /lib/modules/$(uname -r)/modules.alias $1)"
- # If no modules could be found, try if the alias name is a module name
- # In that case, omit the --use-blacklist parameter to imitate normal modprobe behaviour
- [ -z "${mods}" ] && $MODPROBE -qni $1 && mods="$1" && USEBLACKLIST=""
- [ -z "${mods}" ] && exit
- for mod in ${mods}; do
- deps="$(${MODDEPS} ${mod})"
- [ $? -ne 0 ] && continue
- # If the module or any of its dependencies is blacklisted, don't load it
- for dep in $deps; do
- for blackmod in ${BLACKLIST}; do
- [ "${blackmod}" = "${dep}" ] && continue 3
- done
- done
- $MODPROBE $USEBLACKLIST ${mod}
- done
-else
- $MODPROBE $1
-fi
-
-# vim: set et ts=4:
diff --git a/abs/core-testing/klibc-udev/post-107.patch b/abs/core-testing/klibc-udev/post-107.patch
deleted file mode 100644
index cb6e618..0000000
--- a/abs/core-testing/klibc-udev/post-107.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From: Matthias Schwarzott <zzam@gentoo.org>
-Date: Thu, 22 Mar 2007 20:05:56 +0000 (+0100)
-Subject: write_cd_rules: set default link type to "by-id" for usb and ieee1394 devices
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=491a6a71ff685373422621f4b67f550806072d17
-
-write_cd_rules: set default link type to "by-id" for usb and ieee1394 devices
----
-
-diff --git a/extras/rule_generator/write_cd_rules b/extras/rule_generator/write_cd_rules
-index 1dbe6b7..bd951c5 100644
---- a/extras/rule_generator/write_cd_rules
-+++ b/extras/rule_generator/write_cd_rules
-@@ -53,7 +53,15 @@ fi
- if [ "$1" ]; then
- METHOD="$1"
- else
-- METHOD='by-path'
-+ case "$ID_BUS" in
-+ usb|ieee1394)
-+ METHOD='by-id'
-+ ;;
-+
-+ *)
-+ METHOD='by-path'
-+ ;;
-+ esac
- fi
-
- case "$METHOD" in
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 23 Mar 2007 16:17:18 +0000 (+0100)
-Subject: udevinfo: relax check for the correct device if looked up by name
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=be8594ab14f15203fcea4b2aa0115171472f3e43
-
-udevinfo: relax check for the correct device if looked up by name
----
-
-diff --git a/udev_db.c b/udev_db.c
-index 00d68d6..7b8d02b 100644
---- a/udev_db.c
-+++ b/udev_db.c
-@@ -186,7 +186,7 @@ int udev_db_get_device(struct udevice *udev, const char *devpath)
- size_t cur;
- size_t count;
-
-- strlcpy(udev->dev->devpath, devpath, sizeof(udev->dev->devpath));
-+ sysfs_device_set_values(udev->dev, devpath, NULL, NULL);
- devpath_to_db_path(devpath, filename, sizeof(filename));
-
- if (lstat(filename, &stats) != 0) {
-diff --git a/udevinfo.c b/udevinfo.c
-index 3f25be0..4b4876c 100644
---- a/udevinfo.c
-+++ b/udevinfo.c
-@@ -173,13 +173,17 @@ static void export_db(void) {
- static int lookup_device_by_name(struct udevice *udev, const char *name)
- {
- LIST_HEAD(name_list);
-+ int count;
- struct name_entry *device;
- int rc = -1;
-
-- if (udev_db_get_devices_by_name(name, &name_list) <= 0)
-+ count = udev_db_get_devices_by_name(name, &name_list);
-+ if (count <= 0)
- goto out;
-
-- /* select the device that matches the dev_t of name */
-+ info("found %i devices for '%s'", count, name);
-+
-+ /* select the device that seems to match */
- list_for_each_entry(device, &name_list, node) {
- char filename[PATH_SIZE];
- struct stat statbuf;
-@@ -189,16 +193,18 @@ static int lookup_device_by_name(struct udevice *udev, const char *name)
- continue;
- info("found db entry '%s'", device->name);
-
-+ /* make sure, we don't get a link of a differnt device */
- strlcpy(filename, udev_root, sizeof(filename));
- strlcat(filename, "/", sizeof(filename));
- strlcat(filename, name, sizeof(filename));
- if (stat(filename, &statbuf) != 0)
- continue;
-- if (statbuf.st_rdev == udev->devt) {
-- info("found '%s', dev_t matches", udev->name);
-- rc = 0;
-- break;
-+ if (major(udev->devt) > 0 && udev->devt != statbuf.st_rdev) {
-+ info("skip '%s', dev_t doesn't match", udev->name);
-+ continue;
- }
-+ rc = 0;
-+ break;
- }
- out:
- name_list_cleanup(&name_list);
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 23 Mar 2007 16:18:03 +0000 (+0100)
-Subject: don't write to sysfs files during test run
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=d2c9a56e0e624ed448aed8ad18460deed63973e1
-
-don't write to sysfs files during test run
----
-
-diff --git a/udev_rules.c b/udev_rules.c
-index f8844a8..5078f2d 100644
---- a/udev_rules.c
-+++ b/udev_rules.c
-@@ -861,8 +861,9 @@ try_parent:
- info("writing '%s' to sysfs file '%s'", value, attr);
- f = fopen(attr, "w");
- if (f != NULL) {
-- if (fprintf(f, "%s", value) <= 0)
-- err("error writing ATTR{%s}: %s", attr, strerror(errno));
-+ if (!udev->test_run)
-+ if (fprintf(f, "%s", value) <= 0)
-+ err("error writing ATTR{%s}: %s", attr, strerror(errno));
- fclose(f);
- } else
- err("error opening ATTR{%s} for writing: %s", attr, strerror(errno));
-From: Pozsar Balazs <pozsy@uhulinux.hu>
-Date: Fri, 23 Mar 2007 16:21:46 +0000 (+0100)
-Subject: udevsettle: read udev not kernel seqnum first
-X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=4e2b290821d083361260f8cdbe7c54886463673e
-
-udevsettle: read udev not kernel seqnum first
----
-
-diff --git a/udevsettle.c b/udevsettle.c
-index 9e3e03b..f76ad71 100644
---- a/udevsettle.c
-+++ b/udevsettle.c
-@@ -110,9 +110,9 @@ int main(int argc, char *argv[], char *envp[])
- goto exit;
- }
-
-- /* read current kernel seqnum */
-- strlcpy(filename, sysfs_path, sizeof(filename));
-- strlcat(filename, "/kernel/uevent_seqnum", sizeof(filename));
-+ /* read current udev seqnum */
-+ strlcpy(filename, udev_root, sizeof(filename));
-+ strlcat(filename, "/" EVENT_SEQNUM, sizeof(filename));
- fd = open(filename, O_RDONLY);
- if (fd < 0)
- goto exit;
-@@ -121,12 +121,12 @@ int main(int argc, char *argv[], char *envp[])
- if (len <= 0)
- goto exit;
- seqnum[len] = '\0';
-- seq_kernel = strtoull(seqnum, NULL, 10);
-- info("kernel seqnum = %llu", seq_kernel);
-+ seq_udev = strtoull(seqnum, NULL, 10);
-+ info("udev seqnum = %llu", seq_udev);
-
-- /* read current udev seqnum */
-- strlcpy(filename, udev_root, sizeof(filename));
-- strlcat(filename, "/" EVENT_SEQNUM, sizeof(filename));
-+ /* read current kernel seqnum */
-+ strlcpy(filename, sysfs_path, sizeof(filename));
-+ strlcat(filename, "/kernel/uevent_seqnum", sizeof(filename));
- fd = open(filename, O_RDONLY);
- if (fd < 0)
- goto exit;
-@@ -135,8 +135,8 @@ int main(int argc, char *argv[], char *envp[])
- if (len <= 0)
- goto exit;
- seqnum[len] = '\0';
-- seq_udev = strtoull(seqnum, NULL, 10);
-- info("udev seqnum = %llu", seq_udev);
-+ seq_kernel = strtoull(seqnum, NULL, 10);
-+ info("kernel seqnum = %llu", seq_kernel);
-
- /* make sure all kernel events have arrived in the queue */
- if (seq_udev >= seq_kernel) {
-
diff --git a/abs/core-testing/klibc-udev/start_udev b/abs/core-testing/klibc-udev/start_udev
deleted file mode 100755
index 8503bb9..0000000
--- a/abs/core-testing/klibc-udev/start_udev
+++ /dev/null
@@ -1,115 +0,0 @@
-#! /bin/sh
-#
-# start_udev
-# script to initialize /dev by using udev.
-#
-# Modified for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# Inspired by:
-#
-# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
-#
-# Released under the GPL v2 only.
-#
-# This needs to be run at the earliest possible point in the boot
-# process.
-#
-# Based on the udev init.d script
-#
-# Thanks go out to the Gentoo developers for proving
-# that this is possible to do.
-#
-# Yes, it's very verbose, feel free to turn off all of the echo calls,
-# they were there to make me feel better that everything was working
-# properly during development...
-
-prog=udev
-sysfs_dir=/sys
-bin=/sbin/udev
-udevd=/sbin/udevd
-udev_root="/dev"
-
-trigger_device_events ()
-{
- /sbin/udevtrigger
-}
-
-wait_for_queue ()
-{
- # disabled because it hangs network boot
- #loop=20
- #while ! [ "$loop" -gt 0 -a -d /dev/.udev/queue ]; do
- # sleep 0.1;
- # loop=$(($loop - 1))
- #done
- /sbin/udevsettle
-}
-
-make_extra_nodes ()
-{
- # there are a few things that sysfs does not export for us.
- # these things go here (and remember to remove them in
- # remove_extra_nodes()
- #
- # Thanks to Gentoo for the initial list of these.
- ln -sf /proc/self/fd $udev_root/fd
- ln -sf /proc/self/fd/0 $udev_root/stdin
- ln -sf /proc/self/fd/1 $udev_root/stdout
- ln -sf /proc/self/fd/2 $udev_root/stderr
- ln -sf /proc/kcore $udev_root/core
-}
-
-udev_init ()
-{
-# don't use udev if sysfs is not mounted.
-if [ ! -d $sysfs_dir/block ]; then
- exit 1
-fi
-
-# Do not mount ramfs, we are already in ramfs
-#mount -t ramfs none $udev_root
-
-# propogate /udev from /sys
-#echo "Creating initial udev device nodes:"
-
-#echo "making extra nodes"
-make_extra_nodes
-
-# check if udevd is already running
-#echo "start udev daemon"
-/sbin/udevd --daemon
-
-case "$(uname -r)" in
- 2.6.[0-9]|2.6.[0-9][!0-9]*) ;;
- *) if [ -f "/sys/class/tty/console/uevent" ]; then
- #echo "Kernel >= 2.6.15 and supports uevents"
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- # catch events that are real fast
- mkdir -p /dev/.udev/queue
- else
- # for older kernels without uevents will be removed when udevstart dies in udev
- echo "Kernel does not support uevents, you need a kernel >= 2.6.15!"
- exit 1
- fi
- ;;
-esac
-}
-
-udev_uevents ()
-{
-# configure all devices
-trigger_device_events
-# until we know how to do better, just wait for _all_ events to finish
-wait_for_queue
-}
-
-if [ $# -eq 0 ]; then
-udev_init
-udev_uevents
-fi
-
-[ "$1" = "init" ] && udev_init
-[ "$1" = "uevents" ] && udev_uevents
-
-exit 0
diff --git a/abs/core-testing/klibc-udev/udev-fix-klibc-build.patch b/abs/core-testing/klibc-udev/udev-fix-klibc-build.patch
deleted file mode 100644
index 7ac0917..0000000
--- a/abs/core-testing/klibc-udev/udev-fix-klibc-build.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -Nur udev-128.orig/extras/Makefile.in udev-128/extras/Makefile.in
---- udev-128.orig/extras/Makefile.in 2008-09-11 16:58:01.000000000 +0200
-+++ udev-128/extras/Makefile.in 2008-09-18 12:03:09.000000000 +0200
-@@ -176,15 +176,11 @@
- udev_prefix = @udev_prefix@
- SUBDIRS = \
- ata_id \
-- cdrom_id \
- edd_id \
- path_id \
- firmware \
-- collect \
- floppy \
-- fstab_import \
- rule_generator \
-- scsi_id \
- usb_id \
- volume_id
-
-diff -Nur udev-128.orig/extras/volume_id/lib/libvolume_id-private.h udev-128/extras/volume_id/lib/libvolume_id-private.h
---- udev-128.orig/extras/volume_id/lib/libvolume_id-private.h 2008-09-10 02:37:09.000000000 +0200
-+++ udev-128/extras/volume_id/lib/libvolume_id-private.h 2008-09-18 12:07:57.000000000 +0200
-@@ -35,12 +35,8 @@
- log_null(const char *format, ...) {}
-
- #define err(format, arg...) volume_id_log_fn(LOG_ERR, __FILE__, __LINE__, format, ##arg)
--#define info(format, arg...) volume_id_log_fn(LOG_INFO, __FILE__, __LINE__, format, ##arg)
--#ifdef DEBUG
--#define dbg(format, arg...) volume_id_log_fn(LOG_DEBUG, __FILE__, __LINE__, format, ##arg)
--#else
-+#define info(format, arg...) log_null(format, ##arg)
- #define dbg(format, arg...) log_null(format, ##arg)
--#endif
-
- #if (__BYTE_ORDER == __LITTLE_ENDIAN)
- #define le16_to_cpu(x) (x)
-diff -Nur udev-128.orig/extras/volume_id/lib/md5.c udev-128/extras/volume_id/lib/md5.c
---- udev-128.orig/extras/volume_id/lib/md5.c 2008-09-10 02:18:59.000000000 +0200
-+++ udev-128/extras/volume_id/lib/md5.c 2008-09-18 12:03:09.000000000 +0200
-@@ -21,7 +21,7 @@
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
--#include <stdint.h>
-+/*#include <stdint.h>*/
- #include <string.h>
- #include <endian.h>
- #include <byteswap.h>
diff --git a/abs/core-testing/klibc-udev/udev.rules b/abs/core-testing/klibc-udev/udev.rules
deleted file mode 100644
index 22f422a..0000000
--- a/abs/core-testing/klibc-udev/udev.rules
+++ /dev/null
@@ -1,187 +0,0 @@
-# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# This ruleset should provide a DevFS-compatible device tree.
-#
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %k the kernel name for the device.
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute.
-# %% the '%' char itself.
-#
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-# global stuff
-#
-
-#####################################
-# Early rules - begin
-#####################################
-# wait for sysfs
-ACTION=="add", KERNEL=="[0-9]*:[0-9]*", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
-# Setting timeout for tape-devices (type 1) to 900 seconds
-# and 60 seconds for device types 0, 7 and 14
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
-#####################################
-# Early rules -end
-#####################################
-
-#####################################
-###### Hotplug rules - begin
-#####################################
-
-# Modaliases to load
-ACTION=="add", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-# SCSI addon modules
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="[07]", RUN+="/lib/udev/load-modules.sh sd_mod"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="14", RUN+="/lib/udev/load-modules.sh sd_mod"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="[45]", RUN+="/lib/udev/load-modules.sh sr_mod"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}!="ADR*", RUN+="/lib/udev/load-modules.sh osst"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}=="ADR*", RUN+="/lib/udev/load-modules.sh st"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}!="Onstream", RUN+="/lib/udev/load-modules.sh st"
-ACTION=="add", SUBSYSTEM=="scsi", ATTRS{type}=="[23689]", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
-ACTION=="add", SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
-
-LABEL="hotplug_driver_loaded"
-
-# FIRMWARE
-ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="?*", RUN+="/lib/udev/firmware.sh"
-#####################################
-##### Hotplug rules - end
-#####################################
-
-#####################################
-###### CD/DVD symlinks - begin
-#####################################
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
-ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
-ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
-ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvd-%b"
-#####################################
-###### CD/DVD symlinks - end
-#####################################
-
-#####################################
-##### PCMCIA rules - begin
-#####################################
-# PCMCIA devices:
-#
-
-# Very few CIS firmware entries (which we use for matching)
-# are so broken that we need to read out random bytes of it
-# instead of the manufactor, card or product ID. Then the
-# matching is done in userspace.
-ACTION=="add", SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", RUN+="/sbin/pcmcia-check-broken-cis.static"
-
-# However, the "weak" matching by func_id is only allowed _after_ modprobe
-# returns, so that "strong" matches have a higher priority.
-ACTION=="add", SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", RUN+="/bin/sh -c 'echo 1 > /sys/$devpath/allow_func_id_match'"
-
-# PCMCIA sockets:
-#
-# modprobe the pcmcia bus module so that 16-bit PCMCIA devices work
-ACTION=="add", SUBSYSTEM=="pcmcia_socket", RUN+="/lib/udev/load-modules.sh pcmcia"
-
-# if this is a PCMCIA socket which needs a resource database,
-# pcmcia-socket-startup sets it up
-ACTION=="add", SUBSYSTEM=="pcmcia_socket", RUN+="/sbin/pcmcia-socket-startup.static"
-#####################################
-##### PCMCIA rules - end
-#####################################
-
-#######################################
-# Persistant block device stuff - begin
-#######################################
-# persistent storage links: /dev/{disk,tape}/{by-id,by-uuid,by-label,by-path,by-name}
-# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-
-# needed like this!!!
-ACTION!="add|change", GOTO="persistent_storage_end"
-#KERNEL=="nst[0-9]", SUBSYSTEMS=="scsi", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}-nst"
-
-# type 8 devices are "Medium Changers"
-#KERNEL=="sg*", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
-# skip rules for inappropriate block devices
-# don't add dm-*!!!
-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*", GOTO="persistent_storage_end"
-
-# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end"
-
-# ignore partitions that span the entire disk
-ATTR{whole_disk}=="*", GOTO="persistent_storage_end"
-
-# /sys/class/block will export this
-ENV{DEVTYPE}!="?*", ATTR{range}=="?*", ENV{DEVTYPE}="disk"
-ENV{DEVTYPE}!="?*", ATTR{start}=="?*", ENV{DEVTYPE}="partition"
-
-# for partitions import parent information
-ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
-
-# by-id (hardware serial number)
-KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
-KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
-KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"
-
-KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_SUBSYSTEMS}="ieee1394"
-KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="/lib/udev/usb_id --export %p"
-#KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode"
-#KERNEL=="cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --ignore-sysfs -s %p -d $tempnode", ENV{ID_BUS}="cciss"
-KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-KERNEL=="sd*[0-9]|cciss*p[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
-KERNEL=="st*", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-
-# libata compat (links like hd*)
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="/lib/udev/ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
-KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
-
-KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}"
-KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
-
-# by-path (shortest physical path) broken atm
-#ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/path_id %p"
-#ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
-#ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
-#KERNEL=="st*", ENV{ID_PATH}=="?*", SYMLINK+="tape/by-path/$env{ID_PATH}"
-
-KERNEL=="sr*|st*", GOTO="persistent_storage_end"
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end"
-
-# by-label/by-uuid (filesystem properties)
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-# BIOS Enhanced Disk Device
-ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/edd_id --export $tempnode"
-ENV{DEVTYPE}=="disk", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
-ENV{DEVTYPE}=="partition", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"
-LABEL="persistent_storage_end"
-
-# md links hook into "change" events, when the array becomes available
-KERNEL!="md[0-9]*", GOTO="md_end"
-ACTION!="add|change", GOTO="md_end"
-
-ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-OPTIONS="link_priority=100"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}""
-
-LABEL="md_end"
-#####################################
-# Persistant block device stuff - end
-#####################################
diff --git a/abs/core-testing/klibc-udev/udev_hook b/abs/core-testing/klibc-udev/udev_hook
deleted file mode 100644
index 4d8212a..0000000
--- a/abs/core-testing/klibc-udev/udev_hook
+++ /dev/null
@@ -1,10 +0,0 @@
-# vim: set ft=sh:
-run_hook ()
-{
- msg -n ":: Loading udev..."
- echo > /proc/sys/kernel/hotplug
- /sbin/udevd --daemon
- /sbin/udevadm trigger
- /sbin/udevadm settle
- msg "done."
-}
diff --git a/abs/core-testing/klibc-udev/udev_install b/abs/core-testing/klibc-udev/udev_install
deleted file mode 100644
index 94dcd80..0000000
--- a/abs/core-testing/klibc-udev/udev_install
+++ /dev/null
@@ -1,29 +0,0 @@
-# vim:set ft=sh:
-
-install ()
-{
- MODULES=""
- BINARIES=""
- FILES=" /etc/udev/udev.conf"
- SCRIPT="udev"
- add_file /lib/initcpio/udev/udevd /sbin/udevd
- add_file /lib/initcpio/udev/udevadm /sbin/udevadm
- add_file /lib/initcpio/udev/50-udev-default.rules /lib/udev/rules.d/50-udev-default.rules
- add_file /lib/initcpio/udev/60-persistent-storage.rules /lib/udev/rules.d/60-persistent-storage.rules
- add_file /lib/initcpio/udev/64-device-mapper.rules /lib/udev/rules.d/64-device-mapper.rules
- add_file /lib/initcpio/udev/64-md-raid.rules /lib/udev/rules.d/64-md-raid.rules
- add_file /lib/initcpio/udev/80-drivers.rules /lib/udev/rules.d/80-drivers.rules
- add_file /lib/initcpio/udev/firmware.sh /lib/udev/firmware.sh
- add_file /lib/initcpio/udev/path_id /lib/udev/path_id
- add_file /lib/initcpio/udev/vol_id /lib/udev/vol_id
- add_file /lib/initcpio/udev/load-modules.sh /lib/udev/load-modules.sh
-}
-
-help ()
-{
-cat <<HELPEOF
- This hook will use udev to create your root device node
- and detect the needed modules for your root device.
- It is recommended to use this hook instead of modload.
-HELPEOF
-}
diff --git a/abs/core-testing/klibc-udev/vol_id-suspend2.patch b/abs/core-testing/klibc-udev/vol_id-suspend2.patch
deleted file mode 100644
index 525e17e..0000000
--- a/abs/core-testing/klibc-udev/vol_id-suspend2.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Nur udev-103.orig/extras/volume_id/lib/linux_swap.c udev-103/extras/volume_id/lib/linux_swap.c
---- udev-103.orig/extras/volume_id/lib/linux_swap.c 2006-10-20 14:43:35.000000000 +0200
-+++ udev-103/extras/volume_id/lib/linux_swap.c 2006-10-29 17:15:19.000000000 +0100
-@@ -73,6 +73,11 @@
- strcpy(id->type_version, "ulsuspend");
- goto found_label;
- }
-+ if (memcmp(buf, "z", 1) == 0 || memcmp(buf, "Z", 1) == 0) {
-+ id->type = "suspend";
-+ strcpy(id->type_version, "suspend2");
-+ goto found_label;
-+ }
- }
- return -1;
-
diff --git a/abs/core-testing/klibc/PKGBUILD b/abs/core-testing/klibc/PKGBUILD
deleted file mode 100644
index 11080c0..0000000
--- a/abs/core-testing/klibc/PKGBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# $Id: PKGBUILD 23627 2009-01-11 14:22:23Z thomas $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-
-###
-### NOTE: Do not build this package with anything except gcc - using ccache
-### forces others to use it as well as it becomes hardcoded in the klibc
-### script.
-###
-
-pkgname=klibc
-pkgver=1.5.15
-_klibcbranch=Testing #Stable/Testing
-_kver=2.6.28-ARCH
-pkgrel=30
-pkgdesc="A minimal libc made for early-userspace"
-arch=(i686 x86_64)
-url="http://www.kernel.org/pub/linux/libs/klibc/"
-license=('BSD')
-groups=('base')
-options=(!ccache !strip)
-source=(http://www.kernel.org/pub/linux/libs/klibc/${_klibcbranch}/${pkgname}-${pkgver}.tar.gz
- klibc-compile-shared-by-default.patch
- klibc-Kbuild.patch
- klibc-x86_64-fix-io.h.patch
- klibc-fix-2.6.28-includes.patch)
-md5sums=('b5527be46f24779884557b11888c8075'
- 'c263a7c3fd290fcc84a4e230d456d022'
- 'ff5b113024256de31af59c2f1a966516'
- 'fcee75cfaa65638b07f9cc4a7719fa29'
- '85e39751debc304119eb481d6bc26d59')
-
-build()
-{
- cd $startdir/src/$pkgname-$pkgver
- #INI_DEBUG causes ipconfig to fail within kinit
- sed -i "/#define INI_DEBUG/d" usr/kinit/kinit.h || return 1
- ln -sf /usr/src/linux-${_kver} linux
-
- # compile binaries shared by default
- patch -p1 -i ../klibc-compile-shared-by-default.patch || return 1
- # don't build gzip, cpio, kill, build shared binaries for kinit and sh
- patch -p1 -i ../klibc-Kbuild.patch || return 1
- # fix errors in io.h header
- patch -p1 -i ../klibc-x86_64-fix-io.h.patch || return 1
- # fix includes for 2.6.28 build
- patch -p1 -i ../klibc-fix-2.6.28-includes.patch || return 1
-
- make EXTRA_KLIBCFLAGS='' || return 1
- make INSTALLROOT=$startdir/pkg install || return 1
- #ln -sf asm-x86 $startdir/pkg/usr/lib/klibc/include/asm
- cp -a linux/arch/x86/include/asm/* $startdir/pkg/usr/lib/klibc/include/asm/
-
- provides[${#provides[@]}]="$(basename $startdir/pkg/lib/klibc-*.so .so)"
- export provides
-}
diff --git a/abs/core-testing/klibc/klibc-2.6.24.patch b/abs/core-testing/klibc/klibc-2.6.24.patch
deleted file mode 100644
index 2527699..0000000
--- a/abs/core-testing/klibc/klibc-2.6.24.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-unchanged:
---- klibc-1.5.orig/usr/klibc/arch/i386/MCONFIG 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/klibc/arch/i386/MCONFIG 2008-01-27 16:06:08.000000000 +0100
-@@ -31,3 +31,4 @@
- # calls, and work on the memory models for this architecture
- # 96 MB - normal binaries start at 128 MB
- KLIBCSHAREDFLAGS = -Ttext 0x06000200
-+KLIBCASMARCH = x86
-unchanged:
---- klibc-1.5.orig/usr/klibc/arch/x86_64/MCONFIG 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/klibc/arch/x86_64/MCONFIG 2008-01-27 16:05:43.000000000 +0100
-@@ -36,4 +36,4 @@
- KLIBCSHAREDFLAGS = -Ttext 0x00200200 -z max-page-size=0x100000
-
- # Additional asm- directories needed during installation
--ASMARCH = asm-i386
-+KLIBCASMARCH = x86
-only in patch2:
-unchanged:
---- a/scripts/Kbuild.install 2007-03-04 02:52:10.000000000 +0100
-+++ b/scripts/Kbuild.install 2007-11-04 15:43:28.000000000 +0100
-@@ -84,6 +84,13 @@
- # 1) Create directories, install headers and man pages
- # 2) Tell that we now install binaries
- # 3) Install binaries by descending
-+
-+# Arch specific definitions for klibc
-+include $(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
-+
-+# include/asm-* architecture
-+KLIBCASMARCH ?= $(KLIBCARCH)
-+
- .PHONY: header footer descend
- header:
- $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
-@@ -95,7 +102,7 @@
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
-- $(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
-+ $(Q)set -e ; for d in linux scsi asm-$(KLIBCASMARCH) asm-generic $(ASMKLIBCARCH); do \
- mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
- for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
- $(KLIBCKERNELOBJ)/include2 ; do \
diff --git a/abs/core-testing/klibc/klibc-Kbuild.patch b/abs/core-testing/klibc/klibc-Kbuild.patch
deleted file mode 100644
index 28beee9..0000000
--- a/abs/core-testing/klibc/klibc-Kbuild.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -Nur klibc-1.5.14.orig/Kbuild klibc-1.5.14/Kbuild
---- klibc-1.5.14.orig/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -10,9 +10,8 @@
- $(Q)$(MAKE) $(klibc)=usr/kinit
- $(Q)$(MAKE) $(klibc)=usr/dash
- $(Q)$(MAKE) $(klibc)=usr/utils
-- $(Q)$(MAKE) $(klibc)=usr/gzip
-
-
- # Directories to visit during clean and install
--subdir- := scripts/basic klcc usr/klibc usr/dash usr/utils usr/gzip \
-+subdir- := scripts/basic klcc usr/klibc usr/dash usr/utils \
- usr/kinit usr/klibc/tests
-diff -Nur klibc-1.5.14.orig/usr/Kbuild klibc-1.5.14/usr/Kbuild
---- klibc-1.5.14.orig/usr/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -6,7 +6,7 @@
-
- include-subdir := include
- klibc-subdir := klibc
--usr-subdirs := kinit utils dash gzip
-+usr-subdirs := kinit utils dash
- subdir- := $(include-subdir) $(klibc-subdir) $(usr-subdirs)
-
- usr-subdirs := $(addprefix _usr_,$(usr-subdirs))
-diff -Nur klibc-1.5.14.orig/usr/dash/Kbuild klibc-1.5.14/usr/dash/Kbuild
---- klibc-1.5.14.orig/usr/dash/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/dash/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -23,11 +23,8 @@
- hostprogs-y := mkinit mksyntax mknodes mksignames
- gen-h-files := arith.h builtins.h nodes.h syntax.h token.h
-
--static-y := sh
--
- # The shared binary
--shared-y := sh.shared
--sh.shared-y := $(sh-y)
-+shared-y := sh
-
- # For cleaning
- targets := sh sh.g sh.shared sh.shared.g $(gen-o-files)
-@@ -108,4 +105,4 @@
- $(Q):
-
- # Targets to install
--install-y := sh.shared
-+install-y := sh
-diff -Nur klibc-1.5.14.orig/usr/kinit/Kbuild klibc-1.5.14/usr/kinit/Kbuild
---- klibc-1.5.14.orig/usr/kinit/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/kinit/Kbuild 2008-09-18 13:08:42.000000000 +0200
-@@ -17,9 +17,7 @@
- kinit-y += fstype/
- kinit-y += resume/
-
--static-y := kinit
--shared-y := kinit.shared
--kinit.shared-y := $(kinit-y)
-+shared-y := kinit
-
- # Additional include paths files
- KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \
-@@ -34,4 +32,4 @@
-
-
- # install binary
--install-y := kinit kinit.shared
-+install-y := kinit
-diff -Nur klibc-1.5.14.orig/usr/utils/Kbuild klibc-1.5.14/usr/utils/Kbuild
---- klibc-1.5.14.orig/usr/utils/Kbuild 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/utils/Kbuild 2008-09-18 13:08:56.000000000 +0200
-@@ -4,7 +4,7 @@
-
- progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
- progs += true false sleep ln nuke minips cat
--progs += uname halt kill readlink cpio sync dmesg
-+progs += uname halt readlink sync dmesg
-
- static-y := $(addprefix static/, $(progs))
- shared-y := $(addprefix shared/, $(progs))
diff --git a/abs/core-testing/klibc/klibc-compile-shared-by-default.patch b/abs/core-testing/klibc/klibc-compile-shared-by-default.patch
deleted file mode 100644
index e144c3e..0000000
--- a/abs/core-testing/klibc/klibc-compile-shared-by-default.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur klibc-1.5.orig/klcc/klcc.in klibc-1.5/klcc/klcc.in
---- klibc-1.5.orig/klcc/klcc.in 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/klcc/klcc.in 2007-10-31 09:20:34.000000000 +0100
-@@ -113,7 +113,7 @@
-
- $save_temps = 0; # The -save-temps option
- $verbose = 0; # The -v option
--$shared = 0; # Are we compiling shared?
-+$shared = 1; # Are we compiling shared?
- $debugging = 0; # -g or -p option present?
- $strip = 0; # -s option present?
- undef $output; # -o option present?
diff --git a/abs/core-testing/klibc/klibc-fix-2.6.28-includes.patch b/abs/core-testing/klibc/klibc-fix-2.6.28-includes.patch
deleted file mode 100644
index d7108a4..0000000
--- a/abs/core-testing/klibc/klibc-fix-2.6.28-includes.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur klibc-1.5.14.orig/scripts/Kbuild.klibc klibc-1.5.14/scripts/Kbuild.klibc
---- klibc-1.5.14.orig/scripts/Kbuild.klibc 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/scripts/Kbuild.klibc 2008-12-29 23:59:14.000000000 +0100
-@@ -103,7 +103,7 @@
- -I$(KLIBCINC)
- # kernel include paths
- KLIBCKERNELSRC ?= $(srctree)/
--KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)include \
-+KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)include -I$(KLIBCKERNELSRC)arch/x86/include \
- $(if $(KBUILD_SRC),-I$(KLIBCKERNELOBJ)include2 -I$(KLIBCKERNELOBJ)include -I$(srctree)/include) \
- $(KLIBCARCHINCFLAGS)
-
diff --git a/abs/core-testing/klibc/klibc-module-init-tools.patch b/abs/core-testing/klibc/klibc-module-init-tools.patch
deleted file mode 100644
index a5e4532..0000000
--- a/abs/core-testing/klibc/klibc-module-init-tools.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -Nur klibc-1.5.orig/usr/include/sys/elf32.h klibc-1.5/usr/include/sys/elf32.h
---- klibc-1.5.orig/usr/include/sys/elf32.h 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/include/sys/elf32.h 2007-10-31 09:18:09.000000000 +0100
-@@ -110,4 +110,8 @@
- Elf32_Word n_type; /* Content type */
- } Elf32_Nhdr;
-
-+/* How to extract and insert information held in the st_info field. */
-+#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
-+#define ELF32_ST_TYPE(val) ((val) & 0xf)
-+
- #endif /* _SYS_ELF32_H */
-diff -Nur klibc-1.5.orig/usr/include/sys/elf64.h klibc-1.5/usr/include/sys/elf64.h
---- klibc-1.5.orig/usr/include/sys/elf64.h 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/include/sys/elf64.h 2007-10-31 09:18:09.000000000 +0100
-@@ -110,4 +110,8 @@
- Elf64_Word n_type; /* Content type */
- } Elf64_Nhdr;
-
-+/* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field. */
-+#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
-+#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
-+
- #endif /* _SYS_ELF64_H */
-diff -Nur klibc-1.5.orig/usr/include/sys/elfcommon.h klibc-1.5/usr/include/sys/elfcommon.h
---- klibc-1.5.orig/usr/include/sys/elfcommon.h 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/include/sys/elfcommon.h 2007-10-31 09:18:09.000000000 +0100
-@@ -184,4 +184,14 @@
- #define ELFOSABI_NONE 0
- #define ELFOSABI_LINUX 3
-
-+/* Legal values for ST_BIND subfield of st_info (symbol binding). */
-+#define STB_LOCAL 0 /* Local symbol */
-+#define STB_GLOBAL 1 /* Global symbol */
-+#define STB_WEAK 2 /* Weak symbol */
-+#define STB_NUM 3 /* Number of defined types. */
-+#define STB_LOOS 10 /* Start of OS-specific */
-+#define STB_HIOS 12 /* End of OS-specific */
-+#define STB_LOPROC 13 /* Start of processor-specific */
-+#define STB_HIPROC 15 /* End of processor-specific */
-+
- #endif /* _SYS_ELFCOMMON_H */
-diff -Nur klibc-1.5.orig/usr/utils/Kbuild klibc-1.5/usr/utils/Kbuild
---- klibc-1.5.orig/usr/utils/Kbuild 2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5/usr/utils/Kbuild 2007-10-31 09:18:28.000000000 +0100
-@@ -4,7 +4,7 @@
-
- progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
- progs += true false sleep ln nuke minips cat
--progs += insmod uname halt kill readlink cpio
-+progs += uname halt kill readlink cpio
-
- static-y := $(addprefix static/, $(progs))
- shared-y := $(addprefix shared/, $(progs))
-@@ -40,8 +40,6 @@
- shared/minips-y := minips.o
- static/cat-y := cat.o
- shared/cat-y := cat.o
--static/insmod-y := insmod.o
--shared/insmod-y := insmod.o
- static/uname-y := uname.o
- shared/uname-y := uname.o
- static/halt-y := halt.o
diff --git a/abs/core-testing/klibc/klibc-x86_64-fix-io.h.patch b/abs/core-testing/klibc/klibc-x86_64-fix-io.h.patch
deleted file mode 100644
index 25ef789..0000000
--- a/abs/core-testing/klibc/klibc-x86_64-fix-io.h.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Nur klibc-1.5.14.orig/usr/include/arch/x86_64/sys/io.h klibc-1.5.14/usr/include/arch/x86_64/sys/io.h
---- klibc-1.5.14.orig/usr/include/arch/x86_64/sys/io.h 2008-07-30 23:06:03.000000000 +0200
-+++ klibc-1.5.14/usr/include/arch/x86_64/sys/io.h 2008-09-18 14:34:20.000000000 +0200
-@@ -60,21 +60,21 @@
- {
- unsigned char __v;
- asm volatile ("inb %1,%0" : "=a" (__v) : "dN"(__p));
-- return v;
-+ return __v;
- }
-
- static __inline__ unsigned short inw(unsigned short __p)
- {
- unsigned short __v;
- asm volatile ("inw %1,%0" : "=a" (__v) : "dN"(__p));
-- return v;
-+ return __v;
- }
-
- static __inline__ unsigned int inl(unsigned short __p)
- {
- unsigned int __v;
- asm volatile ("inl %1,%0" : "=a" (__v) : "dN"(__p));
-- return v;
-+ return __v;
- }
-
- /* String I/O macros */
diff --git a/abs/core-testing/klibc/multiple_raid_assembly_fix.patch b/abs/core-testing/klibc/multiple_raid_assembly_fix.patch
deleted file mode 100644
index 237a1db..0000000
--- a/abs/core-testing/klibc/multiple_raid_assembly_fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/usr/kinit/do_mounts_md.c 2006-07-31 21:16:01.000000000 -0500
-+++ b/usr/kinit/do_mounts_md.c 2006-07-31 21:18:46.000000000 -0500
-@@ -228,6 +228,7 @@
- char *devname;
- mdu_disk_info_t dinfo;
- char name[16];
-+ struct stat st_chk;
-
- dev_minor = md_setup_args[ent].minor;
- partitioned = md_setup_args[ent].partitioned;
-@@ -236,6 +237,9 @@
- snprintf(name, sizeof name,
- "/dev/md%s%d", partitioned ? "_d" : "", dev_minor);
-
-+ if (stat(name, &st_chk) == 0)
-+ continue;
-+
- if (partitioned)
- dev = makedev(mdp_major(), dev_minor << MdpMinorShift);
- else
diff --git a/abs/core-testing/libcups/PKGBUILD b/abs/core-testing/libcups/PKGBUILD
deleted file mode 100644
index 9b31bd0..0000000
--- a/abs/core-testing/libcups/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 20496 2008-12-05 11:29:11Z allan $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=libcups
-pkgver=1.3.9
-pkgrel=4
-pkgdesc="The CUPS Printing System"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.cups.org/"
-depends=('gnutls>=2.4.1' 'libtiff' 'libpng' 'heimdal>=1.2')
-source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2)
-md5sums=('72430b36094cf587cf2e0087047d5643')
-
-build() {
- cd ${srcdir}/cups-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --with-logdir=/var/log/cups -with-docdir=/usr/share/cups/doc \
- --with-cups-user=daemon --with-cups-group=lp --enable-ssl=yes \
- --disable-ldap --disable-dbus --libdir=/usr/lib
-
- for dir in cups filter; do
- pushd ${dir}
- make
- make BUILDROOT=${pkgdir} install
- popd
- done
-
- mkdir -p ${startdir}/pkg/usr/bin
- install -m755 cups-config ${startdir}/pkg/usr/bin/cups-config
- #Remove filters
- rm -rf ${startdir}/pkg/usr/lib/cups
-}
diff --git a/abs/core-testing/libdatrie/PKGBUILD b/abs/core-testing/libdatrie/PKGBUILD
index a4408d7..9da01c0 100644
--- a/abs/core-testing/libdatrie/PKGBUILD
+++ b/abs/core-testing/libdatrie/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 35276 2009-04-11 20:11:41Z jgc $
+# $Id: PKGBUILD 71215 2010-03-05 15:34:36Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Chaiwat Suttipongsakul <cwt114@gmail.com>
pkgname=libdatrie
-pkgver=0.2.1
+pkgver=0.2.3
pkgrel=1
pkgdesc="Libdatrie is an implementation of double-array structure for representing trie, as proposed by Junichi Aoe."
url="http://linux.thai.net/~thep/datrie/datrie.html"
@@ -12,7 +12,7 @@ arch=('i686' 'x86_64')
depends=('glibc')
options=('!libtool' '!emptydirs')
source=(http://linux.thai.net/pub/thailinux/software/libthai/${pkgname}-${pkgver}.tar.gz)
-md5sums=('196e485958f74cf13e676d93729067cf')
+md5sums=('c6814f4fe68aa8d41d1b7183ad78d319')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/libdrm/COPYING b/abs/core-testing/libdrm/COPYING
new file mode 100644
index 0000000..6e74c33
--- /dev/null
+++ b/abs/core-testing/libdrm/COPYING
@@ -0,0 +1,48 @@
+ Copyright 2005 Adam Jackson.
+
+ 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 on the rights to use, copy, modify, merge,
+ publish, distribute, sub license, 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 (including the
+ next paragraph) 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
+ NON-INFRINGEMENT. IN NO EVENT SHALL ADAM JACKSON 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.
+
+------------------------------------------------------------------------
+
+ Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
+ Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) 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 PRECISION INSIGHT AND/OR ITS
+ SUPPLIERS 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.
diff --git a/abs/core-testing/libdrm/PKGBUILD b/abs/core-testing/libdrm/PKGBUILD
index 816aa2a..68a5a06 100644
--- a/abs/core-testing/libdrm/PKGBUILD
+++ b/abs/core-testing/libdrm/PKGBUILD
@@ -1,20 +1,38 @@
-# $Id: PKGBUILD 19237 2008-11-17 22:36:17Z jgc $
+# $Id: PKGBUILD 86650 2010-08-02 19:36:00Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdrm
-pkgver=2.3.1
+pkgver=2.4.21
pkgrel=2
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
+license=('custom')
depends=('glibc')
-options=('!libtool' 'force')
+options=('!libtool')
url="http://dri.freedesktop.org/"
-source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('620fe7dd02c3236c3e9881a3a238173d')
-
+source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ libdrm-2.4.21-b803918f3f.patch
+ no-pthread-stubs.patch
+ COPYING)
+md5sums=('273ed9dad986e3a931649f3d8762ff74'
+ 'd67fab8381b371fe2a8f86e2819aef2b'
+ '9b5ec3bbebe86921e2057694c42f65b8'
+ 'ba65e71c481b94ef0fb6c23c7f21ffa1')
+
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ patch -Np1 -i "${srcdir}/libdrm-2.4.21-b803918f3f.patch"
+ patch -Np1 -i "${srcdir}/no-pthread-stubs.patch"
+ libtoolize --force
+ aclocal
+ autoconf
+ automake
+ ./configure --prefix=/usr \
+ --enable-intel --enable-radeon \
+ --enable-vmwgfx-experimental-api --enable-nouveau-experimental-api \
+ --enable-udev
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/libdrm/libdrm-2.4.21-b803918f3f.patch b/abs/core-testing/libdrm/libdrm-2.4.21-b803918f3f.patch
new file mode 100644
index 0000000..ff8c1c4
--- /dev/null
+++ b/abs/core-testing/libdrm/libdrm-2.4.21-b803918f3f.patch
@@ -0,0 +1,506 @@
+diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
+index a8e072d..3446390 100644
+--- a/intel/intel_bufmgr_gem.c
++++ b/intel/intel_bufmgr_gem.c
+@@ -93,6 +93,7 @@ typedef struct _drm_intel_bufmgr_gem {
+ /** Array of lists of cached gem objects of power-of-two sizes */
+ struct drm_intel_gem_bo_bucket cache_bucket[14 * 4];
+ int num_buckets;
++ time_t time;
+
+ uint64_t gtt_size;
+ int available_fences;
+@@ -132,6 +133,7 @@ struct _drm_intel_bo_gem {
+ */
+ uint32_t tiling_mode;
+ uint32_t swizzle_mode;
++ unsigned long stride;
+
+ time_t free_time;
+
+@@ -200,8 +202,9 @@ drm_intel_gem_bo_get_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
+ uint32_t * swizzle_mode);
+
+ static int
+-drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
+- uint32_t stride);
++drm_intel_gem_bo_set_tiling_internal(drm_intel_bo *bo,
++ uint32_t tiling_mode,
++ uint32_t stride);
+
+ static void drm_intel_gem_bo_unreference_locked_timed(drm_intel_bo *bo,
+ time_t time);
+@@ -251,7 +254,7 @@ drm_intel_gem_bo_tile_size(drm_intel_bufmgr_gem *bufmgr_gem, unsigned long size,
+ */
+ static unsigned long
+ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
+- unsigned long pitch, uint32_t tiling_mode)
++ unsigned long pitch, uint32_t *tiling_mode)
+ {
+ unsigned long tile_width;
+ unsigned long i;
+@@ -259,10 +262,10 @@ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
+ /* If untiled, then just align it so that we can do rendering
+ * to it with the 3D engine.
+ */
+- if (tiling_mode == I915_TILING_NONE)
++ if (*tiling_mode == I915_TILING_NONE)
+ return ALIGN(pitch, 64);
+
+- if (tiling_mode == I915_TILING_X)
++ if (*tiling_mode == I915_TILING_X)
+ tile_width = 512;
+ else
+ tile_width = 128;
+@@ -271,6 +274,14 @@ drm_intel_gem_bo_tile_pitch(drm_intel_bufmgr_gem *bufmgr_gem,
+ if (bufmgr_gem->gen >= 4)
+ return ROUND_UP_TO(pitch, tile_width);
+
++ /* The older hardware has a maximum pitch of 8192 with tiled
++ * surfaces, so fallback to untiled if it's too large.
++ */
++ if (pitch > 8192) {
++ *tiling_mode = I915_TILING_NONE;
++ return ALIGN(pitch, 64);
++ }
++
+ /* Pre-965 needs power of two tile width */
+ for (i = tile_width; i < pitch; i <<= 1)
+ ;
+@@ -549,7 +560,9 @@ static drm_intel_bo *
+ drm_intel_gem_bo_alloc_internal(drm_intel_bufmgr *bufmgr,
+ const char *name,
+ unsigned long size,
+- unsigned long flags)
++ unsigned long flags,
++ uint32_t tiling_mode,
++ unsigned long stride)
+ {
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bufmgr;
+ drm_intel_bo_gem *bo_gem;
+@@ -615,6 +628,13 @@ retry:
+ bucket);
+ goto retry;
+ }
++
++ if (drm_intel_gem_bo_set_tiling_internal(&bo_gem->bo,
++ tiling_mode,
++ stride)) {
++ drm_intel_gem_bo_free(&bo_gem->bo);
++ goto retry;
++ }
+ }
+ }
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+@@ -642,6 +662,17 @@ retry:
+ return NULL;
+ }
+ bo_gem->bo.bufmgr = bufmgr;
++
++ bo_gem->tiling_mode = I915_TILING_NONE;
++ bo_gem->swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
++ bo_gem->stride = 0;
++
++ if (drm_intel_gem_bo_set_tiling_internal(&bo_gem->bo,
++ tiling_mode,
++ stride)) {
++ drm_intel_gem_bo_free(&bo_gem->bo);
++ return NULL;
++ }
+ }
+
+ bo_gem->name = name;
+@@ -650,8 +681,6 @@ retry:
+ bo_gem->reloc_tree_fences = 0;
+ bo_gem->used_as_reloc_target = 0;
+ bo_gem->has_error = 0;
+- bo_gem->tiling_mode = I915_TILING_NONE;
+- bo_gem->swizzle_mode = I915_BIT_6_SWIZZLE_NONE;
+ bo_gem->reusable = 1;
+
+ drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
+@@ -669,7 +698,8 @@ drm_intel_gem_bo_alloc_for_render(drm_intel_bufmgr *bufmgr,
+ unsigned int alignment)
+ {
+ return drm_intel_gem_bo_alloc_internal(bufmgr, name, size,
+- BO_ALLOC_FOR_RENDER);
++ BO_ALLOC_FOR_RENDER,
++ I915_TILING_NONE, 0);
+ }
+
+ static drm_intel_bo *
+@@ -678,7 +708,8 @@ drm_intel_gem_bo_alloc(drm_intel_bufmgr *bufmgr,
+ unsigned long size,
+ unsigned int alignment)
+ {
+- return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, 0);
++ return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, 0,
++ I915_TILING_NONE, 0);
+ }
+
+ static drm_intel_bo *
+@@ -687,10 +718,8 @@ drm_intel_gem_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
+ unsigned long *pitch, unsigned long flags)
+ {
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *)bufmgr;
+- drm_intel_bo *bo;
+ unsigned long size, stride;
+ uint32_t tiling;
+- int ret;
+
+ do {
+ unsigned long aligned_y;
+@@ -717,24 +746,17 @@ drm_intel_gem_bo_alloc_tiled(drm_intel_bufmgr *bufmgr, const char *name,
+ aligned_y = ALIGN(y, 32);
+
+ stride = x * cpp;
+- stride = drm_intel_gem_bo_tile_pitch(bufmgr_gem, stride, tiling);
++ stride = drm_intel_gem_bo_tile_pitch(bufmgr_gem, stride, tiling_mode);
+ size = stride * aligned_y;
+ size = drm_intel_gem_bo_tile_size(bufmgr_gem, size, tiling_mode);
+ } while (*tiling_mode != tiling);
+-
+- bo = drm_intel_gem_bo_alloc_internal(bufmgr, name, size, flags);
+- if (!bo)
+- return NULL;
+-
+- ret = drm_intel_gem_bo_set_tiling(bo, tiling_mode, stride);
+- if (ret != 0) {
+- drm_intel_gem_bo_unreference(bo);
+- return NULL;
+- }
+-
+ *pitch = stride;
+
+- return bo;
++ if (tiling == I915_TILING_NONE)
++ stride = 0;
++
++ return drm_intel_gem_bo_alloc_internal(bufmgr, name, size, flags,
++ tiling, stride);
+ }
+
+ /**
+@@ -791,6 +813,7 @@ drm_intel_bo_gem_create_from_name(drm_intel_bufmgr *bufmgr,
+ }
+ bo_gem->tiling_mode = get_tiling.tiling_mode;
+ bo_gem->swizzle_mode = get_tiling.swizzle_mode;
++ /* XXX stride is unknown */
+ drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
+
+ DBG("bo_create_from_handle: %d (%s)\n", handle, bo_gem->name);
+@@ -829,6 +852,9 @@ drm_intel_gem_cleanup_bo_cache(drm_intel_bufmgr_gem *bufmgr_gem, time_t time)
+ {
+ int i;
+
++ if (bufmgr_gem->time == time)
++ return;
++
+ for (i = 0; i < bufmgr_gem->num_buckets; i++) {
+ struct drm_intel_gem_bo_bucket *bucket =
+ &bufmgr_gem->cache_bucket[i];
+@@ -846,6 +872,8 @@ drm_intel_gem_cleanup_bo_cache(drm_intel_bufmgr_gem *bufmgr_gem, time_t time)
+ drm_intel_gem_bo_free(&bo_gem->bo);
+ }
+ }
++
++ bufmgr_gem->time = time;
+ }
+
+ static void
+@@ -854,7 +882,6 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
+ drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
+ struct drm_intel_gem_bo_bucket *bucket;
+- uint32_t tiling_mode;
+ int i;
+
+ /* Unreference all the target buffers */
+@@ -883,9 +910,7 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
+
+ bucket = drm_intel_gem_bo_bucket_for_size(bufmgr_gem, bo->size);
+ /* Put the buffer into our internal cache for reuse if we can. */
+- tiling_mode = I915_TILING_NONE;
+ if (bufmgr_gem->bo_reuse && bo_gem->reusable && bucket != NULL &&
+- drm_intel_gem_bo_set_tiling(bo, &tiling_mode, 0) == 0 &&
+ drm_intel_gem_bo_madvise_internal(bufmgr_gem, bo_gem,
+ I915_MADV_DONTNEED)) {
+ bo_gem->free_time = time;
+@@ -894,8 +919,6 @@ drm_intel_gem_bo_unreference_final(drm_intel_bo *bo, time_t time)
+ bo_gem->validate_index = -1;
+
+ DRMLISTADDTAIL(&bo_gem->head, &bucket->head);
+-
+- drm_intel_gem_cleanup_bo_cache(bufmgr_gem, time);
+ } else {
+ drm_intel_gem_bo_free(bo);
+ }
+@@ -925,6 +948,7 @@ static void drm_intel_gem_bo_unreference(drm_intel_bo *bo)
+
+ pthread_mutex_lock(&bufmgr_gem->lock);
+ drm_intel_gem_bo_unreference_final(bo, time.tv_sec);
++ drm_intel_gem_cleanup_bo_cache(bufmgr_gem, time.tv_sec);
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+ }
+ }
+@@ -982,12 +1006,9 @@ static int drm_intel_gem_bo_map(drm_intel_bo *bo, int write_enable)
+ &set_domain);
+ } while (ret == -1 && errno == EINTR);
+ if (ret != 0) {
+- ret = -errno;
+ fprintf(stderr, "%s:%d: Error setting to CPU domain %d: %s\n",
+ __FILE__, __LINE__, bo_gem->gem_handle,
+ strerror(errno));
+- pthread_mutex_unlock(&bufmgr_gem->lock);
+- return ret;
+ }
+
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+@@ -1062,9 +1083,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
+ DRM_IOCTL_I915_GEM_SET_DOMAIN,
+ &set_domain);
+ } while (ret == -1 && errno == EINTR);
+-
+ if (ret != 0) {
+- ret = -errno;
+ fprintf(stderr, "%s:%d: Error setting domain %d: %s\n",
+ __FILE__, __LINE__, bo_gem->gem_handle,
+ strerror(errno));
+@@ -1072,7 +1091,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
+
+ pthread_mutex_unlock(&bufmgr_gem->lock);
+
+- return ret;
++ return 0;
+ }
+
+ int drm_intel_gem_bo_unmap_gtt(drm_intel_bo *bo)
+@@ -1587,7 +1606,7 @@ drm_intel_gem_bo_mrb_exec2(drm_intel_bo *bo, int used,
+
+ if (ret != 0) {
+ ret = -errno;
+- if (ret == -ENOMEM) {
++ if (ret == -ENOSPC) {
+ fprintf(stderr,
+ "Execbuffer fails to pin. "
+ "Estimate: %u. Actual: %u. Available: %u\n",
+@@ -1671,34 +1690,56 @@ drm_intel_gem_bo_unpin(drm_intel_bo *bo)
+ }
+
+ static int
+-drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
+- uint32_t stride)
++drm_intel_gem_bo_set_tiling_internal(drm_intel_bo *bo,
++ uint32_t tiling_mode,
++ uint32_t stride)
+ {
+ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
+ drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
+ struct drm_i915_gem_set_tiling set_tiling;
+ int ret;
+
+- if (bo_gem->global_name == 0 && *tiling_mode == bo_gem->tiling_mode)
++ if (bo_gem->global_name == 0 &&
++ tiling_mode == bo_gem->tiling_mode &&
++ stride == bo_gem->stride)
+ return 0;
+
+ memset(&set_tiling, 0, sizeof(set_tiling));
+- set_tiling.handle = bo_gem->gem_handle;
+-
+ do {
+- set_tiling.tiling_mode = *tiling_mode;
++ set_tiling.handle = bo_gem->gem_handle;
++ set_tiling.tiling_mode = tiling_mode;
+ set_tiling.stride = stride;
+
+ ret = ioctl(bufmgr_gem->fd,
+ DRM_IOCTL_I915_GEM_SET_TILING,
+ &set_tiling);
+ } while (ret == -1 && errno == EINTR);
+- if (ret == 0) {
+- bo_gem->tiling_mode = set_tiling.tiling_mode;
+- bo_gem->swizzle_mode = set_tiling.swizzle_mode;
++ if (ret == -1)
++ return -errno;
++
++ bo_gem->tiling_mode = set_tiling.tiling_mode;
++ bo_gem->swizzle_mode = set_tiling.swizzle_mode;
++ bo_gem->stride = set_tiling.stride;
++ return 0;
++}
++
++static int
++drm_intel_gem_bo_set_tiling(drm_intel_bo *bo, uint32_t * tiling_mode,
++ uint32_t stride)
++{
++ drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
++ drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
++ int ret;
++
++ /* Linear buffers have no stride. By ensuring that we only ever use
++ * stride 0 with linear buffers, we simplify our code.
++ */
++ if (*tiling_mode == I915_TILING_NONE)
++ stride = 0;
++
++ ret = drm_intel_gem_bo_set_tiling_internal(bo, *tiling_mode, stride);
++ if (ret == 0)
+ drm_intel_bo_gem_set_in_aperture_size(bufmgr_gem, bo_gem);
+- } else
+- ret = -errno;
+
+ *tiling_mode = bo_gem->tiling_mode;
+ return ret;
+diff --git a/xf86drmMode.c b/xf86drmMode.c
+index f330e6f..ecb1fd5 100644
+--- a/xf86drmMode.c
++++ b/xf86drmMode.c
+@@ -52,6 +52,12 @@
+ #define U642VOID(x) ((void *)(unsigned long)(x))
+ #define VOID2U64(x) ((uint64_t)(unsigned long)(x))
+
++static inline DRM_IOCTL(int fd, int cmd, void *arg)
++{
++ int ret = drmIoctl(fd, cmd, arg);
++ return ret < 0 ? -errno : ret;
++}
++
+ /*
+ * Util functions
+ */
+@@ -242,7 +248,7 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth,
+ f.depth = depth;
+ f.handle = bo_handle;
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_ADDFB, &f)))
++ if ((ret = DRM_IOCTL(fd, DRM_IOCTL_MODE_ADDFB, &f)))
+ return ret;
+
+ *buf_id = f.fb_id;
+@@ -251,7 +257,7 @@ int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth,
+
+ int drmModeRmFB(int fd, uint32_t bufferId)
+ {
+- return drmIoctl(fd, DRM_IOCTL_MODE_RMFB, &bufferId);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_RMFB, &bufferId);
+
+
+ }
+@@ -289,7 +295,7 @@ int drmModeDirtyFB(int fd, uint32_t bufferId,
+ dirty.clips_ptr = VOID2U64(clips);
+ dirty.num_clips = num_clips;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_DIRTYFB, &dirty);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_DIRTYFB, &dirty);
+ }
+
+
+@@ -344,7 +350,7 @@ int drmModeSetCrtc(int fd, uint32_t crtcId, uint32_t bufferId,
+ } else
+ crtc.mode_valid = 0;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETCRTC, &crtc);
+ }
+
+ /*
+@@ -361,7 +367,7 @@ int drmModeSetCursor(int fd, uint32_t crtcId, uint32_t bo_handle, uint32_t width
+ arg.height = height;
+ arg.handle = bo_handle;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_CURSOR, &arg);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_CURSOR, &arg);
+ }
+
+ int drmModeMoveCursor(int fd, uint32_t crtcId, int x, int y)
+@@ -373,7 +379,7 @@ int drmModeMoveCursor(int fd, uint32_t crtcId, int x, int y)
+ arg.x = x;
+ arg.y = y;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_CURSOR, &arg);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_CURSOR, &arg);
+ }
+
+ /*
+@@ -510,7 +516,7 @@ int drmModeAttachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_inf
+ memcpy(&res.mode, mode_info, sizeof(struct drm_mode_modeinfo));
+ res.connector_id = connector_id;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_ATTACHMODE, &res);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_ATTACHMODE, &res);
+ }
+
+ int drmModeDetachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_info)
+@@ -520,7 +526,7 @@ int drmModeDetachMode(int fd, uint32_t connector_id, drmModeModeInfoPtr mode_inf
+ memcpy(&res.mode, mode_info, sizeof(struct drm_mode_modeinfo));
+ res.connector_id = connector_id;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_DETACHMODE, &res);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_DETACHMODE, &res);
+ }
+
+
+@@ -637,16 +643,12 @@ int drmModeConnectorSetProperty(int fd, uint32_t connector_id, uint32_t property
+ uint64_t value)
+ {
+ struct drm_mode_connector_set_property osp;
+- int ret;
+
+ osp.connector_id = connector_id;
+ osp.prop_id = property_id;
+ osp.value = value;
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_SETPROPERTY, &osp)))
+- return ret;
+-
+- return 0;
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETPROPERTY, &osp);
+ }
+
+ /*
+@@ -715,7 +717,6 @@ int drmCheckModesettingSupported(const char *busid)
+ int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ uint16_t *red, uint16_t *green, uint16_t *blue)
+ {
+- int ret;
+ struct drm_mode_crtc_lut l;
+
+ l.crtc_id = crtc_id;
+@@ -724,16 +725,12 @@ int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ l.green = VOID2U64(green);
+ l.blue = VOID2U64(blue);
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_GETGAMMA, &l)))
+- return ret;
+-
+- return 0;
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_GETGAMMA, &l);
+ }
+
+ int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ uint16_t *red, uint16_t *green, uint16_t *blue)
+ {
+- int ret;
+ struct drm_mode_crtc_lut l;
+
+ l.crtc_id = crtc_id;
+@@ -742,10 +739,7 @@ int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ l.green = VOID2U64(green);
+ l.blue = VOID2U64(blue);
+
+- if ((ret = drmIoctl(fd, DRM_IOCTL_MODE_SETGAMMA, &l)))
+- return ret;
+-
+- return 0;
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_SETGAMMA, &l);
+ }
+
+ int drmHandleEvent(int fd, drmEventContextPtr evctx)
+@@ -810,5 +804,5 @@ int drmModePageFlip(int fd, uint32_t crtc_id, uint32_t fb_id,
+ flip.flags = flags;
+ flip.reserved = 0;
+
+- return drmIoctl(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);
++ return DRM_IOCTL(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);
+ }
diff --git a/abs/core-testing/libdrm/no-pthread-stubs.patch b/abs/core-testing/libdrm/no-pthread-stubs.patch
new file mode 100644
index 0000000..6602f87
--- /dev/null
+++ b/abs/core-testing/libdrm/no-pthread-stubs.patch
@@ -0,0 +1,65 @@
+diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
+--- libdrm-2.4.0/configure.ac 2008-10-09 21:57:09.000000000 +0200
++++ libdrm-2.4.0-nostubs/configure.ac 2008-10-21 10:48:24.000000000 +0200
+@@ -32,10 +32,6 @@
+ AC_HEADER_STDC
+ AC_SYS_LARGEFILE
+
+-PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
+-AC_SUBST(PTHREADSTUBS_CFLAGS)
+-AC_SUBST(PTHREADSTUBS_LIBS)
+-
+ pkgconfigdir=${libdir}/pkgconfig
+ AC_SUBST(pkgconfigdir)
+ AC_ARG_ENABLE(udev, AS_HELP_STRING([--enable-udev],
+--- libdrm-2.4.16/intel/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/intel/Makefile.am.new 2009-12-07 08:11:32.235748069 +0000
+@@ -26,13 +26,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/intel \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_intel_la_LTLIBRARIES = libdrm_intel.la
+ libdrm_intel_ladir = $(libdir)
+ libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_intel_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ @CLOCK_LIB@
++libdrm_intel_la_LIBADD = ../libdrm.la @CLOCK_LIB@
+
+ libdrm_intel_la_SOURCES = \
+ intel_atomic.h \
+--- libdrm-2.4.16/radeon/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/radeon/Makefile.am.new 2009-12-07 08:12:31.889075388 +0000
+@@ -26,13 +26,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/radeon \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_radeon_la_LTLIBRARIES = libdrm_radeon.la
+ libdrm_radeon_ladir = $(libdir)
+ libdrm_radeon_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_radeon_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_radeon_la_LIBADD = ../libdrm.la
+
+ libdrm_radeon_la_SOURCES = \
+ radeon_bo_gem.c \
+--- libdrm-2.4.16/nouveau/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/nouveau/Makefile.am.new 2009-12-07 08:13:01.489072320 +0000
+@@ -2,13 +2,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/nouveau \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
+ libdrm_nouveau_ladir = $(libdir)
+ libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_nouveau_la_LIBADD = ../libdrm.la
+
+ libdrm_nouveau_la_SOURCES = \
+ nouveau_device.c \
diff --git a/abs/core-testing/libelf/PKGBUILD b/abs/core-testing/libelf/PKGBUILD
new file mode 100644
index 0000000..17f4877
--- /dev/null
+++ b/abs/core-testing/libelf/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 66485 2010-01-31 10:45:08Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=libelf
+pkgver=0.8.13
+pkgrel=1
+pkgdesc="libelf is a free ELF object file access library"
+arch=('i686' 'x86_64')
+url="http://www.mr511.de/software/"
+license=('GPL')
+depends=('glibc')
+source=(http://www.mr511.de/software/${pkgname}-${pkgver}.tar.gz)
+md5sums=('4136d7b4c04df68b686570afa26988ac')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-shared \
+ --enable-gnu-names --enable-compat || return 1
+ make || return 1
+ make prefix="${pkgdir}/usr" install || return 1
+}
diff --git a/abs/core-testing/libfontenc/PKGBUILD b/abs/core-testing/libfontenc/PKGBUILD
index 8e79264..b4d7cbe 100644
--- a/abs/core-testing/libfontenc/PKGBUILD
+++ b/abs/core-testing/libfontenc/PKGBUILD
@@ -1,24 +1,27 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 50982 2009-09-04 12:17:17Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libfontenc
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 font encoding library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('zlib')
-makedepends=('pkgconfig' 'xproto')
-options=('libtool')
+makedepends=('pkgconfig' 'xproto>=7.0.15')
+options=('!libtool')
source=(${url}/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('5cd16a2e51ca7b96a3081c7486ff98b9')
+sha1sums=('e71370c349e93ba70f91ad1148ca9e5cabfcca4f')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --disable-static \
- --with-encodingsdir=/usr/share/fonts/encodings
+ --localstatedir=/var --disable-static \
+ --with-encodingsdir=/usr/share/fonts/encodings || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/libgcrypt/PKGBUILD b/abs/core-testing/libgcrypt/PKGBUILD
index 5498563..c262700 100644
--- a/abs/core-testing/libgcrypt/PKGBUILD
+++ b/abs/core-testing/libgcrypt/PKGBUILD
@@ -1,24 +1,33 @@
-# $Id: PKGBUILD 32861 2009-04-01 19:16:30Z andyrtr $
+# $Id: PKGBUILD 85547 2010-07-15 21:16:57Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=libgcrypt
-pkgver=1.4.4
+pkgver=1.4.6
pkgrel=1
pkgdesc="a general purpose crypto library based on the code used"
arch=(i686 x86_64)
url="http://www.gnupg.org"
license=('LGPL')
-groups=('base')
-depends=('libgpg-error>=1.6' 'texinfo')
+depends=('libgpg-error>=1.7')
options=(!libtool)
-source=(#ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2
- ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('34105aa927e23c217741966496b97e67')
+source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ #ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2
+)
+md5sums=('dbf99425a4fe9217c84ce3a35d938634')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr --disable-padlock-support --disable-static
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/share/info/dir
+ # keep static library for , needed for cryptsetup
+ ./configure --prefix=/usr --disable-padlock-support
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ # Move dynamic libraries to /lib
+ install -d -m755 "${pkgdir}"/lib/ || return 1
+ mv "${pkgdir}"/usr/lib/libgcrypt.so* "${pkgdir}"/lib/ || return 1
+ ln -sf /lib/libgcrypt.so "${pkgdir}"/usr/lib/libgcrypt.so || return 1
}
diff --git a/abs/core-testing/libgl/PKGBUILD b/abs/core-testing/libgl/PKGBUILD
deleted file mode 100644
index ce2faba..0000000
--- a/abs/core-testing/libgl/PKGBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id: PKGBUILD 12994 2008-09-25 18:01:13Z jgc $
-# Maintainer: Alexander Baldeck <kth5@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=libgl
-pkgver=7.2
-pkgrel=1
-pkgdesc="Mesa DRI OpenGL library and drivers"
-arch=(i686 x86_64)
-license=('LGPL')
-url="http://www.mesa3d.org"
-depends=('libdrm>=2.3.1' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1')
-makedepends=('dri2proto>=1.1' 'glproto>=1.4.9' 'pkgconfig')
-provides=('libgl-dri')
-replaces=('libgl-dri' 'libgl-mesa')
-options=(!makeflags)
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
-
-build() {
- cd ${startdir}/src/Mesa-${pkgver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=swrast \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- install -m755 -d ${pkgdir}/usr/lib/xorg/modules/extensions
- ln -sf libglx.xorg ${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so || return 1
-}
diff --git a/abs/core-testing/libgl/mesa-7.1-link-shared.patch b/abs/core-testing/libgl/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core-testing/libgl/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core-testing/libgpg-error/PKGBUILD b/abs/core-testing/libgpg-error/PKGBUILD
index 834b39c..b7083bb 100644
--- a/abs/core-testing/libgpg-error/PKGBUILD
+++ b/abs/core-testing/libgpg-error/PKGBUILD
@@ -1,23 +1,28 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 80074 2010-05-10 21:13:12Z thomas $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=libgpg-error
-pkgver=1.6
-pkgrel=10
+pkgver=1.7
+pkgrel=3
pkgdesc="Support library for libgcrypt"
arch=(i686 x86_64)
url="http://www.gnupg.org"
license=('LGPL')
-groups=('base')
-depends=('glibc')
+depends=('glibc' 'sh')
options=(!libtool)
source=(#ftp://ftp.gnupg.org/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2
ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('f3e9870e213518b407a959f8d29cd554')
+md5sums=('62c0d09d1e76c5b6da8fff92314c4665')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ # keep static lib for crypsetup
./configure --prefix=/usr
make || return 1
- make DESTDIR=${startdir}/pkg install
+ make DESTDIR="${pkgdir}/" install || return 1
+
+ # Move dynamic libraries to /lib
+ install -d -m755 "${pkgdir}"/lib/ || return 1
+ mv "${pkgdir}"/usr/lib/libgpg-error.so* "${pkgdir}"/lib/ || return 1
+ ln -sf /lib/libgpg-error.so "${pkgdir}"/usr/lib/libgpg-error.so || return 1
}
diff --git a/abs/core-testing/libjpeg/PKGBUILD b/abs/core-testing/libjpeg/PKGBUILD
index 3f671b4..bd2b17f 100644
--- a/abs/core-testing/libjpeg/PKGBUILD
+++ b/abs/core-testing/libjpeg/PKGBUILD
@@ -1,9 +1,10 @@
-# $Id$
+# $Id: PKGBUILD 81760 2010-06-02 23:44:07Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=libjpeg
-pkgver=7
+pkgver=8.0.2
+_pkgver=8b
pkgrel=1
pkgdesc="Library of JPEG support functions"
arch=('i686' 'x86_64')
@@ -11,17 +12,17 @@ url="http://www.ijg.org/"
license=('custom')
depends=('glibc')
makedepends=('libtool')
-options=(!libtool)
-source=(http://www.ijg.org/files/jpegsrc.v7.tar.gz)
-md5sums=('382ef33b339c299b56baf1296cda9785')
+options=('!libtool')
+source=(http://www.ijg.org/files/jpegsrc.v${_pkgver}.tar.gz)
+md5sums=('e022acbc5b36cd2cb70785f5b575661e')
build() {
- cd $srcdir/jpeg-$pkgver
+ cd $srcdir/jpeg-${_pkgver}
./configure --prefix=/usr --enable-shared --enable-static
make || return 1
make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install
- # See FS#11116 - re-assess need with v7 release sometime...
+ # See FS#11116 - re-assess current need sometime...
install -m644 jpegint.h $pkgdir/usr/include
install -Dm644 README $pkgdir/usr/share/licenses/libjpeg/README
diff --git a/abs/core-testing/libldap/PKGBUILD b/abs/core-testing/libldap/PKGBUILD
index 616e6a3..06babfd 100644
--- a/abs/core-testing/libldap/PKGBUILD
+++ b/abs/core-testing/libldap/PKGBUILD
@@ -1,62 +1,74 @@
-# $Id: PKGBUILD 1627 2008-05-14 03:02:30Z eric $
-# Maintainer: Judd Vinet <jvinet@zeroflux.org>
+# $Id: PKGBUILD 83737 2010-06-22 18:32:52Z andrea $
+# Maintainer:
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
pkgname=libldap
-pkgver=2.4.11
+pkgver=2.4.22
pkgrel=1
-pkgdesc="LDAP client libraries"
-arch=(i686 x86_64)
+pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries"
+arch=('i686' 'x86_64')
license=('custom')
url="http://www.openldap.org/"
backup=(etc/openldap/ldap.conf)
-depends=('libsasl' 'openssl>=0.9.8f')
-options=('!libtool' '!makeflags')
+depends=('libsasl' 'openssl')
makedepends=('tcp_wrappers')
-source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-${pkgver}.tgz
- ntlm.patch
- peercred.patch)
+options=('!libtool')
+source=("ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-${pkgver}.tgz"
+ 'ntlm.patch')
+md5sums=('ef01b52255ce8e3fbf8aa34f6fe7598b'
+ 'dfa9eb6f2fd9d0a3dab0e1860923489e')
build() {
- cd ${startdir}/src/openldap-${pkgver}
-# patch -Np0 -i ${startdir}/src/ntlm.patch || return 1
- patch -Np0 -i ${startdir}/src/peercred.patch || return 1
+ cd ${srcdir}/openldap-${pkgver}
+
+ patch -Np1 -i ${srcdir}/ntlm.patch
./configure --prefix=/usr \
--libexecdir=/usr/sbin \
--sysconfdir=/etc \
+ --mandir=/usr/share/man \
--localstatedir=/var/lib/openldap \
--enable-crypt --enable-dynamic \
--with-threads --enable-wrappers \
--enable-spasswd --with-cyrus-sasl \
--disable-bdb --disable-hdb
+
cd include
- make || return 1
- make DESTDIR=${startdir}/pkg install
+ make
cd ../libraries
make depend
- make || return 1
-
- make DESTDIR=${startdir}/pkg install
+ make
cd ../doc/man/man3
make
- make DESTDIR=${startdir}/pkg install
+
+ cd ../man5
+ make
+}
+
+package() {
+ cd ${srcdir}/openldap-${pkgver}
+
+ cd include
+ make DESTDIR=${pkgdir} install
+
+ cd ../libraries
+ make DESTDIR=${pkgdir} install
+
+ cd ../doc/man/man3
+ make DESTDIR=${pkgdir} install
cd ../man5
- make
- mkdir -p ${startdir}/pkg/usr/man/man5
- install -m644 ldap.conf.5.tmp ${startdir}/pkg/usr/man/man5/ldap.conf.5
+ install -Dm644 ldap.conf.5.tmp \
+ ${pkgdir}/usr/share/man/man5/ldap.conf.5
# get rid of duplicate default conf files
- rm ${startdir}/pkg/etc/openldap/*.default
+ rm ${pkgdir}/etc/openldap/*.default
- ln -sf liblber.so ${startdir}/pkg/usr/lib/liblber.so.2
- ln -sf libldap.so ${startdir}/pkg/usr/lib/libldap.so.2
+ ln -sf liblber.so ${pkgdir}/usr/lib/liblber.so.2
+ ln -sf libldap.so ${pkgdir}/usr/lib/libldap.so.2
- mkdir -p ${startdir}/pkg/usr/share/licenses/openldap
- install -m644 ${startdir}/src/openldap-${pkgver}/LICENSE \
- ${startdir}/pkg/usr/share/licenses/openldap/
+ install -Dm644 ${srcdir}/openldap-${pkgver}/LICENSE \
+ ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
}
-md5sums=('920fedbbb5bc61c2ca52c56edeef770a'
- '64c539d5f01f46f329b9d5c1324be4e9'
- 'acc4112845522a6a1a517064c216f781')
diff --git a/abs/core-testing/libldap/ntlm.patch b/abs/core-testing/libldap/ntlm.patch
index fca806b..a4fe4d4 100644
--- a/abs/core-testing/libldap/ntlm.patch
+++ b/abs/core-testing/libldap/ntlm.patch
@@ -1,25 +1,50 @@
---- libraries/libldap/Makefile.in.orig 2004-01-01 13:16:29.000000000 -0500
-+++ libraries/libldap/Makefile.in 2004-07-14 13:37:23.000000000 -0400
-@@ -20,7 +20,7 @@
- SRCS = bind.c open.c result.c error.c compare.c search.c \
- controls.c messages.c references.c extended.c cyrus.c \
- modify.c add.c modrdn.c delete.c abandon.c \
-- sasl.c sbind.c kbind.c unbind.c cancel.c \
-+ sasl.c ntlm.c sbind.c kbind.c unbind.c cancel.c \
- filter.c free.c sort.c passwd.c whoami.c \
- getdn.c getentry.c getattr.c getvalues.c addentry.c \
- request.c os-ip.c url.c sortctrl.c vlvctrl.c \
-@@ -29,7 +29,7 @@
- OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
- controls.lo messages.lo references.lo extended.lo cyrus.lo \
- modify.lo add.lo modrdn.lo delete.lo abandon.lo \
-- sasl.lo sbind.lo kbind.lo unbind.lo cancel.lo \
-+ sasl.lo ntlm.lo sbind.lo kbind.lo unbind.lo cancel.lo \
- filter.lo free.lo sort.lo passwd.lo whoami.lo \
- getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo \
- request.lo os-ip.lo url.lo sortctrl.lo vlvctrl.lo \
---- /dev/null 1970-01-01 01:00:00.000000000 +0100
-+++ libraries/libldap/ntlm.c 2005-12-02 09:47:08.226364500 +0100
+Patch from evolution-exchange (2.10.3). The ldap_ntlm_bind function is
+actually called by evolution-data-server, checked at version 1.12.2.
+Without this patch, the Exchange addressbook integration uses simple binds
+with cleartext passwords.
+
+Russ checked with openldap-software for upstream's opinion on this patch
+on 2007-12-21. Upstream had never received it as a patch submission and
+given that it's apparently only for older Exchange servers that can't do
+SASL and DIGEST-MD5, it's not very appealing.
+
+Bug#457374 filed against evolution-data-server asking if this support is
+still required on 2007-12-21.
+
+Index: trunk/include/ldap.h
+===================================================================
+--- trunk.orig/include/ldap.h
++++ trunk/include/ldap.h
+@@ -2461,5 +2461,25 @@
+ LDAPControl **ctrls,
+ LDAPDerefRes **drp ));
+
++/*
++ * hacks for NTLM
++ */
++#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
++#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
++LDAP_F( int )
++ldap_ntlm_bind LDAP_P((
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp ));
++LDAP_F( int )
++ldap_parse_ntlm_bind_result LDAP_P((
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge));
++
+ LDAP_END_DECL
+ #endif /* _LDAP_H */
+Index: trunk/libraries/libldap/ntlm.c
+===================================================================
+--- /dev/null
++++ trunk/libraries/libldap/ntlm.c
@@ -0,0 +1,138 @@
+/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */
+/*
@@ -159,31 +184,47 @@
+ return( ld->ld_errno );
+}
+
---- include/ldap.h.orig
-+++ include/ldap.h
-@@ -2115,5 +2115,25 @@
- ldap_passwordpolicy_err2txt LDAP_P(( LDAPPasswordPolicyError ));
- #endif /* LDAP_CONTROL_PASSWORDPOLICYREQUEST */
+Index: trunk/libraries/libldap/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap/Makefile.in
++++ trunk/libraries/libldap/Makefile.in
+@@ -27,7 +27,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c
-+/*
-+ * hacks for NTLM
-+ */
-+#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
-+#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
-+LDAP_F( int )
-+ldap_ntlm_bind LDAP_P((
-+ LDAP *ld,
-+ LDAP_CONST char *dn,
-+ ber_tag_t tag,
-+ struct berval *cred,
-+ LDAPControl **sctrls,
-+ LDAPControl **cctrls,
-+ int *msgidp ));
-+LDAP_F( int )
-+ldap_parse_ntlm_bind_result LDAP_P((
-+ LDAP *ld,
-+ LDAPMessage *res,
-+ struct berval *challenge));
-+
- LDAP_END_DECL
- #endif /* _LDAP_H */
+ OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
+@@ -40,7 +40,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo
+
+ LDAP_INCDIR= ../../include
+Index: trunk/libraries/libldap_r/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap_r/Makefile.in
++++ trunk/libraries/libldap_r/Makefile.in
+@@ -29,7 +29,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c
+ SRCS = threads.c rdwr.c rmutex.c tpool.c rq.c \
+ thr_posix.c thr_cthreads.c thr_thr.c thr_lwp.c thr_nt.c \
+@@ -47,7 +47,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo
+
+ LDAP_INCDIR= ../../include
diff --git a/abs/core-testing/libmpc/PKGBUILD b/abs/core-testing/libmpc/PKGBUILD
new file mode 100644
index 0000000..9aad761
--- /dev/null
+++ b/abs/core-testing/libmpc/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 82441 2010-06-11 06:42:48Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=libmpc
+pkgver=0.8.2
+pkgrel=2
+pkgdesc="Library for the arithmetic of complex numbers with arbitrarily high precision"
+arch=('i686' 'x86_64')
+url="http://www.multiprecision.org"
+license=('LGPL')
+depends=('mpfr>=3.0.0')
+options=('!libtool')
+install=libmpc.install
+source=(http://www.multiprecision.org/mpc/download/mpc-${pkgver/_/-}.tar.gz)
+md5sums=('e98267ebd5648a39f881d66797122fb6')
+
+build() {
+ cd $srcdir/mpc-$pkgver
+ ./configure --prefix=/usr
+ make
+ make check
+}
+
+package() {
+ cd $srcdir/mpc-$pkgver
+ make DESTDIR=$pkgdir/ install
+ mv -f $pkgdir/usr/share/info/{mpc,libmpc}.info
+}
diff --git a/abs/core-testing/libmpc/libmpc.install b/abs/core-testing/libmpc/libmpc.install
new file mode 100644
index 0000000..bb20831
--- /dev/null
+++ b/abs/core-testing/libmpc/libmpc.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(libmpc.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/abs/core-testing/libpciaccess/PKGBUILD b/abs/core-testing/libpciaccess/PKGBUILD
index 499f365..de8174d 100644
--- a/abs/core-testing/libpciaccess/PKGBUILD
+++ b/abs/core-testing/libpciaccess/PKGBUILD
@@ -1,18 +1,18 @@
# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=libpciaccess
-pkgver=0.10.5
+pkgver=0.11.0
pkgrel=1
pkgdesc="X11 PCI access library"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig')
+makedepends=('pkgconfig' 'xorg-util-macros')
options=('!libtool')
source=(${url}/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('617bebf31e5685c83f935009aeae5f38')
+sha1sums=('bcebba8b8441af151b59b63e8e91e66133b64158')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/libpng/PKGBUILD b/abs/core-testing/libpng/PKGBUILD
index 12515ed..d665f3f 100644
--- a/abs/core-testing/libpng/PKGBUILD
+++ b/abs/core-testing/libpng/PKGBUILD
@@ -1,10 +1,12 @@
-# $Id: PKGBUILD 22148 2008-12-22 12:33:23Z pierre $
-# Maintainer: dorphell <dorphell@archlinux.org>
-# Maintainer: Travis Willard <travis@archlinux.org>
-# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
+# $Id: PKGBUILD 84179 2010-06-27 07:28:57Z pierre $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Travis Willard <travis@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=libpng
-pkgver=1.2.34
+pkgver=1.4.3
+_apngver=1.4.2
pkgrel=1
pkgdesc="A collection of routines used to create PNG format graphics files"
arch=('i686' 'x86_64')
@@ -12,31 +14,29 @@ url="http://www.libpng.org/pub/png/libpng.html"
license=('custom')
depends=('zlib')
options=('!libtool')
-source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
- "http://hp.vector.co.jp/authors/VA013651/lib/libpng-${pkgver}-apng.patch.gz")
-options=('!libtool')
-md5sums=('37362876feb21344fd3af1228527db0f'
- 'a7ee9fd9af34692b75eedd5b03b69ca9')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.xz"
+ "http://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-${_apngver}-apng.patch.gz")
+md5sums=('322e2e0c0dea7a374ce6e60d9a72e604'
+ '378ade7c68c25d00e099b28911d06561')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
# Add animated PNG (apng) support
- # see http://hp.vector.co.jp/authors/VA013651/freeSoftware/apng.html
- patch -p1 -i $srcdir/libpng-${pkgver}-apng.patch || return 1
+ # see http://sourceforge.net/projects/libpng-apng/
+ patch -p1 -i "${srcdir}/libpng-${_apngver}-apng.patch"
- libtoolize --force --copy || return 1
- aclocal || return 1
- autoconf || return 1
- automake --add-missing || return 1
+ libtoolize --force --copy
+ aclocal
+ autoconf
+ automake --add-missing
- ./configure --prefix=/usr || return 1
- make ECHO=echo || return 1
- make ECHO=echo DESTDIR=${startdir}/pkg install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
cd contrib/pngminus
- make ECHO=echo PNGLIB="-L${startdir}/pkg/usr/lib -lpng" -f makefile.std png2pnm pnm2png
- install -m755 png2pnm pnm2png ${startdir}/pkg/usr/bin/
- install -m755 -d ${startdir}/pkg/usr/share/licenses/${pkgname}
- install -m644 ../../LICENSE ${startdir}/pkg/usr/share/licenses/${pkgname}/ || return 1
+ make PNGLIB="-L${pkgdir}/usr/lib -lpng" -f makefile.std png2pnm pnm2png
+ install -m755 png2pnm pnm2png "${pkgdir}/usr/bin/"
+ install -D -m644 ../../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core-testing/libtasn1/PKGBUILD b/abs/core-testing/libtasn1/PKGBUILD
index 5187cef..a680004 100644
--- a/abs/core-testing/libtasn1/PKGBUILD
+++ b/abs/core-testing/libtasn1/PKGBUILD
@@ -1,26 +1,26 @@
-# $Id: PKGBUILD 35541 2009-04-13 20:54:05Z jgc $
+# $Id: PKGBUILD 79844 2010-05-08 11:48:57Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=libtasn1
-pkgver=2.0
+pkgver=2.6
pkgrel=1
pkgdesc="The ASN.1 library used in GNUTLS"
arch=(i686 x86_64)
license=('GPL3' 'LGPL')
-url="http://www.gnu.org/software/gnutls/"
+url="http://www.gnu.org/software/libtasn1/"
depends=('glibc' 'texinfo')
options=('!libtool')
install=libtasn1.install
-source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.gz)
-md5sums=('e9b1462f04b2586b03905b0ed9528261')
+source=(ftp://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz)
+md5sums=('d410671e13038324336917ceed7470a5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
+ ./configure --prefix=/usr \
+ --with-packager=Archlinux \
+ --with-packager-bug-reports="http://bugs.archlinux.org/" \
+ --with-packager-version=${pkgver}-${pkgrel} || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
-
- rm -f "${pkgdir}/usr/share/info/dir"
- gzip ${pkgdir}/usr/share/info/* || return 1
}
diff --git a/abs/core-testing/libthai/PKGBUILD b/abs/core-testing/libthai/PKGBUILD
index aa5ba12..f96f7f3 100644
--- a/abs/core-testing/libthai/PKGBUILD
+++ b/abs/core-testing/libthai/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 35277 2009-04-11 20:15:53Z jgc $
+# $Id: PKGBUILD 71220 2010-03-05 15:38:39Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Chaiwat Suttipongsakul <cwt114@gmail.com>
pkgname=libthai
-pkgver=0.1.11
-pkgrel=2
+pkgver=0.1.14
+pkgrel=1
pkgdesc="Thai language support routines"
url="http://linux.thai.net/projects/libthai"
arch=('i686' 'x86_64')
license=('LGPL')
-depends=('libdatrie>=0.2.1')
+depends=('libdatrie>=0.2.3')
makedepends=('pkgconfig')
options=('!libtool' '!emptydirs')
source=(http://linux.thai.net/pub/thailinux/software/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('f27fd7b67116939b2676ddff7180957a')
+md5sums=('34f64b37ed8f8f49f4a18ae972e6f41e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/libtiff/ChangeLog b/abs/core-testing/libtiff/ChangeLog
index 1a1c85b..88edcc7 100644
--- a/abs/core-testing/libtiff/ChangeLog
+++ b/abs/core-testing/libtiff/ChangeLog
@@ -1,3 +1,30 @@
+2010-06-20 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.4-1
+ * Upstream update
+
+2009-11-05 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.2-1
+ * Upstream update
+
+2009-08-28 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.1-1
+ * Upstream update
+
+2009-08-26 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.9.0-1
+ * Upstream update
+ * Updated url
+ * Updated patches
+
+2009-08-14 Eric Belanger <eric@archlinux.org>
+
+ * libtiff 3.8.2-6
+ * Added security fixes (close FS#15931)
+
2008-09-05 Eric Belanger <eric@archlinux.org>
* libtiff 3.8.2-4
diff --git a/abs/core-testing/libtiff/PKGBUILD b/abs/core-testing/libtiff/PKGBUILD
index 51e106c..ed80a2b 100644
--- a/abs/core-testing/libtiff/PKGBUILD
+++ b/abs/core-testing/libtiff/PKGBUILD
@@ -1,43 +1,32 @@
-# $Id$
+# $Id: PKGBUILD 83314 2010-06-20 21:43:27Z eric $
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
pkgname=libtiff
-pkgver=3.8.2
-pkgrel=5
+pkgver=3.9.4
+pkgrel=1
pkgdesc="Library for manipulation of TIFF images"
arch=('i686' 'x86_64')
-url="http://www.libtiff.org/"
+url="http://www.remotesensing.org/libtiff/"
license=('custom')
-depends=('libjpeg>=7' 'zlib')
+depends=('libjpeg' 'zlib')
makedepends=('libgl' 'freeglut' 'libxmu' 'libxi')
optdepends=('freeglut: for using tiffgt')
options=('!libtool')
source=(ftp://ftp.remotesensing.org/pub/libtiff/tiff-${pkgver}.tar.gz \
- tiff2pdf-octal-printf.patch \
- tiffsplit-fname-overflow.patch \
- CVE-2006-3459-3465.patch \
- tiff2pdf-compression.patch \
- tiff-3.8.2-CVE-2008-2327.patch)
-md5sums=('fbb6f446ea4ed18955e2714934e5b698' 'd54368687d2645ffbbe6c2df384b11bf'\
- '323352fd60a7bd3ffac8724c3c031669' '624d3067e6a4c0680767eb62253ea980'\
- 'b443ffca9d498bb3a88c17da0200025b' 'c2c2e22557d9c63011df5777dda6a86b')
-sha1sums=('549e67b6a15b42bfcd72fe17cda7c9a198a393eb'
- 'c79245249634a121bfaff6cfecb763f72fe7f8eb'
- 'dc86bb68c7831ff70ff01d952d553be9f986be46'
- '85dc50a60a10025757e249d869dab7eb73ba6e3c'
- '508751f55131356ea8a7e7c4994ffbc9bd881769'
- '1da2ec6a47c0666cad9d07fb8427c1c75ca27b10')
+ libtiff-CVE-2009-2285.patch)
+md5sums=('2006c1bdd12644dbf02956955175afd6' 'ff61077408727a82281f77a94f555e2a')
+sha1sums=('a4e32d55afbbcabd0391a9c89995e8e8a19961de' 'eadce8c8bd72ea9c74f35300bf299131813b0c8b')
build() {
- cd ${srcdir}/tiff-${pkgver}
- patch -Np1 -i ${srcdir}/tiff2pdf-octal-printf.patch || return 1
- patch -Np1 -i ${srcdir}/tiffsplit-fname-overflow.patch || return 1
- patch -Np1 -i ${srcdir}/CVE-2006-3459-3465.patch || return 1
- patch -Np1 -i ${srcdir}/tiff2pdf-compression.patch || return 1
- patch -Np1 -i ${srcdir}/tiff-3.8.2-CVE-2008-2327.patch || return 1
+ cd "${srcdir}/tiff-${pkgver}"
+ patch -p1 < ../libtiff-CVE-2009-2285.patch || return 1
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
- install -D -m644 COPYRIGHT ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
+}
+
+package() {
+ cd "${srcdir}/tiff-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/libtiff/libtiff-CVE-2009-2285.patch b/abs/core-testing/libtiff/libtiff-CVE-2009-2285.patch
new file mode 100644
index 0000000..435a84b
--- /dev/null
+++ b/abs/core-testing/libtiff/libtiff-CVE-2009-2285.patch
@@ -0,0 +1,22 @@
+Index: tiff-3.8.2/libtiff/tif_lzw.c
+===================================================================
+--- tiff-3.8.2.orig/libtiff/tif_lzw.c
++++ tiff-3.8.2/libtiff/tif_lzw.c
+@@ -421,7 +421,7 @@ LZWDecode(TIFF* tif, tidata_t op0, tsize
+ NextCode(tif, sp, bp, code, GetNextCode);
+ if (code == CODE_EOI)
+ break;
+- if (code == CODE_CLEAR) {
++ if (code >= CODE_CLEAR) {
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "LZWDecode: Corrupted LZW table at scanline %d",
+ tif->tif_row);
+@@ -624,7 +624,7 @@ LZWDecodeCompat(TIFF* tif, tidata_t op0,
+ NextCode(tif, sp, bp, code, GetNextCodeCompat);
+ if (code == CODE_EOI)
+ break;
+- if (code == CODE_CLEAR) {
++ if (code >= CODE_CLEAR) {
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "LZWDecode: Corrupted LZW table at scanline %d",
+ tif->tif_row);
diff --git a/abs/core-testing/libtool/PKGBUILD b/abs/core-testing/libtool/PKGBUILD
index f861926..c6f5f7a 100644
--- a/abs/core-testing/libtool/PKGBUILD
+++ b/abs/core-testing/libtool/PKGBUILD
@@ -1,25 +1,30 @@
-# $Id: PKGBUILD 12053 2008-09-08 14:37:58Z andyrtr $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 82294 2010-06-10 03:52:16Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+# NOTE: requires rebuilt with each new gcc version
+
pkgname=libtool
-pkgver=2.2.6a
+pkgver=2.2.10
pkgrel=1
pkgdesc="A generic library support script"
arch=('i686' 'x86_64')
-license=('GPL')
url="http://www.gnu.org/software/libtool"
-install=libtool.install
+license=('GPL')
+depends=('sh' 'tar' 'texinfo')
groups=('base-devel')
-depends=('sh' 'tar')
-source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.gz)
-md5sums=('8ca1ea241cd27ff9832e045fe9afe4fd')
options=('!libtool')
+install=libtool.install
+source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.gz)
+md5sums=('b745d220e88163fcd9eea0a90ccf21b0')
build() {
- #cd ${startdir}/src/${pkgname}-${pkgver}
- cd ${startdir}/src/${pkgname}-2.2.6
+ cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
make || return 1
- make DESTDIR=${startdir}/pkg install
+}
- rm -f ${pkgdir}/usr/share/info/dir
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
}
diff --git a/abs/core-testing/libtool/libtool.install b/abs/core-testing/libtool/libtool.install
index 1794742..424c8cb 100644
--- a/abs/core-testing/libtool/libtool.install
+++ b/abs/core-testing/libtool/libtool.install
@@ -2,8 +2,9 @@ infodir=/usr/share/info
filelist=(libtool.info libtool.info-1 libtool.info-2)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -12,8 +13,9 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core-testing/libx11/PKGBUILD b/abs/core-testing/libx11/PKGBUILD
index cfcc85a..2261d79 100644
--- a/abs/core-testing/libx11/PKGBUILD
+++ b/abs/core-testing/libx11/PKGBUILD
@@ -1,31 +1,31 @@
-# $Id: PKGBUILD 34217 2009-04-08 08:01:42Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 81970 2010-06-07 13:27:07Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libx11
-pkgver=1.2.1
+pkgver=1.3.4
pkgrel=1
pkgdesc="X11 client-side library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxcb>=1.2' 'kbproto>=1.0.3')
-makedepends=('xproto>=7.0.14' 'xextproto>=7.0.5' 'xf86bigfontproto>=1.1.2' 'xtrans>=1.2.3' 'kbproto>=1.0.3' 'inputproto>=1.5.0' 'xorg-util-macros>=1.2.1')
+depends=('libxcb>=1.6' 'kbproto>=1.0.4')
+makedepends=('xproto>=7.0.17' 'xextproto>=7.1.1' 'xf86bigfontproto>=1.2.0' 'xtrans>=1.2.5' 'inputproto>=2.0' 'xorg-util-macros>=1.8.0')
options=('!libtool')
license=('custom:XFREE86')
source=(${url}/releases/individual/lib/libX11-${pkgver}.tar.bz2
- xorg.sh)
-md5sums=('2f2beb98e71f397e1209beaca4e97cb1'
- '942ff006e69e041f0307c1316e0dec5d')
+ xorg.sh)
+sha1sums=('5aab6dc8ed5ec0e86419626715efc3edd34d1db4'
+ 'b59214fe7d1d213f86b074a677eb624e52142ad7')
build() {
cd "${srcdir}/libX11-${pkgver}"
./configure --prefix=/usr \
- --with-xcb || return 1
+ --with-xcb --disable-static || return 1
make || return 1
+ make check || return 1
make DESTDIR="${pkgdir}" install || return 1
install -m755 -d "${pkgdir}/etc/profile.d"
- install -m755 "${srcdir}/xorg.sh" \
- "${pkgdir}/etc/profile.d/" || return 1
+ install -m755 "${srcdir}/xorg.sh" "${pkgdir}/etc/profile.d/" || return 1
install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
diff --git a/abs/core-testing/libxau/PKGBUILD b/abs/core-testing/libxau/PKGBUILD
index 7b2116b..7d58219 100644
--- a/abs/core-testing/libxau/PKGBUILD
+++ b/abs/core-testing/libxau/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 50978 2009-09-04 12:12:03Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=libxau
-pkgver=1.0.3
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 authorisation library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xproto')
+makedepends=('pkgconfig' 'xproto>=7.0.15')
+license=('custom')
options=('!libtool')
source=(${url}/releases/individual/lib/libXau-${pkgver}.tar.bz2)
+sha1sums=('b1c68843edf7e80ce952f7ee0541448f41bac202')
build() {
- cd ${startdir}/src/libXau-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --host=${CHOST} --build=${CHOST}
+ cd "${srcdir}/libXau-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-md5sums=('75a9f2b85cd1617b5ca98c9095323853')
diff --git a/abs/core-testing/libxaw/PKGBUILD b/abs/core-testing/libxaw/PKGBUILD
index c1d71de..db77f9f 100644
--- a/abs/core-testing/libxaw/PKGBUILD
+++ b/abs/core-testing/libxaw/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 18578 2008-11-07 22:16:28Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 56419 2009-10-21 20:31:46Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxaw
-pkgver=1.0.5
+pkgver=1.0.7
pkgrel=1
pkgdesc="X11 Athena Widget library"
arch=(i686 x86_64)
-license=('custom:')
+license=('custom')
url="http://xorg.freedesktop.org/"
depends=('libxmu' 'libxpm')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXaw-${pkgver}.tar.bz2)
-md5sums=('64e7782db4653cb57c7f7e660b2431c3')
+md5sums=('815e74de989ccda684e2baf8d12cf519')
build() {
cd "${srcdir}/libXaw-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core-testing/libxcb/PKGBUILD b/abs/core-testing/libxcb/PKGBUILD
index 59982e9..cbe31bd 100644
--- a/abs/core-testing/libxcb/PKGBUILD
+++ b/abs/core-testing/libxcb/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 27498 2009-02-22 09:23:59Z andyrtr $
+# $Id: PKGBUILD 79958 2010-05-09 18:41:21Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=libxcb
-pkgver=1.2
+pkgver=1.6
pkgrel=1
pkgdesc="X11 client-side library"
arch=(i686 x86_64)
url="http://xcb.freedesktop.org/"
-depends=('xcb-proto>=1.4' 'libxdmcp' 'libxau')
+depends=('xcb-proto>=1.6' 'libxdmcp' 'libxau')
makedepends=('pkgconfig' 'libxslt' 'python')
conflicts=('libx11<1.1.99.2')
options=('!libtool')
license=('custom')
source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2
- libxcb-1.1-no-pthread-stubs.patch)
-md5sums=('ae32b7846a7d83f5ec542a5431117564'
- 'a53f09ab3ec5cbfc1b0848bd137c535a')
+ libxcb-1.1-no-pthread-stubs.patch)
+sha1sums=('b0a6fec4c02ec876f32bbd4b64ffe8a25f0da518'
+ '3455e84642283bc91c8313af319002a20bbcbdf4')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch b/abs/core-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch
index 67a09f2..f17de1b 100644
--- a/abs/core-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch
+++ b/abs/core-testing/libxcb/libxcb-1.1-no-pthread-stubs.patch
@@ -4,7 +4,7 @@ diff -up libxcb-1.1/configure.ac.pthread-stubs libxcb-1.1/configure.ac
@@ -31,7 +31,7 @@ AC_SUBST(HTML_CHECK_RESULT)
# Checks for pkg-config packages
- PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.1)
+ PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6)
-NEEDED="pthread-stubs xau >= 0.99.2"
+NEEDED="xau >= 0.99.2"
PKG_CHECK_MODULES(NEEDED, $NEEDED)
diff --git a/abs/core-testing/libxdamage/PKGBUILD b/abs/core-testing/libxdamage/PKGBUILD
index f174581..231b4ce 100644
--- a/abs/core-testing/libxdamage/PKGBUILD
+++ b/abs/core-testing/libxdamage/PKGBUILD
@@ -1,22 +1,24 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 82169 2010-06-09 06:52:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxdamage
-pkgver=1.1.1
+pkgver=1.1.3
pkgrel=1
pkgdesc="X11 damaged region extension library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxfixes>=4.0.3' 'damageproto>=1.1')
-makedepends=('pkgconfig')
+license=('custom')
+depends=('libxfixes>=4.0.4' 'damageproto>=1.2.0')
+makedepends=('pkg-config')
options=('!libtool')
source=(${url}/releases/individual/lib/libXdamage-${pkgver}.tar.bz2)
+sha1sums=('7d96e8de107fede16951cb47d5e147630fbc7dee')
build() {
- cd ${startdir}/src/libXdamage-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --build=${CHOST} --host=${CHOST}
+ cd "${srcdir}/libXdamage-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-md5sums=('ac0ce6b0063a9858c8f24ddb4c60487d')
diff --git a/abs/core-testing/libxext/PKGBUILD b/abs/core-testing/libxext/PKGBUILD
index 66cc29a..3050eeb 100644
--- a/abs/core-testing/libxext/PKGBUILD
+++ b/abs/core-testing/libxext/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 35597 2009-04-14 06:27:02Z eric $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 81975 2010-06-07 13:30:21Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxext
-pkgver=1.0.5
-pkgrel=2
+pkgver=1.1.2
+pkgrel=1
pkgdesc="X11 miscellaneous extensions library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libx11>=1.1.93' 'xextproto>=7.0.5')
+depends=('libx11>=1.3.3' 'xextproto>=7.1.1')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXext-${pkgver}.tar.bz2)
-md5sums=('aa11d859cc8e9a0bad3bb55e1666547b')
+sha1sums=('b48a4e55d21e5ce9dd3356281f32e00b17b4c9f7')
build() {
cd "${srcdir}/libXext-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/libxfixes/PKGBUILD b/abs/core-testing/libxfixes/PKGBUILD
index e088300..aff9bd0 100644
--- a/abs/core-testing/libxfixes/PKGBUILD
+++ b/abs/core-testing/libxfixes/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 82357 2010-06-10 12:31:08Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxfixes
-pkgver=4.0.3
+pkgver=4.0.5
pkgrel=1
pkgdesc="X11 miscellaneous 'fixes' extension library"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org/"
-depends=('libx11' 'fixesproto')
-makedepends=('pkgconfig')
+license=('custom')
+depends=('libx11>=1.3.4' 'fixesproto>=4.1.1')
+makedepends=('pkg-config')
options=('!libtool')
source=(${url}/releases/individual/lib/libXfixes-${pkgver}.tar.bz2)
-md5sums=('1990d19725a3c7f32290037f02d3737f')
+sha1sums=('255dfb9a8c50d795c60711ec4764f76cd0620cbf')
build() {
- cd ${startdir}/src/libXfixes-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --build=${CHOST} --host=${CHOST}
+ cd "${srcdir}/libXfixes-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/libxfont/PKGBUILD b/abs/core-testing/libxfont/PKGBUILD
index a9decca..e872e51 100644
--- a/abs/core-testing/libxfont/PKGBUILD
+++ b/abs/core-testing/libxfont/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 4410 2008-07-06 20:50:37Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83929 2010-06-23 19:51:39Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxfont
-pkgver=1.3.3
-pkgrel=3
+pkgver=1.4.2
+pkgrel=1
pkgdesc="X11 font rasterisation library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libfontenc' 'freetype2>=2.3.7' 'fontsproto')
+depends=('libfontenc>=1.0.5' 'freetype2>=2.3.12' 'fontsproto>=2.1.0')
makedepends=('pkgconfig' 'xtrans' 'fontcacheproto' 'xproto')
options=('!libtool')
source=(${url}/archive/individual/lib/libXfont-${pkgver}.tar.bz2)
-md5sums=('4f174b9613f87cf00d731da428a1b194')
+sha1sums=('79c2089fec014da4b7976e6762f1e9e447fd5767')
build() {
- cd ${startdir}/src/libXfont-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ cd "${srcdir}/libXfont-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/libxfontcache/LICENSE b/abs/core-testing/libxfontcache/LICENSE
new file mode 100644
index 0000000..4718936
--- /dev/null
+++ b/abs/core-testing/libxfontcache/LICENSE
@@ -0,0 +1,100 @@
+
+ * Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
+ * All rights reserved.
+ * Copyright (c) 1998-1999 X-TrueType Server Project, All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+
+
+#
+# Copyright 2005 Red Hat, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of Red Hat not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Red Hat makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the copyright holders shall
+# not be used in advertising or otherwise to promote the sale, use or
+# other dealings in this Software without prior written authorization
+# from the copyright holders.
+#
+
+
+
+Copyright (C) 2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, 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 NON-INFRINGEMENT.
+IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES
+OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from the XFree86 Project.
+
diff --git a/abs/core-testing/libxfontcache/PKGBUILD b/abs/core-testing/libxfontcache/PKGBUILD
index 4557c80..925a62c 100644
--- a/abs/core-testing/libxfontcache/PKGBUILD
+++ b/abs/core-testing/libxfontcache/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55250 2009-10-12 16:05:23Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxfontcache
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 font cache library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('libxext' 'fontcacheproto')
makedepends=('pkgconfig')
options=('!libtool')
-source=(${url}/releases/individual/lib/libXfontcache-${pkgver}.tar.bz2)
+source=(${url}/releases/individual/lib/libXfontcache-${pkgver}.tar.bz2 LICENSE)
+md5sums=('bbd37768c87f63cf2eb845b2c0f56515'
+ '152d5429e5292e8098c667e0d0d22f01')
build() {
- cd ${startdir}/src/libXfontcache-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
+ cd ${srcdir}/libXfontcache-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static \
--build=${CHOST} --host=${CHOST}
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
-md5sums=('1adca018aa7bf2d215f20a69c10828ad')
diff --git a/abs/core-testing/libxft/PKGBUILD b/abs/core-testing/libxft/PKGBUILD
index c4a8b4f..62bd015 100644
--- a/abs/core-testing/libxft/PKGBUILD
+++ b/abs/core-testing/libxft/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 4363 2008-07-06 19:22:55Z jgc $
-# Maintainer: Alexander Baldeck<alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55090 2009-10-11 22:04:17Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxft
-pkgver=2.1.13
+pkgver=2.1.14
pkgrel=1
pkgdesc="FreeType-based font drawing library for X"
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org/"
-depends=('fontconfig>=2.6.0' 'libxrender')
+depends=('fontconfig>=2.6.0' 'libxrender' 'sh')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXft-${pkgver}.tar.bz2)
-md5sums=('bc8881851f3bd8dcc625fac37350a1c6')
+md5sums=('254e62a233491e0e1251636536163e20')
build() {
cd ${startdir}/src/libXft-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR=${startdir}/pkg install || return 1
install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
diff --git a/abs/core-testing/libxi/PKGBUILD b/abs/core-testing/libxi/PKGBUILD
index 593d805..6abbf85 100644
--- a/abs/core-testing/libxi/PKGBUILD
+++ b/abs/core-testing/libxi/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 28322 2009-02-28 18:50:37Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 57676 2009-11-01 14:14:29Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxi
-pkgver=1.2.1
-pkgrel=1
+pkgver=1.3
+pkgrel=2
pkgdesc="X11 Input extension library"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org"
-depends=('libxext>=1.0.5')
+depends=('libxext>=1.1' 'inputproto>=2.0')
makedepends=('pkgconfig')
options=(!libtool force)
license=('custom')
source=(${url}/releases/individual/lib/libXi-${pkgver}.tar.bz2)
-md5sums=('cfb36307e8e7ffafe40848dba24e0b11')
+md5sums=('8df4ece9bd1efb02c28acb2b6f485e09')
build() {
cd "${srcdir}/libXi-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core-testing/libxml2/PKGBUILD b/abs/core-testing/libxml2/PKGBUILD
index 8123cfc..d61e61e 100644
--- a/abs/core-testing/libxml2/PKGBUILD
+++ b/abs/core-testing/libxml2/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 26966 2009-02-14 23:57:37Z jgc $
+# $Id: PKGBUILD 73765 2010-03-28 13:12:08Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=libxml2
-pkgver=2.7.3
+pkgver=2.7.7
pkgrel=1
pkgdesc="XML parsing library, version 2"
arch=(i686 x86_64)
license=('custom')
-depends=('zlib>=1.2.3.3' 'readline>=5.2.013' 'ncurses>=5.7')
+depends=('zlib>=1.2.4' 'readline>=6.1' 'ncurses>=5.7')
makedepends=('python')
options=('!libtool')
url="http://www.xmlsoft.org/"
-source=(ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('8f4fda3969237c2a33bdb1583b5d06b2')
+source=(ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ largefile64.patch)
+md5sums=('9abc9959823ca9ff904f1fbcf21df066'
+ '5ad4915665608ebfa5b89f7908467a72')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/largefile64.patch" || return 1
./configure --prefix=/usr --with-threads --with-history || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
diff --git a/abs/core-testing/libxt/PKGBUILD b/abs/core-testing/libxt/PKGBUILD
index 1d1ab51..86695f7 100644
--- a/abs/core-testing/libxt/PKGBUILD
+++ b/abs/core-testing/libxt/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 73000 2010-03-21 17:33:15Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxt
-pkgver=1.0.5
+pkgver=1.0.8
pkgrel=1
pkgdesc="X11 toolkit intrinsics library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('libsm' 'libx11')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXt-${pkgver}.tar.bz2)
-md5sums=('f3bdd67785ace8cd0b23249e9d8c9975')
+sha1sums=('d5e3dfba90a12169771399b3e2ccae07243489c9')
build() {
- cd ${startdir}/src/libXt-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --build=${CHOST} --host=${CHOST} \
- --disable-install-makestrs
+ cd "${srcdir}/libXt-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+# install custom license
+ install -Dm644 "${srcdir}/libXt-${pkgver}/COPYING" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" || return 1
}
diff --git a/abs/core-testing/libxv/PKGBUILD b/abs/core-testing/libxv/PKGBUILD
index fa03f4c..ded0f7a 100644
--- a/abs/core-testing/libxv/PKGBUILD
+++ b/abs/core-testing/libxv/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 577 2008-04-21 09:50:50Z alexander $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org.
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55267 2009-10-12 16:19:29Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=libxv
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 Video extension library"
arch=(i686 x86_64)
@@ -12,14 +12,14 @@ depends=('libxext' 'videoproto')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXv-${pkgver}.tar.bz2)
+md5sums=('1d97798b1d8bbf8d9085e1b223a0738f')
build() {
cd ${startdir}/src/libXv-${pkgver}
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --disable-static
make || return 1
make DESTDIR=${startdir}/pkg install || return 1
install -D -m644 ${startdir}/src/libXv-${pkgver}/COPYING \
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING
}
-md5sums=('723a0275227165383e967a1ca8899b52')
diff --git a/abs/core-testing/libxvmc/LICENSE b/abs/core-testing/libxvmc/LICENSE
new file mode 100644
index 0000000..e423bcb
--- /dev/null
+++ b/abs/core-testing/libxvmc/LICENSE
@@ -0,0 +1,23 @@
+Copyright (c) 1995, 1996 The XFree86 Project, Inc
+XvMCWrapper.c - Copyright (c) 2004 The Unichrome project. All rights reserved.
+XvMCWrapper.c - Author: Thomas Hellström (2004)
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/abs/core-testing/libxvmc/PKGBUILD b/abs/core-testing/libxvmc/PKGBUILD
index 49c76b7..c22aeb4 100644
--- a/abs/core-testing/libxvmc/PKGBUILD
+++ b/abs/core-testing/libxvmc/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 55272 2009-10-12 16:22:20Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxvmc
-pkgver=1.0.4
+pkgver=1.0.5
pkgrel=1
pkgdesc="X11 Video Motion Compensation extension library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxv>=1.0.3')
+license=('custom')
+depends=('libxv>=1.0.5')
makedepends=('pkgconfig')
options=('!libtool')
-source=(${url}/releases/individual/lib/libXvMC-${pkgver}.tar.bz2)
-md5sums=('b54600573daf9d1a29b952e8d35b389e')
+source=(${url}/releases/individual/lib/libXvMC-${pkgver}.tar.bz2 LICENSE)
+md5sums=('16c3a11add14979beb7510e44623cac6'
+ 'ca9d908b0fa487a213802ff38336259d')
build() {
- cd ${startdir}/src/libXvMC-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
+ cd ${srcdir}/libXvMC-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static \
--build=${CHOST} --host=${CHOST}
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
-
diff --git a/abs/core-testing/libxxf86dga/PKGBUILD b/abs/core-testing/libxxf86dga/PKGBUILD
index 5adc89f..a71b8e2 100644
--- a/abs/core-testing/libxxf86dga/PKGBUILD
+++ b/abs/core-testing/libxxf86dga/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 55279 2009-10-12 16:27:32Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
pkgname=libxxf86dga
-pkgver=1.0.2
+pkgver=1.1.1
pkgrel=1
pkgdesc="X11 Direct Graphics Access extension library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxext' 'xf86dgaproto>=2.0.3')
+license=('custom')
+depends=('libxext>=1.1' 'xf86dgaproto>=2.1')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXxf86dga-${pkgver}.tar.bz2)
+md5sums=('368837d3d7a4d3b4f70be48383e3544e')
build() {
- cd ${startdir}/src/libXxf86dga-${pkgver}
- ./configure --prefix=/usr \
- --build=${CHOST} --host=${CHOST}
+ cd "${srcdir}/libXxf86dga-${pkgver}"
+ ./configure --prefix=/usr --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-
-md5sums=('6f5f621804ee652b6cc6f2025c517c78')
diff --git a/abs/core-testing/libxxf86misc/PKGBUILD b/abs/core-testing/libxxf86misc/PKGBUILD
index 6899377..1df2bbf 100644
--- a/abs/core-testing/libxxf86misc/PKGBUILD
+++ b/abs/core-testing/libxxf86misc/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 55245 2009-10-12 16:01:59Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxxf86misc
-pkgver=1.0.1
+pkgver=1.0.2
pkgrel=1
pkgdesc="X11 XFree86 miscellaneous extension library"
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=(libxext xf86miscproto)
makedepends=(pkgconfig)
options=(!libtool)
-arch=('i686' 'x86_64')
source=(${url}/releases/individual/lib/libXxf86misc-${pkgver}.tar.bz2)
-md5sums=(7cee0df63903cef7f7a3fb68cdd99eef)
+md5sums=('51fed53e8de067d4b8666f75a0212400')
build() {
- cd ${startdir}/src/libXxf86misc-${pkgver}
- ./configure --prefix=/usr \
+ cd ${srcdir}/libXxf86misc-${pkgver}
+ ./configure --prefix=/usr --mandir=/usr/share/man --disable-static \
--build=${CHOST} --host=${CHOST}
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core-testing/libxxf86vm/PKGBUILD b/abs/core-testing/libxxf86vm/PKGBUILD
index 58a2803..7d0f7d7 100644
--- a/abs/core-testing/libxxf86vm/PKGBUILD
+++ b/abs/core-testing/libxxf86vm/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 4409 2008-07-06 20:49:15Z jgc $
+# $Id: PKGBUILD 54608 2009-10-11 11:43:26Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxxf86vm
-pkgver=1.0.2
+pkgver=1.1.0
pkgrel=1
pkgdesc="X11 XFree86 video mode extension library"
arch=('x86_64' 'i686')
license=('custom')
url="http://xorg.freedesktop.org/"
-depends=('libxext' 'xf86vidmodeproto')
+depends=('libxext>=1.1' 'xf86vidmodeproto>=2.3')
makedepends=('pkgconfig')
options=('!libtool')
source=(${url}/releases/individual/lib/libXxf86vm-${pkgver}.tar.bz2)
-md5sums=('304d37bd0a10d9b58aa9b64469ad73e5')
+md5sums=('b431ad7084e1055fef99a9115237edd8')
build() {
- cd ${startdir}/src/libXxf86vm-${pkgver}
- ./configure --prefix=/usr || return 1
+ cd "${srcdir}/libXxf86vm-${pkgver}"
+ ./configure --prefix=/usr --disable-static || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/linux-api-headers/PKGBUILD b/abs/core-testing/linux-api-headers/PKGBUILD
new file mode 100644
index 0000000..7090df8
--- /dev/null
+++ b/abs/core-testing/linux-api-headers/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 80778 2010-05-22 07:55:08Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=linux-api-headers
+pkgver=2.6.34
+_basever=2.6.34
+pkgrel=1
+pkgdesc="Kernel headers sanitized for use in userspace"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL2')
+provides=("kernel-headers=${pkgver}")
+conflicts=("glibc<=2.10.1-4" 'kernel-headers')
+replaces=('kernel-headers')
+source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${_basever}.tar.bz2
+ #http://www.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2
+ scsi.patch)
+md5sums=('10eebcb0178fb4540e2165bfd7efc7ad'
+ 'b6d05566fcfe07770d9386f0588f8758')
+
+build() {
+ cd ${srcdir}/linux-${_basever}
+ #patch -Np1 -i ${srcdir}/patch-${pkgver}
+
+ # fix issues with transition of scsi.h from glibc
+ patch -Np1 -i ${srcdir}/scsi.patch
+
+ make mrproper
+ make headers_check
+}
+
+package() {
+ cd ${srcdir}/linux-${_basever}
+ make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
+
+ # use headers from libdrm
+ rm -rf ${pkgdir}/usr/include/drm
+
+ rm -f $(find ${pkgdir} -name .install -or -name ..install.cmd)
+}
diff --git a/abs/core-testing/linux-api-headers/scsi.patch b/abs/core-testing/linux-api-headers/scsi.patch
new file mode 100644
index 0000000..f85a3b7
--- /dev/null
+++ b/abs/core-testing/linux-api-headers/scsi.patch
@@ -0,0 +1,42 @@
+diff -Naur linux-2.6.32-old/include/scsi/scsi.h linux-2.6.32/include/scsi/scsi.h
+--- linux-2.6.32-old/include/scsi/scsi.h 2009-12-03 13:51:21.000000000 +1000
++++ linux-2.6.32/include/scsi/scsi.h 2009-12-12 10:43:11.000000000 +1000
+@@ -145,14 +145,15 @@
+
+ /* defined in T10 SCSI Primary Commands-2 (SPC2) */
+ struct scsi_varlen_cdb_hdr {
+- u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
+- u8 control;
+- u8 misc[5];
+- u8 additional_cdb_length; /* total cdb length - 8 */
++ __u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */
++ __u8 control;
++ __u8 misc[5];
++ __u8 additional_cdb_length; /* total cdb length - 8 */
+ __be16 service_action;
+ /* service specific data follows */
+ };
+
++#ifdef __KERNEL__
+ static inline unsigned
+ scsi_varlen_cdb_length(const void *hdr)
+ {
+@@ -168,6 +169,7 @@
+ return (cmnd[0] == VARIABLE_LENGTH_CMD) ?
+ scsi_varlen_cdb_length(cmnd) : COMMAND_SIZE(cmnd[0]);
+ }
++#endif
+
+ /*
+ * SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft
+@@ -284,8 +286,10 @@
+ SCSI_PROTOCOL_UNSPEC = 0xf, /* No specific protocol */
+ };
+
++#ifdef __KERNEL__
+ /* Returns a human-readable name for the device */
+ extern const char * scsi_device_type(unsigned type);
++#endif
+
+ /*
+ * standard mode-select header prepended to all mode-select commands
diff --git a/abs/core-testing/linux-firmware/PKGBUILD b/abs/core-testing/linux-firmware/PKGBUILD
new file mode 100644
index 0000000..c1a32bb
--- /dev/null
+++ b/abs/core-testing/linux-firmware/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 85247 2010-07-11 09:33:36Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+
+#
+# Create a new tarball from the linux-firmware git tree with the following command:
+# git archive --format=tar --prefix linux-firmware-$(date +%Y%m%d)/ master | xz -9 > linux-firmware-$(date +%Y%m%d).tar.xz
+#
+
+pkgname=linux-firmware
+pkgver=20100623
+pkgrel=2
+pkgdesc="Firmware files for Linux"
+arch=('any')
+url="http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=summary"
+license=('GPL2' 'GPL3' 'custom')
+provides=('kernel26-firmware=2.6.34.99')
+conflicts=('linux-firmware-git'
+ 'kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw')
+replaces=('kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw')
+options=(!strip)
+source=(ftp://ftp.archlinux.org/other/linux-firmware/$pkgname-$pkgver.tar.xz
+ http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170/ar9170.fw)
+sha256sums=('f78f96a4d330ecded5e6a6e61c1e6f2cdf915625b65040f4bd3e6dfea44f367d'
+ '1b379c5a8d6ab3a43911f7949d6306fe2dae3afb1368be5452a8fc7d9c54e0a0')
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -d -m755 "${pkgdir}/lib/firmware"
+ cp -a * "${pkgdir}/lib/firmware/"
+ install -d -m755 "${pkgdir}/usr/share/licenses/linux-firmware/"
+ rm -f "${pkgdir}/lib/firmware/GPL*"
+ mv "${pkgdir}/lib/firmware"/{LICEN*,WHENCE} "${pkgdir}/usr/share/licenses/linux-firmware/"
+
+ # Add missing firmware files
+ # https://bugs.archlinux.org/task/19912
+ cd "${pkgdir}/lib/firmware/bnx2"
+ ln -s bnx2-mips-09-5.0.0.j15.fw bnx2-mips-09-5.0.0.j9.fw
+ cd -
+ # https://bugs.archlinux.org/task/20064
+ install -m644 "${srcdir}/ar9170.fw" "${pkgdir}/lib/firmware/"
+}
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core-testing/lirc-utils/PKGBUILD b/abs/core-testing/lirc-utils/PKGBUILD
index c4d5759..9eff254 100644
--- a/abs/core-testing/lirc-utils/PKGBUILD
+++ b/abs/core-testing/lirc-utils/PKGBUILD
@@ -1,36 +1,27 @@
-# $Id: PKGBUILD 6058 2008-07-23 02:50:00Z eric $
+# $Id: PKGBUILD 56261 2009-10-20 19:13:10Z hugo $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=lirc-utils
-pkgver=0.8.5CVS
-pkgrel=7
+pkgver=0.8.6
+pkgrel=4
pkgdesc="Linux Infrared Remote Control utils"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://www.lirc.org/"
license=('GPL')
-_kernver=2.6.28-LinHES
-depends=('alsa-lib' 'libusb' 'libx11' 'libsm' 'iguanaIR')
-#makedepends=('help2man')
+_kernver=2.6.34-ARCH
+depends=('alsa-lib' 'libusb' 'libx11' 'libsm' 'python' 'libftdi')
+makedepends=('help2man')
replaces=('lirc+pctv')
-backup=('etc/lircd.conf' 'etc/lircmd.conf'\
- 'etc/conf.d/lircd')
+backup=('etc/conf.d/lircd.conf' 'etc/conf.d/lircmd.conf' 'etc/lirc/lircd.conf')
options=('!libtool' '!makeflags')
-source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
- lircd lircmd lirc.logrotate lircd.conf.d \
- kernel-2.6.26.patch lirc_atiusb.patch
- hw_commandir.c
- hw_commandir.h)
-md5sums=('b96dae91b566143b3af433fa2714ec9a' '909ad968afa10e4511e1da277bb23c3b'\
- '85f7fdac55e5256967241864049bf5e9' '3deb02604b37811d41816e9b4385fcc3'\
- '5b1f8c9cd788a39a6283f93302ce5c6e' '1753acd774f50b638e6173d364de53fd'\
- '7eccd7826ab99e5cf1b9154171c8b927')
+source=(http://downloads.sourceforge.net/sourceforge/lirc/lirc-$pkgver.tar.bz2
+ lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd kernel-2.6.33.patch)
build() {
# configure
- cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
- cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
-# patch -Np1 -i ../kernel-2.6.26.patch || return 1
- patch -Np1 -i ../lirc_atiusb.patch || return 1
+ cd ${srcdir}/lirc-$pkgver || return 1
+
+ patch -p0 < ../kernel-2.6.33.patch || return 1
# Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+
sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am || return 1
@@ -51,22 +42,38 @@ build() {
# build
make || return 1
- make DESTDIR=$startdir/pkg install || return 1
- mkdir -p $startdir/pkg/usr/share/lirc $startdir/pkg/etc/rc.d \
+ make DESTDIR=${pkgdir} install || return 1
+ mkdir -p ${pkgdir}/usr/share/lirc ${pkgdir}/etc/rc.d \
|| return 1
- cp $startdir/src/{lircd,lircmd} $startdir/pkg/etc/rc.d/ \
+ cp ${srcdir}/{lircd,lircmd,irexecd} ${pkgdir}/etc/rc.d/ \
|| return 1
- cp -rp remotes $startdir/pkg/usr/share/lirc || return 1
- chmod -R go-w $startdir/pkg/usr/share/lirc/ || return 1
+ cp -rp remotes ${pkgdir}/usr/share/lirc || return 1
+ chmod -R go-w ${pkgdir}/usr/share/lirc/ || return 1
+
# install the logrotate config
- install -D -m644 $startdir/src/lirc.logrotate \
- $startdir/pkg/etc/logrotate.d/lirc || return 1
-
+ install -D -m644 ${srcdir}/lirc.logrotate \
+ ${pkgdir}/etc/logrotate.d/lirc || return 1
+
# install conf.d file
- install -D -m644 $startdir/src/lircd.conf.d \
- $startdir/pkg/etc/conf.d/lircd || return 1
+ install -D -m644 ${srcdir}/lircd.conf \
+ ${pkgdir}/etc/conf.d/lircd.conf || return 1
+
+ # install conf.d file
+ install -D -m644 ${srcdir}/irexec.conf \
+ ${pkgdir}/etc/conf.d/irexec.conf || return 1
+
+ install -d -m755 ${pkgdir}/etc/lirc || return 1
+ install -d -m755 ${pkgdir}/var/run/lirc || return 1
# remove built modules
- rm -r $startdir/pkg/lib/
+ rm -r ${pkgdir}/lib/
}
+md5sums=('4ca24da6f5e7c2dcea74878c27a4a3f7'
+ '310f718169b16b6afa6615fa53a0ef21'
+ '85f7fdac55e5256967241864049bf5e9'
+ '3deb02604b37811d41816e9b4385fcc3'
+ '5b1f8c9cd788a39a6283f93302ce5c6e'
+ 'f0c0ac930326168035f0c8e24357ae55'
+ '618ca4f666341d6ade8c616ce59f4d1b'
+ 'f029698154cf32bc51e5e69879d53a12')
diff --git a/abs/core-testing/lirc-utils/irexec.conf b/abs/core-testing/lirc-utils/irexec.conf
new file mode 100644
index 0000000..f911c75
--- /dev/null
+++ b/abs/core-testing/lirc-utils/irexec.conf
@@ -0,0 +1,5 @@
+#
+# Parameters for irexec daemon (path to lircrc)
+#
+
+IREXEC_OPTS="" \ No newline at end of file
diff --git a/abs/core-testing/lirc-utils/irexecd b/abs/core-testing/lirc-utils/irexecd
new file mode 100755
index 0000000..b8c902d
--- /dev/null
+++ b/abs/core-testing/lirc-utils/irexecd
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/irexec.conf
+
+PID=`pidof -o %PPID /usr/bin/irexec`
+case "$1" in
+ start)
+ stat_busy "Starting IREXEC Daemon"
+ [ -z "$PID" ] && /usr/bin/irexec --daemon $IREXEC_OPTS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon irexec
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping IREXEC Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon irexec
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
+
diff --git a/abs/core-testing/lirc-utils/kernel-2.6.33.patch b/abs/core-testing/lirc-utils/kernel-2.6.33.patch
new file mode 100644
index 0000000..7827e00
--- /dev/null
+++ b/abs/core-testing/lirc-utils/kernel-2.6.33.patch
@@ -0,0 +1,475 @@
+--- drivers/lirc_dev/lirc_dev.h 2009/03/15 09:34:00 1.37 lirc-0_8_6
++++ drivers/lirc_dev/lirc_dev.h 2009/12/28 15:21:17 1.38
+@@ -4,7 +4,7 @@
+ * (L) by Artur Lipowski <alipowski@interia.pl>
+ * This code is licensed under GNU GPL
+ *
+- * $Id: lirc_dev.h,v 1.37 2009/03/15 09:34:00 lirc Exp $
++ * $Id: lirc_dev.h,v 1.38 2009/12/28 15:21:17 jarodwilson Exp $
+ *
+ */
+
+@@ -30,14 +30,19 @@
+
+ struct lirc_buffer {
+ wait_queue_head_t wait_poll;
+- spinlock_t lock;
++ spinlock_t fifo_lock;
+ unsigned int chunk_size;
+ unsigned int size; /* in chunks */
+ /* Using chunks instead of bytes pretends to simplify boundary checking
+ * And should allow for some performance fine tunning later */
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ struct kfifo *fifo;
+ #else
++ struct kfifo fifo;
++ u8 fifo_initialized;
++#endif
++#else
+ unsigned int fill; /* in chunks */
+ int head, tail; /* in chunks */
+ unsigned char *data;
+@@ -47,12 +52,12 @@
+ static inline void lirc_buffer_lock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_lock_irqsave(&buf->lock, *flags);
++ spin_lock_irqsave(&buf->fifo_lock, *flags);
+ }
+ static inline void lirc_buffer_unlock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_unlock_irqrestore(&buf->lock, *flags);
++ spin_unlock_irqrestore(&buf->fifo_lock, *flags);
+ }
+ static inline void _lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+@@ -63,11 +68,20 @@
+ #endif
+ static inline void lirc_buffer_clear(struct lirc_buffer *buf)
+ {
++ unsigned long flags;
++
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_reset(buf->fifo);
+ #else
+- unsigned long flags;
++ if (buf->fifo_initialized) {
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ kfifo_reset(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++ }
++#endif
++#else
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_clear(buf);
+ lirc_buffer_unlock(buf, &flags);
+@@ -77,31 +91,47 @@
+ unsigned int chunk_size,
+ unsigned int size)
+ {
++ int ret = 0;
++
+ init_waitqueue_head(&buf->wait_poll);
+- spin_lock_init(&buf->lock);
++ spin_lock_init(&buf->fifo_lock);
+ #ifndef LIRC_HAVE_KFIFO
+ _lirc_buffer_clear(buf);
+ #endif
+ buf->chunk_size = chunk_size;
+ buf->size = size;
+ #ifdef LIRC_HAVE_KFIFO
+- buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->lock);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->fifo_lock);
+ if (!buf->fifo)
+ return -ENOMEM;
+ #else
++ ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL);
++ if (ret == 0)
++ buf->fifo_initialized = 1;
++#endif
++#else
+ buf->data = kmalloc(size*chunk_size, GFP_KERNEL);
+ if (buf->data == NULL)
+ return -ENOMEM;
+ memset(buf->data, 0, size*chunk_size);
+ #endif
+- return 0;
++
++ return ret;
+ }
+ static inline void lirc_buffer_free(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_free(buf->fifo);
+ #else
++ if (buf->fifo_initialized) {
++ kfifo_free(&buf->fifo);
++ buf->fifo_initialized = 0;
++ }
++#endif
++#else
+ kfree(buf->data);
+ buf->data = NULL;
+ buf->head = 0;
+@@ -111,6 +141,25 @@
+ buf->size = 0;
+ #endif
+ }
++
++#ifdef LIRC_HAVE_KFIFO
++static inline int lirc_buffer_len(struct lirc_buffer *buf)
++{
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ return kfifo_len(buf->fifo);
++#else
++ int len;
++ unsigned long flags;
++
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ len = kfifo_len(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++
++ return len;
++#endif
++}
++#endif
++
+ #ifndef LIRC_HAVE_KFIFO
+ static inline int _lirc_buffer_full(struct lirc_buffer *buf)
+ {
+@@ -120,7 +169,7 @@
+ static inline int lirc_buffer_full(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return kfifo_len(buf->fifo) == buf->size * buf->chunk_size;
++ return lirc_buffer_len(buf) == buf->size * buf->chunk_size;
+ #else
+ unsigned long flags;
+ int ret;
+@@ -139,7 +188,7 @@
+ static inline int lirc_buffer_empty(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return !kfifo_len(buf->fifo);
++ return !lirc_buffer_len(buf);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -158,7 +207,7 @@
+ static inline int lirc_buffer_available(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return buf->size - (kfifo_len(buf->fifo) / buf->chunk_size);
++ return buf->size - (lirc_buffer_len(buf) / buf->chunk_size);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -177,21 +226,30 @@
+ buf->fill -= 1;
+ }
+ #endif
+-static inline void lirc_buffer_read(struct lirc_buffer *buf,
+- unsigned char *dest)
++static inline unsigned int lirc_buffer_read(struct lirc_buffer *buf,
++ unsigned char *dest)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- if (kfifo_len(buf->fifo) >= buf->chunk_size)
+- kfifo_get(buf->fifo, dest, buf->chunk_size);
++ if (lirc_buffer_len(buf) >= buf->chunk_size)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_get(buf->fifo, dest, buf->chunk_size);
++#else
++ ret = kfifo_out_locked(&buf->fifo, dest, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_read_1(buf, dest);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+-static inline void _lirc_buffer_write_1(struct lirc_buffer *buf,
++static inline _lirc_buffer_write_1(struct lirc_buffer *buf,
+ unsigned char *orig)
+ {
+ memcpy(&buf->data[buf->tail*buf->chunk_size], orig, buf->chunk_size);
+@@ -199,17 +257,26 @@
+ buf->fill++;
+ }
+ #endif
+-static inline void lirc_buffer_write(struct lirc_buffer *buf,
+- unsigned char *orig)
++static inline unsigned int lirc_buffer_write(struct lirc_buffer *buf,
++ unsigned char *orig)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_1(buf, orig);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+ static inline void _lirc_buffer_write_n(struct lirc_buffer *buf,
+@@ -234,17 +301,26 @@
+ buf->fill += count;
+ }
+ #endif
+-static inline void lirc_buffer_write_n(struct lirc_buffer *buf,
+- unsigned char *orig, int count)
++static inline unsigned int lirc_buffer_write_n(struct lirc_buffer *buf,
++ unsigned char *orig, int count)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, count * buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_n(buf, orig, count);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+
+ struct lirc_driver {
+--- drivers/lirc_dev/lirc_dev.c.old 2009-08-31 12:57:55.000000000 -0400
++++ drivers/lirc_dev/lirc_dev.c 2010-03-07 01:40:17.000000000 -0500
+@@ -32,7 +32,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/sched.h>
+--- drivers/lirc_sir/lirc_sir.c.old 2009-07-09 18:24:23.000000000 -0400
++++ drivers/lirc_sir/lirc_sir.c 2010-03-07 01:40:17.000000000 -0500
+@@ -45,7 +45,11 @@
+ # include <config.h>
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #if !defined(CONFIG_SERIAL_MODULE)
+ #if !defined(LIRC_ON_SA1100)
+ #warning "******************************************"
+--- drivers/lirc_serial/lirc_serial.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_serial/lirc_serial.c 2010-03-07 01:40:17.000000000 -0500
+@@ -60,7 +60,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #if defined(CONFIG_SERIAL) || defined(CONFIG_SERIAL_8250)
+ #warning "******************************************"
+--- drivers/lirc_bt829/lirc_bt829.c.old 2009-03-09 14:54:17.000000000 -0400
++++ drivers/lirc_bt829/lirc_bt829.c 2010-03-07 01:40:17.000000000 -0500
+@@ -22,7 +22,11 @@
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 0)
+ #error "This driver needs kernel version 2.4.0 or higher"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/threads.h>
+--- drivers/lirc_sasem/lirc_sasem.c.old 2009-02-28 05:27:10.000000000 -0500
++++ drivers/lirc_sasem/lirc_sasem.c 2010-03-07 01:40:17.000000000 -0500
+@@ -41,7 +41,11 @@
+ #error "*** Sorry, this driver requires kernel version 2.4.22 or higher"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_igorplugusb/lirc_igorplugusb.c.old 2009-08-02 05:54:10.000000000 -0400
++++ drivers/lirc_igorplugusb/lirc_igorplugusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -47,7 +47,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/kmod.h>
+--- drivers/lirc_imon/lirc_imon.c.old 2009-09-11 00:56:18.000000000 -0400
++++ drivers/lirc_imon/lirc_imon.c 2010-03-07 01:40:17.000000000 -0500
+@@ -30,7 +30,11 @@
+ #error "*** Sorry, this driver requires a 2.6 kernel"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_it87/lirc_it87.c.old 2009-06-01 08:21:31.000000000 -0400
++++ drivers/lirc_it87/lirc_it87.c 2010-03-07 01:40:17.000000000 -0500
+@@ -36,7 +36,11 @@
+
+ #include <linux/version.h>
+ #include <linux/module.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
+--- drivers/lirc_streamzap/lirc_streamzap.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_streamzap/lirc_streamzap.c 2010-03-07 01:40:17.000000000 -0500
+@@ -35,7 +35,11 @@
+ #error "Sorry, this driver needs kernel version 2.4.0 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_atiusb/lirc_atiusb.c.old 2009-03-10 20:21:46.000000000 -0400
++++ drivers/lirc_atiusb/lirc_atiusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -43,7 +43,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+--- drivers/lirc_parallel/lirc_parallel.c.old 2009-03-08 15:22:28.000000000 -0400
++++ drivers/lirc_parallel/lirc_parallel.c 2010-03-07 01:40:17.000000000 -0500
+@@ -34,7 +34,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #ifdef CONFIG_SMP
+ #error "--- Sorry, this driver is not SMP safe. ---"
+ #endif
+@@ -43,7 +47,11 @@
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/fs.h>
+ #include <linux/kernel.h>
+ #include <linux/ioport.h>
+--- drivers/lirc_wpc8769l/lirc_wpc8769l.c.old 2009-03-15 05:34:01.000000000 -0400
++++ drivers/lirc_wpc8769l/lirc_wpc8769l.c 2010-03-07 01:40:17.000000000 -0500
+@@ -37,7 +37,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/module.h>
+ #include <linux/errno.h>
+--- drivers/lirc_mceusb/lirc_mceusb.c.old 2009-09-02 10:04:02.000000000 -0400
++++ drivers/lirc_mceusb/lirc_mceusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -52,7 +52,11 @@
+ #error "Sorry, this driver needs kernel version 2.6.5 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_i2c/lirc_i2c.c 2009/08/30 16:59:53 1.70
++++ drivers/lirc_i2c/lirc_i2c.c 2009/12/15 05:37:00 1.71
+@@ -399,8 +399,8 @@
+ .name = "i2c ir driver",
+ },
+ #endif
+- .id = I2C_DRIVERID_EXP3, /* FIXME */
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
++ .id = I2C_DRIVERID_EXP3, /* FIXME */
+ .attach_adapter = ir_probe,
+ .detach_client = ir_remove,
+ #else
diff --git a/abs/core-testing/lirc-utils/lirc.logrotate b/abs/core-testing/lirc-utils/lirc.logrotate
index df97c60..623c4f3 100644
--- a/abs/core-testing/lirc-utils/lirc.logrotate
+++ b/abs/core-testing/lirc-utils/lirc.logrotate
@@ -2,7 +2,4 @@
missingok
notifempty
delaycompress
- postrotate
- /usr/bin/killall -HUP -q lircd
- endscript
}
diff --git a/abs/core-testing/lirc-utils/lirc_patch b/abs/core-testing/lirc-utils/lirc_patch
new file mode 100644
index 0000000..021ad50
--- /dev/null
+++ b/abs/core-testing/lirc-utils/lirc_patch
@@ -0,0 +1,270 @@
+diff -ruaN lirc-0.8.6.orig//drivers/lirc_dev/lirc_dev.h lirc-0.8.6/drivers/lirc_dev/lirc_dev.h
+--- lirc-0.8.6.orig//drivers/lirc_dev/lirc_dev.h 2009-03-15 09:34:00.000000000 +0000
++++ lirc-0.8.6/drivers/lirc_dev/lirc_dev.h 2010-08-04 02:20:07.000000000 +0000
+@@ -4,7 +4,7 @@
+ * (L) by Artur Lipowski <alipowski@interia.pl>
+ * This code is licensed under GNU GPL
+ *
+- * $Id: lirc_dev.h,v 1.37 2009/03/15 09:34:00 lirc Exp $
++ * $Id: lirc_dev.h,v 1.39 2010/01/23 16:28:07 lirc Exp $
+ *
+ */
+
+@@ -30,14 +30,19 @@
+
+ struct lirc_buffer {
+ wait_queue_head_t wait_poll;
+- spinlock_t lock;
++ spinlock_t fifo_lock;
+ unsigned int chunk_size;
+ unsigned int size; /* in chunks */
+ /* Using chunks instead of bytes pretends to simplify boundary checking
+ * And should allow for some performance fine tunning later */
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ struct kfifo *fifo;
+ #else
++ struct kfifo fifo;
++ u8 fifo_initialized;
++#endif
++#else
+ unsigned int fill; /* in chunks */
+ int head, tail; /* in chunks */
+ unsigned char *data;
+@@ -47,12 +52,12 @@
+ static inline void lirc_buffer_lock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_lock_irqsave(&buf->lock, *flags);
++ spin_lock_irqsave(&buf->fifo_lock, *flags);
+ }
+ static inline void lirc_buffer_unlock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_unlock_irqrestore(&buf->lock, *flags);
++ spin_unlock_irqrestore(&buf->fifo_lock, *flags);
+ }
+ static inline void _lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+@@ -64,10 +69,21 @@
+ static inline void lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_reset(buf->fifo);
+ #else
+ unsigned long flags;
++
++ if (buf->fifo_initialized) {
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ kfifo_reset(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++ }
++#endif
++#else
++ unsigned long flags;
++
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_clear(buf);
+ lirc_buffer_unlock(buf, &flags);
+@@ -77,31 +93,47 @@
+ unsigned int chunk_size,
+ unsigned int size)
+ {
++ int ret = 0;
++
+ init_waitqueue_head(&buf->wait_poll);
+- spin_lock_init(&buf->lock);
++ spin_lock_init(&buf->fifo_lock);
+ #ifndef LIRC_HAVE_KFIFO
+ _lirc_buffer_clear(buf);
+ #endif
+ buf->chunk_size = chunk_size;
+ buf->size = size;
+ #ifdef LIRC_HAVE_KFIFO
+- buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->lock);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->fifo_lock);
+ if (!buf->fifo)
+ return -ENOMEM;
+ #else
++ ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL);
++ if (ret == 0)
++ buf->fifo_initialized = 1;
++#endif
++#else
+ buf->data = kmalloc(size*chunk_size, GFP_KERNEL);
+ if (buf->data == NULL)
+ return -ENOMEM;
+ memset(buf->data, 0, size*chunk_size);
+ #endif
+- return 0;
++
++ return ret;
+ }
+ static inline void lirc_buffer_free(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_free(buf->fifo);
+ #else
++ if (buf->fifo_initialized) {
++ kfifo_free(&buf->fifo);
++ buf->fifo_initialized = 0;
++ }
++#endif
++#else
+ kfree(buf->data);
+ buf->data = NULL;
+ buf->head = 0;
+@@ -111,6 +143,25 @@
+ buf->size = 0;
+ #endif
+ }
++
++#ifdef LIRC_HAVE_KFIFO
++static inline int lirc_buffer_len(struct lirc_buffer *buf)
++{
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ return kfifo_len(buf->fifo);
++#else
++ int len;
++ unsigned long flags;
++
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ len = kfifo_len(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++
++ return len;
++#endif
++}
++#endif
++
+ #ifndef LIRC_HAVE_KFIFO
+ static inline int _lirc_buffer_full(struct lirc_buffer *buf)
+ {
+@@ -120,7 +171,7 @@
+ static inline int lirc_buffer_full(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return kfifo_len(buf->fifo) == buf->size * buf->chunk_size;
++ return lirc_buffer_len(buf) == buf->size * buf->chunk_size;
+ #else
+ unsigned long flags;
+ int ret;
+@@ -139,7 +190,7 @@
+ static inline int lirc_buffer_empty(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return !kfifo_len(buf->fifo);
++ return !lirc_buffer_len(buf);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -158,7 +209,7 @@
+ static inline int lirc_buffer_available(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return buf->size - (kfifo_len(buf->fifo) / buf->chunk_size);
++ return buf->size - (lirc_buffer_len(buf) / buf->chunk_size);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -177,21 +228,30 @@
+ buf->fill -= 1;
+ }
+ #endif
+-static inline void lirc_buffer_read(struct lirc_buffer *buf,
+- unsigned char *dest)
++static inline unsigned int lirc_buffer_read(struct lirc_buffer *buf,
++ unsigned char *dest)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- if (kfifo_len(buf->fifo) >= buf->chunk_size)
+- kfifo_get(buf->fifo, dest, buf->chunk_size);
++ if (lirc_buffer_len(buf) >= buf->chunk_size)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_get(buf->fifo, dest, buf->chunk_size);
++#else
++ ret = kfifo_out_locked(&buf->fifo, dest, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_read_1(buf, dest);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+-static inline void _lirc_buffer_write_1(struct lirc_buffer *buf,
++static inline _lirc_buffer_write_1(struct lirc_buffer *buf,
+ unsigned char *orig)
+ {
+ memcpy(&buf->data[buf->tail*buf->chunk_size], orig, buf->chunk_size);
+@@ -199,17 +259,26 @@
+ buf->fill++;
+ }
+ #endif
+-static inline void lirc_buffer_write(struct lirc_buffer *buf,
+- unsigned char *orig)
++static inline unsigned int lirc_buffer_write(struct lirc_buffer *buf,
++ unsigned char *orig)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_1(buf, orig);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+ static inline void _lirc_buffer_write_n(struct lirc_buffer *buf,
+@@ -234,17 +303,26 @@
+ buf->fill += count;
+ }
+ #endif
+-static inline void lirc_buffer_write_n(struct lirc_buffer *buf,
+- unsigned char *orig, int count)
++static inline unsigned int lirc_buffer_write_n(struct lirc_buffer *buf,
++ unsigned char *orig, int count)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, count * buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_n(buf, orig, count);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+
+ struct lirc_driver {
diff --git a/abs/core-testing/lirc-utils/lircd b/abs/core-testing/lirc-utils/lircd
index f4686d7..27e5af3 100755
--- a/abs/core-testing/lirc-utils/lircd
+++ b/abs/core-testing/lirc-utils/lircd
@@ -2,12 +2,19 @@
. /etc/rc.conf
. /etc/rc.d/functions
-. /etc/conf.d/lircd
+. /etc/conf.d/lircd.conf
PID=$(pidof -o %PPID /usr/sbin/lircd)
+LIRCD_SYMLINKFILE=/dev/lircd
+LIRCD_SOCKET=/var/run/lirc/lircd
case "$1" in
start)
stat_busy "Starting LIRC Daemon"
+ rm -f $LIRCD_SOCKET && ln -s $LIRCD_SOCKET $LIRCD_SYMLINKFILE
+ if [ $? -ne 0 ]; then
+ stat_fail
+ exit 0
+ fi
[ -n "$LIRC_DRIVER" ] && LIRC_EXTRAOPTS="-H $LIRC_DRIVER $LIRC_EXTRAOPTS"
[ -z "$PID" ] &&
if [ -n "$LIRC_DEVICE" ] ; then
@@ -24,6 +31,7 @@ case "$1" in
;;
stop)
stat_busy "Stopping LIRC Daemon"
+ rm -f $LIRCD_SYMLINKFILE
[ ! -z "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
@@ -38,6 +46,6 @@ case "$1" in
$0 start
;;
*)
- echo "usage: $0 {start|stop|restart}"
+ echo "usage: $0 start|stop|restart"
esac
exit 0
diff --git a/abs/core-testing/lirc-utils/lircd.conf.d b/abs/core-testing/lirc-utils/lircd.conf
index 760dab0..760dab0 100644
--- a/abs/core-testing/lirc-utils/lircd.conf.d
+++ b/abs/core-testing/lirc-utils/lircd.conf
diff --git a/abs/core-testing/lirc/PKGBUILD b/abs/core-testing/lirc/PKGBUILD
index 12dc3b4..8c3b5a6 100644
--- a/abs/core-testing/lirc/PKGBUILD
+++ b/abs/core-testing/lirc/PKGBUILD
@@ -1,38 +1,29 @@
-# $Id: PKGBUILD 14978 2008-10-11 21:04:37Z tpowa $
+# $Id: PKGBUILD 80419 2010-05-17 08:09:39Z tpowa $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=lirc
-pkgver=0.8.5CVS
-pkgrel=17
-_kernver=2.6.28-LinHES
+pkgver=0.8.6
+pkgrel=5
+_kernver=2.6.34-LinHES
pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://www.lirc.org/"
license=('GPL')
-depends=('lirc-utils=0.8.5CVS' 'kernel26>=2.6.27' 'kernel26<2.6.29' 'iguanaIR')
-makedepends=('python')
+depends=('lirc-utils=0.8.6' 'kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('help2man' 'kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
replaces=('lirc+pctv')
options=('!makeflags')
install=$pkgname.install
-source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
- kernel-2.6.26.patch
- kernel-2.6.27.patch
- lirc_atiusb.patch
- http://superb-east.dl.sourceforge.net/sourceforge/mod-mce/lirc_mod_mce-0.1.5.tar.bz2
- lirc_mod_mce.patch
- hw_commandir.c
- hw_commandir.h
- dvicoIR.rules
- lirc.fdi)
+source=("http://prdownloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'kernel-2.6.33.patch')
+md5sums=('4ca24da6f5e7c2dcea74878c27a4a3f7'
+ 'f029698154cf32bc51e5e69879d53a12')
build() {
# configure
- cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
- cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
-# patch -Np1 -i ../kernel-2.6.26.patch || return 1
-# patch -Np1 -i ../kernel-2.6.27.patch || return 1
- patch -Np1 -i ../lirc_atiusb.patch || return 1
-
+ cd ${srcdir}/lirc-${pkgver} || return 1
+ # see http://bugs.gentoo.org/301321
+ patch -p0 -i ../kernel-2.6.33.patch || return 1
./configure --enable-sandboxed --prefix=/usr \
--with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
--with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
@@ -44,6 +35,7 @@ build() {
sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
|| return 1
+
# disable lirc_gpio due to brokeness of kernel 2.6.23
sed -i -e "s:lirc_gpio::" \
Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
@@ -52,35 +44,9 @@ build() {
# build
cd drivers || return 1
make || return 1
- make DESTDIR=$startdir/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
# set the kernel we've built for inside the install script
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
- $startdir/lirc.install || return 1
- cd $startdir/src/lirc_mod_mce
- cp ../lirc-0.8.5-CVS-pvr150/drivers/lirc_dev/lirc_dev.h .
- patch -p1 < ../lirc_mod_mce.patch
- make KDIR=/usr/src/linux-2.6.28-LinHES/
- cp lirc_mod_mce.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/
- mv $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko.not
- #remove old commandir
- rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/lirc_cmdir.ko
- rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/commandir.ko
-
- # Add a udev rule for the DVICO remote so that if there is more than
- # one hiddev device, the system cant get confused.
- install -D -m644 $srcdir/dvicoIR.rules $pkgdir/etc/udev/rules.d/dvicoIR.rules
-
- # Add the fdi file to prevent the Dvico dual 4 remotes from screwing up keyboard interaction.
- install -D -m644 $srcdir/lirc.fdi $pkgdir/usr/share/hal/fdi/preprobe/20thirdparty/lirc.fdi
+ ${startdir}/lirc.install || return 1
}
-md5sums=('b96dae91b566143b3af433fa2714ec9a'
- '1753acd774f50b638e6173d364de53fd'
- '6f151eb4e81fc7776a06c9063e6ad9a5'
- '7eccd7826ab99e5cf1b9154171c8b927'
- '21ce358809105f005e888e3b138c59e6'
- 'b5d52566a9dae8d76e24e8753f33abef'
- 'f059f4030afc682c9539a03bf837c1cf'
- '4e698654cc44fc6c4163814acda5a7ee'
- '9a3a6dc03647ee6674a166dfb884ddd6'
- '203d9cd014c4276be4c84cecd103919d')
diff --git a/abs/core-testing/lirc/kernel-2.6.33.patch b/abs/core-testing/lirc/kernel-2.6.33.patch
new file mode 100644
index 0000000..7827e00
--- /dev/null
+++ b/abs/core-testing/lirc/kernel-2.6.33.patch
@@ -0,0 +1,475 @@
+--- drivers/lirc_dev/lirc_dev.h 2009/03/15 09:34:00 1.37 lirc-0_8_6
++++ drivers/lirc_dev/lirc_dev.h 2009/12/28 15:21:17 1.38
+@@ -4,7 +4,7 @@
+ * (L) by Artur Lipowski <alipowski@interia.pl>
+ * This code is licensed under GNU GPL
+ *
+- * $Id: lirc_dev.h,v 1.37 2009/03/15 09:34:00 lirc Exp $
++ * $Id: lirc_dev.h,v 1.38 2009/12/28 15:21:17 jarodwilson Exp $
+ *
+ */
+
+@@ -30,14 +30,19 @@
+
+ struct lirc_buffer {
+ wait_queue_head_t wait_poll;
+- spinlock_t lock;
++ spinlock_t fifo_lock;
+ unsigned int chunk_size;
+ unsigned int size; /* in chunks */
+ /* Using chunks instead of bytes pretends to simplify boundary checking
+ * And should allow for some performance fine tunning later */
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ struct kfifo *fifo;
+ #else
++ struct kfifo fifo;
++ u8 fifo_initialized;
++#endif
++#else
+ unsigned int fill; /* in chunks */
+ int head, tail; /* in chunks */
+ unsigned char *data;
+@@ -47,12 +52,12 @@
+ static inline void lirc_buffer_lock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_lock_irqsave(&buf->lock, *flags);
++ spin_lock_irqsave(&buf->fifo_lock, *flags);
+ }
+ static inline void lirc_buffer_unlock(struct lirc_buffer *buf,
+ unsigned long *flags)
+ {
+- spin_unlock_irqrestore(&buf->lock, *flags);
++ spin_unlock_irqrestore(&buf->fifo_lock, *flags);
+ }
+ static inline void _lirc_buffer_clear(struct lirc_buffer *buf)
+ {
+@@ -63,11 +68,20 @@
+ #endif
+ static inline void lirc_buffer_clear(struct lirc_buffer *buf)
+ {
++ unsigned long flags;
++
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_reset(buf->fifo);
+ #else
+- unsigned long flags;
++ if (buf->fifo_initialized) {
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ kfifo_reset(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++ }
++#endif
++#else
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_clear(buf);
+ lirc_buffer_unlock(buf, &flags);
+@@ -77,31 +91,47 @@
+ unsigned int chunk_size,
+ unsigned int size)
+ {
++ int ret = 0;
++
+ init_waitqueue_head(&buf->wait_poll);
+- spin_lock_init(&buf->lock);
++ spin_lock_init(&buf->fifo_lock);
+ #ifndef LIRC_HAVE_KFIFO
+ _lirc_buffer_clear(buf);
+ #endif
+ buf->chunk_size = chunk_size;
+ buf->size = size;
+ #ifdef LIRC_HAVE_KFIFO
+- buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->lock);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ buf->fifo = kfifo_alloc(size*chunk_size, GFP_KERNEL, &buf->fifo_lock);
+ if (!buf->fifo)
+ return -ENOMEM;
+ #else
++ ret = kfifo_alloc(&buf->fifo, size * chunk_size, GFP_KERNEL);
++ if (ret == 0)
++ buf->fifo_initialized = 1;
++#endif
++#else
+ buf->data = kmalloc(size*chunk_size, GFP_KERNEL);
+ if (buf->data == NULL)
+ return -ENOMEM;
+ memset(buf->data, 0, size*chunk_size);
+ #endif
+- return 0;
++
++ return ret;
+ }
+ static inline void lirc_buffer_free(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ if (buf->fifo)
+ kfifo_free(buf->fifo);
+ #else
++ if (buf->fifo_initialized) {
++ kfifo_free(&buf->fifo);
++ buf->fifo_initialized = 0;
++ }
++#endif
++#else
+ kfree(buf->data);
+ buf->data = NULL;
+ buf->head = 0;
+@@ -111,6 +141,25 @@
+ buf->size = 0;
+ #endif
+ }
++
++#ifdef LIRC_HAVE_KFIFO
++static inline int lirc_buffer_len(struct lirc_buffer *buf)
++{
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ return kfifo_len(buf->fifo);
++#else
++ int len;
++ unsigned long flags;
++
++ spin_lock_irqsave(&buf->fifo_lock, flags);
++ len = kfifo_len(&buf->fifo);
++ spin_unlock_irqrestore(&buf->fifo_lock, flags);
++
++ return len;
++#endif
++}
++#endif
++
+ #ifndef LIRC_HAVE_KFIFO
+ static inline int _lirc_buffer_full(struct lirc_buffer *buf)
+ {
+@@ -120,7 +169,7 @@
+ static inline int lirc_buffer_full(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return kfifo_len(buf->fifo) == buf->size * buf->chunk_size;
++ return lirc_buffer_len(buf) == buf->size * buf->chunk_size;
+ #else
+ unsigned long flags;
+ int ret;
+@@ -139,7 +188,7 @@
+ static inline int lirc_buffer_empty(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return !kfifo_len(buf->fifo);
++ return !lirc_buffer_len(buf);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -158,7 +207,7 @@
+ static inline int lirc_buffer_available(struct lirc_buffer *buf)
+ {
+ #ifdef LIRC_HAVE_KFIFO
+- return buf->size - (kfifo_len(buf->fifo) / buf->chunk_size);
++ return buf->size - (lirc_buffer_len(buf) / buf->chunk_size);
+ #else
+ unsigned long flags;
+ int ret;
+@@ -177,21 +226,30 @@
+ buf->fill -= 1;
+ }
+ #endif
+-static inline void lirc_buffer_read(struct lirc_buffer *buf,
+- unsigned char *dest)
++static inline unsigned int lirc_buffer_read(struct lirc_buffer *buf,
++ unsigned char *dest)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- if (kfifo_len(buf->fifo) >= buf->chunk_size)
+- kfifo_get(buf->fifo, dest, buf->chunk_size);
++ if (lirc_buffer_len(buf) >= buf->chunk_size)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_get(buf->fifo, dest, buf->chunk_size);
++#else
++ ret = kfifo_out_locked(&buf->fifo, dest, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_read_1(buf, dest);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+-static inline void _lirc_buffer_write_1(struct lirc_buffer *buf,
++static inline _lirc_buffer_write_1(struct lirc_buffer *buf,
+ unsigned char *orig)
+ {
+ memcpy(&buf->data[buf->tail*buf->chunk_size], orig, buf->chunk_size);
+@@ -199,17 +257,26 @@
+ buf->fill++;
+ }
+ #endif
+-static inline void lirc_buffer_write(struct lirc_buffer *buf,
+- unsigned char *orig)
++static inline unsigned int lirc_buffer_write(struct lirc_buffer *buf,
++ unsigned char *orig)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_1(buf, orig);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+ #ifndef LIRC_HAVE_KFIFO
+ static inline void _lirc_buffer_write_n(struct lirc_buffer *buf,
+@@ -234,17 +301,26 @@
+ buf->fill += count;
+ }
+ #endif
+-static inline void lirc_buffer_write_n(struct lirc_buffer *buf,
+- unsigned char *orig, int count)
++static inline unsigned int lirc_buffer_write_n(struct lirc_buffer *buf,
++ unsigned char *orig, int count)
+ {
++ unsigned int ret = 0;
++
+ #ifdef LIRC_HAVE_KFIFO
+- kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
++ ret = kfifo_put(buf->fifo, orig, count * buf->chunk_size);
++#else
++ ret = kfifo_in_locked(&buf->fifo, orig, count * buf->chunk_size,
++ &buf->fifo_lock);
++#endif
+ #else
+ unsigned long flags;
+ lirc_buffer_lock(buf, &flags);
+ _lirc_buffer_write_n(buf, orig, count);
+ lirc_buffer_unlock(buf, &flags);
+ #endif
++
++ return ret;
+ }
+
+ struct lirc_driver {
+--- drivers/lirc_dev/lirc_dev.c.old 2009-08-31 12:57:55.000000000 -0400
++++ drivers/lirc_dev/lirc_dev.c 2010-03-07 01:40:17.000000000 -0500
+@@ -32,7 +32,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/sched.h>
+--- drivers/lirc_sir/lirc_sir.c.old 2009-07-09 18:24:23.000000000 -0400
++++ drivers/lirc_sir/lirc_sir.c 2010-03-07 01:40:17.000000000 -0500
+@@ -45,7 +45,11 @@
+ # include <config.h>
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #if !defined(CONFIG_SERIAL_MODULE)
+ #if !defined(LIRC_ON_SA1100)
+ #warning "******************************************"
+--- drivers/lirc_serial/lirc_serial.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_serial/lirc_serial.c 2010-03-07 01:40:17.000000000 -0500
+@@ -60,7 +60,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #if defined(CONFIG_SERIAL) || defined(CONFIG_SERIAL_8250)
+ #warning "******************************************"
+--- drivers/lirc_bt829/lirc_bt829.c.old 2009-03-09 14:54:17.000000000 -0400
++++ drivers/lirc_bt829/lirc_bt829.c 2010-03-07 01:40:17.000000000 -0500
+@@ -22,7 +22,11 @@
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 0)
+ #error "This driver needs kernel version 2.4.0 or higher"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/threads.h>
+--- drivers/lirc_sasem/lirc_sasem.c.old 2009-02-28 05:27:10.000000000 -0500
++++ drivers/lirc_sasem/lirc_sasem.c 2010-03-07 01:40:17.000000000 -0500
+@@ -41,7 +41,11 @@
+ #error "*** Sorry, this driver requires kernel version 2.4.22 or higher"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_igorplugusb/lirc_igorplugusb.c.old 2009-08-02 05:54:10.000000000 -0400
++++ drivers/lirc_igorplugusb/lirc_igorplugusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -47,7 +47,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/kmod.h>
+--- drivers/lirc_imon/lirc_imon.c.old 2009-09-11 00:56:18.000000000 -0400
++++ drivers/lirc_imon/lirc_imon.c 2010-03-07 01:40:17.000000000 -0500
+@@ -30,7 +30,11 @@
+ #error "*** Sorry, this driver requires a 2.6 kernel"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_it87/lirc_it87.c.old 2009-06-01 08:21:31.000000000 -0400
++++ drivers/lirc_it87/lirc_it87.c 2010-03-07 01:40:17.000000000 -0500
+@@ -36,7 +36,11 @@
+
+ #include <linux/version.h>
+ #include <linux/module.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
+--- drivers/lirc_streamzap/lirc_streamzap.c.old 2009-03-15 05:34:00.000000000 -0400
++++ drivers/lirc_streamzap/lirc_streamzap.c 2010-03-07 01:40:17.000000000 -0500
+@@ -35,7 +35,11 @@
+ #error "Sorry, this driver needs kernel version 2.4.0 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_atiusb/lirc_atiusb.c.old 2009-03-10 20:21:46.000000000 -0400
++++ drivers/lirc_atiusb/lirc_atiusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -43,7 +43,11 @@
+ #error "*******************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+--- drivers/lirc_parallel/lirc_parallel.c.old 2009-03-08 15:22:28.000000000 -0400
++++ drivers/lirc_parallel/lirc_parallel.c 2010-03-07 01:40:17.000000000 -0500
+@@ -34,7 +34,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #ifdef CONFIG_SMP
+ #error "--- Sorry, this driver is not SMP safe. ---"
+ #endif
+@@ -43,7 +47,11 @@
+ #include <linux/sched.h>
+ #include <linux/errno.h>
+ #include <linux/signal.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/fs.h>
+ #include <linux/kernel.h>
+ #include <linux/ioport.h>
+--- drivers/lirc_wpc8769l/lirc_wpc8769l.c.old 2009-03-15 05:34:01.000000000 -0400
++++ drivers/lirc_wpc8769l/lirc_wpc8769l.c 2010-03-07 01:40:17.000000000 -0500
+@@ -37,7 +37,11 @@
+ #error "**********************************************************"
+ #endif
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+
+ #include <linux/module.h>
+ #include <linux/errno.h>
+--- drivers/lirc_mceusb/lirc_mceusb.c.old 2009-09-02 10:04:02.000000000 -0400
++++ drivers/lirc_mceusb/lirc_mceusb.c 2010-03-07 01:40:17.000000000 -0500
+@@ -52,7 +52,11 @@
+ #error "Sorry, this driver needs kernel version 2.6.5 or higher"
+ #error "*******************************************************"
+ #endif
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
+ #include <linux/autoconf.h>
++#else
++#include <generated/autoconf.h>
++#endif
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+--- drivers/lirc_i2c/lirc_i2c.c 2009/08/30 16:59:53 1.70
++++ drivers/lirc_i2c/lirc_i2c.c 2009/12/15 05:37:00 1.71
+@@ -399,8 +399,8 @@
+ .name = "i2c ir driver",
+ },
+ #endif
+- .id = I2C_DRIVERID_EXP3, /* FIXME */
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
++ .id = I2C_DRIVERID_EXP3, /* FIXME */
+ .attach_adapter = ir_probe,
+ .detach_client = ir_remove,
+ #else
diff --git a/abs/core-testing/lirc/lirc.install b/abs/core-testing/lirc/lirc.install
index 53340e5..ac4bf13 100644
--- a/abs/core-testing/lirc/lirc.install
+++ b/abs/core-testing/lirc/lirc.install
@@ -10,7 +10,7 @@ pre_install() {
post_install() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.28-LinHES
+ KERNEL_VERSION=2.6.34-LinHES
depmod -v $KERNEL_VERSION > /dev/null 2>&1
/bin/true
}
@@ -26,7 +26,7 @@ pre_upgrade() {
post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.28-LinHES
+ KERNEL_VERSION=2.6.34-LinHES
depmod -v $KERNEL_VERSION > /dev/null 2>&1
/bin/true
}
@@ -40,7 +40,7 @@ pre_remove() {
post_remove() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
- KERNEL_VERSION=2.6.28-LinHES
+ KERNEL_VERSION=2.6.34-LinHES
depmod -v $KERNEL_VERSION > /dev/null 2>&1
/bin/true
}
diff --git a/abs/core-testing/lirc_085-utils/PKGBUILD b/abs/core-testing/lirc_085-utils/PKGBUILD
new file mode 100644
index 0000000..c4d5759
--- /dev/null
+++ b/abs/core-testing/lirc_085-utils/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 6058 2008-07-23 02:50:00Z eric $
+# Maintainer: Paul Mattal <paul@archlinux.org>
+
+pkgname=lirc-utils
+pkgver=0.8.5CVS
+pkgrel=7
+pkgdesc="Linux Infrared Remote Control utils"
+arch=(i686 x86_64)
+url="http://www.lirc.org/"
+license=('GPL')
+_kernver=2.6.28-LinHES
+depends=('alsa-lib' 'libusb' 'libx11' 'libsm' 'iguanaIR')
+#makedepends=('help2man')
+replaces=('lirc+pctv')
+backup=('etc/lircd.conf' 'etc/lircmd.conf'\
+ 'etc/conf.d/lircd')
+options=('!libtool' '!makeflags')
+source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
+ lircd lircmd lirc.logrotate lircd.conf.d \
+ kernel-2.6.26.patch lirc_atiusb.patch
+ hw_commandir.c
+ hw_commandir.h)
+md5sums=('b96dae91b566143b3af433fa2714ec9a' '909ad968afa10e4511e1da277bb23c3b'\
+ '85f7fdac55e5256967241864049bf5e9' '3deb02604b37811d41816e9b4385fcc3'\
+ '5b1f8c9cd788a39a6283f93302ce5c6e' '1753acd774f50b638e6173d364de53fd'\
+ '7eccd7826ab99e5cf1b9154171c8b927')
+
+build() {
+ # configure
+ cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
+ cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
+# patch -Np1 -i ../kernel-2.6.26.patch || return 1
+ patch -Np1 -i ../lirc_atiusb.patch || return 1
+
+ # Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+
+ sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am || return 1
+
+ autoreconf || return 1
+ libtoolize || return 1
+
+ ./configure --enable-sandboxed --prefix=/usr \
+ --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver} \
+ --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
+ --with-transmitter \
+ || return 1
+ # disable parallel and bt829
+ # because of incompatibility with smp systems
+ sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
+ Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
+ || return 1
+
+ # build
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
+ mkdir -p $startdir/pkg/usr/share/lirc $startdir/pkg/etc/rc.d \
+ || return 1
+ cp $startdir/src/{lircd,lircmd} $startdir/pkg/etc/rc.d/ \
+ || return 1
+ cp -rp remotes $startdir/pkg/usr/share/lirc || return 1
+ chmod -R go-w $startdir/pkg/usr/share/lirc/ || return 1
+
+ # install the logrotate config
+ install -D -m644 $startdir/src/lirc.logrotate \
+ $startdir/pkg/etc/logrotate.d/lirc || return 1
+
+ # install conf.d file
+ install -D -m644 $startdir/src/lircd.conf.d \
+ $startdir/pkg/etc/conf.d/lircd || return 1
+
+ # remove built modules
+ rm -r $startdir/pkg/lib/
+}
diff --git a/abs/core-testing/lirc/hw_commandir.c b/abs/core-testing/lirc_085-utils/hw_commandir.c
index 40ac0de..40ac0de 100755
--- a/abs/core-testing/lirc/hw_commandir.c
+++ b/abs/core-testing/lirc_085-utils/hw_commandir.c
diff --git a/abs/core-testing/lirc/hw_commandir.h b/abs/core-testing/lirc_085-utils/hw_commandir.h
index 2280f6c..2280f6c 100755
--- a/abs/core-testing/lirc/hw_commandir.h
+++ b/abs/core-testing/lirc_085-utils/hw_commandir.h
diff --git a/abs/core-testing/lirc/kernel-2.6.26.patch b/abs/core-testing/lirc_085-utils/kernel-2.6.26.patch
index 74bb986..74bb986 100644
--- a/abs/core-testing/lirc/kernel-2.6.26.patch
+++ b/abs/core-testing/lirc_085-utils/kernel-2.6.26.patch
diff --git a/abs/core-testing/lirc_085-utils/lirc.logrotate b/abs/core-testing/lirc_085-utils/lirc.logrotate
new file mode 100644
index 0000000..df97c60
--- /dev/null
+++ b/abs/core-testing/lirc_085-utils/lirc.logrotate
@@ -0,0 +1,8 @@
+/var/log/lircd {
+ missingok
+ notifempty
+ delaycompress
+ postrotate
+ /usr/bin/killall -HUP -q lircd
+ endscript
+}
diff --git a/abs/core-testing/lirc/lirc_atiusb.patch b/abs/core-testing/lirc_085-utils/lirc_atiusb.patch
index 2f0c61e..2f0c61e 100644
--- a/abs/core-testing/lirc/lirc_atiusb.patch
+++ b/abs/core-testing/lirc_085-utils/lirc_atiusb.patch
diff --git a/abs/core-testing/lirc_085-utils/lircd b/abs/core-testing/lirc_085-utils/lircd
new file mode 100755
index 0000000..f4686d7
--- /dev/null
+++ b/abs/core-testing/lirc_085-utils/lircd
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/lircd
+
+PID=$(pidof -o %PPID /usr/sbin/lircd)
+case "$1" in
+ start)
+ stat_busy "Starting LIRC Daemon"
+ [ -n "$LIRC_DRIVER" ] && LIRC_EXTRAOPTS="-H $LIRC_DRIVER $LIRC_EXTRAOPTS"
+ [ -z "$PID" ] &&
+ if [ -n "$LIRC_DEVICE" ] ; then
+ /usr/sbin/lircd -d "$LIRC_DEVICE" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
+ else
+ /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
+ fi
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lircd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping LIRC Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lircd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core-testing/lirc_085-utils/lircd.conf.d b/abs/core-testing/lirc_085-utils/lircd.conf.d
new file mode 100644
index 0000000..760dab0
--- /dev/null
+++ b/abs/core-testing/lirc_085-utils/lircd.conf.d
@@ -0,0 +1,8 @@
+#
+# Parameters for lirc daemon
+#
+
+LIRC_DEVICE="/dev/lirc0"
+LIRC_DRIVER=""
+LIRC_EXTRAOPTS=""
+LIRC_CONFIGFILE=""
diff --git a/abs/core-testing/lirc_085-utils/lircmd b/abs/core-testing/lirc_085-utils/lircmd
new file mode 100755
index 0000000..220c47c
--- /dev/null
+++ b/abs/core-testing/lirc_085-utils/lircmd
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/lircmd`
+case "$1" in
+ start)
+ stat_busy "Starting lircmd Daemon"
+ [ -z "$PID" ] && /usr/sbin/lircmd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lircmd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping lircmd Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lircmd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core-testing/lirc_085/PKGBUILD b/abs/core-testing/lirc_085/PKGBUILD
new file mode 100644
index 0000000..12dc3b4
--- /dev/null
+++ b/abs/core-testing/lirc_085/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id: PKGBUILD 14978 2008-10-11 21:04:37Z tpowa $
+# Maintainer: Paul Mattal <paul@archlinux.org>
+
+pkgname=lirc
+pkgver=0.8.5CVS
+pkgrel=17
+_kernver=2.6.28-LinHES
+pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
+arch=(i686 x86_64)
+url="http://www.lirc.org/"
+license=('GPL')
+depends=('lirc-utils=0.8.5CVS' 'kernel26>=2.6.27' 'kernel26<2.6.29' 'iguanaIR')
+makedepends=('python')
+replaces=('lirc+pctv')
+options=('!makeflags')
+install=$pkgname.install
+source=(http://www.blushingpenguin.com/mark/lmilk/lirc-0.8.5-CVS-pvr150.tar.bz2 \
+ kernel-2.6.26.patch
+ kernel-2.6.27.patch
+ lirc_atiusb.patch
+ http://superb-east.dl.sourceforge.net/sourceforge/mod-mce/lirc_mod_mce-0.1.5.tar.bz2
+ lirc_mod_mce.patch
+ hw_commandir.c
+ hw_commandir.h
+ dvicoIR.rules
+ lirc.fdi)
+
+build() {
+ # configure
+ cd $startdir/src/lirc-0.8.5-CVS-pvr150 || return 1
+ cp $startdir/src/hw_commandir.* $startdir/src/lirc-0.8.5-CVS-pvr150/daemons
+# patch -Np1 -i ../kernel-2.6.26.patch || return 1
+# patch -Np1 -i ../kernel-2.6.27.patch || return 1
+ patch -Np1 -i ../lirc_atiusb.patch || return 1
+
+ ./configure --enable-sandboxed --prefix=/usr \
+ --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
+ --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
+ --with-transmitter \
+ || return 1
+
+ # disable parallel and bt829
+ # because of incompatibility with smp systems
+ sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
+ Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
+ || return 1
+ # disable lirc_gpio due to brokeness of kernel 2.6.23
+ sed -i -e "s:lirc_gpio::" \
+ Makefile drivers/Makefile drivers/*/Makefile tools/Makefile \
+ || return 1
+
+ # build
+ cd drivers || return 1
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
+
+ # set the kernel we've built for inside the install script
+ sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
+ $startdir/lirc.install || return 1
+ cd $startdir/src/lirc_mod_mce
+ cp ../lirc-0.8.5-CVS-pvr150/drivers/lirc_dev/lirc_dev.h .
+ patch -p1 < ../lirc_mod_mce.patch
+ make KDIR=/usr/src/linux-2.6.28-LinHES/
+ cp lirc_mod_mce.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/
+ mv $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko $startdir/pkg/lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_mceusb2.ko.not
+ #remove old commandir
+ rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/lirc_cmdir.ko
+ rm $startdir/pkg/lib/modules/$_kernver/kernel/drivers/misc/commandir.ko
+
+ # Add a udev rule for the DVICO remote so that if there is more than
+ # one hiddev device, the system cant get confused.
+ install -D -m644 $srcdir/dvicoIR.rules $pkgdir/etc/udev/rules.d/dvicoIR.rules
+
+ # Add the fdi file to prevent the Dvico dual 4 remotes from screwing up keyboard interaction.
+ install -D -m644 $srcdir/lirc.fdi $pkgdir/usr/share/hal/fdi/preprobe/20thirdparty/lirc.fdi
+}
+md5sums=('b96dae91b566143b3af433fa2714ec9a'
+ '1753acd774f50b638e6173d364de53fd'
+ '6f151eb4e81fc7776a06c9063e6ad9a5'
+ '7eccd7826ab99e5cf1b9154171c8b927'
+ '21ce358809105f005e888e3b138c59e6'
+ 'b5d52566a9dae8d76e24e8753f33abef'
+ 'f059f4030afc682c9539a03bf837c1cf'
+ '4e698654cc44fc6c4163814acda5a7ee'
+ '9a3a6dc03647ee6674a166dfb884ddd6'
+ '203d9cd014c4276be4c84cecd103919d')
diff --git a/abs/core-testing/lirc/dvicoIR.rules b/abs/core-testing/lirc_085/dvicoIR.rules
index ada5466..ada5466 100644
--- a/abs/core-testing/lirc/dvicoIR.rules
+++ b/abs/core-testing/lirc_085/dvicoIR.rules
diff --git a/abs/core-testing/lirc-utils/hw_commandir.c b/abs/core-testing/lirc_085/hw_commandir.c
index 40ac0de..40ac0de 100755
--- a/abs/core-testing/lirc-utils/hw_commandir.c
+++ b/abs/core-testing/lirc_085/hw_commandir.c
diff --git a/abs/core-testing/lirc-utils/hw_commandir.h b/abs/core-testing/lirc_085/hw_commandir.h
index 2280f6c..2280f6c 100755
--- a/abs/core-testing/lirc-utils/hw_commandir.h
+++ b/abs/core-testing/lirc_085/hw_commandir.h
diff --git a/abs/core-testing/lirc-utils/kernel-2.6.26.patch b/abs/core-testing/lirc_085/kernel-2.6.26.patch
index 74bb986..74bb986 100644
--- a/abs/core-testing/lirc-utils/kernel-2.6.26.patch
+++ b/abs/core-testing/lirc_085/kernel-2.6.26.patch
diff --git a/abs/core-testing/lirc/kernel-2.6.27.patch b/abs/core-testing/lirc_085/kernel-2.6.27.patch
index 05cf75b..05cf75b 100644
--- a/abs/core-testing/lirc/kernel-2.6.27.patch
+++ b/abs/core-testing/lirc_085/kernel-2.6.27.patch
diff --git a/abs/core-testing/lirc/lirc.fdi b/abs/core-testing/lirc_085/lirc.fdi
index 6f2443a..6f2443a 100644
--- a/abs/core-testing/lirc/lirc.fdi
+++ b/abs/core-testing/lirc_085/lirc.fdi
diff --git a/abs/core-testing/aufs/aufs.install b/abs/core-testing/lirc_085/lirc.install
index 8081c6a..53340e5 100644
--- a/abs/core-testing/aufs/aufs.install
+++ b/abs/core-testing/lirc_085/lirc.install
@@ -1,7 +1,12 @@
+# This is a default template for a post-install scriptlet. You can
+# remove any functions you don't need (and this header).
+
+# arg 1: the new package version
pre_install() {
- /bin/true
+ /bin/true
}
+# arg 1: the new package version
post_install() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
@@ -10,6 +15,14 @@ post_install() {
/bin/true
}
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
@@ -18,6 +31,12 @@ post_upgrade() {
/bin/true
}
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
post_remove() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
diff --git a/abs/core-testing/lirc-utils/lirc_atiusb.patch b/abs/core-testing/lirc_085/lirc_atiusb.patch
index 2f0c61e..2f0c61e 100644
--- a/abs/core-testing/lirc-utils/lirc_atiusb.patch
+++ b/abs/core-testing/lirc_085/lirc_atiusb.patch
diff --git a/abs/core-testing/lirc/lirc_mod_mce.patch b/abs/core-testing/lirc_085/lirc_mod_mce.patch
index 1dc6644..1dc6644 100644
--- a/abs/core-testing/lirc/lirc_mod_mce.patch
+++ b/abs/core-testing/lirc_085/lirc_mod_mce.patch
diff --git a/abs/core-testing/lvm2/ChangeLog b/abs/core-testing/lvm2/ChangeLog
new file mode 100644
index 0000000..5809ab5
--- /dev/null
+++ b/abs/core-testing/lvm2/ChangeLog
@@ -0,0 +1,103 @@
+2010-07-11 Thomas Bächler <thomas@archlinux.org>
+
+ * lvm2/device-mapper 2.02.70-1
+ * Upstream update
+ * Do not move the dmeventd manpage, has been fixed upstream
+ * Remove all the || return 1 in PKGBUILD
+
+2010-07-01 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.69-1
+ * Upstream update
+ * Moved dmeventd man page from lvm2 to device-mapper package
+
+2010-06-25 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.68-1
+ * Upstream update
+ * Fixed tr path in lvmdump
+
+2010-04-05 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.62-1
+ * Upstream update
+ * Fixed license
+
+2010-02-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2/device-mapper 2.02.61-1
+ * Upstream update
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper 2.02.60-2
+ * Rebuilt without -Wl,--as-needed, it breaks dmeventd monitoring
+
+2010-01-24 Thomas Bächler <thomas@archlinux.org>
+ * lvm2/device-mapper update to 2.02.60-1
+ * Clean up PKGBUILD, fix internal paths to dmeventd and its helpers
+
+2009-11-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.56-1
+ * device-mapper 1.02.40-1
+ * Upstream update
+
+2009-10-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.54-1
+ * device-mapper 1.02.39-1
+ * Upstream update
+ * Enabled the device-mapper event daemon
+ * Moved the udev rule from /etc to /lib
+
+2009-09-27 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.53-1
+ * device-mapper 1.02.38-1
+ * Upstream update
+
+2009-09-18 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.52-1
+ * device-mapper 1.02.37-1
+ * Upstream update
+ * Implemented split packages
+ * PKGBUILD clean up
+ * Renamed pkgconfig file (close FS#15909)
+
+2009-07-09 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.48-1
+ * device-mapper 1.02.33-1
+ * Upstream update
+ * Removed unneeded readline depends (close FS#15205)
+
+2009-05-24 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.47-1
+ * device-mapper 1.02.32-1
+ * Upstream update
+ * Added dmsetup.static
+
+2009-03-07 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.45-1
+ * device-mapper 1.02.31-1
+ * Upstream update
+
+2009-01-31 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.44-1
+ * device-mapper 1.02.30-1
+ * Upstream update
+ * Added bash depends
+ * Added readline depends
+ * Added pkgconfig file
+
+2008-11-11 Eric Belanger <eric@archlinux.org>
+
+ * lvm2 2.02.43-1
+ * device-mapper 1.02.29-1
+ * Upstream update
+ * Disabled SMP build
+ * Added ChangeLog
diff --git a/abs/core-testing/lvm2/PKGBUILD b/abs/core-testing/lvm2/PKGBUILD
index 1819c76..b4be343 100644
--- a/abs/core-testing/lvm2/PKGBUILD
+++ b/abs/core-testing/lvm2/PKGBUILD
@@ -1,35 +1,64 @@
-# $Id: PKGBUILD 1726 2008-05-15 13:19:26Z thomas $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
-pkgname=lvm2
-pkgver=2.02.37
-pkgrel=10
-pkgdesc="Logical Volume Manager 2 utilities"
+# $Id: PKGBUILD 85275 2010-07-11 10:26:53Z thomas $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.70
+_pkgverdm=1.02.52
+_pkgverlvm=${pkgver}
+pkgrel=1
arch=('i686' 'x86_64')
-license=('GPL')
url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
groups=('base')
-depends=('device-mapper>=1.02.22')
-conflicts=('lvm')
-backup=('etc/lvm/lvm.conf')
-source=(ftp://sources.redhat.com/pub/lvm2/LVM2.$pkgver.tgz
+conflicts=('mkinitcpio<0.5.99')
+changelog=ChangeLog
+source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
lvm2_install
lvm2_hook)
-md5sums=('19c19e1f31ec548dc31982478a8a5f63'
- '40dccdb1044f00fc1e29ca549933d4bd'
- '73c8c2eba0fe891712c859c18b5b8aa2')
+md5sums=('39c26d5a821754cc347d7a19e82d4a24'
+ 'f781c9f5dd4f9934952c687b73d26a18'
+ '95bed25bdbc2c2d8500e7a07aeff7f65')
+sha1sums=('6f88114e72204feee491befd5f0e203036b90f11'
+ '583424bb0a6f89ffe4e4ea446b912f0fedac7050'
+ '0dc0c0d620f634c4d078afdb78e3bae15ccf957b')
build() {
- cd $startdir/src/LVM2.$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
- make || return 1
- make DESTDIR=$startdir/pkg sbindir=$startdir/pkg/sbin install || return 1
- mkdir -p $startdir/pkg/etc/lvm/{archive,backup}
- # a static binary is required for Arch's initrd
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --enable-static_link
- make || return 1
- install -D -m755 tools/lvm.static $startdir/pkg/sbin/lvm.static
- # add hook
- install -D -m644 $startdir/src/lvm2_hook $startdir/pkg/lib/initcpio/hooks/lvm2
- install -D -m644 $startdir/src/lvm2_install $startdir/pkg/lib/initcpio/install/lvm2
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh
+ unset LDFLAGS
+ ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
+ --includedir=/usr/include --with-usrlibdir=/usr/lib \
+ --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
+ --with-udevdir=/lib/udev/rules.d/ --enable-udev_sync --enable-udev_rules
+ make
+}
+
+package_device-mapper() {
+ pkgdesc="Device mapper userspace library and tools"
+ url="http://sourceware.org/dm/"
+ depends=('glibc' 'udev')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_device-mapper
+}
+
+package_lvm2() {
+ pkgdesc="Logical Volume Manager 2 utilities"
+ depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline')
+ conflicts=('lvm' 'mkinitcpio<0.5.99')
+ backup=('etc/lvm/lvm.conf')
+ options=('!makeflags')
+
+ cd "${srcdir}/LVM2.${_pkgverlvm}"
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ cd liblvm
+ make DESTDIR="${pkgdir}" install
+ cd ..
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/lib/initcpio/install/lvm2"
}
diff --git a/abs/core-testing/lvm2/lvm2_hook b/abs/core-testing/lvm2/lvm2_hook
index b98e87d..13183c6 100644
--- a/abs/core-testing/lvm2/lvm2_hook
+++ b/abs/core-testing/lvm2/lvm2_hook
@@ -3,14 +3,23 @@ run_hook ()
{
/sbin/modprobe -q dm-mod >/dev/null 2>&1
if [ -e "/sys/class/misc/device-mapper" ]; then
- read dev_t < /sys/class/misc/device-mapper/dev
- /bin/mknod "/dev/mapper/control" c $(/bin/replace "${dev_t}" ':')
+ if [ ! -e "/dev/mapper/control" ]; then
+ /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
+ fi
+
+ # If the lvmwait= parameter has been specified on the command line
+ # wait for the device(s) before trying to activate the volume group(s)
+ if [ -n "${lvmwait}" ]; then
+ for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do
+ poll_device ${pvdev} ${rootdelay}
+ done
+ fi
[ "${quiet}" = "y" ] && LVMQUIET=">/dev/null"
msg "Scanning logical volumes..."
- eval /bin/lvm vgscan --ignorelockingfailure $LVMQUIET
+ eval /sbin/lvm vgscan --ignorelockingfailure $LVMQUIET
msg "Activating logical volumes..."
- eval /bin/lvm vgchange --ignorelockingfailure -ay $LVMQUIET
+ eval /sbin/lvm vgchange --ignorelockingfailure --ignoremonitoring -ay $LVMQUIET
fi
}
diff --git a/abs/core-testing/lvm2/lvm2_install b/abs/core-testing/lvm2/lvm2_install
index c6cacc3..4ce9f18 100644
--- a/abs/core-testing/lvm2/lvm2_install
+++ b/abs/core-testing/lvm2/lvm2_install
@@ -2,18 +2,29 @@
install ()
{
- MODULES=" dm-mod "
+ MODULES=" dm-mod dm-snapshot dm-mirror"
BINARIES=""
FILES=""
SCRIPT="lvm2"
add_dir "/dev/mapper"
- add_file "/sbin/lvm.static" "/bin/lvm"
+ add_binary "/sbin/lvm"
+ add_binary "/sbin/dmsetup"
+ add_binary "/sbin/dmeventd"
+ add_file "/lib/udev/rules.d/10-dm.rules"
+ add_file "/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/lib/udev/rules.d/11-dm-lvm.rules"
}
help ()
{
cat<<HELPEOF
This hook loads the necessary modules for an LVM2 root device.
+
+ The optional lvmwait= parameter followed by a comma-separated
+ list of device names can be given on the command line.
+ It will cause the hook to wait until all given devices exist
+ before trying to scan and activate any volume groups.
HELPEOF
}
diff --git a/abs/core-testing/madwifi-utils/PKGBUILD b/abs/core-testing/madwifi-utils/PKGBUILD
index 6246983..35feeea 100644
--- a/abs/core-testing/madwifi-utils/PKGBUILD
+++ b/abs/core-testing/madwifi-utils/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 7960 2008-08-05 10:51:02Z tpowa $
+# $Id: PKGBUILD 70649 2010-02-27 18:41:30Z tpowa $
# Originally by kleptophobiac <kleptophobiac@gmail.com>
# Modified by James Rayner for the repositories <iphitus@gmail.com>
pkgname=madwifi-utils
-pkgver=0.9.4.3844
-_kernver=2.6.28-LinHES
-pkgrel=3
+pkgver=0.9.4.4119
+_kernver=2.6.33-ARCH
+pkgrel=1
pkgdesc="Userspace tools of madwifi drivers for Atheros wireless chipsets."
arch=(i686 x86_64)
license=('GPL')
-url="http://madwifi.org"
+url="http://madwifi-project.org"
depends=('wireless_tools')
makedepends=('sharutils')
provides=("madwifi-ng-utils")
conflicts=("madwifi-ng-utils")
replaces=("madwifi-ng-utils")
-# subversion source: svn checkout http://svn.madwifi.org/madwifi/trunk madwifi
+# subversion source: svn checkout http://madwifi-project.org/svn/madwifi/trunk madwifi
source=(ftp://ftp.archlinux.org/other/madwifi/madwifi-${pkgver}.tar.bz2
#http://downloads.sourceforge.net/sourceforge/madwifi/madwifi-$pkgver.tar.gz
)
@@ -32,4 +32,4 @@ build() {
MANDIR=/usr/share/man \
install-tools
}
-md5sums=('fc8b627774a91a5f0d6bd4e0d0b206fd')
+md5sums=('a720a20264b312c0ff906b9888bb49ae')
diff --git a/abs/core-testing/madwifi/PKGBUILD b/abs/core-testing/madwifi/PKGBUILD
index 3cd078b..a6cb369 100644
--- a/abs/core-testing/madwifi/PKGBUILD
+++ b/abs/core-testing/madwifi/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: PKGBUILD 22482 2008-12-26 22:45:43Z tpowa $
+# $Id: PKGBUILD 80421 2010-05-17 08:11:17Z tpowa $
# Originally by kleptophobiac <kleptophobiac@gmail.com>
# Modified by James Rayner for the repositories <iphitus@gmail.com>
-_kernver=2.6.28-LinHES;
+_kernver=2.6.34-LinHES
pkgname=madwifi
-pkgver=0.9.4.3844
-pkgrel=5
+pkgver=0.9.4.4119
+pkgrel=2
pkgdesc="Madwifi drivers for Atheros wireless chipsets. For stock arch 2.6 kernel"
arch=(i686 x86_64)
license=('GPL')
-url="http://madwifi.org"
-depends=('madwifi-utils' 'kernel26>=2.6.28' 'kernel26<2.6.29')
+url="http://madwifi-project.org"
+depends=('madwifi-utils' 'kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
makedepends=('sharutils')
install=madwifi-ng.install
-# subversion source: svn checkout http://svn.madwifi.org/madwifi/trunk madwifi
+# subversion source: svn checkout http:/madwifi-project.org/svn/madwifi/trunk madwifi
source=(ftp://ftp.archlinux.org/other/madwifi/madwifi-${pkgver}.tar.bz2
#http://downloads.sourceforge.net/madwifi/madwifi-${pkgver}.tar.gz
)
build() {
- [ "${CARCH}" == "i686" ] && export ARCH=i386
+ [ "${CARCH}" = "i686" ] && export ARCH=i386
#cd $startdir/src/$pkgname-$pkgver
cd $startdir/src/$pkgname
@@ -35,4 +36,5 @@ build() {
mv $startdir/pkg/lib/modules/$_kernver/net/* $startdir/pkg/lib/modules/$_kernver/kernel/drivers/net/wireless/madwifi
rm -r $startdir/pkg/lib/modules/$_kernver/net/
}
-md5sums=('fc8b627774a91a5f0d6bd4e0d0b206fd')
+
+md5sums=('a720a20264b312c0ff906b9888bb49ae')
diff --git a/abs/core-testing/madwifi/kernel-2.6.30.patch b/abs/core-testing/madwifi/kernel-2.6.30.patch
new file mode 100644
index 0000000..f844668
--- /dev/null
+++ b/abs/core-testing/madwifi/kernel-2.6.30.patch
@@ -0,0 +1,14 @@
+--- ath/if_athvar.h~ 2009-06-13 09:38:53.000000000 +0200
++++ ath/if_athvar.h 2009-06-13 09:38:53.000000000 +0200
+@@ -103,11 +103,6 @@
+ /*
+ * Guess how the interrupt handler should work.
+ */
+-#if !defined(IRQ_NONE)
+-typedef void irqreturn_t;
+-#define IRQ_NONE
+-#define IRQ_HANDLED
+-#endif /* !defined(IRQ_NONE) */
+
+ #ifndef SET_MODULE_OWNER
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
diff --git a/abs/core-testing/madwifi/madwifi-ng.install b/abs/core-testing/madwifi/madwifi-ng.install
index 800cb98..3711208 100644
--- a/abs/core-testing/madwifi/madwifi-ng.install
+++ b/abs/core-testing/madwifi/madwifi-ng.install
@@ -1,23 +1,14 @@
-# arg 1: the new package version
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
-
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-# arg 1: the old package version
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core-testing/mesa/LICENSE b/abs/core-testing/mesa/LICENSE
new file mode 100644
index 0000000..ae33d27
--- /dev/null
+++ b/abs/core-testing/mesa/LICENSE
@@ -0,0 +1,82 @@
+Disclaimer
+
+Mesa is a 3-D graphics library with an API which is very similar to
+that of OpenGL*
+To the extent that Mesa utilizes the OpenGL command syntax or state
+machine, it is being used with authorization from Silicon Graphics,
+Inc.(SGI). However, the author does not possess an OpenGL license
+from SGI, and makes no claim that Mesa is in any way a compatible
+replacement for OpenGL or associated with SGI. Those who want a
+licensed implementation of OpenGL should contact a licensed
+vendor.
+
+Please do not refer to the library as MesaGL (for legal
+reasons). It's just Mesa or The Mesa 3-D graphics
+library
+
+* OpenGL is a trademark of Silicon Graphics Incorporated.
+
+License / Copyright Information
+
+The Mesa distribution consists of several components. Different copyrights
+and licenses apply to different components. For example, GLUT is copyrighted
+by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
+device drivers are copyrighted by their authors. See below for a list of
+Mesa's main components and the license for each.
+
+The core Mesa library is licensed according to the terms of the MIT license.
+This allows integration with the XFree86, Xorg and DRI projects.
+
+The default Mesa license is as follows:
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+BRIAN PAUL 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.
+
+Attention, Contributors
+
+When contributing to the Mesa project you must agree to the licensing terms
+of the component to which you're contributing.
+The following section lists the primary components of the Mesa distribution
+and their respective licenses.
+
+
+Mesa Component Licenses
+
+Component Location Primary Author License
+----------------------------------------------------------------------------
+Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+
+Device drivers src/mesa/drivers/* See drivers See drivers
+
+Ext headers include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+GLUT src/glut/ Mark Kilgard Mark's copyright
+
+Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+
+SGI GLU library src/glu/sgi/ SGI SGI Free B
+
+demo programs progs/demos/ various see source files
+
+X demos progs/xdemos/ Brian Paul see source files
+
+SGI demos progs/samples/ SGI SGI copyright
+
+RedBook demos progs/redbook/ SGI SGI copyright
diff --git a/abs/core-testing/mesa/PKGBUILD b/abs/core-testing/mesa/PKGBUILD
index 72d100e..a731cb1 100644
--- a/abs/core-testing/mesa/PKGBUILD
+++ b/abs/core-testing/mesa/PKGBUILD
@@ -1,46 +1,176 @@
-# $Id: PKGBUILD 12996 2008-09-25 18:06:12Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83334 2010-06-21 11:46:47Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
-pkgname=mesa
-pkgver=7.2
+pkgbase=mesa
+pkgname=('mesa' 'libgl' 'ati-dri' 'intel-dri' 'unichrome-dri' 'mach64-dri' 'mga-dri' 'r128-dri' 'savage-dri' 'sis-dri' 'tdfx-dri' 'nouveau-dri')
+pkgver=7.8.2
pkgrel=1
-pkgdesc="Mesa OpenGL library"
arch=(i686 x86_64)
-license=('LGPL')
+makedepends=('glproto>=1.4.11' 'pkgconfig' 'libdrm>=2.4.21' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.2' 'expat>=2.0.1' 'libx11>=1.3.3' 'libxt>=1.0.8' 'gcc-libs>=4.5' 'dri2proto=2.3' 'python')
url="http://mesa3d.sourceforge.net"
-depends=('libgl' 'libx11>=1.1.4-3' 'libxt' 'glproto>=1.4.9' 'gcc-libs>=4.3.1')
-makedepends=('pkgconfig' 'dri2proto>=1.1' 'libdrm>=2.3.1')
-conflicts=('mesa-apps')
-replaces=('mesa-apps')
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/mesa3d/MesaDemos-${pkgver}.tar.bz2
- ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- '22e03dc4038cd63f32c21eb60994892b'
- '6ae05158e678f4594343f32c2ca50515')
+license=('custom')
+#options=(!makeflags)
+source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
+ ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaDemos-${pkgver}.tar.bz2
+ ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2
+ nouveau_class.h
+ LICENSE)
+md5sums=('6be2d343a0089bfd395ce02aaf8adb57'
+ '757d9e2e06f48b1a52848be9b0307ced'
+ '6ae05158e678f4594343f32c2ca50515'
+ '850546127f5185959407a78b55f898d8'
+ '5c65a0fe315dd347e09b1f2826a1df5a')
build() {
- cd ${srcdir}/Mesa-${pkgver}
+ cd "${srcdir}/Mesa-${pkgver}"
+ cp "${srcdir}/nouveau_class.h" "src/gallium/drivers/nouveau/" || return 1
./configure --prefix=/usr \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=swrast \
+ --with-dri-drivers=swrast,radeon,r200,r300,r600,i810,i915,i965,unichrome,mach64,mga,r128,savage,sis,tdfx \
+ --disable-egl \
+ --disable-gallium-intel \
--enable-glx-tls \
- --disable-ttm-api \
--with-driver=dri \
--enable-xcb \
+ --with-state-trackers=dri,glx \
+ --enable-gallium-nouveau \
--disable-glut || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
- install -m755 -d ${pkgdir}/usr/bin
- install -m755 progs/xdemos/glx{gears,info} ${pkgdir}/usr/bin/ || return 1
-
- rm -f ${pkgdir}/usr/lib/libGL.so*
- rm -rf ${pkgdir}/usr/lib/xorg
-
- cd ${srcdir}/gl-manpages-1.0.1
+ cd "${srcdir}/gl-manpages-1.0.1"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
+}
+
+package_libgl() {
+ depends=('libdrm>=2.4.21' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.2' 'expat>=2.0.1')
+ pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
+
+ cd "${srcdir}/Mesa-${pkgver}" || return 1
+ install -m755 -d "${pkgdir}/usr/lib" || return 1
+ install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
+
+ bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/" || return 1
+
+ cd src/mesa/drivers/dri
+ make -C swrast DESTDIR="${pkgdir}" install || return 1
+ #install -m755 libdricore.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1
+ ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
+ install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/" || return 1
+}
+
+package_mesa() {
+ depends=('libgl' 'libx11>=1.3.3' 'libxt>=1.0.8' 'gcc-libs>=4.5' 'dri2proto=2.3' 'libdrm>=2.4.20')
+ pkgdesc="Mesa 3-D graphics libraries and include files"
+
+ cd "${srcdir}/Mesa-${pkgver}" || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/bin"
+ install -m755 progs/xdemos/glx{gears,info} "${pkgdir}/usr/bin/" || return 1
+
+ rm -f "${pkgdir}/usr/lib/libGL.so"*
+ rm -rf "${pkgdir}/usr/lib/xorg"
+ rm -f "${pkgdir}/usr/include/GL/glew.h"
+ rm -f "${pkgdir}/usr/include/GL/glxew.h"
+ rm -f "${pkgdir}/usr/include/GL/wglew.h"
+
+ cd "${srcdir}/gl-manpages-1.0.1" || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
+ install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" || return 1
+}
+
+package_ati-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for AMD/ATI Radeon"
+ conflicts=('xf86-video-ati<6.9.0-6')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C radeon DESTDIR="${pkgdir}" install || return 1
+ make -C r200 DESTDIR="${pkgdir}" install || return 1
+ make -C r300 DESTDIR="${pkgdir}" install || return 1
+ make -C r600 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_intel-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for Intel"
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C i810 DESTDIR="${pkgdir}" install || return 1
+ make -C i915 DESTDIR="${pkgdir}" install || return 1
+ make -C i965 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_unichrome-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for S3 Graphics/VIA Unichrome"
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C unichrome DESTDIR="${pkgdir}" install || return 1
+}
+
+package_mach64-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for ATI Mach64"
+ conflicts=('xf86-video-mach64<6.8.2')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C mach64 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_mga-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for Matrox"
+ conflicts=('xf86-video-mga<1.4.11')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C mga DESTDIR="${pkgdir}" install || return 1
+}
+
+package_r128-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for ATI Rage128"
+ conflicts=('xf86-video-r128<6.8.1')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C r128 DESTDIR="${pkgdir}" install || return 1
+}
+
+package_savage-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for S3 Sraphics/VIA Savage"
+ conflicts=('xf86-video-savage<2.3.1')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C savage DESTDIR="${pkgdir}" install || return 1
+}
+
+package_sis-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for SiS"
+ conflicts=('xf86-video-sis<0.10.2')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C sis DESTDIR="${pkgdir}" install || return 1
+}
+
+package_tdfx-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa DRI drivers for 3dfx"
+ conflicts=('xf86-video-tdfx<1.4.3')
+
+ cd "${srcdir}/Mesa-${pkgver}/src/mesa/drivers/dri" || return 1
+ make -C tdfx DESTDIR="${pkgdir}" install || return 1
+}
+
+package_nouveau-dri() {
+ depends=("libgl=${pkgver}")
+ pkgdesc="Mesa Gallium3D DRI drivers for Nouveau - highly experimental/unsupported"
+
+ cd "${srcdir}/Mesa-${pkgver}/src/gallium/winsys/drm/nouveau/dri"
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core-testing/mesa/nouveau_class.h b/abs/core-testing/mesa/nouveau_class.h
new file mode 100644
index 0000000..0167cbc
--- /dev/null
+++ b/abs/core-testing/mesa/nouveau_class.h
@@ -0,0 +1,9019 @@
+/*************************************************************************
+
+ Autogenerated file, do not edit !
+
+ This file was generated by renouveau-gen from renouveau.xml, the
+ XML database of nvidia objects and methods. renouveau-gen and
+ renouveau.xml can be found in CVS module renouveau of sourceforge.net
+ project nouveau:
+
+cvs -z3 -d:pserver:anonymous@nouveau.cvs.sourceforge.net:/cvsroot/nouveau co -P renouveau
+
+**************************************************************************
+
+ Copyright (C) 2006-2008 :
+ Dmitry Baryshkov,
+ Laurent Carlier,
+ Matthieu Castet,
+ Dawid Gajownik,
+ Jeremy Kolb,
+ Stephane Loeuillet,
+ Patrice Mandin,
+ Stephane Marchesin,
+ Serge Martin,
+ Sylvain Munaut,
+ Simon Raffeiner,
+ Ben Skeggs,
+ Erik Waling,
+ koala_br,
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS 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.
+
+*************************************************************************/
+
+
+#ifndef NOUVEAU_REG_H
+#define NOUVEAU_REG_H 1
+
+
+#define NV01_ROOT 0x00000001
+
+
+
+#define NV01_CONTEXT_DMA 0x00000002
+
+
+
+#define NV01_DEVICE 0x00000003
+
+
+
+#define NV01_TIMER 0x00000004
+
+#define NV01_TIMER_SYNCHRONIZE 0x00000100
+#define NV01_TIMER_STOP_ALARM 0x00000104
+#define NV01_TIMER_DMA_NOTIFY 0x00000180
+#define NV01_TIMER_TIME(x) (0x00000300+((x)*4))
+#define NV01_TIMER_TIME__SIZE 0x00000002
+#define NV01_TIMER_ALARM_NOTIFY 0x00000308
+
+
+#define NV01_CONTEXT_BETA1 0x00000012
+
+#define NV01_CONTEXT_BETA1_NOP 0x00000100
+#define NV01_CONTEXT_BETA1_NOTIFY 0x00000104
+#define NV01_CONTEXT_BETA1_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_BETA1_BETA_1D31 0x00000300
+
+
+#define NV01_CONTEXT_COLOR_KEY 0x00000017
+
+#define NV01_CONTEXT_COLOR_KEY_NOP 0x00000100
+#define NV01_CONTEXT_COLOR_KEY_NOTIFY 0x00000104
+#define NV01_CONTEXT_COLOR_KEY_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT 0x00000300
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A8Y8 0x00000001
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X24Y8 0x00000002
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16A1R5G5B5 0x00000003
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X17R5G5B5 0x00000004
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A8R8G8B8 0x00000005
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X8R8G8B8 0x00000006
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_A16Y16 0x00000007
+#define NV01_CONTEXT_COLOR_KEY_COLOR_FORMAT_X16Y16 0x00000008
+#define NV01_CONTEXT_COLOR_KEY_COLOR 0x00000304
+
+
+#define NV04_CONTEXT_COLOR_KEY 0x00000057
+
+
+
+#define NV01_CONTEXT_PATTERN 0x00000018
+
+#define NV01_CONTEXT_PATTERN_NOP 0x00000100
+#define NV01_CONTEXT_PATTERN_NOTIFY 0x00000104
+#define NV01_CONTEXT_PATTERN_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_PATTERN_COLOR_FORMAT 0x00000300
+#define NV01_CONTEXT_PATTERN_MONOCHROME_FORMAT 0x00000304
+#define NV01_CONTEXT_PATTERN_SHAPE 0x00000308
+#define NV01_CONTEXT_PATTERN_COLOR(x) (0x00000310+((x)*4))
+#define NV01_CONTEXT_PATTERN_COLOR__SIZE 0x00000002
+#define NV01_CONTEXT_PATTERN_PATTERN(x) (0x00000318+((x)*4))
+#define NV01_CONTEXT_PATTERN_PATTERN__SIZE 0x00000002
+
+
+#define NV01_CONTEXT_CLIP_RECTANGLE 0x00000019
+
+#define NV01_CONTEXT_CLIP_RECTANGLE_NOP 0x00000100
+#define NV01_CONTEXT_CLIP_RECTANGLE_NOTIFY 0x00000104
+#define NV01_CONTEXT_CLIP_RECTANGLE_DMA_NOTIFY 0x00000180
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT 0x00000300
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_SHIFT 0
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_X_MASK 0x0000ffff
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_SHIFT 16
+#define NV01_CONTEXT_CLIP_RECTANGLE_POINT_Y_MASK 0xffff0000
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE 0x00000304
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_SHIFT 0
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_W_MASK 0x0000ffff
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_SHIFT 16
+#define NV01_CONTEXT_CLIP_RECTANGLE_SIZE_H_MASK 0xffff0000
+
+
+#define NV01_RENDER_SOLID_LINE 0x0000001c
+
+#define NV01_RENDER_SOLID_LINE_NOP 0x00000100
+#define NV01_RENDER_SOLID_LINE_NOTIFY 0x00000104
+#define NV01_RENDER_SOLID_LINE_PATCH 0x0000010c
+#define NV01_RENDER_SOLID_LINE_DMA_NOTIFY 0x00000180
+#define NV01_RENDER_SOLID_LINE_CLIP_RECTANGLE 0x00000184
+#define NV01_RENDER_SOLID_LINE_PATTERN 0x00000188
+#define NV01_RENDER_SOLID_LINE_ROP 0x0000018c
+#define NV01_RENDER_SOLID_LINE_BETA1 0x00000190
+#define NV01_RENDER_SOLID_LINE_SURFACE 0x00000194
+#define NV01_RENDER_SOLID_LINE_OPERATION 0x000002fc
+#define NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_RENDER_SOLID_LINE_OPERATION_ROP_AND 0x00000001
+#define NV01_RENDER_SOLID_LINE_OPERATION_BLEND_AND 0x00000002
+#define NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY 0x00000003
+#define NV01_RENDER_SOLID_LINE_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_RENDER_SOLID_LINE_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT 0x00000300
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A8Y8 0x00000001
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X24Y8 0x00000002
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16A1R5G5B5 0x00000003
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X17R5G5B5 0x00000004
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A8R8G8B8 0x00000005
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X8R8G8B8 0x00000006
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_A16Y16 0x00000007
+#define NV01_RENDER_SOLID_LINE_COLOR_FORMAT_X16Y16 0x00000008
+#define NV01_RENDER_SOLID_LINE_COLOR 0x00000304
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0(x) (0x00000400+((x)*8))
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_LINE_POINT0_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1(x) (0x00000404+((x)*8))
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_LINE_POINT1_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_X(x) (0x00000480+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y(x) (0x00000484+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT0_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_X(x) (0x00000488+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y(x) (0x0000048c+((x)*16))
+#define NV01_RENDER_SOLID_LINE_LINE32_POINT1_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_POLYLINE(x) (0x00000500+((x)*4))
+#define NV01_RENDER_SOLID_LINE_POLYLINE__SIZE 0x00000020
+#define NV01_RENDER_SOLID_LINE_POLYLINE_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_POLYLINE_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_POLYLINE_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_POLYLINE_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X(x) (0x00000580+((x)*8))
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y(x) (0x00000584+((x)*8))
+#define NV01_RENDER_SOLID_LINE_POLYLINE32_POINT_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR(x) (0x00000600+((x)*8))
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_COLOR__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT(x) (0x00000604+((x)*8))
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT__SIZE 0x00000010
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_SHIFT 0
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_SHIFT 16
+#define NV01_RENDER_SOLID_LINE_CPOLYLINE_POINT_Y_MASK 0xffff0000
+
+
+#define NV04_RENDER_SOLID_LINE 0x0000005c
+
+#define NV04_RENDER_SOLID_LINE_BETA4 0x00000194
+#define NV04_RENDER_SOLID_LINE_SURFACE 0x00000198
+
+
+#define NV01_RENDER_SOLID_TRIANGLE 0x0000001d
+
+#define NV01_RENDER_SOLID_TRIANGLE_NOP 0x00000100
+#define NV01_RENDER_SOLID_TRIANGLE_NOTIFY 0x00000104
+#define NV01_RENDER_SOLID_TRIANGLE_PATCH 0x0000010c
+#define NV01_RENDER_SOLID_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV01_RENDER_SOLID_TRIANGLE_CLIP_RECTANGLE 0x00000184
+#define NV01_RENDER_SOLID_TRIANGLE_PATTERN 0x00000188
+#define NV01_RENDER_SOLID_TRIANGLE_ROP 0x0000018c
+#define NV01_RENDER_SOLID_TRIANGLE_BETA1 0x00000190
+#define NV01_RENDER_SOLID_TRIANGLE_SURFACE 0x00000194
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION 0x000002fc
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_ROP_AND 0x00000001
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_AND 0x00000002
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY 0x00000003
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_RENDER_SOLID_TRIANGLE_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_RENDER_SOLID_TRIANGLE_COLOR_FORMAT 0x00000300
+#define NV01_RENDER_SOLID_TRIANGLE_COLOR 0x00000304
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0 0x00000310
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT0_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1 0x00000314
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT1_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2 0x00000318
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE_POINT2_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_X 0x00000320
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT0_Y 0x00000324
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_X 0x00000328
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT1_Y 0x0000032c
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_X 0x00000330
+#define NV01_RENDER_SOLID_TRIANGLE_TRIANGLE32_POINT2_Y 0x00000334
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH(x) (0x00000400+((x)*4))
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH__SIZE 0x00000020
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X(x) (0x00000480+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_X__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y(x) (0x00000484+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_TRIMESH32_POINT_Y__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR(x) (0x00000500+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_COLOR__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0(x) (0x00000504+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT0_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1(x) (0x00000508+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT1_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2(x) (0x0000050c+((x)*16))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2__SIZE 0x00000008
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIANGLE_POINT2_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR(x) (0x00000580+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_COLOR__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT(x) (0x00000584+((x)*8))
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT__SIZE 0x00000010
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_SHIFT 0
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_SHIFT 16
+#define NV01_RENDER_SOLID_TRIANGLE_CTRIMESH_POINT_Y_MASK 0xffff0000
+
+
+#define NV04_RENDER_SOLID_TRIANGLE 0x0000005d
+
+#define NV04_RENDER_SOLID_TRIANGLE_BETA4 0x00000194
+#define NV04_RENDER_SOLID_TRIANGLE_SURFACE 0x00000198
+
+
+#define NV01_RENDER_SOLID_RECTANGLE 0x0000001e
+
+#define NV01_RENDER_SOLID_RECTANGLE_NOP 0x00000100
+#define NV01_RENDER_SOLID_RECTANGLE_NOTIFY 0x00000104
+#define NV01_RENDER_SOLID_RECTANGLE_PATCH 0x0000010c
+#define NV01_RENDER_SOLID_RECTANGLE_DMA_NOTIFY 0x00000180
+#define NV01_RENDER_SOLID_RECTANGLE_CLIP_RECTANGLE 0x00000184
+#define NV01_RENDER_SOLID_RECTANGLE_PATTERN 0x00000188
+#define NV01_RENDER_SOLID_RECTANGLE_ROP 0x0000018c
+#define NV01_RENDER_SOLID_RECTANGLE_BETA1 0x00000190
+#define NV01_RENDER_SOLID_RECTANGLE_SURFACE 0x00000194
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION 0x000002fc
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_ROP_AND 0x00000001
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_AND 0x00000002
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY 0x00000003
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_RENDER_SOLID_RECTANGLE_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_RENDER_SOLID_RECTANGLE_COLOR_FORMAT 0x00000300
+#define NV01_RENDER_SOLID_RECTANGLE_COLOR 0x00000304
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT(x) (0x00000400+((x)*8))
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT__SIZE 0x00000010
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_SHIFT 0
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_X_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_SHIFT 16
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_POINT_Y_MASK 0xffff0000
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE(x) (0x00000404+((x)*8))
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE__SIZE 0x00000010
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_SHIFT 0
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_W_MASK 0x0000ffff
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_SHIFT 16
+#define NV01_RENDER_SOLID_RECTANGLE_RECTANGLE_SIZE_H_MASK 0xffff0000
+
+
+#define NV04_RENDER_SOLID_RECTANGLE 0x0000005e
+
+#define NV04_RENDER_SOLID_RECTANGLE_BETA4 0x00000194
+#define NV04_RENDER_SOLID_RECTANGLE_SURFACE 0x00000198
+
+
+#define NV01_IMAGE_BLIT 0x0000001f
+
+#define NV01_IMAGE_BLIT_NOP 0x00000100
+#define NV01_IMAGE_BLIT_NOTIFY 0x00000104
+#define NV01_IMAGE_BLIT_PATCH 0x0000010c
+#define NV01_IMAGE_BLIT_DMA_NOTIFY 0x00000180
+#define NV01_IMAGE_BLIT_COLOR_KEY 0x00000184
+#define NV01_IMAGE_BLIT_CLIP_RECTANGLE 0x00000188
+#define NV01_IMAGE_BLIT_PATTERN 0x0000018c
+#define NV01_IMAGE_BLIT_ROP 0x00000190
+#define NV01_IMAGE_BLIT_BETA1 0x00000194
+#define NV01_IMAGE_BLIT_SURFACE 0x0000019c
+#define NV01_IMAGE_BLIT_OPERATION 0x000002fc
+#define NV01_IMAGE_BLIT_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_IMAGE_BLIT_OPERATION_ROP_AND 0x00000001
+#define NV01_IMAGE_BLIT_OPERATION_BLEND_AND 0x00000002
+#define NV01_IMAGE_BLIT_OPERATION_SRCCOPY 0x00000003
+#define NV01_IMAGE_BLIT_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_IMAGE_BLIT_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_IMAGE_BLIT_IMAGE_INPUT 0x00000204
+#define NV01_IMAGE_BLIT_POINT_IN 0x00000300
+#define NV01_IMAGE_BLIT_POINT_IN_X_SHIFT 0
+#define NV01_IMAGE_BLIT_POINT_IN_X_MASK 0x0000ffff
+#define NV01_IMAGE_BLIT_POINT_IN_Y_SHIFT 16
+#define NV01_IMAGE_BLIT_POINT_IN_Y_MASK 0xffff0000
+#define NV01_IMAGE_BLIT_POINT_OUT 0x00000304
+#define NV01_IMAGE_BLIT_POINT_OUT_X_SHIFT 0
+#define NV01_IMAGE_BLIT_POINT_OUT_X_MASK 0x0000ffff
+#define NV01_IMAGE_BLIT_POINT_OUT_Y_SHIFT 16
+#define NV01_IMAGE_BLIT_POINT_OUT_Y_MASK 0xffff0000
+#define NV01_IMAGE_BLIT_SIZE 0x00000308
+#define NV01_IMAGE_BLIT_SIZE_W_SHIFT 0
+#define NV01_IMAGE_BLIT_SIZE_W_MASK 0x0000ffff
+#define NV01_IMAGE_BLIT_SIZE_H_SHIFT 16
+#define NV01_IMAGE_BLIT_SIZE_H_MASK 0xffff0000
+
+
+#define NV04_IMAGE_BLIT 0x0000005f
+
+#define NV04_IMAGE_BLIT_ROP 0x00000190
+#define NV04_IMAGE_BLIT_BETA4 0x00000198
+#define NV04_IMAGE_BLIT_SURFACE 0x0000019c
+
+
+#define NV12_IMAGE_BLIT 0x0000009f
+
+#define NV12_IMAGE_BLIT_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV01_IMAGE_FROM_CPU 0x00000021
+
+#define NV01_IMAGE_FROM_CPU_NOP 0x00000100
+#define NV01_IMAGE_FROM_CPU_NOTIFY 0x00000104
+#define NV01_IMAGE_FROM_CPU_PATCH 0x0000010c
+#define NV01_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV01_IMAGE_FROM_CPU_COLOR_KEY 0x00000184
+#define NV01_IMAGE_FROM_CPU_CLIP_RECTANGLE 0x00000188
+#define NV01_IMAGE_FROM_CPU_PATTERN 0x0000018c
+#define NV01_IMAGE_FROM_CPU_ROP 0x00000190
+#define NV01_IMAGE_FROM_CPU_BETA1 0x00000194
+#define NV01_IMAGE_FROM_CPU_SURFACE 0x00000198
+#define NV01_IMAGE_FROM_CPU_OPERATION 0x000002fc
+#define NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_AND 0x00000000
+#define NV01_IMAGE_FROM_CPU_OPERATION_ROP_AND 0x00000001
+#define NV01_IMAGE_FROM_CPU_OPERATION_BLEND_AND 0x00000002
+#define NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY 0x00000003
+#define NV01_IMAGE_FROM_CPU_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV01_IMAGE_FROM_CPU_OPERATION_BLEND_PREMULT 0x00000005
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT 0x00000300
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_Y8 0x00000001
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A1R5G5B5 0x00000002
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X1R5G5B5 0x00000003
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_A8R8G8B8 0x00000004
+#define NV01_IMAGE_FROM_CPU_COLOR_FORMAT_X8R8G8B8 0x00000005
+#define NV01_IMAGE_FROM_CPU_POINT 0x00000304
+#define NV01_IMAGE_FROM_CPU_POINT_X_SHIFT 0
+#define NV01_IMAGE_FROM_CPU_POINT_X_MASK 0x0000ffff
+#define NV01_IMAGE_FROM_CPU_POINT_Y_SHIFT 16
+#define NV01_IMAGE_FROM_CPU_POINT_Y_MASK 0xffff0000
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT 0x00000308
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_W_SHIFT 0
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_W_MASK 0x0000ffff
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_H_SHIFT 16
+#define NV01_IMAGE_FROM_CPU_SIZE_OUT_H_MASK 0xffff0000
+#define NV01_IMAGE_FROM_CPU_SIZE_IN 0x0000030c
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT 0
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_W_MASK 0x0000ffff
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT 16
+#define NV01_IMAGE_FROM_CPU_SIZE_IN_H_MASK 0xffff0000
+#define NV01_IMAGE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV01_IMAGE_FROM_CPU_COLOR__SIZE 0x00000020
+
+
+#define NV04_IMAGE_FROM_CPU 0x00000061
+
+#define NV04_IMAGE_FROM_CPU_BETA4 0x00000198
+#define NV04_IMAGE_FROM_CPU_SURFACE 0x0000019c
+
+
+#define NV05_IMAGE_FROM_CPU 0x00000065
+
+#define NV05_IMAGE_FROM_CPU_COLOR_CONVERSION 0x000002f8
+
+
+#define NV10_IMAGE_FROM_CPU 0x0000008a
+
+#define NV10_IMAGE_FROM_CPU_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV30_IMAGE_FROM_CPU 0x0000038a
+
+
+
+#define NV40_IMAGE_FROM_CPU 0x0000308a
+
+
+
+#define NV01_NULL 0x00000030
+
+
+
+#define NV03_STRETCHED_IMAGE_FROM_CPU 0x00000036
+
+#define NV03_STRETCHED_IMAGE_FROM_CPU_NOP 0x00000100
+#define NV03_STRETCHED_IMAGE_FROM_CPU_NOTIFY 0x00000104
+#define NV03_STRETCHED_IMAGE_FROM_CPU_PATCH 0x0000010c
+#define NV03_STRETCHED_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_KEY 0x00000184
+#define NV03_STRETCHED_IMAGE_FROM_CPU_PATTERN 0x00000188
+#define NV03_STRETCHED_IMAGE_FROM_CPU_ROP 0x0000018c
+#define NV03_STRETCHED_IMAGE_FROM_CPU_BETA1 0x00000190
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SURFACE 0x00000194
+#define NV03_STRETCHED_IMAGE_FROM_CPU_OPERATION 0x000002fc
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR_FORMAT 0x00000300
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN 0x00000304
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_W_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_SIZE_IN_H_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_DX_DU 0x00000308
+#define NV03_STRETCHED_IMAGE_FROM_CPU_DY_DV 0x0000030c
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT 0x00000310
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_X_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_POINT_Y_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE 0x00000314
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_W_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_CLIP_SIZE_H_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4 0x00000318
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_SHIFT 0
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_X_MASK 0x0000ffff
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_SHIFT 16
+#define NV03_STRETCHED_IMAGE_FROM_CPU_POINT12D4_Y_MASK 0xffff0000
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV03_STRETCHED_IMAGE_FROM_CPU_COLOR__SIZE 0x00000020
+
+
+#define NV04_STRETCHED_IMAGE_FROM_CPU 0x00000076
+
+#define NV04_STRETCHED_IMAGE_FROM_CPU_BETA4 0x00000194
+#define NV04_STRETCHED_IMAGE_FROM_CPU_SURFACE 0x00000198
+
+
+#define NV05_STRETCHED_IMAGE_FROM_CPU 0x00000066
+
+#define NV05_STRETCHED_IMAGE_FROM_CPU_COLOR_CONVERSION 0x000002f8
+
+
+#define NV30_STRETCHED_IMAGE_FROM_CPU 0x00000366
+
+
+
+#define NV40_STRETCHED_IMAGE_FROM_CPU 0x00003066
+
+
+
+#define NV03_SCALED_IMAGE_FROM_MEMORY 0x00000037
+
+#define NV03_SCALED_IMAGE_FROM_MEMORY_NOP 0x00000100
+#define NV03_SCALED_IMAGE_FROM_MEMORY_NOTIFY 0x00000104
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY 0x00000180
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE 0x00000184
+#define NV03_SCALED_IMAGE_FROM_MEMORY_PATTERN 0x00000188
+#define NV03_SCALED_IMAGE_FROM_MEMORY_ROP 0x0000018c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_BETA1 0x00000190
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SURFACE 0x00000194
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT 0x00000300
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A1R5G5B5 0x00000001
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X1R5G5B5 0x00000002
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_A8R8G8B8 0x00000003
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_X8R8G8B8 0x00000004
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_V8YB8U8YA8 0x00000005
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_YB8V8YA8U8 0x00000006
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_R5G6B5 0x00000007
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_Y8 0x00000008
+#define NV03_SCALED_IMAGE_FROM_MEMORY_COLOR_FORMAT_AY8 0x00000009
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION 0x00000304
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_AND 0x00000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_ROP_AND 0x00000001
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_AND 0x00000002
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY 0x00000003
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OPERATION_BLEND_PREMULT 0x00000005
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT 0x00000308
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_X_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_POINT_Y_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE 0x0000030c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_W_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_CLIP_SIZE_H_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT 0x00000310
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_X_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_POINT_Y_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE 0x00000314
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_W_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OUT_SIZE_H_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DU_DX 0x00000318
+#define NV03_SCALED_IMAGE_FROM_MEMORY_DV_DY 0x0000031c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE 0x00000400
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_W_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_SIZE_H_MASK 0xffff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT 0x00000404
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_PITCH_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_MASK 0x00ff0000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER 0x00010000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CORNER 0x00020000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_SHIFT 24
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_MASK 0xff000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE 0x00000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_BILINEAR 0x01000000
+#define NV03_SCALED_IMAGE_FROM_MEMORY_OFFSET 0x00000408
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT 0x0000040c
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_SHIFT 0
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_U_MASK 0x0000ffff
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_SHIFT 16
+#define NV03_SCALED_IMAGE_FROM_MEMORY_POINT_V_MASK 0xffff0000
+
+
+#define NV04_SCALED_IMAGE_FROM_MEMORY 0x00000077
+
+#define NV04_SCALED_IMAGE_FROM_MEMORY_BETA4 0x00000194
+#define NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE 0x00000198
+
+
+#define NV05_SCALED_IMAGE_FROM_MEMORY 0x00000063
+
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION 0x000002fc
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER 0x00000000
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE 0x00000001
+#define NV05_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_SUBTR_TRUNCATE 0x00000002
+
+
+#define NV10_SCALED_IMAGE_FROM_MEMORY 0x00000089
+
+#define NV10_SCALED_IMAGE_FROM_MEMORY_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV30_SCALED_IMAGE_FROM_MEMORY 0x00000389
+
+
+
+#define NV40_SCALED_IMAGE_FROM_MEMORY 0x00003089
+
+
+
+#define NV04_DVD_SUBPICTURE 0x00000038
+
+#define NV04_DVD_SUBPICTURE_NOP 0x00000100
+#define NV04_DVD_SUBPICTURE_NOTIFY 0x00000104
+#define NV04_DVD_SUBPICTURE_DMA_NOTIFY 0x00000180
+#define NV04_DVD_SUBPICTURE_DMA_OVERLAY 0x00000184
+#define NV04_DVD_SUBPICTURE_DMA_IMAGEIN 0x00000188
+#define NV04_DVD_SUBPICTURE_DMA_IMAGEOUT 0x0000018c
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT 0x00000300
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_X_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_POINT_Y_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE 0x00000304
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_W_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_SIZE_H_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT 0x00000308
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_PITCH_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_FORMAT_COLOR_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEOUT_OFFSET 0x0000030c
+#define NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DU_DX 0x00000310
+#define NV04_DVD_SUBPICTURE_IMAGEIN_DELTA_DV_DY 0x00000314
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE 0x00000318
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_W_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEIN_SIZE_H_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT 0x0000031c
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_PITCH_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEIN_FORMAT_COLOR_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_IMAGEIN_OFFSET 0x00000320
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT 0x00000324
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_SHIFT 0
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_U_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_SHIFT 16
+#define NV04_DVD_SUBPICTURE_IMAGEIN_POINT_V_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DU_DX 0x00000328
+#define NV04_DVD_SUBPICTURE_OVERLAY_DELTA_DV_DY 0x0000032c
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE 0x00000330
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_SHIFT 0
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_W_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_SHIFT 16
+#define NV04_DVD_SUBPICTURE_OVERLAY_SIZE_H_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT 0x00000334
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_SHIFT 0
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_PITCH_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_SHIFT 16
+#define NV04_DVD_SUBPICTURE_OVERLAY_FORMAT_COLOR_MASK 0xffff0000
+#define NV04_DVD_SUBPICTURE_OVERLAY_OFFSET 0x00000338
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT 0x0000033c
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_SHIFT 0
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_U_MASK 0x0000ffff
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_SHIFT 16
+#define NV04_DVD_SUBPICTURE_OVERLAY_POINT_V_MASK 0xffff0000
+
+
+#define NV10_DVD_SUBPICTURE 0x00000088
+
+#define NV10_DVD_SUBPICTURE_WAIT_FOR_IDLE 0x00000108
+
+
+#define NV04_MEMORY_TO_MEMORY_FORMAT 0x00000039
+
+#define NV04_MEMORY_TO_MEMORY_FORMAT_NOP 0x00000100
+#define NV04_MEMORY_TO_MEMORY_FORMAT_NOTIFY 0x00000104
+#define NV04_MEMORY_TO_MEMORY_FORMAT_DMA_NOTIFY 0x00000180
+#define NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN 0x00000184
+#define NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_OUT 0x00000188
+#define NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN 0x0000030c
+#define NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT 0x00000310
+#define NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_IN 0x00000314
+#define NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT 0x00000318
+#define NV04_MEMORY_TO_MEMORY_FORMAT_LINE_LENGTH_IN 0x0000031c
+#define NV04_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT 0x00000320
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT 0x00000324
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_SHIFT 0
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_INPUT_INC_MASK 0x000000ff
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_SHIFT 8
+#define NV04_MEMORY_TO_MEMORY_FORMAT_FORMAT_OUTPUT_INC_MASK 0x0000ff00
+#define NV04_MEMORY_TO_MEMORY_FORMAT_BUF_NOTIFY 0x00000328
+
+
+#define NV50_MEMORY_TO_MEMORY_FORMAT 0x00005039
+
+#define NV50_MEMORY_TO_MEMORY_FORMAT_SERIALIZE 0x00000110
+#define NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_IN 0x00000200
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_IN 0x00000204
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_IN 0x00000208
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_IN 0x0000020c
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_IN 0x00000210
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Z 0x00000214
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN 0x00000218
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_SHIFT 0
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_X_MASK 0x0000ffff
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_SHIFT 16
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_IN_Y_MASK 0xffff0000
+#define NV50_MEMORY_TO_MEMORY_FORMAT_LINEAR_OUT 0x0000021c
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_MODE_OUT 0x00000220
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_PITCH_OUT 0x00000224
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_HEIGHT_OUT 0x00000228
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_DEPTH_OUT 0x0000022c
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Z 0x00000230
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT 0x00000234
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_SHIFT 0
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_X_MASK 0x0000ffff
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_SHIFT 16
+#define NV50_MEMORY_TO_MEMORY_FORMAT_TILING_POSITION_OUT_Y_MASK 0xffff0000
+#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN_HIGH 0x00000238
+#define NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_OUT_HIGH 0x0000023c
+
+
+#define NV01_MEMORY_LOCAL_BANKED 0x0000003d
+
+
+
+#define NV01_MAPPING_SYSTEM 0x0000003e
+
+
+
+#define NV03_MEMORY_LOCAL_CURSOR 0x0000003f
+
+
+
+#define NV01_MEMORY_LOCAL_LINEAR 0x00000040
+
+
+
+#define NV01_MAPPING_LOCAL 0x00000041
+
+
+
+#define NV04_CONTEXT_SURFACES_2D 0x00000042
+
+#define NV04_CONTEXT_SURFACES_2D_NOP 0x00000100
+#define NV04_CONTEXT_SURFACES_2D_NOTIFY 0x00000104
+#define NV04_CONTEXT_SURFACES_2D_PM_TRIGGER 0x00000140
+#define NV04_CONTEXT_SURFACES_2D_DMA_NOTIFY 0x00000180
+#define NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE 0x00000184
+#define NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_DESTIN 0x00000188
+#define NV04_CONTEXT_SURFACES_2D_FORMAT 0x00000300
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y8 0x00000001
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_Z1R5G5B5 0x00000002
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1R5G5B5_X1R5G5B5 0x00000003
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_R5G6B5 0x00000004
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y16 0x00000005
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_Z8R8G8B8 0x00000006
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X8R8G8B8_X8R8G8B8 0x00000007
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_Z1A7R8G8B8 0x00000008
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_X1A7R8G8B8_X1A7R8G8B8 0x00000009
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_A8R8G8B8 0x0000000a
+#define NV04_CONTEXT_SURFACES_2D_FORMAT_Y32 0x0000000b
+#define NV04_CONTEXT_SURFACES_2D_PITCH 0x00000304
+#define NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT 0
+#define NV04_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT 16
+#define NV04_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_2D_OFFSET_SOURCE 0x00000308
+#define NV04_CONTEXT_SURFACES_2D_OFFSET_DESTIN 0x0000030c
+
+
+#define NV10_CONTEXT_SURFACES_2D 0x00000062
+
+
+
+#define NV30_CONTEXT_SURFACES_2D 0x00000362
+
+
+
+#define NV40_CONTEXT_SURFACES_2D 0x00003062
+
+
+
+#define NV03_CONTEXT_ROP 0x00000043
+
+#define NV03_CONTEXT_ROP_NOP 0x00000100
+#define NV03_CONTEXT_ROP_NOTIFY 0x00000104
+#define NV03_CONTEXT_ROP_DMA_NOTIFY 0x00000180
+#define NV03_CONTEXT_ROP_ROP 0x00000300
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SHIFT 0
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_MASK 0x0000000f
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_CLEAR 0x00000000
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOR 0x00000001
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_INVERTED 0x00000002
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY_INVERTED 0x00000003
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND_REVERSE 0x00000004
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_INVERT 0x00000005
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_XOR 0x00000006
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NAND 0x00000007
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_AND 0x00000008
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_EQUI 0x00000009
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_NOOP 0x0000000a
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_INVERTED 0x0000000b
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_COPY 0x0000000c
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR_REVERSE 0x0000000d
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_OR 0x0000000e
+#define NV03_CONTEXT_ROP_ROP_DST_LOGIC_OP_SET 0x0000000f
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SHIFT 4
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_MASK 0x000000f0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_CLEAR 0x00000000
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOR 0x00000010
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_INVERTED 0x00000020
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY_INVERTED 0x00000030
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND_REVERSE 0x00000040
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_INVERT 0x00000050
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_XOR 0x00000060
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NAND 0x00000070
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_AND 0x00000080
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_EQUI 0x00000090
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_NOOP 0x000000a0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_INVERTED 0x000000b0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_COPY 0x000000c0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR_REVERSE 0x000000d0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_OR 0x000000e0
+#define NV03_CONTEXT_ROP_ROP_SRC_LOGIC_OP_SET 0x000000f0
+
+
+#define NV04_IMAGE_PATTERN 0x00000044
+
+#define NV04_IMAGE_PATTERN_NOP 0x00000100
+#define NV04_IMAGE_PATTERN_NOTIFY 0x00000104
+#define NV04_IMAGE_PATTERN_DMA_NOTIFY 0x00000180
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT 0x00000300
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT_A16R5G6B5 0x00000001
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT_X16A1R5G5B5 0x00000002
+#define NV04_IMAGE_PATTERN_COLOR_FORMAT_A8R8G8B8 0x00000003
+#define NV04_IMAGE_PATTERN_MONOCHROME_FORMAT 0x00000304
+#define NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_CGA6 0x00000001
+#define NV04_IMAGE_PATTERN_MONOCHROME_FORMAT_LE 0x00000002
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE 0x00000308
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_8X8 0x00000000
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_64X1 0x00000001
+#define NV04_IMAGE_PATTERN_MONOCHROME_SHAPE_1X64 0x00000002
+#define NV04_IMAGE_PATTERN_PATTERN_SELECT 0x0000030c
+#define NV04_IMAGE_PATTERN_PATTERN_SELECT_MONO 0x00000001
+#define NV04_IMAGE_PATTERN_PATTERN_SELECT_COLOR 0x00000002
+#define NV04_IMAGE_PATTERN_MONOCHROME_COLOR0 0x00000310
+#define NV04_IMAGE_PATTERN_MONOCHROME_COLOR1 0x00000314
+#define NV04_IMAGE_PATTERN_MONOCHROME_PATTERN0 0x00000318
+#define NV04_IMAGE_PATTERN_MONOCHROME_PATTERN1 0x0000031c
+#define NV04_IMAGE_PATTERN_PATTERN_Y8(x) (0x00000400+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_Y8__SIZE 0x00000010
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y0_MASK 0x000000ff
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_SHIFT 8
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y1_MASK 0x0000ff00
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y2_MASK 0x00ff0000
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_SHIFT 24
+#define NV04_IMAGE_PATTERN_PATTERN_Y8_Y3_MASK 0xff000000
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5(x) (0x00000500+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5__SIZE 0x00000020
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B0_MASK 0x0000001f
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_SHIFT 5
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G0_MASK 0x000007e0
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_SHIFT 11
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R0_MASK 0x0000f800
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_B1_MASK 0x001f0000
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_SHIFT 21
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_G1_MASK 0x07e00000
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_SHIFT 27
+#define NV04_IMAGE_PATTERN_PATTERN_R5G6B5_R1_MASK 0xf8000000
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5(x) (0x00000600+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5__SIZE 0x00000020
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B0_MASK 0x0000001f
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_SHIFT 5
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G0_MASK 0x000003e0
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_SHIFT 10
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R0_MASK 0x00007c00
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_B1_MASK 0x001f0000
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_SHIFT 21
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_G1_MASK 0x03e00000
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_SHIFT 26
+#define NV04_IMAGE_PATTERN_PATTERN_X1R5G5B5_R1_MASK 0x7c000000
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8(x) (0x00000700+((x)*4))
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8__SIZE 0x00000040
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_SHIFT 0
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_B_MASK 0x000000ff
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_SHIFT 8
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_G_MASK 0x0000ff00
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_SHIFT 16
+#define NV04_IMAGE_PATTERN_PATTERN_X8R8G8B8_R_MASK 0x00ff0000
+
+
+#define NV03_VIDEO_LUT_CURSOR_DAC 0x00000046
+
+#define NV03_VIDEO_LUT_CURSOR_DAC_SYNCHRONIZE 0x00000100
+#define NV03_VIDEO_LUT_CURSOR_DAC_STOP_IMAGE 0x00000104
+#define NV03_VIDEO_LUT_CURSOR_DAC_STOP_CURSOR 0x00000108
+#define NV03_VIDEO_LUT_CURSOR_DAC_STOP_DAC 0x0000010c
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_NOTIFY 0x00000180
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE(x) (0x00000184+((x)*4))
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_IMAGE__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT(x) (0x0000018c+((x)*4))
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_LUT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR(x) (0x00000194+((x)*4))
+#define NV03_VIDEO_LUT_CURSOR_DAC_DMA_CURSOR__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_GET 0x000002fc
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET(x) (0x00000300+((x)*8))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_OFFSET__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT(x) (0x00000304+((x)*8))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_PITCH_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_COLOR_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_IMAGE_FORMAT_NOTIFY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET(x) (0x00000340+((x)*12))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_OFFSET__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT(x) (0x00000344+((x)*12))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_X_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_Y_MASK 0xffff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT(x) (0x00000348+((x)*12))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_FORMAT__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A 0x00000358
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_X_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_CURSOR_POINT_OUT_A_Y_MASK 0xffff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE(x) (0x00000380+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_W_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_IMAGE_SIZE_H_MASK 0xffff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC(x) (0x00000384+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_START_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_WIDTH_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_HSYNC_POLARITY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC(x) (0x00000388+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_START_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_WIDTH_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_VSYNC_POLARITY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE(x) (0x0000038c+((x)*16))
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE__SIZE 0x00000002
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_SHIFT 0
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_WIDTH_MASK 0x0000ffff
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_SHIFT 16
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_HEIGHT_MASK 0x0fff0000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_SHIFT 28
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_DAC_TOTAL_SIZE_NOTIFY_MASK 0xf0000000
+#define NV03_VIDEO_LUT_CURSOR_DAC_SET_PIXEL_CLOCK 0x000003a0
+
+
+#define NV03_TEXTURED_TRIANGLE 0x00000048
+
+#define NV03_TEXTURED_TRIANGLE_NOP 0x00000100
+#define NV03_TEXTURED_TRIANGLE_NOTIFY 0x00000104
+#define NV03_TEXTURED_TRIANGLE_PATCH 0x0000010c
+#define NV03_TEXTURED_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV03_TEXTURED_TRIANGLE_DMA_TEXTURE 0x00000184
+#define NV03_TEXTURED_TRIANGLE_CLIP_RECTANGLE 0x00000188
+#define NV03_TEXTURED_TRIANGLE_SURFACE 0x0000018c
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_OFFSET 0x00000304
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT 0x00000308
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_MASK_MASK 0x0000ffff
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_KEY_ENABLE_MASK 0x000f0000
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_SHIFT 20
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_COLOR_MASK 0x00f00000
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_SHIFT 24
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MIN_MASK 0x0f000000
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_SHIFT 28
+#define NV03_TEXTURED_TRIANGLE_TEXTURE_FORMAT_SIZE_MAX_MASK 0xf0000000
+#define NV03_TEXTURED_TRIANGLE_FILTER 0x0000030c
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_X_MASK 0x0000001f
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_FILTER_SPREAD_Y_MASK 0x00001f00
+#define NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_FILTER_SIZE_ADJUST_MASK 0x00ff0000
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR 0x00000310
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_B_MASK 0x000000ff
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_G_MASK 0x0000ff00
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_FOG_COLOR_R_MASK 0x00ff0000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT 0x00000314
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_INTERPOLATOR_MASK 0x0000000f
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_SHIFT 4
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_U_MASK 0x00000030
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_SHIFT 6
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_WRAP_V_MASK 0x000000c0
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SOURCE_COLOR_MASK 0x00000f00
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_SHIFT 12
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_CULLING_MASK 0x00007000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_PERSPECTIVE_ENABLE (1 << 15)
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_FUNC_MASK 0x000f0000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_SHIFT 20
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_Z_WRITE_ENABLE_MASK 0x00f00000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_SHIFT 24
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_COLOR_WRITE_ENABLE_MASK 0x07000000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_SHIFT 27
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_ROP_MASK 0x18000000
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_BETA (1 << 29)
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_DST_BLEND (1 << 30)
+#define NV03_TEXTURED_TRIANGLE_CONTROL_OUT_SRC_BLEND (1 << 31)
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL 0x00000318
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_REF_MASK 0x000000ff
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_ALPHA_CONTROL_ALPHA_FUNC_MASK 0xffffff00
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x) (0x00001000+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_SHIFT 0
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I0_MASK 0x0000000f
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_SHIFT 4
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I1_MASK 0x000000f0
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_SHIFT 8
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I2_MASK 0x00000f00
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_SHIFT 12
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I3_MASK 0x0000f000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_SHIFT 16
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I4_MASK 0x000f0000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_SHIFT 20
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_I5_MASK 0x00f00000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT 24
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK 0xff000000
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x) (0x00001004+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SX(x) (0x00001008+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SY(x) (0x0000100c+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ(x) (0x00001010+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW(x) (0x00001014+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TU(x) (0x00001018+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE 0x00000080
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TV(x) (0x0000101c+((x)*32))
+#define NV03_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE 0x00000080
+
+
+#define NV04_GDI_RECTANGLE_TEXT 0x0000004a
+
+#define NV04_GDI_RECTANGLE_TEXT_NOP 0x00000100
+#define NV04_GDI_RECTANGLE_TEXT_NOTIFY 0x00000104
+#define NV04_GDI_RECTANGLE_TEXT_PATCH 0x0000010c
+#define NV04_GDI_RECTANGLE_TEXT_PM_TRIGGER 0x00000140
+#define NV04_GDI_RECTANGLE_TEXT_DMA_NOTIFY 0x00000180
+#define NV04_GDI_RECTANGLE_TEXT_DMA_FONTS 0x00000184
+#define NV04_GDI_RECTANGLE_TEXT_PATTERN 0x00000188
+#define NV04_GDI_RECTANGLE_TEXT_ROP 0x0000018c
+#define NV04_GDI_RECTANGLE_TEXT_BETA1 0x00000190
+#define NV04_GDI_RECTANGLE_TEXT_BETA4 0x00000194
+#define NV04_GDI_RECTANGLE_TEXT_SURFACE 0x00000198
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION 0x000002fc
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_AND 0x00000000
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_ROP_AND 0x00000001
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_AND 0x00000002
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY 0x00000003
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV04_GDI_RECTANGLE_TEXT_OPERATION_BLEND_PREMULT 0x00000005
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT 0x00000300
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A16R5G6B5 0x00000001
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_X16A1R5G5B5 0x00000002
+#define NV04_GDI_RECTANGLE_TEXT_COLOR_FORMAT_A8R8G8B8 0x00000003
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT 0x00000304
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_CGA6 0x00000001
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT_LE 0x00000002
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_A 0x000003fc
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT(x) (0x00000400+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE(x) (0x00000404+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0 0x000005f4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1 0x000005f8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_B_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_B 0x000005fc
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0(x) (0x00000600+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1(x) (0x00000604+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1__SIZE 0x00000020
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0 0x000007ec
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1 0x000007f0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_C 0x000007f4
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C 0x000007f8
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C 0x000007fc
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_X_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x) (0x00000800+((x)*4))
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE 0x00000080
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0 0x00000be4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1 0x00000be8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR0_E 0x00000bec
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_E 0x00000bf0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E 0x00000bf4
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E 0x00000bf8
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E 0x00000bfc
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_X_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x) (0x00000c00+((x)*4))
+#define NV04_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE 0x00000080
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F 0x00000ff0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_OFFSET_MASK 0x0fffffff
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_SHIFT 28
+#define NV04_GDI_RECTANGLE_TEXT_FONT_F_PITCH_MASK 0xf0000000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0 0x00000ff4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1 0x00000ff8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_F_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_F 0x00000ffc
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F(x) (0x00001000+((x)*4))
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F__SIZE 0x00000100
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_INDEX_MASK 0x000000ff
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_SHIFT 8
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_X_MASK 0x000fff00
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_SHIFT 20
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_F_Y_MASK 0xfff00000
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G 0x000017f0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_OFFSET_MASK 0x0fffffff
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_SHIFT 28
+#define NV04_GDI_RECTANGLE_TEXT_FONT_G_PITCH_MASK 0xf0000000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0 0x000017f4
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_L_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT0_T_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1 0x000017f8
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_R_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CLIP_G_POINT1_B_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_COLOR1_G 0x000017fc
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT(x) (0x00001800+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT__SIZE 0x00000100
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_SHIFT 0
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_X_MASK 0x0000ffff
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_SHIFT 16
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_POINT_Y_MASK 0xffff0000
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX(x) (0x00001804+((x)*8))
+#define NV04_GDI_RECTANGLE_TEXT_CHARACTER_COLOR1_G_INDEX__SIZE 0x00000100
+
+
+#define NV03_GDI_RECTANGLE_TEXT 0x0000004b
+
+#define NV03_GDI_RECTANGLE_TEXT_NOP 0x00000100
+#define NV03_GDI_RECTANGLE_TEXT_NOTIFY 0x00000104
+#define NV03_GDI_RECTANGLE_TEXT_DMA_NOTIFY 0x00000180
+#define NV03_GDI_RECTANGLE_TEXT_PATTERN 0x00000184
+#define NV03_GDI_RECTANGLE_TEXT_ROP 0x00000188
+#define NV03_GDI_RECTANGLE_TEXT_BETA1 0x0000018c
+#define NV03_GDI_RECTANGLE_TEXT_SURFACE 0x00000190
+#define NV03_GDI_RECTANGLE_TEXT_OPERATION 0x000002fc
+#define NV03_GDI_RECTANGLE_TEXT_COLOR_FORMAT 0x00000300
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_FORMAT 0x00000304
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_A 0x000003fc
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT 0x00000400
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_Y_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_POINT_X_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE 0x00000404
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_H_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_UNCLIPPED_RECTANGLE_SIZE_W_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B 0x000007f4
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT0_B_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B 0x000007f8
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_POINT1_B_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_B 0x000007fc
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0 0x00000800
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1 0x00000804
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIPPED_RECTANGLE_POINT_1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0 0x00000bec
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1 0x00000bf0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_C_POINT1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_C 0x00000bf4
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C 0x00000bf8
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_C_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C 0x00000bfc
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_X_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_X_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_POINT_C_Y_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C(x) (0x00000c00+((x)*4))
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_C__SIZE 0x00000020
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0 0x00000fe8
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1 0x00000fec
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_D_POINT1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_D 0x00000ff0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D 0x00000ff4
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_D_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D 0x00000ff8
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_D_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D 0x00000ffc
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_X_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_X_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_POINT_D_Y_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D(x) (0x00001000+((x)*4))
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR1_D__SIZE 0x00000020
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0 0x000013e4
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_L_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT0_T_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1 0x000013e8
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_R_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_CLIP_E_POINT1_B_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_COLOR0_E 0x000013ec
+#define NV03_GDI_RECTANGLE_TEXT_COLOR1_E 0x000013f0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E 0x000013f4
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_IN_E_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E 0x000013f8
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_W_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_SIZE_OUT_E_H_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E 0x000013fc
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_X_SHIFT 0
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_X_MASK 0x0000ffff
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_SHIFT 16
+#define NV03_GDI_RECTANGLE_TEXT_POINT_E_Y_MASK 0xffff0000
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E(x) (0x00001400+((x)*4))
+#define NV03_GDI_RECTANGLE_TEXT_MONOCHROME_COLOR01_E__SIZE 0x00000020
+
+
+#define NV04_SWIZZLED_SURFACE 0x00000052
+
+#define NV04_SWIZZLED_SURFACE_NOP 0x00000100
+#define NV04_SWIZZLED_SURFACE_NOTIFY 0x00000104
+#define NV04_SWIZZLED_SURFACE_DMA_NOTIFY 0x00000180
+#define NV04_SWIZZLED_SURFACE_DMA_IMAGE 0x00000184
+#define NV04_SWIZZLED_SURFACE_FORMAT 0x00000300
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_SHIFT 0
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_MASK 0x000000ff
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y8 0x00000001
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5 0x00000002
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1R5G5B5_X1R5G5B5 0x00000003
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_R5G6B5 0x00000004
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y16 0x00000005
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8 0x00000006
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X8R8G8B8_X8R8G8B8 0x00000007
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8 0x00000008
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8 0x00000009
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_A8R8G8B8 0x0000000a
+#define NV04_SWIZZLED_SURFACE_FORMAT_COLOR_Y32 0x0000000b
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_MASK 0x00ff0000
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_MASK 0xff000000
+#define NV04_SWIZZLED_SURFACE_OFFSET 0x00000304
+
+
+#define NV20_SWIZZLED_SURFACE 0x0000009e
+
+
+
+#define NV30_SWIZZLED_SURFACE 0x0000039e
+
+
+
+#define NV40_SWIZZLED_SURFACE 0x0000309e
+
+
+
+#define NV04_CONTEXT_SURFACES_3D 0x00000053
+
+#define NV04_CONTEXT_SURFACES_3D_NOP 0x00000100
+#define NV04_CONTEXT_SURFACES_3D_NOTIFY 0x00000104
+#define NV04_CONTEXT_SURFACES_3D_DMA_NOTIFY 0x00000180
+#define NV04_CONTEXT_SURFACES_3D_DMA_COLOR 0x00000184
+#define NV04_CONTEXT_SURFACES_3D_DMA_ZETA 0x00000188
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL 0x000002f8
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_X_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_CLIP_HORIZONTAL_W_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL 0x000002fc
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_Y_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_CLIP_VERTICAL_H_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_FORMAT 0x00000300
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_MASK 0x000000ff
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_Z1R5G5B5 0x00000001
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1R5G5B5_X1R5G5B5 0x00000002
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_Z8R8G8B8 0x00000004
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X8R8G8B8_X8R8G8B8 0x00000005
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_Z1A7R8G8B8 0x00000006
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_X1A7R8G8B8_X1A7R8G8B8 0x00000007
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SHIFT 8
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_MASK 0x0000ff00
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_PITCH 0x00000100
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_TYPE_SWIZZLE 0x00000200
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_U_MASK 0x00ff0000
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV04_CONTEXT_SURFACES_3D_FORMAT_BASE_SIZE_V_MASK 0xff000000
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE 0x00000304
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_W_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_CLIP_SIZE_H_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_PITCH 0x00000308
+#define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_SHIFT 0
+#define NV04_CONTEXT_SURFACES_3D_PITCH_COLOR_MASK 0x0000ffff
+#define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_SHIFT 16
+#define NV04_CONTEXT_SURFACES_3D_PITCH_ZETA_MASK 0xffff0000
+#define NV04_CONTEXT_SURFACES_3D_OFFSET_COLOR 0x0000030c
+#define NV04_CONTEXT_SURFACES_3D_OFFSET_ZETA 0x00000310
+
+
+#define NV10_CONTEXT_SURFACES_3D 0x00000093
+
+
+
+#define NV04_TEXTURED_TRIANGLE 0x00000054
+
+#define NV04_TEXTURED_TRIANGLE_NOP 0x00000100
+#define NV04_TEXTURED_TRIANGLE_NOTIFY 0x00000104
+#define NV04_TEXTURED_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV04_TEXTURED_TRIANGLE_DMA_A 0x00000184
+#define NV04_TEXTURED_TRIANGLE_DMA_B 0x00000188
+#define NV04_TEXTURED_TRIANGLE_SURFACE 0x0000018c
+#define NV04_TEXTURED_TRIANGLE_COLORKEY 0x00000300
+#define NV04_TEXTURED_TRIANGLE_OFFSET 0x00000304
+#define NV04_TEXTURED_TRIANGLE_FORMAT 0x00000308
+#define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_A (1 << 0)
+#define NV04_TEXTURED_TRIANGLE_FORMAT_DMA_B (1 << 1)
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_SHIFT 2
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_KEY_MATCH_MASK 0x0000000c
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT 4
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK 0x00000030
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CENTER 0x00000010
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_ZOH_CORNER 0x00000020
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT 6
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_MASK 0x000000c0
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CENTER 0x00000040
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ORIGIN_FOH_CORNER 0x00000080
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_MASK 0x00000f00
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_Y8 0x00000100
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A1R5G5B5 0x00000200
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X1R5G5B5 0x00000300
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A4R4G4B4 0x00000400
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_R5G6B5 0x00000500
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_A8R8G8B8 0x00000600
+#define NV04_TEXTURED_TRIANGLE_FORMAT_COLOR_X8R8G8B8 0x00000700
+#define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT 12
+#define NV04_TEXTURED_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK 0x0000f000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_U_MASK 0x000f0000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT 20
+#define NV04_TEXTURED_TRIANGLE_FORMAT_BASE_SIZE_V_MASK 0x00f00000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MASK 0x07000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_REPEAT 0x01000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_MIRRORED_REPEAT 0x02000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_EDGE 0x03000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP_TO_BORDER 0x04000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSU_CLAMP 0x05000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPU (1 << 27)
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_SHIFT 28
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MASK 0x70000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_REPEAT 0x10000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_MIRRORED_REPEAT 0x20000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_EDGE 0x30000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP_TO_BORDER 0x40000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_ADDRESSV_CLAMP 0x50000000
+#define NV04_TEXTURED_TRIANGLE_FORMAT_WRAPV (1 << 31)
+#define NV04_TEXTURED_TRIANGLE_FILTER 0x0000030c
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK 0x00007f00
+#define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE (1 << 15)
+#define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_MASK 0x07000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST 0x01000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR 0x02000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x03000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x04000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x05000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x06000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE (1 << 27)
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_SHIFT 28
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_MASK 0x70000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_NEAREST 0x10000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_MAGNIFY_LINEAR 0x20000000
+#define NV04_TEXTURED_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE (1 << 31)
+#define NV04_TEXTURED_TRIANGLE_BLEND 0x00000310
+#define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_MAP_MASK 0x0000000f
+#define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_SHIFT 4
+#define NV04_TEXTURED_TRIANGLE_BLEND_MASK_BIT_MASK 0x00000030
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_SHIFT 6
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_MASK 0x000000c0
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_FLAT 0x00000040
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_GOURAUD 0x00000080
+#define NV04_TEXTURED_TRIANGLE_BLEND_SHADE_MODE_PHONG 0x000000c0
+#define NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE (1 << 8)
+#define NV04_TEXTURED_TRIANGLE_BLEND_SPECULAR_ENABLE (1 << 12)
+#define NV04_TEXTURED_TRIANGLE_BLEND_FOG_ENABLE (1 << 16)
+#define NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE (1 << 20)
+#define NV04_TEXTURED_TRIANGLE_BLEND_SRC_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_BLEND_SRC_MASK 0x0f000000
+#define NV04_TEXTURED_TRIANGLE_BLEND_DST_SHIFT 28
+#define NV04_TEXTURED_TRIANGLE_BLEND_DST_MASK 0xf0000000
+#define NV04_TEXTURED_TRIANGLE_CONTROL 0x00000314
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_REF_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_FUNC_MASK 0x00000f00
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ALPHA_ENABLE (1 << 12)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_ORIGIN (1 << 13)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_ENABLE (1 << 14)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FUNC_MASK 0x000f0000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_SHIFT 20
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_MASK 0x00300000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_BOTH 0x00000000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_NONE 0x00100000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CW 0x00200000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_CULL_MODE_CCW 0x00300000
+#define NV04_TEXTURED_TRIANGLE_CONTROL_DITHER_ENABLE (1 << 22)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_PERSPECTIVE_ENABLE (1 << 23)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_WRITE (1 << 24)
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_SHIFT 30
+#define NV04_TEXTURED_TRIANGLE_CONTROL_Z_FORMAT_MASK 0xc0000000
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR 0x00000318
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_B_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_G_MASK 0x0000ff00
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_R_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_FOGCOLOR_A_MASK 0xff000000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SX(x) (0x00000400+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SX__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SY(x) (0x00000404+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SY__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ(x) (0x00000408+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SZ__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW(x) (0x0000040c+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_RHW__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR(x) (0x00000410+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_B_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_G_MASK 0x0000ff00
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_R_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_COLOR_A_MASK 0xff000000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR(x) (0x00000414+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_B_MASK 0x000000ff
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_G_MASK 0x0000ff00
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_R_MASK 0x00ff0000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_SHIFT 24
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_SPECULAR_FOG_MASK 0xff000000
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TU(x) (0x00000418+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TU__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TV(x) (0x0000041c+((x)*32))
+#define NV04_TEXTURED_TRIANGLE_TLVERTEX_TV__SIZE 0x00000010
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE(x) (0x00000600+((x)*4))
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE__SIZE 0x00000040
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT 0
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I0_MASK 0x0000000f
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT 4
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I1_MASK 0x000000f0
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT 8
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I2_MASK 0x00000f00
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT 12
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I3_MASK 0x0000f000
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT 16
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I4_MASK 0x000f0000
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT 20
+#define NV04_TEXTURED_TRIANGLE_DRAWPRIMITIVE_I5_MASK 0x00f00000
+
+
+#define NV10_TEXTURED_TRIANGLE 0x00000094
+
+
+
+#define NV04_MULTITEX_TRIANGLE 0x00000055
+
+#define NV04_MULTITEX_TRIANGLE_NOP 0x00000100
+#define NV04_MULTITEX_TRIANGLE_NOTIFY 0x00000104
+#define NV04_MULTITEX_TRIANGLE_DMA_NOTIFY 0x00000180
+#define NV04_MULTITEX_TRIANGLE_DMA_A 0x00000184
+#define NV04_MULTITEX_TRIANGLE_DMA_B 0x00000188
+#define NV04_MULTITEX_TRIANGLE_SURFACE 0x0000018c
+#define NV04_MULTITEX_TRIANGLE_OFFSET(x) (0x00000308+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_OFFSET__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_FORMAT(x) (0x00000310+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_FORMAT__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_A (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_FORMAT_DMA_B (1 << 1)
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_ZOH_MASK 0x00000030
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_SHIFT 6
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ORIGIN_FOH_MASK 0x000000c0
+#define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_FORMAT_COLOR_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_SHIFT 12
+#define NV04_MULTITEX_TRIANGLE_FORMAT_MIPMAP_LEVELS_MASK 0x0000f000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_U_MASK 0x000f0000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_SHIFT 20
+#define NV04_MULTITEX_TRIANGLE_FORMAT_BASE_SIZE_V_MASK 0x00f00000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSU_MASK 0x07000000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPU (1 << 27)
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_SHIFT 28
+#define NV04_MULTITEX_TRIANGLE_FORMAT_ADDRESSV_MASK 0x70000000
+#define NV04_MULTITEX_TRIANGLE_FORMAT_WRAPV (1 << 31)
+#define NV04_MULTITEX_TRIANGLE_FILTER(x) (0x00000318+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_FILTER__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_X_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_FILTER_KERNEL_SIZE_Y_MASK 0x00007f00
+#define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_DITHER_ENABLE (1 << 15)
+#define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_FILTER_MIPMAP_LODBIAS_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_FILTER_MINIFY_MASK 0x07000000
+#define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MINIFY_ENABLE (1 << 27)
+#define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_SHIFT 28
+#define NV04_MULTITEX_TRIANGLE_FILTER_MAGNIFY_MASK 0x70000000
+#define NV04_MULTITEX_TRIANGLE_FILTER_ANISOTROPIC_MAGNIFY_ENABLE (1 << 31)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA(x) (0x00000320+((x)*12))
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE0 (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_SHIFT 2
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_MASK 0x000000fc
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_ZERO 0x00000004
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_CONSTANT 0x00000008
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PRIMARY_COLOR 0x0000000c
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_PREVIOUS 0x00000010
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE0 0x00000014
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT0_TEXTURE1 0x00000018
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE1 (1 << 8)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_SHIFT 10
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_MASK 0x0000fc00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_ZERO 0x00000400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_CONSTANT 0x00000800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PRIMARY_COLOR 0x00000c00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_PREVIOUS 0x00001000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE0 0x00001400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT1_TEXTURE1 0x00001800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE2 (1 << 16)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_SHIFT 18
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_MASK 0x00fc0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_ZERO 0x00040000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_CONSTANT 0x00080000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PRIMARY_COLOR 0x000c0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_PREVIOUS 0x00100000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE0 0x00140000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT2_TEXTURE1 0x00180000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_INVERSE3 (1 << 24)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_SHIFT 26
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_MASK 0x1c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_ZERO 0x04000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_CONSTANT 0x08000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PRIMARY_COLOR 0x0c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_PREVIOUS 0x10000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE0 0x14000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_ARGUMENT3_TEXTURE1 0x18000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SHIFT 29
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_MASK 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_IDENTITY 0x20000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE2 0x40000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_SCALE4 0x60000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS 0x80000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_ALPHA_MAP_BIAS_SCALE2 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR(x) (0x00000324+((x)*12))
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR__SIZE 0x00000002
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE0 (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA0 (1 << 1)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_SHIFT 2
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_MASK 0x000000fc
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_ZERO 0x00000004
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_CONSTANT 0x00000008
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PRIMARY_COLOR 0x0000000c
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_PREVIOUS 0x00000010
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE0 0x00000014
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT0_TEXTURE1 0x00000018
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE1 (1 << 8)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA1 (1 << 9)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_SHIFT 10
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_MASK 0x0000fc00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_ZERO 0x00000400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_CONSTANT 0x00000800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PRIMARY_COLOR 0x00000c00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_PREVIOUS 0x00001000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE0 0x00001400
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT1_TEXTURE1 0x00001800
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE2 (1 << 16)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA2 (1 << 17)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_SHIFT 18
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_MASK 0x00fc0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_ZERO 0x00040000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_CONSTANT 0x00080000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PRIMARY_COLOR 0x000c0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_PREVIOUS 0x00100000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE0 0x00140000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT2_TEXTURE1 0x00180000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_INVERSE3 (1 << 24)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ALPHA3 (1 << 25)
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_SHIFT 26
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_MASK 0x1c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_ZERO 0x04000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_CONSTANT 0x08000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PRIMARY_COLOR 0x0c000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_PREVIOUS 0x10000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE0 0x14000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_ARGUMENT3_TEXTURE1 0x18000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SHIFT 29
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_MASK 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_IDENTITY 0x20000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE2 0x40000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_SCALE4 0x60000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS 0x80000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_COLOR_MAP_BIAS_SCALE2 0xe0000000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR 0x00000334
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_COMBINE_FACTOR_A_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_BLEND 0x00000338
+#define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_BLEND_MASK_BIT_MASK 0x00000030
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_SHIFT 6
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_MASK 0x000000c0
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_FLAT 0x00000040
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_GOURAUD 0x00000080
+#define NV04_MULTITEX_TRIANGLE_BLEND_SHADE_MODE_PHONG 0x000000c0
+#define NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE (1 << 8)
+#define NV04_MULTITEX_TRIANGLE_BLEND_SPECULAR_ENABLE (1 << 12)
+#define NV04_MULTITEX_TRIANGLE_BLEND_FOG_ENABLE (1 << 16)
+#define NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE (1 << 20)
+#define NV04_MULTITEX_TRIANGLE_BLEND_SRC_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_BLEND_SRC_MASK 0x0f000000
+#define NV04_MULTITEX_TRIANGLE_BLEND_DST_SHIFT 28
+#define NV04_MULTITEX_TRIANGLE_BLEND_DST_MASK 0xf0000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0 0x0000033c
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_REF_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_FUNC_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_ENABLE (1 << 12)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ORIGIN (1 << 13)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_ENABLE (1 << 14)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FUNC_MASK 0x000f0000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_SHIFT 20
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_MASK 0x00300000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_BOTH 0x00000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_NONE 0x00100000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CW 0x00200000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_CULL_MODE_CCW 0x00300000
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_DITHER_ENABLE (1 << 22)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_PERSPECTIVE_ENABLE (1 << 23)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_WRITE (1 << 24)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_STENCIL_WRITE (1 << 25)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_ALPHA_WRITE (1 << 26)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_RED_WRITE (1 << 27)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_GREEN_WRITE (1 << 28)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_BLUE_WRITE (1 << 29)
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_SHIFT 30
+#define NV04_MULTITEX_TRIANGLE_CONTROL0_Z_FORMAT_MASK 0xc0000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL1 0x00000340
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_ENABLE (1 << 0)
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_FUNC_MASK 0x000000f0
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_REF_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_READ_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_CONTROL1_STENCIL_MASK_WRITE_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_CONTROL2 0x00000344
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_FAIL_MASK 0x0000000f
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZFAIL_MASK 0x000000f0
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_CONTROL2_STENCIL_OP_ZPASS_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR 0x00000348
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_FOGCOLOR_A_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX(x) (0x00000400+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SX__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY(x) (0x00000404+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SY__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ(x) (0x00000408+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SZ__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW(x) (0x0000040c+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_RHW__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR(x) (0x00000410+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_COLOR_A_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR(x) (0x00000414+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_B_MASK 0x000000ff
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_G_MASK 0x0000ff00
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_R_MASK 0x00ff0000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_SHIFT 24
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_SPECULAR_FOG_MASK 0xff000000
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0(x) (0x00000418+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU0__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0(x) (0x0000041c+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV0__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1(x) (0x00000420+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TU1__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1(x) (0x00000424+((x)*40))
+#define NV04_MULTITEX_TRIANGLE_TLMTVERTEX_TV1__SIZE 0x00000008
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE(x) (0x00000540+((x)*4))
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE__SIZE 0x00000030
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_SHIFT 0
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I0_MASK 0x0000000f
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_SHIFT 4
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I1_MASK 0x000000f0
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_SHIFT 8
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I2_MASK 0x00000f00
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_SHIFT 12
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I3_MASK 0x0000f000
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_SHIFT 16
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I4_MASK 0x000f0000
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_SHIFT 20
+#define NV04_MULTITEX_TRIANGLE_DRAWPRIMITIVE_I5_MASK 0x00f00000
+
+
+#define NV10_MULTITEX_TRIANGLE 0x00000095
+
+
+
+#define NV10TCL 0x00000056
+
+#define NV10TCL_NOP 0x00000100
+#define NV10TCL_NOTIFY 0x00000104
+#define NV10TCL_DMA_NOTIFY 0x00000180
+#define NV10TCL_DMA_IN_MEMORY0 0x00000184
+#define NV10TCL_DMA_IN_MEMORY1 0x00000188
+#define NV10TCL_DMA_VTXBUF0 0x0000018c
+#define NV10TCL_DMA_IN_MEMORY2 0x00000194
+#define NV10TCL_DMA_IN_MEMORY3 0x00000198
+#define NV10TCL_RT_HORIZ 0x00000200
+#define NV10TCL_RT_HORIZ_X_SHIFT 0
+#define NV10TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV10TCL_RT_HORIZ_W_SHIFT 16
+#define NV10TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV10TCL_RT_VERT 0x00000204
+#define NV10TCL_RT_VERT_Y_SHIFT 0
+#define NV10TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV10TCL_RT_VERT_H_SHIFT 16
+#define NV10TCL_RT_VERT_H_MASK 0xffff0000
+#define NV10TCL_RT_FORMAT 0x00000208
+#define NV10TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV10TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV10TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV10TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV10TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV10TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV10TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV10TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV10TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV10TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV10TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV10TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV10TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV10TCL_RT_PITCH 0x0000020c
+#define NV10TCL_RT_PITCH_COLOR_PITCH_SHIFT 0
+#define NV10TCL_RT_PITCH_COLOR_PITCH_MASK 0x0000ffff
+#define NV10TCL_RT_PITCH_ZETA_PITCH_SHIFT 16
+#define NV10TCL_RT_PITCH_ZETA_PITCH_MASK 0xffff0000
+#define NV10TCL_COLOR_OFFSET 0x00000210
+#define NV10TCL_ZETA_OFFSET 0x00000214
+#define NV10TCL_TX_OFFSET(x) (0x00000218+((x)*4))
+#define NV10TCL_TX_OFFSET__SIZE 0x00000002
+#define NV10TCL_TX_FORMAT(x) (0x00000220+((x)*4))
+#define NV10TCL_TX_FORMAT__SIZE 0x00000002
+#define NV10TCL_TX_FORMAT_DMA0 (1 << 0)
+#define NV10TCL_TX_FORMAT_DMA1 (1 << 1)
+#define NV10TCL_TX_FORMAT_CUBE_MAP (1 << 2)
+#define NV10TCL_TX_FORMAT_FORMAT_SHIFT 7
+#define NV10TCL_TX_FORMAT_FORMAT_MASK 0x00000f80
+#define NV10TCL_TX_FORMAT_FORMAT_L8 0x00000000
+#define NV10TCL_TX_FORMAT_FORMAT_A8 0x00000080
+#define NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5 0x00000100
+#define NV10TCL_TX_FORMAT_FORMAT_A4R4G4B4 0x00000200
+#define NV10TCL_TX_FORMAT_FORMAT_R5G6B5 0x00000280
+#define NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8 0x00000300
+#define NV10TCL_TX_FORMAT_FORMAT_X8R8G8B8 0x00000380
+#define NV10TCL_TX_FORMAT_FORMAT_INDEX8 0x00000580
+#define NV10TCL_TX_FORMAT_FORMAT_DXT1 0x00000600
+#define NV10TCL_TX_FORMAT_FORMAT_DXT3 0x00000700
+#define NV10TCL_TX_FORMAT_FORMAT_DXT5 0x00000780
+#define NV10TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT 0x00000800
+#define NV10TCL_TX_FORMAT_FORMAT_R5G6B5_RECT 0x00000880
+#define NV10TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT 0x00000900
+#define NV10TCL_TX_FORMAT_FORMAT_A8_RECT 0x00000980
+#define NV10TCL_TX_FORMAT_MIPMAP (1 << 15)
+#define NV10TCL_TX_FORMAT_BASE_SIZE_U_SHIFT 16
+#define NV10TCL_TX_FORMAT_BASE_SIZE_U_MASK 0x000f0000
+#define NV10TCL_TX_FORMAT_BASE_SIZE_V_SHIFT 20
+#define NV10TCL_TX_FORMAT_BASE_SIZE_V_MASK 0x00f00000
+#define NV10TCL_TX_FORMAT_WRAP_S_SHIFT 24
+#define NV10TCL_TX_FORMAT_WRAP_S_MASK 0x0f000000
+#define NV10TCL_TX_FORMAT_WRAP_S_REPEAT 0x01000000
+#define NV10TCL_TX_FORMAT_WRAP_S_MIRRORED_REPEAT 0x02000000
+#define NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_EDGE 0x03000000
+#define NV10TCL_TX_FORMAT_WRAP_S_CLAMP_TO_BORDER 0x04000000
+#define NV10TCL_TX_FORMAT_WRAP_S_CLAMP 0x05000000
+#define NV10TCL_TX_FORMAT_WRAP_T_SHIFT 28
+#define NV10TCL_TX_FORMAT_WRAP_T_MASK 0xf0000000
+#define NV10TCL_TX_FORMAT_WRAP_T_REPEAT 0x10000000
+#define NV10TCL_TX_FORMAT_WRAP_T_MIRRORED_REPEAT 0x20000000
+#define NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_EDGE 0x30000000
+#define NV10TCL_TX_FORMAT_WRAP_T_CLAMP_TO_BORDER 0x40000000
+#define NV10TCL_TX_FORMAT_WRAP_T_CLAMP 0x50000000
+#define NV10TCL_TX_ENABLE(x) (0x00000228+((x)*4))
+#define NV10TCL_TX_ENABLE__SIZE 0x00000002
+#define NV10TCL_TX_ENABLE_CULL_SHIFT 0
+#define NV10TCL_TX_ENABLE_CULL_MASK 0x0000000f
+#define NV10TCL_TX_ENABLE_CULL_DISABLED 0x00000000
+#define NV10TCL_TX_ENABLE_CULL_TEST_ALL 0x00000003
+#define NV10TCL_TX_ENABLE_CULL_TEST_ALPHA 0x00000004
+#define NV10TCL_TX_ENABLE_ANISOTROPY_SHIFT 4
+#define NV10TCL_TX_ENABLE_ANISOTROPY_MASK 0x00000030
+#define NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT 14
+#define NV10TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK 0x0003c000
+#define NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT 26
+#define NV10TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK 0x3c000000
+#define NV10TCL_TX_ENABLE_ENABLE (1 << 30)
+#define NV10TCL_TX_NPOT_PITCH(x) (0x00000230+((x)*4))
+#define NV10TCL_TX_NPOT_PITCH__SIZE 0x00000002
+#define NV10TCL_TX_NPOT_PITCH_PITCH_SHIFT 16
+#define NV10TCL_TX_NPOT_PITCH_PITCH_MASK 0xffff0000
+#define NV10TCL_TX_NPOT_SIZE(x) (0x00000240+((x)*4))
+#define NV10TCL_TX_NPOT_SIZE__SIZE 0x00000002
+#define NV10TCL_TX_NPOT_SIZE_H_SHIFT 0
+#define NV10TCL_TX_NPOT_SIZE_H_MASK 0x0000ffff
+#define NV10TCL_TX_NPOT_SIZE_W_SHIFT 16
+#define NV10TCL_TX_NPOT_SIZE_W_MASK 0xffff0000
+#define NV10TCL_TX_FILTER(x) (0x00000248+((x)*4))
+#define NV10TCL_TX_FILTER__SIZE 0x00000002
+#define NV10TCL_TX_FILTER_LOD_BIAS_SHIFT 8
+#define NV10TCL_TX_FILTER_LOD_BIAS_MASK 0x00000f00
+#define NV10TCL_TX_FILTER_MINIFY_SHIFT 24
+#define NV10TCL_TX_FILTER_MINIFY_MASK 0x0f000000
+#define NV10TCL_TX_FILTER_MINIFY_NEAREST 0x01000000
+#define NV10TCL_TX_FILTER_MINIFY_LINEAR 0x02000000
+#define NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x03000000
+#define NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x04000000
+#define NV10TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x05000000
+#define NV10TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x06000000
+#define NV10TCL_TX_FILTER_MAGNIFY_SHIFT 28
+#define NV10TCL_TX_FILTER_MAGNIFY_MASK 0xf0000000
+#define NV10TCL_TX_FILTER_MAGNIFY_NEAREST 0x10000000
+#define NV10TCL_TX_FILTER_MAGNIFY_LINEAR 0x20000000
+#define NV10TCL_TX_PALETTE_OFFSET(x) (0x00000250+((x)*4))
+#define NV10TCL_TX_PALETTE_OFFSET__SIZE 0x00000002
+#define NV10TCL_RC_IN_ALPHA(x) (0x00000260+((x)*4))
+#define NV10TCL_RC_IN_ALPHA__SIZE 0x00000002
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SHIFT 0
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_MASK 0x0000000f
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_FOG 0x00000003
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE (1 << 4)
+#define NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_SHIFT 5
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_MASK 0x000000e0
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV10TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SHIFT 8
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_FOG 0x00000300
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_SHIFT 13
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SHIFT 16
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_FOG 0x00030000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_SHIFT 21
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SHIFT 24
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_FOG 0x03000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE 0x00000000
+#define NV10TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_SHIFT 29
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_RC_IN_RGB(x) (0x00000268+((x)*4))
+#define NV10TCL_RC_IN_RGB__SIZE 0x00000002
+#define NV10TCL_RC_IN_RGB_D_INPUT_SHIFT 0
+#define NV10TCL_RC_IN_RGB_D_INPUT_MASK 0x0000000f
+#define NV10TCL_RC_IN_RGB_D_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_IN_RGB_D_INPUT_FOG 0x00000003
+#define NV10TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_IN_RGB_D_INPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_IN_RGB_D_INPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_IN_RGB_D_INPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_IN_RGB_D_INPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE (1 << 4)
+#define NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV10TCL_RC_IN_RGB_D_MAPPING_SHIFT 5
+#define NV10TCL_RC_IN_RGB_D_MAPPING_MASK 0x000000e0
+#define NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV10TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV10TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV10TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV10TCL_RC_IN_RGB_C_INPUT_SHIFT 8
+#define NV10TCL_RC_IN_RGB_C_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_IN_RGB_C_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_IN_RGB_C_INPUT_FOG 0x00000300
+#define NV10TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_IN_RGB_C_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_IN_RGB_C_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_IN_RGB_C_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_IN_RGB_C_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_SHIFT 13
+#define NV10TCL_RC_IN_RGB_C_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SHIFT 16
+#define NV10TCL_RC_IN_RGB_B_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_IN_RGB_B_INPUT_FOG 0x00030000
+#define NV10TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_IN_RGB_B_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_SHIFT 21
+#define NV10TCL_RC_IN_RGB_B_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SHIFT 24
+#define NV10TCL_RC_IN_RGB_A_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_FOG 0x03000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_IN_RGB_A_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_SHIFT 29
+#define NV10TCL_RC_IN_RGB_A_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_RC_COLOR(x) (0x00000270+((x)*4))
+#define NV10TCL_RC_COLOR__SIZE 0x00000002
+#define NV10TCL_RC_COLOR_B_SHIFT 0
+#define NV10TCL_RC_COLOR_B_MASK 0x000000ff
+#define NV10TCL_RC_COLOR_G_SHIFT 8
+#define NV10TCL_RC_COLOR_G_MASK 0x0000ff00
+#define NV10TCL_RC_COLOR_R_SHIFT 16
+#define NV10TCL_RC_COLOR_R_MASK 0x00ff0000
+#define NV10TCL_RC_COLOR_A_SHIFT 24
+#define NV10TCL_RC_COLOR_A_MASK 0xff000000
+#define NV10TCL_RC_OUT_ALPHA(x) (0x00000278+((x)*4))
+#define NV10TCL_RC_OUT_ALPHA__SIZE 0x00000002
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT 0
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK 0x0000000f
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG 0x00000003
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT 4
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK 0x000000f0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG 0x00000030
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0 0x000000c0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1 0x000000d0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV10TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT 8
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK 0x00000f00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG 0x00000300
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT (1 << 12)
+#define NV10TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT (1 << 13)
+#define NV10TCL_RC_OUT_ALPHA_MUX_SUM (1 << 14)
+#define NV10TCL_RC_OUT_ALPHA_BIAS (1 << 15)
+#define NV10TCL_RC_OUT_ALPHA_BIAS_NONE 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SHIFT 17
+#define NV10TCL_RC_OUT_ALPHA_SCALE_MASK 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_NONE 0x00000000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO 0x00020000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV10TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV10TCL_RC_OUT_RGB(x) (0x00000280+((x)*4))
+#define NV10TCL_RC_OUT_RGB__SIZE 0x00000002
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT 0
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_MASK 0x0000000f
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_FOG 0x00000003
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT 4
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_MASK 0x000000f0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_FOG 0x00000030
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0 0x000000c0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1 0x000000d0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV10TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT 8
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_MASK 0x00000f00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO 0x00000000
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_FOG 0x00000300
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_OUT_RGB_CD_DOT_PRODUCT (1 << 12)
+#define NV10TCL_RC_OUT_RGB_AB_DOT_PRODUCT (1 << 13)
+#define NV10TCL_RC_OUT_RGB_MUX_SUM (1 << 14)
+#define NV10TCL_RC_OUT_RGB_BIAS (1 << 15)
+#define NV10TCL_RC_OUT_RGB_BIAS_NONE 0x00000000
+#define NV10TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV10TCL_RC_OUT_RGB_SCALE_SHIFT 17
+#define NV10TCL_RC_OUT_RGB_SCALE_MASK 0x00000000
+#define NV10TCL_RC_OUT_RGB_SCALE_NONE 0x00000000
+#define NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO 0x00020000
+#define NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV10TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV10TCL_RC_OUT_RGB_OPERATION_SHIFT 27
+#define NV10TCL_RC_OUT_RGB_OPERATION_MASK 0x38000000
+#define NV10TCL_RC_FINAL0 0x00000288
+#define NV10TCL_RC_FINAL0_D_INPUT_SHIFT 0
+#define NV10TCL_RC_FINAL0_D_INPUT_MASK 0x0000000f
+#define NV10TCL_RC_FINAL0_D_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV10TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV10TCL_RC_FINAL0_D_INPUT_FOG 0x00000003
+#define NV10TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV10TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE0 0x00000008
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE1 0x00000009
+#define NV10TCL_RC_FINAL0_D_INPUT_SPARE0 0x0000000c
+#define NV10TCL_RC_FINAL0_D_INPUT_SPARE1 0x0000000d
+#define NV10TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV10TCL_RC_FINAL0_D_INPUT_E_TIMES_F 0x0000000f
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE2 0x0000000a
+#define NV10TCL_RC_FINAL0_D_INPUT_TEXTURE3 0x0000000b
+#define NV10TCL_RC_FINAL0_D_COMPONENT_USAGE (1 << 4)
+#define NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV10TCL_RC_FINAL0_D_MAPPING_SHIFT 5
+#define NV10TCL_RC_FINAL0_D_MAPPING_MASK 0x000000e0
+#define NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV10TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV10TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV10TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV10TCL_RC_FINAL0_C_INPUT_SHIFT 8
+#define NV10TCL_RC_FINAL0_C_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_FINAL0_C_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_FINAL0_C_INPUT_FOG 0x00000300
+#define NV10TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_FINAL0_C_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_FINAL0_C_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_FINAL0_C_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_FINAL0_C_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_FINAL0_C_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_FINAL0_C_MAPPING_SHIFT 13
+#define NV10TCL_RC_FINAL0_C_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_FINAL0_B_INPUT_SHIFT 16
+#define NV10TCL_RC_FINAL0_B_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_FINAL0_B_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_FINAL0_B_INPUT_FOG 0x00030000
+#define NV10TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_FINAL0_B_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_FINAL0_B_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_FINAL0_B_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_FINAL0_B_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_FINAL0_B_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_FINAL0_B_MAPPING_SHIFT 21
+#define NV10TCL_RC_FINAL0_B_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_FINAL0_A_INPUT_SHIFT 24
+#define NV10TCL_RC_FINAL0_A_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_FINAL0_A_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_FINAL0_A_INPUT_FOG 0x03000000
+#define NV10TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_FINAL0_A_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_FINAL0_A_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_FINAL0_A_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_SHIFT 29
+#define NV10TCL_RC_FINAL0_A_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_RC_FINAL1 0x0000028c
+#define NV10TCL_RC_FINAL1_COLOR_SUM_CLAMP (1 << 7)
+#define NV10TCL_RC_FINAL1_G_INPUT_SHIFT 8
+#define NV10TCL_RC_FINAL1_G_INPUT_MASK 0x00000f00
+#define NV10TCL_RC_FINAL1_G_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV10TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV10TCL_RC_FINAL1_G_INPUT_FOG 0x00000300
+#define NV10TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR 0x00000400
+#define NV10TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR 0x00000500
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE0 0x00000800
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE1 0x00000900
+#define NV10TCL_RC_FINAL1_G_INPUT_SPARE0 0x00000c00
+#define NV10TCL_RC_FINAL1_G_INPUT_SPARE1 0x00000d00
+#define NV10TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV10TCL_RC_FINAL1_G_INPUT_E_TIMES_F 0x00000f00
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE2 0x00000a00
+#define NV10TCL_RC_FINAL1_G_INPUT_TEXTURE3 0x00000b00
+#define NV10TCL_RC_FINAL1_G_COMPONENT_USAGE (1 << 12)
+#define NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV10TCL_RC_FINAL1_G_MAPPING_SHIFT 13
+#define NV10TCL_RC_FINAL1_G_MAPPING_MASK 0x0000e000
+#define NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV10TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV10TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV10TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV10TCL_RC_FINAL1_F_INPUT_SHIFT 16
+#define NV10TCL_RC_FINAL1_F_INPUT_MASK 0x000f0000
+#define NV10TCL_RC_FINAL1_F_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV10TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV10TCL_RC_FINAL1_F_INPUT_FOG 0x00030000
+#define NV10TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR 0x00040000
+#define NV10TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR 0x00050000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE0 0x00080000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE1 0x00090000
+#define NV10TCL_RC_FINAL1_F_INPUT_SPARE0 0x000c0000
+#define NV10TCL_RC_FINAL1_F_INPUT_SPARE1 0x000d0000
+#define NV10TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV10TCL_RC_FINAL1_F_INPUT_E_TIMES_F 0x000f0000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE2 0x000a0000
+#define NV10TCL_RC_FINAL1_F_INPUT_TEXTURE3 0x000b0000
+#define NV10TCL_RC_FINAL1_F_COMPONENT_USAGE (1 << 20)
+#define NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV10TCL_RC_FINAL1_F_MAPPING_SHIFT 21
+#define NV10TCL_RC_FINAL1_F_MAPPING_MASK 0x00e00000
+#define NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV10TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV10TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV10TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV10TCL_RC_FINAL1_E_INPUT_SHIFT 24
+#define NV10TCL_RC_FINAL1_E_INPUT_MASK 0x0f000000
+#define NV10TCL_RC_FINAL1_E_INPUT_ZERO 0x00000000
+#define NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV10TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV10TCL_RC_FINAL1_E_INPUT_FOG 0x03000000
+#define NV10TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR 0x04000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR 0x05000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE0 0x08000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE1 0x09000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SPARE0 0x0c000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SPARE1 0x0d000000
+#define NV10TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV10TCL_RC_FINAL1_E_INPUT_E_TIMES_F 0x0f000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE2 0x0a000000
+#define NV10TCL_RC_FINAL1_E_INPUT_TEXTURE3 0x0b000000
+#define NV10TCL_RC_FINAL1_E_COMPONENT_USAGE (1 << 28)
+#define NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB 0x00000000
+#define NV10TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_SHIFT 29
+#define NV10TCL_RC_FINAL1_E_MAPPING_MASK 0xe0000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV10TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV10TCL_LIGHT_MODEL 0x00000294
+#define NV10TCL_LIGHT_MODEL_VERTEX_SPECULAR (1 << 0)
+#define NV10TCL_LIGHT_MODEL_SEPARATE_SPECULAR (1 << 1)
+#define NV10TCL_LIGHT_MODEL_LOCAL_VIEWER (1 << 16)
+#define NV10TCL_COLOR_MATERIAL 0x00000298
+#define NV10TCL_COLOR_MATERIAL_EMISSION (1 << 0)
+#define NV10TCL_COLOR_MATERIAL_AMBIENT (1 << 1)
+#define NV10TCL_COLOR_MATERIAL_DIFFUSE (1 << 2)
+#define NV10TCL_COLOR_MATERIAL_SPECULAR (1 << 3)
+#define NV10TCL_FOG_MODE 0x0000029c
+#define NV10TCL_FOG_MODE_LINEAR 0x00002601
+#define NV10TCL_FOG_MODE_EXP 0x00000800
+#define NV10TCL_FOG_MODE_EXP_ABS 0x00000802
+#define NV10TCL_FOG_MODE_EXP2 0x00000803
+#define NV10TCL_FOG_COORD 0x000002a0
+#define NV10TCL_FOG_COORD_FOG 0x00000000
+#define NV10TCL_FOG_COORD_DIST_RADIAL 0x00000001
+#define NV10TCL_FOG_COORD_DIST_ORTHOGONAL 0x00000002
+#define NV10TCL_FOG_COORD_DIST_ORTHOGONAL_ABS 0x00000003
+#define NV10TCL_FOG_ENABLE 0x000002a4
+#define NV10TCL_FOG_COLOR 0x000002a8
+#define NV10TCL_FOG_COLOR_R_SHIFT 0
+#define NV10TCL_FOG_COLOR_R_MASK 0x000000ff
+#define NV10TCL_FOG_COLOR_G_SHIFT 8
+#define NV10TCL_FOG_COLOR_G_MASK 0x0000ff00
+#define NV10TCL_FOG_COLOR_B_SHIFT 16
+#define NV10TCL_FOG_COLOR_B_MASK 0x00ff0000
+#define NV10TCL_FOG_COLOR_A_SHIFT 24
+#define NV10TCL_FOG_COLOR_A_MASK 0xff000000
+#define NV10TCL_VIEWPORT_CLIP_MODE 0x000002b4
+#define NV10TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*4))
+#define NV10TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_SHIFT 0
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_L_MASK 0x000007ff
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_LEFT_ENABLE (1 << 11)
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_SHIFT 16
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_R_MASK 0x07ff0000
+#define NV10TCL_VIEWPORT_CLIP_HORIZ_CLIP_RIGHT_ENABLE (1 << 27)
+#define NV10TCL_VIEWPORT_CLIP_VERT(x) (0x000002e0+((x)*4))
+#define NV10TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_SHIFT 0
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_T_MASK 0x000007ff
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_TOP_ENABLE (1 << 11)
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_SHIFT 16
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_B_MASK 0x07ff0000
+#define NV10TCL_VIEWPORT_CLIP_VERT_CLIP_BOTTOM_ENABLE (1 << 27)
+#define NV10TCL_ALPHA_FUNC_ENABLE 0x00000300
+#define NV10TCL_BLEND_FUNC_ENABLE 0x00000304
+#define NV10TCL_CULL_FACE_ENABLE 0x00000308
+#define NV10TCL_DEPTH_TEST_ENABLE 0x0000030c
+#define NV10TCL_DITHER_ENABLE 0x00000310
+#define NV10TCL_LIGHTING_ENABLE 0x00000314
+#define NV10TCL_POINT_PARAMETERS_ENABLE 0x00000318
+#define NV10TCL_POINT_SMOOTH_ENABLE 0x0000031c
+#define NV10TCL_LINE_SMOOTH_ENABLE 0x00000320
+#define NV10TCL_POLYGON_SMOOTH_ENABLE 0x00000324
+#define NV10TCL_VERTEX_WEIGHT_ENABLE 0x00000328
+#define NV10TCL_STENCIL_ENABLE 0x0000032c
+#define NV10TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000330
+#define NV10TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000334
+#define NV10TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000338
+#define NV10TCL_ALPHA_FUNC_FUNC 0x0000033c
+#define NV10TCL_ALPHA_FUNC_FUNC_NEVER 0x00000200
+#define NV10TCL_ALPHA_FUNC_FUNC_LESS 0x00000201
+#define NV10TCL_ALPHA_FUNC_FUNC_EQUAL 0x00000202
+#define NV10TCL_ALPHA_FUNC_FUNC_LEQUAL 0x00000203
+#define NV10TCL_ALPHA_FUNC_FUNC_GREATER 0x00000204
+#define NV10TCL_ALPHA_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV10TCL_ALPHA_FUNC_FUNC_GEQUAL 0x00000206
+#define NV10TCL_ALPHA_FUNC_FUNC_ALWAYS 0x00000207
+#define NV10TCL_ALPHA_FUNC_REF 0x00000340
+#define NV10TCL_BLEND_FUNC_SRC 0x00000344
+#define NV10TCL_BLEND_FUNC_SRC_ZERO 0x00000000
+#define NV10TCL_BLEND_FUNC_SRC_ONE 0x00000001
+#define NV10TCL_BLEND_FUNC_SRC_SRC_COLOR 0x00000300
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA 0x00000302
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV10TCL_BLEND_FUNC_SRC_DST_ALPHA 0x00000304
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV10TCL_BLEND_FUNC_SRC_DST_COLOR 0x00000306
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR 0x00000307
+#define NV10TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE 0x00000308
+#define NV10TCL_BLEND_FUNC_SRC_CONSTANT_COLOR 0x00008001
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV10TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA 0x00008003
+#define NV10TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV10TCL_BLEND_FUNC_DST 0x00000348
+#define NV10TCL_BLEND_FUNC_DST_ZERO 0x00000000
+#define NV10TCL_BLEND_FUNC_DST_ONE 0x00000001
+#define NV10TCL_BLEND_FUNC_DST_SRC_COLOR 0x00000300
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV10TCL_BLEND_FUNC_DST_SRC_ALPHA 0x00000302
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV10TCL_BLEND_FUNC_DST_DST_ALPHA 0x00000304
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV10TCL_BLEND_FUNC_DST_DST_COLOR 0x00000306
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR 0x00000307
+#define NV10TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE 0x00000308
+#define NV10TCL_BLEND_FUNC_DST_CONSTANT_COLOR 0x00008001
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV10TCL_BLEND_FUNC_DST_CONSTANT_ALPHA 0x00008003
+#define NV10TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV10TCL_BLEND_COLOR 0x0000034c
+#define NV10TCL_BLEND_COLOR_B_SHIFT 0
+#define NV10TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV10TCL_BLEND_COLOR_G_SHIFT 8
+#define NV10TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV10TCL_BLEND_COLOR_R_SHIFT 16
+#define NV10TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV10TCL_BLEND_COLOR_A_SHIFT 24
+#define NV10TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV10TCL_BLEND_EQUATION 0x00000350
+#define NV10TCL_BLEND_EQUATION_FUNC_ADD 0x00008006
+#define NV10TCL_BLEND_EQUATION_MIN 0x00008007
+#define NV10TCL_BLEND_EQUATION_MAX 0x00008008
+#define NV10TCL_BLEND_EQUATION_FUNC_SUBTRACT 0x0000800a
+#define NV10TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV10TCL_DEPTH_FUNC 0x00000354
+#define NV10TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV10TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV10TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV10TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV10TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV10TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV10TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV10TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV10TCL_COLOR_MASK 0x00000358
+#define NV10TCL_COLOR_MASK_B (1 << 0)
+#define NV10TCL_COLOR_MASK_G (1 << 8)
+#define NV10TCL_COLOR_MASK_R (1 << 16)
+#define NV10TCL_COLOR_MASK_A (1 << 24)
+#define NV10TCL_DEPTH_WRITE_ENABLE 0x0000035c
+#define NV10TCL_STENCIL_MASK 0x00000360
+#define NV10TCL_STENCIL_FUNC_FUNC 0x00000364
+#define NV10TCL_STENCIL_FUNC_FUNC_NEVER 0x00000200
+#define NV10TCL_STENCIL_FUNC_FUNC_LESS 0x00000201
+#define NV10TCL_STENCIL_FUNC_FUNC_EQUAL 0x00000202
+#define NV10TCL_STENCIL_FUNC_FUNC_LEQUAL 0x00000203
+#define NV10TCL_STENCIL_FUNC_FUNC_GREATER 0x00000204
+#define NV10TCL_STENCIL_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV10TCL_STENCIL_FUNC_FUNC_GEQUAL 0x00000206
+#define NV10TCL_STENCIL_FUNC_FUNC_ALWAYS 0x00000207
+#define NV10TCL_STENCIL_FUNC_REF 0x00000368
+#define NV10TCL_STENCIL_FUNC_MASK 0x0000036c
+#define NV10TCL_STENCIL_OP_FAIL 0x00000370
+#define NV10TCL_STENCIL_OP_FAIL_ZERO 0x00000000
+#define NV10TCL_STENCIL_OP_FAIL_INVERT 0x0000150a
+#define NV10TCL_STENCIL_OP_FAIL_KEEP 0x00001e00
+#define NV10TCL_STENCIL_OP_FAIL_REPLACE 0x00001e01
+#define NV10TCL_STENCIL_OP_FAIL_INCR 0x00001e02
+#define NV10TCL_STENCIL_OP_FAIL_DECR 0x00001e03
+#define NV10TCL_STENCIL_OP_FAIL_INCR_WRAP 0x00008507
+#define NV10TCL_STENCIL_OP_FAIL_DECR_WRAP 0x00008508
+#define NV10TCL_STENCIL_OP_ZFAIL 0x00000374
+#define NV10TCL_STENCIL_OP_ZFAIL_ZERO 0x00000000
+#define NV10TCL_STENCIL_OP_ZFAIL_INVERT 0x0000150a
+#define NV10TCL_STENCIL_OP_ZFAIL_KEEP 0x00001e00
+#define NV10TCL_STENCIL_OP_ZFAIL_REPLACE 0x00001e01
+#define NV10TCL_STENCIL_OP_ZFAIL_INCR 0x00001e02
+#define NV10TCL_STENCIL_OP_ZFAIL_DECR 0x00001e03
+#define NV10TCL_STENCIL_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV10TCL_STENCIL_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV10TCL_STENCIL_OP_ZPASS 0x00000378
+#define NV10TCL_STENCIL_OP_ZPASS_ZERO 0x00000000
+#define NV10TCL_STENCIL_OP_ZPASS_INVERT 0x0000150a
+#define NV10TCL_STENCIL_OP_ZPASS_KEEP 0x00001e00
+#define NV10TCL_STENCIL_OP_ZPASS_REPLACE 0x00001e01
+#define NV10TCL_STENCIL_OP_ZPASS_INCR 0x00001e02
+#define NV10TCL_STENCIL_OP_ZPASS_DECR 0x00001e03
+#define NV10TCL_STENCIL_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV10TCL_STENCIL_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV10TCL_SHADE_MODEL 0x0000037c
+#define NV10TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV10TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV10TCL_LINE_WIDTH 0x00000380
+#define NV10TCL_POLYGON_OFFSET_FACTOR 0x00000384
+#define NV10TCL_POLYGON_OFFSET_UNITS 0x00000388
+#define NV10TCL_POLYGON_MODE_FRONT 0x0000038c
+#define NV10TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV10TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV10TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV10TCL_POLYGON_MODE_BACK 0x00000390
+#define NV10TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV10TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV10TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV10TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV10TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV10TCL_CULL_FACE 0x0000039c
+#define NV10TCL_CULL_FACE_FRONT 0x00000404
+#define NV10TCL_CULL_FACE_BACK 0x00000405
+#define NV10TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV10TCL_FRONT_FACE 0x000003a0
+#define NV10TCL_FRONT_FACE_CW 0x00000900
+#define NV10TCL_FRONT_FACE_CCW 0x00000901
+#define NV10TCL_NORMALIZE_ENABLE 0x000003a4
+#define NV10TCL_MATERIAL_FACTOR_R 0x000003a8
+#define NV10TCL_MATERIAL_FACTOR_G 0x000003ac
+#define NV10TCL_MATERIAL_FACTOR_B 0x000003b0
+#define NV10TCL_MATERIAL_FACTOR_A 0x000003b4
+#define NV10TCL_SEPARATE_SPECULAR_ENABLE 0x000003b8
+#define NV10TCL_ENABLED_LIGHTS 0x000003bc
+#define NV10TCL_ENABLED_LIGHTS_0_SHIFT 0
+#define NV10TCL_ENABLED_LIGHTS_0_MASK 0x00000003
+#define NV10TCL_ENABLED_LIGHTS_0_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_0_NONPOSITIONAL 0x00000001
+#define NV10TCL_ENABLED_LIGHTS_0_POSITIONAL 0x00000002
+#define NV10TCL_ENABLED_LIGHTS_0_DIRECTIONAL 0x00000003
+#define NV10TCL_ENABLED_LIGHTS_1_SHIFT 2
+#define NV10TCL_ENABLED_LIGHTS_1_MASK 0x0000000c
+#define NV10TCL_ENABLED_LIGHTS_1_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_1_NONPOSITIONAL 0x00000004
+#define NV10TCL_ENABLED_LIGHTS_1_POSITIONAL 0x00000008
+#define NV10TCL_ENABLED_LIGHTS_1_DIRECTIONAL 0x0000000c
+#define NV10TCL_ENABLED_LIGHTS_2_SHIFT 4
+#define NV10TCL_ENABLED_LIGHTS_2_MASK 0x00000030
+#define NV10TCL_ENABLED_LIGHTS_2_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_2_NONPOSITIONAL 0x00000010
+#define NV10TCL_ENABLED_LIGHTS_2_POSITIONAL 0x00000020
+#define NV10TCL_ENABLED_LIGHTS_2_DIRECTIONAL 0x00000030
+#define NV10TCL_ENABLED_LIGHTS_3_SHIFT 6
+#define NV10TCL_ENABLED_LIGHTS_3_MASK 0x000000c0
+#define NV10TCL_ENABLED_LIGHTS_3_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_3_NONPOSITIONAL 0x00000040
+#define NV10TCL_ENABLED_LIGHTS_3_POSITIONAL 0x00000080
+#define NV10TCL_ENABLED_LIGHTS_3_DIRECTIONAL 0x000000c0
+#define NV10TCL_ENABLED_LIGHTS_4_SHIFT 8
+#define NV10TCL_ENABLED_LIGHTS_4_MASK 0x00000300
+#define NV10TCL_ENABLED_LIGHTS_4_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_4_NONPOSITIONAL 0x00000100
+#define NV10TCL_ENABLED_LIGHTS_4_POSITIONAL 0x00000200
+#define NV10TCL_ENABLED_LIGHTS_4_DIRECTIONAL 0x00000300
+#define NV10TCL_ENABLED_LIGHTS_5_SHIFT 10
+#define NV10TCL_ENABLED_LIGHTS_5_MASK 0x00000c00
+#define NV10TCL_ENABLED_LIGHTS_5_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_5_NONPOSITIONAL 0x00000400
+#define NV10TCL_ENABLED_LIGHTS_5_POSITIONAL 0x00000800
+#define NV10TCL_ENABLED_LIGHTS_5_DIRECTIONAL 0x00000c00
+#define NV10TCL_ENABLED_LIGHTS_6_SHIFT 12
+#define NV10TCL_ENABLED_LIGHTS_6_MASK 0x00003000
+#define NV10TCL_ENABLED_LIGHTS_6_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_6_NONPOSITIONAL 0x00001000
+#define NV10TCL_ENABLED_LIGHTS_6_POSITIONAL 0x00002000
+#define NV10TCL_ENABLED_LIGHTS_6_DIRECTIONAL 0x00003000
+#define NV10TCL_ENABLED_LIGHTS_7_SHIFT 14
+#define NV10TCL_ENABLED_LIGHTS_7_MASK 0x0000c000
+#define NV10TCL_ENABLED_LIGHTS_7_DISABLED 0x00000000
+#define NV10TCL_ENABLED_LIGHTS_7_NONPOSITIONAL 0x00004000
+#define NV10TCL_ENABLED_LIGHTS_7_POSITIONAL 0x00008000
+#define NV10TCL_ENABLED_LIGHTS_7_DIRECTIONAL 0x0000c000
+#define NV10TCL_TX_GEN_MODE_S(x) (0x000003c0+((x)*16))
+#define NV10TCL_TX_GEN_MODE_S__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_S_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_S_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_S_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_S_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_S_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_S_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_GEN_MODE_T(x) (0x000003c4+((x)*16))
+#define NV10TCL_TX_GEN_MODE_T__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_T_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_T_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_T_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_T_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_T_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_T_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_GEN_MODE_R(x) (0x000003c8+((x)*16))
+#define NV10TCL_TX_GEN_MODE_R__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_R_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_R_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_R_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_R_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_R_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_R_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_GEN_MODE_Q(x) (0x000003cc+((x)*16))
+#define NV10TCL_TX_GEN_MODE_Q__SIZE 0x00000002
+#define NV10TCL_TX_GEN_MODE_Q_FALSE 0x00000000
+#define NV10TCL_TX_GEN_MODE_Q_EYE_LINEAR 0x00002400
+#define NV10TCL_TX_GEN_MODE_Q_OBJECT_LINEAR 0x00002401
+#define NV10TCL_TX_GEN_MODE_Q_SPHERE_MAP 0x00002402
+#define NV10TCL_TX_GEN_MODE_Q_NORMAL_MAP 0x00008511
+#define NV10TCL_TX_GEN_MODE_Q_REFLECTION_MAP 0x00008512
+#define NV10TCL_TX_MATRIX_ENABLE(x) (0x000003e0+((x)*4))
+#define NV10TCL_TX_MATRIX_ENABLE__SIZE 0x00000002
+#define NV10TCL_VIEW_MATRIX_ENABLE 0x000003e8
+#define NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW1 (1 << 0)
+#define NV10TCL_VIEW_MATRIX_ENABLE_MODELVIEW0 (1 << 1)
+#define NV10TCL_VIEW_MATRIX_ENABLE_PROJECTION (1 << 2)
+#define NV10TCL_POINT_SIZE 0x000003ec
+#define NV10TCL_MODELVIEW0_MATRIX(x) (0x00000400+((x)*4))
+#define NV10TCL_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV10TCL_MODELVIEW1_MATRIX(x) (0x00000440+((x)*4))
+#define NV10TCL_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV10TCL_INVERSE_MODELVIEW0_MATRIX(x) (0x00000480+((x)*4))
+#define NV10TCL_INVERSE_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV10TCL_INVERSE_MODELVIEW1_MATRIX(x) (0x000004c0+((x)*4))
+#define NV10TCL_INVERSE_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV10TCL_PROJECTION_MATRIX(x) (0x00000500+((x)*4))
+#define NV10TCL_PROJECTION_MATRIX__SIZE 0x00000010
+#define NV10TCL_TX0_MATRIX(x) (0x00000540+((x)*4))
+#define NV10TCL_TX0_MATRIX__SIZE 0x00000010
+#define NV10TCL_TX1_MATRIX(x) (0x00000580+((x)*4))
+#define NV10TCL_TX1_MATRIX__SIZE 0x00000010
+#define NV10TCL_TX_GEN_COEFF_S_A(x) (0x00000600+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_S_B(x) (0x00000604+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_S_C(x) (0x00000608+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_S_D(x) (0x0000060c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_S_D__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_A(x) (0x00000610+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_B(x) (0x00000614+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_C(x) (0x00000618+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_T_D(x) (0x0000061c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_T_D__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_A(x) (0x00000620+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_B(x) (0x00000624+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_C(x) (0x00000628+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_R_D(x) (0x0000062c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_R_D__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_A(x) (0x00000630+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_A__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_B(x) (0x00000634+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_B__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_C(x) (0x00000638+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_C__SIZE 0x00000002
+#define NV10TCL_TX_GEN_COEFF_Q_D(x) (0x0000063c+((x)*64))
+#define NV10TCL_TX_GEN_COEFF_Q_D__SIZE 0x00000002
+#define NV10TCL_FOG_EQUATION_CONSTANT 0x00000680
+#define NV10TCL_FOG_EQUATION_LINEAR 0x00000684
+#define NV10TCL_FOG_EQUATION_QUADRATIC 0x00000688
+#define NV10TCL_MATERIAL_SHININESS(x) (0x000006a0+((x)*4))
+#define NV10TCL_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV10TCL_LIGHT_MODEL_AMBIENT_R 0x000006c4
+#define NV10TCL_LIGHT_MODEL_AMBIENT_G 0x000006c8
+#define NV10TCL_LIGHT_MODEL_AMBIENT_B 0x000006cc
+#define NV10TCL_VIEWPORT_TRANSLATE_X 0x000006e8
+#define NV10TCL_VIEWPORT_TRANSLATE_Y 0x000006ec
+#define NV10TCL_VIEWPORT_TRANSLATE_Z 0x000006f0
+#define NV10TCL_VIEWPORT_TRANSLATE_W 0x000006f4
+#define NV10TCL_POINT_PARAMETER(x) (0x000006f8+((x)*4))
+#define NV10TCL_POINT_PARAMETER__SIZE 0x00000008
+#define NV10TCL_LIGHT_AMBIENT_R(x) (0x00000800+((x)*128))
+#define NV10TCL_LIGHT_AMBIENT_R__SIZE 0x00000008
+#define NV10TCL_LIGHT_AMBIENT_G(x) (0x00000804+((x)*128))
+#define NV10TCL_LIGHT_AMBIENT_G__SIZE 0x00000008
+#define NV10TCL_LIGHT_AMBIENT_B(x) (0x00000808+((x)*128))
+#define NV10TCL_LIGHT_AMBIENT_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIFFUSE_R(x) (0x0000080c+((x)*128))
+#define NV10TCL_LIGHT_DIFFUSE_R__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIFFUSE_G(x) (0x00000810+((x)*128))
+#define NV10TCL_LIGHT_DIFFUSE_G__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIFFUSE_B(x) (0x00000814+((x)*128))
+#define NV10TCL_LIGHT_DIFFUSE_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPECULAR_R(x) (0x00000818+((x)*128))
+#define NV10TCL_LIGHT_SPECULAR_R__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPECULAR_G(x) (0x0000081c+((x)*128))
+#define NV10TCL_LIGHT_SPECULAR_G__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPECULAR_B(x) (0x00000820+((x)*128))
+#define NV10TCL_LIGHT_SPECULAR_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_HALF_VECTOR_X(x) (0x00000828+((x)*128))
+#define NV10TCL_LIGHT_HALF_VECTOR_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_HALF_VECTOR_Y(x) (0x0000082c+((x)*128))
+#define NV10TCL_LIGHT_HALF_VECTOR_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_HALF_VECTOR_Z(x) (0x00000830+((x)*128))
+#define NV10TCL_LIGHT_HALF_VECTOR_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIRECTION_X(x) (0x00000834+((x)*128))
+#define NV10TCL_LIGHT_DIRECTION_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIRECTION_Y(x) (0x00000838+((x)*128))
+#define NV10TCL_LIGHT_DIRECTION_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_DIRECTION_Z(x) (0x0000083c+((x)*128))
+#define NV10TCL_LIGHT_DIRECTION_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_A(x) (0x00000840+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_A__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_B(x) (0x00000844+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_B__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_C(x) (0x00000848+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_C__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_DIR_X(x) (0x0000084c+((x)*128))
+#define NV10TCL_LIGHT_SPOT_DIR_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_DIR_Y(x) (0x00000850+((x)*128))
+#define NV10TCL_LIGHT_SPOT_DIR_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_DIR_Z(x) (0x00000854+((x)*128))
+#define NV10TCL_LIGHT_SPOT_DIR_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_SPOT_CUTOFF_D(x) (0x00000858+((x)*128))
+#define NV10TCL_LIGHT_SPOT_CUTOFF_D__SIZE 0x00000008
+#define NV10TCL_LIGHT_POSITION_X(x) (0x0000085c+((x)*128))
+#define NV10TCL_LIGHT_POSITION_X__SIZE 0x00000008
+#define NV10TCL_LIGHT_POSITION_Y(x) (0x00000860+((x)*128))
+#define NV10TCL_LIGHT_POSITION_Y__SIZE 0x00000008
+#define NV10TCL_LIGHT_POSITION_Z(x) (0x00000864+((x)*128))
+#define NV10TCL_LIGHT_POSITION_Z__SIZE 0x00000008
+#define NV10TCL_LIGHT_ATTENUATION_CONSTANT(x) (0x00000868+((x)*128))
+#define NV10TCL_LIGHT_ATTENUATION_CONSTANT__SIZE 0x00000008
+#define NV10TCL_LIGHT_ATTENUATION_LINEAR(x) (0x0000086c+((x)*128))
+#define NV10TCL_LIGHT_ATTENUATION_LINEAR__SIZE 0x00000008
+#define NV10TCL_LIGHT_ATTENUATION_QUADRATIC(x) (0x00000870+((x)*128))
+#define NV10TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE 0x00000008
+#define NV10TCL_VERTEX_POS_3F_X 0x00000c00
+#define NV10TCL_VERTEX_POS_3F_Y 0x00000c04
+#define NV10TCL_VERTEX_POS_3F_Z 0x00000c08
+#define NV10TCL_VERTEX_POS_4F_X 0x00000c18
+#define NV10TCL_VERTEX_POS_4F_Y 0x00000c1c
+#define NV10TCL_VERTEX_POS_4F_Z 0x00000c20
+#define NV10TCL_VERTEX_POS_4F_W 0x00000c24
+#define NV10TCL_VERTEX_NOR_3F_X 0x00000c30
+#define NV10TCL_VERTEX_NOR_3F_Y 0x00000c34
+#define NV10TCL_VERTEX_NOR_3F_Z 0x00000c38
+#define NV10TCL_VERTEX_NOR_3I_XY 0x00000c40
+#define NV10TCL_VERTEX_NOR_3I_XY_X_SHIFT 0
+#define NV10TCL_VERTEX_NOR_3I_XY_X_MASK 0x0000ffff
+#define NV10TCL_VERTEX_NOR_3I_XY_Y_SHIFT 16
+#define NV10TCL_VERTEX_NOR_3I_XY_Y_MASK 0xffff0000
+#define NV10TCL_VERTEX_NOR_3I_Z 0x00000c44
+#define NV10TCL_VERTEX_NOR_3I_Z_Z_SHIFT 0
+#define NV10TCL_VERTEX_NOR_3I_Z_Z_MASK 0x0000ffff
+#define NV10TCL_VERTEX_COL_4F_R 0x00000c50
+#define NV10TCL_VERTEX_COL_4F_G 0x00000c54
+#define NV10TCL_VERTEX_COL_4F_B 0x00000c58
+#define NV10TCL_VERTEX_COL_4F_A 0x00000c5c
+#define NV10TCL_VERTEX_COL_3F_R 0x00000c60
+#define NV10TCL_VERTEX_COL_3F_G 0x00000c64
+#define NV10TCL_VERTEX_COL_3F_B 0x00000c68
+#define NV10TCL_VERTEX_COL_4I 0x00000c6c
+#define NV10TCL_VERTEX_COL_4I_R_SHIFT 0
+#define NV10TCL_VERTEX_COL_4I_R_MASK 0x000000ff
+#define NV10TCL_VERTEX_COL_4I_G_SHIFT 8
+#define NV10TCL_VERTEX_COL_4I_G_MASK 0x0000ff00
+#define NV10TCL_VERTEX_COL_4I_B_SHIFT 16
+#define NV10TCL_VERTEX_COL_4I_B_MASK 0x00ff0000
+#define NV10TCL_VERTEX_COL_4I_A_SHIFT 24
+#define NV10TCL_VERTEX_COL_4I_A_MASK 0xff000000
+#define NV10TCL_VERTEX_COL2_3F_R 0x00000c80
+#define NV10TCL_VERTEX_COL2_3F_G 0x00000c84
+#define NV10TCL_VERTEX_COL2_3F_B 0x00000c88
+#define NV10TCL_VERTEX_COL2_3I 0x00000c8c
+#define NV10TCL_VERTEX_COL2_3I_R_SHIFT 0
+#define NV10TCL_VERTEX_COL2_3I_R_MASK 0x000000ff
+#define NV10TCL_VERTEX_COL2_3I_G_SHIFT 8
+#define NV10TCL_VERTEX_COL2_3I_G_MASK 0x0000ff00
+#define NV10TCL_VERTEX_COL2_3I_B_SHIFT 16
+#define NV10TCL_VERTEX_COL2_3I_B_MASK 0x00ff0000
+#define NV10TCL_VERTEX_TX0_2F_S 0x00000c90
+#define NV10TCL_VERTEX_TX0_2F_T 0x00000c94
+#define NV10TCL_VERTEX_TX0_2I 0x00000c98
+#define NV10TCL_VERTEX_TX0_2I_S_SHIFT 0
+#define NV10TCL_VERTEX_TX0_2I_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX0_2I_T_SHIFT 16
+#define NV10TCL_VERTEX_TX0_2I_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX0_4F_S 0x00000ca0
+#define NV10TCL_VERTEX_TX0_4F_T 0x00000ca4
+#define NV10TCL_VERTEX_TX0_4F_R 0x00000ca8
+#define NV10TCL_VERTEX_TX0_4F_Q 0x00000cac
+#define NV10TCL_VERTEX_TX0_4I_ST 0x00000cb0
+#define NV10TCL_VERTEX_TX0_4I_ST_S_SHIFT 0
+#define NV10TCL_VERTEX_TX0_4I_ST_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX0_4I_ST_T_SHIFT 16
+#define NV10TCL_VERTEX_TX0_4I_ST_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX0_4I_RQ 0x00000cb4
+#define NV10TCL_VERTEX_TX0_4I_RQ_R_SHIFT 0
+#define NV10TCL_VERTEX_TX0_4I_RQ_R_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX0_4I_RQ_Q_SHIFT 16
+#define NV10TCL_VERTEX_TX0_4I_RQ_Q_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX1_2F_S 0x00000cb8
+#define NV10TCL_VERTEX_TX1_2F_T 0x00000cbc
+#define NV10TCL_VERTEX_TX1_2I 0x00000cc0
+#define NV10TCL_VERTEX_TX1_2I_S_SHIFT 0
+#define NV10TCL_VERTEX_TX1_2I_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX1_2I_T_SHIFT 16
+#define NV10TCL_VERTEX_TX1_2I_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX1_4F_S 0x00000cc8
+#define NV10TCL_VERTEX_TX1_4F_T 0x00000ccc
+#define NV10TCL_VERTEX_TX1_4F_R 0x00000cd0
+#define NV10TCL_VERTEX_TX1_4F_Q 0x00000cd4
+#define NV10TCL_VERTEX_TX1_4I_ST 0x00000cd8
+#define NV10TCL_VERTEX_TX1_4I_ST_S_SHIFT 0
+#define NV10TCL_VERTEX_TX1_4I_ST_S_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX1_4I_ST_T_SHIFT 16
+#define NV10TCL_VERTEX_TX1_4I_ST_T_MASK 0xffff0000
+#define NV10TCL_VERTEX_TX1_4I_RQ 0x00000cdc
+#define NV10TCL_VERTEX_TX1_4I_RQ_R_SHIFT 0
+#define NV10TCL_VERTEX_TX1_4I_RQ_R_MASK 0x0000ffff
+#define NV10TCL_VERTEX_TX1_4I_RQ_Q_SHIFT 16
+#define NV10TCL_VERTEX_TX1_4I_RQ_Q_MASK 0xffff0000
+#define NV10TCL_VERTEX_FOG_1F 0x00000ce0
+#define NV10TCL_VERTEX_WGH_1F 0x00000ce4
+#define NV10TCL_EDGEFLAG_ENABLE 0x00000cec
+#define NV10TCL_VERTEX_ARRAY_VALIDATE 0x00000cf0
+#define NV10TCL_VTXBUF_ADDRESS(x) (0x00000d00+((x)*8))
+#define NV10TCL_VTXBUF_ADDRESS__SIZE 0x00000008
+#define NV10TCL_VTXFMT(x) (0x00000d04+((x)*8))
+#define NV10TCL_VTXFMT__SIZE 0x00000008
+#define NV10TCL_VTXFMT_TYPE_SHIFT 0
+#define NV10TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV10TCL_VTXFMT_TYPE_BYTE_BGRA 0x00000000
+#define NV10TCL_VTXFMT_TYPE_SHORT 0x00000001
+#define NV10TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV10TCL_VTXFMT_TYPE_BYTE_RGBA 0x00000004
+#define NV10TCL_VTXFMT_FIELDS_SHIFT 4
+#define NV10TCL_VTXFMT_FIELDS_MASK 0x000000f0
+#define NV10TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV10TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV10TCL_VTXFMT_POS_HOMOGENEOUS (1 << 24)
+#define NV10TCL_VERTEX_BEGIN_END 0x00000dfc
+#define NV10TCL_VERTEX_BEGIN_END_STOP 0x00000000
+#define NV10TCL_VERTEX_BEGIN_END_POINTS 0x00000001
+#define NV10TCL_VERTEX_BEGIN_END_LINES 0x00000002
+#define NV10TCL_VERTEX_BEGIN_END_LINE_LOOP 0x00000003
+#define NV10TCL_VERTEX_BEGIN_END_LINE_STRIP 0x00000004
+#define NV10TCL_VERTEX_BEGIN_END_TRIANGLES 0x00000005
+#define NV10TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV10TCL_VERTEX_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV10TCL_VERTEX_BEGIN_END_QUADS 0x00000008
+#define NV10TCL_VERTEX_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV10TCL_VERTEX_BEGIN_END_POLYGON 0x0000000a
+#define NV10TCL_VB_ELEMENT_U16 0x00000e00
+#define NV10TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV10TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV10TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV10TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV10TCL_VB_ELEMENT_U32 0x00001100
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END 0x000013fc
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_STOP 0x00000000
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_POINTS 0x00000001
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_LINES 0x00000002
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_LOOP 0x00000003
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_LINE_STRIP 0x00000004
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLES 0x00000005
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_QUADS 0x00000008
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV10TCL_VERTEX_BUFFER_BEGIN_END_POLYGON 0x0000000a
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS 0x00001400
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_SHIFT 0
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_FIRST_MASK 0x0000ffff
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_SHIFT 24
+#define NV10TCL_VERTEX_BUFFER_DRAW_ARRAYS_LAST_MASK 0xff000000
+#define NV10TCL_VERTEX_ARRAY_DATA 0x00001800
+
+
+#define NV11TCL 0x00000096
+
+#define NV11TCL_COLOR_LOGIC_OP_ENABLE 0x00000d40
+#define NV11TCL_COLOR_LOGIC_OP_OP 0x00000d44
+#define NV11TCL_COLOR_LOGIC_OP_OP_CLEAR 0x00001500
+#define NV11TCL_COLOR_LOGIC_OP_OP_AND 0x00001501
+#define NV11TCL_COLOR_LOGIC_OP_OP_AND_REVERSE 0x00001502
+#define NV11TCL_COLOR_LOGIC_OP_OP_COPY 0x00001503
+#define NV11TCL_COLOR_LOGIC_OP_OP_AND_INVERTED 0x00001504
+#define NV11TCL_COLOR_LOGIC_OP_OP_NOOP 0x00001505
+#define NV11TCL_COLOR_LOGIC_OP_OP_XOR 0x00001506
+#define NV11TCL_COLOR_LOGIC_OP_OP_OR 0x00001507
+#define NV11TCL_COLOR_LOGIC_OP_OP_NOR 0x00001508
+#define NV11TCL_COLOR_LOGIC_OP_OP_EQUIV 0x00001509
+#define NV11TCL_COLOR_LOGIC_OP_OP_INVERT 0x0000150a
+#define NV11TCL_COLOR_LOGIC_OP_OP_OR_REVERSE 0x0000150b
+#define NV11TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED 0x0000150c
+#define NV11TCL_COLOR_LOGIC_OP_OP_OR_INVERTED 0x0000150d
+#define NV11TCL_COLOR_LOGIC_OP_OP_NAND 0x0000150e
+#define NV11TCL_COLOR_LOGIC_OP_OP_SET 0x0000150f
+
+
+#define NV17TCL 0x00000099
+
+#define NV17TCL_DMA_IN_MEMORY4 0x000001ac
+#define NV17TCL_DMA_IN_MEMORY5 0x000001b0
+#define NV17TCL_COLOR_MASK_ENABLE 0x000002bc
+#define NV17TCL_LMA_DEPTH_BUFFER_PITCH 0x00000d5c
+#define NV17TCL_LMA_DEPTH_BUFFER_OFFSET 0x00000d60
+#define NV17TCL_LMA_DEPTH_FILL_VALUE 0x00000d68
+#define NV17TCL_LMA_DEPTH_BUFFER_CLEAR 0x00000d6c
+#define NV17TCL_LMA_DEPTH_WINDOW_X 0x00001638
+#define NV17TCL_LMA_DEPTH_WINDOW_Y 0x0000163c
+#define NV17TCL_LMA_DEPTH_WINDOW_Z 0x00001640
+#define NV17TCL_LMA_DEPTH_WINDOW_W 0x00001644
+#define NV17TCL_LMA_DEPTH_ENABLE 0x00001658
+
+
+#define NV03_CONTEXT_SURFACES_2D 0x00000058
+
+#define NV03_CONTEXT_SURFACES_2D_SYNCHRONIZE 0x00000100
+#define NV03_CONTEXT_SURFACES_2D_DMA_NOTIFY 0x00000180
+#define NV03_CONTEXT_SURFACES_2D_DMA_SOURCE 0x00000184
+#define NV03_CONTEXT_SURFACES_2D_DMA_DESTIN 0x00000188
+#define NV03_CONTEXT_SURFACES_2D_COLOR_FORMAT 0x00000300
+#define NV03_CONTEXT_SURFACES_2D_PITCH 0x00000304
+#define NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_SHIFT 0
+#define NV03_CONTEXT_SURFACES_2D_PITCH_SOURCE_MASK 0x0000ffff
+#define NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_SHIFT 16
+#define NV03_CONTEXT_SURFACES_2D_PITCH_DESTIN_MASK 0xffff0000
+#define NV03_CONTEXT_SURFACES_2D_OFFSET_SOURCE 0x00000308
+#define NV03_CONTEXT_SURFACES_2D_OFFSET_DESTIN 0x0000030c
+
+
+#define NV03_CONTEXT_SURFACES_3D 0x0000005a
+
+#define NV03_CONTEXT_SURFACES_3D_SYNCHRONIZE 0x00000100
+#define NV03_CONTEXT_SURFACES_3D_DMA_NOTIFY 0x00000180
+#define NV03_CONTEXT_SURFACES_3D_DMA_SURFACE 0x00000184
+#define NV03_CONTEXT_SURFACES_3D_PITCH 0x00000300
+#define NV03_CONTEXT_SURFACES_3D_OFFSET_COLOR 0x00000304
+#define NV03_CONTEXT_SURFACES_3D_OFFSET_ZETA 0x00000308
+
+
+#define NV04_INDEXED_IMAGE_FROM_CPU 0x00000060
+
+#define NV04_INDEXED_IMAGE_FROM_CPU_NOP 0x00000100
+#define NV04_INDEXED_IMAGE_FROM_CPU_NOTIFY 0x00000104
+#define NV04_INDEXED_IMAGE_FROM_CPU_PATCH 0x0000010c
+#define NV04_INDEXED_IMAGE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV04_INDEXED_IMAGE_FROM_CPU_DMA_LUT 0x00000184
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR_KEY 0x00000188
+#define NV04_INDEXED_IMAGE_FROM_CPU_CLIP_RECTANGLE 0x0000018c
+#define NV04_INDEXED_IMAGE_FROM_CPU_PATTERN 0x00000190
+#define NV04_INDEXED_IMAGE_FROM_CPU_ROP 0x00000194
+#define NV04_INDEXED_IMAGE_FROM_CPU_BETA1 0x00000198
+#define NV04_INDEXED_IMAGE_FROM_CPU_BETA4 0x0000019c
+#define NV04_INDEXED_IMAGE_FROM_CPU_SURFACE 0x000001a0
+#define NV04_INDEXED_IMAGE_FROM_CPU_OPERATION 0x000003e4
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR_FORMAT 0x000003e8
+#define NV04_INDEXED_IMAGE_FROM_CPU_INDEX_FORMAT 0x000003ec
+#define NV04_INDEXED_IMAGE_FROM_CPU_LUT_OFFSET 0x000003f0
+#define NV04_INDEXED_IMAGE_FROM_CPU_POINT 0x000003f4
+#define NV04_INDEXED_IMAGE_FROM_CPU_SIZE_OUT 0x000003f8
+#define NV04_INDEXED_IMAGE_FROM_CPU_SIZE_IN 0x000003fc
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV04_INDEXED_IMAGE_FROM_CPU_COLOR__SIZE 0x00000700
+
+
+#define NV05_INDEXED_IMAGE_FROM_CPU 0x00000064
+
+#define NV05_INDEXED_IMAGE_FROM_CPU_COLOR_CONVERSION 0x000003e0
+
+
+#define NV03_CHANNEL_PIO 0x0000006a
+
+
+
+#define NV03_CHANNEL_DMA 0x0000006b
+
+
+
+#define NV04_BETA_SOLID 0x00000072
+
+#define NV04_BETA_SOLID_NOP 0x00000100
+#define NV04_BETA_SOLID_NOTIFY 0x00000104
+#define NV04_BETA_SOLID_DMA_NOTIFY 0x00000180
+#define NV04_BETA_SOLID_BETA_OUTPUT 0x00000200
+#define NV04_BETA_SOLID_BETA_FACTOR 0x00000300
+
+
+#define NV10_TEXTURE_FROM_CPU 0x0000007b
+
+#define NV10_TEXTURE_FROM_CPU_NOP 0x00000100
+#define NV10_TEXTURE_FROM_CPU_NOTIFY 0x00000104
+#define NV10_TEXTURE_FROM_CPU_WAIT_FOR_IDLE 0x00000108
+#define NV10_TEXTURE_FROM_CPU_PM_TRIGGER 0x00000140
+#define NV10_TEXTURE_FROM_CPU_DMA_NOTIFY 0x00000180
+#define NV10_TEXTURE_FROM_CPU_SURFACE 0x00000184
+#define NV10_TEXTURE_FROM_CPU_COLOR_FORMAT 0x00000300
+#define NV10_TEXTURE_FROM_CPU_POINT 0x00000304
+#define NV10_TEXTURE_FROM_CPU_POINT_X_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_POINT_X_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_POINT_Y_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_POINT_Y_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_SIZE 0x00000308
+#define NV10_TEXTURE_FROM_CPU_SIZE_W_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_SIZE_W_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_SIZE_H_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_SIZE_H_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL 0x0000030c
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_X_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_CLIP_HORIZONTAL_W_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL 0x00000310
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_SHIFT 0
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_Y_MASK 0x0000ffff
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_SHIFT 16
+#define NV10_TEXTURE_FROM_CPU_CLIP_VERTICAL_H_MASK 0xffff0000
+#define NV10_TEXTURE_FROM_CPU_COLOR(x) (0x00000400+((x)*4))
+#define NV10_TEXTURE_FROM_CPU_COLOR__SIZE 0x00000700
+
+
+#define NV30_TEXTURE_FROM_CPU 0x0000037b
+
+
+
+#define NV40_TEXTURE_FROM_CPU 0x0000307b
+
+
+
+#define NV10_VIDEO_DISPLAY 0x0000007c
+
+
+
+#define NV20TCL 0x00000097
+
+#define NV20TCL_NOP 0x00000100
+#define NV20TCL_NOTIFY 0x00000104
+#define NV20TCL_DMA_NOTIFY 0x00000180
+#define NV20TCL_DMA_TEXTURE0 0x00000184
+#define NV20TCL_DMA_TEXTURE1 0x00000188
+#define NV20TCL_DMA_COLOR 0x00000194
+#define NV20TCL_DMA_ZETA 0x00000198
+#define NV20TCL_DMA_VTXBUF0 0x0000019c
+#define NV20TCL_DMA_VTXBUF1 0x000001a0
+#define NV20TCL_DMA_FENCE 0x000001a4
+#define NV20TCL_DMA_QUERY 0x000001a8
+#define NV20TCL_RT_HORIZ 0x00000200
+#define NV20TCL_RT_HORIZ_X_SHIFT 0
+#define NV20TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV20TCL_RT_HORIZ_W_SHIFT 16
+#define NV20TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV20TCL_RT_VERT 0x00000204
+#define NV20TCL_RT_VERT_Y_SHIFT 0
+#define NV20TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV20TCL_RT_VERT_H_SHIFT 16
+#define NV20TCL_RT_VERT_H_MASK 0xffff0000
+#define NV20TCL_RT_FORMAT 0x00000208
+#define NV20TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV20TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV20TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV20TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV20TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV20TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV20TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV20TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV20TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV20TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV20TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV20TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV20TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV20TCL_RT_PITCH 0x0000020c
+#define NV20TCL_RT_PITCH_COLOR_PITCH_SHIFT 0
+#define NV20TCL_RT_PITCH_COLOR_PITCH_MASK 0x0000ffff
+#define NV20TCL_RT_PITCH_ZETA_PITCH_SHIFT 16
+#define NV20TCL_RT_PITCH_ZETA_PITCH_MASK 0xffff0000
+#define NV20TCL_COLOR_OFFSET 0x00000210
+#define NV20TCL_ZETA_OFFSET 0x00000214
+#define NV20TCL_RC_IN_ALPHA(x) (0x00000260+((x)*4))
+#define NV20TCL_RC_IN_ALPHA__SIZE 0x00000008
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SHIFT 0
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_MASK 0x0000000f
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_FOG 0x00000003
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE (1 << 4)
+#define NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_SHIFT 5
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_MASK 0x000000e0
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV20TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SHIFT 8
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_FOG 0x00000300
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_SHIFT 13
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SHIFT 16
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_FOG 0x00030000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_SHIFT 21
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SHIFT 24
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_FOG 0x03000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE 0x00000000
+#define NV20TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_SHIFT 29
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_RC_FINAL0 0x00000288
+#define NV20TCL_RC_FINAL0_D_INPUT_SHIFT 0
+#define NV20TCL_RC_FINAL0_D_INPUT_MASK 0x0000000f
+#define NV20TCL_RC_FINAL0_D_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_FINAL0_D_INPUT_FOG 0x00000003
+#define NV20TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_FINAL0_D_INPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_FINAL0_D_INPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_FINAL0_D_INPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_FINAL0_D_INPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_FINAL0_D_COMPONENT_USAGE (1 << 4)
+#define NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV20TCL_RC_FINAL0_D_MAPPING_SHIFT 5
+#define NV20TCL_RC_FINAL0_D_MAPPING_MASK 0x000000e0
+#define NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV20TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV20TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV20TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV20TCL_RC_FINAL0_C_INPUT_SHIFT 8
+#define NV20TCL_RC_FINAL0_C_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_FINAL0_C_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_FINAL0_C_INPUT_FOG 0x00000300
+#define NV20TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_FINAL0_C_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_FINAL0_C_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_FINAL0_C_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_FINAL0_C_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_FINAL0_C_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_FINAL0_C_MAPPING_SHIFT 13
+#define NV20TCL_RC_FINAL0_C_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_FINAL0_B_INPUT_SHIFT 16
+#define NV20TCL_RC_FINAL0_B_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_FINAL0_B_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_FINAL0_B_INPUT_FOG 0x00030000
+#define NV20TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_FINAL0_B_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_FINAL0_B_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_FINAL0_B_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_FINAL0_B_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_FINAL0_B_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_FINAL0_B_MAPPING_SHIFT 21
+#define NV20TCL_RC_FINAL0_B_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_FINAL0_A_INPUT_SHIFT 24
+#define NV20TCL_RC_FINAL0_A_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_FINAL0_A_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_FINAL0_A_INPUT_FOG 0x03000000
+#define NV20TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_FINAL0_A_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_FINAL0_A_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_FINAL0_A_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_SHIFT 29
+#define NV20TCL_RC_FINAL0_A_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_RC_FINAL1 0x0000028c
+#define NV20TCL_RC_FINAL1_COLOR_SUM_CLAMP (1 << 7)
+#define NV20TCL_RC_FINAL1_G_INPUT_SHIFT 8
+#define NV20TCL_RC_FINAL1_G_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_FINAL1_G_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_FINAL1_G_INPUT_FOG 0x00000300
+#define NV20TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_FINAL1_G_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_FINAL1_G_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_FINAL1_G_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_FINAL1_G_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_FINAL1_G_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_FINAL1_G_MAPPING_SHIFT 13
+#define NV20TCL_RC_FINAL1_G_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_FINAL1_F_INPUT_SHIFT 16
+#define NV20TCL_RC_FINAL1_F_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_FINAL1_F_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_FINAL1_F_INPUT_FOG 0x00030000
+#define NV20TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_FINAL1_F_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_FINAL1_F_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_FINAL1_F_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_FINAL1_F_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_FINAL1_F_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_FINAL1_F_MAPPING_SHIFT 21
+#define NV20TCL_RC_FINAL1_F_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_FINAL1_E_INPUT_SHIFT 24
+#define NV20TCL_RC_FINAL1_E_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_FINAL1_E_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_FINAL1_E_INPUT_FOG 0x03000000
+#define NV20TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_FINAL1_E_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_FINAL1_E_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_FINAL1_E_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_SHIFT 29
+#define NV20TCL_RC_FINAL1_E_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_LIGHT_MODEL 0x00000294
+#define NV20TCL_LIGHT_MODEL_VIEWER_SHIFT 16
+#define NV20TCL_LIGHT_MODEL_VIEWER_MASK 0x00030000
+#define NV20TCL_LIGHT_MODEL_VIEWER_NONLOCAL 0x00020000
+#define NV20TCL_LIGHT_MODEL_VIEWER_LOCAL 0x00030000
+#define NV20TCL_LIGHT_MODEL_SEPARATE_SPECULAR (1 << 0)
+#define NV20TCL_COLOR_MATERIAL 0x00000298
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_SHIFT 0
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_MASK 0x00000003
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL1 0x00000001
+#define NV20TCL_COLOR_MATERIAL_FRONT_EMISSION_COL2 0x00000002
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_SHIFT 2
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_MASK 0x0000000c
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL1 0x00000004
+#define NV20TCL_COLOR_MATERIAL_FRONT_AMBIENT_COL2 0x00000008
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_SHIFT 4
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_MASK 0x00000030
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL1 0x00000010
+#define NV20TCL_COLOR_MATERIAL_FRONT_DIFFUSE_COL2 0x00000020
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_SHIFT 6
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_MASK 0x000000c0
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL1 0x00000040
+#define NV20TCL_COLOR_MATERIAL_FRONT_SPECULAR_COL2 0x00000080
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_SHIFT 8
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_MASK 0x00000300
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL1 0x00000100
+#define NV20TCL_COLOR_MATERIAL_BACK_EMISSION_COL2 0x00000200
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_SHIFT 10
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_MASK 0x00000c00
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL1 0x00000400
+#define NV20TCL_COLOR_MATERIAL_BACK_AMBIENT_COL2 0x00000800
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_SHIFT 12
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_MASK 0x00003000
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL1 0x00001000
+#define NV20TCL_COLOR_MATERIAL_BACK_DIFFUSE_COL2 0x00002000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_SHIFT 14
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_MASK 0x0000c000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_OFF 0x00000000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL1 0x00004000
+#define NV20TCL_COLOR_MATERIAL_BACK_SPECULAR_COL2 0x00008000
+#define NV20TCL_FOG_MODE 0x0000029c
+#define NV20TCL_FOG_MODE_LINEAR_UNSIGNED 0x00000804
+#define NV20TCL_FOG_MODE_LINEAR_SIGNED 0x00002601
+#define NV20TCL_FOG_MODE_EXP_UNSIGNED 0x00000802
+#define NV20TCL_FOG_MODE_EXP_SIGNED 0x00000800
+#define NV20TCL_FOG_MODE_EXP2_UNSIGNED 0x00000803
+#define NV20TCL_FOG_MODE_EXP2_SIGNED 0x00000801
+#define NV20TCL_FOG_COORD 0x000002a0
+#define NV20TCL_FOG_COORD_DIST_RADIAL 0x00000001
+#define NV20TCL_FOG_COORD_DIST_ORTHOGONAL 0x00000002
+#define NV20TCL_FOG_COORD_DIST_ORTHOGONAL_ABS 0x00000003
+#define NV20TCL_FOG_COORD_FOG 0x00000006
+#define NV20TCL_FOG_ENABLE 0x000002a4
+#define NV20TCL_FOG_COLOR 0x000002a8
+#define NV20TCL_FOG_COLOR_R_SHIFT 0
+#define NV20TCL_FOG_COLOR_R_MASK 0x000000ff
+#define NV20TCL_FOG_COLOR_G_SHIFT 8
+#define NV20TCL_FOG_COLOR_G_MASK 0x0000ff00
+#define NV20TCL_FOG_COLOR_B_SHIFT 16
+#define NV20TCL_FOG_COLOR_B_MASK 0x00ff0000
+#define NV20TCL_FOG_COLOR_A_SHIFT 24
+#define NV20TCL_FOG_COLOR_A_MASK 0xff000000
+#define NV20TCL_VIEWPORT_CLIP_MODE 0x000002b4
+#define NV20TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*4))
+#define NV20TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV20TCL_VIEWPORT_CLIP_VERT(x) (0x000002e0+((x)*4))
+#define NV20TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV20TCL_ALPHA_FUNC_ENABLE 0x00000300
+#define NV20TCL_BLEND_FUNC_ENABLE 0x00000304
+#define NV20TCL_CULL_FACE_ENABLE 0x00000308
+#define NV20TCL_DEPTH_TEST_ENABLE 0x0000030c
+#define NV20TCL_DITHER_ENABLE 0x00000310
+#define NV20TCL_LIGHTING_ENABLE 0x00000314
+#define NV20TCL_POINT_PARAMETERS_ENABLE 0x00000318
+#define NV20TCL_POINT_SMOOTH_ENABLE 0x0000031c
+#define NV20TCL_LINE_SMOOTH_ENABLE 0x00000320
+#define NV20TCL_POLYGON_SMOOTH_ENABLE 0x00000324
+#define NV20TCL_STENCIL_ENABLE 0x0000032c
+#define NV20TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000330
+#define NV20TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000334
+#define NV20TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000338
+#define NV20TCL_ALPHA_FUNC_FUNC 0x0000033c
+#define NV20TCL_ALPHA_FUNC_FUNC_NEVER 0x00000200
+#define NV20TCL_ALPHA_FUNC_FUNC_LESS 0x00000201
+#define NV20TCL_ALPHA_FUNC_FUNC_EQUAL 0x00000202
+#define NV20TCL_ALPHA_FUNC_FUNC_LEQUAL 0x00000203
+#define NV20TCL_ALPHA_FUNC_FUNC_GREATER 0x00000204
+#define NV20TCL_ALPHA_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV20TCL_ALPHA_FUNC_FUNC_GEQUAL 0x00000206
+#define NV20TCL_ALPHA_FUNC_FUNC_ALWAYS 0x00000207
+#define NV20TCL_ALPHA_FUNC_REF 0x00000340
+#define NV20TCL_BLEND_FUNC_SRC 0x00000344
+#define NV20TCL_BLEND_FUNC_SRC_ZERO 0x00000000
+#define NV20TCL_BLEND_FUNC_SRC_ONE 0x00000001
+#define NV20TCL_BLEND_FUNC_SRC_SRC_COLOR 0x00000300
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA 0x00000302
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV20TCL_BLEND_FUNC_SRC_DST_ALPHA 0x00000304
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV20TCL_BLEND_FUNC_SRC_DST_COLOR 0x00000306
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_DST_COLOR 0x00000307
+#define NV20TCL_BLEND_FUNC_SRC_SRC_ALPHA_SATURATE 0x00000308
+#define NV20TCL_BLEND_FUNC_SRC_CONSTANT_COLOR 0x00008001
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV20TCL_BLEND_FUNC_SRC_CONSTANT_ALPHA 0x00008003
+#define NV20TCL_BLEND_FUNC_SRC_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV20TCL_BLEND_FUNC_DST 0x00000348
+#define NV20TCL_BLEND_FUNC_DST_ZERO 0x00000000
+#define NV20TCL_BLEND_FUNC_DST_ONE 0x00000001
+#define NV20TCL_BLEND_FUNC_DST_SRC_COLOR 0x00000300
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV20TCL_BLEND_FUNC_DST_SRC_ALPHA 0x00000302
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV20TCL_BLEND_FUNC_DST_DST_ALPHA 0x00000304
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV20TCL_BLEND_FUNC_DST_DST_COLOR 0x00000306
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_DST_COLOR 0x00000307
+#define NV20TCL_BLEND_FUNC_DST_SRC_ALPHA_SATURATE 0x00000308
+#define NV20TCL_BLEND_FUNC_DST_CONSTANT_COLOR 0x00008001
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV20TCL_BLEND_FUNC_DST_CONSTANT_ALPHA 0x00008003
+#define NV20TCL_BLEND_FUNC_DST_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV20TCL_BLEND_COLOR 0x0000034c
+#define NV20TCL_BLEND_COLOR_B_SHIFT 0
+#define NV20TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV20TCL_BLEND_COLOR_G_SHIFT 8
+#define NV20TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV20TCL_BLEND_COLOR_R_SHIFT 16
+#define NV20TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV20TCL_BLEND_COLOR_A_SHIFT 24
+#define NV20TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV20TCL_BLEND_EQUATION 0x00000350
+#define NV20TCL_BLEND_EQUATION_FUNC_ADD 0x00008006
+#define NV20TCL_BLEND_EQUATION_MIN 0x00008007
+#define NV20TCL_BLEND_EQUATION_MAX 0x00008008
+#define NV20TCL_BLEND_EQUATION_FUNC_SUBTRACT 0x0000800a
+#define NV20TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV20TCL_DEPTH_FUNC 0x00000354
+#define NV20TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV20TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV20TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV20TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV20TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV20TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV20TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV20TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV20TCL_COLOR_MASK 0x00000358
+#define NV20TCL_COLOR_MASK_B (1 << 0)
+#define NV20TCL_COLOR_MASK_G (1 << 8)
+#define NV20TCL_COLOR_MASK_R (1 << 16)
+#define NV20TCL_COLOR_MASK_A (1 << 24)
+#define NV20TCL_DEPTH_WRITE_ENABLE 0x0000035c
+#define NV20TCL_STENCIL_MASK 0x00000360
+#define NV20TCL_STENCIL_FUNC_FUNC 0x00000364
+#define NV20TCL_STENCIL_FUNC_FUNC_NEVER 0x00000200
+#define NV20TCL_STENCIL_FUNC_FUNC_LESS 0x00000201
+#define NV20TCL_STENCIL_FUNC_FUNC_EQUAL 0x00000202
+#define NV20TCL_STENCIL_FUNC_FUNC_LEQUAL 0x00000203
+#define NV20TCL_STENCIL_FUNC_FUNC_GREATER 0x00000204
+#define NV20TCL_STENCIL_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV20TCL_STENCIL_FUNC_FUNC_GEQUAL 0x00000206
+#define NV20TCL_STENCIL_FUNC_FUNC_ALWAYS 0x00000207
+#define NV20TCL_STENCIL_FUNC_REF 0x00000368
+#define NV20TCL_STENCIL_FUNC_MASK 0x0000036c
+#define NV20TCL_STENCIL_OP_FAIL 0x00000370
+#define NV20TCL_STENCIL_OP_FAIL_ZERO 0x00000000
+#define NV20TCL_STENCIL_OP_FAIL_INVERT 0x0000150a
+#define NV20TCL_STENCIL_OP_FAIL_KEEP 0x00001e00
+#define NV20TCL_STENCIL_OP_FAIL_REPLACE 0x00001e01
+#define NV20TCL_STENCIL_OP_FAIL_INCR 0x00001e02
+#define NV20TCL_STENCIL_OP_FAIL_DECR 0x00001e03
+#define NV20TCL_STENCIL_OP_FAIL_INCR_WRAP 0x00008507
+#define NV20TCL_STENCIL_OP_FAIL_DECR_WRAP 0x00008508
+#define NV20TCL_STENCIL_OP_ZFAIL 0x00000374
+#define NV20TCL_STENCIL_OP_ZFAIL_ZERO 0x00000000
+#define NV20TCL_STENCIL_OP_ZFAIL_INVERT 0x0000150a
+#define NV20TCL_STENCIL_OP_ZFAIL_KEEP 0x00001e00
+#define NV20TCL_STENCIL_OP_ZFAIL_REPLACE 0x00001e01
+#define NV20TCL_STENCIL_OP_ZFAIL_INCR 0x00001e02
+#define NV20TCL_STENCIL_OP_ZFAIL_DECR 0x00001e03
+#define NV20TCL_STENCIL_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV20TCL_STENCIL_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV20TCL_STENCIL_OP_ZPASS 0x00000378
+#define NV20TCL_STENCIL_OP_ZPASS_ZERO 0x00000000
+#define NV20TCL_STENCIL_OP_ZPASS_INVERT 0x0000150a
+#define NV20TCL_STENCIL_OP_ZPASS_KEEP 0x00001e00
+#define NV20TCL_STENCIL_OP_ZPASS_REPLACE 0x00001e01
+#define NV20TCL_STENCIL_OP_ZPASS_INCR 0x00001e02
+#define NV20TCL_STENCIL_OP_ZPASS_DECR 0x00001e03
+#define NV20TCL_STENCIL_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV20TCL_STENCIL_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV20TCL_SHADE_MODEL 0x0000037c
+#define NV20TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV20TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV20TCL_LINE_WIDTH 0x00000380
+#define NV20TCL_POLYGON_OFFSET_FACTOR 0x00000384
+#define NV20TCL_POLYGON_OFFSET_UNITS 0x00000388
+#define NV20TCL_POLYGON_MODE_FRONT 0x0000038c
+#define NV20TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV20TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV20TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV20TCL_POLYGON_MODE_BACK 0x00000390
+#define NV20TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV20TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV20TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV20TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV20TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV20TCL_CULL_FACE 0x0000039c
+#define NV20TCL_CULL_FACE_FRONT 0x00000404
+#define NV20TCL_CULL_FACE_BACK 0x00000405
+#define NV20TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV20TCL_FRONT_FACE 0x000003a0
+#define NV20TCL_FRONT_FACE_CW 0x00000900
+#define NV20TCL_FRONT_FACE_CCW 0x00000901
+#define NV20TCL_NORMALIZE_ENABLE 0x000003a4
+#define NV20TCL_MATERIAL_FACTOR_FRONT_R 0x000003a8
+#define NV20TCL_MATERIAL_FACTOR_FRONT_G 0x000003ac
+#define NV20TCL_MATERIAL_FACTOR_FRONT_B 0x000003b0
+#define NV20TCL_MATERIAL_FACTOR_FRONT_A 0x000003b4
+#define NV20TCL_SEPARATE_SPECULAR_ENABLE 0x000003b8
+#define NV20TCL_ENABLED_LIGHTS 0x000003bc
+#define NV20TCL_ENABLED_LIGHTS_0_SHIFT 0
+#define NV20TCL_ENABLED_LIGHTS_0_MASK 0x00000003
+#define NV20TCL_ENABLED_LIGHTS_0_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_0_NONPOSITIONAL 0x00000001
+#define NV20TCL_ENABLED_LIGHTS_0_POSITIONAL 0x00000002
+#define NV20TCL_ENABLED_LIGHTS_0_DIRECTIONAL 0x00000003
+#define NV20TCL_ENABLED_LIGHTS_1_SHIFT 2
+#define NV20TCL_ENABLED_LIGHTS_1_MASK 0x0000000c
+#define NV20TCL_ENABLED_LIGHTS_1_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_1_NONPOSITIONAL 0x00000004
+#define NV20TCL_ENABLED_LIGHTS_1_POSITIONAL 0x00000008
+#define NV20TCL_ENABLED_LIGHTS_1_DIRECTIONAL 0x0000000c
+#define NV20TCL_ENABLED_LIGHTS_2_SHIFT 4
+#define NV20TCL_ENABLED_LIGHTS_2_MASK 0x00000030
+#define NV20TCL_ENABLED_LIGHTS_2_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_2_NONPOSITIONAL 0x00000010
+#define NV20TCL_ENABLED_LIGHTS_2_POSITIONAL 0x00000020
+#define NV20TCL_ENABLED_LIGHTS_2_DIRECTIONAL 0x00000030
+#define NV20TCL_ENABLED_LIGHTS_3_SHIFT 6
+#define NV20TCL_ENABLED_LIGHTS_3_MASK 0x000000c0
+#define NV20TCL_ENABLED_LIGHTS_3_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_3_NONPOSITIONAL 0x00000040
+#define NV20TCL_ENABLED_LIGHTS_3_POSITIONAL 0x00000080
+#define NV20TCL_ENABLED_LIGHTS_3_DIRECTIONAL 0x000000c0
+#define NV20TCL_ENABLED_LIGHTS_4_SHIFT 8
+#define NV20TCL_ENABLED_LIGHTS_4_MASK 0x00000300
+#define NV20TCL_ENABLED_LIGHTS_4_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_4_NONPOSITIONAL 0x00000100
+#define NV20TCL_ENABLED_LIGHTS_4_POSITIONAL 0x00000200
+#define NV20TCL_ENABLED_LIGHTS_4_DIRECTIONAL 0x00000300
+#define NV20TCL_ENABLED_LIGHTS_5_SHIFT 10
+#define NV20TCL_ENABLED_LIGHTS_5_MASK 0x00000c00
+#define NV20TCL_ENABLED_LIGHTS_5_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_5_NONPOSITIONAL 0x00000400
+#define NV20TCL_ENABLED_LIGHTS_5_POSITIONAL 0x00000800
+#define NV20TCL_ENABLED_LIGHTS_5_DIRECTIONAL 0x00000c00
+#define NV20TCL_ENABLED_LIGHTS_6_SHIFT 12
+#define NV20TCL_ENABLED_LIGHTS_6_MASK 0x00003000
+#define NV20TCL_ENABLED_LIGHTS_6_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_6_NONPOSITIONAL 0x00001000
+#define NV20TCL_ENABLED_LIGHTS_6_POSITIONAL 0x00002000
+#define NV20TCL_ENABLED_LIGHTS_6_DIRECTIONAL 0x00003000
+#define NV20TCL_ENABLED_LIGHTS_7_SHIFT 14
+#define NV20TCL_ENABLED_LIGHTS_7_MASK 0x0000c000
+#define NV20TCL_ENABLED_LIGHTS_7_DISABLED 0x00000000
+#define NV20TCL_ENABLED_LIGHTS_7_NONPOSITIONAL 0x00004000
+#define NV20TCL_ENABLED_LIGHTS_7_POSITIONAL 0x00008000
+#define NV20TCL_ENABLED_LIGHTS_7_DIRECTIONAL 0x0000c000
+#define NV20TCL_TX_GEN_MODE_S(x) (0x000003c0+((x)*16))
+#define NV20TCL_TX_GEN_MODE_S__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_S_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_S_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_S_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_S_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_S_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_S_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_GEN_MODE_T(x) (0x000003c4+((x)*16))
+#define NV20TCL_TX_GEN_MODE_T__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_T_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_T_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_T_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_T_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_T_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_T_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_GEN_MODE_R(x) (0x000003c8+((x)*16))
+#define NV20TCL_TX_GEN_MODE_R__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_R_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_R_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_R_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_R_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_R_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_R_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_GEN_MODE_Q(x) (0x000003cc+((x)*16))
+#define NV20TCL_TX_GEN_MODE_Q__SIZE 0x00000004
+#define NV20TCL_TX_GEN_MODE_Q_FALSE 0x00000000
+#define NV20TCL_TX_GEN_MODE_Q_EYE_LINEAR 0x00002400
+#define NV20TCL_TX_GEN_MODE_Q_OBJECT_LINEAR 0x00002401
+#define NV20TCL_TX_GEN_MODE_Q_SPHERE_MAP 0x00002402
+#define NV20TCL_TX_GEN_MODE_Q_NORMAL_MAP 0x00008511
+#define NV20TCL_TX_GEN_MODE_Q_REFLECTION_MAP 0x00008512
+#define NV20TCL_TX_MATRIX_ENABLE(x) (0x00000420+((x)*4))
+#define NV20TCL_TX_MATRIX_ENABLE__SIZE 0x00000004
+#define NV20TCL_POINT_SIZE 0x0000043c
+#define NV20TCL_MODELVIEW0_MATRIX(x) (0x00000480+((x)*4))
+#define NV20TCL_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV20TCL_MODELVIEW1_MATRIX(x) (0x000004c0+((x)*4))
+#define NV20TCL_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV20TCL_MODELVIEW2_MATRIX(x) (0x00000500+((x)*4))
+#define NV20TCL_MODELVIEW2_MATRIX__SIZE 0x00000010
+#define NV20TCL_MODELVIEW3_MATRIX(x) (0x00000540+((x)*4))
+#define NV20TCL_MODELVIEW3_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW0_MATRIX(x) (0x00000580+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW0_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW1_MATRIX(x) (0x000005c0+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW1_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW2_MATRIX(x) (0x00000600+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW2_MATRIX__SIZE 0x00000010
+#define NV20TCL_INVERSE_MODELVIEW3_MATRIX(x) (0x00000640+((x)*4))
+#define NV20TCL_INVERSE_MODELVIEW3_MATRIX__SIZE 0x00000010
+#define NV20TCL_PROJECTION_MATRIX(x) (0x00000680+((x)*4))
+#define NV20TCL_PROJECTION_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX0_MATRIX(x) (0x000006c0+((x)*4))
+#define NV20TCL_TX0_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX1_MATRIX(x) (0x00000700+((x)*4))
+#define NV20TCL_TX1_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX2_MATRIX(x) (0x00000740+((x)*4))
+#define NV20TCL_TX2_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX3_MATRIX(x) (0x00000780+((x)*4))
+#define NV20TCL_TX3_MATRIX__SIZE 0x00000010
+#define NV20TCL_TX_GEN_COEFF_S_A(x) (0x00000840+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_S_B(x) (0x00000844+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_S_C(x) (0x00000848+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_S_D(x) (0x0000084c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_S_D__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_A(x) (0x00000850+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_B(x) (0x00000854+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_C(x) (0x00000858+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_T_D(x) (0x0000085c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_T_D__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_A(x) (0x00000860+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_B(x) (0x00000864+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_C(x) (0x00000868+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_R_D(x) (0x0000086c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_R_D__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_A(x) (0x00000870+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_A__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_B(x) (0x00000874+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_B__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_C(x) (0x00000878+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_C__SIZE 0x00000004
+#define NV20TCL_TX_GEN_COEFF_Q_D(x) (0x0000087c+((x)*64))
+#define NV20TCL_TX_GEN_COEFF_Q_D__SIZE 0x00000004
+#define NV20TCL_FOG_EQUATION_CONSTANT 0x000009c0
+#define NV20TCL_FOG_EQUATION_LINEAR 0x000009c4
+#define NV20TCL_FOG_EQUATION_QUADRATIC 0x000009c8
+#define NV20TCL_FRONT_MATERIAL_SHININESS(x) (0x000009e0+((x)*4))
+#define NV20TCL_FRONT_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_R 0x00000a10
+#define NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_G 0x00000a14
+#define NV20TCL_LIGHT_MODEL_FRONT_AMBIENT_B 0x00000a18
+#define NV20TCL_VIEWPORT_TRANSLATE_X 0x00000a20
+#define NV20TCL_VIEWPORT_TRANSLATE_Y 0x00000a24
+#define NV20TCL_VIEWPORT_TRANSLATE_Z 0x00000a28
+#define NV20TCL_VIEWPORT_TRANSLATE_W 0x00000a2c
+#define NV20TCL_POINT_PARAMETER(x) (0x00000a30+((x)*4))
+#define NV20TCL_POINT_PARAMETER__SIZE 0x00000008
+#define NV20TCL_RC_CONSTANT_COLOR0(x) (0x00000a60+((x)*4))
+#define NV20TCL_RC_CONSTANT_COLOR0__SIZE 0x00000008
+#define NV20TCL_RC_CONSTANT_COLOR0_B_SHIFT 0
+#define NV20TCL_RC_CONSTANT_COLOR0_B_MASK 0x000000ff
+#define NV20TCL_RC_CONSTANT_COLOR0_G_SHIFT 8
+#define NV20TCL_RC_CONSTANT_COLOR0_G_MASK 0x0000ff00
+#define NV20TCL_RC_CONSTANT_COLOR0_R_SHIFT 16
+#define NV20TCL_RC_CONSTANT_COLOR0_R_MASK 0x00ff0000
+#define NV20TCL_RC_CONSTANT_COLOR0_A_SHIFT 24
+#define NV20TCL_RC_CONSTANT_COLOR0_A_MASK 0xff000000
+#define NV20TCL_RC_CONSTANT_COLOR1(x) (0x00000a80+((x)*4))
+#define NV20TCL_RC_CONSTANT_COLOR1__SIZE 0x00000008
+#define NV20TCL_RC_CONSTANT_COLOR1_B_SHIFT 0
+#define NV20TCL_RC_CONSTANT_COLOR1_B_MASK 0x000000ff
+#define NV20TCL_RC_CONSTANT_COLOR1_G_SHIFT 8
+#define NV20TCL_RC_CONSTANT_COLOR1_G_MASK 0x0000ff00
+#define NV20TCL_RC_CONSTANT_COLOR1_R_SHIFT 16
+#define NV20TCL_RC_CONSTANT_COLOR1_R_MASK 0x00ff0000
+#define NV20TCL_RC_CONSTANT_COLOR1_A_SHIFT 24
+#define NV20TCL_RC_CONSTANT_COLOR1_A_MASK 0xff000000
+#define NV20TCL_RC_OUT_ALPHA(x) (0x00000aa0+((x)*4))
+#define NV20TCL_RC_OUT_ALPHA__SIZE 0x00000008
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT 0
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK 0x0000000f
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG 0x00000003
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT 4
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK 0x000000f0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG 0x00000030
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0 0x000000c0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1 0x000000d0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV20TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT 8
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK 0x00000f00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG 0x00000300
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT (1 << 12)
+#define NV20TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT (1 << 13)
+#define NV20TCL_RC_OUT_ALPHA_MUX_SUM (1 << 14)
+#define NV20TCL_RC_OUT_ALPHA_BIAS (1 << 15)
+#define NV20TCL_RC_OUT_ALPHA_BIAS_NONE 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SHIFT 17
+#define NV20TCL_RC_OUT_ALPHA_SCALE_MASK 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_NONE 0x00000000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO 0x00020000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV20TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV20TCL_RC_IN_RGB(x) (0x00000ac0+((x)*4))
+#define NV20TCL_RC_IN_RGB__SIZE 0x00000008
+#define NV20TCL_RC_IN_RGB_D_INPUT_SHIFT 0
+#define NV20TCL_RC_IN_RGB_D_INPUT_MASK 0x0000000f
+#define NV20TCL_RC_IN_RGB_D_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_IN_RGB_D_INPUT_FOG 0x00000003
+#define NV20TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_IN_RGB_D_INPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_IN_RGB_D_INPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_IN_RGB_D_INPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_IN_RGB_D_INPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE (1 << 4)
+#define NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV20TCL_RC_IN_RGB_D_MAPPING_SHIFT 5
+#define NV20TCL_RC_IN_RGB_D_MAPPING_MASK 0x000000e0
+#define NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV20TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV20TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV20TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV20TCL_RC_IN_RGB_C_INPUT_SHIFT 8
+#define NV20TCL_RC_IN_RGB_C_INPUT_MASK 0x00000f00
+#define NV20TCL_RC_IN_RGB_C_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_IN_RGB_C_INPUT_FOG 0x00000300
+#define NV20TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_IN_RGB_C_INPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_IN_RGB_C_INPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_IN_RGB_C_INPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_IN_RGB_C_INPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE (1 << 12)
+#define NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_SHIFT 13
+#define NV20TCL_RC_IN_RGB_C_MAPPING_MASK 0x0000e000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV20TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SHIFT 16
+#define NV20TCL_RC_IN_RGB_B_INPUT_MASK 0x000f0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV20TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV20TCL_RC_IN_RGB_B_INPUT_FOG 0x00030000
+#define NV20TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE0 0x00080000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE1 0x00090000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SPARE0 0x000c0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SPARE1 0x000d0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_E_TIMES_F 0x000f0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE2 0x000a0000
+#define NV20TCL_RC_IN_RGB_B_INPUT_TEXTURE3 0x000b0000
+#define NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE (1 << 20)
+#define NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_SHIFT 21
+#define NV20TCL_RC_IN_RGB_B_MAPPING_MASK 0x00e00000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV20TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SHIFT 24
+#define NV20TCL_RC_IN_RGB_A_INPUT_MASK 0x0f000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_ZERO 0x00000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_FOG 0x03000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE0 0x08000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE1 0x09000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SPARE0 0x0c000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SPARE1 0x0d000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_E_TIMES_F 0x0f000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE2 0x0a000000
+#define NV20TCL_RC_IN_RGB_A_INPUT_TEXTURE3 0x0b000000
+#define NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE (1 << 28)
+#define NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV20TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_SHIFT 29
+#define NV20TCL_RC_IN_RGB_A_MAPPING_MASK 0xe0000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV20TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV20TCL_VIEWPORT_SCALE_X 0x00000af0
+#define NV20TCL_VIEWPORT_SCALE_Y 0x00000af4
+#define NV20TCL_VIEWPORT_SCALE_Z 0x00000af8
+#define NV20TCL_VIEWPORT_SCALE_W 0x00000afc
+#define NV20TCL_VP_UPLOAD_INST(x) (0x00000b00+((x)*4))
+#define NV20TCL_VP_UPLOAD_INST__SIZE 0x00000004
+#define NV20TCL_VP_UPLOAD_CONST(x) (0x00000b80+((x)*4))
+#define NV20TCL_VP_UPLOAD_CONST__SIZE 0x00000004
+#define NV20TCL_LIGHT_BACK_AMBIENT_R(x) (0x00000c00+((x)*64))
+#define NV20TCL_LIGHT_BACK_AMBIENT_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_AMBIENT_G(x) (0x00000c04+((x)*64))
+#define NV20TCL_LIGHT_BACK_AMBIENT_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_AMBIENT_B(x) (0x00000c08+((x)*64))
+#define NV20TCL_LIGHT_BACK_AMBIENT_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_DIFFUSE_R(x) (0x00000c0c+((x)*64))
+#define NV20TCL_LIGHT_BACK_DIFFUSE_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_DIFFUSE_G(x) (0x00000c10+((x)*64))
+#define NV20TCL_LIGHT_BACK_DIFFUSE_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_DIFFUSE_B(x) (0x00000c14+((x)*64))
+#define NV20TCL_LIGHT_BACK_DIFFUSE_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_SPECULAR_R(x) (0x00000c18+((x)*64))
+#define NV20TCL_LIGHT_BACK_SPECULAR_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_SPECULAR_G(x) (0x00000c1c+((x)*64))
+#define NV20TCL_LIGHT_BACK_SPECULAR_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_BACK_SPECULAR_B(x) (0x00000c20+((x)*64))
+#define NV20TCL_LIGHT_BACK_SPECULAR_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_AMBIENT_R(x) (0x00001000+((x)*128))
+#define NV20TCL_LIGHT_FRONT_AMBIENT_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_AMBIENT_G(x) (0x00001004+((x)*128))
+#define NV20TCL_LIGHT_FRONT_AMBIENT_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_AMBIENT_B(x) (0x00001008+((x)*128))
+#define NV20TCL_LIGHT_FRONT_AMBIENT_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_R(x) (0x0000100c+((x)*128))
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_G(x) (0x00001010+((x)*128))
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_B(x) (0x00001014+((x)*128))
+#define NV20TCL_LIGHT_FRONT_DIFFUSE_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_SPECULAR_R(x) (0x00001018+((x)*128))
+#define NV20TCL_LIGHT_FRONT_SPECULAR_R__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_SPECULAR_G(x) (0x0000101c+((x)*128))
+#define NV20TCL_LIGHT_FRONT_SPECULAR_G__SIZE 0x00000008
+#define NV20TCL_LIGHT_FRONT_SPECULAR_B(x) (0x00001020+((x)*128))
+#define NV20TCL_LIGHT_FRONT_SPECULAR_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_HALF_VECTOR_X(x) (0x00001028+((x)*128))
+#define NV20TCL_LIGHT_HALF_VECTOR_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_HALF_VECTOR_Y(x) (0x0000102c+((x)*128))
+#define NV20TCL_LIGHT_HALF_VECTOR_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_HALF_VECTOR_Z(x) (0x00001030+((x)*128))
+#define NV20TCL_LIGHT_HALF_VECTOR_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_DIRECTION_X(x) (0x00001034+((x)*128))
+#define NV20TCL_LIGHT_DIRECTION_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_DIRECTION_Y(x) (0x00001038+((x)*128))
+#define NV20TCL_LIGHT_DIRECTION_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_DIRECTION_Z(x) (0x0000103c+((x)*128))
+#define NV20TCL_LIGHT_DIRECTION_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_A(x) (0x00001040+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_A__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_B(x) (0x00001044+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_B__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_C(x) (0x00001048+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_C__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_DIR_X(x) (0x0000104c+((x)*128))
+#define NV20TCL_LIGHT_SPOT_DIR_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_DIR_Y(x) (0x00001050+((x)*128))
+#define NV20TCL_LIGHT_SPOT_DIR_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_DIR_Z(x) (0x00001054+((x)*128))
+#define NV20TCL_LIGHT_SPOT_DIR_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_SPOT_CUTOFF_D(x) (0x00001058+((x)*128))
+#define NV20TCL_LIGHT_SPOT_CUTOFF_D__SIZE 0x00000008
+#define NV20TCL_LIGHT_POSITION_X(x) (0x0000105c+((x)*128))
+#define NV20TCL_LIGHT_POSITION_X__SIZE 0x00000008
+#define NV20TCL_LIGHT_POSITION_Y(x) (0x00001060+((x)*128))
+#define NV20TCL_LIGHT_POSITION_Y__SIZE 0x00000008
+#define NV20TCL_LIGHT_POSITION_Z(x) (0x00001064+((x)*128))
+#define NV20TCL_LIGHT_POSITION_Z__SIZE 0x00000008
+#define NV20TCL_LIGHT_ATTENUATION_CONSTANT(x) (0x00001068+((x)*128))
+#define NV20TCL_LIGHT_ATTENUATION_CONSTANT__SIZE 0x00000008
+#define NV20TCL_LIGHT_ATTENUATION_LINEAR(x) (0x0000106c+((x)*128))
+#define NV20TCL_LIGHT_ATTENUATION_LINEAR__SIZE 0x00000008
+#define NV20TCL_LIGHT_ATTENUATION_QUADRATIC(x) (0x00001070+((x)*128))
+#define NV20TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE 0x00000008
+#define NV20TCL_POLYGON_STIPPLE_ENABLE 0x0000147c
+#define NV20TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001480+((x)*4))
+#define NV20TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV20TCL_VERTEX_POS_3F_X 0x00001500
+#define NV20TCL_VERTEX_POS_3F_Y 0x00001504
+#define NV20TCL_VERTEX_POS_3F_Z 0x00001508
+#define NV20TCL_VERTEX_POS_4F_X 0x00001518
+#define NV20TCL_VERTEX_POS_4F_Y 0x0000151c
+#define NV20TCL_VERTEX_POS_4F_Z 0x00001520
+#define NV20TCL_VERTEX_POS_3I_XY 0x00001528
+#define NV20TCL_VERTEX_POS_3I_XY_X_SHIFT 0
+#define NV20TCL_VERTEX_POS_3I_XY_X_MASK 0x0000ffff
+#define NV20TCL_VERTEX_POS_3I_XY_Y_SHIFT 16
+#define NV20TCL_VERTEX_POS_3I_XY_Y_MASK 0xffff0000
+#define NV20TCL_VERTEX_POS_3I_Z 0x0000152c
+#define NV20TCL_VERTEX_POS_3I_Z_Z_SHIFT 0
+#define NV20TCL_VERTEX_POS_3I_Z_Z_MASK 0x0000ffff
+#define NV20TCL_VERTEX_NOR_3F_X 0x00001530
+#define NV20TCL_VERTEX_NOR_3F_Y 0x00001534
+#define NV20TCL_VERTEX_NOR_3F_Z 0x00001538
+#define NV20TCL_VERTEX_NOR_3I_XY 0x00001540
+#define NV20TCL_VERTEX_NOR_3I_XY_X_SHIFT 0
+#define NV20TCL_VERTEX_NOR_3I_XY_X_MASK 0x0000ffff
+#define NV20TCL_VERTEX_NOR_3I_XY_Y_SHIFT 16
+#define NV20TCL_VERTEX_NOR_3I_XY_Y_MASK 0xffff0000
+#define NV20TCL_VERTEX_NOR_3I_Z 0x00001544
+#define NV20TCL_VERTEX_NOR_3I_Z_Z_SHIFT 0
+#define NV20TCL_VERTEX_NOR_3I_Z_Z_MASK 0x0000ffff
+#define NV20TCL_VERTEX_COL_4F_X 0x00001550
+#define NV20TCL_VERTEX_COL_4F_Y 0x00001554
+#define NV20TCL_VERTEX_COL_4F_Z 0x00001558
+#define NV20TCL_VERTEX_COL_4F_W 0x0000155c
+#define NV20TCL_VERTEX_COL_3F_X 0x00001560
+#define NV20TCL_VERTEX_COL_3F_Y 0x00001564
+#define NV20TCL_VERTEX_COL_3F_Z 0x00001568
+#define NV20TCL_VERTEX_COL_4I 0x0000156c
+#define NV20TCL_VERTEX_COL_4I_R_SHIFT 0
+#define NV20TCL_VERTEX_COL_4I_R_MASK 0x000000ff
+#define NV20TCL_VERTEX_COL_4I_G_SHIFT 8
+#define NV20TCL_VERTEX_COL_4I_G_MASK 0x0000ff00
+#define NV20TCL_VERTEX_COL_4I_B_SHIFT 16
+#define NV20TCL_VERTEX_COL_4I_B_MASK 0x00ff0000
+#define NV20TCL_VERTEX_COL_4I_A_SHIFT 24
+#define NV20TCL_VERTEX_COL_4I_A_MASK 0xff000000
+#define NV20TCL_VERTEX_COL2_3F_X 0x00001580
+#define NV20TCL_VERTEX_COL2_3F_Y 0x00001584
+#define NV20TCL_VERTEX_COL2_3F_Z 0x00001588
+#define NV20TCL_VERTEX_COL2_4I 0x0000158c
+#define NV20TCL_VERTEX_COL2_4I_R_SHIFT 0
+#define NV20TCL_VERTEX_COL2_4I_R_MASK 0x000000ff
+#define NV20TCL_VERTEX_COL2_4I_G_SHIFT 8
+#define NV20TCL_VERTEX_COL2_4I_G_MASK 0x0000ff00
+#define NV20TCL_VERTEX_COL2_4I_B_SHIFT 16
+#define NV20TCL_VERTEX_COL2_4I_B_MASK 0x00ff0000
+#define NV20TCL_VERTEX_COL2_4I_A_SHIFT 24
+#define NV20TCL_VERTEX_COL2_4I_A_MASK 0xff000000
+#define NV20TCL_VERTEX_TX0_2F_S 0x00001590
+#define NV20TCL_VERTEX_TX0_2F_T 0x00001594
+#define NV20TCL_VERTEX_TX0_2I 0x00001598
+#define NV20TCL_VERTEX_TX0_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX0_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX0_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX0_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX0_4F_S 0x000015a0
+#define NV20TCL_VERTEX_TX0_4F_T 0x000015a4
+#define NV20TCL_VERTEX_TX0_4F_R 0x000015a8
+#define NV20TCL_VERTEX_TX0_4F_Q 0x000015ac
+#define NV20TCL_VERTEX_TX0_4I_ST 0x000015b0
+#define NV20TCL_VERTEX_TX0_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX0_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX0_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX0_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX0_4I_RQ 0x000015b4
+#define NV20TCL_VERTEX_TX0_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX0_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX0_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX0_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX1_2F_S 0x000015b8
+#define NV20TCL_VERTEX_TX1_2F_T 0x000015bc
+#define NV20TCL_VERTEX_TX1_2I 0x000015c0
+#define NV20TCL_VERTEX_TX1_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX1_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX1_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX1_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX1_4F_S 0x000015c8
+#define NV20TCL_VERTEX_TX1_4F_T 0x000015cc
+#define NV20TCL_VERTEX_TX1_4F_R 0x000015d0
+#define NV20TCL_VERTEX_TX1_4F_Q 0x000015d4
+#define NV20TCL_VERTEX_TX1_4I_ST 0x000015d8
+#define NV20TCL_VERTEX_TX1_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX1_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX1_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX1_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX1_4I_RQ 0x000015dc
+#define NV20TCL_VERTEX_TX1_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX1_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX1_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX1_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX2_2F_S 0x000015e0
+#define NV20TCL_VERTEX_TX2_2F_T 0x000015e4
+#define NV20TCL_VERTEX_TX2_2I 0x000015e8
+#define NV20TCL_VERTEX_TX2_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX2_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX2_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX2_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX2_4F_S 0x000015f0
+#define NV20TCL_VERTEX_TX2_4F_T 0x000015f4
+#define NV20TCL_VERTEX_TX2_4F_R 0x000015f8
+#define NV20TCL_VERTEX_TX2_4F_Q 0x000015fc
+#define NV20TCL_VERTEX_TX2_4I_ST 0x00001600
+#define NV20TCL_VERTEX_TX2_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX2_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX2_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX2_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX2_4I_RQ 0x00001604
+#define NV20TCL_VERTEX_TX2_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX2_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX2_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX2_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX3_2F_S 0x00001608
+#define NV20TCL_VERTEX_TX3_2F_T 0x0000160c
+#define NV20TCL_VERTEX_TX3_2I 0x00001610
+#define NV20TCL_VERTEX_TX3_2I_S_SHIFT 0
+#define NV20TCL_VERTEX_TX3_2I_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX3_2I_T_SHIFT 16
+#define NV20TCL_VERTEX_TX3_2I_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX3_4F_S 0x00001620
+#define NV20TCL_VERTEX_TX3_4F_T 0x00001624
+#define NV20TCL_VERTEX_TX3_4F_R 0x00001628
+#define NV20TCL_VERTEX_TX3_4F_Q 0x0000162c
+#define NV20TCL_VERTEX_TX3_4I_ST 0x00001630
+#define NV20TCL_VERTEX_TX3_4I_ST_S_SHIFT 0
+#define NV20TCL_VERTEX_TX3_4I_ST_S_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX3_4I_ST_T_SHIFT 16
+#define NV20TCL_VERTEX_TX3_4I_ST_T_MASK 0xffff0000
+#define NV20TCL_VERTEX_TX3_4I_RQ 0x00001634
+#define NV20TCL_VERTEX_TX3_4I_RQ_R_SHIFT 0
+#define NV20TCL_VERTEX_TX3_4I_RQ_R_MASK 0x0000ffff
+#define NV20TCL_VERTEX_TX3_4I_RQ_Q_SHIFT 16
+#define NV20TCL_VERTEX_TX3_4I_RQ_Q_MASK 0xffff0000
+#define NV20TCL_VERTEX_FOG_1F 0x00001698
+#define NV20TCL_EDGEFLAG_ENABLE 0x000016bc
+#define NV20TCL_VTX_CACHE_INVALIDATE 0x00001710
+#define NV20TCL_VTXBUF_ADDRESS(x) (0x00001720+((x)*4))
+#define NV20TCL_VTXBUF_ADDRESS__SIZE 0x00000010
+#define NV20TCL_VTXBUF_ADDRESS_DMA1 (1 << 31)
+#define NV20TCL_VTXBUF_ADDRESS_OFFSET_SHIFT 0
+#define NV20TCL_VTXBUF_ADDRESS_OFFSET_MASK 0x0fffffff
+#define NV20TCL_VTXFMT(x) (0x00001760+((x)*4))
+#define NV20TCL_VTXFMT__SIZE 0x00000010
+#define NV20TCL_VTXFMT_TYPE_SHIFT 0
+#define NV20TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV20TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV20TCL_VTXFMT_TYPE_UBYTE 0x00000004
+#define NV20TCL_VTXFMT_TYPE_USHORT 0x00000005
+#define NV20TCL_VTXFMT_SIZE_SHIFT 4
+#define NV20TCL_VTXFMT_SIZE_MASK 0x000000f0
+#define NV20TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV20TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV20TCL_LIGHT_MODEL_BACK_AMBIENT_R 0x000017a0
+#define NV20TCL_LIGHT_MODEL_BACK_AMBIENT_G 0x000017a4
+#define NV20TCL_LIGHT_MODEL_BACK_AMBIENT_B 0x000017a8
+#define NV20TCL_MATERIAL_FACTOR_BACK_A 0x000017ac
+#define NV20TCL_MATERIAL_FACTOR_BACK_R 0x000017b0
+#define NV20TCL_MATERIAL_FACTOR_BACK_G 0x000017b4
+#define NV20TCL_MATERIAL_FACTOR_BACK_B 0x000017b8
+#define NV20TCL_COLOR_LOGIC_OP_ENABLE 0x000017bc
+#define NV20TCL_COLOR_LOGIC_OP_OP 0x000017c0
+#define NV20TCL_COLOR_LOGIC_OP_OP_CLEAR 0x00001500
+#define NV20TCL_COLOR_LOGIC_OP_OP_AND 0x00001501
+#define NV20TCL_COLOR_LOGIC_OP_OP_AND_REVERSE 0x00001502
+#define NV20TCL_COLOR_LOGIC_OP_OP_COPY 0x00001503
+#define NV20TCL_COLOR_LOGIC_OP_OP_AND_INVERTED 0x00001504
+#define NV20TCL_COLOR_LOGIC_OP_OP_NOOP 0x00001505
+#define NV20TCL_COLOR_LOGIC_OP_OP_XOR 0x00001506
+#define NV20TCL_COLOR_LOGIC_OP_OP_OR 0x00001507
+#define NV20TCL_COLOR_LOGIC_OP_OP_NOR 0x00001508
+#define NV20TCL_COLOR_LOGIC_OP_OP_EQUIV 0x00001509
+#define NV20TCL_COLOR_LOGIC_OP_OP_INVERT 0x0000150a
+#define NV20TCL_COLOR_LOGIC_OP_OP_OR_REVERSE 0x0000150b
+#define NV20TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED 0x0000150c
+#define NV20TCL_COLOR_LOGIC_OP_OP_OR_INVERTED 0x0000150d
+#define NV20TCL_COLOR_LOGIC_OP_OP_NAND 0x0000150e
+#define NV20TCL_COLOR_LOGIC_OP_OP_SET 0x0000150f
+#define NV20TCL_LIGHT_MODEL_TWO_SIDE_ENABLE 0x000017c4
+#define NV20TCL_TX_SHADER_CULL_MODE 0x000017f8
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_S (1 << 0)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_S_LESS 0x00000001
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_T (1 << 1)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_T_LESS 0x00000002
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_R (1 << 2)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_R_LESS 0x00000004
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_Q (1 << 3)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX0_Q_LESS 0x00000008
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_S (1 << 4)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_S_LESS 0x00000010
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_T (1 << 5)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_T_LESS 0x00000020
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_R (1 << 6)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_R_LESS 0x00000040
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_Q (1 << 7)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX1_Q_LESS 0x00000080
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_S (1 << 8)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_S_LESS 0x00000100
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_T (1 << 9)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_T_LESS 0x00000200
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_R (1 << 10)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_R_LESS 0x00000400
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_Q (1 << 11)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX2_Q_LESS 0x00000800
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_S (1 << 12)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_S_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_S_LESS 0x00001000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_T (1 << 13)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_T_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_T_LESS 0x00002000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_R (1 << 14)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_R_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_R_LESS 0x00004000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_Q (1 << 15)
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_GEQUAL 0x00000000
+#define NV20TCL_TX_SHADER_CULL_MODE_TX3_Q_LESS 0x00008000
+#define NV20TCL_VERTEX_BEGIN_END 0x000017fc
+#define NV20TCL_VERTEX_BEGIN_END_STOP 0x00000000
+#define NV20TCL_VERTEX_BEGIN_END_POINTS 0x00000001
+#define NV20TCL_VERTEX_BEGIN_END_LINES 0x00000002
+#define NV20TCL_VERTEX_BEGIN_END_LINE_LOOP 0x00000003
+#define NV20TCL_VERTEX_BEGIN_END_LINE_STRIP 0x00000004
+#define NV20TCL_VERTEX_BEGIN_END_TRIANGLES 0x00000005
+#define NV20TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV20TCL_VERTEX_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV20TCL_VERTEX_BEGIN_END_QUADS 0x00000008
+#define NV20TCL_VERTEX_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV20TCL_VERTEX_BEGIN_END_POLYGON 0x0000000a
+#define NV20TCL_VB_ELEMENT_U16 0x00001800
+#define NV20TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV20TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV20TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV20TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV20TCL_VB_ELEMENT_U32 0x00001808
+#define NV20TCL_VB_VERTEX_BATCH 0x00001810
+#define NV20TCL_VB_VERTEX_BATCH_OFFSET_SHIFT 0
+#define NV20TCL_VB_VERTEX_BATCH_OFFSET_MASK 0x00ffffff
+#define NV20TCL_VB_VERTEX_BATCH_COUNT_SHIFT 24
+#define NV20TCL_VB_VERTEX_BATCH_COUNT_MASK 0xff000000
+#define NV20TCL_VERTEX_DATA 0x00001818
+#define NV20TCL_TX_SHADER_CONST_EYE_X 0x0000181c
+#define NV20TCL_TX_SHADER_CONST_EYE_Y 0x00001820
+#define NV20TCL_TX_SHADER_CONST_EYE_Z 0x00001824
+#define NV20TCL_VTX_ATTR_4F_X(x) (0x00001a00+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV20TCL_VTX_ATTR_4F_Y(x) (0x00001a04+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV20TCL_VTX_ATTR_4F_Z(x) (0x00001a08+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV20TCL_VTX_ATTR_4F_W(x) (0x00001a0c+((x)*16))
+#define NV20TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV20TCL_TX_OFFSET(x) (0x00001b00+((x)*64))
+#define NV20TCL_TX_OFFSET__SIZE 0x00000004
+#define NV20TCL_TX_FORMAT(x) (0x00001b04+((x)*64))
+#define NV20TCL_TX_FORMAT__SIZE 0x00000004
+#define NV20TCL_TX_FORMAT_DMA0 (1 << 0)
+#define NV20TCL_TX_FORMAT_DMA1 (1 << 1)
+#define NV20TCL_TX_FORMAT_CUBIC (1 << 2)
+#define NV20TCL_TX_FORMAT_NO_BORDER (1 << 3)
+#define NV20TCL_TX_FORMAT_DIMS_SHIFT 4
+#define NV20TCL_TX_FORMAT_DIMS_MASK 0x000000f0
+#define NV20TCL_TX_FORMAT_DIMS_1D 0x00000010
+#define NV20TCL_TX_FORMAT_DIMS_2D 0x00000020
+#define NV20TCL_TX_FORMAT_DIMS_3D 0x00000030
+#define NV20TCL_TX_FORMAT_FORMAT_SHIFT 8
+#define NV20TCL_TX_FORMAT_FORMAT_MASK 0x0000ff00
+#define NV20TCL_TX_FORMAT_FORMAT_L8 0x00000000
+#define NV20TCL_TX_FORMAT_FORMAT_A8 0x00000100
+#define NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5 0x00000200
+#define NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4 0x00000400
+#define NV20TCL_TX_FORMAT_FORMAT_R5G6B5 0x00000500
+#define NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8 0x00000600
+#define NV20TCL_TX_FORMAT_FORMAT_X8R8G8B8 0x00000700
+#define NV20TCL_TX_FORMAT_FORMAT_INDEX8 0x00000b00
+#define NV20TCL_TX_FORMAT_FORMAT_DXT1 0x00000c00
+#define NV20TCL_TX_FORMAT_FORMAT_DXT3 0x00000e00
+#define NV20TCL_TX_FORMAT_FORMAT_DXT5 0x00000f00
+#define NV20TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT 0x00001000
+#define NV20TCL_TX_FORMAT_FORMAT_R5G6B5_RECT 0x00001100
+#define NV20TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT 0x00001200
+#define NV20TCL_TX_FORMAT_FORMAT_L8_RECT 0x00001300
+#define NV20TCL_TX_FORMAT_FORMAT_DSDT8_RECT 0x00001700
+#define NV20TCL_TX_FORMAT_FORMAT_A8L8 0x00001a00
+#define NV20TCL_TX_FORMAT_FORMAT_A8_RECT 0x00001b00
+#define NV20TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT 0x00001d00
+#define NV20TCL_TX_FORMAT_FORMAT_R8G8B8_RECT 0x00001e00
+#define NV20TCL_TX_FORMAT_FORMAT_A8L8_RECT 0x00002000
+#define NV20TCL_TX_FORMAT_FORMAT_DSDT8 0x00002800
+#define NV20TCL_TX_FORMAT_FORMAT_HILO16 0x00003300
+#define NV20TCL_TX_FORMAT_FORMAT_HILO16_RECT 0x00003600
+#define NV20TCL_TX_FORMAT_FORMAT_HILO8 0x00004400
+#define NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8 0x00004500
+#define NV20TCL_TX_FORMAT_FORMAT_HILO8_RECT 0x00004600
+#define NV20TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT 0x00004700
+#define NV20TCL_TX_FORMAT_FORMAT_A16 0x00003200
+#define NV20TCL_TX_FORMAT_FORMAT_A16_RECT 0x00003500
+#define NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV 0x00004a00
+#define NV20TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV 0x00004b00
+#define NV20TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV 0x00004c00
+#define NV20TCL_TX_FORMAT_MIPMAP (1 << 19)
+#define NV20TCL_TX_FORMAT_BASE_SIZE_U_SHIFT 20
+#define NV20TCL_TX_FORMAT_BASE_SIZE_U_MASK 0x00f00000
+#define NV20TCL_TX_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV20TCL_TX_FORMAT_BASE_SIZE_V_MASK 0x0f000000
+#define NV20TCL_TX_FORMAT_BASE_SIZE_W_SHIFT 28
+#define NV20TCL_TX_FORMAT_BASE_SIZE_W_MASK 0xf0000000
+#define NV20TCL_TX_WRAP(x) (0x00001b08+((x)*64))
+#define NV20TCL_TX_WRAP__SIZE 0x00000004
+#define NV20TCL_TX_WRAP_S_SHIFT 0
+#define NV20TCL_TX_WRAP_S_MASK 0x000000ff
+#define NV20TCL_TX_WRAP_S_REPEAT 0x00000001
+#define NV20TCL_TX_WRAP_S_MIRRORED_REPEAT 0x00000002
+#define NV20TCL_TX_WRAP_S_CLAMP_TO_EDGE 0x00000003
+#define NV20TCL_TX_WRAP_S_CLAMP_TO_BORDER 0x00000004
+#define NV20TCL_TX_WRAP_S_CLAMP 0x00000005
+#define NV20TCL_TX_WRAP_T_SHIFT 8
+#define NV20TCL_TX_WRAP_T_MASK 0x00000f00
+#define NV20TCL_TX_WRAP_T_REPEAT 0x00000100
+#define NV20TCL_TX_WRAP_T_MIRRORED_REPEAT 0x00000200
+#define NV20TCL_TX_WRAP_T_CLAMP_TO_EDGE 0x00000300
+#define NV20TCL_TX_WRAP_T_CLAMP_TO_BORDER 0x00000400
+#define NV20TCL_TX_WRAP_T_CLAMP 0x00000500
+#define NV20TCL_TX_WRAP_R_SHIFT 16
+#define NV20TCL_TX_WRAP_R_MASK 0x000f0000
+#define NV20TCL_TX_WRAP_R_REPEAT 0x00010000
+#define NV20TCL_TX_WRAP_R_MIRRORED_REPEAT 0x00020000
+#define NV20TCL_TX_WRAP_R_CLAMP_TO_EDGE 0x00030000
+#define NV20TCL_TX_WRAP_R_CLAMP_TO_BORDER 0x00040000
+#define NV20TCL_TX_WRAP_R_CLAMP 0x00050000
+#define NV20TCL_TX_ENABLE(x) (0x00001b0c+((x)*64))
+#define NV20TCL_TX_ENABLE__SIZE 0x00000004
+#define NV20TCL_TX_ENABLE_ANISO_SHIFT 4
+#define NV20TCL_TX_ENABLE_ANISO_MASK 0x00000030
+#define NV20TCL_TX_ENABLE_ANISO_NONE 0x00000000
+#define NV20TCL_TX_ENABLE_ANISO_2X 0x00000010
+#define NV20TCL_TX_ENABLE_ANISO_4X 0x00000020
+#define NV20TCL_TX_ENABLE_ANISO_8X 0x00000030
+#define NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT 14
+#define NV20TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK 0x0003c000
+#define NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT 26
+#define NV20TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK 0x3c000000
+#define NV20TCL_TX_ENABLE_ENABLE (1 << 30)
+#define NV20TCL_TX_NPOT_PITCH(x) (0x00001b10+((x)*64))
+#define NV20TCL_TX_NPOT_PITCH__SIZE 0x00000004
+#define NV20TCL_TX_NPOT_PITCH_PITCH_SHIFT 16
+#define NV20TCL_TX_NPOT_PITCH_PITCH_MASK 0xffff0000
+#define NV20TCL_TX_FILTER(x) (0x00001b14+((x)*64))
+#define NV20TCL_TX_FILTER__SIZE 0x00000004
+#define NV20TCL_TX_FILTER_LOD_BIAS_SHIFT 8
+#define NV20TCL_TX_FILTER_LOD_BIAS_MASK 0x00000f00
+#define NV20TCL_TX_FILTER_MINIFY_SHIFT 16
+#define NV20TCL_TX_FILTER_MINIFY_MASK 0x000f0000
+#define NV20TCL_TX_FILTER_MINIFY_NEAREST 0x00010000
+#define NV20TCL_TX_FILTER_MINIFY_LINEAR 0x00020000
+#define NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x00030000
+#define NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x00040000
+#define NV20TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x00050000
+#define NV20TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x00060000
+#define NV20TCL_TX_FILTER_MAGNIFY_SHIFT 24
+#define NV20TCL_TX_FILTER_MAGNIFY_MASK 0x0f000000
+#define NV20TCL_TX_FILTER_MAGNIFY_NEAREST 0x01000000
+#define NV20TCL_TX_FILTER_MAGNIFY_LINEAR 0x02000000
+#define NV20TCL_TX_NPOT_SIZE(x) (0x00001b1c+((x)*64))
+#define NV20TCL_TX_NPOT_SIZE__SIZE 0x00000004
+#define NV20TCL_TX_NPOT_SIZE_H_SHIFT 0
+#define NV20TCL_TX_NPOT_SIZE_H_MASK 0x0000ffff
+#define NV20TCL_TX_NPOT_SIZE_W_SHIFT 16
+#define NV20TCL_TX_NPOT_SIZE_W_MASK 0xffff0000
+#define NV20TCL_TX_PALETTE_OFFSET(x) (0x00001b20+((x)*64))
+#define NV20TCL_TX_PALETTE_OFFSET__SIZE 0x00000004
+#define NV20TCL_TX_BORDER_COLOR(x) (0x00001b24+((x)*64))
+#define NV20TCL_TX_BORDER_COLOR__SIZE 0x00000004
+#define NV20TCL_TX_BORDER_COLOR_B_SHIFT 0
+#define NV20TCL_TX_BORDER_COLOR_B_MASK 0x000000ff
+#define NV20TCL_TX_BORDER_COLOR_G_SHIFT 8
+#define NV20TCL_TX_BORDER_COLOR_G_MASK 0x0000ff00
+#define NV20TCL_TX_BORDER_COLOR_R_SHIFT 16
+#define NV20TCL_TX_BORDER_COLOR_R_MASK 0x00ff0000
+#define NV20TCL_TX_BORDER_COLOR_A_SHIFT 24
+#define NV20TCL_TX_BORDER_COLOR_A_MASK 0xff000000
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX00(x) (0x00001b28+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX00__SIZE 0x00000004
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX01(x) (0x00001b2c+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX01__SIZE 0x00000004
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX11(x) (0x00001b30+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX11__SIZE 0x00000004
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX10(x) (0x00001b34+((x)*64))
+#define NV20TCL_TX_SHADER_OFFSET_MATRIX10__SIZE 0x00000004
+#define NV20TCL_DEPTH_UNK17D8 0x00001d78
+#define NV20TCL_DEPTH_UNK17D8_CLAMP_SHIFT 4
+#define NV20TCL_DEPTH_UNK17D8_CLAMP_MASK 0x000000f0
+#define NV20TCL_MULTISAMPLE_CONTROL 0x00001d7c
+#define NV20TCL_CLEAR_DEPTH_VALUE 0x00001d8c
+#define NV20TCL_CLEAR_VALUE 0x00001d90
+#define NV20TCL_CLEAR_BUFFERS 0x00001d94
+#define NV20TCL_CLEAR_BUFFERS_COLOR_A (1 << 7)
+#define NV20TCL_CLEAR_BUFFERS_COLOR_B (1 << 6)
+#define NV20TCL_CLEAR_BUFFERS_COLOR_G (1 << 5)
+#define NV20TCL_CLEAR_BUFFERS_COLOR_R (1 << 4)
+#define NV20TCL_CLEAR_BUFFERS_STENCIL (1 << 1)
+#define NV20TCL_CLEAR_BUFFERS_DEPTH (1 << 0)
+#define NV20TCL_RC_COLOR0 0x00001e20
+#define NV20TCL_RC_COLOR0_B_SHIFT 0
+#define NV20TCL_RC_COLOR0_B_MASK 0x000000ff
+#define NV20TCL_RC_COLOR0_G_SHIFT 8
+#define NV20TCL_RC_COLOR0_G_MASK 0x0000ff00
+#define NV20TCL_RC_COLOR0_R_SHIFT 16
+#define NV20TCL_RC_COLOR0_R_MASK 0x00ff0000
+#define NV20TCL_RC_COLOR0_A_SHIFT 24
+#define NV20TCL_RC_COLOR0_A_MASK 0xff000000
+#define NV20TCL_RC_COLOR1 0x00001e24
+#define NV20TCL_RC_COLOR1_B_SHIFT 0
+#define NV20TCL_RC_COLOR1_B_MASK 0x000000ff
+#define NV20TCL_RC_COLOR1_G_SHIFT 8
+#define NV20TCL_RC_COLOR1_G_MASK 0x0000ff00
+#define NV20TCL_RC_COLOR1_R_SHIFT 16
+#define NV20TCL_RC_COLOR1_R_MASK 0x00ff0000
+#define NV20TCL_RC_COLOR1_A_SHIFT 24
+#define NV20TCL_RC_COLOR1_A_MASK 0xff000000
+#define NV20TCL_BACK_MATERIAL_SHININESS(x) (0x00001e28+((x)*4))
+#define NV20TCL_BACK_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV20TCL_RC_OUT_RGB(x) (0x00001e40+((x)*4))
+#define NV20TCL_RC_OUT_RGB__SIZE 0x00000008
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT 0
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_MASK 0x0000000f
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_FOG 0x00000003
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0 0x0000000c
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1 0x0000000d
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV20TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT 4
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_MASK 0x000000f0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_FOG 0x00000030
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0 0x000000c0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1 0x000000d0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV20TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT 8
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_MASK 0x00000f00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO 0x00000000
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_FOG 0x00000300
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV20TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV20TCL_RC_OUT_RGB_CD_DOT_PRODUCT (1 << 12)
+#define NV20TCL_RC_OUT_RGB_AB_DOT_PRODUCT (1 << 13)
+#define NV20TCL_RC_OUT_RGB_MUX_SUM (1 << 14)
+#define NV20TCL_RC_OUT_RGB_BIAS (1 << 15)
+#define NV20TCL_RC_OUT_RGB_BIAS_NONE 0x00000000
+#define NV20TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV20TCL_RC_OUT_RGB_SCALE_SHIFT 17
+#define NV20TCL_RC_OUT_RGB_SCALE_MASK 0x00000000
+#define NV20TCL_RC_OUT_RGB_SCALE_NONE 0x00000000
+#define NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO 0x00020000
+#define NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV20TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV20TCL_RC_ENABLE 0x00001e60
+#define NV20TCL_RC_ENABLE_NUM_COMBINERS_SHIFT 0
+#define NV20TCL_RC_ENABLE_NUM_COMBINERS_MASK 0x0000000f
+#define NV20TCL_TX_RCOMP 0x00001e6c
+#define NV20TCL_TX_RCOMP_NEVER 0x00000000
+#define NV20TCL_TX_RCOMP_GREATER 0x00000001
+#define NV20TCL_TX_RCOMP_EQUAL 0x00000002
+#define NV20TCL_TX_RCOMP_GEQUAL 0x00000003
+#define NV20TCL_TX_RCOMP_LESS 0x00000004
+#define NV20TCL_TX_RCOMP_NOTEQUAL 0x00000005
+#define NV20TCL_TX_RCOMP_LEQUAL 0x00000006
+#define NV20TCL_TX_RCOMP_ALWAYS 0x00000007
+#define NV20TCL_TX_SHADER_OP 0x00001e70
+#define NV20TCL_TX_SHADER_OP_TX0_SHIFT 0
+#define NV20TCL_TX_SHADER_OP_TX0_MASK 0x0000001f
+#define NV20TCL_TX_SHADER_OP_TX0_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX0_TEXTURE_2D 0x00000001
+#define NV20TCL_TX_SHADER_OP_TX0_PASS_THROUGH 0x00000004
+#define NV20TCL_TX_SHADER_OP_TX0_CULL_FRAGMENT 0x00000005
+#define NV20TCL_TX_SHADER_OP_TX0_OFFSET_TEXTURE_2D 0x00000006
+#define NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_TEXTURE_2D 0x00000009
+#define NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT_DEPTH_REPLACE 0x0000000a
+#define NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_AR_TEXTURE_2D 0x0000000f
+#define NV20TCL_TX_SHADER_OP_TX0_DEPENDANT_GB_TEXTURE_2D 0x00000010
+#define NV20TCL_TX_SHADER_OP_TX0_DOT_PRODUCT 0x00000011
+#define NV20TCL_TX_SHADER_OP_TX1_SHIFT 5
+#define NV20TCL_TX_SHADER_OP_TX1_MASK 0x000003e0
+#define NV20TCL_TX_SHADER_OP_TX1_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX1_TEXTURE_2D 0x00000020
+#define NV20TCL_TX_SHADER_OP_TX1_PASS_THROUGH 0x00000080
+#define NV20TCL_TX_SHADER_OP_TX1_CULL_FRAGMENT 0x000000a0
+#define NV20TCL_TX_SHADER_OP_TX1_OFFSET_TEXTURE_2D 0x000000c0
+#define NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_TEXTURE_2D 0x00000120
+#define NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT_DEPTH_REPLACE 0x00000140
+#define NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_AR_TEXTURE_2D 0x000001e0
+#define NV20TCL_TX_SHADER_OP_TX1_DEPENDANT_GB_TEXTURE_2D 0x00000200
+#define NV20TCL_TX_SHADER_OP_TX1_DOT_PRODUCT 0x00000220
+#define NV20TCL_TX_SHADER_OP_TX2_SHIFT 10
+#define NV20TCL_TX_SHADER_OP_TX2_MASK 0x00007c00
+#define NV20TCL_TX_SHADER_OP_TX2_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX2_TEXTURE_2D 0x00000400
+#define NV20TCL_TX_SHADER_OP_TX2_PASS_THROUGH 0x00001000
+#define NV20TCL_TX_SHADER_OP_TX2_CULL_FRAGMENT 0x00001400
+#define NV20TCL_TX_SHADER_OP_TX2_OFFSET_TEXTURE_2D 0x00001800
+#define NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_TEXTURE_2D 0x00002400
+#define NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT_DEPTH_REPLACE 0x00002800
+#define NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_AR_TEXTURE_2D 0x00003c00
+#define NV20TCL_TX_SHADER_OP_TX2_DEPENDANT_GB_TEXTURE_2D 0x00004000
+#define NV20TCL_TX_SHADER_OP_TX2_DOT_PRODUCT 0x00004400
+#define NV20TCL_TX_SHADER_OP_TX3_SHIFT 15
+#define NV20TCL_TX_SHADER_OP_TX3_MASK 0x000f8000
+#define NV20TCL_TX_SHADER_OP_TX3_NONE 0x00000000
+#define NV20TCL_TX_SHADER_OP_TX3_TEXTURE_2D 0x00008000
+#define NV20TCL_TX_SHADER_OP_TX3_PASS_THROUGH 0x00020000
+#define NV20TCL_TX_SHADER_OP_TX3_CULL_FRAGMENT 0x00028000
+#define NV20TCL_TX_SHADER_OP_TX3_OFFSET_TEXTURE_2D 0x00030000
+#define NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_TEXTURE_2D 0x00048000
+#define NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT_DEPTH_REPLACE 0x00050000
+#define NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_AR_TEXTURE_2D 0x00078000
+#define NV20TCL_TX_SHADER_OP_TX3_DEPENDANT_GB_TEXTURE_2D 0x00080000
+#define NV20TCL_TX_SHADER_OP_TX3_DOT_PRODUCT 0x00088000
+#define NV20TCL_TX_SHADER_DOTMAPPING 0x00001e74
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX0_SHIFT 0
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX0_MASK 0x0000000f
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX1_SHIFT 4
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX1_MASK 0x000000f0
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX2_SHIFT 8
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX2_MASK 0x00000f00
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX3_SHIFT 12
+#define NV20TCL_TX_SHADER_DOTMAPPING_TX3_MASK 0x0000f000
+#define NV20TCL_TX_SHADER_PREVIOUS 0x00001e78
+#define NV20TCL_TX_SHADER_PREVIOUS_TX0_SHIFT 8
+#define NV20TCL_TX_SHADER_PREVIOUS_TX0_MASK 0x00000f00
+#define NV20TCL_TX_SHADER_PREVIOUS_TX1_SHIFT 12
+#define NV20TCL_TX_SHADER_PREVIOUS_TX1_MASK 0x0000f000
+#define NV20TCL_TX_SHADER_PREVIOUS_TX2_SHIFT 16
+#define NV20TCL_TX_SHADER_PREVIOUS_TX2_MASK 0x00030000
+#define NV20TCL_TX_SHADER_PREVIOUS_TX3_SHIFT 20
+#define NV20TCL_TX_SHADER_PREVIOUS_TX3_MASK 0x00300000
+#define NV20TCL_ENGINE 0x00001e94
+#define NV20TCL_ENGINE_VP (1 << 1)
+#define NV20TCL_ENGINE_FIXED (1 << 2)
+#define NV20TCL_VP_UPLOAD_FROM_ID 0x00001e9c
+#define NV20TCL_VP_START_FROM_ID 0x00001ea0
+#define NV20TCL_VP_UPLOAD_CONST_ID 0x00001ea4
+
+
+#define NV25TCL 0x00000597
+
+#define NV25TCL_DMA_IN_MEMORY4 0x0000019c
+#define NV25TCL_DMA_IN_MEMORY5 0x000001a0
+#define NV25TCL_DMA_IN_MEMORY8 0x000001ac
+#define NV25TCL_DMA_IN_MEMORY9 0x000001b0
+
+
+#define NV30TCL 0x00000397
+
+
+
+#define NV35TCL 0x00000497
+
+
+
+#define NV34TCL 0x00000697
+
+#define NV34TCL_NOP 0x00000100
+#define NV34TCL_NOTIFY 0x00000104
+#define NV34TCL_DMA_NOTIFY 0x00000180
+#define NV34TCL_DMA_TEXTURE0 0x00000184
+#define NV34TCL_DMA_TEXTURE1 0x00000188
+#define NV34TCL_DMA_COLOR1 0x0000018c
+#define NV34TCL_DMA_COLOR0 0x00000194
+#define NV34TCL_DMA_ZETA 0x00000198
+#define NV34TCL_DMA_VTXBUF0 0x0000019c
+#define NV34TCL_DMA_VTXBUF1 0x000001a0
+#define NV34TCL_DMA_FENCE 0x000001a4
+#define NV34TCL_DMA_QUERY 0x000001a8
+#define NV34TCL_DMA_IN_MEMORY7 0x000001ac
+#define NV34TCL_DMA_IN_MEMORY8 0x000001b0
+#define NV34TCL_RT_HORIZ 0x00000200
+#define NV34TCL_RT_HORIZ_X_SHIFT 0
+#define NV34TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV34TCL_RT_HORIZ_W_SHIFT 16
+#define NV34TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV34TCL_RT_VERT 0x00000204
+#define NV34TCL_RT_VERT_Y_SHIFT 0
+#define NV34TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV34TCL_RT_VERT_H_SHIFT 16
+#define NV34TCL_RT_VERT_H_MASK 0xffff0000
+#define NV34TCL_RT_FORMAT 0x00000208
+#define NV34TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT 24
+#define NV34TCL_RT_FORMAT_LOG2_HEIGHT_MASK 0xff000000
+#define NV34TCL_RT_FORMAT_LOG2_WIDTH_SHIFT 16
+#define NV34TCL_RT_FORMAT_LOG2_WIDTH_MASK 0x00ff0000
+#define NV34TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV34TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV34TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV34TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV34TCL_RT_FORMAT_ZETA_SHIFT 5
+#define NV34TCL_RT_FORMAT_ZETA_MASK 0x000000e0
+#define NV34TCL_RT_FORMAT_ZETA_Z16 0x00000020
+#define NV34TCL_RT_FORMAT_ZETA_Z24S8 0x00000040
+#define NV34TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV34TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV34TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV34TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV34TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV34TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV34TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV34TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV34TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV34TCL_COLOR0_PITCH 0x0000020c
+#define NV34TCL_COLOR0_PITCH_COLOR0_SHIFT 0
+#define NV34TCL_COLOR0_PITCH_COLOR0_MASK 0x0000ffff
+#define NV34TCL_COLOR0_PITCH_ZETA_SHIFT 16
+#define NV34TCL_COLOR0_PITCH_ZETA_MASK 0xffff0000
+#define NV34TCL_COLOR0_OFFSET 0x00000210
+#define NV34TCL_ZETA_OFFSET 0x00000214
+#define NV34TCL_COLOR1_OFFSET 0x00000218
+#define NV34TCL_COLOR1_PITCH 0x0000021c
+#define NV34TCL_RT_ENABLE 0x00000220
+#define NV34TCL_RT_ENABLE_MRT (1 << 4)
+#define NV34TCL_RT_ENABLE_COLOR1 (1 << 1)
+#define NV34TCL_RT_ENABLE_COLOR0 (1 << 0)
+#define NV34TCL_LMA_DEPTH_PITCH 0x0000022c
+#define NV34TCL_LMA_DEPTH_OFFSET 0x00000230
+#define NV34TCL_TX_UNITS_ENABLE 0x0000023c
+#define NV34TCL_TX_UNITS_ENABLE_TX0 (1 << 0)
+#define NV34TCL_TX_UNITS_ENABLE_TX1 (1 << 1)
+#define NV34TCL_TX_UNITS_ENABLE_TX2 (1 << 2)
+#define NV34TCL_TX_UNITS_ENABLE_TX3 (1 << 3)
+#define NV34TCL_TX_UNITS_ENABLE_TX4 (1 << 4)
+#define NV34TCL_TX_UNITS_ENABLE_TX5 (1 << 5)
+#define NV34TCL_TX_UNITS_ENABLE_TX6 (1 << 6)
+#define NV34TCL_TX_UNITS_ENABLE_TX7 (1 << 7)
+#define NV34TCL_TX_MATRIX_ENABLE(x) (0x00000240+((x)*4))
+#define NV34TCL_TX_MATRIX_ENABLE__SIZE 0x00000008
+#define NV34TCL_VIEWPORT_TX_ORIGIN 0x000002b8
+#define NV34TCL_VIEWPORT_TX_ORIGIN_X_SHIFT 0
+#define NV34TCL_VIEWPORT_TX_ORIGIN_X_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_TX_ORIGIN_Y_SHIFT 16
+#define NV34TCL_VIEWPORT_TX_ORIGIN_Y_MASK 0xffff0000
+#define NV34TCL_VIEWPORT_CLIP_MODE 0x000002bc
+#define NV34TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*8))
+#define NV34TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_L_SHIFT 0
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_L_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_R_SHIFT 16
+#define NV34TCL_VIEWPORT_CLIP_HORIZ_R_MASK 0xffff0000
+#define NV34TCL_VIEWPORT_CLIP_VERT(x) (0x000002c4+((x)*8))
+#define NV34TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV34TCL_VIEWPORT_CLIP_VERT_T_SHIFT 0
+#define NV34TCL_VIEWPORT_CLIP_VERT_T_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_CLIP_VERT_D_SHIFT 16
+#define NV34TCL_VIEWPORT_CLIP_VERT_D_MASK 0xffff0000
+#define NV34TCL_DITHER_ENABLE 0x00000300
+#define NV34TCL_ALPHA_FUNC_ENABLE 0x00000304
+#define NV34TCL_ALPHA_FUNC_FUNC 0x00000308
+#define NV34TCL_ALPHA_FUNC_FUNC_NEVER 0x00000200
+#define NV34TCL_ALPHA_FUNC_FUNC_LESS 0x00000201
+#define NV34TCL_ALPHA_FUNC_FUNC_EQUAL 0x00000202
+#define NV34TCL_ALPHA_FUNC_FUNC_LEQUAL 0x00000203
+#define NV34TCL_ALPHA_FUNC_FUNC_GREATER 0x00000204
+#define NV34TCL_ALPHA_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_ALPHA_FUNC_FUNC_GEQUAL 0x00000206
+#define NV34TCL_ALPHA_FUNC_FUNC_ALWAYS 0x00000207
+#define NV34TCL_ALPHA_FUNC_REF 0x0000030c
+#define NV34TCL_BLEND_FUNC_ENABLE 0x00000310
+#define NV34TCL_BLEND_FUNC_SRC 0x00000314
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SHIFT 0
+#define NV34TCL_BLEND_FUNC_SRC_RGB_MASK 0x0000ffff
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV34TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV34TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV34TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV34TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003
+#define NV34TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SHIFT 16
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_MASK 0xffff0000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00010000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x03000000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x03020000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x03040000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x03060000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV34TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV34TCL_BLEND_FUNC_DST 0x00000318
+#define NV34TCL_BLEND_FUNC_DST_RGB_SHIFT 0
+#define NV34TCL_BLEND_FUNC_DST_RGB_MASK 0x0000ffff
+#define NV34TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001
+#define NV34TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV34TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV34TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV34TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV34TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003
+#define NV34TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SHIFT 16
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_MASK 0xffff0000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00000000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00010000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x03000000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x03020000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x03040000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x03060000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV34TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV34TCL_BLEND_COLOR 0x0000031c
+#define NV34TCL_BLEND_COLOR_B_SHIFT 0
+#define NV34TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV34TCL_BLEND_COLOR_G_SHIFT 8
+#define NV34TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV34TCL_BLEND_COLOR_R_SHIFT 16
+#define NV34TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV34TCL_BLEND_COLOR_A_SHIFT 24
+#define NV34TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV34TCL_BLEND_EQUATION 0x00000320
+#define NV34TCL_BLEND_EQUATION_FUNC_ADD 0x00008006
+#define NV34TCL_BLEND_EQUATION_MIN 0x00008007
+#define NV34TCL_BLEND_EQUATION_MAX 0x00008008
+#define NV34TCL_BLEND_EQUATION_FUNC_SUBTRACT 0x0000800a
+#define NV34TCL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV34TCL_COLOR_MASK 0x00000324
+#define NV34TCL_COLOR_MASK_B_SHIFT 0
+#define NV34TCL_COLOR_MASK_B_MASK 0x000000ff
+#define NV34TCL_COLOR_MASK_G_SHIFT 8
+#define NV34TCL_COLOR_MASK_G_MASK 0x0000ff00
+#define NV34TCL_COLOR_MASK_R_SHIFT 16
+#define NV34TCL_COLOR_MASK_R_MASK 0x00ff0000
+#define NV34TCL_COLOR_MASK_A_SHIFT 24
+#define NV34TCL_COLOR_MASK_A_MASK 0xff000000
+#define NV34TCL_STENCIL_FRONT_ENABLE 0x00000328
+#define NV34TCL_STENCIL_FRONT_MASK 0x0000032c
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC 0x00000330
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206
+#define NV34TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207
+#define NV34TCL_STENCIL_FRONT_FUNC_REF 0x00000334
+#define NV34TCL_STENCIL_FRONT_FUNC_MASK 0x00000338
+#define NV34TCL_STENCIL_FRONT_OP_FAIL 0x0000033c
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL 0x00000340
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS 0x00000344
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_BACK_ENABLE 0x00000348
+#define NV34TCL_STENCIL_BACK_MASK 0x0000034c
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC 0x00000350
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206
+#define NV34TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207
+#define NV34TCL_STENCIL_BACK_FUNC_REF 0x00000354
+#define NV34TCL_STENCIL_BACK_FUNC_MASK 0x00000358
+#define NV34TCL_STENCIL_BACK_OP_FAIL 0x0000035c
+#define NV34TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL 0x00000360
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV34TCL_STENCIL_BACK_OP_ZPASS 0x00000364
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV34TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV34TCL_SHADE_MODEL 0x00000368
+#define NV34TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV34TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV34TCL_FOG_ENABLE 0x0000036c
+#define NV34TCL_FOG_COLOR 0x00000370
+#define NV34TCL_FOG_COLOR_R_SHIFT 0
+#define NV34TCL_FOG_COLOR_R_MASK 0x000000ff
+#define NV34TCL_FOG_COLOR_G_SHIFT 8
+#define NV34TCL_FOG_COLOR_G_MASK 0x0000ff00
+#define NV34TCL_FOG_COLOR_B_SHIFT 16
+#define NV34TCL_FOG_COLOR_B_MASK 0x00ff0000
+#define NV34TCL_FOG_COLOR_A_SHIFT 24
+#define NV34TCL_FOG_COLOR_A_MASK 0xff000000
+#define NV34TCL_COLOR_LOGIC_OP_ENABLE 0x00000374
+#define NV34TCL_COLOR_LOGIC_OP_OP 0x00000378
+#define NV34TCL_COLOR_LOGIC_OP_OP_CLEAR 0x00001500
+#define NV34TCL_COLOR_LOGIC_OP_OP_AND 0x00001501
+#define NV34TCL_COLOR_LOGIC_OP_OP_AND_REVERSE 0x00001502
+#define NV34TCL_COLOR_LOGIC_OP_OP_COPY 0x00001503
+#define NV34TCL_COLOR_LOGIC_OP_OP_AND_INVERTED 0x00001504
+#define NV34TCL_COLOR_LOGIC_OP_OP_NOOP 0x00001505
+#define NV34TCL_COLOR_LOGIC_OP_OP_XOR 0x00001506
+#define NV34TCL_COLOR_LOGIC_OP_OP_OR 0x00001507
+#define NV34TCL_COLOR_LOGIC_OP_OP_NOR 0x00001508
+#define NV34TCL_COLOR_LOGIC_OP_OP_EQUIV 0x00001509
+#define NV34TCL_COLOR_LOGIC_OP_OP_INVERT 0x0000150a
+#define NV34TCL_COLOR_LOGIC_OP_OP_OR_REVERSE 0x0000150b
+#define NV34TCL_COLOR_LOGIC_OP_OP_COPY_INVERTED 0x0000150c
+#define NV34TCL_COLOR_LOGIC_OP_OP_OR_INVERTED 0x0000150d
+#define NV34TCL_COLOR_LOGIC_OP_OP_NAND 0x0000150e
+#define NV34TCL_COLOR_LOGIC_OP_OP_SET 0x0000150f
+#define NV34TCL_NORMALIZE_ENABLE 0x0000037c
+#define NV34TCL_COLOR_MATERIAL 0x00000390
+#define NV34TCL_COLOR_MATERIAL_FRONT_EMISSION_ENABLE (1 << 0)
+#define NV34TCL_COLOR_MATERIAL_FRONT_AMBIENT_ENABLE (1 << 2)
+#define NV34TCL_COLOR_MATERIAL_FRONT_DIFFUSE_ENABLE (1 << 4)
+#define NV34TCL_COLOR_MATERIAL_FRONT_SPECULAR_ENABLE (1 << 6)
+#define NV34TCL_COLOR_MATERIAL_BACK_EMISSION_ENABLE (1 << 8)
+#define NV34TCL_COLOR_MATERIAL_BACK_AMBIENT_ENABLE (1 << 10)
+#define NV34TCL_COLOR_MATERIAL_BACK_DIFFUSE_ENABLE (1 << 12)
+#define NV34TCL_COLOR_MATERIAL_BACK_SPECULAR_ENABLE (1 << 14)
+#define NV34TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV34TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV34TCL_COLOR_MATERIAL_FRONT_R 0x000003a0
+#define NV34TCL_COLOR_MATERIAL_FRONT_G 0x000003a4
+#define NV34TCL_COLOR_MATERIAL_FRONT_B 0x000003a8
+#define NV34TCL_COLOR_MATERIAL_FRONT_A 0x000003b4
+#define NV34TCL_LINE_WIDTH 0x000003b8
+#define NV34TCL_LINE_SMOOTH_ENABLE 0x000003bc
+#define NV34TCL_TX_GEN_S(x) (0x00000400+((x)*16))
+#define NV34TCL_TX_GEN_S__SIZE 0x00000008
+#define NV34TCL_TX_GEN_S_FALSE 0x00000000
+#define NV34TCL_TX_GEN_S_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_S_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_S_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_S_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_S_REFLECTION_MAP 0x00008512
+#define NV34TCL_TX_GEN_T(x) (0x00000404+((x)*16))
+#define NV34TCL_TX_GEN_T__SIZE 0x00000008
+#define NV34TCL_TX_GEN_T_FALSE 0x00000000
+#define NV34TCL_TX_GEN_T_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_T_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_T_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_T_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_T_REFLECTION_MAP 0x00008512
+#define NV34TCL_TX_GEN_R(x) (0x00000408+((x)*16))
+#define NV34TCL_TX_GEN_R__SIZE 0x00000008
+#define NV34TCL_TX_GEN_R_FALSE 0x00000000
+#define NV34TCL_TX_GEN_R_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_R_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_R_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_R_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_R_REFLECTION_MAP 0x00008512
+#define NV34TCL_TX_GEN_Q(x) (0x0000040c+((x)*16))
+#define NV34TCL_TX_GEN_Q__SIZE 0x00000008
+#define NV34TCL_TX_GEN_Q_FALSE 0x00000000
+#define NV34TCL_TX_GEN_Q_EYE_LINEAR 0x00002400
+#define NV34TCL_TX_GEN_Q_OBJECT_LINEAR 0x00002401
+#define NV34TCL_TX_GEN_Q_SPHERE_MAP 0x00002402
+#define NV34TCL_TX_GEN_Q_NORMAL_MAP 0x00008511
+#define NV34TCL_TX_GEN_Q_REFLECTION_MAP 0x00008512
+#define NV34TCL_MODELVIEW_MATRIX(x) (0x00000480+((x)*4))
+#define NV34TCL_MODELVIEW_MATRIX__SIZE 0x00000010
+#define NV34TCL_INVERSE_MODELVIEW_MATRIX(x) (0x00000580+((x)*4))
+#define NV34TCL_INVERSE_MODELVIEW_MATRIX__SIZE 0x0000000c
+#define NV34TCL_PROJECTION_MATRIX(x) (0x00000680+((x)*4))
+#define NV34TCL_PROJECTION_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX0_MATRIX(x) (0x000006c0+((x)*4))
+#define NV34TCL_TX0_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX1_MATRIX(x) (0x00000700+((x)*4))
+#define NV34TCL_TX1_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX2_MATRIX(x) (0x00000740+((x)*4))
+#define NV34TCL_TX2_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX3_MATRIX(x) (0x00000780+((x)*4))
+#define NV34TCL_TX3_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX4_MATRIX(x) (0x000007c0+((x)*4))
+#define NV34TCL_TX4_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX5_MATRIX(x) (0x00000800+((x)*4))
+#define NV34TCL_TX5_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX6_MATRIX(x) (0x00000840+((x)*4))
+#define NV34TCL_TX6_MATRIX__SIZE 0x00000010
+#define NV34TCL_TX7_MATRIX(x) (0x00000880+((x)*4))
+#define NV34TCL_TX7_MATRIX__SIZE 0x00000010
+#define NV34TCL_SCISSOR_HORIZ 0x000008c0
+#define NV34TCL_SCISSOR_HORIZ_X_SHIFT 0
+#define NV34TCL_SCISSOR_HORIZ_X_MASK 0x0000ffff
+#define NV34TCL_SCISSOR_HORIZ_W_SHIFT 16
+#define NV34TCL_SCISSOR_HORIZ_W_MASK 0xffff0000
+#define NV34TCL_SCISSOR_VERT 0x000008c4
+#define NV34TCL_SCISSOR_VERT_Y_SHIFT 0
+#define NV34TCL_SCISSOR_VERT_Y_MASK 0x0000ffff
+#define NV34TCL_SCISSOR_VERT_H_SHIFT 16
+#define NV34TCL_SCISSOR_VERT_H_MASK 0xffff0000
+#define NV34TCL_FOG_COORD_DIST 0x000008c8
+#define NV34TCL_FOG_MODE 0x000008cc
+#define NV34TCL_FOG_EQUATION_CONSTANT 0x000008d0
+#define NV34TCL_FOG_EQUATION_LINEAR 0x000008d4
+#define NV34TCL_FOG_EQUATION_QUADRATIC 0x000008d8
+#define NV34TCL_FP_ACTIVE_PROGRAM 0x000008e4
+#define NV34TCL_FP_ACTIVE_PROGRAM_DMA0 (1 << 0)
+#define NV34TCL_FP_ACTIVE_PROGRAM_DMA1 (1 << 1)
+#define NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_SHIFT 2
+#define NV34TCL_FP_ACTIVE_PROGRAM_OFFSET_MASK 0xfffffffc
+#define NV34TCL_RC_COLOR0 0x000008ec
+#define NV34TCL_RC_COLOR0_B_SHIFT 0
+#define NV34TCL_RC_COLOR0_B_MASK 0x000000ff
+#define NV34TCL_RC_COLOR0_G_SHIFT 8
+#define NV34TCL_RC_COLOR0_G_MASK 0x0000ff00
+#define NV34TCL_RC_COLOR0_R_SHIFT 16
+#define NV34TCL_RC_COLOR0_R_MASK 0x00ff0000
+#define NV34TCL_RC_COLOR0_A_SHIFT 24
+#define NV34TCL_RC_COLOR0_A_MASK 0xff000000
+#define NV34TCL_RC_COLOR1 0x000008f0
+#define NV34TCL_RC_COLOR1_B_SHIFT 0
+#define NV34TCL_RC_COLOR1_B_MASK 0x000000ff
+#define NV34TCL_RC_COLOR1_G_SHIFT 8
+#define NV34TCL_RC_COLOR1_G_MASK 0x0000ff00
+#define NV34TCL_RC_COLOR1_R_SHIFT 16
+#define NV34TCL_RC_COLOR1_R_MASK 0x00ff0000
+#define NV34TCL_RC_COLOR1_A_SHIFT 24
+#define NV34TCL_RC_COLOR1_A_MASK 0xff000000
+#define NV34TCL_RC_FINAL0 0x000008f4
+#define NV34TCL_RC_FINAL0_D_INPUT_SHIFT 0
+#define NV34TCL_RC_FINAL0_D_INPUT_MASK 0x0000000f
+#define NV34TCL_RC_FINAL0_D_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_FINAL0_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_FINAL0_D_INPUT_FOG 0x00000003
+#define NV34TCL_RC_FINAL0_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_FINAL0_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_FINAL0_D_INPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_FINAL0_D_INPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_FINAL0_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_FINAL0_D_INPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_FINAL0_D_INPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_FINAL0_D_COMPONENT_USAGE (1 << 4)
+#define NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV34TCL_RC_FINAL0_D_MAPPING_SHIFT 5
+#define NV34TCL_RC_FINAL0_D_MAPPING_MASK 0x000000e0
+#define NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV34TCL_RC_FINAL0_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV34TCL_RC_FINAL0_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV34TCL_RC_FINAL0_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV34TCL_RC_FINAL0_C_INPUT_SHIFT 8
+#define NV34TCL_RC_FINAL0_C_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_FINAL0_C_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_FINAL0_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_FINAL0_C_INPUT_FOG 0x00000300
+#define NV34TCL_RC_FINAL0_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_FINAL0_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_FINAL0_C_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_FINAL0_C_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_FINAL0_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_FINAL0_C_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_FINAL0_C_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_FINAL0_C_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_FINAL0_C_MAPPING_SHIFT 13
+#define NV34TCL_RC_FINAL0_C_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_FINAL0_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_FINAL0_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_FINAL0_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_FINAL0_B_INPUT_SHIFT 16
+#define NV34TCL_RC_FINAL0_B_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_FINAL0_B_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_FINAL0_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_FINAL0_B_INPUT_FOG 0x00030000
+#define NV34TCL_RC_FINAL0_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_FINAL0_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_FINAL0_B_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_FINAL0_B_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_FINAL0_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_FINAL0_B_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_FINAL0_B_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_FINAL0_B_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_FINAL0_B_MAPPING_SHIFT 21
+#define NV34TCL_RC_FINAL0_B_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_FINAL0_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_FINAL0_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_FINAL0_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_FINAL0_A_INPUT_SHIFT 24
+#define NV34TCL_RC_FINAL0_A_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_FINAL0_A_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_FINAL0_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_FINAL0_A_INPUT_FOG 0x03000000
+#define NV34TCL_RC_FINAL0_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_FINAL0_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_FINAL0_A_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_FINAL0_A_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_FINAL0_A_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL0_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_SHIFT 29
+#define NV34TCL_RC_FINAL0_A_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_FINAL0_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_FINAL1 0x000008f8
+#define NV34TCL_RC_FINAL1_COLOR_SUM_CLAMP (1 << 7)
+#define NV34TCL_RC_FINAL1_G_INPUT_SHIFT 8
+#define NV34TCL_RC_FINAL1_G_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_FINAL1_G_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_FINAL1_G_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_FINAL1_G_INPUT_FOG 0x00000300
+#define NV34TCL_RC_FINAL1_G_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_FINAL1_G_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_FINAL1_G_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_FINAL1_G_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_FINAL1_G_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_FINAL1_G_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_FINAL1_G_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_FINAL1_G_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL1_G_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_FINAL1_G_MAPPING_SHIFT 13
+#define NV34TCL_RC_FINAL1_G_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL1_G_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_FINAL1_G_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_FINAL1_G_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_FINAL1_G_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_FINAL1_F_INPUT_SHIFT 16
+#define NV34TCL_RC_FINAL1_F_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_FINAL1_F_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_FINAL1_F_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_FINAL1_F_INPUT_FOG 0x00030000
+#define NV34TCL_RC_FINAL1_F_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_FINAL1_F_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_FINAL1_F_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_FINAL1_F_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_FINAL1_F_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_FINAL1_F_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_FINAL1_F_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_FINAL1_F_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL1_F_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_FINAL1_F_MAPPING_SHIFT 21
+#define NV34TCL_RC_FINAL1_F_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL1_F_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_FINAL1_F_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_FINAL1_F_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_FINAL1_F_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_FINAL1_E_INPUT_SHIFT 24
+#define NV34TCL_RC_FINAL1_E_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_FINAL1_E_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_FINAL1_E_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_FINAL1_E_INPUT_FOG 0x03000000
+#define NV34TCL_RC_FINAL1_E_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_FINAL1_E_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_FINAL1_E_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_FINAL1_E_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_FINAL1_E_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_FINAL1_E_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_SHIFT 29
+#define NV34TCL_RC_FINAL1_E_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_FINAL1_E_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_ENABLE 0x000008fc
+#define NV34TCL_RC_ENABLE_NUM_COMBINERS_SHIFT 0
+#define NV34TCL_RC_ENABLE_NUM_COMBINERS_MASK 0x0000000f
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_SHIFT 12
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR0_MASK 0x0000f000
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_SHIFT 16
+#define NV34TCL_RC_ENABLE_STAGE_CONSTANT_COLOR1_MASK 0x000f0000
+#define NV34TCL_RC_IN_ALPHA(x) (0x00000900+((x)*32))
+#define NV34TCL_RC_IN_ALPHA__SIZE 0x00000008
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SHIFT 0
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_MASK 0x0000000f
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_FOG 0x00000003
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_IN_ALPHA_D_INPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE (1 << 4)
+#define NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_SHIFT 5
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_MASK 0x000000e0
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV34TCL_RC_IN_ALPHA_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SHIFT 8
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_FOG 0x00000300
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_IN_ALPHA_C_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_SHIFT 13
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_IN_ALPHA_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SHIFT 16
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_FOG 0x00030000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_IN_ALPHA_B_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_SHIFT 21
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_IN_ALPHA_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SHIFT 24
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_FOG 0x03000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_IN_ALPHA_A_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_BLUE 0x00000000
+#define NV34TCL_RC_IN_ALPHA_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_SHIFT 29
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_IN_ALPHA_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_IN_RGB(x) (0x00000904+((x)*32))
+#define NV34TCL_RC_IN_RGB__SIZE 0x00000008
+#define NV34TCL_RC_IN_RGB_D_INPUT_SHIFT 0
+#define NV34TCL_RC_IN_RGB_D_INPUT_MASK 0x0000000f
+#define NV34TCL_RC_IN_RGB_D_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_IN_RGB_D_INPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_IN_RGB_D_INPUT_FOG 0x00000003
+#define NV34TCL_RC_IN_RGB_D_INPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_IN_RGB_D_INPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_IN_RGB_D_INPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_IN_RGB_D_INPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_IN_RGB_D_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_IN_RGB_D_INPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_IN_RGB_D_INPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE (1 << 4)
+#define NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_D_COMPONENT_USAGE_ALPHA 0x00000010
+#define NV34TCL_RC_IN_RGB_D_MAPPING_SHIFT 5
+#define NV34TCL_RC_IN_RGB_D_MAPPING_MASK 0x000000e0
+#define NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_D_MAPPING_UNSIGNED_INVERT 0x00000020
+#define NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NORMAL 0x00000040
+#define NV34TCL_RC_IN_RGB_D_MAPPING_EXPAND_NEGATE 0x00000060
+#define NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NORMAL 0x00000080
+#define NV34TCL_RC_IN_RGB_D_MAPPING_HALF_BIAS_NEGATE 0x000000a0
+#define NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_IDENTITY 0x000000c0
+#define NV34TCL_RC_IN_RGB_D_MAPPING_SIGNED_NEGATE 0x000000e0
+#define NV34TCL_RC_IN_RGB_C_INPUT_SHIFT 8
+#define NV34TCL_RC_IN_RGB_C_INPUT_MASK 0x00000f00
+#define NV34TCL_RC_IN_RGB_C_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_IN_RGB_C_INPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_IN_RGB_C_INPUT_FOG 0x00000300
+#define NV34TCL_RC_IN_RGB_C_INPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_IN_RGB_C_INPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_IN_RGB_C_INPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_IN_RGB_C_INPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_IN_RGB_C_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_IN_RGB_C_INPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_IN_RGB_C_INPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE (1 << 12)
+#define NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_C_COMPONENT_USAGE_ALPHA 0x00001000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_SHIFT 13
+#define NV34TCL_RC_IN_RGB_C_MAPPING_MASK 0x0000e000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_UNSIGNED_INVERT 0x00002000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NORMAL 0x00004000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_EXPAND_NEGATE 0x00006000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NORMAL 0x00008000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_HALF_BIAS_NEGATE 0x0000a000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_IDENTITY 0x0000c000
+#define NV34TCL_RC_IN_RGB_C_MAPPING_SIGNED_NEGATE 0x0000e000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SHIFT 16
+#define NV34TCL_RC_IN_RGB_B_INPUT_MASK 0x000f0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR0 0x00010000
+#define NV34TCL_RC_IN_RGB_B_INPUT_CONSTANT_COLOR1 0x00020000
+#define NV34TCL_RC_IN_RGB_B_INPUT_FOG 0x00030000
+#define NV34TCL_RC_IN_RGB_B_INPUT_PRIMARY_COLOR 0x00040000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SECONDARY_COLOR 0x00050000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE0 0x00080000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE1 0x00090000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SPARE0 0x000c0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SPARE1 0x000d0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000e0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_E_TIMES_F 0x000f0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE2 0x000a0000
+#define NV34TCL_RC_IN_RGB_B_INPUT_TEXTURE3 0x000b0000
+#define NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE (1 << 20)
+#define NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_B_COMPONENT_USAGE_ALPHA 0x00100000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_SHIFT 21
+#define NV34TCL_RC_IN_RGB_B_MAPPING_MASK 0x00e00000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_UNSIGNED_INVERT 0x00200000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NORMAL 0x00400000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_EXPAND_NEGATE 0x00600000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NORMAL 0x00800000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_HALF_BIAS_NEGATE 0x00a00000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_IDENTITY 0x00c00000
+#define NV34TCL_RC_IN_RGB_B_MAPPING_SIGNED_NEGATE 0x00e00000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SHIFT 24
+#define NV34TCL_RC_IN_RGB_A_INPUT_MASK 0x0f000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_ZERO 0x00000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR0 0x01000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_CONSTANT_COLOR1 0x02000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_FOG 0x03000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_PRIMARY_COLOR 0x04000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SECONDARY_COLOR 0x05000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE0 0x08000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE1 0x09000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SPARE0 0x0c000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SPARE1 0x0d000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0e000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_E_TIMES_F 0x0f000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE2 0x0a000000
+#define NV34TCL_RC_IN_RGB_A_INPUT_TEXTURE3 0x0b000000
+#define NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE (1 << 28)
+#define NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_RGB 0x00000000
+#define NV34TCL_RC_IN_RGB_A_COMPONENT_USAGE_ALPHA 0x10000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_SHIFT 29
+#define NV34TCL_RC_IN_RGB_A_MAPPING_MASK 0xe0000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_IDENTITY 0x00000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_UNSIGNED_INVERT 0x20000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NORMAL 0x40000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_EXPAND_NEGATE 0x60000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NORMAL 0x80000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_HALF_BIAS_NEGATE 0xa0000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_IDENTITY 0xc0000000
+#define NV34TCL_RC_IN_RGB_A_MAPPING_SIGNED_NEGATE 0xe0000000
+#define NV34TCL_RC_CONSTANT_COLOR0(x) (0x00000908+((x)*32))
+#define NV34TCL_RC_CONSTANT_COLOR0__SIZE 0x00000008
+#define NV34TCL_RC_CONSTANT_COLOR0_B_SHIFT 0
+#define NV34TCL_RC_CONSTANT_COLOR0_B_MASK 0x000000ff
+#define NV34TCL_RC_CONSTANT_COLOR0_G_SHIFT 8
+#define NV34TCL_RC_CONSTANT_COLOR0_G_MASK 0x0000ff00
+#define NV34TCL_RC_CONSTANT_COLOR0_R_SHIFT 16
+#define NV34TCL_RC_CONSTANT_COLOR0_R_MASK 0x00ff0000
+#define NV34TCL_RC_CONSTANT_COLOR0_A_SHIFT 24
+#define NV34TCL_RC_CONSTANT_COLOR0_A_MASK 0xff000000
+#define NV34TCL_RC_CONSTANT_COLOR1(x) (0x0000090c+((x)*32))
+#define NV34TCL_RC_CONSTANT_COLOR1__SIZE 0x00000008
+#define NV34TCL_RC_CONSTANT_COLOR1_B_SHIFT 0
+#define NV34TCL_RC_CONSTANT_COLOR1_B_MASK 0x000000ff
+#define NV34TCL_RC_CONSTANT_COLOR1_G_SHIFT 8
+#define NV34TCL_RC_CONSTANT_COLOR1_G_MASK 0x0000ff00
+#define NV34TCL_RC_CONSTANT_COLOR1_R_SHIFT 16
+#define NV34TCL_RC_CONSTANT_COLOR1_R_MASK 0x00ff0000
+#define NV34TCL_RC_CONSTANT_COLOR1_A_SHIFT 24
+#define NV34TCL_RC_CONSTANT_COLOR1_A_MASK 0xff000000
+#define NV34TCL_RC_OUT_ALPHA(x) (0x00000910+((x)*32))
+#define NV34TCL_RC_OUT_ALPHA__SIZE 0x00000008
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SHIFT 0
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_MASK 0x0000000f
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_FOG 0x00000003
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_OUT_ALPHA_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SHIFT 4
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_MASK 0x000000f0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_FOG 0x00000030
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0 0x000000c0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE1 0x000000d0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV34TCL_RC_OUT_ALPHA_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SHIFT 8
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_MASK 0x00000f00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_FOG 0x00000300
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_OUT_ALPHA_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_OUT_ALPHA_CD_DOT_PRODUCT (1 << 12)
+#define NV34TCL_RC_OUT_ALPHA_AB_DOT_PRODUCT (1 << 13)
+#define NV34TCL_RC_OUT_ALPHA_MUX_SUM (1 << 14)
+#define NV34TCL_RC_OUT_ALPHA_BIAS (1 << 15)
+#define NV34TCL_RC_OUT_ALPHA_BIAS_NONE 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SHIFT 17
+#define NV34TCL_RC_OUT_ALPHA_SCALE_MASK 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_NONE 0x00000000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_TWO 0x00020000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV34TCL_RC_OUT_ALPHA_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV34TCL_RC_OUT_RGB(x) (0x00000914+((x)*32))
+#define NV34TCL_RC_OUT_RGB__SIZE 0x00000008
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SHIFT 0
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_MASK 0x0000000f
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR0 0x00000001
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_CONSTANT_COLOR1 0x00000002
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_FOG 0x00000003
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_PRIMARY_COLOR 0x00000004
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SECONDARY_COLOR 0x00000005
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE0 0x00000008
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE1 0x00000009
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0 0x0000000c
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE1 0x0000000d
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x0000000e
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_E_TIMES_F 0x0000000f
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE2 0x0000000a
+#define NV34TCL_RC_OUT_RGB_CD_OUTPUT_TEXTURE3 0x0000000b
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SHIFT 4
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_MASK 0x000000f0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR0 0x00000010
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_CONSTANT_COLOR1 0x00000020
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_FOG 0x00000030
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_PRIMARY_COLOR 0x00000040
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SECONDARY_COLOR 0x00000050
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE0 0x00000080
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE1 0x00000090
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0 0x000000c0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE1 0x000000d0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x000000e0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_E_TIMES_F 0x000000f0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE2 0x000000a0
+#define NV34TCL_RC_OUT_RGB_AB_OUTPUT_TEXTURE3 0x000000b0
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SHIFT 8
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_MASK 0x00000f00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_ZERO 0x00000000
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR0 0x00000100
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_CONSTANT_COLOR1 0x00000200
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_FOG 0x00000300
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_PRIMARY_COLOR 0x00000400
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SECONDARY_COLOR 0x00000500
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE0 0x00000800
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE1 0x00000900
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0 0x00000c00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE1 0x00000d00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_SPARE0_PLUS_SECONDARY_COLOR 0x00000e00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_E_TIMES_F 0x00000f00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE2 0x00000a00
+#define NV34TCL_RC_OUT_RGB_SUM_OUTPUT_TEXTURE3 0x00000b00
+#define NV34TCL_RC_OUT_RGB_CD_DOT_PRODUCT (1 << 12)
+#define NV34TCL_RC_OUT_RGB_AB_DOT_PRODUCT (1 << 13)
+#define NV34TCL_RC_OUT_RGB_MUX_SUM (1 << 14)
+#define NV34TCL_RC_OUT_RGB_BIAS (1 << 15)
+#define NV34TCL_RC_OUT_RGB_BIAS_NONE 0x00000000
+#define NV34TCL_RC_OUT_RGB_BIAS_BIAS_BY_NEGATIVE_ONE_HALF 0x00008000
+#define NV34TCL_RC_OUT_RGB_SCALE_SHIFT 17
+#define NV34TCL_RC_OUT_RGB_SCALE_MASK 0x00000000
+#define NV34TCL_RC_OUT_RGB_SCALE_NONE 0x00000000
+#define NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_TWO 0x00020000
+#define NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_FOUR 0x00040000
+#define NV34TCL_RC_OUT_RGB_SCALE_SCALE_BY_ONE_HALF 0x00060000
+#define NV34TCL_VIEWPORT_HORIZ 0x00000a00
+#define NV34TCL_VIEWPORT_HORIZ_X_SHIFT 0
+#define NV34TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_HORIZ_W_SHIFT 16
+#define NV34TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000
+#define NV34TCL_VIEWPORT_VERT 0x00000a04
+#define NV34TCL_VIEWPORT_VERT_Y_SHIFT 0
+#define NV34TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff
+#define NV34TCL_VIEWPORT_VERT_H_SHIFT 16
+#define NV34TCL_VIEWPORT_VERT_H_MASK 0xffff0000
+#define NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x00000a10
+#define NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x00000a14
+#define NV34TCL_LIGHT_MODEL_FRONT_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x00000a18
+#define NV34TCL_VIEWPORT_TRANSLATE_X 0x00000a20
+#define NV34TCL_VIEWPORT_TRANSLATE_Y 0x00000a24
+#define NV34TCL_VIEWPORT_TRANSLATE_Z 0x00000a28
+#define NV34TCL_VIEWPORT_TRANSLATE_W 0x00000a2c
+#define NV34TCL_VIEWPORT_SCALE_X 0x00000a30
+#define NV34TCL_VIEWPORT_SCALE_Y 0x00000a34
+#define NV34TCL_VIEWPORT_SCALE_Z 0x00000a38
+#define NV34TCL_VIEWPORT_SCALE_W 0x00000a3c
+#define NV34TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000a60
+#define NV34TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000a64
+#define NV34TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000a68
+#define NV34TCL_DEPTH_FUNC 0x00000a6c
+#define NV34TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV34TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV34TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV34TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV34TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV34TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV34TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV34TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV34TCL_DEPTH_WRITE_ENABLE 0x00000a70
+#define NV34TCL_DEPTH_TEST_ENABLE 0x00000a74
+#define NV34TCL_POLYGON_OFFSET_FACTOR 0x00000a78
+#define NV34TCL_POLYGON_OFFSET_UNITS 0x00000a7c
+#define NV34TCL_VTX_ATTR_3I_XY(x) (0x00000a80+((x)*8))
+#define NV34TCL_VTX_ATTR_3I_XY__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3I_XY_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_3I_XY_X_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_3I_XY_Y_SHIFT 16
+#define NV34TCL_VTX_ATTR_3I_XY_Y_MASK 0xffff0000
+#define NV34TCL_VTX_ATTR_3I_Z(x) (0x00000a84+((x)*8))
+#define NV34TCL_VTX_ATTR_3I_Z__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3I_Z_Z_SHIFT 0
+#define NV34TCL_VTX_ATTR_3I_Z_Z_MASK 0x0000ffff
+#define NV34TCL_VP_UPLOAD_INST(x) (0x00000b80+((x)*4))
+#define NV34TCL_VP_UPLOAD_INST__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_A(x) (0x00000e00+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_B(x) (0x00000e04+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_C(x) (0x00000e08+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX0_CLIP_PLANE_D(x) (0x00000e0c+((x)*16))
+#define NV34TCL_TX0_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_A(x) (0x00000e40+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_B(x) (0x00000e44+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_C(x) (0x00000e48+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX1_CLIP_PLANE_D(x) (0x00000e4c+((x)*16))
+#define NV34TCL_TX1_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_A(x) (0x00000e80+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_B(x) (0x00000e84+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_C(x) (0x00000e88+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX2_CLIP_PLANE_D(x) (0x00000e8c+((x)*16))
+#define NV34TCL_TX2_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_A(x) (0x00000ec0+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_B(x) (0x00000ec4+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_C(x) (0x00000ec8+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX3_CLIP_PLANE_D(x) (0x00000ecc+((x)*16))
+#define NV34TCL_TX3_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_A(x) (0x00000f00+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_B(x) (0x00000f04+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_C(x) (0x00000f08+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX4_CLIP_PLANE_D(x) (0x00000f0c+((x)*16))
+#define NV34TCL_TX4_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_A(x) (0x00000f40+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_B(x) (0x00000f44+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_C(x) (0x00000f48+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX5_CLIP_PLANE_D(x) (0x00000f4c+((x)*16))
+#define NV34TCL_TX5_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_A(x) (0x00000f80+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_B(x) (0x00000f84+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_C(x) (0x00000f88+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX6_CLIP_PLANE_D(x) (0x00000f8c+((x)*16))
+#define NV34TCL_TX6_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_A(x) (0x00000fc0+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_A__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_B(x) (0x00000fc4+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_B__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_C(x) (0x00000fc8+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_C__SIZE 0x00000004
+#define NV34TCL_TX7_CLIP_PLANE_D(x) (0x00000fcc+((x)*16))
+#define NV34TCL_TX7_CLIP_PLANE_D__SIZE 0x00000004
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R(x) (0x00001000+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_R__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G(x) (0x00001004+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_G__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B(x) (0x00001008+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_AMBIENT_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R(x) (0x0000100c+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_R__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G(x) (0x00001010+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_G__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B(x) (0x00001014+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_DIFFUSE_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R(x) (0x00001018+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_R__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G(x) (0x0000101c+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_G__SIZE 0x00000008
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B(x) (0x00001020+((x)*64))
+#define NV34TCL_LIGHT_FRONT_SIDE_PRODUCT_SPECULAR_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_HALF_VECTOR_X(x) (0x00001028+((x)*64))
+#define NV34TCL_LIGHT_HALF_VECTOR_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_HALF_VECTOR_Y(x) (0x0000102c+((x)*64))
+#define NV34TCL_LIGHT_HALF_VECTOR_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_HALF_VECTOR_Z(x) (0x00001030+((x)*64))
+#define NV34TCL_LIGHT_HALF_VECTOR_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_DIRECTION_X(x) (0x00001034+((x)*64))
+#define NV34TCL_LIGHT_DIRECTION_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_DIRECTION_Y(x) (0x00001038+((x)*64))
+#define NV34TCL_LIGHT_DIRECTION_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_DIRECTION_Z(x) (0x0000103c+((x)*64))
+#define NV34TCL_LIGHT_DIRECTION_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_A(x) (0x00001200+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_A__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_B(x) (0x00001204+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_B__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_C(x) (0x00001208+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_C__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_DIR_X(x) (0x0000120c+((x)*64))
+#define NV34TCL_LIGHT_SPOT_DIR_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_DIR_Y(x) (0x00001210+((x)*64))
+#define NV34TCL_LIGHT_SPOT_DIR_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_DIR_Z(x) (0x00001214+((x)*64))
+#define NV34TCL_LIGHT_SPOT_DIR_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_SPOT_CUTOFF_D(x) (0x00001218+((x)*64))
+#define NV34TCL_LIGHT_SPOT_CUTOFF_D__SIZE 0x00000008
+#define NV34TCL_LIGHT_POSITION_X(x) (0x0000121c+((x)*64))
+#define NV34TCL_LIGHT_POSITION_X__SIZE 0x00000008
+#define NV34TCL_LIGHT_POSITION_Y(x) (0x00001220+((x)*64))
+#define NV34TCL_LIGHT_POSITION_Y__SIZE 0x00000008
+#define NV34TCL_LIGHT_POSITION_Z(x) (0x00001224+((x)*64))
+#define NV34TCL_LIGHT_POSITION_Z__SIZE 0x00000008
+#define NV34TCL_LIGHT_ATTENUATION_CONSTANT(x) (0x00001228+((x)*64))
+#define NV34TCL_LIGHT_ATTENUATION_CONSTANT__SIZE 0x00000008
+#define NV34TCL_LIGHT_ATTENUATION_LINEAR(x) (0x0000122c+((x)*64))
+#define NV34TCL_LIGHT_ATTENUATION_LINEAR__SIZE 0x00000008
+#define NV34TCL_LIGHT_ATTENUATION_QUADRATIC(x) (0x00001230+((x)*64))
+#define NV34TCL_LIGHT_ATTENUATION_QUADRATIC__SIZE 0x00000008
+#define NV34TCL_FRONT_MATERIAL_SHININESS(x) (0x00001400+((x)*4))
+#define NV34TCL_FRONT_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV34TCL_ENABLED_LIGHTS 0x00001420
+#define NV34TCL_VERTEX_TWO_SIDE_ENABLE 0x0000142c
+#define NV34TCL_FP_REG_CONTROL 0x00001450
+#define NV34TCL_FP_REG_CONTROL_UNK1_SHIFT 16
+#define NV34TCL_FP_REG_CONTROL_UNK1_MASK 0xffff0000
+#define NV34TCL_FP_REG_CONTROL_UNK0_SHIFT 0
+#define NV34TCL_FP_REG_CONTROL_UNK0_MASK 0x0000ffff
+#define NV34TCL_VP_CLIP_PLANES_ENABLE 0x00001478
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE0 (1 << 1)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE1 (1 << 5)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE2 (1 << 9)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE3 (1 << 13)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE4 (1 << 17)
+#define NV34TCL_VP_CLIP_PLANES_ENABLE_PLANE5 (1 << 21)
+#define NV34TCL_POLYGON_STIPPLE_ENABLE 0x0000147c
+#define NV34TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001480+((x)*4))
+#define NV34TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV34TCL_VTX_ATTR_3F_X(x) (0x00001500+((x)*16))
+#define NV34TCL_VTX_ATTR_3F_X__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3F_Y(x) (0x00001504+((x)*16))
+#define NV34TCL_VTX_ATTR_3F_Y__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_3F_Z(x) (0x00001508+((x)*16))
+#define NV34TCL_VTX_ATTR_3F_Z__SIZE 0x00000010
+#define NV34TCL_VP_CLIP_PLANE_A(x) (0x00001600+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_A__SIZE 0x00000006
+#define NV34TCL_VP_CLIP_PLANE_B(x) (0x00001604+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_B__SIZE 0x00000006
+#define NV34TCL_VP_CLIP_PLANE_C(x) (0x00001608+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_C__SIZE 0x00000006
+#define NV34TCL_VP_CLIP_PLANE_D(x) (0x0000160c+((x)*16))
+#define NV34TCL_VP_CLIP_PLANE_D__SIZE 0x00000006
+#define NV34TCL_VTXBUF_ADDRESS(x) (0x00001680+((x)*4))
+#define NV34TCL_VTXBUF_ADDRESS__SIZE 0x00000010
+#define NV34TCL_VTXBUF_ADDRESS_DMA1 (1 << 31)
+#define NV34TCL_VTXBUF_ADDRESS_OFFSET_SHIFT 0
+#define NV34TCL_VTXBUF_ADDRESS_OFFSET_MASK 0x0fffffff
+#define NV34TCL_VTXFMT(x) (0x00001740+((x)*4))
+#define NV34TCL_VTXFMT__SIZE 0x00000010
+#define NV34TCL_VTXFMT_TYPE_SHIFT 0
+#define NV34TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV34TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV34TCL_VTXFMT_TYPE_UBYTE 0x00000004
+#define NV34TCL_VTXFMT_TYPE_USHORT 0x00000005
+#define NV34TCL_VTXFMT_SIZE_SHIFT 4
+#define NV34TCL_VTXFMT_SIZE_MASK 0x000000f0
+#define NV34TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV34TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_R 0x000017a0
+#define NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_G 0x000017a4
+#define NV34TCL_LIGHT_MODEL_BACK_SIDE_PRODUCT_AMBIENT_PLUS_EMISSION_B 0x000017a8
+#define NV34TCL_COLOR_MATERIAL_BACK_R 0x000017b0
+#define NV34TCL_COLOR_MATERIAL_BACK_G 0x000017b4
+#define NV34TCL_COLOR_MATERIAL_BACK_B 0x000017b8
+#define NV34TCL_COLOR_MATERIAL_BACK_A 0x000017c0
+#define NV34TCL_QUERY_RESET 0x000017c8
+#define NV34TCL_QUERY_UNK17CC 0x000017cc
+#define NV34TCL_QUERY_GET 0x00001800
+#define NV34TCL_QUERY_GET_UNK24_SHIFT 24
+#define NV34TCL_QUERY_GET_UNK24_MASK 0xff000000
+#define NV34TCL_QUERY_GET_OFFSET_SHIFT 0
+#define NV34TCL_QUERY_GET_OFFSET_MASK 0x00ffffff
+#define NV34TCL_VERTEX_BEGIN_END 0x00001808
+#define NV34TCL_VERTEX_BEGIN_END_STOP 0x00000000
+#define NV34TCL_VERTEX_BEGIN_END_POINTS 0x00000001
+#define NV34TCL_VERTEX_BEGIN_END_LINES 0x00000002
+#define NV34TCL_VERTEX_BEGIN_END_LINE_LOOP 0x00000003
+#define NV34TCL_VERTEX_BEGIN_END_LINE_STRIP 0x00000004
+#define NV34TCL_VERTEX_BEGIN_END_TRIANGLES 0x00000005
+#define NV34TCL_VERTEX_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV34TCL_VERTEX_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV34TCL_VERTEX_BEGIN_END_QUADS 0x00000008
+#define NV34TCL_VERTEX_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV34TCL_VERTEX_BEGIN_END_POLYGON 0x0000000a
+#define NV34TCL_VB_ELEMENT_U16 0x0000180c
+#define NV34TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV34TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV34TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV34TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV34TCL_VB_ELEMENT_U32 0x00001810
+#define NV34TCL_VB_VERTEX_BATCH 0x00001814
+#define NV34TCL_VB_VERTEX_BATCH_OFFSET_SHIFT 0
+#define NV34TCL_VB_VERTEX_BATCH_OFFSET_MASK 0x00ffffff
+#define NV34TCL_VB_VERTEX_BATCH_COUNT_SHIFT 24
+#define NV34TCL_VB_VERTEX_BATCH_COUNT_MASK 0xff000000
+#define NV34TCL_VERTEX_DATA 0x00001818
+#define NV34TCL_IDXBUF_ADDRESS 0x0000181c
+#define NV34TCL_IDXBUF_FORMAT 0x00001820
+#define NV34TCL_IDXBUF_FORMAT_TYPE_SHIFT 4
+#define NV34TCL_IDXBUF_FORMAT_TYPE_MASK 0x000000f0
+#define NV34TCL_IDXBUF_FORMAT_TYPE_U32 0x00000000
+#define NV34TCL_IDXBUF_FORMAT_TYPE_U16 0x00000010
+#define NV34TCL_IDXBUF_FORMAT_DMA1 (1 << 0)
+#define NV34TCL_VB_INDEX_BATCH 0x00001824
+#define NV34TCL_VB_INDEX_BATCH_COUNT_SHIFT 24
+#define NV34TCL_VB_INDEX_BATCH_COUNT_MASK 0xff000000
+#define NV34TCL_VB_INDEX_BATCH_START_SHIFT 0
+#define NV34TCL_VB_INDEX_BATCH_START_MASK 0x00ffffff
+#define NV34TCL_POLYGON_MODE_FRONT 0x00001828
+#define NV34TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV34TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV34TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV34TCL_POLYGON_MODE_BACK 0x0000182c
+#define NV34TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV34TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV34TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV34TCL_CULL_FACE 0x00001830
+#define NV34TCL_CULL_FACE_FRONT 0x00000404
+#define NV34TCL_CULL_FACE_BACK 0x00000405
+#define NV34TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV34TCL_FRONT_FACE 0x00001834
+#define NV34TCL_FRONT_FACE_CW 0x00000900
+#define NV34TCL_FRONT_FACE_CCW 0x00000901
+#define NV34TCL_POLYGON_SMOOTH_ENABLE 0x00001838
+#define NV34TCL_CULL_FACE_ENABLE 0x0000183c
+#define NV34TCL_TX_PALETTE_OFFSET(x) (0x00001840+((x)*4))
+#define NV34TCL_TX_PALETTE_OFFSET__SIZE 0x00000008
+#define NV34TCL_VTX_ATTR_2F_X(x) (0x00001880+((x)*8))
+#define NV34TCL_VTX_ATTR_2F_X__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_2F_Y(x) (0x00001884+((x)*8))
+#define NV34TCL_VTX_ATTR_2F_Y__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_2I(x) (0x00001900+((x)*4))
+#define NV34TCL_VTX_ATTR_2I__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_2I_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_2I_X_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_2I_Y_SHIFT 16
+#define NV34TCL_VTX_ATTR_2I_Y_MASK 0xffff0000
+#define NV34TCL_VTX_ATTR_4UB(x) (0x00001940+((x)*4))
+#define NV34TCL_VTX_ATTR_4UB__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4UB_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_4UB_X_MASK 0x000000ff
+#define NV34TCL_VTX_ATTR_4UB_Y_SHIFT 8
+#define NV34TCL_VTX_ATTR_4UB_Y_MASK 0x0000ff00
+#define NV34TCL_VTX_ATTR_4UB_Z_SHIFT 16
+#define NV34TCL_VTX_ATTR_4UB_Z_MASK 0x00ff0000
+#define NV34TCL_VTX_ATTR_4UB_W_SHIFT 24
+#define NV34TCL_VTX_ATTR_4UB_W_MASK 0xff000000
+#define NV34TCL_VTX_ATTR_4I_XY(x) (0x00001980+((x)*8))
+#define NV34TCL_VTX_ATTR_4I_XY__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4I_XY_X_SHIFT 0
+#define NV34TCL_VTX_ATTR_4I_XY_X_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_4I_XY_Y_SHIFT 16
+#define NV34TCL_VTX_ATTR_4I_XY_Y_MASK 0xffff0000
+#define NV34TCL_VTX_ATTR_4I_ZW(x) (0x00001984+((x)*8))
+#define NV34TCL_VTX_ATTR_4I_ZW__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4I_ZW_Z_SHIFT 0
+#define NV34TCL_VTX_ATTR_4I_ZW_Z_MASK 0x0000ffff
+#define NV34TCL_VTX_ATTR_4I_ZW_W_SHIFT 16
+#define NV34TCL_VTX_ATTR_4I_ZW_W_MASK 0xffff0000
+#define NV34TCL_TX_OFFSET(x) (0x00001a00+((x)*32))
+#define NV34TCL_TX_OFFSET__SIZE 0x00000008
+#define NV34TCL_TX_FORMAT(x) (0x00001a04+((x)*32))
+#define NV34TCL_TX_FORMAT__SIZE 0x00000008
+#define NV34TCL_TX_FORMAT_DMA0 (1 << 0)
+#define NV34TCL_TX_FORMAT_DMA1 (1 << 1)
+#define NV34TCL_TX_FORMAT_CUBIC (1 << 2)
+#define NV34TCL_TX_FORMAT_NO_BORDER (1 << 3)
+#define NV34TCL_TX_FORMAT_DIMS_SHIFT 4
+#define NV34TCL_TX_FORMAT_DIMS_MASK 0x000000f0
+#define NV34TCL_TX_FORMAT_DIMS_1D 0x00000010
+#define NV34TCL_TX_FORMAT_DIMS_2D 0x00000020
+#define NV34TCL_TX_FORMAT_DIMS_3D 0x00000030
+#define NV34TCL_TX_FORMAT_FORMAT_SHIFT 8
+#define NV34TCL_TX_FORMAT_FORMAT_MASK 0x0000ff00
+#define NV34TCL_TX_FORMAT_FORMAT_L8 0x00000000
+#define NV34TCL_TX_FORMAT_FORMAT_A8 0x00000100
+#define NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5 0x00000200
+#define NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4 0x00000400
+#define NV34TCL_TX_FORMAT_FORMAT_R5G6B5 0x00000500
+#define NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8 0x00000600
+#define NV34TCL_TX_FORMAT_FORMAT_X8R8G8B8 0x00000700
+#define NV34TCL_TX_FORMAT_FORMAT_INDEX8 0x00000b00
+#define NV34TCL_TX_FORMAT_FORMAT_DXT1 0x00000c00
+#define NV34TCL_TX_FORMAT_FORMAT_DXT3 0x00000e00
+#define NV34TCL_TX_FORMAT_FORMAT_DXT5 0x00000f00
+#define NV34TCL_TX_FORMAT_FORMAT_A1R5G5B5_RECT 0x00001000
+#define NV34TCL_TX_FORMAT_FORMAT_R5G6B5_RECT 0x00001100
+#define NV34TCL_TX_FORMAT_FORMAT_A8R8G8B8_RECT 0x00001200
+#define NV34TCL_TX_FORMAT_FORMAT_L8_RECT 0x00001300
+#define NV34TCL_TX_FORMAT_FORMAT_DSDT8_RECT 0x00001700
+#define NV34TCL_TX_FORMAT_FORMAT_A8L8 0x00001a00
+#define NV34TCL_TX_FORMAT_FORMAT_A8_RECT 0x00001b00
+#define NV34TCL_TX_FORMAT_FORMAT_A4R4G4B4_RECT 0x00001d00
+#define NV34TCL_TX_FORMAT_FORMAT_R8G8B8_RECT 0x00001e00
+#define NV34TCL_TX_FORMAT_FORMAT_A8L8_RECT 0x00002000
+#define NV34TCL_TX_FORMAT_FORMAT_DSDT8 0x00002800
+#define NV34TCL_TX_FORMAT_FORMAT_HILO16 0x00003300
+#define NV34TCL_TX_FORMAT_FORMAT_HILO16_RECT 0x00003600
+#define NV34TCL_TX_FORMAT_FORMAT_HILO8 0x00004400
+#define NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8 0x00004500
+#define NV34TCL_TX_FORMAT_FORMAT_HILO8_RECT 0x00004600
+#define NV34TCL_TX_FORMAT_FORMAT_SIGNED_HILO8_RECT 0x00004700
+#define NV34TCL_TX_FORMAT_FORMAT_A16 0x00003200
+#define NV34TCL_TX_FORMAT_FORMAT_A16_RECT 0x00003500
+#define NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA16_NV 0x00004a00
+#define NV34TCL_TX_FORMAT_FORMAT_FLOAT_RGBA32_NV 0x00004b00
+#define NV34TCL_TX_FORMAT_FORMAT_FLOAT_R32_NV 0x00004c00
+#define NV34TCL_TX_FORMAT_MIPMAP (1 << 19)
+#define NV34TCL_TX_FORMAT_BASE_SIZE_U_SHIFT 20
+#define NV34TCL_TX_FORMAT_BASE_SIZE_U_MASK 0x00f00000
+#define NV34TCL_TX_FORMAT_BASE_SIZE_V_SHIFT 24
+#define NV34TCL_TX_FORMAT_BASE_SIZE_V_MASK 0x0f000000
+#define NV34TCL_TX_FORMAT_BASE_SIZE_W_SHIFT 28
+#define NV34TCL_TX_FORMAT_BASE_SIZE_W_MASK 0xf0000000
+#define NV34TCL_TX_WRAP(x) (0x00001a08+((x)*32))
+#define NV34TCL_TX_WRAP__SIZE 0x00000008
+#define NV34TCL_TX_WRAP_S_SHIFT 0
+#define NV34TCL_TX_WRAP_S_MASK 0x000000ff
+#define NV34TCL_TX_WRAP_S_REPEAT 0x00000001
+#define NV34TCL_TX_WRAP_S_MIRRORED_REPEAT 0x00000002
+#define NV34TCL_TX_WRAP_S_CLAMP_TO_EDGE 0x00000003
+#define NV34TCL_TX_WRAP_S_CLAMP_TO_BORDER 0x00000004
+#define NV34TCL_TX_WRAP_S_CLAMP 0x00000005
+#define NV34TCL_TX_WRAP_T_SHIFT 8
+#define NV34TCL_TX_WRAP_T_MASK 0x00000f00
+#define NV34TCL_TX_WRAP_T_REPEAT 0x00000100
+#define NV34TCL_TX_WRAP_T_MIRRORED_REPEAT 0x00000200
+#define NV34TCL_TX_WRAP_T_CLAMP_TO_EDGE 0x00000300
+#define NV34TCL_TX_WRAP_T_CLAMP_TO_BORDER 0x00000400
+#define NV34TCL_TX_WRAP_T_CLAMP 0x00000500
+#define NV34TCL_TX_WRAP_EXPAND_NORMAL_SHIFT 12
+#define NV34TCL_TX_WRAP_EXPAND_NORMAL_MASK 0x0000f000
+#define NV34TCL_TX_WRAP_R_SHIFT 16
+#define NV34TCL_TX_WRAP_R_MASK 0x000f0000
+#define NV34TCL_TX_WRAP_R_REPEAT 0x00010000
+#define NV34TCL_TX_WRAP_R_MIRRORED_REPEAT 0x00020000
+#define NV34TCL_TX_WRAP_R_CLAMP_TO_EDGE 0x00030000
+#define NV34TCL_TX_WRAP_R_CLAMP_TO_BORDER 0x00040000
+#define NV34TCL_TX_WRAP_R_CLAMP 0x00050000
+#define NV34TCL_TX_WRAP_RCOMP_SHIFT 28
+#define NV34TCL_TX_WRAP_RCOMP_MASK 0xf0000000
+#define NV34TCL_TX_WRAP_RCOMP_NEVER 0x00000000
+#define NV34TCL_TX_WRAP_RCOMP_GREATER 0x10000000
+#define NV34TCL_TX_WRAP_RCOMP_EQUAL 0x20000000
+#define NV34TCL_TX_WRAP_RCOMP_GEQUAL 0x30000000
+#define NV34TCL_TX_WRAP_RCOMP_LESS 0x40000000
+#define NV34TCL_TX_WRAP_RCOMP_NOTEQUAL 0x50000000
+#define NV34TCL_TX_WRAP_RCOMP_LEQUAL 0x60000000
+#define NV34TCL_TX_WRAP_RCOMP_ALWAYS 0x70000000
+#define NV34TCL_TX_ENABLE(x) (0x00001a0c+((x)*32))
+#define NV34TCL_TX_ENABLE__SIZE 0x00000008
+#define NV34TCL_TX_ENABLE_ANISO_SHIFT 4
+#define NV34TCL_TX_ENABLE_ANISO_MASK 0x00000030
+#define NV34TCL_TX_ENABLE_ANISO_NONE 0x00000000
+#define NV34TCL_TX_ENABLE_ANISO_2X 0x00000010
+#define NV34TCL_TX_ENABLE_ANISO_4X 0x00000020
+#define NV34TCL_TX_ENABLE_ANISO_8X 0x00000030
+#define NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_SHIFT 14
+#define NV34TCL_TX_ENABLE_MIPMAP_MAX_LOD_MASK 0x0003c000
+#define NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_SHIFT 26
+#define NV34TCL_TX_ENABLE_MIPMAP_MIN_LOD_MASK 0x3c000000
+#define NV34TCL_TX_ENABLE_ENABLE (1 << 30)
+#define NV34TCL_TX_SWIZZLE(x) (0x00001a10+((x)*32))
+#define NV34TCL_TX_SWIZZLE__SIZE 0x00000008
+#define NV34TCL_TX_SWIZZLE_S0_X_SHIFT 14
+#define NV34TCL_TX_SWIZZLE_S0_X_MASK 0x0000c000
+#define NV34TCL_TX_SWIZZLE_S0_X_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_X_ONE 0x00004000
+#define NV34TCL_TX_SWIZZLE_S0_X_S1 0x00008000
+#define NV34TCL_TX_SWIZZLE_S0_Y_SHIFT 12
+#define NV34TCL_TX_SWIZZLE_S0_Y_MASK 0x00003000
+#define NV34TCL_TX_SWIZZLE_S0_Y_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_Y_ONE 0x00001000
+#define NV34TCL_TX_SWIZZLE_S0_Y_S1 0x00002000
+#define NV34TCL_TX_SWIZZLE_S0_Z_SHIFT 10
+#define NV34TCL_TX_SWIZZLE_S0_Z_MASK 0x00000c00
+#define NV34TCL_TX_SWIZZLE_S0_Z_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_Z_ONE 0x00000400
+#define NV34TCL_TX_SWIZZLE_S0_Z_S1 0x00000800
+#define NV34TCL_TX_SWIZZLE_S0_W_SHIFT 8
+#define NV34TCL_TX_SWIZZLE_S0_W_MASK 0x00000300
+#define NV34TCL_TX_SWIZZLE_S0_W_ZERO 0x00000000
+#define NV34TCL_TX_SWIZZLE_S0_W_ONE 0x00000100
+#define NV34TCL_TX_SWIZZLE_S0_W_S1 0x00000200
+#define NV34TCL_TX_SWIZZLE_S1_X_SHIFT 6
+#define NV34TCL_TX_SWIZZLE_S1_X_MASK 0x000000c0
+#define NV34TCL_TX_SWIZZLE_S1_X_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_X_Z 0x00000040
+#define NV34TCL_TX_SWIZZLE_S1_X_Y 0x00000080
+#define NV34TCL_TX_SWIZZLE_S1_X_X 0x000000c0
+#define NV34TCL_TX_SWIZZLE_S1_Y_SHIFT 4
+#define NV34TCL_TX_SWIZZLE_S1_Y_MASK 0x00000030
+#define NV34TCL_TX_SWIZZLE_S1_Y_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_Y_Z 0x00000010
+#define NV34TCL_TX_SWIZZLE_S1_Y_Y 0x00000020
+#define NV34TCL_TX_SWIZZLE_S1_Y_X 0x00000030
+#define NV34TCL_TX_SWIZZLE_S1_Z_SHIFT 2
+#define NV34TCL_TX_SWIZZLE_S1_Z_MASK 0x0000000c
+#define NV34TCL_TX_SWIZZLE_S1_Z_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_Z_Z 0x00000004
+#define NV34TCL_TX_SWIZZLE_S1_Z_Y 0x00000008
+#define NV34TCL_TX_SWIZZLE_S1_Z_X 0x0000000c
+#define NV34TCL_TX_SWIZZLE_S1_W_SHIFT 0
+#define NV34TCL_TX_SWIZZLE_S1_W_MASK 0x00000003
+#define NV34TCL_TX_SWIZZLE_S1_W_W 0x00000000
+#define NV34TCL_TX_SWIZZLE_S1_W_Z 0x00000001
+#define NV34TCL_TX_SWIZZLE_S1_W_Y 0x00000002
+#define NV34TCL_TX_SWIZZLE_S1_W_X 0x00000003
+#define NV34TCL_TX_SWIZZLE_RECT_PITCH_SHIFT 16
+#define NV34TCL_TX_SWIZZLE_RECT_PITCH_MASK 0xffff0000
+#define NV34TCL_TX_FILTER(x) (0x00001a14+((x)*32))
+#define NV34TCL_TX_FILTER__SIZE 0x00000008
+#define NV34TCL_TX_FILTER_LOD_BIAS_SHIFT 8
+#define NV34TCL_TX_FILTER_LOD_BIAS_MASK 0x00000f00
+#define NV34TCL_TX_FILTER_MINIFY_SHIFT 16
+#define NV34TCL_TX_FILTER_MINIFY_MASK 0x000f0000
+#define NV34TCL_TX_FILTER_MINIFY_NEAREST 0x00010000
+#define NV34TCL_TX_FILTER_MINIFY_LINEAR 0x00020000
+#define NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_NEAREST 0x00030000
+#define NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_NEAREST 0x00040000
+#define NV34TCL_TX_FILTER_MINIFY_NEAREST_MIPMAP_LINEAR 0x00050000
+#define NV34TCL_TX_FILTER_MINIFY_LINEAR_MIPMAP_LINEAR 0x00060000
+#define NV34TCL_TX_FILTER_MAGNIFY_SHIFT 24
+#define NV34TCL_TX_FILTER_MAGNIFY_MASK 0x0f000000
+#define NV34TCL_TX_FILTER_MAGNIFY_NEAREST 0x01000000
+#define NV34TCL_TX_FILTER_MAGNIFY_LINEAR 0x02000000
+#define NV34TCL_TX_FILTER_SIGNED_BLUE (1 << 28)
+#define NV34TCL_TX_FILTER_SIGNED_GREEN (1 << 29)
+#define NV34TCL_TX_FILTER_SIGNED_RED (1 << 30)
+#define NV34TCL_TX_FILTER_SIGNED_ALPHA (1 << 31)
+#define NV34TCL_TX_NPOT_SIZE(x) (0x00001a18+((x)*32))
+#define NV34TCL_TX_NPOT_SIZE__SIZE 0x00000008
+#define NV34TCL_TX_NPOT_SIZE_H_SHIFT 0
+#define NV34TCL_TX_NPOT_SIZE_H_MASK 0x0000ffff
+#define NV34TCL_TX_NPOT_SIZE_W_SHIFT 16
+#define NV34TCL_TX_NPOT_SIZE_W_MASK 0xffff0000
+#define NV34TCL_TX_BORDER_COLOR(x) (0x00001a1c+((x)*32))
+#define NV34TCL_TX_BORDER_COLOR__SIZE 0x00000008
+#define NV34TCL_TX_BORDER_COLOR_B_SHIFT 0
+#define NV34TCL_TX_BORDER_COLOR_B_MASK 0x000000ff
+#define NV34TCL_TX_BORDER_COLOR_G_SHIFT 8
+#define NV34TCL_TX_BORDER_COLOR_G_MASK 0x0000ff00
+#define NV34TCL_TX_BORDER_COLOR_R_SHIFT 16
+#define NV34TCL_TX_BORDER_COLOR_R_MASK 0x00ff0000
+#define NV34TCL_TX_BORDER_COLOR_A_SHIFT 24
+#define NV34TCL_TX_BORDER_COLOR_A_MASK 0xff000000
+#define NV34TCL_VTX_ATTR_4F_X(x) (0x00001c00+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4F_Y(x) (0x00001c04+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4F_Z(x) (0x00001c08+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV34TCL_VTX_ATTR_4F_W(x) (0x00001c0c+((x)*16))
+#define NV34TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV34TCL_FP_CONTROL 0x00001d60
+#define NV34TCL_FP_CONTROL_USES_KIL (1 << 7)
+#define NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_SHIFT 0
+#define NV34TCL_FP_CONTROL_USED_REGS_MINUS1_DIV2_MASK 0x0000000f
+#define NV34TCL_DEPTH_UNK17D8 0x00001d78
+#define NV34TCL_DEPTH_UNK17D8_CLAMP_SHIFT 4
+#define NV34TCL_DEPTH_UNK17D8_CLAMP_MASK 0x000000f0
+#define NV34TCL_MULTISAMPLE_CONTROL 0x00001d7c
+#define NV34TCL_MULTISAMPLE_CONTROL_ENABLE (1 << 0)
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_COVERAGE (1 << 4)
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_ALPHA_TO_ONE (1 << 8)
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_SHIFT 16
+#define NV34TCL_MULTISAMPLE_CONTROL_SAMPLE_COVERAGE_MASK 0xffff0000
+#define NV34TCL_CLEAR_DEPTH_VALUE 0x00001d8c
+#define NV34TCL_CLEAR_COLOR_VALUE 0x00001d90
+#define NV34TCL_CLEAR_COLOR_VALUE_B_SHIFT 0
+#define NV34TCL_CLEAR_COLOR_VALUE_B_MASK 0x000000ff
+#define NV34TCL_CLEAR_COLOR_VALUE_G_SHIFT 8
+#define NV34TCL_CLEAR_COLOR_VALUE_G_MASK 0x0000ff00
+#define NV34TCL_CLEAR_COLOR_VALUE_R_SHIFT 16
+#define NV34TCL_CLEAR_COLOR_VALUE_R_MASK 0x00ff0000
+#define NV34TCL_CLEAR_COLOR_VALUE_A_SHIFT 24
+#define NV34TCL_CLEAR_COLOR_VALUE_A_MASK 0xff000000
+#define NV34TCL_CLEAR_BUFFERS 0x00001d94
+#define NV34TCL_CLEAR_BUFFERS_COLOR_A (1 << 7)
+#define NV34TCL_CLEAR_BUFFERS_COLOR_B (1 << 6)
+#define NV34TCL_CLEAR_BUFFERS_COLOR_G (1 << 5)
+#define NV34TCL_CLEAR_BUFFERS_COLOR_R (1 << 4)
+#define NV34TCL_CLEAR_BUFFERS_STENCIL (1 << 1)
+#define NV34TCL_CLEAR_BUFFERS_DEPTH (1 << 0)
+#define NV34TCL_DO_VERTICES 0x00001dac
+#define NV34TCL_LINE_STIPPLE_ENABLE 0x00001db4
+#define NV34TCL_LINE_STIPPLE_PATTERN 0x00001db8
+#define NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT 0
+#define NV34TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK 0x0000ffff
+#define NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT 16
+#define NV34TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK 0xffff0000
+#define NV34TCL_BACK_MATERIAL_SHININESS(x) (0x00001e20+((x)*4))
+#define NV34TCL_BACK_MATERIAL_SHININESS__SIZE 0x00000006
+#define NV34TCL_VTX_ATTR_1F(x) (0x00001e40+((x)*4))
+#define NV34TCL_VTX_ATTR_1F__SIZE 0x00000010
+#define NV34TCL_ENGINE 0x00001e94
+#define NV34TCL_ENGINE_FP (1 << 0)
+#define NV34TCL_ENGINE_VP (1 << 1)
+#define NV34TCL_ENGINE_FIXED (1 << 2)
+#define NV34TCL_VP_UPLOAD_FROM_ID 0x00001e9c
+#define NV34TCL_VP_START_FROM_ID 0x00001ea0
+#define NV34TCL_POINT_PARAMETERS(x) (0x00001ec0+((x)*4))
+#define NV34TCL_POINT_PARAMETERS__SIZE 0x00000008
+#define NV34TCL_POINT_SIZE 0x00001ee0
+#define NV34TCL_POINT_PARAMETERS_ENABLE 0x00001ee4
+#define NV34TCL_POINT_SPRITE 0x00001ee8
+#define NV34TCL_POINT_SPRITE_ENABLE (1 << 0)
+#define NV34TCL_POINT_SPRITE_R_MODE_SHIFT 1
+#define NV34TCL_POINT_SPRITE_R_MODE_MASK 0x00000006
+#define NV34TCL_POINT_SPRITE_R_MODE_ZERO 0x00000000
+#define NV34TCL_POINT_SPRITE_R_MODE_R 0x00000002
+#define NV34TCL_POINT_SPRITE_R_MODE_S 0x00000004
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_0 (1 << 8)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_1 (1 << 9)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_2 (1 << 10)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_3 (1 << 11)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_4 (1 << 12)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_5 (1 << 13)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_6 (1 << 14)
+#define NV34TCL_POINT_SPRITE_COORD_REPLACE_7 (1 << 15)
+#define NV34TCL_VP_UPLOAD_CONST_ID 0x00001efc
+#define NV34TCL_VP_UPLOAD_CONST_X(x) (0x00001f00+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_X__SIZE 0x00000004
+#define NV34TCL_VP_UPLOAD_CONST_Y(x) (0x00001f04+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_Y__SIZE 0x00000004
+#define NV34TCL_VP_UPLOAD_CONST_Z(x) (0x00001f08+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_Z__SIZE 0x00000004
+#define NV34TCL_VP_UPLOAD_CONST_W(x) (0x00001f0c+((x)*16))
+#define NV34TCL_VP_UPLOAD_CONST_W__SIZE 0x00000004
+#define NV34TCL_UNK1f80(x) (0x00001f80+((x)*4))
+#define NV34TCL_UNK1f80__SIZE 0x00000010
+
+
+#define NV40TCL 0x00004097
+
+#define NV40TCL_REF_CNT 0x00000050
+#define NV40TCL_NOP 0x00000100
+#define NV40TCL_NOTIFY 0x00000104
+#define NV40TCL_DMA_NOTIFY 0x00000180
+#define NV40TCL_DMA_TEXTURE0 0x00000184
+#define NV40TCL_DMA_TEXTURE1 0x00000188
+#define NV40TCL_DMA_COLOR1 0x0000018c
+#define NV40TCL_DMA_COLOR0 0x00000194
+#define NV40TCL_DMA_ZETA 0x00000198
+#define NV40TCL_DMA_VTXBUF0 0x0000019c
+#define NV40TCL_DMA_VTXBUF1 0x000001a0
+#define NV40TCL_DMA_FENCE 0x000001a4
+#define NV40TCL_DMA_QUERY 0x000001a8
+#define NV40TCL_DMA_UNK01AC 0x000001ac
+#define NV40TCL_DMA_UNK01B0 0x000001b0
+#define NV40TCL_DMA_COLOR2 0x000001b4
+#define NV40TCL_DMA_COLOR3 0x000001b8
+#define NV40TCL_RT_HORIZ 0x00000200
+#define NV40TCL_RT_HORIZ_W_SHIFT 16
+#define NV40TCL_RT_HORIZ_W_MASK 0xffff0000
+#define NV40TCL_RT_HORIZ_X_SHIFT 0
+#define NV40TCL_RT_HORIZ_X_MASK 0x0000ffff
+#define NV40TCL_RT_VERT 0x00000204
+#define NV40TCL_RT_VERT_H_SHIFT 16
+#define NV40TCL_RT_VERT_H_MASK 0xffff0000
+#define NV40TCL_RT_VERT_Y_SHIFT 0
+#define NV40TCL_RT_VERT_Y_MASK 0x0000ffff
+#define NV40TCL_RT_FORMAT 0x00000208
+#define NV40TCL_RT_FORMAT_LOG2_HEIGHT_SHIFT 24
+#define NV40TCL_RT_FORMAT_LOG2_HEIGHT_MASK 0xff000000
+#define NV40TCL_RT_FORMAT_LOG2_WIDTH_SHIFT 16
+#define NV40TCL_RT_FORMAT_LOG2_WIDTH_MASK 0x00ff0000
+#define NV40TCL_RT_FORMAT_TYPE_SHIFT 8
+#define NV40TCL_RT_FORMAT_TYPE_MASK 0x00000f00
+#define NV40TCL_RT_FORMAT_TYPE_LINEAR 0x00000100
+#define NV40TCL_RT_FORMAT_TYPE_SWIZZLED 0x00000200
+#define NV40TCL_RT_FORMAT_ZETA_SHIFT 5
+#define NV40TCL_RT_FORMAT_ZETA_MASK 0x000000e0
+#define NV40TCL_RT_FORMAT_ZETA_Z16 0x00000020
+#define NV40TCL_RT_FORMAT_ZETA_Z24S8 0x00000040
+#define NV40TCL_RT_FORMAT_COLOR_SHIFT 0
+#define NV40TCL_RT_FORMAT_COLOR_MASK 0x0000001f
+#define NV40TCL_RT_FORMAT_COLOR_R5G6B5 0x00000003
+#define NV40TCL_RT_FORMAT_COLOR_X8R8G8B8 0x00000005
+#define NV40TCL_RT_FORMAT_COLOR_A8R8G8B8 0x00000008
+#define NV40TCL_RT_FORMAT_COLOR_B8 0x00000009
+#define NV40TCL_RT_FORMAT_COLOR_UNKNOWN 0x0000000d
+#define NV40TCL_RT_FORMAT_COLOR_X8B8G8R8 0x0000000f
+#define NV40TCL_RT_FORMAT_COLOR_A8B8G8R8 0x00000010
+#define NV40TCL_COLOR0_PITCH 0x0000020c
+#define NV40TCL_COLOR0_OFFSET 0x00000210
+#define NV40TCL_ZETA_OFFSET 0x00000214
+#define NV40TCL_COLOR1_OFFSET 0x00000218
+#define NV40TCL_COLOR1_PITCH 0x0000021c
+#define NV40TCL_RT_ENABLE 0x00000220
+#define NV40TCL_RT_ENABLE_MRT (1 << 4)
+#define NV40TCL_RT_ENABLE_COLOR3 (1 << 3)
+#define NV40TCL_RT_ENABLE_COLOR2 (1 << 2)
+#define NV40TCL_RT_ENABLE_COLOR1 (1 << 1)
+#define NV40TCL_RT_ENABLE_COLOR0 (1 << 0)
+#define NV40TCL_ZETA_PITCH 0x0000022c
+#define NV40TCL_COLOR2_PITCH 0x00000280
+#define NV40TCL_COLOR3_PITCH 0x00000284
+#define NV40TCL_COLOR2_OFFSET 0x00000288
+#define NV40TCL_COLOR3_OFFSET 0x0000028c
+#define NV40TCL_VIEWPORT_CLIP_HORIZ(x) (0x000002c0+((x)*8))
+#define NV40TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV40TCL_VIEWPORT_CLIP_VERT(x) (0x000002c4+((x)*8))
+#define NV40TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV40TCL_DITHER_ENABLE 0x00000300
+#define NV40TCL_ALPHA_TEST_ENABLE 0x00000304
+#define NV40TCL_ALPHA_TEST_FUNC 0x00000308
+#define NV40TCL_ALPHA_TEST_FUNC_NEVER 0x00000200
+#define NV40TCL_ALPHA_TEST_FUNC_LESS 0x00000201
+#define NV40TCL_ALPHA_TEST_FUNC_EQUAL 0x00000202
+#define NV40TCL_ALPHA_TEST_FUNC_LEQUAL 0x00000203
+#define NV40TCL_ALPHA_TEST_FUNC_GREATER 0x00000204
+#define NV40TCL_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_ALPHA_TEST_FUNC_GEQUAL 0x00000206
+#define NV40TCL_ALPHA_TEST_FUNC_ALWAYS 0x00000207
+#define NV40TCL_ALPHA_TEST_REF 0x0000030c
+#define NV40TCL_BLEND_ENABLE 0x00000310
+#define NV40TCL_BLEND_FUNC_SRC 0x00000314
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SHIFT 0
+#define NV40TCL_BLEND_FUNC_SRC_RGB_MASK 0x0000ffff
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV40TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV40TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV40TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV40TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003
+#define NV40TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SHIFT 16
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_MASK 0xffff0000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00010000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x03000000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x03020000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x03040000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x03060000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV40TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV40TCL_BLEND_FUNC_DST 0x00000318
+#define NV40TCL_BLEND_FUNC_DST_RGB_SHIFT 0
+#define NV40TCL_BLEND_FUNC_DST_RGB_MASK 0x0000ffff
+#define NV40TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001
+#define NV40TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV40TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV40TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV40TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV40TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003
+#define NV40TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SHIFT 16
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_MASK 0xffff0000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00000000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00010000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x03000000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x03010000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x03020000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x03030000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x03040000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x03050000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x03060000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x03070000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x03080000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x80010000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x80020000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x80030000
+#define NV40TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x80040000
+#define NV40TCL_BLEND_COLOR 0x0000031c
+#define NV40TCL_BLEND_COLOR_B_SHIFT 0
+#define NV40TCL_BLEND_COLOR_B_MASK 0x000000ff
+#define NV40TCL_BLEND_COLOR_G_SHIFT 8
+#define NV40TCL_BLEND_COLOR_G_MASK 0x0000ff00
+#define NV40TCL_BLEND_COLOR_R_SHIFT 16
+#define NV40TCL_BLEND_COLOR_R_MASK 0x00ff0000
+#define NV40TCL_BLEND_COLOR_A_SHIFT 24
+#define NV40TCL_BLEND_COLOR_A_MASK 0xff000000
+#define NV40TCL_BLEND_EQUATION 0x00000320
+#define NV40TCL_BLEND_EQUATION_RGB_SHIFT 0
+#define NV40TCL_BLEND_EQUATION_RGB_MASK 0x0000ffff
+#define NV40TCL_BLEND_EQUATION_RGB_FUNC_ADD 0x00008006
+#define NV40TCL_BLEND_EQUATION_RGB_MIN 0x00008007
+#define NV40TCL_BLEND_EQUATION_RGB_MAX 0x00008008
+#define NV40TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a
+#define NV40TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV40TCL_BLEND_EQUATION_ALPHA_SHIFT 16
+#define NV40TCL_BLEND_EQUATION_ALPHA_MASK 0xffff0000
+#define NV40TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x80060000
+#define NV40TCL_BLEND_EQUATION_ALPHA_MIN 0x80070000
+#define NV40TCL_BLEND_EQUATION_ALPHA_MAX 0x80080000
+#define NV40TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x800a0000
+#define NV40TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x800b0000
+#define NV40TCL_COLOR_MASK 0x00000324
+#define NV40TCL_COLOR_MASK_BUFFER0_B_SHIFT 0
+#define NV40TCL_COLOR_MASK_BUFFER0_B_MASK 0x000000ff
+#define NV40TCL_COLOR_MASK_BUFFER0_G_SHIFT 8
+#define NV40TCL_COLOR_MASK_BUFFER0_G_MASK 0x0000ff00
+#define NV40TCL_COLOR_MASK_BUFFER0_R_SHIFT 16
+#define NV40TCL_COLOR_MASK_BUFFER0_R_MASK 0x00ff0000
+#define NV40TCL_COLOR_MASK_BUFFER0_A_SHIFT 24
+#define NV40TCL_COLOR_MASK_BUFFER0_A_MASK 0xff000000
+#define NV40TCL_STENCIL_FRONT_ENABLE 0x00000328
+#define NV40TCL_STENCIL_FRONT_MASK 0x0000032c
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC 0x00000330
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206
+#define NV40TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207
+#define NV40TCL_STENCIL_FRONT_FUNC_REF 0x00000334
+#define NV40TCL_STENCIL_FRONT_FUNC_MASK 0x00000338
+#define NV40TCL_STENCIL_FRONT_OP_FAIL 0x0000033c
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL 0x00000340
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS 0x00000344
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_BACK_ENABLE 0x00000348
+#define NV40TCL_STENCIL_BACK_MASK 0x0000034c
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC 0x00000350
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206
+#define NV40TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207
+#define NV40TCL_STENCIL_BACK_FUNC_REF 0x00000354
+#define NV40TCL_STENCIL_BACK_FUNC_MASK 0x00000358
+#define NV40TCL_STENCIL_BACK_OP_FAIL 0x0000035c
+#define NV40TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL 0x00000360
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV40TCL_STENCIL_BACK_OP_ZPASS 0x00000364
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV40TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV40TCL_SHADE_MODEL 0x00000368
+#define NV40TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV40TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV40TCL_MRT_COLOR_MASK 0x00000370
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_A (1 << 4)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_R (1 << 5)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_G (1 << 6)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER1_B (1 << 7)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_A (1 << 8)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_R (1 << 9)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_G (1 << 10)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER2_B (1 << 11)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_A (1 << 12)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_R (1 << 13)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_G (1 << 14)
+#define NV40TCL_MRT_COLOR_MASK_BUFFER3_B (1 << 15)
+#define NV40TCL_COLOR_LOGIC_OP_ENABLE 0x00000374
+#define NV40TCL_COLOR_LOGIC_OP 0x00000378
+#define NV40TCL_COLOR_LOGIC_OP_CLEAR 0x00001500
+#define NV40TCL_COLOR_LOGIC_OP_AND 0x00001501
+#define NV40TCL_COLOR_LOGIC_OP_AND_REVERSE 0x00001502
+#define NV40TCL_COLOR_LOGIC_OP_COPY 0x00001503
+#define NV40TCL_COLOR_LOGIC_OP_AND_INVERTED 0x00001504
+#define NV40TCL_COLOR_LOGIC_OP_NOOP 0x00001505
+#define NV40TCL_COLOR_LOGIC_OP_XOR 0x00001506
+#define NV40TCL_COLOR_LOGIC_OP_OR 0x00001507
+#define NV40TCL_COLOR_LOGIC_OP_NOR 0x00001508
+#define NV40TCL_COLOR_LOGIC_OP_EQUIV 0x00001509
+#define NV40TCL_COLOR_LOGIC_OP_INVERT 0x0000150a
+#define NV40TCL_COLOR_LOGIC_OP_OR_REVERSE 0x0000150b
+#define NV40TCL_COLOR_LOGIC_OP_COPY_INVERTED 0x0000150c
+#define NV40TCL_COLOR_LOGIC_OP_OR_INVERTED 0x0000150d
+#define NV40TCL_COLOR_LOGIC_OP_NAND 0x0000150e
+#define NV40TCL_COLOR_LOGIC_OP_SET 0x0000150f
+#define NV40TCL_DEPTH_RANGE_NEAR 0x00000394
+#define NV40TCL_DEPTH_RANGE_FAR 0x00000398
+#define NV40TCL_LINE_WIDTH 0x000003b8
+#define NV40TCL_LINE_SMOOTH_ENABLE 0x000003bc
+#define NV40TCL_UNK03C0(x) (0x000003c0+((x)*4))
+#define NV40TCL_UNK03C0__SIZE 0x00000010
+#define NV40TCL_UNK0400(x) (0x00000400+((x)*4))
+#define NV40TCL_UNK0400__SIZE 0x00000010
+#define NV40TCL_UNK0440(x) (0x00000440+((x)*4))
+#define NV40TCL_UNK0440__SIZE 0x00000020
+#define NV40TCL_SCISSOR_HORIZ 0x000008c0
+#define NV40TCL_SCISSOR_HORIZ_X_SHIFT 0
+#define NV40TCL_SCISSOR_HORIZ_X_MASK 0x0000ffff
+#define NV40TCL_SCISSOR_HORIZ_W_SHIFT 16
+#define NV40TCL_SCISSOR_HORIZ_W_MASK 0xffff0000
+#define NV40TCL_SCISSOR_VERT 0x000008c4
+#define NV40TCL_SCISSOR_VERT_Y_SHIFT 0
+#define NV40TCL_SCISSOR_VERT_Y_MASK 0x0000ffff
+#define NV40TCL_SCISSOR_VERT_H_SHIFT 16
+#define NV40TCL_SCISSOR_VERT_H_MASK 0xffff0000
+#define NV40TCL_FOG_MODE 0x000008cc
+#define NV40TCL_FOG_EQUATION_CONSTANT 0x000008d0
+#define NV40TCL_FOG_EQUATION_LINEAR 0x000008d4
+#define NV40TCL_FOG_EQUATION_QUADRATIC 0x000008d8
+#define NV40TCL_FP_ADDRESS 0x000008e4
+#define NV40TCL_FP_ADDRESS_OFFSET_SHIFT 8
+#define NV40TCL_FP_ADDRESS_OFFSET_MASK 0xffffff00
+#define NV40TCL_FP_ADDRESS_DMA1 (1 << 1)
+#define NV40TCL_FP_ADDRESS_DMA0 (1 << 0)
+#define NV40TCL_VIEWPORT_HORIZ 0x00000a00
+#define NV40TCL_VIEWPORT_HORIZ_W_SHIFT 16
+#define NV40TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000
+#define NV40TCL_VIEWPORT_HORIZ_X_SHIFT 0
+#define NV40TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff
+#define NV40TCL_VIEWPORT_VERT 0x00000a04
+#define NV40TCL_VIEWPORT_VERT_H_SHIFT 16
+#define NV40TCL_VIEWPORT_VERT_H_MASK 0xffff0000
+#define NV40TCL_VIEWPORT_VERT_Y_SHIFT 0
+#define NV40TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff
+#define NV40TCL_VIEWPORT_TRANSLATE_X 0x00000a20
+#define NV40TCL_VIEWPORT_TRANSLATE_Y 0x00000a24
+#define NV40TCL_VIEWPORT_TRANSLATE_Z 0x00000a28
+#define NV40TCL_VIEWPORT_TRANSLATE_W 0x00000a2c
+#define NV40TCL_VIEWPORT_SCALE_X 0x00000a30
+#define NV40TCL_VIEWPORT_SCALE_Y 0x00000a34
+#define NV40TCL_VIEWPORT_SCALE_Z 0x00000a38
+#define NV40TCL_VIEWPORT_SCALE_W 0x00000a3c
+#define NV40TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000a60
+#define NV40TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000a64
+#define NV40TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000a68
+#define NV40TCL_DEPTH_FUNC 0x00000a6c
+#define NV40TCL_DEPTH_FUNC_NEVER 0x00000200
+#define NV40TCL_DEPTH_FUNC_LESS 0x00000201
+#define NV40TCL_DEPTH_FUNC_EQUAL 0x00000202
+#define NV40TCL_DEPTH_FUNC_LEQUAL 0x00000203
+#define NV40TCL_DEPTH_FUNC_GREATER 0x00000204
+#define NV40TCL_DEPTH_FUNC_NOTEQUAL 0x00000205
+#define NV40TCL_DEPTH_FUNC_GEQUAL 0x00000206
+#define NV40TCL_DEPTH_FUNC_ALWAYS 0x00000207
+#define NV40TCL_DEPTH_WRITE_ENABLE 0x00000a70
+#define NV40TCL_DEPTH_TEST_ENABLE 0x00000a74
+#define NV40TCL_POLYGON_OFFSET_FACTOR 0x00000a78
+#define NV40TCL_POLYGON_OFFSET_UNITS 0x00000a7c
+#define NV40TCL_VTX_ATTR_3I_XY(x) (0x00000a80+((x)*8))
+#define NV40TCL_VTX_ATTR_3I_XY__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3I_XY_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_3I_XY_X_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_3I_XY_Y_SHIFT 16
+#define NV40TCL_VTX_ATTR_3I_XY_Y_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_3I_Z(x) (0x00000a84+((x)*8))
+#define NV40TCL_VTX_ATTR_3I_Z__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3I_Z_Z_SHIFT 0
+#define NV40TCL_VTX_ATTR_3I_Z_Z_MASK 0x0000ffff
+#define NV40TCL_TEX_FILTER_OPTIMIZATION 0x00000b00
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_SHIFT 0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_MASK 0x0000001f
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_OFF 0x00000000
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_QUALITY 0x00000004
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_QUALITY 0x00000006
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_PERFORMANCE 0x00000008
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_TRILINEAR_HIGH_PERFORMANCE 0x00000018
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_SHIFT 6
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_MASK 0x000001c0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_OFF 0x00000000
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_HIGH_QUALITY 0x000000c0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_QUALITY 0x000001c0
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_ANISO_SAMPLE_PERFORMANCE 0x00000140
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_SHIFT 10
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_MASK 0x00007c00
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_OFF 0x00000000
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_PARTIAL 0x00002c00
+#define NV40TCL_TEX_FILTER_OPTIMIZATION_UNKNOWN_FULL 0x00007c00
+#define NV40TCL_UNK0B40(x) (0x00000b40+((x)*4))
+#define NV40TCL_UNK0B40__SIZE 0x00000008
+#define NV40TCL_VP_UPLOAD_INST(x) (0x00000b80+((x)*4))
+#define NV40TCL_VP_UPLOAD_INST__SIZE 0x00000004
+#define NV40TCL_VERTEX_TWO_SIDE_ENABLE 0x0000142c
+#define NV40TCL_CLIP_PLANE_ENABLE 0x00001478
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE0 (1 << 1)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE1 (1 << 5)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE2 (1 << 9)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE3 (1 << 13)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE4 (1 << 17)
+#define NV40TCL_CLIP_PLANE_ENABLE_PLANE5 (1 << 21)
+#define NV40TCL_POLYGON_STIPPLE_ENABLE 0x0000147c
+#define NV40TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001480+((x)*4))
+#define NV40TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV40TCL_VTX_ATTR_3F_X(x) (0x00001500+((x)*16))
+#define NV40TCL_VTX_ATTR_3F_X__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3F_Y(x) (0x00001504+((x)*16))
+#define NV40TCL_VTX_ATTR_3F_Y__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_3F_Z(x) (0x00001508+((x)*16))
+#define NV40TCL_VTX_ATTR_3F_Z__SIZE 0x00000010
+#define NV40TCL_VTXBUF_ADDRESS(x) (0x00001680+((x)*4))
+#define NV40TCL_VTXBUF_ADDRESS__SIZE 0x00000010
+#define NV40TCL_VTXBUF_ADDRESS_DMA1 (1 << 31)
+#define NV40TCL_VTXBUF_ADDRESS_OFFSET_SHIFT 0
+#define NV40TCL_VTXBUF_ADDRESS_OFFSET_MASK 0x0fffffff
+#define NV40TCL_VTX_CACHE_INVALIDATE 0x00001714
+#define NV40TCL_VTXFMT(x) (0x00001740+((x)*4))
+#define NV40TCL_VTXFMT__SIZE 0x00000010
+#define NV40TCL_VTXFMT_TYPE_SHIFT 0
+#define NV40TCL_VTXFMT_TYPE_MASK 0x0000000f
+#define NV40TCL_VTXFMT_TYPE_FLOAT 0x00000002
+#define NV40TCL_VTXFMT_TYPE_UBYTE 0x00000004
+#define NV40TCL_VTXFMT_TYPE_USHORT 0x00000005
+#define NV40TCL_VTXFMT_SIZE_SHIFT 4
+#define NV40TCL_VTXFMT_SIZE_MASK 0x000000f0
+#define NV40TCL_VTXFMT_STRIDE_SHIFT 8
+#define NV40TCL_VTXFMT_STRIDE_MASK 0x0000ff00
+#define NV40TCL_QUERY_RESET 0x000017c8
+#define NV40TCL_QUERY_UNK17CC 0x000017cc
+#define NV40TCL_QUERY_GET 0x00001800
+#define NV40TCL_QUERY_GET_UNK24_SHIFT 24
+#define NV40TCL_QUERY_GET_UNK24_MASK 0xff000000
+#define NV40TCL_QUERY_GET_OFFSET_SHIFT 0
+#define NV40TCL_QUERY_GET_OFFSET_MASK 0x00ffffff
+#define NV40TCL_BEGIN_END 0x00001808
+#define NV40TCL_BEGIN_END_STOP 0x00000000
+#define NV40TCL_BEGIN_END_POINTS 0x00000001
+#define NV40TCL_BEGIN_END_LINES 0x00000002
+#define NV40TCL_BEGIN_END_LINE_LOOP 0x00000003
+#define NV40TCL_BEGIN_END_LINE_STRIP 0x00000004
+#define NV40TCL_BEGIN_END_TRIANGLES 0x00000005
+#define NV40TCL_BEGIN_END_TRIANGLE_STRIP 0x00000006
+#define NV40TCL_BEGIN_END_TRIANGLE_FAN 0x00000007
+#define NV40TCL_BEGIN_END_QUADS 0x00000008
+#define NV40TCL_BEGIN_END_QUAD_STRIP 0x00000009
+#define NV40TCL_BEGIN_END_POLYGON 0x0000000a
+#define NV40TCL_VB_ELEMENT_U16 0x0000180c
+#define NV40TCL_VB_ELEMENT_U16_1_SHIFT 16
+#define NV40TCL_VB_ELEMENT_U16_1_MASK 0xffff0000
+#define NV40TCL_VB_ELEMENT_U16_0_SHIFT 0
+#define NV40TCL_VB_ELEMENT_U16_0_MASK 0x0000ffff
+#define NV40TCL_VB_ELEMENT_U32 0x00001810
+#define NV40TCL_VB_VERTEX_BATCH 0x00001814
+#define NV40TCL_VB_VERTEX_BATCH_COUNT_SHIFT 24
+#define NV40TCL_VB_VERTEX_BATCH_COUNT_MASK 0xff000000
+#define NV40TCL_VB_VERTEX_BATCH_START_SHIFT 0
+#define NV40TCL_VB_VERTEX_BATCH_START_MASK 0x00ffffff
+#define NV40TCL_VERTEX_DATA 0x00001818
+#define NV40TCL_IDXBUF_ADDRESS 0x0000181c
+#define NV40TCL_IDXBUF_FORMAT 0x00001820
+#define NV40TCL_IDXBUF_FORMAT_TYPE_SHIFT 4
+#define NV40TCL_IDXBUF_FORMAT_TYPE_MASK 0x000000f0
+#define NV40TCL_IDXBUF_FORMAT_TYPE_U32 0x00000000
+#define NV40TCL_IDXBUF_FORMAT_TYPE_U16 0x00000010
+#define NV40TCL_IDXBUF_FORMAT_DMA1 (1 << 0)
+#define NV40TCL_VB_INDEX_BATCH 0x00001824
+#define NV40TCL_VB_INDEX_BATCH_COUNT_SHIFT 24
+#define NV40TCL_VB_INDEX_BATCH_COUNT_MASK 0xff000000
+#define NV40TCL_VB_INDEX_BATCH_START_SHIFT 0
+#define NV40TCL_VB_INDEX_BATCH_START_MASK 0x00ffffff
+#define NV40TCL_POLYGON_MODE_FRONT 0x00001828
+#define NV40TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV40TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV40TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV40TCL_POLYGON_MODE_BACK 0x0000182c
+#define NV40TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV40TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV40TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV40TCL_CULL_FACE 0x00001830
+#define NV40TCL_CULL_FACE_FRONT 0x00000404
+#define NV40TCL_CULL_FACE_BACK 0x00000405
+#define NV40TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV40TCL_FRONT_FACE 0x00001834
+#define NV40TCL_FRONT_FACE_CW 0x00000900
+#define NV40TCL_FRONT_FACE_CCW 0x00000901
+#define NV40TCL_POLYGON_SMOOTH_ENABLE 0x00001838
+#define NV40TCL_CULL_FACE_ENABLE 0x0000183c
+#define NV40TCL_TEX_SIZE1(x) (0x00001840+((x)*4))
+#define NV40TCL_TEX_SIZE1__SIZE 0x00000008
+#define NV40TCL_TEX_SIZE1_DEPTH_SHIFT 20
+#define NV40TCL_TEX_SIZE1_DEPTH_MASK 0xfff00000
+#define NV40TCL_TEX_SIZE1_PITCH_SHIFT 0
+#define NV40TCL_TEX_SIZE1_PITCH_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_2F_X(x) (0x00001880+((x)*8))
+#define NV40TCL_VTX_ATTR_2F_X__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_2F_Y(x) (0x00001884+((x)*8))
+#define NV40TCL_VTX_ATTR_2F_Y__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_2I(x) (0x00001900+((x)*4))
+#define NV40TCL_VTX_ATTR_2I__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_2I_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_2I_X_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_2I_Y_SHIFT 16
+#define NV40TCL_VTX_ATTR_2I_Y_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_4UB(x) (0x00001940+((x)*4))
+#define NV40TCL_VTX_ATTR_4UB__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4UB_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_4UB_X_MASK 0x000000ff
+#define NV40TCL_VTX_ATTR_4UB_Y_SHIFT 8
+#define NV40TCL_VTX_ATTR_4UB_Y_MASK 0x0000ff00
+#define NV40TCL_VTX_ATTR_4UB_Z_SHIFT 16
+#define NV40TCL_VTX_ATTR_4UB_Z_MASK 0x00ff0000
+#define NV40TCL_VTX_ATTR_4UB_W_SHIFT 24
+#define NV40TCL_VTX_ATTR_4UB_W_MASK 0xff000000
+#define NV40TCL_VTX_ATTR_4I_XY(x) (0x00001980+((x)*8))
+#define NV40TCL_VTX_ATTR_4I_XY__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4I_XY_X_SHIFT 0
+#define NV40TCL_VTX_ATTR_4I_XY_X_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_4I_XY_Y_SHIFT 16
+#define NV40TCL_VTX_ATTR_4I_XY_Y_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_4I_ZW(x) (0x00001984+((x)*8))
+#define NV40TCL_VTX_ATTR_4I_ZW__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4I_ZW_Z_SHIFT 0
+#define NV40TCL_VTX_ATTR_4I_ZW_Z_MASK 0x0000ffff
+#define NV40TCL_VTX_ATTR_4I_ZW_W_SHIFT 16
+#define NV40TCL_VTX_ATTR_4I_ZW_W_MASK 0xffff0000
+#define NV40TCL_TEX_OFFSET(x) (0x00001a00+((x)*32))
+#define NV40TCL_TEX_OFFSET__SIZE 0x00000010
+#define NV40TCL_TEX_FORMAT(x) (0x00001a04+((x)*32))
+#define NV40TCL_TEX_FORMAT__SIZE 0x00000010
+#define NV40TCL_TEX_FORMAT_MIPMAP_COUNT_SHIFT 16
+#define NV40TCL_TEX_FORMAT_MIPMAP_COUNT_MASK 0x000f0000
+#define NV40TCL_TEX_FORMAT_RECT (1 << 14)
+#define NV40TCL_TEX_FORMAT_LINEAR (1 << 13)
+#define NV40TCL_TEX_FORMAT_FORMAT_SHIFT 8
+#define NV40TCL_TEX_FORMAT_FORMAT_MASK 0x00001f00
+#define NV40TCL_TEX_FORMAT_FORMAT_L8 0x00000100
+#define NV40TCL_TEX_FORMAT_FORMAT_A1R5G5B5 0x00000200
+#define NV40TCL_TEX_FORMAT_FORMAT_A4R4G4B4 0x00000300
+#define NV40TCL_TEX_FORMAT_FORMAT_R5G6B5 0x00000400
+#define NV40TCL_TEX_FORMAT_FORMAT_A8R8G8B8 0x00000500
+#define NV40TCL_TEX_FORMAT_FORMAT_DXT1 0x00000600
+#define NV40TCL_TEX_FORMAT_FORMAT_DXT3 0x00000700
+#define NV40TCL_TEX_FORMAT_FORMAT_DXT5 0x00000800
+#define NV40TCL_TEX_FORMAT_FORMAT_A8L8 0x00000b00
+#define NV40TCL_TEX_FORMAT_FORMAT_Z24 0x00001000
+#define NV40TCL_TEX_FORMAT_FORMAT_Z16 0x00001200
+#define NV40TCL_TEX_FORMAT_FORMAT_A16 0x00001400
+#define NV40TCL_TEX_FORMAT_FORMAT_A16L16 0x00001500
+#define NV40TCL_TEX_FORMAT_FORMAT_HILO8 0x00001800
+#define NV40TCL_TEX_FORMAT_FORMAT_RGBA16F 0x00001a00
+#define NV40TCL_TEX_FORMAT_FORMAT_RGBA32F 0x00001b00
+#define NV40TCL_TEX_FORMAT_DIMS_SHIFT 4
+#define NV40TCL_TEX_FORMAT_DIMS_MASK 0x000000f0
+#define NV40TCL_TEX_FORMAT_DIMS_1D 0x00000010
+#define NV40TCL_TEX_FORMAT_DIMS_2D 0x00000020
+#define NV40TCL_TEX_FORMAT_DIMS_3D 0x00000030
+#define NV40TCL_TEX_FORMAT_NO_BORDER (1 << 3)
+#define NV40TCL_TEX_FORMAT_CUBIC (1 << 2)
+#define NV40TCL_TEX_FORMAT_DMA1 (1 << 1)
+#define NV40TCL_TEX_FORMAT_DMA0 (1 << 0)
+#define NV40TCL_TEX_WRAP(x) (0x00001a08+((x)*32))
+#define NV40TCL_TEX_WRAP__SIZE 0x00000010
+#define NV40TCL_TEX_WRAP_S_SHIFT 0
+#define NV40TCL_TEX_WRAP_S_MASK 0x0000000f
+#define NV40TCL_TEX_WRAP_S_REPEAT 0x00000001
+#define NV40TCL_TEX_WRAP_S_MIRRORED_REPEAT 0x00000002
+#define NV40TCL_TEX_WRAP_S_CLAMP_TO_EDGE 0x00000003
+#define NV40TCL_TEX_WRAP_S_CLAMP_TO_BORDER 0x00000004
+#define NV40TCL_TEX_WRAP_S_CLAMP 0x00000005
+#define NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_EDGE 0x00000006
+#define NV40TCL_TEX_WRAP_S_MIRROR_CLAMP_TO_BORDER 0x00000007
+#define NV40TCL_TEX_WRAP_S_MIRROR_CLAMP 0x00000008
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_SHIFT 4
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_MASK 0x00000070
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_OFF 0x00000000
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_QUALITY 0x00000020
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_PERFORMANCE 0x00000030
+#define NV40TCL_TEX_WRAP_ANISO_MIP_FILTER_OPTIMIZATION_HIGH_PERFORMANCE 0x00000070
+#define NV40TCL_TEX_WRAP_T_SHIFT 8
+#define NV40TCL_TEX_WRAP_T_MASK 0x00000f00
+#define NV40TCL_TEX_WRAP_T_REPEAT 0x00000100
+#define NV40TCL_TEX_WRAP_T_MIRRORED_REPEAT 0x00000200
+#define NV40TCL_TEX_WRAP_T_CLAMP_TO_EDGE 0x00000300
+#define NV40TCL_TEX_WRAP_T_CLAMP_TO_BORDER 0x00000400
+#define NV40TCL_TEX_WRAP_T_CLAMP 0x00000500
+#define NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_EDGE 0x00000600
+#define NV40TCL_TEX_WRAP_T_MIRROR_CLAMP_TO_BORDER 0x00000700
+#define NV40TCL_TEX_WRAP_T_MIRROR_CLAMP 0x00000800
+#define NV40TCL_TEX_WRAP_EXPAND_NORMAL_SHIFT 12
+#define NV40TCL_TEX_WRAP_EXPAND_NORMAL_MASK 0x0000f000
+#define NV40TCL_TEX_WRAP_R_SHIFT 16
+#define NV40TCL_TEX_WRAP_R_MASK 0x000f0000
+#define NV40TCL_TEX_WRAP_R_REPEAT 0x00010000
+#define NV40TCL_TEX_WRAP_R_MIRRORED_REPEAT 0x00020000
+#define NV40TCL_TEX_WRAP_R_CLAMP_TO_EDGE 0x00030000
+#define NV40TCL_TEX_WRAP_R_CLAMP_TO_BORDER 0x00040000
+#define NV40TCL_TEX_WRAP_R_CLAMP 0x00050000
+#define NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_EDGE 0x00060000
+#define NV40TCL_TEX_WRAP_R_MIRROR_CLAMP_TO_BORDER 0x00070000
+#define NV40TCL_TEX_WRAP_R_MIRROR_CLAMP 0x00080000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_SHIFT 20
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_MASK 0x00f00000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_NONE 0x00000000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_RED 0x00100000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_GREEN 0x00200000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_BLUE 0x00400000
+#define NV40TCL_TEX_WRAP_GAMMA_DECREASE_FILTER_ALL 0x00f00000
+#define NV40TCL_TEX_WRAP_RCOMP_SHIFT 28
+#define NV40TCL_TEX_WRAP_RCOMP_MASK 0xf0000000
+#define NV40TCL_TEX_WRAP_RCOMP_NEVER 0x00000000
+#define NV40TCL_TEX_WRAP_RCOMP_GREATER 0x10000000
+#define NV40TCL_TEX_WRAP_RCOMP_EQUAL 0x20000000
+#define NV40TCL_TEX_WRAP_RCOMP_GEQUAL 0x30000000
+#define NV40TCL_TEX_WRAP_RCOMP_LESS 0x40000000
+#define NV40TCL_TEX_WRAP_RCOMP_NOTEQUAL 0x50000000
+#define NV40TCL_TEX_WRAP_RCOMP_LEQUAL 0x60000000
+#define NV40TCL_TEX_WRAP_RCOMP_ALWAYS 0x70000000
+#define NV40TCL_TEX_ENABLE(x) (0x00001a0c+((x)*32))
+#define NV40TCL_TEX_ENABLE__SIZE 0x00000010
+#define NV40TCL_TEX_ENABLE_ENABLE (1 << 31)
+#define NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_SHIFT 27
+#define NV40TCL_TEX_ENABLE_MIPMAP_MIN_LOD_MASK 0x38000000
+#define NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_SHIFT 15
+#define NV40TCL_TEX_ENABLE_MIPMAP_MAX_LOD_MASK 0x00038000
+#define NV40TCL_TEX_ENABLE_ANISO_SHIFT 4
+#define NV40TCL_TEX_ENABLE_ANISO_MASK 0x000000f0
+#define NV40TCL_TEX_ENABLE_ANISO_NONE 0x00000000
+#define NV40TCL_TEX_ENABLE_ANISO_2X 0x00000010
+#define NV40TCL_TEX_ENABLE_ANISO_4X 0x00000020
+#define NV40TCL_TEX_ENABLE_ANISO_6X 0x00000030
+#define NV40TCL_TEX_ENABLE_ANISO_8X 0x00000040
+#define NV40TCL_TEX_ENABLE_ANISO_10X 0x00000050
+#define NV40TCL_TEX_ENABLE_ANISO_12X 0x00000060
+#define NV40TCL_TEX_ENABLE_ANISO_16X 0x00000070
+#define NV40TCL_TEX_SWIZZLE(x) (0x00001a10+((x)*32))
+#define NV40TCL_TEX_SWIZZLE__SIZE 0x00000010
+#define NV40TCL_TEX_SWIZZLE_S0_X_SHIFT 14
+#define NV40TCL_TEX_SWIZZLE_S0_X_MASK 0x0000c000
+#define NV40TCL_TEX_SWIZZLE_S0_X_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_X_ONE 0x00004000
+#define NV40TCL_TEX_SWIZZLE_S0_X_S1 0x00008000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_SHIFT 12
+#define NV40TCL_TEX_SWIZZLE_S0_Y_MASK 0x00003000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_ONE 0x00001000
+#define NV40TCL_TEX_SWIZZLE_S0_Y_S1 0x00002000
+#define NV40TCL_TEX_SWIZZLE_S0_Z_SHIFT 10
+#define NV40TCL_TEX_SWIZZLE_S0_Z_MASK 0x00000c00
+#define NV40TCL_TEX_SWIZZLE_S0_Z_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_Z_ONE 0x00000400
+#define NV40TCL_TEX_SWIZZLE_S0_Z_S1 0x00000800
+#define NV40TCL_TEX_SWIZZLE_S0_W_SHIFT 8
+#define NV40TCL_TEX_SWIZZLE_S0_W_MASK 0x00000300
+#define NV40TCL_TEX_SWIZZLE_S0_W_ZERO 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S0_W_ONE 0x00000100
+#define NV40TCL_TEX_SWIZZLE_S0_W_S1 0x00000200
+#define NV40TCL_TEX_SWIZZLE_S1_X_SHIFT 6
+#define NV40TCL_TEX_SWIZZLE_S1_X_MASK 0x000000c0
+#define NV40TCL_TEX_SWIZZLE_S1_X_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_X_Z 0x00000040
+#define NV40TCL_TEX_SWIZZLE_S1_X_Y 0x00000080
+#define NV40TCL_TEX_SWIZZLE_S1_X_X 0x000000c0
+#define NV40TCL_TEX_SWIZZLE_S1_Y_SHIFT 4
+#define NV40TCL_TEX_SWIZZLE_S1_Y_MASK 0x00000030
+#define NV40TCL_TEX_SWIZZLE_S1_Y_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_Y_Z 0x00000010
+#define NV40TCL_TEX_SWIZZLE_S1_Y_Y 0x00000020
+#define NV40TCL_TEX_SWIZZLE_S1_Y_X 0x00000030
+#define NV40TCL_TEX_SWIZZLE_S1_Z_SHIFT 2
+#define NV40TCL_TEX_SWIZZLE_S1_Z_MASK 0x0000000c
+#define NV40TCL_TEX_SWIZZLE_S1_Z_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_Z_Z 0x00000004
+#define NV40TCL_TEX_SWIZZLE_S1_Z_Y 0x00000008
+#define NV40TCL_TEX_SWIZZLE_S1_Z_X 0x0000000c
+#define NV40TCL_TEX_SWIZZLE_S1_W_SHIFT 0
+#define NV40TCL_TEX_SWIZZLE_S1_W_MASK 0x00000003
+#define NV40TCL_TEX_SWIZZLE_S1_W_W 0x00000000
+#define NV40TCL_TEX_SWIZZLE_S1_W_Z 0x00000001
+#define NV40TCL_TEX_SWIZZLE_S1_W_Y 0x00000002
+#define NV40TCL_TEX_SWIZZLE_S1_W_X 0x00000003
+#define NV40TCL_TEX_FILTER(x) (0x00001a14+((x)*32))
+#define NV40TCL_TEX_FILTER__SIZE 0x00000010
+#define NV40TCL_TEX_FILTER_SIGNED_ALPHA (1 << 31)
+#define NV40TCL_TEX_FILTER_SIGNED_RED (1 << 30)
+#define NV40TCL_TEX_FILTER_SIGNED_GREEN (1 << 29)
+#define NV40TCL_TEX_FILTER_SIGNED_BLUE (1 << 28)
+#define NV40TCL_TEX_FILTER_MIN_SHIFT 16
+#define NV40TCL_TEX_FILTER_MIN_MASK 0x000f0000
+#define NV40TCL_TEX_FILTER_MIN_NEAREST 0x00010000
+#define NV40TCL_TEX_FILTER_MIN_LINEAR 0x00020000
+#define NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_NEAREST 0x00030000
+#define NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_NEAREST 0x00040000
+#define NV40TCL_TEX_FILTER_MIN_NEAREST_MIPMAP_LINEAR 0x00050000
+#define NV40TCL_TEX_FILTER_MIN_LINEAR_MIPMAP_LINEAR 0x00060000
+#define NV40TCL_TEX_FILTER_MAG_SHIFT 24
+#define NV40TCL_TEX_FILTER_MAG_MASK 0x0f000000
+#define NV40TCL_TEX_FILTER_MAG_NEAREST 0x01000000
+#define NV40TCL_TEX_FILTER_MAG_LINEAR 0x02000000
+#define NV40TCL_TEX_SIZE0(x) (0x00001a18+((x)*32))
+#define NV40TCL_TEX_SIZE0__SIZE 0x00000010
+#define NV40TCL_TEX_SIZE0_H_SHIFT 0
+#define NV40TCL_TEX_SIZE0_H_MASK 0x0000ffff
+#define NV40TCL_TEX_SIZE0_W_SHIFT 16
+#define NV40TCL_TEX_SIZE0_W_MASK 0xffff0000
+#define NV40TCL_TEX_BORDER_COLOR(x) (0x00001a1c+((x)*32))
+#define NV40TCL_TEX_BORDER_COLOR__SIZE 0x00000010
+#define NV40TCL_TEX_BORDER_COLOR_B_SHIFT 0
+#define NV40TCL_TEX_BORDER_COLOR_B_MASK 0x000000ff
+#define NV40TCL_TEX_BORDER_COLOR_G_SHIFT 8
+#define NV40TCL_TEX_BORDER_COLOR_G_MASK 0x0000ff00
+#define NV40TCL_TEX_BORDER_COLOR_R_SHIFT 16
+#define NV40TCL_TEX_BORDER_COLOR_R_MASK 0x00ff0000
+#define NV40TCL_TEX_BORDER_COLOR_A_SHIFT 24
+#define NV40TCL_TEX_BORDER_COLOR_A_MASK 0xff000000
+#define NV40TCL_VTX_ATTR_4F_X(x) (0x00001c00+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4F_Y(x) (0x00001c04+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4F_Z(x) (0x00001c08+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV40TCL_VTX_ATTR_4F_W(x) (0x00001c0c+((x)*16))
+#define NV40TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV40TCL_FP_CONTROL 0x00001d60
+#define NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT 24
+#define NV40TCL_FP_CONTROL_TEMP_COUNT_MASK 0xff000000
+#define NV40TCL_FP_CONTROL_KIL (1 << 7)
+#define NV40TCL_MULTISAMPLE_CONTROL 0x00001d7c
+#define NV40TCL_CLEAR_VALUE_DEPTH 0x00001d8c
+#define NV40TCL_CLEAR_VALUE_COLOR 0x00001d90
+#define NV40TCL_CLEAR_VALUE_COLOR_B_SHIFT 0
+#define NV40TCL_CLEAR_VALUE_COLOR_B_MASK 0x000000ff
+#define NV40TCL_CLEAR_VALUE_COLOR_G_SHIFT 8
+#define NV40TCL_CLEAR_VALUE_COLOR_G_MASK 0x0000ff00
+#define NV40TCL_CLEAR_VALUE_COLOR_R_SHIFT 16
+#define NV40TCL_CLEAR_VALUE_COLOR_R_MASK 0x00ff0000
+#define NV40TCL_CLEAR_VALUE_COLOR_A_SHIFT 24
+#define NV40TCL_CLEAR_VALUE_COLOR_A_MASK 0xff000000
+#define NV40TCL_CLEAR_BUFFERS 0x00001d94
+#define NV40TCL_CLEAR_BUFFERS_COLOR_A (1 << 7)
+#define NV40TCL_CLEAR_BUFFERS_COLOR_B (1 << 6)
+#define NV40TCL_CLEAR_BUFFERS_COLOR_G (1 << 5)
+#define NV40TCL_CLEAR_BUFFERS_COLOR_R (1 << 4)
+#define NV40TCL_CLEAR_BUFFERS_STENCIL (1 << 1)
+#define NV40TCL_CLEAR_BUFFERS_DEPTH (1 << 0)
+#define NV40TCL_LINE_STIPPLE_ENABLE 0x00001db4
+#define NV40TCL_LINE_STIPPLE_PATTERN 0x00001db8
+#define NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_SHIFT 0
+#define NV40TCL_LINE_STIPPLE_PATTERN_FACTOR_MASK 0x0000ffff
+#define NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_SHIFT 16
+#define NV40TCL_LINE_STIPPLE_PATTERN_PATTERN_MASK 0xffff0000
+#define NV40TCL_VTX_ATTR_1F(x) (0x00001e40+((x)*4))
+#define NV40TCL_VTX_ATTR_1F__SIZE 0x00000010
+#define NV40TCL_VP_UPLOAD_FROM_ID 0x00001e9c
+#define NV40TCL_VP_START_FROM_ID 0x00001ea0
+#define NV40TCL_POINT_SIZE 0x00001ee0
+#define NV40TCL_POINT_SPRITE 0x00001ee8
+#define NV40TCL_POINT_SPRITE_ENABLE (1 << 0)
+#define NV40TCL_POINT_SPRITE_R_MODE_SHIFT 1
+#define NV40TCL_POINT_SPRITE_R_MODE_MASK 0x00000006
+#define NV40TCL_POINT_SPRITE_R_MODE_ZERO 0x00000000
+#define NV40TCL_POINT_SPRITE_R_MODE_R 0x00000002
+#define NV40TCL_POINT_SPRITE_R_MODE_S 0x00000004
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_0 (1 << 8)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_1 (1 << 9)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_2 (1 << 10)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_3 (1 << 11)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_4 (1 << 12)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_5 (1 << 13)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_6 (1 << 14)
+#define NV40TCL_POINT_SPRITE_COORD_REPLACE_7 (1 << 15)
+#define NV40TCL_VP_UPLOAD_CONST_ID 0x00001efc
+#define NV40TCL_VP_UPLOAD_CONST_X(x) (0x00001f00+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_X__SIZE 0x00000004
+#define NV40TCL_VP_UPLOAD_CONST_Y(x) (0x00001f04+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_Y__SIZE 0x00000004
+#define NV40TCL_VP_UPLOAD_CONST_Z(x) (0x00001f08+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_Z__SIZE 0x00000004
+#define NV40TCL_VP_UPLOAD_CONST_W(x) (0x00001f0c+((x)*16))
+#define NV40TCL_VP_UPLOAD_CONST_W__SIZE 0x00000004
+#define NV40TCL_TEX_CACHE_CTL 0x00001fd8
+#define NV40TCL_VP_ATTRIB_EN 0x00001ff0
+#define NV40TCL_VP_RESULT_EN 0x00001ff4
+
+
+#define NV44TCL 0x00004497
+
+
+
+#define NV50_2D 0x0000502d
+
+#define NV50_2D_NOP 0x00000100
+#define NV50_2D_NOTIFY 0x00000104
+#define NV50_2D_SERIALIZE 0x00000110
+#define NV50_2D_DMA_NOTIFY 0x00000180
+#define NV50_2D_DMA_DST 0x00000184
+#define NV50_2D_DMA_SRC 0x00000188
+#define NV50_2D_DMA_COND 0x0000018c
+#define NV50_2D_DST_FORMAT 0x00000200
+#define NV50_2D_DST_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_DST_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_DST_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_DST_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_DST_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_DST_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_DST_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_DST_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_DST_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_DST_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_DST_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_DST_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_DST_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_DST_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_DST_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_DST_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_DST_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_DST_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_DST_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_DST_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_DST_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_DST_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_DST_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_DST_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_DST_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_DST_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_DST_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_DST_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_DST_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_DST_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_DST_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_DST_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_DST_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_DST_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_DST_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_DST_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_DST_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_DST_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_DST_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_DST_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_DST_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_DST_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_DST_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_DST_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_DST_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_DST_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_DST_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_DST_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_DST_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_DST_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_DST_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_DST_LINEAR 0x00000204
+#define NV50_2D_DST_TILE_MODE 0x00000208
+#define NV50_2D_DST_DEPTH 0x0000020c
+#define NV50_2D_DST_LAYER 0x00000210
+#define NV50_2D_DST_PITCH 0x00000214
+#define NV50_2D_DST_WIDTH 0x00000218
+#define NV50_2D_DST_HEIGHT 0x0000021c
+#define NV50_2D_DST_ADDRESS_HIGH 0x00000220
+#define NV50_2D_DST_ADDRESS_LOW 0x00000224
+#define NV50_2D_SRC_FORMAT 0x00000230
+#define NV50_2D_SRC_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_SRC_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_SRC_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_SRC_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_SRC_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_SRC_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_SRC_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_SRC_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_SRC_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_SRC_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_SRC_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_SRC_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_SRC_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_SRC_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_SRC_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_SRC_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_SRC_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_SRC_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_SRC_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_SRC_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_SRC_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_SRC_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_SRC_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_SRC_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_SRC_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_SRC_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_SRC_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_SRC_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_SRC_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_SRC_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_SRC_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_SRC_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_SRC_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_SRC_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_SRC_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_SRC_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_SRC_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_SRC_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_SRC_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_SRC_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_SRC_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_SRC_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_SRC_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_SRC_LINEAR 0x00000234
+#define NV50_2D_SRC_TILE_MODE 0x00000238
+#define NV50_2D_SRC_DEPTH 0x0000023c
+#define NV50_2D_SRC_LAYER 0x00000240
+#define NV50_2D_SRC_PITCH 0x00000244
+#define NV50_2D_SRC_WIDTH 0x00000248
+#define NV50_2D_SRC_HEIGHT 0x0000024c
+#define NV50_2D_SRC_ADDRESS_HIGH 0x00000250
+#define NV50_2D_SRC_ADDRESS_LOW 0x00000254
+#define NV50_2D_COND_ADDRESS_HIGH 0x00000264
+#define NV50_2D_COND_ADDRESS_LOW 0x00000268
+#define NV50_2D_COND_MODE 0x0000026c
+#define NV50_2D_COND_MODE_NEVER 0x00000000
+#define NV50_2D_COND_MODE_ALWAYS 0x00000001
+#define NV50_2D_COND_MODE_RES 0x00000002
+#define NV50_2D_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003
+#define NV50_2D_COND_MODE_RES_OR_ID 0x00000004
+#define NV50_2D_CLIP_X 0x00000280
+#define NV50_2D_CLIP_Y 0x00000284
+#define NV50_2D_CLIP_W 0x00000288
+#define NV50_2D_CLIP_H 0x0000028c
+#define NV50_2D_CLIP_ENABLE 0x00000290
+#define NV50_2D_COLOR_KEY_FORMAT 0x00000294
+#define NV50_2D_COLOR_KEY_FORMAT_16BPP 0x00000000
+#define NV50_2D_COLOR_KEY_FORMAT_15BPP 0x00000001
+#define NV50_2D_COLOR_KEY_FORMAT_24BPP 0x00000002
+#define NV50_2D_COLOR_KEY_FORMAT_30BPP 0x00000003
+#define NV50_2D_COLOR_KEY_FORMAT_8BPP 0x00000004
+#define NV50_2D_COLOR_KEY_FORMAT_16BPP2 0x00000005
+#define NV50_2D_COLOR_KEY_FORMAT_32BPP 0x00000006
+#define NV50_2D_COLOR_KEY 0x00000298
+#define NV50_2D_COLOR_KEY_ENABLE 0x0000029c
+#define NV50_2D_ROP 0x000002a0
+#define NV50_2D_OPERATION 0x000002ac
+#define NV50_2D_OPERATION_SRCCOPY_AND 0x00000000
+#define NV50_2D_OPERATION_ROP_AND 0x00000001
+#define NV50_2D_OPERATION_BLEND_AND 0x00000002
+#define NV50_2D_OPERATION_SRCCOPY 0x00000003
+#define NV50_2D_OPERATION_SRCCOPY_PREMULT 0x00000004
+#define NV50_2D_OPERATION_BLEND_PREMULT 0x00000005
+#define NV50_2D_PATTERN_FORMAT 0x000002e8
+#define NV50_2D_PATTERN_FORMAT_16BPP 0x00000000
+#define NV50_2D_PATTERN_FORMAT_15BPP 0x00000001
+#define NV50_2D_PATTERN_FORMAT_32BPP 0x00000002
+#define NV50_2D_PATTERN_FORMAT_8BPP 0x00000003
+#define NV50_2D_PATTERN_COLOR(x) (0x000002f0+((x)*4))
+#define NV50_2D_PATTERN_COLOR__SIZE 0x00000002
+#define NV50_2D_PATTERN_BITMAP(x) (0x000002f8+((x)*4))
+#define NV50_2D_PATTERN_BITMAP__SIZE 0x00000002
+#define NV50_2D_DRAW_SHAPE 0x00000580
+#define NV50_2D_DRAW_SHAPE_POINTS 0x00000000
+#define NV50_2D_DRAW_SHAPE_LINES 0x00000001
+#define NV50_2D_DRAW_SHAPE_LINE_STRIP 0x00000002
+#define NV50_2D_DRAW_SHAPE_TRIANGLES 0x00000003
+#define NV50_2D_DRAW_SHAPE_RECTANGLES 0x00000004
+#define NV50_2D_DRAW_COLOR_FORMAT 0x00000584
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_DRAW_COLOR_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_DRAW_COLOR_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_DRAW_COLOR_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_DRAW_COLOR_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_DRAW_COLOR_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_DRAW_COLOR_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_DRAW_COLOR_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_DRAW_COLOR_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_DRAW_COLOR_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_DRAW_COLOR_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_DRAW_COLOR_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_DRAW_COLOR_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_DRAW_COLOR_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_DRAW_COLOR_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_DRAW_COLOR_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_DRAW_COLOR_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_DRAW_COLOR_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_DRAW_COLOR 0x00000588
+#define NV50_2D_DRAW_POINT16 0x000005e0
+#define NV50_2D_DRAW_POINT16_X_SHIFT 0
+#define NV50_2D_DRAW_POINT16_X_MASK 0x0000ffff
+#define NV50_2D_DRAW_POINT16_Y_SHIFT 16
+#define NV50_2D_DRAW_POINT16_Y_MASK 0xffff0000
+#define NV50_2D_DRAW_POINT32_X(x) (0x00000600+((x)*8))
+#define NV50_2D_DRAW_POINT32_X__SIZE 0x00000040
+#define NV50_2D_DRAW_POINT32_Y(x) (0x00000604+((x)*8))
+#define NV50_2D_DRAW_POINT32_Y__SIZE 0x00000040
+#define NV50_2D_SIFC_BITMAP_ENABLE 0x00000800
+#define NV50_2D_SIFC_FORMAT 0x00000804
+#define NV50_2D_SIFC_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50_2D_SIFC_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50_2D_SIFC_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50_2D_SIFC_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50_2D_SIFC_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50_2D_SIFC_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50_2D_SIFC_FORMAT_R32G32_SINT 0x000000cc
+#define NV50_2D_SIFC_FORMAT_R32G32_UINT 0x000000cd
+#define NV50_2D_SIFC_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50_2D_SIFC_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50_2D_SIFC_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50_2D_SIFC_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50_2D_SIFC_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50_2D_SIFC_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50_2D_SIFC_FORMAT_R16G16_UNORM 0x000000da
+#define NV50_2D_SIFC_FORMAT_R16G16_SNORM 0x000000db
+#define NV50_2D_SIFC_FORMAT_R16G16_SINT 0x000000dc
+#define NV50_2D_SIFC_FORMAT_R16G16_UINT 0x000000dd
+#define NV50_2D_SIFC_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50_2D_SIFC_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50_2D_SIFC_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50_2D_SIFC_FORMAT_R32_FLOAT 0x000000e5
+#define NV50_2D_SIFC_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50_2D_SIFC_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50_2D_SIFC_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50_2D_SIFC_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50_2D_SIFC_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50_2D_SIFC_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50_2D_SIFC_FORMAT_R8G8_SINT 0x000000ec
+#define NV50_2D_SIFC_FORMAT_R8G8_UINT 0x000000ed
+#define NV50_2D_SIFC_FORMAT_R16_UNORM 0x000000ee
+#define NV50_2D_SIFC_FORMAT_R16_SNORM 0x000000ef
+#define NV50_2D_SIFC_FORMAT_R16_SINT 0x000000f0
+#define NV50_2D_SIFC_FORMAT_R16_UINT 0x000000f1
+#define NV50_2D_SIFC_FORMAT_R16_FLOAT 0x000000f2
+#define NV50_2D_SIFC_FORMAT_R8_UNORM 0x000000f3
+#define NV50_2D_SIFC_FORMAT_R8_SNORM 0x000000f4
+#define NV50_2D_SIFC_FORMAT_R8_SINT 0x000000f5
+#define NV50_2D_SIFC_FORMAT_R8_UINT 0x000000f6
+#define NV50_2D_SIFC_FORMAT_A8_UNORM 0x000000f7
+#define NV50_2D_SIFC_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50_2D_SIFC_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50_2D_SIFC_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50_2D_SIFC_BITMAP_UNK808 0x00000808
+#define NV50_2D_SIFC_BITMAP_LSB_FIRST 0x0000080c
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE 0x00000810
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_PACKED 0x00000000
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_BYTE 0x00000001
+#define NV50_2D_SIFC_BITMAP_LINE_PACK_MODE_ALIGN_WORD 0x00000002
+#define NV50_2D_SIFC_BITMAP_COLOR_BIT0 0x00000814
+#define NV50_2D_SIFC_BITMAP_COLOR_BIT1 0x00000818
+#define NV50_2D_SIFC_BITMAP_WRITE_BIT0_ENABLE 0x0000081c
+#define NV50_2D_SIFC_WIDTH 0x00000838
+#define NV50_2D_SIFC_HEIGHT 0x0000083c
+#define NV50_2D_SIFC_DX_DU_FRACT 0x00000840
+#define NV50_2D_SIFC_DX_DU_INT 0x00000844
+#define NV50_2D_SIFC_DY_DV_FRACT 0x00000848
+#define NV50_2D_SIFC_DY_DV_INT 0x0000084c
+#define NV50_2D_SIFC_DST_X_FRACT 0x00000850
+#define NV50_2D_SIFC_DST_X_INT 0x00000854
+#define NV50_2D_SIFC_DST_Y_FRACT 0x00000858
+#define NV50_2D_SIFC_DST_Y_INT 0x0000085c
+#define NV50_2D_SIFC_DATA 0x00000860
+#define NV50_2D_BLIT_DST_X 0x000008b0
+#define NV50_2D_BLIT_DST_Y 0x000008b4
+#define NV50_2D_BLIT_DST_W 0x000008b8
+#define NV50_2D_BLIT_DST_H 0x000008bc
+#define NV50_2D_BLIT_DU_DX_FRACT 0x000008c0
+#define NV50_2D_BLIT_DU_DX_INT 0x000008c4
+#define NV50_2D_BLIT_DV_DY_FRACT 0x000008c8
+#define NV50_2D_BLIT_DV_DY_INT 0x000008cc
+#define NV50_2D_BLIT_SRC_X_FRACT 0x000008d0
+#define NV50_2D_BLIT_SRC_X_INT 0x000008d4
+#define NV50_2D_BLIT_SRC_Y_FRACT 0x000008d8
+#define NV50_2D_BLIT_SRC_Y_INT 0x000008dc
+
+
+#define NV50TCL 0x00005097
+
+#define NV50TCL_NOP 0x00000100
+#define NV50TCL_NOTIFY 0x00000104
+#define NV50TCL_SERIALIZE 0x00000110
+#define NV50TCL_DMA_NOTIFY 0x00000180
+#define NV50TCL_DMA_ZETA 0x00000184
+#define NV50TCL_DMA_QUERY 0x00000188
+#define NV50TCL_DMA_VTXBUF0 0x0000018c
+#define NV50TCL_DMA_LOCAL 0x00000190
+#define NV50TCL_DMA_STACK 0x00000194
+#define NV50TCL_DMA_CODE_CB 0x00000198
+#define NV50TCL_DMA_TSC 0x0000019c
+#define NV50TCL_DMA_TIC 0x000001a0
+#define NV50TCL_DMA_TEXTURE 0x000001a4
+#define NV50TCL_DMA_STRMOUT 0x000001a8
+#define NV50TCL_DMA_UNK01AC 0x000001ac
+#define NV50TCL_DMA_COLOR(x) (0x000001c0+((x)*4))
+#define NV50TCL_DMA_COLOR__SIZE 0x00000008
+#define NV50TCL_RT_ADDRESS_HIGH(x) (0x00000200+((x)*32))
+#define NV50TCL_RT_ADDRESS_HIGH__SIZE 0x00000008
+#define NV50TCL_RT_ADDRESS_LOW(x) (0x00000204+((x)*32))
+#define NV50TCL_RT_ADDRESS_LOW__SIZE 0x00000008
+#define NV50TCL_RT_FORMAT(x) (0x00000208+((x)*32))
+#define NV50TCL_RT_FORMAT__SIZE 0x00000008
+#define NV50TCL_RT_FORMAT_R32G32B32A32_FLOAT 0x000000c0
+#define NV50TCL_RT_FORMAT_R32G32B32A32_SINT 0x000000c1
+#define NV50TCL_RT_FORMAT_R32G32B32A32_UINT 0x000000c2
+#define NV50TCL_RT_FORMAT_R32G32B32X32_FLOAT 0x000000c3
+#define NV50TCL_RT_FORMAT_R16G16B16A16_UNORM 0x000000c6
+#define NV50TCL_RT_FORMAT_R16G16B16A16_SNORM 0x000000c7
+#define NV50TCL_RT_FORMAT_R16G16B16A16_SINT 0x000000c8
+#define NV50TCL_RT_FORMAT_R16G16B16A16_UINT 0x000000c9
+#define NV50TCL_RT_FORMAT_R16G16B16A16_FLOAT 0x000000ca
+#define NV50TCL_RT_FORMAT_R32G32_FLOAT 0x000000cb
+#define NV50TCL_RT_FORMAT_R32G32_SINT 0x000000cc
+#define NV50TCL_RT_FORMAT_R32G32_UINT 0x000000cd
+#define NV50TCL_RT_FORMAT_R16G16B16X16_FLOAT 0x000000ce
+#define NV50TCL_RT_FORMAT_A8R8G8B8_UNORM 0x000000cf
+#define NV50TCL_RT_FORMAT_A8R8G8B8_SRGB 0x000000d0
+#define NV50TCL_RT_FORMAT_A2B10G10R10_UNORM 0x000000d1
+#define NV50TCL_RT_FORMAT_A2B10G10R10_UINT 0x000000d2
+#define NV50TCL_RT_FORMAT_A8B8G8R8_UNORM 0x000000d5
+#define NV50TCL_RT_FORMAT_A8B8G8R8_SRGB 0x000000d6
+#define NV50TCL_RT_FORMAT_A8B8G8R8_SNORM 0x000000d7
+#define NV50TCL_RT_FORMAT_A8B8G8R8_SINT 0x000000d8
+#define NV50TCL_RT_FORMAT_A8B8G8R8_UINT 0x000000d9
+#define NV50TCL_RT_FORMAT_R16G16_UNORM 0x000000da
+#define NV50TCL_RT_FORMAT_R16G16_SNORM 0x000000db
+#define NV50TCL_RT_FORMAT_R16G16_SINT 0x000000dc
+#define NV50TCL_RT_FORMAT_R16G16_UINT 0x000000dd
+#define NV50TCL_RT_FORMAT_R16G16_FLOAT 0x000000de
+#define NV50TCL_RT_FORMAT_A2R10G10B10_UNORM 0x000000df
+#define NV50TCL_RT_FORMAT_B10G11R11_FLOAT 0x000000e0
+#define NV50TCL_RT_FORMAT_R32_FLOAT 0x000000e5
+#define NV50TCL_RT_FORMAT_X8R8G8B8_UNORM 0x000000e6
+#define NV50TCL_RT_FORMAT_X8R8G8B8_SRGB 0x000000e7
+#define NV50TCL_RT_FORMAT_R5G6B5_UNORM 0x000000e8
+#define NV50TCL_RT_FORMAT_A1R5G5B5_UNORM 0x000000e9
+#define NV50TCL_RT_FORMAT_R8G8_UNORM 0x000000ea
+#define NV50TCL_RT_FORMAT_R8G8_SNORM 0x000000eb
+#define NV50TCL_RT_FORMAT_R8G8_SINT 0x000000ec
+#define NV50TCL_RT_FORMAT_R8G8_UINT 0x000000ed
+#define NV50TCL_RT_FORMAT_R16_UNORM 0x000000ee
+#define NV50TCL_RT_FORMAT_R16_SNORM 0x000000ef
+#define NV50TCL_RT_FORMAT_R16_SINT 0x000000f0
+#define NV50TCL_RT_FORMAT_R16_UINT 0x000000f1
+#define NV50TCL_RT_FORMAT_R16_FLOAT 0x000000f2
+#define NV50TCL_RT_FORMAT_R8_UNORM 0x000000f3
+#define NV50TCL_RT_FORMAT_R8_SNORM 0x000000f4
+#define NV50TCL_RT_FORMAT_R8_SINT 0x000000f5
+#define NV50TCL_RT_FORMAT_R8_UINT 0x000000f6
+#define NV50TCL_RT_FORMAT_A8_UNORM 0x000000f7
+#define NV50TCL_RT_FORMAT_X1R5G5B5_UNORM 0x000000f8
+#define NV50TCL_RT_FORMAT_X8B8G8R8_UNORM 0x000000f9
+#define NV50TCL_RT_FORMAT_X8B8G8R8_SRGB 0x000000fa
+#define NV50TCL_RT_TILE_MODE(x) (0x0000020c+((x)*32))
+#define NV50TCL_RT_TILE_MODE__SIZE 0x00000008
+#define NV50TCL_RT_LAYER_STRIDE(x) (0x00000210+((x)*32))
+#define NV50TCL_RT_LAYER_STRIDE__SIZE 0x00000008
+#define NV50TCL_VTX_ATTR_1F(x) (0x00000300+((x)*4))
+#define NV50TCL_VTX_ATTR_1F__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2H(x) (0x00000340+((x)*4))
+#define NV50TCL_VTX_ATTR_2H__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2H_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_2H_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_2H_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_2H_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_2F_X(x) (0x00000380+((x)*8))
+#define NV50TCL_VTX_ATTR_2F_X__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2F_Y(x) (0x00000384+((x)*8))
+#define NV50TCL_VTX_ATTR_2F_Y__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_3F_X(x) (0x00000400+((x)*16))
+#define NV50TCL_VTX_ATTR_3F_X__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_3F_Y(x) (0x00000404+((x)*16))
+#define NV50TCL_VTX_ATTR_3F_Y__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_3F_Z(x) (0x00000408+((x)*16))
+#define NV50TCL_VTX_ATTR_3F_Z__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_X(x) (0x00000500+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_X__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_Y(x) (0x00000504+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_Y__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_Z(x) (0x00000508+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_Z__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4F_W(x) (0x0000050c+((x)*16))
+#define NV50TCL_VTX_ATTR_4F_W__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4H_0(x) (0x00000600+((x)*8))
+#define NV50TCL_VTX_ATTR_4H_0__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4H_0_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4H_0_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4H_0_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_4H_0_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4H_1(x) (0x00000604+((x)*8))
+#define NV50TCL_VTX_ATTR_4H_1__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4H_1_Z_SHIFT 0
+#define NV50TCL_VTX_ATTR_4H_1_Z_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4H_1_W_SHIFT 16
+#define NV50TCL_VTX_ATTR_4H_1_W_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_2I(x) (0x00000680+((x)*4))
+#define NV50TCL_VTX_ATTR_2I__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2I_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_2I_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_2I_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_2I_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_2NI(x) (0x000006c0+((x)*4))
+#define NV50TCL_VTX_ATTR_2NI__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_2NI_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_2NI_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_2NI_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_2NI_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4I_0(x) (0x00000700+((x)*8))
+#define NV50TCL_VTX_ATTR_4I_0__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4I_0_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4I_0_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4I_0_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_4I_0_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4I_1(x) (0x00000704+((x)*8))
+#define NV50TCL_VTX_ATTR_4I_1__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4I_1_Z_SHIFT 0
+#define NV50TCL_VTX_ATTR_4I_1_Z_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4I_1_W_SHIFT 16
+#define NV50TCL_VTX_ATTR_4I_1_W_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4NI_0(x) (0x00000780+((x)*8))
+#define NV50TCL_VTX_ATTR_4NI_0__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NI_0_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NI_0_X_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4NI_0_Y_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NI_0_Y_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4NI_1(x) (0x00000784+((x)*8))
+#define NV50TCL_VTX_ATTR_4NI_1__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NI_1_Z_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NI_1_Z_MASK 0x0000ffff
+#define NV50TCL_VTX_ATTR_4NI_1_W_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NI_1_W_MASK 0xffff0000
+#define NV50TCL_VTX_ATTR_4UB(x) (0x00000800+((x)*4))
+#define NV50TCL_VTX_ATTR_4UB__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4UB_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4UB_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4UB_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4UB_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4UB_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4UB_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4UB_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4UB_W_MASK 0xff000000
+#define NV50TCL_VTX_ATTR_4B(x) (0x00000840+((x)*4))
+#define NV50TCL_VTX_ATTR_4B__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4B_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4B_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4B_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4B_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4B_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4B_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4B_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4B_W_MASK 0xff000000
+#define NV50TCL_VTX_ATTR_4NUB(x) (0x00000880+((x)*4))
+#define NV50TCL_VTX_ATTR_4NUB__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NUB_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NUB_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4NUB_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4NUB_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4NUB_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NUB_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4NUB_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4NUB_W_MASK 0xff000000
+#define NV50TCL_VTX_ATTR_4NB(x) (0x000008c0+((x)*4))
+#define NV50TCL_VTX_ATTR_4NB__SIZE 0x00000010
+#define NV50TCL_VTX_ATTR_4NB_X_SHIFT 0
+#define NV50TCL_VTX_ATTR_4NB_X_MASK 0x000000ff
+#define NV50TCL_VTX_ATTR_4NB_Y_SHIFT 8
+#define NV50TCL_VTX_ATTR_4NB_Y_MASK 0x0000ff00
+#define NV50TCL_VTX_ATTR_4NB_Z_SHIFT 16
+#define NV50TCL_VTX_ATTR_4NB_Z_MASK 0x00ff0000
+#define NV50TCL_VTX_ATTR_4NB_W_SHIFT 24
+#define NV50TCL_VTX_ATTR_4NB_W_MASK 0xff000000
+#define NV50TCL_VERTEX_ARRAY_FORMAT(x) (0x00000900+((x)*16))
+#define NV50TCL_VERTEX_ARRAY_FORMAT__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_SHIFT 0
+#define NV50TCL_VERTEX_ARRAY_FORMAT_STRIDE_MASK 0x00000fff
+#define NV50TCL_VERTEX_ARRAY_FORMAT_ENABLE (1 << 29)
+#define NV50TCL_VERTEX_ARRAY_START_HIGH(x) (0x00000904+((x)*16))
+#define NV50TCL_VERTEX_ARRAY_START_HIGH__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_START_LOW(x) (0x00000908+((x)*16))
+#define NV50TCL_VERTEX_ARRAY_START_LOW__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_SCALE_X(x) (0x00000a00+((x)*32))
+#define NV50TCL_VIEWPORT_SCALE_X__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_SCALE_Y(x) (0x00000a04+((x)*32))
+#define NV50TCL_VIEWPORT_SCALE_Y__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_SCALE_Z(x) (0x00000a08+((x)*32))
+#define NV50TCL_VIEWPORT_SCALE_Z__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_TRANSLATE_X(x) (0x00000a0c+((x)*32))
+#define NV50TCL_VIEWPORT_TRANSLATE_X__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_TRANSLATE_Y(x) (0x00000a10+((x)*32))
+#define NV50TCL_VIEWPORT_TRANSLATE_Y__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_TRANSLATE_Z(x) (0x00000a14+((x)*32))
+#define NV50TCL_VIEWPORT_TRANSLATE_Z__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_HORIZ(x) (0x00000c00+((x)*16))
+#define NV50TCL_VIEWPORT_HORIZ__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_HORIZ_X_SHIFT 0
+#define NV50TCL_VIEWPORT_HORIZ_X_MASK 0x0000ffff
+#define NV50TCL_VIEWPORT_HORIZ_W_SHIFT 16
+#define NV50TCL_VIEWPORT_HORIZ_W_MASK 0xffff0000
+#define NV50TCL_VIEWPORT_VERT(x) (0x00000c04+((x)*16))
+#define NV50TCL_VIEWPORT_VERT__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_VERT_Y_SHIFT 0
+#define NV50TCL_VIEWPORT_VERT_Y_MASK 0x0000ffff
+#define NV50TCL_VIEWPORT_VERT_H_SHIFT 16
+#define NV50TCL_VIEWPORT_VERT_H_MASK 0xffff0000
+#define NV50TCL_DEPTH_RANGE_NEAR(x) (0x00000c08+((x)*16))
+#define NV50TCL_DEPTH_RANGE_NEAR__SIZE 0x00000010
+#define NV50TCL_DEPTH_RANGE_FAR(x) (0x00000c0c+((x)*16))
+#define NV50TCL_DEPTH_RANGE_FAR__SIZE 0x00000010
+#define NV50TCL_VIEWPORT_CLIP_HORIZ(x) (0x00000d00+((x)*8))
+#define NV50TCL_VIEWPORT_CLIP_HORIZ__SIZE 0x00000008
+#define NV50TCL_VIEWPORT_CLIP_VERT(x) (0x00000d04+((x)*8))
+#define NV50TCL_VIEWPORT_CLIP_VERT__SIZE 0x00000008
+#define NV50TCL_VERTEX_BUFFER_FIRST 0x00000d74
+#define NV50TCL_VERTEX_BUFFER_COUNT 0x00000d78
+#define NV50TCL_CLEAR_COLOR(x) (0x00000d80+((x)*4))
+#define NV50TCL_CLEAR_COLOR__SIZE 0x00000004
+#define NV50TCL_CLEAR_DEPTH 0x00000d90
+#define NV50TCL_STACK_ADDRESS_HIGH 0x00000d94
+#define NV50TCL_STACK_ADDRESS_LOW 0x00000d98
+#define NV50TCL_STACK_SIZE_LOG 0x00000d9c
+#define NV50TCL_CLEAR_STENCIL 0x00000da0
+#define NV50TCL_STRMOUT_PRIMITIVE_COUNT 0x00000da8
+#define NV50TCL_POLYGON_MODE_FRONT 0x00000dac
+#define NV50TCL_POLYGON_MODE_FRONT_POINT 0x00001b00
+#define NV50TCL_POLYGON_MODE_FRONT_LINE 0x00001b01
+#define NV50TCL_POLYGON_MODE_FRONT_FILL 0x00001b02
+#define NV50TCL_POLYGON_MODE_BACK 0x00000db0
+#define NV50TCL_POLYGON_MODE_BACK_POINT 0x00001b00
+#define NV50TCL_POLYGON_MODE_BACK_LINE 0x00001b01
+#define NV50TCL_POLYGON_MODE_BACK_FILL 0x00001b02
+#define NV50TCL_POLYGON_SMOOTH_ENABLE 0x00000db4
+#define NV50TCL_POLYGON_OFFSET_POINT_ENABLE 0x00000dc0
+#define NV50TCL_POLYGON_OFFSET_LINE_ENABLE 0x00000dc4
+#define NV50TCL_POLYGON_OFFSET_FILL_ENABLE 0x00000dc8
+#define NV50TCL_WATCHDOG_TIMER 0x00000de4
+#define NV50TCL_WINDOW_OFFSET_X 0x00000df8
+#define NV50TCL_WINDOW_OFFSET_Y 0x00000dfc
+#define NV50TCL_SCISSOR_ENABLE(x) (0x00000e00+((x)*16))
+#define NV50TCL_SCISSOR_ENABLE__SIZE 0x00000010
+#define NV50TCL_SCISSOR_HORIZ(x) (0x00000e04+((x)*16))
+#define NV50TCL_SCISSOR_HORIZ__SIZE 0x00000010
+#define NV50TCL_SCISSOR_HORIZ_MIN_SHIFT 0
+#define NV50TCL_SCISSOR_HORIZ_MIN_MASK 0x0000ffff
+#define NV50TCL_SCISSOR_HORIZ_MAX_SHIFT 16
+#define NV50TCL_SCISSOR_HORIZ_MAX_MASK 0xffff0000
+#define NV50TCL_SCISSOR_VERT(x) (0x00000e08+((x)*16))
+#define NV50TCL_SCISSOR_VERT__SIZE 0x00000010
+#define NV50TCL_SCISSOR_VERT_MIN_SHIFT 0
+#define NV50TCL_SCISSOR_VERT_MIN_MASK 0x0000ffff
+#define NV50TCL_SCISSOR_VERT_MAX_SHIFT 16
+#define NV50TCL_SCISSOR_VERT_MAX_MASK 0xffff0000
+#define NV50TCL_CB_ADDR 0x00000f00
+#define NV50TCL_CB_ADDR_ID_SHIFT 8
+#define NV50TCL_CB_ADDR_ID_MASK 0x003fff00
+#define NV50TCL_CB_ADDR_BUFFER_SHIFT 0
+#define NV50TCL_CB_ADDR_BUFFER_MASK 0x0000007f
+#define NV50TCL_CB_DATA(x) (0x00000f04+((x)*4))
+#define NV50TCL_CB_DATA__SIZE 0x00000010
+#define NV50TCL_LOCAL_WARPS_LOG_ALLOC 0x00000f44
+#define NV50TCL_LOCAL_WARPS_NO_CLAMP 0x00000f48
+#define NV50TCL_STACK_WARPS_LOG_ALLOC 0x00000f4c
+#define NV50TCL_STACK_WARPS_NO_CLAMP 0x00000f50
+#define NV50TCL_STENCIL_BACK_FUNC_REF 0x00000f54
+#define NV50TCL_STENCIL_BACK_MASK 0x00000f58
+#define NV50TCL_STENCIL_BACK_FUNC_MASK 0x00000f5c
+#define NV50TCL_GP_ADDRESS_HIGH 0x00000f70
+#define NV50TCL_GP_ADDRESS_LOW 0x00000f74
+#define NV50TCL_VP_ADDRESS_HIGH 0x00000f7c
+#define NV50TCL_VP_ADDRESS_LOW 0x00000f80
+#define NV50TCL_UNK0F84_ADDRESS_HIGH 0x00000f84
+#define NV50TCL_UNK0F84_ADDRESS_LOW 0x00000f88
+#define NV50TCL_DEPTH_BOUNDS(x) (0x00000f9c+((x)*4))
+#define NV50TCL_DEPTH_BOUNDS__SIZE 0x00000002
+#define NV50TCL_FP_ADDRESS_HIGH 0x00000fa4
+#define NV50TCL_FP_ADDRESS_LOW 0x00000fa8
+#define NV50TCL_MSAA_MASK(x) (0x00000fbc+((x)*4))
+#define NV50TCL_MSAA_MASK__SIZE 0x00000004
+#define NV50TCL_ZETA_ADDRESS_HIGH 0x00000fe0
+#define NV50TCL_ZETA_ADDRESS_LOW 0x00000fe4
+#define NV50TCL_ZETA_FORMAT 0x00000fe8
+#define NV50TCL_ZETA_FORMAT_Z32_FLOAT 0x0000000a
+#define NV50TCL_ZETA_FORMAT_Z16_UNORM 0x00000013
+#define NV50TCL_ZETA_FORMAT_Z24S8_UNORM 0x00000014
+#define NV50TCL_ZETA_FORMAT_X8Z24_UNORM 0x00000015
+#define NV50TCL_ZETA_FORMAT_S8Z24_UNORM 0x00000016
+#define NV50TCL_ZETA_FORMAT_Z32_FLOAT_X24S8_UNORM 0x00000019
+#define NV50TCL_ZETA_TILE_MODE 0x00000fec
+#define NV50TCL_ZETA_LAYER_STRIDE 0x00000ff0
+#define NV50TCL_SCREEN_SCISSOR_HORIZ 0x00000ff4
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_W_SHIFT 16
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_W_MASK 0xffff0000
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_X_SHIFT 0
+#define NV50TCL_SCREEN_SCISSOR_HORIZ_X_MASK 0x0000ffff
+#define NV50TCL_SCREEN_SCISSOR_VERT 0x00000ff8
+#define NV50TCL_SCREEN_SCISSOR_VERT_H_SHIFT 16
+#define NV50TCL_SCREEN_SCISSOR_VERT_H_MASK 0xffff0000
+#define NV50TCL_SCREEN_SCISSOR_VERT_Y_SHIFT 0
+#define NV50TCL_SCREEN_SCISSOR_VERT_Y_MASK 0x0000ffff
+#define NV50TCL_VERTEX_ARRAY_LIMIT_HIGH(x) (0x00001080+((x)*8))
+#define NV50TCL_VERTEX_ARRAY_LIMIT_HIGH__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_LIMIT_LOW(x) (0x00001084+((x)*8))
+#define NV50TCL_VERTEX_ARRAY_LIMIT_LOW__SIZE 0x00000010
+#define NV50TCL_RT_CONTROL 0x0000121c
+#define NV50TCL_RT_CONTROL_COUNT_SHIFT 0
+#define NV50TCL_RT_CONTROL_COUNT_MASK 0x0000000f
+#define NV50TCL_RT_CONTROL_MAP0_SHIFT 4
+#define NV50TCL_RT_CONTROL_MAP0_MASK 0x00000070
+#define NV50TCL_RT_CONTROL_MAP1_SHIFT 7
+#define NV50TCL_RT_CONTROL_MAP1_MASK 0x00000380
+#define NV50TCL_RT_CONTROL_MAP2_SHIFT 10
+#define NV50TCL_RT_CONTROL_MAP2_MASK 0x00001c00
+#define NV50TCL_RT_CONTROL_MAP3_SHIFT 13
+#define NV50TCL_RT_CONTROL_MAP3_MASK 0x0000e000
+#define NV50TCL_RT_CONTROL_MAP4_SHIFT 16
+#define NV50TCL_RT_CONTROL_MAP4_MASK 0x00070000
+#define NV50TCL_RT_CONTROL_MAP5_SHIFT 19
+#define NV50TCL_RT_CONTROL_MAP5_MASK 0x00380000
+#define NV50TCL_RT_CONTROL_MAP6_SHIFT 22
+#define NV50TCL_RT_CONTROL_MAP6_MASK 0x01c00000
+#define NV50TCL_RT_CONTROL_MAP7_SHIFT 25
+#define NV50TCL_RT_CONTROL_MAP7_MASK 0x0e000000
+#define NV50TCL_RT_ARRAY_MODE 0x00001224
+#define NV50TCL_RT_ARRAY_MODE_LAYERS_SHIFT 0
+#define NV50TCL_RT_ARRAY_MODE_LAYERS_MASK 0x0000ffff
+#define NV50TCL_RT_ARRAY_MODE_VOLUME (1 << 16)
+#define NV50TCL_ZETA_HORIZ 0x00001228
+#define NV50TCL_ZETA_VERT 0x0000122c
+#define NV50TCL_ZETA_ARRAY_MODE 0x00001230
+#define NV50TCL_ZETA_ARRAY_MODE_LAYERS_SHIFT 0
+#define NV50TCL_ZETA_ARRAY_MODE_LAYERS_MASK 0x0000ffff
+#define NV50TCL_ZETA_ARRAY_MODE_UNK (1 << 16)
+#define NV50TCL_LINKED_TSC 0x00001234
+#define NV50TCL_RT_HORIZ(x) (0x00001240+((x)*8))
+#define NV50TCL_RT_HORIZ__SIZE 0x00000008
+#define NV50TCL_RT_VERT(x) (0x00001244+((x)*8))
+#define NV50TCL_RT_VERT__SIZE 0x00000008
+#define NV50TCL_CB_DEF_ADDRESS_HIGH 0x00001280
+#define NV50TCL_CB_DEF_ADDRESS_LOW 0x00001284
+#define NV50TCL_CB_DEF_SET 0x00001288
+#define NV50TCL_CB_DEF_SET_SIZE_SHIFT 0
+#define NV50TCL_CB_DEF_SET_SIZE_MASK 0x0000ffff
+#define NV50TCL_CB_DEF_SET_BUFFER_SHIFT 16
+#define NV50TCL_CB_DEF_SET_BUFFER_MASK 0x007f0000
+#define NV50TCL_STRMOUT_BUFFERS_CTRL 0x00001294
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_INTERLEAVED (1 << 0)
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_SHIFT 4
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_SEPARATE_MASK 0x000000f0
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_SHIFT 8
+#define NV50TCL_STRMOUT_BUFFERS_CTRL_STRIDE_MASK 0x0000ff00
+#define NV50TCL_FP_RESULT_COUNT 0x00001298
+#define NV50TCL_DEPTH_TEST_ENABLE 0x000012cc
+#define NV50TCL_SHADE_MODEL 0x000012d4
+#define NV50TCL_SHADE_MODEL_FLAT 0x00001d00
+#define NV50TCL_SHADE_MODEL_SMOOTH 0x00001d01
+#define NV50TCL_LOCAL_ADDRESS_HIGH 0x000012d8
+#define NV50TCL_LOCAL_ADDRESS_LOW 0x000012dc
+#define NV50TCL_LOCAL_SIZE_LOG 0x000012e0
+#define NV50TCL_DEPTH_WRITE_ENABLE 0x000012e8
+#define NV50TCL_ALPHA_TEST_ENABLE 0x000012ec
+#define NV50TCL_PM_SET(x) (0x000012f0+((x)*4))
+#define NV50TCL_PM_SET__SIZE 0x00000004
+#define NV50TCL_VB_ELEMENT_U8_SETUP 0x00001300
+#define NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_SHIFT 30
+#define NV50TCL_VB_ELEMENT_U8_SETUP_OFFSET_MASK 0xc0000000
+#define NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U8_SETUP_COUNT_MASK 0x3fffffff
+#define NV50TCL_VB_ELEMENT_U8 0x00001304
+#define NV50TCL_VB_ELEMENT_U8_I0_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U8_I0_MASK 0x000000ff
+#define NV50TCL_VB_ELEMENT_U8_I1_SHIFT 8
+#define NV50TCL_VB_ELEMENT_U8_I1_MASK 0x0000ff00
+#define NV50TCL_VB_ELEMENT_U8_I2_SHIFT 16
+#define NV50TCL_VB_ELEMENT_U8_I2_MASK 0x00ff0000
+#define NV50TCL_VB_ELEMENT_U8_I3_SHIFT 24
+#define NV50TCL_VB_ELEMENT_U8_I3_MASK 0xff000000
+#define NV50TCL_DEPTH_TEST_FUNC 0x0000130c
+#define NV50TCL_DEPTH_TEST_FUNC_NEVER 0x00000200
+#define NV50TCL_DEPTH_TEST_FUNC_LESS 0x00000201
+#define NV50TCL_DEPTH_TEST_FUNC_EQUAL 0x00000202
+#define NV50TCL_DEPTH_TEST_FUNC_LEQUAL 0x00000203
+#define NV50TCL_DEPTH_TEST_FUNC_GREATER 0x00000204
+#define NV50TCL_DEPTH_TEST_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_DEPTH_TEST_FUNC_GEQUAL 0x00000206
+#define NV50TCL_DEPTH_TEST_FUNC_ALWAYS 0x00000207
+#define NV50TCL_ALPHA_TEST_REF 0x00001310
+#define NV50TCL_ALPHA_TEST_FUNC 0x00001314
+#define NV50TCL_ALPHA_TEST_FUNC_NEVER 0x00000200
+#define NV50TCL_ALPHA_TEST_FUNC_LESS 0x00000201
+#define NV50TCL_ALPHA_TEST_FUNC_EQUAL 0x00000202
+#define NV50TCL_ALPHA_TEST_FUNC_LEQUAL 0x00000203
+#define NV50TCL_ALPHA_TEST_FUNC_GREATER 0x00000204
+#define NV50TCL_ALPHA_TEST_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_ALPHA_TEST_FUNC_GEQUAL 0x00000206
+#define NV50TCL_ALPHA_TEST_FUNC_ALWAYS 0x00000207
+#define NV50TCL_BLEND_COLOR(x) (0x0000131c+((x)*4))
+#define NV50TCL_BLEND_COLOR__SIZE 0x00000004
+#define NV50TCL_TIC_FLUSH 0x00001330
+#define NV50TCL_TSC_FLUSH 0x00001334
+#define NV50TCL_TEX_CACHE_CTL 0x00001338
+#define NV50TCL_BLEND_EQUATION_RGB 0x00001340
+#define NV50TCL_BLEND_EQUATION_RGB_FUNC_ADD 0x00008006
+#define NV50TCL_BLEND_EQUATION_RGB_MIN 0x00008007
+#define NV50TCL_BLEND_EQUATION_RGB_MAX 0x00008008
+#define NV50TCL_BLEND_EQUATION_RGB_FUNC_SUBTRACT 0x0000800a
+#define NV50TCL_BLEND_EQUATION_RGB_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV50TCL_BLEND_FUNC_SRC_RGB 0x00001344
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_SRC_RGB_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_SRC_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_SRC_RGB_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_SRC_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_FUNC_DST_RGB 0x00001348
+#define NV50TCL_BLEND_FUNC_DST_RGB_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_DST_RGB_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_DST_RGB_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_DST_RGB_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_DST_RGB_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_DST_RGB_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_EQUATION_ALPHA 0x0000134c
+#define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_ADD 0x00008006
+#define NV50TCL_BLEND_EQUATION_ALPHA_MIN 0x00008007
+#define NV50TCL_BLEND_EQUATION_ALPHA_MAX 0x00008008
+#define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_SUBTRACT 0x0000800a
+#define NV50TCL_BLEND_EQUATION_ALPHA_FUNC_REVERSE_SUBTRACT 0x0000800b
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA 0x00001350
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_SRC_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_FUNC_DST_ALPHA 0x00001358
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ZERO 0x00000000
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE 0x00000001
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_COLOR 0x00000300
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_COLOR 0x00000301
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA 0x00000302
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_SRC_ALPHA 0x00000303
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_ALPHA 0x00000304
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_ALPHA 0x00000305
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_DST_COLOR 0x00000306
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_DST_COLOR 0x00000307
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_SRC_ALPHA_SATURATE 0x00000308
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_COLOR 0x00008001
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_COLOR 0x00008002
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_CONSTANT_ALPHA 0x00008003
+#define NV50TCL_BLEND_FUNC_DST_ALPHA_ONE_MINUS_CONSTANT_ALPHA 0x00008004
+#define NV50TCL_BLEND_ENABLE(x) (0x00001360+((x)*4))
+#define NV50TCL_BLEND_ENABLE__SIZE 0x00000008
+#define NV50TCL_STENCIL_FRONT_ENABLE 0x00001380
+#define NV50TCL_STENCIL_FRONT_OP_FAIL 0x00001384
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_FRONT_OP_FAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL 0x00001388
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_FRONT_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS 0x0000138c
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_ZERO 0x00000000
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_INVERT 0x0000150a
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_KEEP 0x00001e00
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR 0x00001e02
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR 0x00001e03
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_FRONT_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC 0x00001390
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_NEVER 0x00000200
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_LESS 0x00000201
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_EQUAL 0x00000202
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_LEQUAL 0x00000203
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_GREATER 0x00000204
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_GEQUAL 0x00000206
+#define NV50TCL_STENCIL_FRONT_FUNC_FUNC_ALWAYS 0x00000207
+#define NV50TCL_STENCIL_FRONT_FUNC_REF 0x00001394
+#define NV50TCL_STENCIL_FRONT_MASK 0x00001398
+#define NV50TCL_STENCIL_FRONT_FUNC_MASK 0x0000139c
+#define NV50TCL_FRAG_COLOR_CLAMP_EN 0x000013a8
+#define NV50TCL_Y_ORIGIN_BOTTOM 0x000013ac
+#define NV50TCL_LINE_WIDTH 0x000013b0
+#define NV50TCL_TEX_LIMITS(x) (0x000013b4+((x)*4))
+#define NV50TCL_TEX_LIMITS__SIZE 0x00000003
+#define NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_SHIFT 0
+#define NV50TCL_TEX_LIMITS_SAMPLERS_LOG2_MASK 0x0000000f
+#define NV50TCL_TEX_LIMITS_TEXTURES_LOG2_SHIFT 4
+#define NV50TCL_TEX_LIMITS_TEXTURES_LOG2_MASK 0x000000f0
+#define NV50TCL_POINT_COORD_REPLACE_MAP(x) (0x000013c0+((x)*4))
+#define NV50TCL_POINT_COORD_REPLACE_MAP__SIZE 0x00000008
+#define NV50TCL_VP_START_ID 0x0000140c
+#define NV50TCL_GP_START_ID 0x00001410
+#define NV50TCL_FP_START_ID 0x00001414
+#define NV50TCL_GP_VERTEX_OUTPUT_COUNT 0x00001420
+#define NV50TCL_VB_ELEMENT_BASE 0x00001434
+#define NV50TCL_CODE_CB_FLUSH 0x00001440
+#define NV50TCL_BIND_TSC(x) (0x00001444+((x)*8))
+#define NV50TCL_BIND_TSC__SIZE 0x00000003
+#define NV50TCL_BIND_TSC_VALID (1 << 0)
+#define NV50TCL_BIND_TSC_SAMPLER_SHIFT 4
+#define NV50TCL_BIND_TSC_SAMPLER_MASK 0x000000f0
+#define NV50TCL_BIND_TSC_TSC_SHIFT 12
+#define NV50TCL_BIND_TSC_TSC_MASK 0x001ff000
+#define NV50TCL_BIND_TIC(x) (0x00001448+((x)*8))
+#define NV50TCL_BIND_TIC__SIZE 0x00000003
+#define NV50TCL_BIND_TIC_VALID (1 << 0)
+#define NV50TCL_BIND_TIC_TEXTURE_SHIFT 1
+#define NV50TCL_BIND_TIC_TEXTURE_MASK 0x000001fe
+#define NV50TCL_BIND_TIC_TIC_SHIFT 9
+#define NV50TCL_BIND_TIC_TIC_MASK 0x7ffffe00
+#define NV50TCL_STRMOUT_MAP(x) (0x00001480+((x)*4))
+#define NV50TCL_STRMOUT_MAP__SIZE 0x00000020
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE 0x00001510
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_0 (1 << 0)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_1 (1 << 1)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_2 (1 << 2)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_3 (1 << 3)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_4 (1 << 4)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_5 (1 << 5)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_6 (1 << 6)
+#define NV50TCL_VP_CLIP_DISTANCE_ENABLE_7 (1 << 7)
+#define NV50TCL_SAMPLECNT_ENABLE 0x00001514
+#define NV50TCL_POINT_SIZE 0x00001518
+#define NV50TCL_POINT_SPRITE_ENABLE 0x00001520
+#define NV50TCL_SAMPLECNT_RESET 0x00001530
+#define NV50TCL_ZETA_ENABLE 0x00001538
+#define NV50TCL_MULTISAMPLE_CTRL 0x0000153c
+#define NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_COVERAGE (1 << 0)
+#define NV50TCL_MULTISAMPLE_CTRL_ALPHA_TO_ONE (1 << 4)
+#define NV50TCL_NOPERSPECTIVE_BITMAP(x) (0x00001540+((x)*4))
+#define NV50TCL_NOPERSPECTIVE_BITMAP__SIZE 0x00000004
+#define NV50TCL_COND_ADDRESS_HIGH 0x00001550
+#define NV50TCL_COND_ADDRESS_LOW 0x00001554
+#define NV50TCL_COND_MODE 0x00001558
+#define NV50TCL_COND_MODE_NEVER 0x00000000
+#define NV50TCL_COND_MODE_ALWAYS 0x00000001
+#define NV50TCL_COND_MODE_RES 0x00000002
+#define NV50TCL_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003
+#define NV50TCL_COND_MODE_RES_OR_ID 0x00000004
+#define NV50TCL_TSC_ADDRESS_HIGH 0x0000155c
+#define NV50TCL_TSC_ADDRESS_LOW 0x00001560
+#define NV50TCL_TSC_LIMIT 0x00001564
+#define NV50TCL_POLYGON_OFFSET_FACTOR 0x0000156c
+#define NV50TCL_LINE_SMOOTH_ENABLE 0x00001570
+#define NV50TCL_TIC_ADDRESS_HIGH 0x00001574
+#define NV50TCL_TIC_ADDRESS_LOW 0x00001578
+#define NV50TCL_TIC_LIMIT 0x0000157c
+#define NV50TCL_PM_CONTROL(x) (0x00001580+((x)*4))
+#define NV50TCL_PM_CONTROL__SIZE 0x00000004
+#define NV50TCL_PM_CONTROL_UNK0 (1 << 0)
+#define NV50TCL_PM_CONTROL_UNK1_SHIFT 4
+#define NV50TCL_PM_CONTROL_UNK1_MASK 0x00000070
+#define NV50TCL_PM_CONTROL_UNK2_SHIFT 8
+#define NV50TCL_PM_CONTROL_UNK2_MASK 0xffffff00
+#define NV50TCL_STENCIL_BACK_ENABLE 0x00001594
+#define NV50TCL_STENCIL_BACK_OP_FAIL 0x00001598
+#define NV50TCL_STENCIL_BACK_OP_FAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_BACK_OP_FAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_BACK_OP_FAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_BACK_OP_FAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_BACK_OP_FAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_BACK_OP_FAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_BACK_OP_FAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_BACK_OP_FAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL 0x0000159c
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_ZERO 0x00000000
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_INVERT 0x0000150a
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_KEEP 0x00001e00
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR 0x00001e02
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR 0x00001e03
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_BACK_OP_ZFAIL_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_BACK_OP_ZPASS 0x000015a0
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_ZERO 0x00000000
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_INVERT 0x0000150a
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_KEEP 0x00001e00
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_REPLACE 0x00001e01
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_INCR 0x00001e02
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_DECR 0x00001e03
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_INCR_WRAP 0x00008507
+#define NV50TCL_STENCIL_BACK_OP_ZPASS_DECR_WRAP 0x00008508
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC 0x000015a4
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_NEVER 0x00000200
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_LESS 0x00000201
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_EQUAL 0x00000202
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_LEQUAL 0x00000203
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_GREATER 0x00000204
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_NOTEQUAL 0x00000205
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206
+#define NV50TCL_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207
+#define NV50TCL_FRAMEBUFFER_SRGB 0x000015b8
+#define NV50TCL_POLYGON_OFFSET_UNITS 0x000015bc
+#define NV50TCL_GP_BUILTIN_RESULT_EN 0x000015cc
+#define NV50TCL_GP_BUILTIN_RESULT_EN_VPORT_IDX (1 << 0)
+#define NV50TCL_GP_BUILTIN_RESULT_EN_LAYER_IDX (1 << 16)
+#define NV50TCL_MULTISAMPLE_SAMPLES_LOG2 0x000015d0
+#define NV50TCL_VERTEX_BEGIN 0x000015dc
+#define NV50TCL_VERTEX_BEGIN_POINTS 0x00000000
+#define NV50TCL_VERTEX_BEGIN_LINES 0x00000001
+#define NV50TCL_VERTEX_BEGIN_LINE_LOOP 0x00000002
+#define NV50TCL_VERTEX_BEGIN_LINE_STRIP 0x00000003
+#define NV50TCL_VERTEX_BEGIN_TRIANGLES 0x00000004
+#define NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP 0x00000005
+#define NV50TCL_VERTEX_BEGIN_TRIANGLE_FAN 0x00000006
+#define NV50TCL_VERTEX_BEGIN_QUADS 0x00000007
+#define NV50TCL_VERTEX_BEGIN_QUAD_STRIP 0x00000008
+#define NV50TCL_VERTEX_BEGIN_POLYGON 0x00000009
+#define NV50TCL_VERTEX_BEGIN_LINES_ADJACENCY 0x0000000a
+#define NV50TCL_VERTEX_BEGIN_LINE_STRIP_ADJACENCY 0x0000000b
+#define NV50TCL_VERTEX_BEGIN_TRIANGLES_ADJACENCY 0x0000000c
+#define NV50TCL_VERTEX_BEGIN_TRIANGLE_STRIP_ADJACENCY 0x0000000d
+#define NV50TCL_VERTEX_END 0x000015e0
+#define NV50TCL_EDGEFLAG_ENABLE 0x000015e4
+#define NV50TCL_VB_ELEMENT_U32 0x000015e8
+#define NV50TCL_VB_ELEMENT_U16_SETUP 0x000015ec
+#define NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_SHIFT 30
+#define NV50TCL_VB_ELEMENT_U16_SETUP_OFFSET_MASK 0xc0000000
+#define NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U16_SETUP_COUNT_MASK 0x3fffffff
+#define NV50TCL_VB_ELEMENT_U16 0x000015f0
+#define NV50TCL_VB_ELEMENT_U16_I0_SHIFT 0
+#define NV50TCL_VB_ELEMENT_U16_I0_MASK 0x0000ffff
+#define NV50TCL_VB_ELEMENT_U16_I1_SHIFT 16
+#define NV50TCL_VB_ELEMENT_U16_I1_MASK 0xffff0000
+#define NV50TCL_VERTEX_DATA 0x00001640
+#define NV50TCL_PRIM_RESTART_ENABLE 0x00001644
+#define NV50TCL_PRIM_RESTART_INDEX 0x00001648
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN 0x0000164c
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID (1 << 0)
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_INSTANCE_ID (1 << 4)
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_PRIMITIVE_ID (1 << 8)
+#define NV50TCL_VP_GP_BUILTIN_ATTR_EN_UNK12 (1 << 12)
+#define NV50TCL_VP_ATTR_EN_0 0x00001650
+#define NV50TCL_VP_ATTR_EN_0_7_SHIFT 28
+#define NV50TCL_VP_ATTR_EN_0_7_MASK 0xf0000000
+#define NV50TCL_VP_ATTR_EN_0_7_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNNN 0x10000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYNN 0x20000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYNN 0x30000000
+#define NV50TCL_VP_ATTR_EN_0_7_NNZN 0x40000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNZN 0x50000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYZN 0x60000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYZN 0x70000000
+#define NV50TCL_VP_ATTR_EN_0_7_NNNW 0x80000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNNW 0x90000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYNW 0xa0000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYNW 0xb0000000
+#define NV50TCL_VP_ATTR_EN_0_7_NNZW 0xc0000000
+#define NV50TCL_VP_ATTR_EN_0_7_XNZW 0xd0000000
+#define NV50TCL_VP_ATTR_EN_0_7_NYZW 0xe0000000
+#define NV50TCL_VP_ATTR_EN_0_7_XYZW 0xf0000000
+#define NV50TCL_VP_ATTR_EN_0_6_SHIFT 24
+#define NV50TCL_VP_ATTR_EN_0_6_MASK 0x0f000000
+#define NV50TCL_VP_ATTR_EN_0_6_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNNN 0x01000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYNN 0x02000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYNN 0x03000000
+#define NV50TCL_VP_ATTR_EN_0_6_NNZN 0x04000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNZN 0x05000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYZN 0x06000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYZN 0x07000000
+#define NV50TCL_VP_ATTR_EN_0_6_NNNW 0x08000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNNW 0x09000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYNW 0x0a000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYNW 0x0b000000
+#define NV50TCL_VP_ATTR_EN_0_6_NNZW 0x0c000000
+#define NV50TCL_VP_ATTR_EN_0_6_XNZW 0x0d000000
+#define NV50TCL_VP_ATTR_EN_0_6_NYZW 0x0e000000
+#define NV50TCL_VP_ATTR_EN_0_6_XYZW 0x0f000000
+#define NV50TCL_VP_ATTR_EN_0_5_SHIFT 20
+#define NV50TCL_VP_ATTR_EN_0_5_MASK 0x00f00000
+#define NV50TCL_VP_ATTR_EN_0_5_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_5_XNNN 0x00100000
+#define NV50TCL_VP_ATTR_EN_0_5_NYNN 0x00200000
+#define NV50TCL_VP_ATTR_EN_0_5_XYNN 0x00300000
+#define NV50TCL_VP_ATTR_EN_0_5_NNZN 0x00400000
+#define NV50TCL_VP_ATTR_EN_0_5_XNZN 0x00500000
+#define NV50TCL_VP_ATTR_EN_0_5_NYZN 0x00600000
+#define NV50TCL_VP_ATTR_EN_0_5_XYZN 0x00700000
+#define NV50TCL_VP_ATTR_EN_0_5_NNNW 0x00800000
+#define NV50TCL_VP_ATTR_EN_0_5_XNNW 0x00900000
+#define NV50TCL_VP_ATTR_EN_0_5_NYNW 0x00a00000
+#define NV50TCL_VP_ATTR_EN_0_5_XYNW 0x00b00000
+#define NV50TCL_VP_ATTR_EN_0_5_NNZW 0x00c00000
+#define NV50TCL_VP_ATTR_EN_0_5_XNZW 0x00d00000
+#define NV50TCL_VP_ATTR_EN_0_5_NYZW 0x00e00000
+#define NV50TCL_VP_ATTR_EN_0_5_XYZW 0x00f00000
+#define NV50TCL_VP_ATTR_EN_0_4_SHIFT 16
+#define NV50TCL_VP_ATTR_EN_0_4_MASK 0x000f0000
+#define NV50TCL_VP_ATTR_EN_0_4_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_4_XNNN 0x00010000
+#define NV50TCL_VP_ATTR_EN_0_4_NYNN 0x00020000
+#define NV50TCL_VP_ATTR_EN_0_4_XYNN 0x00030000
+#define NV50TCL_VP_ATTR_EN_0_4_NNZN 0x00040000
+#define NV50TCL_VP_ATTR_EN_0_4_XNZN 0x00050000
+#define NV50TCL_VP_ATTR_EN_0_4_NYZN 0x00060000
+#define NV50TCL_VP_ATTR_EN_0_4_XYZN 0x00070000
+#define NV50TCL_VP_ATTR_EN_0_4_NNNW 0x00080000
+#define NV50TCL_VP_ATTR_EN_0_4_XNNW 0x00090000
+#define NV50TCL_VP_ATTR_EN_0_4_NYNW 0x000a0000
+#define NV50TCL_VP_ATTR_EN_0_4_XYNW 0x000b0000
+#define NV50TCL_VP_ATTR_EN_0_4_NNZW 0x000c0000
+#define NV50TCL_VP_ATTR_EN_0_4_XNZW 0x000d0000
+#define NV50TCL_VP_ATTR_EN_0_4_NYZW 0x000e0000
+#define NV50TCL_VP_ATTR_EN_0_4_XYZW 0x000f0000
+#define NV50TCL_VP_ATTR_EN_0_3_SHIFT 12
+#define NV50TCL_VP_ATTR_EN_0_3_MASK 0x0000f000
+#define NV50TCL_VP_ATTR_EN_0_3_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_3_XNNN 0x00001000
+#define NV50TCL_VP_ATTR_EN_0_3_NYNN 0x00002000
+#define NV50TCL_VP_ATTR_EN_0_3_XYNN 0x00003000
+#define NV50TCL_VP_ATTR_EN_0_3_NNZN 0x00004000
+#define NV50TCL_VP_ATTR_EN_0_3_XNZN 0x00005000
+#define NV50TCL_VP_ATTR_EN_0_3_NYZN 0x00006000
+#define NV50TCL_VP_ATTR_EN_0_3_XYZN 0x00007000
+#define NV50TCL_VP_ATTR_EN_0_3_NNNW 0x00008000
+#define NV50TCL_VP_ATTR_EN_0_3_XNNW 0x00009000
+#define NV50TCL_VP_ATTR_EN_0_3_NYNW 0x0000a000
+#define NV50TCL_VP_ATTR_EN_0_3_XYNW 0x0000b000
+#define NV50TCL_VP_ATTR_EN_0_3_NNZW 0x0000c000
+#define NV50TCL_VP_ATTR_EN_0_3_XNZW 0x0000d000
+#define NV50TCL_VP_ATTR_EN_0_3_NYZW 0x0000e000
+#define NV50TCL_VP_ATTR_EN_0_3_XYZW 0x0000f000
+#define NV50TCL_VP_ATTR_EN_0_2_SHIFT 8
+#define NV50TCL_VP_ATTR_EN_0_2_MASK 0x00000f00
+#define NV50TCL_VP_ATTR_EN_0_2_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_2_XNNN 0x00000100
+#define NV50TCL_VP_ATTR_EN_0_2_NYNN 0x00000200
+#define NV50TCL_VP_ATTR_EN_0_2_XYNN 0x00000300
+#define NV50TCL_VP_ATTR_EN_0_2_NNZN 0x00000400
+#define NV50TCL_VP_ATTR_EN_0_2_XNZN 0x00000500
+#define NV50TCL_VP_ATTR_EN_0_2_NYZN 0x00000600
+#define NV50TCL_VP_ATTR_EN_0_2_XYZN 0x00000700
+#define NV50TCL_VP_ATTR_EN_0_2_NNNW 0x00000800
+#define NV50TCL_VP_ATTR_EN_0_2_XNNW 0x00000900
+#define NV50TCL_VP_ATTR_EN_0_2_NYNW 0x00000a00
+#define NV50TCL_VP_ATTR_EN_0_2_XYNW 0x00000b00
+#define NV50TCL_VP_ATTR_EN_0_2_NNZW 0x00000c00
+#define NV50TCL_VP_ATTR_EN_0_2_XNZW 0x00000d00
+#define NV50TCL_VP_ATTR_EN_0_2_NYZW 0x00000e00
+#define NV50TCL_VP_ATTR_EN_0_2_XYZW 0x00000f00
+#define NV50TCL_VP_ATTR_EN_0_1_SHIFT 4
+#define NV50TCL_VP_ATTR_EN_0_1_MASK 0x000000f0
+#define NV50TCL_VP_ATTR_EN_0_1_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_1_XNNN 0x00000010
+#define NV50TCL_VP_ATTR_EN_0_1_NYNN 0x00000020
+#define NV50TCL_VP_ATTR_EN_0_1_XYNN 0x00000030
+#define NV50TCL_VP_ATTR_EN_0_1_NNZN 0x00000040
+#define NV50TCL_VP_ATTR_EN_0_1_XNZN 0x00000050
+#define NV50TCL_VP_ATTR_EN_0_1_NYZN 0x00000060
+#define NV50TCL_VP_ATTR_EN_0_1_XYZN 0x00000070
+#define NV50TCL_VP_ATTR_EN_0_1_NNNW 0x00000080
+#define NV50TCL_VP_ATTR_EN_0_1_XNNW 0x00000090
+#define NV50TCL_VP_ATTR_EN_0_1_NYNW 0x000000a0
+#define NV50TCL_VP_ATTR_EN_0_1_XYNW 0x000000b0
+#define NV50TCL_VP_ATTR_EN_0_1_NNZW 0x000000c0
+#define NV50TCL_VP_ATTR_EN_0_1_XNZW 0x000000d0
+#define NV50TCL_VP_ATTR_EN_0_1_NYZW 0x000000e0
+#define NV50TCL_VP_ATTR_EN_0_1_XYZW 0x000000f0
+#define NV50TCL_VP_ATTR_EN_0_0_SHIFT 0
+#define NV50TCL_VP_ATTR_EN_0_0_MASK 0x0000000f
+#define NV50TCL_VP_ATTR_EN_0_0_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_0_0_XNNN 0x00000001
+#define NV50TCL_VP_ATTR_EN_0_0_NYNN 0x00000002
+#define NV50TCL_VP_ATTR_EN_0_0_XYNN 0x00000003
+#define NV50TCL_VP_ATTR_EN_0_0_NNZN 0x00000004
+#define NV50TCL_VP_ATTR_EN_0_0_XNZN 0x00000005
+#define NV50TCL_VP_ATTR_EN_0_0_NYZN 0x00000006
+#define NV50TCL_VP_ATTR_EN_0_0_XYZN 0x00000007
+#define NV50TCL_VP_ATTR_EN_0_0_NNNW 0x00000008
+#define NV50TCL_VP_ATTR_EN_0_0_XNNW 0x00000009
+#define NV50TCL_VP_ATTR_EN_0_0_NYNW 0x0000000a
+#define NV50TCL_VP_ATTR_EN_0_0_XYNW 0x0000000b
+#define NV50TCL_VP_ATTR_EN_0_0_NNZW 0x0000000c
+#define NV50TCL_VP_ATTR_EN_0_0_XNZW 0x0000000d
+#define NV50TCL_VP_ATTR_EN_0_0_NYZW 0x0000000e
+#define NV50TCL_VP_ATTR_EN_0_0_XYZW 0x0000000f
+#define NV50TCL_VP_ATTR_EN_1 0x00001654
+#define NV50TCL_VP_ATTR_EN_1_15_SHIFT 28
+#define NV50TCL_VP_ATTR_EN_1_15_MASK 0xf0000000
+#define NV50TCL_VP_ATTR_EN_1_15_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNNN 0x10000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYNN 0x20000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYNN 0x30000000
+#define NV50TCL_VP_ATTR_EN_1_15_NNZN 0x40000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNZN 0x50000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYZN 0x60000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYZN 0x70000000
+#define NV50TCL_VP_ATTR_EN_1_15_NNNW 0x80000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNNW 0x90000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYNW 0xa0000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYNW 0xb0000000
+#define NV50TCL_VP_ATTR_EN_1_15_NNZW 0xc0000000
+#define NV50TCL_VP_ATTR_EN_1_15_XNZW 0xd0000000
+#define NV50TCL_VP_ATTR_EN_1_15_NYZW 0xe0000000
+#define NV50TCL_VP_ATTR_EN_1_15_XYZW 0xf0000000
+#define NV50TCL_VP_ATTR_EN_1_14_SHIFT 24
+#define NV50TCL_VP_ATTR_EN_1_14_MASK 0x0f000000
+#define NV50TCL_VP_ATTR_EN_1_14_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNNN 0x01000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYNN 0x02000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYNN 0x03000000
+#define NV50TCL_VP_ATTR_EN_1_14_NNZN 0x04000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNZN 0x05000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYZN 0x06000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYZN 0x07000000
+#define NV50TCL_VP_ATTR_EN_1_14_NNNW 0x08000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNNW 0x09000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYNW 0x0a000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYNW 0x0b000000
+#define NV50TCL_VP_ATTR_EN_1_14_NNZW 0x0c000000
+#define NV50TCL_VP_ATTR_EN_1_14_XNZW 0x0d000000
+#define NV50TCL_VP_ATTR_EN_1_14_NYZW 0x0e000000
+#define NV50TCL_VP_ATTR_EN_1_14_XYZW 0x0f000000
+#define NV50TCL_VP_ATTR_EN_1_13_SHIFT 20
+#define NV50TCL_VP_ATTR_EN_1_13_MASK 0x00f00000
+#define NV50TCL_VP_ATTR_EN_1_13_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_13_XNNN 0x00100000
+#define NV50TCL_VP_ATTR_EN_1_13_NYNN 0x00200000
+#define NV50TCL_VP_ATTR_EN_1_13_XYNN 0x00300000
+#define NV50TCL_VP_ATTR_EN_1_13_NNZN 0x00400000
+#define NV50TCL_VP_ATTR_EN_1_13_XNZN 0x00500000
+#define NV50TCL_VP_ATTR_EN_1_13_NYZN 0x00600000
+#define NV50TCL_VP_ATTR_EN_1_13_XYZN 0x00700000
+#define NV50TCL_VP_ATTR_EN_1_13_NNNW 0x00800000
+#define NV50TCL_VP_ATTR_EN_1_13_XNNW 0x00900000
+#define NV50TCL_VP_ATTR_EN_1_13_NYNW 0x00a00000
+#define NV50TCL_VP_ATTR_EN_1_13_XYNW 0x00b00000
+#define NV50TCL_VP_ATTR_EN_1_13_NNZW 0x00c00000
+#define NV50TCL_VP_ATTR_EN_1_13_XNZW 0x00d00000
+#define NV50TCL_VP_ATTR_EN_1_13_NYZW 0x00e00000
+#define NV50TCL_VP_ATTR_EN_1_13_XYZW 0x00f00000
+#define NV50TCL_VP_ATTR_EN_1_12_SHIFT 16
+#define NV50TCL_VP_ATTR_EN_1_12_MASK 0x000f0000
+#define NV50TCL_VP_ATTR_EN_1_12_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_12_XNNN 0x00010000
+#define NV50TCL_VP_ATTR_EN_1_12_NYNN 0x00020000
+#define NV50TCL_VP_ATTR_EN_1_12_XYNN 0x00030000
+#define NV50TCL_VP_ATTR_EN_1_12_NNZN 0x00040000
+#define NV50TCL_VP_ATTR_EN_1_12_XNZN 0x00050000
+#define NV50TCL_VP_ATTR_EN_1_12_NYZN 0x00060000
+#define NV50TCL_VP_ATTR_EN_1_12_XYZN 0x00070000
+#define NV50TCL_VP_ATTR_EN_1_12_NNNW 0x00080000
+#define NV50TCL_VP_ATTR_EN_1_12_XNNW 0x00090000
+#define NV50TCL_VP_ATTR_EN_1_12_NYNW 0x000a0000
+#define NV50TCL_VP_ATTR_EN_1_12_XYNW 0x000b0000
+#define NV50TCL_VP_ATTR_EN_1_12_NNZW 0x000c0000
+#define NV50TCL_VP_ATTR_EN_1_12_XNZW 0x000d0000
+#define NV50TCL_VP_ATTR_EN_1_12_NYZW 0x000e0000
+#define NV50TCL_VP_ATTR_EN_1_12_XYZW 0x000f0000
+#define NV50TCL_VP_ATTR_EN_1_11_SHIFT 12
+#define NV50TCL_VP_ATTR_EN_1_11_MASK 0x0000f000
+#define NV50TCL_VP_ATTR_EN_1_11_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_11_XNNN 0x00001000
+#define NV50TCL_VP_ATTR_EN_1_11_NYNN 0x00002000
+#define NV50TCL_VP_ATTR_EN_1_11_XYNN 0x00003000
+#define NV50TCL_VP_ATTR_EN_1_11_NNZN 0x00004000
+#define NV50TCL_VP_ATTR_EN_1_11_XNZN 0x00005000
+#define NV50TCL_VP_ATTR_EN_1_11_NYZN 0x00006000
+#define NV50TCL_VP_ATTR_EN_1_11_XYZN 0x00007000
+#define NV50TCL_VP_ATTR_EN_1_11_NNNW 0x00008000
+#define NV50TCL_VP_ATTR_EN_1_11_XNNW 0x00009000
+#define NV50TCL_VP_ATTR_EN_1_11_NYNW 0x0000a000
+#define NV50TCL_VP_ATTR_EN_1_11_XYNW 0x0000b000
+#define NV50TCL_VP_ATTR_EN_1_11_NNZW 0x0000c000
+#define NV50TCL_VP_ATTR_EN_1_11_XNZW 0x0000d000
+#define NV50TCL_VP_ATTR_EN_1_11_NYZW 0x0000e000
+#define NV50TCL_VP_ATTR_EN_1_11_XYZW 0x0000f000
+#define NV50TCL_VP_ATTR_EN_1_10_SHIFT 8
+#define NV50TCL_VP_ATTR_EN_1_10_MASK 0x00000f00
+#define NV50TCL_VP_ATTR_EN_1_10_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_10_XNNN 0x00000100
+#define NV50TCL_VP_ATTR_EN_1_10_NYNN 0x00000200
+#define NV50TCL_VP_ATTR_EN_1_10_XYNN 0x00000300
+#define NV50TCL_VP_ATTR_EN_1_10_NNZN 0x00000400
+#define NV50TCL_VP_ATTR_EN_1_10_XNZN 0x00000500
+#define NV50TCL_VP_ATTR_EN_1_10_NYZN 0x00000600
+#define NV50TCL_VP_ATTR_EN_1_10_XYZN 0x00000700
+#define NV50TCL_VP_ATTR_EN_1_10_NNNW 0x00000800
+#define NV50TCL_VP_ATTR_EN_1_10_XNNW 0x00000900
+#define NV50TCL_VP_ATTR_EN_1_10_NYNW 0x00000a00
+#define NV50TCL_VP_ATTR_EN_1_10_XYNW 0x00000b00
+#define NV50TCL_VP_ATTR_EN_1_10_NNZW 0x00000c00
+#define NV50TCL_VP_ATTR_EN_1_10_XNZW 0x00000d00
+#define NV50TCL_VP_ATTR_EN_1_10_NYZW 0x00000e00
+#define NV50TCL_VP_ATTR_EN_1_10_XYZW 0x00000f00
+#define NV50TCL_VP_ATTR_EN_1_9_SHIFT 4
+#define NV50TCL_VP_ATTR_EN_1_9_MASK 0x000000f0
+#define NV50TCL_VP_ATTR_EN_1_9_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_9_XNNN 0x00000010
+#define NV50TCL_VP_ATTR_EN_1_9_NYNN 0x00000020
+#define NV50TCL_VP_ATTR_EN_1_9_XYNN 0x00000030
+#define NV50TCL_VP_ATTR_EN_1_9_NNZN 0x00000040
+#define NV50TCL_VP_ATTR_EN_1_9_XNZN 0x00000050
+#define NV50TCL_VP_ATTR_EN_1_9_NYZN 0x00000060
+#define NV50TCL_VP_ATTR_EN_1_9_XYZN 0x00000070
+#define NV50TCL_VP_ATTR_EN_1_9_NNNW 0x00000080
+#define NV50TCL_VP_ATTR_EN_1_9_XNNW 0x00000090
+#define NV50TCL_VP_ATTR_EN_1_9_NYNW 0x000000a0
+#define NV50TCL_VP_ATTR_EN_1_9_XYNW 0x000000b0
+#define NV50TCL_VP_ATTR_EN_1_9_NNZW 0x000000c0
+#define NV50TCL_VP_ATTR_EN_1_9_XNZW 0x000000d0
+#define NV50TCL_VP_ATTR_EN_1_9_NYZW 0x000000e0
+#define NV50TCL_VP_ATTR_EN_1_9_XYZW 0x000000f0
+#define NV50TCL_VP_ATTR_EN_1_8_SHIFT 0
+#define NV50TCL_VP_ATTR_EN_1_8_MASK 0x0000000f
+#define NV50TCL_VP_ATTR_EN_1_8_NONE 0x00000000
+#define NV50TCL_VP_ATTR_EN_1_8_XNNN 0x00000001
+#define NV50TCL_VP_ATTR_EN_1_8_NYNN 0x00000002
+#define NV50TCL_VP_ATTR_EN_1_8_XYNN 0x00000003
+#define NV50TCL_VP_ATTR_EN_1_8_NNZN 0x00000004
+#define NV50TCL_VP_ATTR_EN_1_8_XNZN 0x00000005
+#define NV50TCL_VP_ATTR_EN_1_8_NYZN 0x00000006
+#define NV50TCL_VP_ATTR_EN_1_8_XYZN 0x00000007
+#define NV50TCL_VP_ATTR_EN_1_8_NNNW 0x00000008
+#define NV50TCL_VP_ATTR_EN_1_8_XNNW 0x00000009
+#define NV50TCL_VP_ATTR_EN_1_8_NYNW 0x0000000a
+#define NV50TCL_VP_ATTR_EN_1_8_XYNW 0x0000000b
+#define NV50TCL_VP_ATTR_EN_1_8_NNZW 0x0000000c
+#define NV50TCL_VP_ATTR_EN_1_8_XNZW 0x0000000d
+#define NV50TCL_VP_ATTR_EN_1_8_NYZW 0x0000000e
+#define NV50TCL_VP_ATTR_EN_1_8_XYZW 0x0000000f
+#define NV50TCL_POINT_SPRITE_CTRL 0x00001660
+#define NV50TCL_LINE_STIPPLE_ENABLE 0x0000166c
+#define NV50TCL_LINE_STIPPLE_PATTERN 0x00001680
+#define NV50TCL_PROVOKING_VERTEX_LAST 0x00001684
+#define NV50TCL_VERTEX_TWO_SIDE_ENABLE 0x00001688
+#define NV50TCL_POLYGON_STIPPLE_ENABLE 0x0000168c
+#define NV50TCL_SET_PROGRAM_CB 0x00001694
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_SHIFT 4
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_MASK 0x000000f0
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_VERTEX 0x00000000
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_GEOMETRY 0x00000020
+#define NV50TCL_SET_PROGRAM_CB_PROGRAM_FRAGMENT 0x00000030
+#define NV50TCL_SET_PROGRAM_CB_INDEX_SHIFT 8
+#define NV50TCL_SET_PROGRAM_CB_INDEX_MASK 0x00000f00
+#define NV50TCL_SET_PROGRAM_CB_BUFFER_SHIFT 12
+#define NV50TCL_SET_PROGRAM_CB_BUFFER_MASK 0x0007f000
+#define NV50TCL_SET_PROGRAM_CB_VALID (1 << 0)
+#define NV50TCL_VP_RESULT_MAP_SIZE 0x000016ac
+#define NV50TCL_VP_REG_ALLOC_TEMP 0x000016b0
+#define NV50TCL_VP_REG_ALLOC_RESULT 0x000016b8
+#define NV50TCL_VP_RESULT_MAP(x) (0x000016bc+((x)*4))
+#define NV50TCL_VP_RESULT_MAP__SIZE 0x00000010
+#define NV50TCL_VP_RESULT_MAP_0_SHIFT 0
+#define NV50TCL_VP_RESULT_MAP_0_MASK 0x000000ff
+#define NV50TCL_VP_RESULT_MAP_1_SHIFT 8
+#define NV50TCL_VP_RESULT_MAP_1_MASK 0x0000ff00
+#define NV50TCL_VP_RESULT_MAP_2_SHIFT 16
+#define NV50TCL_VP_RESULT_MAP_2_MASK 0x00ff0000
+#define NV50TCL_VP_RESULT_MAP_3_SHIFT 24
+#define NV50TCL_VP_RESULT_MAP_3_MASK 0xff000000
+#define NV50TCL_POLYGON_STIPPLE_PATTERN(x) (0x00001700+((x)*4))
+#define NV50TCL_POLYGON_STIPPLE_PATTERN__SIZE 0x00000020
+#define NV50TCL_GP_ENABLE 0x00001798
+#define NV50TCL_GP_REG_ALLOC_TEMP 0x000017a0
+#define NV50TCL_GP_REG_ALLOC_RESULT 0x000017a8
+#define NV50TCL_GP_RESULT_MAP_SIZE 0x000017ac
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE 0x000017b0
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_POINTS 0x00000001
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_LINE_STRIP 0x00000002
+#define NV50TCL_GP_OUTPUT_PRIMITIVE_TYPE_TRIANGLE_STRIP 0x00000003
+#define NV50TCL_RASTERIZE_ENABLE 0x000017b4
+#define NV50TCL_STRMOUT_ENABLE 0x000017b8
+#define NV50TCL_GP_RESULT_MAP(x) (0x000017fc+((x)*4))
+#define NV50TCL_GP_RESULT_MAP__SIZE 0x00000020
+#define NV50TCL_GP_RESULT_MAP_0_SHIFT 0
+#define NV50TCL_GP_RESULT_MAP_0_MASK 0x000000ff
+#define NV50TCL_GP_RESULT_MAP_1_SHIFT 8
+#define NV50TCL_GP_RESULT_MAP_1_MASK 0x0000ff00
+#define NV50TCL_GP_RESULT_MAP_2_SHIFT 16
+#define NV50TCL_GP_RESULT_MAP_2_MASK 0x00ff0000
+#define NV50TCL_GP_RESULT_MAP_3_SHIFT 24
+#define NV50TCL_GP_RESULT_MAP_3_MASK 0xff000000
+#define NV50TCL_MAP_SEMANTIC_0 0x00001904
+#define NV50TCL_MAP_SEMANTIC_0_FFC0_ID_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_0_FFC0_ID_MASK 0x000000ff
+#define NV50TCL_MAP_SEMANTIC_0_BFC0_ID_SHIFT 8
+#define NV50TCL_MAP_SEMANTIC_0_BFC0_ID_MASK 0x0000ff00
+#define NV50TCL_MAP_SEMANTIC_0_COLR_NR_SHIFT 16
+#define NV50TCL_MAP_SEMANTIC_0_COLR_NR_MASK 0x00ff0000
+#define NV50TCL_MAP_SEMANTIC_0_CLMP_EN_SHIFT 24
+#define NV50TCL_MAP_SEMANTIC_0_CLMP_EN_MASK 0xff000000
+#define NV50TCL_MAP_SEMANTIC_1 0x00001908
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_LO_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_LO_MASK 0x000000ff
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_HI_SHIFT 8
+#define NV50TCL_MAP_SEMANTIC_1_CLIP_HI_MASK 0x0000ff00
+#define NV50TCL_MAP_SEMANTIC_2 0x0000190c
+#define NV50TCL_MAP_SEMANTIC_2_LAYER_ID_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_2_LAYER_ID_MASK 0x000000ff
+#define NV50TCL_MAP_SEMANTIC_3 0x00001910
+#define NV50TCL_MAP_SEMANTIC_3_PTSZ_EN (1 << 0)
+#define NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_SHIFT 4
+#define NV50TCL_MAP_SEMANTIC_3_PTSZ_ID_MASK 0x00000ff0
+#define NV50TCL_MAP_SEMANTIC_4 0x00001914
+#define NV50TCL_MAP_SEMANTIC_4_PRIM_ID_SHIFT 0
+#define NV50TCL_MAP_SEMANTIC_4_PRIM_ID_MASK 0x000000ff
+#define NV50TCL_CULL_FACE_ENABLE 0x00001918
+#define NV50TCL_FRONT_FACE 0x0000191c
+#define NV50TCL_FRONT_FACE_CW 0x00000900
+#define NV50TCL_FRONT_FACE_CCW 0x00000901
+#define NV50TCL_CULL_FACE 0x00001920
+#define NV50TCL_CULL_FACE_FRONT 0x00000404
+#define NV50TCL_CULL_FACE_BACK 0x00000405
+#define NV50TCL_CULL_FACE_FRONT_AND_BACK 0x00000408
+#define NV50TCL_VIEWPORT_TRANSFORM_EN 0x0000192c
+#define NV50TCL_VIEW_VOLUME_CLIP_CTRL 0x0000193c
+#define NV50TCL_VIEWPORT_CLIP_RECTS_EN 0x0000194c
+#define NV50TCL_FP_CTRL_UNK196C 0x0000196c
+#define NV50TCL_FP_INTERPOLANT_CTRL 0x00001988
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_SHIFT 24
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_MASK 0xff000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NONE 0x00000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNN 0x01000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNN 0x02000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNN 0x03000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZN 0x04000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZN 0x05000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZN 0x06000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZN 0x07000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNNW 0x08000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNNW 0x09000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYNW 0x0a000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYNW 0x0b000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NNZW 0x0c000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XNZW 0x0d000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_NYZW 0x0e000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_UMASK_XYZW 0x0f000000
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_SHIFT 16
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_NONFLAT_MASK 0x00ff0000
+#define NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_SHIFT 8
+#define NV50TCL_FP_INTERPOLANT_CTRL_OFFSET_MASK 0x0000ff00
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_SHIFT 0
+#define NV50TCL_FP_INTERPOLANT_CTRL_COUNT_MASK 0x000000ff
+#define NV50TCL_FP_REG_ALLOC_TEMP 0x0000198c
+#define NV50TCL_WARP_HALVES 0x000019a0
+#define NV50TCL_FP_CONTROL 0x000019a8
+#define NV50TCL_FP_CONTROL_MULTIPLE_RESULTS (1 << 0)
+#define NV50TCL_FP_CONTROL_EXPORTS_Z (1 << 8)
+#define NV50TCL_FP_CONTROL_USES_KIL (1 << 20)
+#define NV50TCL_DEPTH_BOUNDS_EN 0x000019bc
+#define NV50TCL_LOGIC_OP_ENABLE 0x000019c4
+#define NV50TCL_LOGIC_OP 0x000019c8
+#define NV50TCL_LOGIC_OP_CLEAR 0x00001500
+#define NV50TCL_LOGIC_OP_AND 0x00001501
+#define NV50TCL_LOGIC_OP_AND_REVERSE 0x00001502
+#define NV50TCL_LOGIC_OP_COPY 0x00001503
+#define NV50TCL_LOGIC_OP_AND_INVERTED 0x00001504
+#define NV50TCL_LOGIC_OP_NOOP 0x00001505
+#define NV50TCL_LOGIC_OP_XOR 0x00001506
+#define NV50TCL_LOGIC_OP_OR 0x00001507
+#define NV50TCL_LOGIC_OP_NOR 0x00001508
+#define NV50TCL_LOGIC_OP_EQUIV 0x00001509
+#define NV50TCL_LOGIC_OP_INVERT 0x0000150a
+#define NV50TCL_LOGIC_OP_OR_REVERSE 0x0000150b
+#define NV50TCL_LOGIC_OP_COPY_INVERTED 0x0000150c
+#define NV50TCL_LOGIC_OP_OR_INVERTED 0x0000150d
+#define NV50TCL_LOGIC_OP_NAND 0x0000150e
+#define NV50TCL_LOGIC_OP_SET 0x0000150f
+#define NV50TCL_CLEAR_BUFFERS 0x000019d0
+#define NV50TCL_CLEAR_BUFFERS_Z (1 << 0)
+#define NV50TCL_CLEAR_BUFFERS_S (1 << 1)
+#define NV50TCL_CLEAR_BUFFERS_R (1 << 2)
+#define NV50TCL_CLEAR_BUFFERS_G (1 << 3)
+#define NV50TCL_CLEAR_BUFFERS_B (1 << 4)
+#define NV50TCL_CLEAR_BUFFERS_A (1 << 5)
+#define NV50TCL_CLEAR_BUFFERS_RT_SHIFT 6
+#define NV50TCL_CLEAR_BUFFERS_RT_MASK 0x000003c0
+#define NV50TCL_CLEAR_BUFFERS_LAYER_SHIFT 10
+#define NV50TCL_CLEAR_BUFFERS_LAYER_MASK 0x0007fc00
+#define NV50TCL_COLOR_MASK(x) (0x00001a00+((x)*4))
+#define NV50TCL_COLOR_MASK__SIZE 0x00000008
+#define NV50TCL_COLOR_MASK_R_SHIFT 0
+#define NV50TCL_COLOR_MASK_R_MASK 0x0000000f
+#define NV50TCL_COLOR_MASK_G_SHIFT 4
+#define NV50TCL_COLOR_MASK_G_MASK 0x000000f0
+#define NV50TCL_COLOR_MASK_B_SHIFT 8
+#define NV50TCL_COLOR_MASK_B_MASK 0x00000f00
+#define NV50TCL_COLOR_MASK_A_SHIFT 12
+#define NV50TCL_COLOR_MASK_A_MASK 0x0000f000
+#define NV50TCL_STRMOUT_ADDRESS_HIGH(x) (0x00001a80+((x)*16))
+#define NV50TCL_STRMOUT_ADDRESS_HIGH__SIZE 0x00000004
+#define NV50TCL_STRMOUT_ADDRESS_LOW(x) (0x00001a84+((x)*16))
+#define NV50TCL_STRMOUT_ADDRESS_LOW__SIZE 0x00000004
+#define NV50TCL_STRMOUT_NUM_ATTRIBS(x) (0x00001a88+((x)*16))
+#define NV50TCL_STRMOUT_NUM_ATTRIBS__SIZE 0x00000004
+#define NV50TCL_VERTEX_ARRAY_ATTRIB(x) (0x00001ac0+((x)*4))
+#define NV50TCL_VERTEX_ARRAY_ATTRIB__SIZE 0x00000010
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_SHIFT 0
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_BUFFER_MASK 0x0000000f
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_CONST (1 << 4)
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_SHIFT 5
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_OFFSET_MASK 0x0007ffe0
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_SHIFT 19
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_MASK 0x01f80000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32_32 0x00080000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32_32 0x00100000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16_16 0x00180000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32_32 0x00200000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16_16 0x00280000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8_8 0x00500000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16_16 0x00780000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_32 0x00900000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8_8 0x00980000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8_8 0x00c00000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_16 0x00d80000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_FORMAT_8 0x00e80000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SHIFT 25
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_MASK 0x7e000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT 0x7e000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM 0x24000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM 0x12000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED 0x5a000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED 0x6c000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT 0x48000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SINT 0x36000000
+#define NV50TCL_VERTEX_ARRAY_ATTRIB_BGRA (1 << 31)
+#define NV50TCL_QUERY_ADDRESS_HIGH 0x00001b00
+#define NV50TCL_QUERY_ADDRESS_LOW 0x00001b04
+#define NV50TCL_QUERY_COUNTER 0x00001b08
+#define NV50TCL_QUERY_GET 0x00001b0c
+
+
+#define NV84TCL 0x00008297
+
+
+
+#define NVA0TCL 0x00008397
+
+
+
+#define NVA8TCL 0x00008597
+
+
+
+#define NV50_COMPUTE 0x000050c0
+
+#define NV50_COMPUTE_NOP 0x00000100
+#define NV50_COMPUTE_NOTIFY 0x00000104
+#define NV50_COMPUTE_SERIALIZE 0x00000110
+#define NV50_COMPUTE_DMA_NOTIFY 0x00000180
+#define NV50_COMPUTE_DMA_GLOBAL 0x000001a0
+#define NV50_COMPUTE_DMA_QUERY 0x000001a4
+#define NV50_COMPUTE_DMA_LOCAL 0x000001b8
+#define NV50_COMPUTE_DMA_STACK 0x000001bc
+#define NV50_COMPUTE_DMA_CODE_CB 0x000001c0
+#define NV50_COMPUTE_DMA_TSC 0x000001c4
+#define NV50_COMPUTE_DMA_TIC 0x000001c8
+#define NV50_COMPUTE_DMA_TEXTURE 0x000001cc
+#define NV50_COMPUTE_CP_ADDRESS_HIGH 0x00000210
+#define NV50_COMPUTE_CP_ADDRESS_LOW 0x00000214
+#define NV50_COMPUTE_STACK_ADDRESS_HIGH 0x00000218
+#define NV50_COMPUTE_STACK_ADDRESS_LOW 0x0000021c
+#define NV50_COMPUTE_STACK_SIZE_LOG 0x00000220
+#define NV50_COMPUTE_TSC_ADDRESS_HIGH 0x0000022c
+#define NV50_COMPUTE_TSC_ADDRESS_LOW 0x00000230
+#define NV50_COMPUTE_TSC_LIMIT 0x00000234
+#define NV50_COMPUTE_CB_ADDR 0x00000238
+#define NV50_COMPUTE_CB_ADDR_ID_SHIFT 8
+#define NV50_COMPUTE_CB_ADDR_ID_MASK 0x003fff00
+#define NV50_COMPUTE_CB_ADDR_BUFFER_SHIFT 0
+#define NV50_COMPUTE_CB_ADDR_BUFFER_MASK 0x0000007f
+#define NV50_COMPUTE_CB_DATA(x) (0x0000023c+((x)*4))
+#define NV50_COMPUTE_CB_DATA__SIZE 0x00000010
+#define NV50_COMPUTE_DELAY1 0x00000284
+#define NV50_COMPUTE_WATCHDOG_TIMER 0x00000288
+#define NV50_COMPUTE_DELAY2 0x0000028c
+#define NV50_COMPUTE_LOCAL_ADDRESS_HIGH 0x00000294
+#define NV50_COMPUTE_LOCAL_ADDRESS_LOW 0x00000298
+#define NV50_COMPUTE_LOCAL_SIZE_LOG 0x0000029c
+#define NV50_COMPUTE_CB_DEF_ADDRESS_HIGH 0x000002a4
+#define NV50_COMPUTE_CB_DEF_ADDRESS_LOW 0x000002a8
+#define NV50_COMPUTE_CB_DEF_SET 0x000002ac
+#define NV50_COMPUTE_CB_DEF_SET_SIZE_SHIFT 0
+#define NV50_COMPUTE_CB_DEF_SET_SIZE_MASK 0x0000ffff
+#define NV50_COMPUTE_CB_DEF_SET_BUFFER_SHIFT 16
+#define NV50_COMPUTE_CB_DEF_SET_BUFFER_MASK 0x007f0000
+#define NV50_COMPUTE_BLOCK_ALLOC 0x000002b4
+#define NV50_COMPUTE_BLOCK_ALLOC_THREADS_SHIFT 0
+#define NV50_COMPUTE_BLOCK_ALLOC_THREADS_MASK 0x0000ffff
+#define NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_SHIFT 16
+#define NV50_COMPUTE_BLOCK_ALLOC_BARRIERS_MASK 0xffff0000
+#define NV50_COMPUTE_CP_REG_ALLOC_TEMP 0x000002c0
+#define NV50_COMPUTE_TIC_ADDRESS_HIGH 0x000002c4
+#define NV50_COMPUTE_TIC_ADDRESS_LOW 0x000002c8
+#define NV50_COMPUTE_TIC_LIMIT 0x000002cc
+#define NV50_COMPUTE_PM_SET(x) (0x000002d0+((x)*4))
+#define NV50_COMPUTE_PM_SET__SIZE 0x00000004
+#define NV50_COMPUTE_PM_CONTROL(x) (0x000002e0+((x)*4))
+#define NV50_COMPUTE_PM_CONTROL__SIZE 0x00000004
+#define NV50_COMPUTE_PM_CONTROL_UNK0 (1 << 0)
+#define NV50_COMPUTE_PM_CONTROL_UNK1_SHIFT 4
+#define NV50_COMPUTE_PM_CONTROL_UNK1_MASK 0x00000070
+#define NV50_COMPUTE_PM_CONTROL_UNK2_SHIFT 8
+#define NV50_COMPUTE_PM_CONTROL_UNK2_MASK 0xffffff00
+#define NV50_COMPUTE_LOCAL_WARPS_LOG_ALLOC 0x000002fc
+#define NV50_COMPUTE_LOCAL_WARPS_NO_CLAMP 0x00000300
+#define NV50_COMPUTE_STACK_WARPS_LOG_ALLOC 0x00000304
+#define NV50_COMPUTE_STACK_WARPS_NO_CLAMP 0x00000308
+#define NV50_COMPUTE_QUERY_ADDRESS_HIGH 0x00000310
+#define NV50_COMPUTE_QUERY_ADDRESS_LOW 0x00000314
+#define NV50_COMPUTE_QUERY_COUNTER 0x00000318
+#define NV50_COMPUTE_QUERY_GET 0x0000031c
+#define NV50_COMPUTE_COND_ADDRESS_HIGH 0x00000320
+#define NV50_COMPUTE_COND_ADDRESS_LOW 0x00000324
+#define NV50_COMPUTE_COND_MODE 0x00000328
+#define NV50_COMPUTE_COND_MODE_NEVER 0x00000000
+#define NV50_COMPUTE_COND_MODE_ALWAYS 0x00000001
+#define NV50_COMPUTE_COND_MODE_RES 0x00000002
+#define NV50_COMPUTE_COND_MODE_NOT_RES_AND_NOT_ID 0x00000003
+#define NV50_COMPUTE_COND_MODE_RES_OR_ID 0x00000004
+#define NV50_COMPUTE_LAUNCH 0x00000368
+#define NV50_COMPUTE_USER_PARAM_COUNT 0x00000374
+#define NV50_COMPUTE_USER_PARAM_COUNT_COUNT_SHIFT 8
+#define NV50_COMPUTE_USER_PARAM_COUNT_COUNT_MASK 0x0000ff00
+#define NV50_COMPUTE_LINKED_TSC 0x00000378
+#define NV50_COMPUTE_CODE_CB_FLUSH 0x00000380
+#define NV50_COMPUTE_GRIDDIM 0x000003a4
+#define NV50_COMPUTE_GRIDDIM_X_SHIFT 0
+#define NV50_COMPUTE_GRIDDIM_X_MASK 0x0000ffff
+#define NV50_COMPUTE_GRIDDIM_Y_SHIFT 16
+#define NV50_COMPUTE_GRIDDIM_Y_MASK 0xffff0000
+#define NV50_COMPUTE_SHARED_SIZE 0x000003a8
+#define NV50_COMPUTE_BLOCKDIM_YX 0x000003ac
+#define NV50_COMPUTE_BLOCKDIM_YX_X_SHIFT 0
+#define NV50_COMPUTE_BLOCKDIM_YX_X_MASK 0x0000ffff
+#define NV50_COMPUTE_BLOCKDIM_YX_Y_SHIFT 16
+#define NV50_COMPUTE_BLOCKDIM_YX_Y_MASK 0xffff0000
+#define NV50_COMPUTE_BLOCKDIM_Z 0x000003b0
+#define NV50_COMPUTE_CP_START_ID 0x000003b4
+#define NV50_COMPUTE_WARP_HALVES 0x000003b8
+#define NV50_COMPUTE_TEX_LIMITS 0x000003bc
+#define NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_SHIFT 0
+#define NV50_COMPUTE_TEX_LIMITS_SAMPLERS_LOG2_MASK 0x0000000f
+#define NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_SHIFT 4
+#define NV50_COMPUTE_TEX_LIMITS_TEXTURES_LOG2_MASK 0x000000f0
+#define NV50_COMPUTE_BIND_TSC 0x000003c0
+#define NV50_COMPUTE_BIND_TSC_VALID (1 << 0)
+#define NV50_COMPUTE_BIND_TSC_SAMPLER_SHIFT 4
+#define NV50_COMPUTE_BIND_TSC_SAMPLER_MASK 0x000000f0
+#define NV50_COMPUTE_BIND_TSC_TSC_SHIFT 12
+#define NV50_COMPUTE_BIND_TSC_TSC_MASK 0x001ff000
+#define NV50_COMPUTE_BIND_TIC 0x000003c4
+#define NV50_COMPUTE_BIND_TIC_VALID (1 << 0)
+#define NV50_COMPUTE_BIND_TIC_TEXTURE_SHIFT 1
+#define NV50_COMPUTE_BIND_TIC_TEXTURE_MASK 0x000001fe
+#define NV50_COMPUTE_BIND_TIC_TIC_SHIFT 9
+#define NV50_COMPUTE_BIND_TIC_TIC_MASK 0x7ffffe00
+#define NV50_COMPUTE_SET_PROGRAM_CB 0x000003c8
+#define NV50_COMPUTE_SET_PROGRAM_CB_INDEX_SHIFT 8
+#define NV50_COMPUTE_SET_PROGRAM_CB_INDEX_MASK 0x00000f00
+#define NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_SHIFT 12
+#define NV50_COMPUTE_SET_PROGRAM_CB_BUFFER_MASK 0x0007f000
+#define NV50_COMPUTE_SET_PROGRAM_CB_VALID (1 << 0)
+#define NV50_COMPUTE_GLOBAL_ADDRESS_HIGH(x) (0x00000400+((x)*32))
+#define NV50_COMPUTE_GLOBAL_ADDRESS_HIGH__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_ADDRESS_LOW(x) (0x00000404+((x)*32))
+#define NV50_COMPUTE_GLOBAL_ADDRESS_LOW__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_PITCH(x) (0x00000408+((x)*32))
+#define NV50_COMPUTE_GLOBAL_PITCH__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_LIMIT(x) (0x0000040c+((x)*32))
+#define NV50_COMPUTE_GLOBAL_LIMIT__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_MODE(x) (0x00000410+((x)*32))
+#define NV50_COMPUTE_GLOBAL_MODE__SIZE 0x00000010
+#define NV50_COMPUTE_GLOBAL_MODE_LINEAR (1 << 0)
+#define NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_SHIFT 8
+#define NV50_COMPUTE_GLOBAL_MODE_TILE_MODE_MASK 0x00000f00
+#define NV50_COMPUTE_USER_PARAM(x) (0x00000600+((x)*4))
+#define NV50_COMPUTE_USER_PARAM__SIZE 0x00000040
+
+
+#endif /* NOUVEAU_REG_H */
diff --git a/abs/core-testing/mkinitcpio-busybox/PKGBUILD b/abs/core-testing/mkinitcpio-busybox/PKGBUILD
new file mode 100644
index 0000000..3d2beaf
--- /dev/null
+++ b/abs/core-testing/mkinitcpio-busybox/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 84550 2010-06-30 21:45:04Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+pkgname=mkinitcpio-busybox
+pkgver=1.16.2
+pkgrel=1
+pkgdesc="base initramfs tools"
+arch=('i686' 'x86_64')
+url="http://www.busybox.net/"
+license=('GPL')
+depends=('glibc')
+source=(http://busybox.net/downloads/busybox-${pkgver}.tar.bz2
+ config
+ loadfont-setfont-optional-psf2-font-support.patch)
+sha256sums=('3bf1b1a41294d25335abdd10c65cffdb01c36337ca011f1b38c6ad89590115ba'
+ 'd629e936941c854e7aa5e1b564d74bde3a1d328f1e0dd30c86a958d2724685ce'
+ '624d21345cd869c174a3ae1b9cfe23a461ce8b463c7ac4c052726430890c4eb1')
+
+build() {
+ cd "${srcdir}/busybox-${pkgver}"
+
+ # Backport http://git.busybox.net/busybox/commit/?id=8ce1dc03c1b2b61e51527b987579c09c991cc4b2
+ # to busybox 1.16 to fix https://bugs.archlinux.org/task/19109
+ patch -p1 -i ../loadfont-setfont-optional-psf2-font-support.patch || return 1
+
+ unset CFLAGS CXXFLAGS
+ if [ ${CARCH} = "x86_64" ]; then
+ sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config
+ else
+ sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=i686 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config
+ fi
+ make || return 1
+}
+
+package() {
+ install -D -m755 "${srcdir}/busybox-${pkgver}"/busybox "${pkgdir}/lib/initcpio/busybox"
+}
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core-testing/mkinitcpio-busybox/config b/abs/core-testing/mkinitcpio-busybox/config
new file mode 100644
index 0000000..a67ca33
--- /dev/null
+++ b/abs/core-testing/mkinitcpio-busybox/config
@@ -0,0 +1,922 @@
+#
+# Automatically generated make config: don't edit
+# Busybox version: 1.16.1
+# Sun Apr 11 13:13:36 2010
+#
+CONFIG_HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+# CONFIG_DESKTOP is not set
+# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_INCLUDE_SUSv2 is not set
+# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_COMPRESS_USAGE is not set
+CONFIG_FEATURE_INSTALLER=y
+# CONFIG_LOCALE_SUPPORT is not set
+# CONFIG_FEATURE_ASSUME_UNICODE is not set
+# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
+CONFIG_LONG_OPTS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_PIDFILE is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_PREFER_APPLETS is not set
+CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox"
+CONFIG_FEATURE_SYSLOG=y
+CONFIG_FEATURE_HAVE_RPC=y
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_PIE is not set
+# CONFIG_NOMMU is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_INDIVIDUAL is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+CONFIG_CROSS_COMPILER_PREFIX=""
+CONFIG_EXTRA_CFLAGS=""
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_WERROR is not set
+CONFIG_NO_DEBUG_LIB=y
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
+# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
+# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
+CONFIG_PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_PASSWORD_MINLEN=6
+CONFIG_MD5_SIZE_VS_SPEED=3
+CONFIG_FEATURE_FAST_TOP=y
+# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
+# CONFIG_FEATURE_EDITING_VI is not set
+CONFIG_FEATURE_EDITING_HISTORY=15
+# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
+CONFIG_FEATURE_TAB_COMPLETION=y
+# CONFIG_FEATURE_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
+CONFIG_FEATURE_NON_POSIX_CP=y
+CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
+CONFIG_FEATURE_COPYBUF_KB=4
+CONFIG_MONOTONIC_SYSCALL=y
+CONFIG_IOCTL_HEX2STR_ERROR=y
+# CONFIG_FEATURE_HWIB is not set
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+# CONFIG_FEATURE_SEAMLESS_LZMA is not set
+# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
+# CONFIG_FEATURE_SEAMLESS_GZ is not set
+# CONFIG_FEATURE_SEAMLESS_Z is not set
+# CONFIG_AR is not set
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+# CONFIG_BUNZIP2 is not set
+# CONFIG_BZIP2 is not set
+# CONFIG_CPIO is not set
+# CONFIG_FEATURE_CPIO_O is not set
+# CONFIG_FEATURE_CPIO_P is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+# CONFIG_GUNZIP is not set
+# CONFIG_GZIP is not set
+# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
+# CONFIG_LZOP is not set
+# CONFIG_LZOP_COMPR_HIGH is not set
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+# CONFIG_TAR is not set
+# CONFIG_FEATURE_TAR_CREATE is not set
+# CONFIG_FEATURE_TAR_AUTODETECT is not set
+# CONFIG_FEATURE_TAR_FROM is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
+# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
+# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+# CONFIG_UNZIP is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CATV is not set
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
+CONFIG_CHROOT=y
+# CONFIG_CKSUM is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
+CONFIG_CUT=y
+# CONFIG_DATE is not set
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+# CONFIG_FEATURE_DATE_COMPAT is not set
+CONFIG_DD=y
+# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set
+# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
+# CONFIG_FEATURE_DD_IBS_OBS is not set
+CONFIG_DF=y
+# CONFIG_FEATURE_DF_FANCY is not set
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+CONFIG_DU=y
+# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+# CONFIG_EXPAND is not set
+# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
+CONFIG_EXPR=y
+CONFIG_EXPR_MATH_SUPPORT_64=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+# CONFIG_FSYNC is not set
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+# CONFIG_HOSTID is not set
+# CONFIG_ID is not set
+CONFIG_INSTALL=y
+CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+# CONFIG_LOGNAME is not set
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+# CONFIG_FEATURE_LS_COLOR is not set
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+# CONFIG_MD5SUM is not set
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_FEATURE_MV_LONG_OPTIONS=y
+# CONFIG_NICE is not set
+# CONFIG_NOHUP is not set
+# CONFIG_OD is not set
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+# CONFIG_SHA256SUM is not set
+# CONFIG_SHA512SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_FEATURE_FLOAT_SLEEP=y
+CONFIG_SORT=y
+# CONFIG_FEATURE_SORT_BIG is not set
+# CONFIG_SPLIT is not set
+# CONFIG_FEATURE_SPLIT_FANCY is not set
+CONFIG_STAT=y
+CONFIG_FEATURE_STAT_FORMAT=y
+# CONFIG_STTY is not set
+# CONFIG_SUM is not set
+# CONFIG_SYNC is not set
+# CONFIG_TAC is not set
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+# CONFIG_TEE is not set
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+CONFIG_FEATURE_TEST_64=y
+CONFIG_TOUCH=y
+# CONFIG_TR is not set
+# CONFIG_FEATURE_TR_CLASSES is not set
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+# CONFIG_TTY is not set
+CONFIG_UNAME=y
+# CONFIG_UNEXPAND is not set
+# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WC=y
+CONFIG_FEATURE_WC_LARGE=y
+# CONFIG_WHO is not set
+# CONFIG_WHOAMI is not set
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+# CONFIG_CHVT is not set
+# CONFIG_CLEAR is not set
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DUMPKMAP is not set
+CONFIG_KBD_MODE=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+# CONFIG_RESET is not set
+# CONFIG_RESIZE is not set
+# CONFIG_FEATURE_RESIZE_PRINT is not set
+# CONFIG_SETCONSOLE is not set
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+CONFIG_SETFONT=y
+# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
+CONFIG_DEFAULT_SETFONT_DIR=""
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS is not set
+# CONFIG_SHOWKEY is not set
+
+#
+# Common options for loadfont and setfont
+#
+CONFIG_FEATURE_LOADFONT_PSF2=y
+CONFIG_FEATURE_LOADFONT_RAW=y
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+# CONFIG_RUN_PARTS is not set
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
+# CONFIG_START_STOP_DAEMON is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
+# CONFIG_WHICH is not set
+
+#
+# Editors
+#
+CONFIG_AWK=y
+# CONFIG_FEATURE_AWK_LIBM is not set
+# CONFIG_CMP is not set
+# CONFIG_DIFF is not set
+# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
+# CONFIG_FEATURE_DIFF_DIR is not set
+# CONFIG_ED is not set
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=4096
+CONFIG_FEATURE_VI_8BIT=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+# CONFIG_FEATURE_ALLOW_EXEC is not set
+
+#
+# Finding Utilities
+#
+# CONFIG_FIND is not set
+# CONFIG_FEATURE_FIND_PRINT0 is not set
+# CONFIG_FEATURE_FIND_MTIME is not set
+# CONFIG_FEATURE_FIND_MMIN is not set
+# CONFIG_FEATURE_FIND_PERM is not set
+# CONFIG_FEATURE_FIND_TYPE is not set
+# CONFIG_FEATURE_FIND_XDEV is not set
+# CONFIG_FEATURE_FIND_MAXDEPTH is not set
+# CONFIG_FEATURE_FIND_NEWER is not set
+# CONFIG_FEATURE_FIND_INUM is not set
+# CONFIG_FEATURE_FIND_EXEC is not set
+# CONFIG_FEATURE_FIND_USER is not set
+# CONFIG_FEATURE_FIND_GROUP is not set
+# CONFIG_FEATURE_FIND_NOT is not set
+# CONFIG_FEATURE_FIND_DEPTH is not set
+# CONFIG_FEATURE_FIND_PAREN is not set
+# CONFIG_FEATURE_FIND_SIZE is not set
+# CONFIG_FEATURE_FIND_PRUNE is not set
+# CONFIG_FEATURE_FIND_DELETE is not set
+# CONFIG_FEATURE_FIND_PATH is not set
+# CONFIG_FEATURE_FIND_REGEX is not set
+# CONFIG_FEATURE_FIND_CONTEXT is not set
+# CONFIG_FEATURE_FIND_LINKS is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+# CONFIG_FEATURE_GREP_FGREP_ALIAS is not set
+# CONFIG_FEATURE_GREP_CONTEXT is not set
+# CONFIG_XARGS is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_KILL_REMOVED is not set
+CONFIG_FEATURE_KILL_DELAY=0
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_INIT_SYSLOG is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_HALT is not set
+# CONFIG_FEATURE_CALL_TELINIT is not set
+CONFIG_TELINIT_PATH=""
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_CRYPT is not set
+# CONFIG_USE_BB_CRYPT_SHA is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
+# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
+# CONFIG_FEATURE_CHECK_NAMES is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
+CONFIG_FIRST_SYSTEM_ID=0
+CONFIG_LAST_SYSTEM_ID=0
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+# CONFIG_FEATURE_UTMP is not set
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_LOGIN is not set
+# CONFIG_PAM is not set
+# CONFIG_LOGIN_SCRIPTS is not set
+# CONFIG_FEATURE_NOLOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
+# CONFIG_CRYPTPW is not set
+# CONFIG_CHPASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_FEATURE_SU_SYSLOG is not set
+# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+# CONFIG_CHATTR is not set
+# CONFIG_FSCK is not set
+# CONFIG_LSATTR is not set
+
+#
+# Linux Module Utilities
+#
+# CONFIG_MODPROBE_SMALL is not set
+# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
+# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
+CONFIG_INSMOD=y
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
+# CONFIG_MODPROBE is not set
+# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
+# CONFIG_DEPMOD is not set
+
+#
+# Options common to multiple modutils
+#
+# CONFIG_FEATURE_2_4_MODULES is not set
+# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_MODUTILS_ALIAS is not set
+# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
+CONFIG_DEFAULT_MODULES_DIR=""
+CONFIG_DEFAULT_DEPMOD_FILE=""
+
+#
+# Linux System Utilities
+#
+# CONFIG_ACPID is not set
+# CONFIG_FEATURE_ACPID_COMPAT is not set
+# CONFIG_BLKID is not set
+CONFIG_DMESG=y
+CONFIG_FEATURE_DMESG_PRETTY=y
+# CONFIG_FBSET is not set
+# CONFIG_FEATURE_FBSET_FANCY is not set
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+# CONFIG_FDISK is not set
+CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
+# CONFIG_FEATURE_FDISK_WRITABLE is not set
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FINDFS is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_EXT2 is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
+# CONFIG_MKFS_REISER is not set
+# CONFIG_MKFS_VFAT is not set
+CONFIG_GETOPT=y
+CONFIG_FEATURE_GETOPT_LONG=y
+CONFIG_HEXDUMP=y
+# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
+# CONFIG_HD is not set
+# CONFIG_HWCLOCK is not set
+# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
+# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_LSPCI is not set
+# CONFIG_LSUSB is not set
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_RENAME is not set
+# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+# CONFIG_MKSWAP is not set
+# CONFIG_FEATURE_MKSWAP_UUID is not set
+# CONFIG_MORE is not set
+# CONFIG_FEATURE_USE_TERMIOS is not set
+CONFIG_VOLUMEID=y
+# CONFIG_FEATURE_VOLUMEID_EXT is not set
+# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
+# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
+# CONFIG_FEATURE_VOLUMEID_FAT is not set
+# CONFIG_FEATURE_VOLUMEID_HFS is not set
+# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_XFS is not set
+# CONFIG_FEATURE_VOLUMEID_NTFS is not set
+# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
+# CONFIG_FEATURE_VOLUMEID_UDF is not set
+# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
+# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
+# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
+# CONFIG_FEATURE_VOLUMEID_SYSV is not set
+# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_FAKE=y
+CONFIG_FEATURE_MOUNT_VERBOSE=y
+CONFIG_FEATURE_MOUNT_HELPERS=y
+CONFIG_FEATURE_MOUNT_LABEL=y
+CONFIG_FEATURE_MOUNT_NFS=y
+CONFIG_FEATURE_MOUNT_CIFS=y
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+# CONFIG_PIVOT_ROOT is not set
+# CONFIG_RDATE is not set
+# CONFIG_RDEV is not set
+# CONFIG_READPROFILE is not set
+# CONFIG_RTCWAKE is not set
+# CONFIG_SCRIPT is not set
+# CONFIG_SCRIPTREPLAY is not set
+# CONFIG_SETARCH is not set
+# CONFIG_SWAPONOFF is not set
+# CONFIG_FEATURE_SWAPON_PRI is not set
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_UMOUNT_ALL=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_BEEP is not set
+CONFIG_FEATURE_BEEP_FREQ=0
+CONFIG_FEATURE_BEEP_LENGTH_MS=0
+# CONFIG_CHAT is not set
+# CONFIG_FEATURE_CHAT_NOFAIL is not set
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
+# CONFIG_CHRT is not set
+# CONFIG_CROND is not set
+# CONFIG_FEATURE_CROND_D is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_FEATURE_CROND_DIR=""
+# CONFIG_CRONTAB is not set
+# CONFIG_DC is not set
+# CONFIG_FEATURE_DC_LIBM is not set
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_EJECT is not set
+# CONFIG_FEATURE_EJECT_SCSI is not set
+# CONFIG_FBSPLASH is not set
+# CONFIG_FLASHCP is not set
+# CONFIG_FLASH_LOCK is not set
+# CONFIG_FLASH_UNLOCK is not set
+# CONFIG_FLASH_ERASEALL is not set
+# CONFIG_IONICE is not set
+# CONFIG_INOTIFYD is not set
+# CONFIG_LAST is not set
+# CONFIG_FEATURE_LAST_SMALL is not set
+# CONFIG_FEATURE_LAST_FANCY is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_FEATURE_LESS_WINCH is not set
+# CONFIG_FEATURE_LESS_DASHCMD is not set
+# CONFIG_FEATURE_LESS_LINENUMS is not set
+# CONFIG_HDPARM is not set
+# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MAN is not set
+# CONFIG_MICROCOM is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RAIDAUTORUN is not set
+# CONFIG_READAHEAD is not set
+# CONFIG_RUNLEVEL is not set
+# CONFIG_RX is not set
+# CONFIG_SETSID is not set
+CONFIG_STRINGS=y
+# CONFIG_TASKSET is not set
+# CONFIG_FEATURE_TASKSET_FANCY is not set
+# CONFIG_TIME is not set
+# CONFIG_TIMEOUT is not set
+# CONFIG_TTYSIZE is not set
+# CONFIG_VOLNAME is not set
+# CONFIG_WALL is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_FEATURE_UNIX_LOCAL is not set
+CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
+# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+# CONFIG_ARP is not set
+# CONFIG_ARPING is not set
+# CONFIG_BRCTL is not set
+# CONFIG_FEATURE_BRCTL_FANCY is not set
+# CONFIG_FEATURE_BRCTL_SHOW is not set
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPD is not set
+# CONFIG_FEATURE_FTP_WRITE is not set
+# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+# CONFIG_HOSTNAME is not set
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_RANGES is not set
+# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
+# CONFIG_FEATURE_HTTPD_PROXY is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+CONFIG_FEATURE_IFCONFIG_SLIP=y
+CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+# CONFIG_IFENSLAVE is not set
+# CONFIG_IFPLUGD is not set
+# CONFIG_IFUPDOWN is not set
+CONFIG_IFUPDOWN_IFSTATE_PATH=""
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
+# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
+# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
+# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+CONFIG_FEATURE_IP_RULE=y
+CONFIG_FEATURE_IP_SHORT_FORMS=y
+# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
+CONFIG_IPADDR=y
+CONFIG_IPLINK=y
+CONFIG_IPROUTE=y
+CONFIG_IPTUNNEL=y
+CONFIG_IPRULE=y
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+# CONFIG_NAMEIF is not set
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
+CONFIG_NC=y
+CONFIG_NC_SERVER=y
+CONFIG_NC_EXTRA=y
+CONFIG_NETSTAT=y
+CONFIG_FEATURE_NETSTAT_WIDE=y
+CONFIG_FEATURE_NETSTAT_PRG=y
+CONFIG_NSLOOKUP=y
+# CONFIG_NTPD is not set
+# CONFIG_FEATURE_NTPD_SERVER is not set
+CONFIG_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING=y
+# CONFIG_PSCAN is not set
+CONFIG_ROUTE=y
+# CONFIG_SLATTACH is not set
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_STANDALONE is not set
+# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
+CONFIG_TFTP=y
+# CONFIG_TFTPD is not set
+CONFIG_FEATURE_TFTP_GET=y
+# CONFIG_FEATURE_TFTP_PUT is not set
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
+# CONFIG_TFTP_DEBUG is not set
+# CONFIG_TRACEROUTE is not set
+# CONFIG_TRACEROUTE6 is not set
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+# CONFIG_UDHCPD is not set
+# CONFIG_DHCPRELAY is not set
+# CONFIG_DUMPLEASES is not set
+# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+CONFIG_DHCPD_LEASES_FILE=""
+# CONFIG_UDHCPC is not set
+# CONFIG_FEATURE_UDHCPC_ARPING is not set
+# CONFIG_FEATURE_UDHCP_PORT is not set
+CONFIG_UDHCP_DEBUG=0
+# CONFIG_FEATURE_UDHCP_RFC3397 is not set
+CONFIG_UDHCPC_DEFAULT_SCRIPT=""
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
+CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+# CONFIG_ZCIP is not set
+# CONFIG_TCPSVD is not set
+# CONFIG_TUNCTL is not set
+# CONFIG_FEATURE_TUNCTL_UG is not set
+# CONFIG_UDPSVD is not set
+
+#
+# Print Utilities
+#
+# CONFIG_LPD is not set
+# CONFIG_LPR is not set
+# CONFIG_LPQ is not set
+
+#
+# Mail Utilities
+#
+# CONFIG_MAKEMIME is not set
+CONFIG_FEATURE_MIME_CHARSET=""
+# CONFIG_POPMAILDIR is not set
+# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
+# CONFIG_REFORMIME is not set
+# CONFIG_FEATURE_REFORMIME_COMPAT is not set
+# CONFIG_SENDMAIL is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+# CONFIG_FUSER is not set
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_KILLALL5 is not set
+# CONFIG_NMETER is not set
+CONFIG_PGREP=y
+CONFIG_PIDOF=y
+CONFIG_FEATURE_PIDOF_SINGLE=y
+CONFIG_FEATURE_PIDOF_OMIT=y
+# CONFIG_PKILL is not set
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+# CONFIG_FEATURE_PS_TIME is not set
+# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
+# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
+# CONFIG_RENICE is not set
+# CONFIG_BB_SYSCTL is not set
+# CONFIG_TOP is not set
+# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
+# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set
+# CONFIG_FEATURE_TOP_SMP_CPU is not set
+# CONFIG_FEATURE_TOP_DECIMALS is not set
+# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
+# CONFIG_FEATURE_TOPMEM is not set
+# CONFIG_FEATURE_SHOW_THREADS is not set
+CONFIG_UPTIME=y
+# CONFIG_WATCH is not set
+
+#
+# Runit Utilities
+#
+# CONFIG_RUNSV is not set
+# CONFIG_RUNSVDIR is not set
+# CONFIG_FEATURE_RUNSVDIR_LOG is not set
+# CONFIG_SV is not set
+CONFIG_SV_DEFAULT_SERVICE_DIR=""
+# CONFIG_SVLOGD is not set
+# CONFIG_CHPST is not set
+# CONFIG_SETUIDGID is not set
+# CONFIG_ENVUIDGID is not set
+# CONFIG_ENVDIR is not set
+# CONFIG_SOFTLIMIT is not set
+# CONFIG_CHCON is not set
+# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
+# CONFIG_GETENFORCE is not set
+# CONFIG_GETSEBOOL is not set
+# CONFIG_LOAD_POLICY is not set
+# CONFIG_MATCHPATHCON is not set
+# CONFIG_RESTORECON is not set
+# CONFIG_RUNCON is not set
+# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
+# CONFIG_SELINUXENABLED is not set
+# CONFIG_SETENFORCE is not set
+# CONFIG_SETFILES is not set
+# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
+# CONFIG_SETSEBOOL is not set
+# CONFIG_SESTATUS is not set
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+CONFIG_ASH_BASH_COMPAT=y
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_BUILTIN_ECHO=y
+CONFIG_ASH_BUILTIN_PRINTF=y
+CONFIG_ASH_BUILTIN_TEST=y
+CONFIG_ASH_CMDCMD=y
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+CONFIG_ASH_EXPAND_PRMT=y
+# CONFIG_HUSH is not set
+# CONFIG_HUSH_BASH_COMPAT is not set
+# CONFIG_HUSH_HELP is not set
+# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_JOB is not set
+# CONFIG_HUSH_TICK is not set
+# CONFIG_HUSH_IF is not set
+# CONFIG_HUSH_LOOPS is not set
+# CONFIG_HUSH_CASE is not set
+# CONFIG_HUSH_FUNCTIONS is not set
+# CONFIG_HUSH_LOCAL is not set
+# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_RANDOM_SUPPORT is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+CONFIG_SH_MATH_SUPPORT=y
+# CONFIG_SH_MATH_SUPPORT_64 is not set
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE is not set
+# CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_CTTYHACK=y
+
+#
+# System Logging Utilities
+#
+# CONFIG_SYSLOGD is not set
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+# CONFIG_FEATURE_REMOTE_LOG is not set
+# CONFIG_FEATURE_SYSLOGD_DUP is not set
+# CONFIG_FEATURE_IPC_SYSLOG is not set
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
+# CONFIG_LOGREAD is not set
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+# CONFIG_KLOGD is not set
+# CONFIG_LOGGER is not set
diff --git a/abs/core-testing/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch b/abs/core-testing/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch
new file mode 100644
index 0000000..a7592de
--- /dev/null
+++ b/abs/core-testing/mkinitcpio-busybox/loadfont-setfont-optional-psf2-font-support.patch
@@ -0,0 +1,453 @@
+From 8ce1dc03c1b2b61e51527b987579c09c991cc4b2 Mon Sep 17 00:00:00 2001
+From: Harald Becker <ralda@gmx.de>
+Date: Sun, 21 Feb 2010 12:10:26 +0000
+Subject: loadfont/setfont: optional PSF2 font support
+
+Signed-off-by: Harald Becker <ralda@gmx.de>
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+---
+diff --git a/console-tools/Config.in b/console-tools/Config.in
+index cd0a931..195685b 100644
+--- a/console-tools/Config.in
++++ b/console-tools/Config.in
+@@ -135,4 +135,21 @@ config SHOWKEY
+ help
+ Shows keys pressed.
+
++comment "Common options for loadfont and setfont"
++ depends on LOADFONT || SETFONT
++
++config FEATURE_LOADFONT_PSF2
++ bool "Support for PSF2 console fonts"
++ default n
++ depends on LOADFONT || SETFONT
++ help
++ Support PSF2 console fonts.
++
++config FEATURE_LOADFONT_RAW
++ bool "Support for old (raw) console fonts"
++ default n
++ depends on LOADFONT || SETFONT
++ help
++ Support old (raw) console fonts.
++
+ endmenu
+diff --git a/console-tools/loadfont.c b/console-tools/loadfont.c
+index e833474..e51142c 100644
+--- a/console-tools/loadfont.c
++++ b/console-tools/loadfont.c
+@@ -13,7 +13,7 @@
+ #include <sys/kd.h>
+
+ #ifndef KDFONTOP
+-#define KDFONTOP 0x4B72
++# define KDFONTOP 0x4B72
+ struct console_font_op {
+ unsigned op; /* KD_FONT_OP_* */
+ unsigned flags; /* KD_FONT_FLAG_* */
+@@ -21,91 +21,137 @@ struct console_font_op {
+ unsigned charcount;
+ unsigned char *data; /* font data with height fixed to 32 */
+ };
+-
+-#define KD_FONT_OP_SET 0 /* Set font */
+-#define KD_FONT_OP_GET 1 /* Get font */
+-#define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default,
+- data points to name / NULL */
+-#define KD_FONT_OP_COPY 3 /* Copy from another console */
+-
+-#define KD_FONT_FLAG_OLD 0x80000000 /* Invoked via old interface */
+-#define KD_FONT_FLAG_DONT_RECALC 1 /* Don't call adjust_height() */
++# define KD_FONT_OP_SET 0 /* Set font */
++# define KD_FONT_OP_GET 1 /* Get font */
++# define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default, data points to name / NULL */
++# define KD_FONT_OP_COPY 3 /* Copy from another console */
++# define KD_FONT_FLAG_OLD 0x80000000 /* Invoked via old interface */
++# define KD_FONT_FLAG_DONT_RECALC 1 /* Don't call adjust_height() */
+ /* (Used internally for PIO_FONT support) */
+ #endif /* KDFONTOP */
+
+
+ enum {
+- PSF_MAGIC1 = 0x36,
+- PSF_MAGIC2 = 0x04,
+-
+- PSF_MODE512 = 0x01,
+- PSF_MODEHASTAB = 0x02,
+- PSF_MAXMODE = 0x03,
+- PSF_SEPARATOR = 0xffff
++ PSF1_MAGIC0 = 0x36,
++ PSF1_MAGIC1 = 0x04,
++ PSF1_MODE512 = 0x01,
++ PSF1_MODEHASTAB = 0x02,
++ PSF1_MODEHASSEQ = 0x04,
++ PSF1_MAXMODE = 0x05,
++ PSF1_STARTSEQ = 0xfffe,
++ PSF1_SEPARATOR = 0xffff,
+ };
+
+-struct psf_header {
+- unsigned char magic1, magic2; /* Magic number */
++struct psf1_header {
++ unsigned char magic[2]; /* Magic number */
+ unsigned char mode; /* PSF font mode */
+ unsigned char charsize; /* Character size */
+ };
+
+-#define PSF_MAGIC_OK(x) ((x)->magic1 == PSF_MAGIC1 && (x)->magic2 == PSF_MAGIC2)
++#define psf1h(x) ((struct psf1_header*)(x))
++
++#define PSF1_MAGIC_OK(x) ( \
++ (x)->magic[0] == PSF1_MAGIC0 \
++ && (x)->magic[1] == PSF1_MAGIC1 \
++)
++
++#if ENABLE_FEATURE_LOADFONT_PSF2
++enum {
++ PSF2_MAGIC0 = 0x72,
++ PSF2_MAGIC1 = 0xb5,
++ PSF2_MAGIC2 = 0x4a,
++ PSF2_MAGIC3 = 0x86,
++ PSF2_HAS_UNICODE_TABLE = 0x01,
++ PSF2_MAXVERSION = 0,
++ PSF2_STARTSEQ = 0xfe,
++ PSF2_SEPARATOR = 0xff
++};
++
++struct psf2_header {
++ unsigned char magic[4];
++ unsigned int version;
++ unsigned int headersize; /* offset of bitmaps in file */
++ unsigned int flags;
++ unsigned int length; /* number of glyphs */
++ unsigned int charsize; /* number of bytes for each character */
++ unsigned int height; /* max dimensions of glyphs */
++ unsigned int width; /* charsize = height * ((width + 7) / 8) */
++};
++
++#define psf2h(x) ((struct psf2_header*)(x))
++
++#define PSF2_MAGIC_OK(x) ( \
++ (x)->magic[0] == PSF2_MAGIC0 \
++ && (x)->magic[1] == PSF2_MAGIC1 \
++ && (x)->magic[2] == PSF2_MAGIC2 \
++ && (x)->magic[3] == PSF2_MAGIC3 \
++)
++#endif /* ENABLE_FEATURE_LOADFONT_PSF2 */
+
+-static void do_loadfont(int fd, unsigned char *inbuf, int unit, int fontsize)
++
++static void do_loadfont(int fd, unsigned char *inbuf, int height, int width, int charsize, int fontsize)
+ {
+- char *buf;
++ unsigned char *buf;
++ int charwidth = 32 * ((width+7)/8);
+ int i;
+
+- if (unit < 1 || unit > 32)
+- bb_error_msg_and_die("bad character size %d", unit);
++ if (height < 1 || height > 32 || width < 1 || width > 32)
++ bb_error_msg_and_die("bad character size %dx%d", height, width);
+
+- buf = xzalloc(16 * 1024);
++ buf = xzalloc(charwidth * ((fontsize < 128) ? 128 : fontsize));
+ for (i = 0; i < fontsize; i++)
+- memcpy(buf + (32 * i), inbuf + (unit * i), unit);
++ memcpy(buf + (i*charwidth), inbuf + (i*charsize), charsize);
+
+ { /* KDFONTOP */
+ struct console_font_op cfo;
+-
+ cfo.op = KD_FONT_OP_SET;
+ cfo.flags = 0;
+- cfo.width = 8;
+- cfo.height = unit;
++ cfo.width = width;
++ cfo.height = height;
+ cfo.charcount = fontsize;
+- cfo.data = (void*)buf;
+-#if 0
+- if (!ioctl_or_perror(fd, KDFONTOP, &cfo, "KDFONTOP ioctl failed (will try PIO_FONTX)"))
+- goto ret; /* success */
+-#else
++ cfo.data = buf;
+ xioctl(fd, KDFONTOP, &cfo);
+-#endif
+ }
+
+-#if 0
+-/* These ones do not honour -C tty (they set font on current tty regardless)
+- * On x86, this distinction is visible on framebuffer consoles
+- * (regular character consoles may have only one shared font anyway)
+- */
+-#if defined(PIO_FONTX) && !defined(__sparc__)
+- {
+- struct consolefontdesc cfd;
+-
+- cfd.charcount = fontsize;
+- cfd.charheight = unit;
+- cfd.chardata = buf;
+-
+- if (!ioctl_or_perror(fd, PIO_FONTX, &cfd, "PIO_FONTX ioctl failed (will try PIO_FONT)"))
+- goto ret; /* success */
+- }
+-#endif
+- xioctl(fd, PIO_FONT, buf);
+- ret:
+-#endif /* 0 */
+ free(buf);
+ }
+
+-static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
++/*
++ * Format of the Unicode information:
++ *
++ * For each font position <uc>*<seq>*<term>
++ * where <uc> is a 2-byte little endian Unicode value (PSF1)
++ * or an UTF-8 coded value (PSF2),
++ * <seq> = <ss><uc><uc>*, <ss> = psf1 ? 0xFFFE : 0xFE,
++ * <term> = psf1 ? 0xFFFF : 0xFF.
++ * and * denotes zero or more occurrences of the preceding item.
++ *
++ * Semantics:
++ * The leading <uc>* part gives Unicode symbols that are all
++ * represented by this font position. The following sequences
++ * are sequences of Unicode symbols - probably a symbol
++ * together with combining accents - also represented by
++ * this font position.
++ *
++ * Example:
++ * At the font position for a capital A-ring glyph, we
++ * may have:
++ * 00C5,212B,FFFE,0041,030A,FFFF
++ * Some font positions may be described by sequences only,
++ * namely when there is no precomposed Unicode value for the glyph.
++ */
++#if !ENABLE_FEATURE_LOADFONT_PSF2
++#define do_loadtable(fd, inbuf, tailsz, fontsize, psf2) \
++ do_loadtable(fd, inbuf, tailsz, fontsize)
++#endif
++static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize, int psf2)
+ {
++#if !ENABLE_FEATURE_LOADFONT_PSF2
++/* gcc 4.3.1 code size: */
++# define psf2 0 /* +0 bytes */
++// const int psf2 = 0; /* +8 bytes */
++// enum { psf2 = 0 }; /* +13 bytes */
++#endif
+ struct unimapinit advice;
+ struct unimapdesc ud;
+ struct unipair *up;
+@@ -114,15 +160,48 @@ static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
+ uint16_t unicode;
+
+ maxct = tailsz; /* more than enough */
+- up = xmalloc(maxct * sizeof(struct unipair));
++ up = xmalloc(maxct * sizeof(*up));
+
+ for (glyph = 0; glyph < fontsize; glyph++) {
+- while (tailsz >= 2) {
+- unicode = (((uint16_t) inbuf[1]) << 8) + inbuf[0];
+- tailsz -= 2;
+- inbuf += 2;
+- if (unicode == PSF_SEPARATOR)
+- break;
++ while (tailsz > 0) {
++ if (!psf2) { /* PSF1 */
++ unicode = (((uint16_t) inbuf[1]) << 8) + inbuf[0];
++ tailsz -= 2;
++ inbuf += 2;
++ if (unicode == PSF1_SEPARATOR)
++ break;
++ } else { /* PSF2 */
++#if ENABLE_FEATURE_LOADFONT_PSF2
++ --tailsz;
++ unicode = *inbuf++;
++ if (unicode == PSF2_SEPARATOR) {
++ break;
++ } else if (unicode == PSF2_STARTSEQ) {
++ bb_error_msg_and_die("unicode sequences not implemented");
++ } else if (unicode >= 0xC0) {
++ if (unicode >= 0xFC)
++ unicode &= 0x01, maxct = 5;
++ else if (unicode >= 0xF8)
++ unicode &= 0x03, maxct = 4;
++ else if (unicode >= 0xF0)
++ unicode &= 0x07, maxct = 3;
++ else if (unicode >= 0xE0)
++ unicode &= 0x0F, maxct = 2;
++ else
++ unicode &= 0x1F, maxct = 1;
++ do {
++ if (tailsz <= 0 || *inbuf < 0x80 || *inbuf > 0xBF)
++ bb_error_msg_and_die("illegal UTF-8 character");
++ --tailsz;
++ unicode = (unicode << 6) + (*inbuf++ & 0x3F);
++ } while (--maxct > 0);
++ } else if (unicode >= 0x80) {
++ bb_error_msg_and_die("illegal UTF-8 character");
++ }
++#else
++ return;
++#endif
++ }
+ up[ct].unicode = unicode;
+ up[ct].fontpos = glyph;
+ ct++;
+@@ -139,58 +218,78 @@ static void do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
+ ud.entry_ct = ct;
+ ud.entries = up;
+ xioctl(fd, PIO_UNIMAP, &ud);
++#undef psf2
+ }
+
+-static void do_load(int fd, struct psf_header *psfhdr, size_t len)
++static void do_load(int fd, unsigned char *buffer, size_t len)
+ {
+- int unit;
+- int fontsize;
+- int hastable;
+- unsigned head0, head = head;
+-
+- /* test for psf first */
+- if (len >= sizeof(struct psf_header) && PSF_MAGIC_OK(psfhdr)) {
+- if (psfhdr->mode > PSF_MAXMODE)
++ int height;
++ int width = 8;
++ int charsize;
++ int fontsize = 256;
++ int has_table = 0;
++ unsigned char *font = buffer;
++ unsigned char *table;
++
++ if (len >= sizeof(struct psf1_header) && PSF1_MAGIC_OK(psf1h(buffer))) {
++ if (psf1h(buffer)->mode > PSF1_MAXMODE)
+ bb_error_msg_and_die("unsupported psf file mode");
+- fontsize = ((psfhdr->mode & PSF_MODE512) ? 512 : 256);
+-#if !defined(PIO_FONTX) || defined(__sparc__)
+- if (fontsize != 256)
+- bb_error_msg_and_die("only fontsize 256 supported");
++ if (psf1h(buffer)->mode & PSF1_MODE512)
++ fontsize = 512;
++ if (psf1h(buffer)->mode & PSF1_MODEHASTAB)
++ has_table = 1;
++ height = charsize = psf1h(buffer)->charsize;
++ font += sizeof(struct psf1_header);
++ } else
++#if ENABLE_FEATURE_LOADFONT_PSF2
++ if (len >= sizeof(struct psf2_header) && PSF2_MAGIC_OK(psf2h(buffer))) {
++ if (psf2h(buffer)->version > PSF2_MAXVERSION)
++ bb_error_msg_and_die("unsupported psf file version");
++ fontsize = psf2h(buffer)->length;
++ if (psf2h(buffer)->flags & PSF2_HAS_UNICODE_TABLE)
++ has_table = 2;
++ charsize = psf2h(buffer)->charsize;
++ height = psf2h(buffer)->height;
++ width = psf2h(buffer)->width;
++ font += psf2h(buffer)->headersize;
++ } else
+ #endif
+- hastable = (psfhdr->mode & PSF_MODEHASTAB);
+- unit = psfhdr->charsize;
+- head0 = sizeof(struct psf_header);
+-
+- head = head0 + fontsize * unit;
+- if (head > len || (!hastable && head != len))
+- bb_error_msg_and_die("input file: bad length");
+- } else {
+- /* file with three code pages? */
+- if (len == 9780) {
+- head0 = 40;
+- unit = 16;
+- } else {
+- /* bare font */
+- if (len & 0377)
+- bb_error_msg_and_die("input file: bad length");
+- head0 = 0;
+- unit = len / 256;
+- }
+- fontsize = 256;
+- hastable = 0;
++#if ENABLE_FEATURE_LOADFONT_RAW
++ if (len == 9780) { /* file with three code pages? */
++ charsize = height = 16;
++ font += 40;
++ } else if ((len & 0377) == 0) { /* bare font */
++ charsize = height = len / 256;
++ } else
++#endif
++ {
++ bb_error_msg_and_die("input file: bad length or unsupported font type");
+ }
+
+- do_loadfont(fd, (unsigned char *)psfhdr + head0, unit, fontsize);
+- if (hastable)
+- do_loadtable(fd, (unsigned char *)psfhdr + head, len - head, fontsize);
++#if !defined(PIO_FONTX) || defined(__sparc__)
++ if (fontsize != 256)
++ bb_error_msg_and_die("only fontsize 256 supported");
++#endif
++
++ table = font + fontsize * charsize;
++ buffer += len;
++
++ if (table > buffer || (!has_table && table != buffer))
++ bb_error_msg_and_die("input file: bad length");
++
++ do_loadfont(fd, font, height, width, charsize, fontsize);
++
++ if (has_table)
++ do_loadtable(fd, table, buffer - table, fontsize, has_table - 1);
+ }
+
++
+ #if ENABLE_LOADFONT
+ int loadfont_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int loadfont_main(int argc UNUSED_PARAM, char **argv)
+ {
+ size_t len;
+- struct psf_header *psfhdr;
++ unsigned char *buffer;
+
+ // no arguments allowed!
+ opt_complementary = "=0";
+@@ -202,11 +301,11 @@ int loadfont_main(int argc UNUSED_PARAM, char **argv)
+ * just read the entire file.
+ */
+ len = 32*1024; // can't be larger
+- psfhdr = xmalloc_read(STDIN_FILENO, &len);
++ buffer = xmalloc_read(STDIN_FILENO, &len);
+ // xmalloc_open_zipped_read_close(filename, &len);
+- if (!psfhdr)
++ if (!buffer)
+ bb_perror_msg_and_die("error reading input font");
+- do_load(get_console_fd_or_die(), psfhdr, len);
++ do_load(get_console_fd_or_die(), buffer, len);
+
+ return EXIT_SUCCESS;
+ }
+@@ -269,7 +368,7 @@ int setfont_main(int argc UNUSED_PARAM, char **argv)
+ size_t len;
+ unsigned opts;
+ int fd;
+- struct psf_header *psfhdr;
++ unsigned char *buffer;
+ char *mapfilename;
+ const char *tty_name = CURRENT_TTY;
+
+@@ -287,10 +386,10 @@ int setfont_main(int argc UNUSED_PARAM, char **argv)
+ }
+ // load font
+ len = 32*1024; // can't be larger
+- psfhdr = xmalloc_open_zipped_read_close(*argv, &len);
+- if (!psfhdr)
++ buffer = xmalloc_open_zipped_read_close(*argv, &len);
++ if (!buffer)
+ bb_simple_perror_msg_and_die(*argv);
+- do_load(fd, psfhdr, len);
++ do_load(fd, buffer, len);
+
+ // load the screen map, if any
+ if (opts & 1) { // -m
+--
+cgit v0.8.2.1
diff --git a/abs/core-testing/mkinitcpio/PKGBUILD b/abs/core-testing/mkinitcpio/PKGBUILD
index 6ba0f0f..9a87e42 100644
--- a/abs/core-testing/mkinitcpio/PKGBUILD
+++ b/abs/core-testing/mkinitcpio/PKGBUILD
@@ -1,31 +1,30 @@
-# $Id: PKGBUILD 24393 2009-01-15 23:25:29Z thomas $
+# $Id: PKGBUILD 85253 2010-07-11 10:05:21Z thomas $
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=mkinitcpio
-pkgver=0.5.21
-pkgrel=34
-pkgdesc="Advanced, modular initramfs image creation utility"
-arch=(i686 x86_64)
+pkgver=0.6.7
+pkgrel=1
+pkgdesc="Modular initramfs image creation utility"
+arch=(any)
url="http://www.archlinux.org/"
license=('GPL')
-groups=('base')
-depends=('klibc>=1.5.14-2' 'klibc-extras>=2.5' 'klibc-udev>=130'
- 'gen-init-cpio' 'klibc-module-init-tools' 'coreutils'
- 'bash' 'klibc-kbd' 'findutils' 'sed' 'grep'
- 'filesystem>=2009.01' 'udev' 'gzip' 'fbsplash')
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2 mkinitcpio.conf.diff)
+depends=('mkinitcpio-busybox>=1.16.1-2' 'module-init-tools' 'util-linux-ng>=2.17' 'gen-init-cpio' 'coreutils'
+ 'bash' 'findutils' 'sed' 'grep' 'filesystem>=2009.01-2' 'udev>=150' 'file' 'gzip'
+ 'which')
+optdepends=('xz: Use lzma compression for the initramfs image'
+ 'bzip2: Use bzip2 compression for the initramfs image'
+ 'mkinitcpio-nfs-utils: Support for root filesystem on NFS')
+replaces=('mkinitrd' 'mkinitramfs' 'klibc' 'klibc-extras' 'klibc-kbd'
+ 'klibc-module-init-tools' 'klibc-udev')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz mkinitcpio.conf.diff)
backup=(etc/mkinitcpio.conf)
-replaces=('mkinitrd' 'mkinitramfs')
-md5sums=('d6673e8966d7c1f224c767d79434ed6b'
- '288d1555e8499cd791b693945ba9b3b1')
-build()
-{
- cd $startdir/src/${pkgname}-${pkgver}
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
patch -p0 < ../mkinitcpio.conf.diff
- ./install.sh $startdir/pkg
- mkdir -p $pkgdir/usr/share
- mv $pkgdir/usr/man $pkgdir/usr/share
+ make DESTDIR="${pkgdir}" install
}
+sha256sums=('8d34bfa9c8018f02ee938ac68285e3aa16a1ad84ddc0433998e2d43a428cdcbd'
+ '1cc748bb291513e8202ad05f638def4ce9e48bf7d509061ba9c1f9ede3920454')
diff --git a/abs/core-testing/mkinitcpio/mkinitcpio.conf.diff b/abs/core-testing/mkinitcpio/mkinitcpio.conf.diff
index 1beff54..13f896b 100644
--- a/abs/core-testing/mkinitcpio/mkinitcpio.conf.diff
+++ b/abs/core-testing/mkinitcpio/mkinitcpio.conf.diff
@@ -1,8 +1,11 @@
---- mkinitcpio.conf.orig 2009-02-11 21:59:50.000000000 +0000
-+++ mkinitcpio.conf 2009-02-11 22:00:10.000000000 +0000
-@@ -55,4 +55,4 @@
+--- mkinitcpio.conf.orig 2010-08-15 23:10:21.000000000 +0000
++++ mkinitcpio.conf 2010-08-15 23:10:44.000000000 +0000
+@@ -54,7 +54,7 @@
#
# This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev usb lvm2 filesystems"
-HOOKS="base udev autodetect pata scsi sata filesystems"
+HOOKS="base udev autodetect pata scsi sata filesystems fbsplash"
+
+ # COMPRESSION
+ # Use this to compress the initramfs image. With kernels earlier than
diff --git a/abs/core-testing/module-init-tools/PKGBUILD b/abs/core-testing/module-init-tools/PKGBUILD
index b4260d1..a59ee80 100644
--- a/abs/core-testing/module-init-tools/PKGBUILD
+++ b/abs/core-testing/module-init-tools/PKGBUILD
@@ -1,33 +1,39 @@
-# $Id: PKGBUILD 5982 2008-07-22 12:44:28Z thomas $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 85722 2010-07-18 10:36:50Z allan $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
pkgname=module-init-tools
-pkgver=3.4
-pkgrel=10
-pkgdesc="Utilities for inserting and removing modules from the Linux kernel"
-arch=(i686 x86_64)
-url="http://www.kernel.org"
+pkgver=3.12
+pkgrel=1
+pkgdesc="utilities needed by Linux systems for managing loadable kernel modules"
+arch=('i686' 'x86_64')
+url="http://kerneltools.org"
license=('GPL')
-groups=('base')
depends=('glibc')
-backup=('etc/modprobe.conf')
+backup=('etc/modprobe.d/modprobe.conf')
source=(http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-$pkgver.tar.bz2
- ftp://sunsite.informatik.rwth-aachen.de/pub/linux/gentoo/distfiles/module-init-tools-$pkgver-manpages.tar.bz2
- makefile.patch
- modprobe.conf
- fix-modprobe-ignore-path.patch)
-md5sums=('db6ac059e80e8dd4389dbe81ee61f3c6'
- '006678277788b5a0402b171f4a235cd6'
- '47e14fda7a46668290d11d0444d81826'
- '6db59d41e04941a790f80c1a4432faef'
- '335c3f8317f257ddd70b09271b4360bd')
+ modprobe.conf)
+md5sums=('8b2257ce9abef74c4a44d825d23140f3'
+ '316f1bda4c21af02b30252eb014a0a55')
build() {
- cd $startdir/src/$pkgname-$pkgver
- patch -Np1 -i ../makefile.patch
- patch -Np0 -i ../fix-modprobe-ignore-path.patch || return 1
- sed -i 's|/usr/bin/install|/bin/install|g' install-with-care
+ cd $srcdir/$pkgname-$pkgver
+
+ # do not regenerate man pages
+ touch *.{5,8}
+
./configure --prefix=/usr --exec-prefix=/
- make || return 1
- INSTALL=/bin/install make DESTDIR=$startdir/pkg install || return 1
- install -D -m644 ../modprobe.conf $startdir/pkg/etc/modprobe.conf
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ # Install our custom (read: empty) modprobe.conf
+ install -Dm644 $srcdir/modprobe.conf $pkgdir/etc/modprobe.d/modprobe.conf
+
+ # fix man page (FS#17559)
+ sed -i "s#mod#man5/mod#" $pkgdir/usr/share/man/man5/modprobe.d.5
}
diff --git a/abs/core-testing/module-init-tools/modprobe.conf b/abs/core-testing/module-init-tools/modprobe.conf
index d2fc24b..83865a3 100644
--- a/abs/core-testing/module-init-tools/modprobe.conf
+++ b/abs/core-testing/module-init-tools/modprobe.conf
@@ -1,3 +1,3 @@
#
-# /etc/modprobe.conf (for v2.6 kernels)
+# /etc/modprobe.d/modprobe.conf (for v2.6 kernels)
#
diff --git a/abs/core-testing/mpfr/PKGBUILD b/abs/core-testing/mpfr/PKGBUILD
index ac2ab77..e53757b 100644
--- a/abs/core-testing/mpfr/PKGBUILD
+++ b/abs/core-testing/mpfr/PKGBUILD
@@ -1,26 +1,29 @@
-# $Id: PKGBUILD 12992 2008-09-25 17:47:29Z jgc $
+# $Id: PKGBUILD 82426 2010-06-11 05:51:29Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=mpfr
-pkgver=2.3.2
-pkgrel=2
-pkgdesc="multiple-precision floating-point library"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL')
+pkgver=3.0.0
+pkgrel=1
+pkgdesc="Multiple-precision floating-point library"
+arch=('i686' 'x86_64')
+license=('LGPL')
url="http://www.mpfr.org/"
-depends=('gmp>=4.2.3' 'texinfo')
+depends=('gmp>=5.0')
options=('!libtool')
install=mpfr.install
-#source=(http://www.mpfr.org/mpfr-current/mpfr-${pkgver}.tar.gz)
+source=(http://www.mpfr.org/mpfr-current/mpfr-${pkgver}.tar.xz)
+md5sums=('8ab3bef2864b8c6e6a291f5603141bbd')
-source=(http://modular.math.washington.edu/home/novocin/tars/mpfr-2.3.2.tar.gz)
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --enable-thread-safe --enable-shared || return 1
make || return 1
+ make check || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install || return 1
- cd "${pkgdir}/usr/share/info" || return 1
- rm -f dir
- gzip * || return 1
}
diff --git a/abs/core-testing/mpfr/mpfr.install b/abs/core-testing/mpfr/mpfr.install
index a95dec6..46ef244 100644
--- a/abs/core-testing/mpfr/mpfr.install
+++ b/abs/core-testing/mpfr/mpfr.install
@@ -2,6 +2,7 @@ info_dir=/usr/share/info
info_files=(mpfr.info)
post_install() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
@@ -12,6 +13,7 @@ post_upgrade() {
}
pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
for f in ${info_files[@]}; do
install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
done
diff --git a/abs/core-testing/mysql-clients/PKGBUILD b/abs/core-testing/mysql-clients/PKGBUILD
deleted file mode 100644
index 483e6e5..0000000
--- a/abs/core-testing/mysql-clients/PKGBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# $Id: PKGBUILD 23698 2009-01-11 16:10:09Z douglas $
-# Maintainer: judd <jvinet@zeroflux.org>
-
-pkgname=mysql-clients
-pkgver=5.0.75
-pkgrel=2
-pkgdesc="MySQL client tools"
-arch=(i686 x86_64)
-depends=("libmysqlclient>=${pkgver}" 'gcc-libs' 'readline')
-makedepends=('tcp_wrappers' 'libtool' 'gcc')
-url=('http://www.mysql.com/')
-options=('!libtool')
-license=('GPL')
-source=(http://mirror.provenscaling.com/mysql/enterprise/source/5.0/mysql-${pkgver}.tar.gz)
-
-build() {
- cd $startdir/src/mysql-${pkgver}
- ./configure --prefix=/usr --libexecdir=/usr/sbin \
- --localstatedir=/var --sysconfdir=/etc \
- --without-debug --without-docs --without-bench --without-readline \
- --with-innodb --enable-local-infile --with-openssl \
- --with-charset=latin1 --with-collation=latin1_general_ci \
- --with-extra-charsets=complex --enable-thread-safe-client \
- --with-libwrap --with-berkeley-db --disable-server
-
- for dir in include strings regex mysys dbug extra; do
- pushd ${dir} || return 1
- make || return 1
- popd
- done
- cd client
- sed -i -e 's|\$(top_builddir)/libmysql/libmysqlclient.la|/usr/lib/mysql/libmysqlclient.so|g' Makefile
- make link_sources
- make || return 1
- make DESTDIR=${startdir}/pkg install
-}
-md5sums=('a234f0a60a7f8c290d9875cba3a2c5a2')
diff --git a/abs/core-testing/mysql-python/PKGBUILD b/abs/core-testing/mysql-python/PKGBUILD
index 1e3dea0..a2c8606 100644
--- a/abs/core-testing/mysql-python/PKGBUILD
+++ b/abs/core-testing/mysql-python/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id: PKGBUILD 16696 2008-10-22 02:26:55Z allan $
-# Maintainer: damir <damir@archlinux.org>
+# $Id: PKGBUILD 59043 2009-11-19 16:20:45Z andrea $
+# Contributor: damir <damir@archlinux.org>
pkgname=mysql-python
-pkgver=1.2.2
+pkgver=1.2.3c1
pkgrel=2
pkgdesc="MySQL support for Python"
arch=("i686" "x86_64")
url="http://sourceforge.net/projects/mysql-python"
license=('GPL2')
-depends=('python>=2.6' 'libmysqlclient')
-makedepends=('mysql>=5.0.23' 'setuptools')
-source=("http://downloads.sourceforge.net/sourceforge/mysql-python/MySQL-python-${pkgver}.tar.gz")
-md5sums=('532268f02870bea18c1d465e88afff30')
-
+depends=('python>=2.6' 'libmysqlclient>=5.1.41-2')
+makedepends=('mysql>=5.1.41-2' 'setuptools')
+source=("http://downloads.sourceforge.net/${pkgname}/MySQL-python-${pkgver}.tar.gz")
+md5sums=('310dd856e439d070b59ece6dd7a0734d')
build() {
- cd ${startdir}/src/MySQL-python-${pkgver}
- yes | python setup.py install --root=${startdir}/pkg
+ cd ${srcdir}/MySQL-python-${pkgver}
+ python setup.py install --root=${pkgdir} || return 1
}
diff --git a/abs/core-testing/mysql/PKGBUILD b/abs/core-testing/mysql/PKGBUILD
index c91ac41..ce41dbc 100644
--- a/abs/core-testing/mysql/PKGBUILD
+++ b/abs/core-testing/mysql/PKGBUILD
@@ -1,56 +1,113 @@
-# $Id: PKGBUILD 23595 2009-01-11 13:14:19Z douglas $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# $Id: PKGBUILD 81345 2010-05-28 20:08:31Z jgc $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
-pkgname=mysql
-pkgver=5.0.75
-pkgrel=4
-pkgdesc="A fast SQL database server"
-arch=(i686 x86_64)
-backup=(etc/my.cnf etc/conf.d/mysqld)
-depends=("mysql-clients>=${pkgver}" 'tcp_wrappers')
-makedepends=('libtool')
-url=('http://www.mysql.com/')
-options=('!libtool')
-optdepends=('perl-dbi' 'perl-dbd-mysql')
+
+pkgbase=mysql
+pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
+pkgver=5.1.47
+pkgrel=1
+arch=('i686' 'x86_64')
license=('GPL')
-source=(ftp://ftp.pucpr.br/mysql/Downloads/MySQL-5.0/mysql-${pkgver}.tar.gz
- mysql-no-clients.patch
- mysqld
- my.cnf
- mysqld.conf.d)
+url="http://www.mysql.com/"
+makedepends=('tcp_wrappers' 'zlib' 'perl' 'openssl' 'libtool' 'patch')
+options=('!libtool')
+source=(http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.1/${pkgbase}-${pkgver}.tar.gz
+ mysqld
+ my.cnf
+ skip-abi-check.patch)
+md5sums=('02b9964b3966832f3d6bc87524bfd73f'
+ '2234207625baa29b2ff7d7b4f088abce'
+ '0337741fa9afbe57939993636081a827'
+ 'a97e574945e19de3908575b956241026')
build() {
- # PIC
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np1 -i ${startdir}/src/mysql-no-clients.patch || return 1
- ./configure --prefix=/usr --libexecdir=/usr/sbin \
- --without-debug --without-docs --without-bench --without-readline \
- --with-innodb --enable-local-infile --with-openssl \
- --with-charset=latin1 --with-collation=latin1_general_ci \
- --with-extra-charsets=complex --enable-thread-safe-client \
- --with-libwrap --with-berkeley-db --with-embedded-server
-
- # fixes
- sed -i -e 's/^.*HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE.*$/#define\ HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE/g' include/config.h || return 1
- sed -i -e 's/size_socket/socklen_t/g' sql/mysqld.cc || return 1
-
- pushd include || return
- make || return 1
- popd
- pushd libmysql
- make link_sources get_password.lo || return
- popd
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ patch -Np0 -i "${srcdir}/skip-abi-check.patch" || return 1
+ # CFLAGS/CXXFLAGS as suggested upstream
+ CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
+ CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
+ ./configure --prefix=/usr \
+ --libexecdir=/usr/sbin \
+ --localstatedir=/var \
+ --sysconfdir=/etc/mysql \
+ --without-docs \
+ --without-readline \
+ --with-ssl \
+ --with-libwrap \
+ --with-charset=utf8 \
+ --with-collation=utf8_general_ci \
+ --with-extra-charsets=complex \
+ --with-embedded-server \
+ --with-unix-socket-path=/var/run/mysqld/mysqld.sock \
+ --enable-local-infile \
+ --with-plugins=partition,ftexample,archive,blackhole,federated,heap,innobase,innodb_plugin,ndbcluster || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install
- rm -rf ${startdir}/pkg/usr/{mysql-test,sql-bench}
- install -D -m644 ../my.cnf ${startdir}/pkg/etc/my.cnf
- install -D -m755 ../mysqld ${startdir}/pkg/etc/rc.d/mysqld
- install -D -m644 ../mysqld.conf.d ${startdir}/pkg/etc/conf.d/mysqld
- rm -f ${startdir}/pkg/usr/bin/mysql_config
}
-md5sums=('a234f0a60a7f8c290d9875cba3a2c5a2'
- 'e892aac36cbeb57f0e003ec0936afb3b'
- 'cfff3585dd70cde3ac1ce69e64008733'
+package_libmysqlclient(){
+ pkgdesc="MySQL client libraries"
+ depends=('openssl' 'zlib' 'gcc-libs' 'tcp_wrappers')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ for dir in include libmysql libmysql_r libmysqld; do
+ make -C ${dir} DESTDIR="${pkgdir}" install || return 1
+ done
+ install -m644 include/*.h "${pkgdir}/usr/include/mysql/" || return 1
+
+ install -d "${pkgdir}/usr/bin"
+ install -m755 scripts/mysql_config "${pkgdir}/usr/bin/" || return 1
+
+ # create library symlinks in /usr/lib
+ ln -sf mysql/libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so.16
+ ln -sf libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so
+ ln -sf libmysqlclient.so.16 ${pkgdir}/usr/lib/libmysqlclient.so.1
+ ln -sf mysql/libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so.16
+ ln -sf libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so
+ ln -sf libmysqlclient_r.so.16 ${pkgdir}/usr/lib/libmysqlclient_r.so.1
+}
+
+package_mysql-clients(){
+ pkgdesc="MySQL client tools"
+ depends=('libmysqlclient')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/client"
+ make DESTDIR="${pkgdir}" install || return 1
+
+ # provided by libmysqlclient
+ rm -rf "${pkgdir}/usr/lib/"
+
+ # provided by mysql
+ rm -f "${pkgdir}"/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest}
+}
+
+package_mysql(){
+ pkgdesc="A fast SQL database server"
+ backup=('etc/my.cnf' 'etc/mysql/my.cnf')
+ install=mysql.install
+ depends=('mysql-clients')
+ optdepends=('perl-dbi' 'perl-dbd-mysql')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR=${pkgdir} install || return 1
+
+ install -Dm644 ${srcdir}/my.cnf ${pkgdir}/etc/mysql/my.cnf || return 1
+ install -Dm755 ${srcdir}/mysqld ${pkgdir}/etc/rc.d/mysqld || return 1
+
+ # provided by libmysqlclient
+ rm -f ${pkgdir}/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
+ rm -f ${pkgdir}/usr/lib/mysql/libmysqlclient*
+ rm -f ${pkgdir}/usr/lib/mysql/libmysqld.a
+ rm -f ${pkgdir}/usr/include/mysql/*.h
+
+ # provided by mysql-clients
+ rm -f ${pkgdir}/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
+
+ # not needed
+ rm -rf ${pkgdir}/usr/{mysql-test,sql-bench}
+ rm -f ${pkgdir}/usr/lib/mysql/plugin/*.a
+}
+md5sums=('02b9964b3966832f3d6bc87524bfd73f'
+ '040148932c625794c4db81ab9139eb68'
'078f6e824d6097d558bcf7c16d508d92'
- 'd81d1f51e9ee6941425a63456d07cb21')
+ 'a97e574945e19de3908575b956241026')
diff --git a/abs/core-testing/mysql/__changelog b/abs/core-testing/mysql/__changelog
index aa066aa..5466afc 100644
--- a/abs/core-testing/mysql/__changelog
+++ b/abs/core-testing/mysql/__changelog
@@ -1,13 +1,2 @@
-my.cnf
--enable networking
--datadir /data/srv/mysql
--query_cache_size
--tmp_table_size
--max_heap_table_size
--thread_cache_size
--table_cache
-
-mysqld
- -redirect output to /dev/null
- --skip-name-resolve
- replace mkdir with mkdir -p
+6/13/10 - chw - LinHES specific my.cnf
+ - chw - mysqld, added --skip-name-resolve to mysqld_safe line and output to /dev/null
diff --git a/abs/core-testing/mysql/mysql-no-clients.patch b/abs/core-testing/mysql/mysql-no-clients.patch
deleted file mode 100644
index e1fb5e0..0000000
--- a/abs/core-testing/mysql/mysql-no-clients.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -ruN mysql-5.0.51.orig/Makefile.in mysql-5.0.51/Makefile.in
---- mysql-5.0.51.orig/Makefile.in 2007-12-07 12:59:21.000000000 +0000
-+++ mysql-5.0.51/Makefile.in 2007-12-07 13:03:21.000000000 +0000
-@@ -376,7 +376,7 @@
- SUBDIRS = . include @docs_dirs@ @zlib_dir@ @yassl_dir@ \
- @readline_topdir@ sql-common scripts \
- @thread_dirs@ pstack \
-- @sql_union_dirs@ @man_dirs@ tests \
-+ strings mysys dbug extra regex bdb innobase myisam myisammrg heap vio sql @man_dirs@ tests \
- netware @libmysqld_dirs@ \
- @bench_dirs@ support-files @tools_dirs@
-
-diff -ruN mysql-5.0.51.orig/include/Makefile.in mysql-5.0.51/include/Makefile.in
---- mysql-5.0.51.orig/include/Makefile.in 2007-12-07 12:59:20.000000000 +0000
-+++ mysql-5.0.51/include/Makefile.in 2007-12-07 13:00:12.000000000 +0000
-@@ -557,7 +557,6 @@
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
- install: $(BUILT_SOURCES)
-- $(MAKE) $(AM_MAKEFLAGS) install-am
- install-exec: install-exec-am
- install-data: install-data-am
- uninstall: uninstall-am
-diff -ruN mysql-5.0.51.orig/tests/Makefile.in mysql-5.0.51/tests/Makefile.in
---- mysql-5.0.51.orig/tests/Makefile.in 2007-12-07 12:59:20.000000000 +0000
-+++ mysql-5.0.51/tests/Makefile.in 2007-12-07 13:01:51.000000000 +0000
-@@ -96,7 +96,7 @@
- am_mysql_client_test_OBJECTS = mysql_client_test.$(OBJEXT) \
- my_memmem.$(OBJEXT)
- mysql_client_test_OBJECTS = $(am_mysql_client_test_OBJECTS)
--am__DEPENDENCIES_1 = $(top_builddir)/libmysql/libmysqlclient.la
-+am__DEPENDENCIES_1 = /usr/lib/mysql/libmysqlclient.so
- am__DEPENDENCIES_2 =
- mysql_client_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_2)
-@@ -106,7 +106,7 @@
- thread_test_SOURCES = thread_test.c
- thread_test_OBJECTS = thread_test.$(OBJEXT)
- thread_test_LDADD = $(LDADD)
--thread_test_DEPENDENCIES = $(top_builddir)/libmysql/libmysqlclient.la
-+thread_test_DEPENDENCIES = /usr/lib/mysql/libmysqlclient.so
- DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
-@@ -405,7 +405,7 @@
- $(openssl_includes)
-
- LDADD = @CLIENT_EXTRA_LDFLAGS@ \
-- $(top_builddir)/libmysql/libmysqlclient.la
-+ /usr/lib/mysql/libmysqlclient.so
-
- mysql_client_test_LDADD = $(LDADD) $(CXXLDFLAGS)
- mysql_client_test_SOURCES = mysql_client_test.c\
-diff -ruN mysql-5.0.51.orig/tools/Makefile.in mysql-5.0.51/tools/Makefile.in
---- mysql-5.0.51.orig/tools/Makefile.in 2007-12-07 12:59:19.000000000 +0000
-+++ mysql-5.0.51/tools/Makefile.in 2007-12-07 13:02:32.000000000 +0000
-@@ -369,7 +369,7 @@
- $(openssl_includes)
-
- LDADD = @CLIENT_EXTRA_LDFLAGS@ \
-- $(top_builddir)/libmysql_r/libmysqlclient_r.la \
-+ /usr/lib/mysql/libmysqlclient_r.so \
- @openssl_libs@ @yassl_libs@ @ZLIB_LIBS@
-
- mysqltestmanager_SOURCES = mysqlmanager.c
diff --git a/abs/core-testing/mysql/mysql.install b/abs/core-testing/mysql/mysql.install
new file mode 100644
index 0000000..9e9011d
--- /dev/null
+++ b/abs/core-testing/mysql/mysql.install
@@ -0,0 +1,20 @@
+post_install(){
+ groupadd -g 89 mysql &>/dev/null
+ useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+ usr/bin/mysql_install_db --user=mysql
+ chown -R mysql:mysql var/lib/mysql &>/dev/null
+}
+
+post_upgrade(){
+ getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
+ getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+}
+
+post_remove(){
+ if getent passwd mysql >/dev/null 2>&1; then
+ userdel mysql
+ fi
+ if getent group mysql >/dev/null 2>&1; then
+ groupdel mysql
+ fi
+}
diff --git a/abs/core-testing/mysql/mysqld b/abs/core-testing/mysql/mysqld
index 5857df8..882e6dd 100755
--- a/abs/core-testing/mysql/mysqld
+++ b/abs/core-testing/mysql/mysqld
@@ -1,48 +1,35 @@
#!/bin/bash
-MYSQLD_ROOT="/var/lib/mysql"
-# source application-specific settings
-[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld
-
# general config
. /etc/rc.conf
. /etc/rc.d/functions
-PID=`pidof -o %PPID /usr/sbin/mysqld`
-if [ ! `egrep '^mysql:' /etc/group` ]; then
- stat_busy "Adding mysql group"
- groupadd -g 89 mysql
- stat_done
-fi
-if [ ! `egrep '^mysql:' /etc/passwd` ]; then
- stat_busy "Adding mysql user"
- useradd -u 89 -g mysql -d $MYSQLD_ROOT -s /bin/false mysql
- [ -d $MYSQLD_ROOT ] && chown -R mysql.mysql $MYSQLD_ROOT
- stat_done
-fi
-
-if [ ! -d $MYSQLD_ROOT ]; then
- mkdir -p $MYSQLD_ROOT
- /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql 2>/dev/null 1>/dev/null
- chown -R mysql.mysql $MYSQLD_ROOT
-fi
+getPID() {
+ echo $(pgrep -u mysql mysqld 2>/dev/null);
+}
case "$1" in
start)
- stat_busy "Starting MySQL"
- if [ -z "$PID" ]; then
- /usr/bin/mysqld_safe --skip-name-resolve --datadir=$MYSQLD_ROOT >/dev/null 2>/dev/null &
+ stat_busy "Starting MySQL Server"
+ [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null
+ if [ -z "$(getPID)" ]; then
+ /usr/bin/mysqld_safe --skip-name-resolve --user=mysql >/devl/null &>/dev/null &
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
- sleep 1 # wait on children
- PID=`pidof -o %PPID /usr/sbin/mysqld`
- if [ -z "$PID" ]; then
+ timeo=30
+ while [ $timeo -gt 0 ]; do
+ response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break
+ echo "$response" | grep -q "mysqld is alive" && break
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ $timeo -eq 0 ]; then
stat_fail
exit 1
else
- echo $PID >/var/run/mysqld.pid
+ echo $(getPID) > /var/run/mysqld/mysqld.pid
add_daemon mysqld
stat_done
fi
@@ -54,16 +41,25 @@ case "$1" in
;;
stop)
- stat_busy "Stopping MySQL"
- if [ ! -z "$PID" ]; then
- kill $PID &> /dev/null
+ stat_busy "Stopping MySQL Server"
+ if [ ! -z "$(getPID)" ]; then
+ timeo=30
+ kill $(getPID) &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
exit 1
- else
- rm -f /var/run/mysqld.pid &>/dev/null
+ fi
+ while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ -z "$(getPID)" ]; then
+ rm -f /var/run/mysqld/mysqld.pid &>/dev/null
rm_daemon mysqld
stat_done
+ else
+ stat_fail
+ exit 1
fi
else
stat_fail
@@ -73,10 +69,9 @@ case "$1" in
restart)
$0 stop
- sleep 3
$0 start
;;
*)
- echo "usage: $0 {start|stop|restart}"
+ echo "usage: $0 {start|stop|restart}"
esac
exit 0
diff --git a/abs/core-testing/mysql/mysqld.conf.d b/abs/core-testing/mysql/mysqld.conf.d
deleted file mode 100644
index 10b7098..0000000
--- a/abs/core-testing/mysql/mysqld.conf.d
+++ /dev/null
@@ -1 +0,0 @@
-MYSQLD_ROOT="/data/srv/mysql"
diff --git a/abs/core-testing/mysql/skip-abi-check.patch b/abs/core-testing/mysql/skip-abi-check.patch
new file mode 100644
index 0000000..6791deb
--- /dev/null
+++ b/abs/core-testing/mysql/skip-abi-check.patch
@@ -0,0 +1,13 @@
+--- Makefile.in.orig 2010-05-28 20:03:46.507224494 +0200
++++ Makefile.in 2010-05-28 20:04:05.737221909 +0200
+@@ -1126,10 +1126,8 @@
+ #
+
+ abi_check: $(API_PREPROCESSOR_HEADER)
+- $(MAKE) abi_headers="$^" do_abi_check
+
+ abi_check_all: $(TEST_PREPROCESSOR_HEADER)
+- $(MAKE) abi_headers="$^" do_abi_check
+
+ do_abi_check:
+ set -ex; \
diff --git a/abs/core-testing/ndiswrapper-utils/PKGBUILD b/abs/core-testing/ndiswrapper-utils/PKGBUILD
index 3467469..17126fb 100644
--- a/abs/core-testing/ndiswrapper-utils/PKGBUILD
+++ b/abs/core-testing/ndiswrapper-utils/PKGBUILD
@@ -1,22 +1,27 @@
-#$Id: PKGBUILD 7905 2008-08-05 07:01:47Z tpowa $
+#$Id: PKGBUILD 77959 2010-04-19 07:17:40Z allan $
#Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=ndiswrapper-utils
-pkgver=1.53
-pkgrel=1
+pkgver=1.56
+pkgrel=2
pkgdesc="Binaries for ndiswrapper module"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('GPL')
url="http://ndiswrapper.sourceforge.net"
-depends=(wireless_tools glibc)
+depends=('wireless_tools' 'glibc' 'perl')
replaces=('ndiswrapper-bin')
conflicts=('ndiswrapper-bin')
source=(http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-$pkgver.tar.gz)
+md5sums=('1431f7ed5f8e92e752d330bbb3aed333')
build()
{
- cd $startdir/src/ndiswrapper-$pkgver/utils
+ cd $srcdir/ndiswrapper-$pkgver/utils
make || return 1
- make DESTDIR=$startdir/pkg install
}
-md5sums=('393c6e6ab0803963148e18538601cdec')
+
+package() {
+ cd $srcdir/ndiswrapper-$pkgver/utils
+ make DESTDIR=$pkgdir install
+}
+
diff --git a/abs/core-testing/ndiswrapper/PKGBUILD b/abs/core-testing/ndiswrapper/PKGBUILD
index d0c9886..b6662fb 100644
--- a/abs/core-testing/ndiswrapper/PKGBUILD
+++ b/abs/core-testing/ndiswrapper/PKGBUILD
@@ -1,28 +1,23 @@
-#$Id: PKGBUILD 22488 2008-12-26 22:47:09Z tpowa $
+#$Id: PKGBUILD 80412 2010-05-17 07:56:55Z tpowa $
#Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=ndiswrapper
-_kernver=2.6.28-LinHES
-pkgver=1.53
-pkgrel=6
+_kernver=2.6.34-LinHES
+pkgver=1.56
+pkgrel=3
pkgdesc="Module for NDIS (Windows Network Drivers) drivers supplied by vendors. For stock arch 2.6 kernel."
license=('GPL')
arch=(i686 x86_64)
url="http://ndiswrapper.sourceforge.net"
install="ndiswrapper.install"
-depends=("ndiswrapper-utils=$pkgver" 'kernel26>=2.6.28' 'kernel26<2.6.29')
-source=(http://downloads.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-$pkgver.tar.gz
- kernel-2.6.27.patch
- ndiswrapper-CVE-2008-4395.patch)
-md5sums=('393c6e6ab0803963148e18538601cdec'
- 'cd09562c4afdbd20a0237a5e6d976b31'
- 'b35e548a0c9eb1395f6f7b434a258ddf')
+depends=("ndiswrapper-utils=$pkgver" 'kernel26>=2.6.34' 'kernel26<2.6.35')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
+source=(http://downloads.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-$pkgver.tar.gz)
+md5sums=('1431f7ed5f8e92e752d330bbb3aed333')
build()
{
cd $srcdir/ndiswrapper-$pkgver/driver
- patch -Np1 -i ../../kernel-2.6.27.patch || return 1
- patch -Np3 -i ../../ndiswrapper-CVE-2008-4395.patch || return 1
make KVERS=$_kernver || return 1
make DESTDIR=$pkgdir KVERS=$_kernver install || return 1
rm $pkgdir/lib/modules/$_kernver/modules.* #wtf?
@@ -33,3 +28,4 @@ build()
mv $pkgdir/lib/modules/$_kernver/misc/* $pkgdir/lib/modules/$_kernver/kernel/drivers/net/wireless/ndiswrapper/
rm -r $pkgdir/lib/modules/$_kernver/misc/
}
+
diff --git a/abs/core-testing/ndiswrapper/ndiswrapper.install b/abs/core-testing/ndiswrapper/ndiswrapper.install
index e173d14..fafe580 100644
--- a/abs/core-testing/ndiswrapper/ndiswrapper.install
+++ b/abs/core-testing/ndiswrapper/ndiswrapper.install
@@ -2,8 +2,8 @@
post_install()
{
ndiswrapper -m
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the new package version
@@ -11,18 +11,13 @@ post_install()
post_upgrade()
{
ndiswrapper -m
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the old package version
post_remove()
{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -ae -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core-testing/ntfs-3g/25-ntfs-config-write-policy.fdi b/abs/core-testing/ntfs-3g/25-ntfs-config-write-policy.fdi
new file mode 100644
index 0000000..54195d8
--- /dev/null
+++ b/abs/core-testing/ntfs-3g/25-ntfs-config-write-policy.fdi
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deviceinfo version="0.2">
+ <device>
+ <match key="volume.fstype" string="ntfs">
+ <append key="volume.fstype.alternative" type="copy_property">volume.fstype</append>
+ <merge key="volume.mount.ntfs.valid_options" type="copy_property">volume.mount.valid_options</merge>
+ <merge key="volume.unmount.ntfs.valid_options" type="copy_property">volume.unmount.valid_options</merge>
+ <merge key="volume.fstype" type="string">ntfs-3g</merge>
+ <merge key="volume.mount.valid_options" type="strlist">ro</merge>
+ <append key="volume.mount.valid_options" type="strlist">atime</append>
+ <append key="volume.mount.valid_options" type="strlist">noatime</append>
+ <append key="volume.mount.valid_options" type="strlist">relatime</append>
+ <append key="volume.mount.valid_options" type="strlist">fake_rw</append>
+ <append key="volume.mount.valid_options" type="strlist">no_def_opts</append>
+ <append key="volume.mount.valid_options" type="strlist">default_permissions</append>
+ <append key="volume.mount.valid_options" type="strlist">umask=</append>
+ <append key="volume.mount.valid_options" type="strlist">fmask=</append>
+ <append key="volume.mount.valid_options" type="strlist">dmask=</append>
+ <append key="volume.mount.valid_options" type="strlist">uid=</append>
+ <append key="volume.mount.valid_options" type="strlist">gid=</append>
+ <append key="volume.mount.valid_options" type="strlist">show_sys_files</append>
+ <append key="volume.mount.valid_options" type="strlist">silent</append>
+ <append key="volume.mount.valid_options" type="strlist">force</append>
+ <append key="volume.mount.valid_options" type="strlist">remove_hiberfile</append>
+ <append key="volume.mount.valid_options" type="strlist">locale=</append>
+ <append key="volume.mount.valid_options" type="strlist">streams_interface=</append>
+ <append key="volume.mount.valid_options" type="strlist">debug</append>
+ <append key="volume.mount.valid_options" type="strlist">no_detatch</append>
+ <append key="volume.mount.valid_options" type="strlist">sync</append>
+ <append key="volume.mount.valid_options" type="strlist">dirsync</append>
+ <append key="volume.mount.valid_options" type="strlist">nodiratime</append>
+ <append key="volume.mount.valid_options" type="strlist">noexec</append>
+ <append key="volume.mount.valid_options" type="strlist">quiet</append>
+ <append key="volume.mount.valid_options" type="strlist">remount</append>
+ <append key="volume.mount.valid_options" type="strlist">exec</append>
+ <append key="volume.mount.valid_options" type="strlist">recover</append>
+ <append key="volume.mount.valid_options" type="strlist">norecover</append>
+ <merge key="volume.unmount.valid_options" type="strlist">lazy</merge>
+ <merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>
+ </match>
+ </device>
+</deviceinfo>
diff --git a/abs/core-testing/ntfs-3g/PKGBUILD b/abs/core-testing/ntfs-3g/PKGBUILD
index a8ae6e5..8c69b19 100644
--- a/abs/core-testing/ntfs-3g/PKGBUILD
+++ b/abs/core-testing/ntfs-3g/PKGBUILD
@@ -1,31 +1,33 @@
-# $Id: PKGBUILD 35598 2009-04-14 08:38:34Z ronald $
+# $Id: PKGBUILD 82467 2010-06-11 12:01:11Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Thomas Bächler <thomas.archlinux.org>
pkgname=ntfs-3g
-pkgver=2009.4.4
-pkgrel=3
+pkgver=2010.5.22
+pkgrel=1
pkgdesc="Stable read and write NTFS driver"
-url="http://www.ntfs-3g.org/"
+url="http://www.tuxera.com"
arch=('i686' 'x86_64')
license=('GPL2')
-install=ntfs-3g.install
-depends=('glibc')
+depends=('glibc' 'fuse')
makedepends=('pkgconfig')
options=('!libtool')
-source=(http://www.ntfs-3g.org/${pkgname}-${pkgver}.tgz
- 20-ntfs-config-write-policy.fdi)
-md5sums=('e0b5c170f088a8d82968f0a6b34d31da'
- 'ece35a9108837e2008e5a47f3390755e')
+source=(http://www.tuxera.com/opensource/${pkgname}-${pkgver}.tgz
+ 25-ntfs-config-write-policy.fdi)
+sha1sums=('300c433dc455967a9b95009b89ef6931b3eae90e'
+ '200029f2999a2c284fd30ae25734abf6459c3501')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- # use internal fuse at least until fuse 2.8.0 is relased, it contains
- # some bug & security fixes
+ cd "${srcdir}/${pkgname}-${pkgver}"
ac_cv_path_LDCONFIG=/bin/true ./configure --prefix=/usr \
- --with-fuse=internal || return 1
+ --with-fuse=external --disable-static || return 1
make || return 1
- make DESTDIR=${pkgdir} install || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install || return 1
+ ln -s /bin/ntfs-3g "${pkgdir}/sbin/mount.ntfs" || return 1
install -m755 -d "${pkgdir}/usr/share/hal/fdi/policy/10osvendor"
- install -m644 "${srcdir}/20-ntfs-config-write-policy.fdi" "${pkgdir}/usr/share/hal/fdi/policy/10osvendor/" || return 1
+ install -m644 "${srcdir}/25-ntfs-config-write-policy.fdi" "${pkgdir}/usr/share/hal/fdi/policy/10osvendor/" || return 1
}
diff --git a/abs/core-testing/ntfsprogs/PKGBUILD b/abs/core-testing/ntfsprogs/PKGBUILD
index 9f24ad6..56bf765 100644
--- a/abs/core-testing/ntfsprogs/PKGBUILD
+++ b/abs/core-testing/ntfsprogs/PKGBUILD
@@ -1,26 +1,24 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 48342 2009-08-01 14:46:45Z jgc $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
pkgname=ntfsprogs
pkgver=2.0.0
-pkgrel=2
-depends=('glibc' 'fuse' 'e2fsprogs')
+pkgrel=4
+depends=('glibc' 'fuse' 'util-linux-ng>=2.16')
makedepends=('pkgconfig')
-pkgdesc="NTFS Resizing Tool"
+pkgdesc="NTFS filesystem utilities"
arch=(i686 x86_64)
license=('GPL')
-#source=(http://heanet.dl.sourceforge.net/sourceforge/linux-ntfs/$pkgname-$pkgver.tar.gz)
-#source=(http://mesh.dl.sourceforge.net/sourceforge/linux-ntfs/$pkgname-$pkgver.tar.gz)
-source=(http://switch.dl.sourceforge.net/sourceforge/linux-ntfs/$pkgname-$pkgver.tar.gz)
-url="http://linux-ntfs.sourceforge.net"
-install=('ntfsprogs.install')
+source=(http://downloads.sourceforge.net/sourceforge/linux-ntfs/${pkgname}-${pkgver}.tar.gz)
+url="http://www.linux-ntfs.org/"
options=(!libtool)
md5sums=('2c402b647bb7aeb1d3f8ce1cc354fd68')
build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr --disable-gnome-vfs --enable-fuse-module PKG_CONFIG=/usr/bin/pkg-config
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --disable-gnome-vfs \
+ --mandir=/usr/share/man || return 1
make || return 1
- make DESTDIR=$startdir/pkg install
+ make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core-testing/ntp/PKGBUILD b/abs/core-testing/ntp/PKGBUILD
index 83e77ad..772e0bf 100755
--- a/abs/core-testing/ntp/PKGBUILD
+++ b/abs/core-testing/ntp/PKGBUILD
@@ -1,30 +1,89 @@
+# $Id: PKGBUILD 75563 2010-04-01 20:42:21Z giovanni $
+# Maintainer: dorphell <dorphell@archlinux.org>
+
pkgname=ntp
pkgver=4.2.6p2
-pkgrel=1
+pkgrel=3
pkgdesc="NTP (Network Time Protocol) tries to keep servers in sync"
arch=(i686 x86_64)
+license=('custom')
url="http://www.ntp.org/"
-depends=('openssl' 'readline' )
-backup=('etc/ntp.conf' 'conf.d/ntp-client.conf')
-source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${pkgver}.tar.gz \
- ntp.conf ntp-client.conf ntpd ntpdate )
+depends=('openssl' 'readline' 'libcap')
+makedepends=('perl-html-parser')
+backup=('etc/ntp.conf' 'etc/conf.d/ntp-client.conf')
+options=('!emptydirs')
+source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${pkgver}.tar.gz
+ ntp-4.2.4_p7-nano.patch
+ fix-ipv6.patch
+ ntp-4.2.4-html2man.patch
+ ntp.conf
+ ntp-client.conf
+ ntpd
+ ntpdate)
+sha1sums=('a1f21b23c8c80f35801d59e30ba30779f2025a72' '4de6cd3fad1946146107f86d1f161eb835fbb2d3'\
+ '3632f8a00838f48e484bca24de06db443cc14fff' '7f8783e243e23c8853a9f9fb5b36f467aab8dc15'\
+ '3625ed2aa71d9e0dd04634f32e65d83b76cfe780' 'c8e388f2577b4329da5e77f0455083db6dd97fa8'\
+ 'd9b09de9d718a864270e9330e20109e182dfbdd9' '6dfc3b6996f591123ee8938fd0fe7c27eb5c7552')
build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
+ cd "$srcdir/$pkgname-$pkgver" || return 1
+ # fix glibc build issue
+ patch -Np1 -i ../ntp-4.2.4_p7-nano.patch || return 1
+ # fix ipv6 support
+ patch -Np1 -i ../fix-ipv6.patch || return 1
+ # fix man page generation
+ patch -Np1 -i ../ntp-4.2.4-html2man.patch || return 1
+ # configure
+ export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
+ libtoolize --copy --force || return 1
+ ac_cv_header_dns_sd_h=0 ./configure --prefix=/usr --mandir=/usr/share/man --enable-linux-caps || return 1
+
+ # build and install
make || return 1
- make prefix=$startdir/pkg/usr install
- mkdir -p $startdir/pkg/usr/share/ntp/ $startdir/pkg/usr/man/man1/
- install -D -m644 conf/* $startdir/pkg/usr/share/ntp/
- install -D -m755 $startdir/ntpd $startdir/pkg/etc/rc.d/ntpd
- install -D -m755 $startdir/ntpdate $startdir/pkg/etc/rc.d/ntpdate
- install -D -m644 $startdir/src/man/* $startdir/pkg/usr/man/man1/
- install -D -m644 $startdir/ntp-client.conf $startdir/pkg/etc/conf.d/ntp-client.conf
- install -D -m644 $startdir/ntp.conf $startdir/pkg/etc/ntp.conf
-}
+ make DESTDIR="$pkgdir" install || return 1
+
+ # install conf files
+ mkdir -p "$pkgdir/usr/share/ntp" || return 1
+ install -D -m644 conf/* "$pkgdir/usr/share/ntp/" || return 1
+
+ # install launch scripts
+ mkdir -p "$pkgdir/etc/rc.d" || return 1
+ install -D -m755 "$srcdir"/{ntpd,ntpdate} "$pkgdir/etc/rc.d/" || return 1
+ # install man pages
+ cd html
+ ../scripts/html2man || return 1
+ sed -i 's/^[\t\ ]*$//;/./,/^$/!d' man/man*/*.[58] || return 1
+ install -d "$pkgdir"/usr/share/man/man{5,8}
+ install -m644 man/man5/* "$pkgdir/usr/share/man/man5/" || return 1
+ install -m644 man/man8/* "$pkgdir/usr/share/man/man8/" || return 1
+ mv "$pkgdir/usr/share/man/man8/ntpd.8" "$pkgdir/usr/share/man/man8/ntp-ntpd.8" || return 1
+ cd ..
+
+ # install sample configs
+ install -D -m644 "$srcdir/ntp.conf" "$pkgdir/etc/ntp.conf" || return 1
+ install -D -m644 "$srcdir/ntp-client.conf" \
+ "$pkgdir/etc/conf.d/ntp-client.conf" || return 1
+
+ # create /var/lib/ntp
+ mkdir -p "$pkgdir/var/lib/ntp" || return 1
+ touch "$pkgdir/var/lib/ntp/.placeholder" || return 1
+
+ install -Dm644 "$srcdir/$pkgname-$pkgver/COPYRIGHT" "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"
+}
md5sums=('cf73cd85f248232c62f8029e6eb05938'
- '833c9d699765bd60825b5713670be460'
- '25eb8d2176fe642b488e4b9fa03179ac'
- 'b1a1798b9cd1907d65a7fc794294d6ce'
+ '36c5711228cb0cf48966daa993e06f55'
+ '9dabdbc6b8cd020f2205515df7972c21'
+ '1b04e888717bb31479a6087632981723'
+ '5bd3924f5720b97837969ec4ec4d5e09'
+ 'c7f50632b69bd4f32cf052d0b1848463'
+ '46118a8ec2c4f5bbfafd730af21b7c03'
'140855352baeb89da0c6c1c475c18b57')
+sha1sums=('04b5e3c3755fe9e5bcec5bd5d29255cfef2102c4'
+ '4de6cd3fad1946146107f86d1f161eb835fbb2d3'
+ '3632f8a00838f48e484bca24de06db443cc14fff'
+ '7f8783e243e23c8853a9f9fb5b36f467aab8dc15'
+ '3625ed2aa71d9e0dd04634f32e65d83b76cfe780'
+ 'c8e388f2577b4329da5e77f0455083db6dd97fa8'
+ 'd9b09de9d718a864270e9330e20109e182dfbdd9'
+ '6dfc3b6996f591123ee8938fd0fe7c27eb5c7552')
diff --git a/abs/core-testing/ntp/fix-ipv6.patch b/abs/core-testing/ntp/fix-ipv6.patch
new file mode 100644
index 0000000..eecd766
--- /dev/null
+++ b/abs/core-testing/ntp/fix-ipv6.patch
@@ -0,0 +1,10 @@
+--- ntp-4.2.4p7-orig/configure.ac 2009-06-18 14:48:12.151346763 +0200
++++ ntp-4.2.4p7/configure.ac 2009-06-18 14:50:07.054692531 +0200
+@@ -4456,6 +4456,7 @@
+ [
+ AC_LANG_PROGRAM(
+ [
++ #define _GNU_SOURCE
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
diff --git a/abs/core-testing/ntp/ntp-4.2.4-html2man.patch b/abs/core-testing/ntp/ntp-4.2.4-html2man.patch
new file mode 100644
index 0000000..333d452
--- /dev/null
+++ b/abs/core-testing/ntp/ntp-4.2.4-html2man.patch
@@ -0,0 +1,183 @@
+--- ntp-4.2.4/scripts/html2man.in.html2man 2006-06-06 22:17:10.000000000 +0200
++++ ntp-4.2.4/scripts/html2man.in 2007-01-08 12:47:31.000000000 +0100
+@@ -23,10 +23,10 @@
+ 'ntpq' => ['ntpq', 8, 'ntpd(8), ntpdc(8)'],
+ 'ntpdate' => ['ntpdate', 8, 'ntpd(8)'],
+ 'ntpdc' => ['ntpdc', 8, 'ntpd(8)'],
+- 'ntptime' => ['ntpdtime', 8, 'ntpd(8), ntpdate(8)'],
++ 'ntptime' => ['ntptime', 8, 'ntpd(8), ntpdate(8)'],
+ 'ntptrace' => ['ntptrace', 8, 'ntpd(8)'],
+ 'keygen' => ['ntp-keygen', 8, 'ntpd(8), ntp_auth(5)'],
+- 'confopt' => ['ntp.conf', 5, 'ntpd(8)'],
++ 'confopt' => ['ntp.conf', 5, 'ntpd(8), ntp_auth(5), ntp_mon(5), ntp_acc(5), ntp_clock(5), ntp_misc(5)'],
+ 'authopt' => ['ntp_auth', 5, 'ntp.conf(5), ntpd(8)'],
+ 'monopt' => ['ntp_mon', 5, 'ntp.conf(5)'],
+ 'accopt' => ['ntp_acc', 5, 'ntp.conf(5)'],
+@@ -34,17 +34,8 @@
+ 'miscopt' => ['ntp_misc', 5, 'ntp.conf(5)']);
+
+ # Disclaimer to go in SEE ALSO section of the man page
+-$seealso_disclaimer = 'These man pages are automatically hacked from the main NTP ' .
+- 'documentation pages, which are maintained in HTML format. These files are ' .
+- 'included in the NTP source distribution. If you installed NTP from a binary ' .
+- 'package, or it came pre-installed on your system, chances are the documentation ' .
+- 'was also included in the usual place for your system. The HTML files are more ' .
+- 'correct and complete than these man pages, which are provided for your reference ' .
+- 'only.';
+-
+-# Disclaimer to go right at the top
+-$top_disclaimer = 'This file was automatically generated from HTML source, and may be ' .
+- 'incorrect. See the SEE ALSO section at the end of this file for more info';
++$seealso_disclaimer = "Primary source of documentation: /usr/share/doc/ntp-*\n\n" .
++ "This file was automatically generated from HTML source.\n";
+
+ mkdir $MANDIR, 0777;
+ mkdir "$MANDIR/man8", 0777;
+@@ -64,7 +55,8 @@
+ $fileinfo = $manfiles{$filename};
+
+ $p = HTML::TokeParser->new("$filename.html") || die "Can't open $filename.html: $!";
+- open(MANOUT, ">$MANDIR/man$fileinfo->[1]/$fileinfo->[0].$fileinfo->[1]")
++ $fileout = "$MANDIR/man$fileinfo->[1]/$fileinfo->[0].$fileinfo->[1]";
++ open(MANOUT, ">$fileout")
+ || die "Can't open: $!";
+
+ $p->get_tag("title");
+@@ -73,7 +65,6 @@
+
+ # Setup man header
+ print MANOUT ".TH " . $fileinfo->[0] . " " . $fileinfo->[1] . "\n";
+- print MANOUT ".UC 4\n";
+ print MANOUT ".SH NAME\n";
+ $pat = $fileinfo->[0];
+ if ($name =~ /$pat/) {
+@@ -81,10 +72,12 @@
+ # Add the manpage name, if not in the HTML title already
+ print MANOUT "$fileinfo->[0] - ";
+ }
+- print MANOUT "$name\n\n";
+-
+- print MANOUT "$top_disclaimer\n";
++ print MANOUT "$name\n.SH \\ \n\n";
+
++ @fontstack = ();
++ $deflevel = 0;
++ $pre = 0;
++ $ignore = 0;
+ # Now start scanning. We basically print everything after translating some tags.
+ # $token->[0] has "T", "S", "E" for Text, Start, End
+ # $token->[1] has the tag name, or text (for "T" case)
+@@ -92,19 +85,37 @@
+ while (my $token = $p->get_token) {
+ if($token->[0] eq "T") {
+ my $text = $token->[1];
+- if($tag) {
+- $text =~ s/^[\n ]*//;
+- $text =~ s/[\n ]*$/ /;
++ if (!$pre) {
++ if($tag) {
++ $text =~ s/^[\n\t ]*//;
++ }
++ $text =~ s/^[\n\t ][\n\t ]+$//;
++ $text =~ s/[\n\t ]+/ /g;
++ $text =~ s/&nbsp\;/ /g;
++ $text =~ s/&gt\;/>/g;
++ $text =~ s/&lt\;/</g;
++ $text =~ s/&quot\;/"/g;
++ $text =~ s/&amp\;/&/g;
++ $text =~ s/^\./\\[char46]/;
+ }
+- $text =~ s/&nbsp\;/ /g;
+- $text =~ s/^\./\\./;
+ print MANOUT "$text";
+ $tag = 0;
+ }
+ if($token->[0] eq "S") {
+ if($token->[1] eq "h4") {
+ my $text = uc($p->get_trimmed_text("/h4"));
+- print MANOUT ".SH $text\n";
++ # ignore these two sections in ntpd.html
++ if ($filename eq "ntpd" &&
++ ($text eq "FILES" || $text eq "CONFIGURATION OPTIONS")) {
++ $ignore = 1;
++ close(MANOUT);
++ open(MANOUT, ">/dev/null");
++ } elsif ($ignore) {
++ $ignore = 0;
++ close(MANOUT);
++ open(MANOUT, ">>$fileout");
++ }
++ print MANOUT "\n\n.SH $text\n";
+ }
+ if($token->[1] eq "tt") {
+ push @fontstack, "tt";
+@@ -118,22 +129,30 @@
+ my $text = $p->get_trimmed_text("/address");
+ print MANOUT "\n.SH AUTHOR\n$text\n";
+ }
+- if($token->[1] eq "dt") {
+- $tmp = $deflevel-4;
+- print MANOUT "\n.RS $tmp\n";
++ if($token->[1] eq "dt" || $token->[1] eq "br" && $deflevel > 0) {
++ print MANOUT "\n.TP 8\n";
+ $tag = 1;
+ }
+ if($token->[1] eq "dd") {
+- print MANOUT "\n.RS $deflevel\n";
++ print MANOUT "\n";
+ $tag = 1;
+ }
+ if($token->[1] eq "dl") {
+- $deflevel+=4;
++ $deflevel+=1;
++ if ($deflevel > 0) {
++ print MANOUT "\n.RS ", $deflevel > 1 ? 8 : 0;
++ }
++ }
++ if($token->[1] eq "p") {
++ print MANOUT "\n";
++ }
++ if($token->[1] eq "pre") {
++ print MANOUT "\n.nf";
++ $pre = 1;
+ }
+ }
+ elsif($token->[0] eq "E") {
+- if($token->[1] eq "dd") {
+- print MANOUT "\n.RE\n";
++ if($token->[1] eq "h4") {
+ $tag = 1;
+ }
+ if($token->[1] eq "tt") {
+@@ -157,15 +176,27 @@
+ print MANOUT "$fontswitch";
+ }
+ if($token->[1] eq "dl") {
+- $deflevel-=4;
++ if ($deflevel > 0) {
++ print MANOUT "\n.RE";
++ }
++ print MANOUT "\n";
++ $deflevel-=1;
+ }
+- if($token->[1] eq "dt") {
+- print MANOUT "\n.RE";
++ if($token->[1] eq "p") {
++ print MANOUT "\n";
+ $tag = 1;
+ }
++ if($token->[1] eq "pre") {
++ print MANOUT "\n.fi";
++ $pre = 0;
++ }
+ }
+ }
+- print MANOUT ".SH SEE ALSO\n\n";
++ if ($ignore) {
++ close(MANOUT);
++ open(MANOUT, ">>$fileout");
++ }
++ print MANOUT "\n.SH SEE ALSO\n\n";
+ print MANOUT "$fileinfo->[2]\n\n";
+ print MANOUT "$seealso_disclaimer\n";
+ close(MANOUT);
diff --git a/abs/core-testing/ntp/ntp-4.2.4_p7-nano.patch b/abs/core-testing/ntp/ntp-4.2.4_p7-nano.patch
new file mode 100644
index 0000000..b31ea0a
--- /dev/null
+++ b/abs/core-testing/ntp/ntp-4.2.4_p7-nano.patch
@@ -0,0 +1,20 @@
+http://bugs.gentoo.org/270483
+
+ripped from fedora
+
+--- ntp-4.2.4p7/include/ntp_syscall.h
++++ ntp-4.2.4p7/include/ntp_syscall.h
+@@ -14,5 +14,13 @@
+ # include <sys/timex.h>
+ #endif
+
++#if defined(ADJ_NANO) && !defined(MOD_NANO)
++#define MOD_NANO ADJ_NANO
++#endif
++
++#if defined(ADJ_TAI) && !defined(MOD_TAI)
++#define MOD_TAI ADJ_TAI
++#endif
++
+ #ifndef NTP_SYSCALLS_LIBC
+ #ifdef NTP_SYSCALLS_STD
diff --git a/abs/core-testing/ntp/ntp-client.conf b/abs/core-testing/ntp/ntp-client.conf
index ace4daf..a0463b7 100755
--- a/abs/core-testing/ntp/ntp-client.conf
+++ b/abs/core-testing/ntp/ntp-client.conf
@@ -1,7 +1,11 @@
# change this to a server closer to your location
NTP_CLIENT_SERVER="pool.ntp.org"
+
# client options
NTP_CLIENT_OPTION="-b -u"
# timeout for the ntp-client
NTPCLIENT_TIMEOUT=10
+
+# arguments passed to ntpd when started
+NTPD_ARGS="-g"
diff --git a/abs/core-testing/ntp/ntp.conf b/abs/core-testing/ntp/ntp.conf
index 9411643..93fc919 100755
--- a/abs/core-testing/ntp/ntp.conf
+++ b/abs/core-testing/ntp/ntp.conf
@@ -1,57 +1,47 @@
-# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
+# NOTES:
+# - you should only have to update the server line below
+# - if you start getting lines like 'restrict' and 'fudge'
+# and you didnt add them, AND you run dhcpcd on your
+# network interfaces, be sure to add '-Y -N' to the
+# dhcpcd_ethX variables in /etc/conf.d/net
-#driftfile /var/lib/ntp/ntp.drift
-driftfile /etc/ntp.drift
+# Name of the servers ntpd should sync with
+# Please respect the access policy as stated by the responsible person.
+#server ntp.example.tld iburst
+server pool.ntp.org
-# Enable this if you want statistics to be logged.
-#statsdir /var/log/ntpstats/
-
-statistics loopstats peerstats clockstats
-filegen loopstats file loopstats type day enable
-filegen peerstats file peerstats type day enable
-filegen clockstats file clockstats type day enable
-
+##
+# A list of available servers can be found here:
+# http://www.pool.ntp.org/
+# http://www.pool.ntp.org/#use
+# A good way to get servers for your machine is:
+# netselect -s 3 pool.ntp.org
+##
-# You do need to talk to an NTP server or two (or three).
-#server ntp.your-provider.example
+# you should not need to modify the following paths
+driftfile /var/lib/ntp/ntp.drift
-# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
-# pick a different set every time it starts up. Please consider joining the
-# pool: <http://www.pool.ntp.org/join.html>
-server pool.ntp.org
-server 0.us.pool.ntp.org iburst
-server 1.us.pool.ntp.org iburst
-server 2.us.pool.ntp.org iburst
-server 3.us.pool.ntp.org iburst
+#server ntplocal.example.com prefer
+#server timeserver.example.org
+# Warning: Using default NTP settings will leave your NTP
+# server accessible to all hosts on the Internet.
-# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
-# details. The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
-# might also be helpful.
-#
-# Note that "restrict" applies to both servers and clients, so a configuration
-# that might be intended to block requests from certain clients could also end
-# up blocking replies from your own upstream servers.
+# If you want to deny all machines (including your own)
+# from accessing the NTP server, uncomment:
+#restrict default ignore
-# By default, exchange time with everybody, but don't allow configuration.
-restrict -4 default kod notrap nomodify nopeer noquery
-restrict -6 default kod notrap nomodify nopeer noquery
-# Local users may interrogate the ntp server more closely.
+# To deny other machines from changing the
+# configuration but allow localhost:
+restrict default nomodify nopeer
restrict 127.0.0.1
-restrict ::1
-
-# Clients from this (example!) subnet have unlimited access, but only if
-# cryptographically authenticated.
-#restrict 192.168.123.0 mask 255.255.255.0 notrust
-# If you want to provide time to your local subnet, change the next line.
-# (Again, the address is an example only.)
-#broadcast 192.168.123.255
-
-# If you want to listen to time broadcasts on your local subnet, de-comment the
-# next lines. Please do this only if you trust everybody on the network!
-#disable auth
-#broadcastclient \ No newline at end of file
+# To allow machines within your network to synchronize
+# their clocks with your server, but ensure they are
+# not allowed to configure the server or used as peers
+# to synchronize against, uncomment this line.
+#
+#restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap
diff --git a/abs/core-testing/ntp/ntpd b/abs/core-testing/ntp/ntpd
index bb39123..56f6248 100755
--- a/abs/core-testing/ntp/ntpd
+++ b/abs/core-testing/ntp/ntpd
@@ -2,13 +2,14 @@
. /etc/rc.conf
. /etc/rc.d/functions
+. /etc/conf.d/ntp-client.conf
PID=`pidof -o %PPID /usr/bin/ntpd`
case "$1" in
start)
stat_busy "Starting NTP Daemon"
if [ -z "$PID" ]; then
- /usr/bin/ntpd -g &
+ /usr/bin/ntpd $NTPD_ARGS &
fi
if [ ! -z "$PID" -o $? -gt 0 ]; then
stat_fail
diff --git a/abs/core-testing/nvidia-173xx-utils/20-nvidia.conf b/abs/core-testing/nvidia-173xx-utils/20-nvidia.conf
new file mode 100644
index 0000000..227ac7d
--- /dev/null
+++ b/abs/core-testing/nvidia-173xx-utils/20-nvidia.conf
@@ -0,0 +1,5 @@
+Section "Device"
+ Identifier "Default nvidia Device"
+ Driver "nvidia"
+ Option "NoLogo" "True"
+EndSection
diff --git a/abs/core-testing/nvidia-173xx-utils/PKGBUILD b/abs/core-testing/nvidia-173xx-utils/PKGBUILD
index 042c1ee..c16e97b 100644
--- a/abs/core-testing/nvidia-173xx-utils/PKGBUILD
+++ b/abs/core-testing/nvidia-173xx-utils/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 69361 2010-02-20 11:24:49Z tpowa $
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# $Id: PKGBUILD 28365 2009-03-01 00:11:38Z pierre $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=nvidia-173xx-utils
-pkgver=173.14.25
+pkgver=173.14.27
pkgrel=1
pkgdesc="NVIDIA drivers utilities and libraries, 173xx branch."
arch=('i686' 'x86_64')
@@ -16,9 +16,15 @@ provides=('libgl')
license=('custom')
install=nvidia.install
options=(!strip)
+backup=('etc/X11/xorg.conf.d/20-nvidia.conf')
source=("http://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run")
+md5sums=('35a6531f71cd6b070f10be8ed11093d4')
+[ "$CARCH" = "x86_64" ] && md5sums=('269425dbc2d9d4ecdc54692281d6d738')
-build() {
+source[1]='20-nvidia.conf'
+md5sums[1]='37e417b2c69e46de1346a653e07027fa'
+
+package() {
cd $srcdir
sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/
@@ -51,12 +57,12 @@ build() {
ln -s libglx.so.$pkgver libglx.so || return 1
install -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $pkgdir/usr/share/licenses/nvidia-173xx/ || return 1
- ln -s nvidia-173xx $startdir/pkg/usr/share/licenses/nvidia-173xx-utils || return 1
+ ln -s nvidia-173xx $pkgdir/usr/share/licenses/nvidia-173xx-utils || return 1
install -D -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/share/doc/README.txt $pkgdir/usr/share/doc/nvidia-173xx/README || return 1
find $pkgdir/usr -type d -exec chmod 755 {} \;
-}
-
-md5sums=('397bac51f760505ea57e863c1db9c572')
+ # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
+ install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
+}
diff --git a/abs/core-testing/nvidia-173xx/PKGBUILD b/abs/core-testing/nvidia-173xx/PKGBUILD
index 845e606..83d4b8d 100644
--- a/abs/core-testing/nvidia-173xx/PKGBUILD
+++ b/abs/core-testing/nvidia-173xx/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 69360 2010-02-20 11:24:15Z tpowa $
+# $Id: PKGBUILD 28363 2009-03-01 00:06:27Z pierre $
# Maintainer : Thomas Baechler <thomas@archlinux.org>
pkgname=nvidia-173xx
-pkgver=173.14.25
-_kernver='2.6.28-LinHES'
-
+pkgver=173.14.27
+_kernver='2.6.34-LinHES'
pkgrel=1
pkgdesc="NVIDIA drivers for kernel26, 173xx branch."
arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-173xx-utils')
-makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
-conflicts=('nvidia' 'nvidia-173xx')
+depends=('kernel26>=2.6.34' 'kernel26<2.6.35' 'nvidia-173xx-utils')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
+conflicts=('nvidia-96xx' 'nvidia')
license=('custom')
install=nvidia.install
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run")
+md5sums=('35a6531f71cd6b070f10be8ed11093d4')
+[ "$CARCH" = "x86_64" ] && md5sums=('269425dbc2d9d4ecdc54692281d6d738')
build() {
cd $srcdir
@@ -25,10 +26,13 @@ build() {
cd usr/src/nv/
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/${_kernver}/build module || return 1
+}
+package() {
+ cd $srcdir/NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/
mkdir -p $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
install -m644 nvidia.ko $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
-
+ mkdir -p $pkgdir/etc/modprobe.d
+ echo "blacklist nouveau" >> $pkgdir/etc/modprobe.d/nouveau_blacklist.conf || return 1
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
}
-md5sums=('397bac51f760505ea57e863c1db9c572')
diff --git a/abs/core-testing/nvidia-173xx/nvidia.install b/abs/core-testing/nvidia-173xx/nvidia.install
index ab86ea2..a7e09f9 100644
--- a/abs/core-testing/nvidia-173xx/nvidia.install
+++ b/abs/core-testing/nvidia-173xx/nvidia.install
@@ -1,5 +1,5 @@
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
@@ -9,6 +9,6 @@ post_upgrade() {
}
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
diff --git a/abs/core-testing/nvidia-96xx/PKGBUILD b/abs/core-testing/nvidia-96xx/PKGBUILD
index df89e5f..78cd2ca 100644
--- a/abs/core-testing/nvidia-96xx/PKGBUILD
+++ b/abs/core-testing/nvidia-96xx/PKGBUILD
@@ -3,16 +3,17 @@
pkgname=nvidia-96xx
pkgver=96.43.16
-_kernver='2.6.28-LinHES'
+_kernver='2.6.34-LinHES'
-pkgrel=1
+pkgrel=2
pkgdesc="NVIDIA drivers for kernel26, 96xx branch."
arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils')
-makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
+#depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils')
+depends=('kernel26' 'nvidia-96xx-utils')
+makedepends=('kernel-headers')
conflicts=('nvidia' 'nvidia-173xx')
license=('custom')
install=nvidia.install
diff --git a/abs/core-testing/nvidia-96xx/nvidia.install b/abs/core-testing/nvidia-96xx/nvidia.install
index ab86ea2..a7e09f9 100644
--- a/abs/core-testing/nvidia-96xx/nvidia.install
+++ b/abs/core-testing/nvidia-96xx/nvidia.install
@@ -1,5 +1,5 @@
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
@@ -9,6 +9,6 @@ post_upgrade() {
}
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
+ KERNEL_VERSION='2.6.34-LinHES'
depmod $KERNEL_VERSION
}
diff --git a/abs/core-testing/nvidia-utils/20-nvidia.conf b/abs/core-testing/nvidia-utils/20-nvidia.conf
index 171f613..227ac7d 100644
--- a/abs/core-testing/nvidia-utils/20-nvidia.conf
+++ b/abs/core-testing/nvidia-utils/20-nvidia.conf
@@ -3,4 +3,3 @@ Section "Device"
Driver "nvidia"
Option "NoLogo" "True"
EndSection
-
diff --git a/abs/core-testing/nvidia-utils/PKGBUILD b/abs/core-testing/nvidia-utils/PKGBUILD
index 88c2709..369253c 100644
--- a/abs/core-testing/nvidia-utils/PKGBUILD
+++ b/abs/core-testing/nvidia-utils/PKGBUILD
@@ -18,93 +18,92 @@ options=('!strip')
backup=('etc/X11/xorg.conf.d/20-nvidia.conf')
if [ "$CARCH" = "i686" ]; then
- _arch='x86'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('f6af8917a500de28396a438f3f548c88')
+ _arch='x86'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('f6af8917a500de28396a438f3f548c88')
elif [ "$CARCH" = "x86_64" ]; then
- _arch='x86_64'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
+ _arch='x86_64'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
fi
source[1]='20-nvidia.conf'
-md5sums[1]='a3ddac4732c06d5cec7aefeed4d719c3'
+md5sums[1]='37e417b2c69e46de1346a653e07027fa'
build() {
- cd $srcdir
- sh ${_pkg}.run --extract-only
+ cd $srcdir
+ sh ${_pkg}.run --extract-only
}
package() {
- cd $srcdir/${_pkg}
+ cd $srcdir/${_pkg}
- # X driver
- install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
- # GLX extension module for X
- install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
- ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so # X doesn't find glx otherwise
- # OpenGL library
- install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
- # OpenGL core library
- install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
- # XvMC
- install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
- install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
- # VDPAU
- install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
- # CUDA
- install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
- install -D -m644 cuda.h $pkgdir/usr/include/cuda/cuda.h
- install -D -m644 cudaGL.h $pkgdir/usr/include/cuda/cudaGL.h
- install -D -m644 cudaVDPAU.h $pkgdir/usr/include/cuda/cudaVDPAU.h
- # nvidia-tls libraries
- install -D -m755 libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
- install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/tls/libnvidia-tls.so.$pkgver
- # OpenCL
- install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
- install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0
- install -D -m644 cl.h $pkgdir/usr/include/CL/cl.h
- install -D -m644 cl_gl.h $pkgdir/usr/include/CL/cl_gl.h
- install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd
- install -D -m644 cl_platform.h $pkgdir/usr/include/CL/cl_platform.h
+ # X driver
+ install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
+ # GLX extension module for X
+ install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
+ ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so # X doesn't find glx otherwise
+ # OpenGL library
+ install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
+ # OpenGL core library
+ install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
+ # XvMC
+ install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
+ install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
+ # VDPAU
+ install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
+ # CUDA
+ install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
+ install -D -m644 cuda.h $pkgdir/usr/include/cuda/cuda.h
+ install -D -m644 cudaGL.h $pkgdir/usr/include/cuda/cudaGL.h
+ install -D -m644 cudaVDPAU.h $pkgdir/usr/include/cuda/cudaVDPAU.h
+ # nvidia-tls libraries
+ install -D -m755 libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
+ install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/tls/libnvidia-tls.so.$pkgver
+ # OpenCL
+ install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
+ install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0
+ install -D -m644 cl.h $pkgdir/usr/include/CL/cl.h
+ install -D -m644 cl_gl.h $pkgdir/usr/include/CL/cl_gl.h
+ install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd
+ install -D -m644 cl_platform.h $pkgdir/usr/include/CL/cl_platform.h
- install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
+ install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
- # create soname links
- for _lib in $(find $pkgdir -name '*.so*'); do
- _soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
- if [ ! -e "${_soname}" ]; then
- ln -s "$(basename ${_lib})" "${_soname}"
- ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
- fi
- done
+ # create soname links
+ for _lib in $(find $pkgdir -name '*.so*'); do
+ _soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
+ if [ ! -e "${_soname}" ]; then
+ ln -s "$(basename ${_lib})" "${_soname}"
+ ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
+ fi
+ done
- # nvidia-xconfig
- install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
- install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
- # nvidia-settings
- install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
- install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
- install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
- install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
- sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
- # nvidia-bug-report
- install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
- # nvidia-smi
- install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
- install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz
+ # nvidia-xconfig
+ install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
+ install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
+ # nvidia-settings
+ install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
+ install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
+ install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
+ install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
+ sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
+ # nvidia-bug-report
+ install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
+ # nvidia-smi
+ install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
+ install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz
- install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
- ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
- install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
- install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
- ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
+ ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
+ install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
+ install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
+ ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils
- # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
- install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
+ # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
+ install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
}
-
diff --git a/abs/core-testing/nvidia-utils/nvidia.install b/abs/core-testing/nvidia-utils/nvidia.install
index 7d46ed6..297e5b6 100644
--- a/abs/core-testing/nvidia-utils/nvidia.install
+++ b/abs/core-testing/nvidia-utils/nvidia.install
@@ -1,40 +1,5 @@
-# arg 1: the new package version
post_install() {
-
- echo -------------------------------
- echo By using this package you accept the NVIDIA license,
- echo which has been installed in /usr/share/licenses/nvidia/LICENSE
- echo If you do not accept this license, you must remove the package immediately.
- echo Dont forget to update your /etc/X11/xorg.conf
- echo In order to use nvidia-settings, you need to install the 'gtk2' package.
- echo In order to use nvidia-xconfig, you need to install the 'pkgconfig' package.
- echo -------------------------------
- echo nvidia 9746 drops support for Geforce 3 and 4 cards
- echo If you have such a card, install the nvidia-96xx, nvidia-96xx-utils,
- echo nvidia-96xx-ck, nvidia-96xx-beyond, nvidia-96xx-suspend2 packages
- echo For a list of supported cards, see /usr/share/doc/nvidia/supported-cards.txt
- echo -------------------------------
-
- #echo ":: Updating symlinks to use built-in libwfb"
- #ln -sf /usr/lib/xorg/modules/libnvidia-wfb.so.* \
- # /usr/lib/xorg/modules/libwfb.so
+ echo 'By using this package you accept the NVIDIA license,'
+ echo 'which has been installed in /usr/share/licenses/nvidia/LICENSE'
+ echo 'If you do not accept this license, you must remove the package immediately.'
}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install $1
- echo ":: Updating symlinks to use xorg-server libwfb"
- ln -sf /usr/lib/xorg/modules/libwfb.so.* \
- /usr/lib/xorg/modules/libwfb.so
-}
-
-post_remove() {
- echo ":: Updating symlinks to use xorg-server libwfb"
- ln -sf /usr/lib/xorg/modules/libwfb.so.* \
- /usr/lib/xorg/modules/libwfb.so
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core-testing/nvidia/PKGBUILD b/abs/core-testing/nvidia/PKGBUILD
index ca1d20f..40e9bba 100644
--- a/abs/core-testing/nvidia/PKGBUILD
+++ b/abs/core-testing/nvidia/PKGBUILD
@@ -3,41 +3,40 @@
pkgname=nvidia
pkgver=256.35
-_kernver='2.6.28-LinHES'
+_kernver='2.6.34-LinHES'
pkgrel=1
pkgdesc="NVIDIA drivers for kernel26."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' "nvidia-utils=${pkgver}")
-makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
+depends=('kernel26>=2.6.34' 'kernel26<2.6.35' "nvidia-utils=${pkgver}")
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install
if [ "$CARCH" = "i686" ]; then
- _arch='x86'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('f6af8917a500de28396a438f3f548c88')
+ _arch='x86'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('f6af8917a500de28396a438f3f548c88')
elif [ "$CARCH" = "x86_64" ]; then
- _arch='x86_64'
- _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
- source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
- md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
+ _arch='x86_64'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
+ source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums=('7b5924f14a4d2326b4d916efdb7852ff')
fi
build() {
- cd $srcdir
- sh ${_pkg}.run --extract-only
- cd ${_pkg}/kernel
- make SYSSRC=/lib/modules/${_kernver}/build module
+ cd $srcdir
+ sh ${_pkg}.run --extract-only
+ cd ${_pkg}/kernel
+ make SYSSRC=/lib/modules/${_kernver}/build module
}
package() {
- install -D -m644 $srcdir/${_pkg}/kernel/nvidia.ko \
- $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko
+ install -D -m644 $srcdir/${_pkg}/kernel/nvidia.ko \
+ $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko
install -d -m755 $pkgdir/etc/modprobe.d
echo "blacklist nouveau" >> $pkgdir/etc/modprobe.d/nouveau_blacklist.conf
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
}
-
diff --git a/abs/core-testing/nvidia/nvidia.install b/abs/core-testing/nvidia/nvidia.install
index 23e04af..a7e09f9 100644
--- a/abs/core-testing/nvidia/nvidia.install
+++ b/abs/core-testing/nvidia/nvidia.install
@@ -1,22 +1,14 @@
-# arg 1: the new package version
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- post_install $1
- rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+ post_install
+ rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
}
-# arg 1: the old package version
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core-testing/openssh/PKGBUILD b/abs/core-testing/openssh/PKGBUILD
index fb2ec18..504ed4a 100644
--- a/abs/core-testing/openssh/PKGBUILD
+++ b/abs/core-testing/openssh/PKGBUILD
@@ -1,67 +1,64 @@
-# $Id: PKGBUILD 20515 2008-12-05 12:08:00Z allan $
+# $Id: PKGBUILD 80964 2010-05-24 06:39:23Z allan $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=openssh
pkgver=5.5p1
pkgrel=1
-#_gsskexver=20080404
pkgdesc='A Secure SHell server/client'
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('custom')
url="http://www.openssh.org/portable.html"
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')
-depends=('openssl>=0.9.8g' 'zlib' 'pam' 'tcp_wrappers' 'heimdal>=1.2-1')
-source=(ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$pkgver.tar.gz
- sshd sshd.confd sshd.pam sshd.patch)
- #http://www.sxw.org.uk/computing/patches/$pkgname-$pkgver-gsskex-$_gsskexver.patch
+depends=('openssl' 'zlib' 'pam' 'tcp_wrappers' 'heimdal')
+source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
+ 'sshd' 'sshd.confd' 'sshd.pam')
+md5sums=('88633408f4cb1eb11ec7e2ec58b519eb'
+ '17b1b1bf0f578a55945ee204bd4462af'
+ 'e2cea70ac13af7e63d40eb04415eacd5'
+ '1c7c2ea8734ec7e3ca58d820634dc73a')
build() {
- cd $startdir/src/$pkgname-$pkgver
- patch -p1 < ../sshd.patch
- #patch -up0 < $startdir/src/$pkgname-$pkgver-gsskex-$_gsskexver.patch
+ cd ${srcdir}/${pkgname}-${pkgver}
#NOTE we disable-strip so that makepkg can decide whether to strip or not
./configure --prefix=/usr --libexecdir=/usr/lib/ssh \
--sysconfdir=/etc/ssh --with-tcp-wrappers --with-privsep-user=nobody \
- --with-md5-passwords --with-pam --with-mantype=man --mandir=/usr/man \
- --with-xauth=/usr/bin/xauth --with-kerberos5=/usr --disable-strip
+ --with-md5-passwords --with-pam --with-mantype=man --mandir=/usr/share/man \
+ --with-xauth=/usr/bin/xauth --with-kerberos5=/usr --with-ssl-engine \
+ --disable-strip
make || return 1
- make DESTDIR=$startdir/pkg install
+}
- #What is this for? Is it needed?
- mkdir -p $startdir/pkg/var/empty
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
- install -D -m755 $startdir/src/sshd $startdir/pkg/etc/rc.d/sshd
+ install -Dm755 ${srcdir}/sshd ${pkgdir}/etc/rc.d/sshd
- install -D -m644 LICENCE $startdir/pkg/usr/share/licenses/$pkgname/LICENCE
- install -D -m644 $startdir/src/sshd.pam $startdir/pkg/etc/pam.d/sshd
- install -D -m644 $startdir/src/sshd.confd $startdir/pkg/etc/conf.d/sshd
+ install -Dm644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/LICENCE
+ install -Dm644 ${srcdir}/sshd.pam ${pkgdir}/etc/pam.d/sshd
+ install -Dm644 ${srcdir}/sshd.confd ${pkgdir}/etc/conf.d/sshd
- rm $startdir/pkg/usr/man/man1/slogin.1
- ln -sf ssh.1.gz $startdir/pkg/usr/man/man1/slogin.1.gz
+ rm ${pkgdir}/usr/share/man/man1/slogin.1
+ ln -sf ssh.1.gz ${pkgdir}/usr/share/man/man1/slogin.1.gz
#additional contrib scripts that we like
- install -D -m755 contrib/findssl.sh $startdir/pkg/usr/bin/findssl.sh
- install -D -m755 contrib/ssh-copy-id $startdir/pkg/usr/bin/ssh-copy-id
- install -D -m644 contrib/ssh-copy-id.1 $startdir/pkg/usr/man/man1/ssh-copy-id.1
+ install -Dm755 contrib/findssl.sh ${pkgdir}/usr/bin/findssl.sh
+ install -Dm755 contrib/ssh-copy-id ${pkgdir}/usr/bin/ssh-copy-id
+ install -Dm644 contrib/ssh-copy-id.1 ${pkgdir}/usr/share/man/man1/ssh-copy-id.1
- i# sshd_config
+ # sshd_config
sed -i \
-e 's|^#ListenAddress 0.0.0.0|ListenAddress 0.0.0.0|g' \
-e 's|^#UsePAM no|UsePAM yes|g' \
-e 's|^#ChallengeResponseAuthentication yes|ChallengeResponseAuthentication no|g' \
- $startdir/pkg/etc/ssh/sshd_config
- echo "HashKnownHosts yes" >> $startdir/pkg/etc/ssh/ssh_config
- echo "StrictHostKeyChecking ask" >> $startdir/pkg/etc/ssh/ssh_config
+ ${pkgdir}/etc/ssh/sshd_config
+ echo "HashKnownHosts yes" >> ${pkgdir}/etc/ssh/ssh_config
+ echo "StrictHostKeyChecking ask" >> ${pkgdir}/etc/ssh/ssh_config
#ssh_config
sed -i \
-e 's|^# Host \*|Host *|g' \
- $startdir/pkg/etc/ssh/ssh_config
+ ${pkgdir}/etc/ssh/ssh_config
}
-md5sums=('88633408f4cb1eb11ec7e2ec58b519eb'
- 'd9ee5e0a0d143689b3d6f11454a2a892'
- 'e2cea70ac13af7e63d40eb04415eacd5'
- '1c7c2ea8734ec7e3ca58d820634dc73a'
- 'ea43aad77b405518aaadad172e0f91eb')
diff --git a/abs/core-testing/openssh/sshd b/abs/core-testing/openssh/sshd
index 875028a..bc0e453 100755
--- a/abs/core-testing/openssh/sshd
+++ b/abs/core-testing/openssh/sshd
@@ -4,13 +4,14 @@
. /etc/rc.d/functions
. /etc/conf.d/sshd
-PID=`cat /var/run/sshd.pid 2>/dev/null`
+PID="$(cat /var/run/sshd.pid 2>/dev/null)"
case "$1" in
start)
stat_busy "Starting Secure Shell Daemon"
[ -f /etc/ssh/ssh_host_key ] || { /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key >/dev/null; }
[ -f /etc/ssh/ssh_host_rsa_key ] || { /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key >/dev/null; }
[ -f /etc/ssh/ssh_host_dsa_key ] || { /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key >/dev/null; }
+ [ -d /var/empty ] || mkdir -p /var/empty
[ -z "$PID" ] && /usr/sbin/sshd $SSHD_ARGS
if [ $? -gt 0 ]; then
stat_fail
diff --git a/abs/core-testing/openssl/PKGBUILD b/abs/core-testing/openssl/PKGBUILD
index 457c646..9853a57 100644
--- a/abs/core-testing/openssl/PKGBUILD
+++ b/abs/core-testing/openssl/PKGBUILD
@@ -1,28 +1,56 @@
-# $Id: PKGBUILD 23270 2009-01-07 15:42:29Z pierre $
+# $Id: PKGBUILD 81714 2010-06-02 11:00:36Z pierre $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=openssl
-pkgver=0.9.8j
-pkgrel=1
+_ver=1.0.0a
+# use a pacman compatible version scheme
+pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
+pkgrel=2
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
arch=('i686' 'x86_64')
-url='http://www.openssl.org'
+url='https://www.openssl.org'
license=('custom:BSD')
-depends=('zlib' 'perl')
+depends=('perl')
optdepends=('ca-certificates')
options=('!makeflags')
-source=("http://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz" \
- 'http://www.linuxfromscratch.org/patches/blfs/svn/openssl-0.9.8j-fix_manpages-1.patch')
+backup=('etc/ssl/openssl.cnf')
+source=("https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz"
+ 'fix-manpages.patch'
+ 'no-rpath.patch'
+ 'ca-dir.patch')
+md5sums=('e3873edfffc783624cfbdb65e2249cbd'
+ 'f540cd9e0e3047d589d0581fe7a2d0f2'
+ 'dc78d3d06baffc16217519242ce92478'
+ '3bf51be3a1bbd262be46dc619f92aa90')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$_ver
- patch -p1 -i $srcdir/openssl-0.9.8j-fix_manpages-1.patch || return 1
- ./config --prefix=/usr --openssldir=/etc/ssl shared zlib -Wa,--noexecstack
+ # avoid conflicts with other man pages
+ # see http://www.linuxfromscratch.org/patches/downloads/openssl/
+ patch -p0 -i $srcdir/fix-manpages.patch || return 1
+ # remove rpath: http://bugs.archlinux.org/task/14367
+ patch -p0 -i $srcdir/no-rpath.patch || return 1
+ # set ca dir to /etc/ssl by default
+ patch -p0 -i $srcdir/ca-dir.patch || return 1
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib \
+ shared zlib enable-md2 -Wa,--noexecstack || return 1
make || return 1
- make test || return 1
- make INSTALL_PREFIX=$pkgdir MANDIR=/usr/share/man install
+ # the test fails due to missing write permissions in /etc/ssl
+ # revert this patch for make test
+ #patch -p0 -R -i $srcdir/ca-dir.patch
+ #make test || return 1
+ #patch -p0 -i $srcdir/ca-dir.patch
+}
+
+package() {
+ cd $srcdir/$pkgname-$_ver
+ make INSTALL_PREFIX=$pkgdir MANDIR=/usr/share/man install
install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core-testing/openssl/ca-dir.patch b/abs/core-testing/openssl/ca-dir.patch
new file mode 100644
index 0000000..41d1386
--- /dev/null
+++ b/abs/core-testing/openssl/ca-dir.patch
@@ -0,0 +1,33 @@
+--- apps/CA.pl.in 2006-04-28 02:30:49.000000000 +0200
++++ apps/CA.pl.in 2010-04-01 00:35:02.600553509 +0200
+@@ -53,7 +53,7 @@
+ $X509="$openssl x509";
+ $PKCS12="$openssl pkcs12";
+
+-$CATOP="./demoCA";
++$CATOP="/etc/ssl";
+ $CAKEY="cakey.pem";
+ $CAREQ="careq.pem";
+ $CACERT="cacert.pem";
+--- apps/CA.sh 2009-10-15 19:27:47.000000000 +0200
++++ apps/CA.sh 2010-04-01 00:35:02.600553509 +0200
+@@ -68,7 +68,7 @@
+ X509="$OPENSSL x509"
+ PKCS12="openssl pkcs12"
+
+-if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
++if [ -z "$CATOP" ] ; then CATOP=/etc/ssl ; fi
+ CAKEY=./cakey.pem
+ CAREQ=./careq.pem
+ CACERT=./cacert.pem
+--- apps/openssl.cnf 2009-04-04 20:09:43.000000000 +0200
++++ apps/openssl.cnf 2010-04-01 00:35:02.607220681 +0200
+@@ -39,7 +39,7 @@
+ ####################################################################
+ [ CA_default ]
+
+-dir = ./demoCA # Where everything is kept
++dir = /etc/ssl # Where everything is kept
+ certs = $dir/certs # Where the issued certs are kept
+ crl_dir = $dir/crl # Where the issued crl are kept
+ database = $dir/index.txt # database index file.
diff --git a/abs/core-testing/openssl/fix-manpages.patch b/abs/core-testing/openssl/fix-manpages.patch
new file mode 100644
index 0000000..e043081
--- /dev/null
+++ b/abs/core-testing/openssl/fix-manpages.patch
@@ -0,0 +1,1887 @@
+--- crypto/rand/md_rand.c 2009-01-03 10:25:32.000000000 +0100
++++ crypto/rand/md_rand.c 2010-04-01 00:45:00.746327192 +0200
+@@ -196,7 +196,7 @@
+ int do_not_lock;
+
+ /*
+- * (Based on the rand(3) manpage)
++ * (Based on the openssl_rand(3) manpage)
+ *
+ * The input is chopped up into units of 20 bytes (or less for
+ * the last block). Each of these blocks is run through the hash
+@@ -361,7 +361,7 @@
+ num_ceil = (1 + (num-1)/(MD_DIGEST_LENGTH/2)) * (MD_DIGEST_LENGTH/2);
+
+ /*
+- * (Based on the rand(3) manpage:)
++ * (Based on the openssl_rand(3) manpage)
+ *
+ * For each group of 10 bytes (or less), we do the following:
+ *
+--- doc/apps/openssl-passwd.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/apps/openssl-passwd.pod 2010-04-01 00:45:00.796327220 +0200
+@@ -0,0 +1,82 @@
++=pod
++
++=head1 NAME
++
++openssl-passwd - compute password hashes
++
++=head1 SYNOPSIS
++
++B<openssl passwd>
++[B<-crypt>]
++[B<-1>]
++[B<-apr1>]
++[B<-salt> I<string>]
++[B<-in> I<file>]
++[B<-stdin>]
++[B<-noverify>]
++[B<-quiet>]
++[B<-table>]
++{I<password>}
++
++=head1 DESCRIPTION
++
++The B<passwd> command computes the hash of a password typed at
++run-time or the hash of each password in a list. The password list is
++taken from the named file for option B<-in file>, from stdin for
++option B<-stdin>, or from the command line, or from the terminal otherwise.
++The Unix standard algorithm B<crypt> and the MD5-based BSD password
++algorithm B<1> and its Apache variant B<apr1> are available.
++
++=head1 OPTIONS
++
++=over 4
++
++=item B<-crypt>
++
++Use the B<crypt> algorithm (default).
++
++=item B<-1>
++
++Use the MD5 based BSD password algorithm B<1>.
++
++=item B<-apr1>
++
++Use the B<apr1> algorithm (Apache variant of the BSD algorithm).
++
++=item B<-salt> I<string>
++
++Use the specified salt.
++When reading a password from the terminal, this implies B<-noverify>.
++
++=item B<-in> I<file>
++
++Read passwords from I<file>.
++
++=item B<-stdin>
++
++Read passwords from B<stdin>.
++
++=item B<-noverify>
++
++Don't verify when reading a password from the terminal.
++
++=item B<-quiet>
++
++Don't output warnings when passwords given at the command line are truncated.
++
++=item B<-table>
++
++In the output list, prepend the cleartext password and a TAB character
++to each password hash.
++
++=back
++
++=head1 EXAMPLES
++
++B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>.
++
++B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.>.
++
++B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>.
++
++=cut
+--- doc/apps/openssl.pod 2010-01-21 19:46:28.000000000 +0100
++++ doc/apps/openssl.pod 2010-04-01 00:45:00.796327220 +0200
+@@ -163,7 +163,7 @@
+
+ Online Certificate Status Protocol utility.
+
+-=item L<B<passwd>|passwd(1)>
++=item L<B<passwd>|openssl-passwd(1)>
+
+ Generation of hashed passwords.
+
+@@ -401,7 +401,7 @@
+ L<dhparam(1)|dhparam(1)>, L<dsa(1)|dsa(1)>, L<dsaparam(1)|dsaparam(1)>,
+ L<enc(1)|enc(1)>, L<gendsa(1)|gendsa(1)>, L<genpkey(1)|genpkey(1)>,
+ L<genrsa(1)|genrsa(1)>, L<nseq(1)|nseq(1)>, L<openssl(1)|openssl(1)>,
+-L<passwd(1)|passwd(1)>,
++L<openssl-passwd(1)|openssl-passwd(1)>,
+ L<pkcs12(1)|pkcs12(1)>, L<pkcs7(1)|pkcs7(1)>, L<pkcs8(1)|pkcs8(1)>,
+ L<rand(1)|rand(1)>, L<req(1)|req(1)>, L<rsa(1)|rsa(1)>,
+ L<rsautl(1)|rsautl(1)>, L<s_client(1)|s_client(1)>,
+--- doc/apps/passwd.pod 2002-10-04 14:59:00.000000000 +0200
++++ doc/apps/passwd.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,82 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-passwd - compute password hashes
+-
+-=head1 SYNOPSIS
+-
+-B<openssl passwd>
+-[B<-crypt>]
+-[B<-1>]
+-[B<-apr1>]
+-[B<-salt> I<string>]
+-[B<-in> I<file>]
+-[B<-stdin>]
+-[B<-noverify>]
+-[B<-quiet>]
+-[B<-table>]
+-{I<password>}
+-
+-=head1 DESCRIPTION
+-
+-The B<passwd> command computes the hash of a password typed at
+-run-time or the hash of each password in a list. The password list is
+-taken from the named file for option B<-in file>, from stdin for
+-option B<-stdin>, or from the command line, or from the terminal otherwise.
+-The Unix standard algorithm B<crypt> and the MD5-based BSD password
+-algorithm B<1> and its Apache variant B<apr1> are available.
+-
+-=head1 OPTIONS
+-
+-=over 4
+-
+-=item B<-crypt>
+-
+-Use the B<crypt> algorithm (default).
+-
+-=item B<-1>
+-
+-Use the MD5 based BSD password algorithm B<1>.
+-
+-=item B<-apr1>
+-
+-Use the B<apr1> algorithm (Apache variant of the BSD algorithm).
+-
+-=item B<-salt> I<string>
+-
+-Use the specified salt.
+-When reading a password from the terminal, this implies B<-noverify>.
+-
+-=item B<-in> I<file>
+-
+-Read passwords from I<file>.
+-
+-=item B<-stdin>
+-
+-Read passwords from B<stdin>.
+-
+-=item B<-noverify>
+-
+-Don't verify when reading a password from the terminal.
+-
+-=item B<-quiet>
+-
+-Don't output warnings when passwords given at the command line are truncated.
+-
+-=item B<-table>
+-
+-In the output list, prepend the cleartext password and a TAB character
+-to each password hash.
+-
+-=back
+-
+-=head1 EXAMPLES
+-
+-B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>.
+-
+-B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.>.
+-
+-B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>.
+-
+-=cut
+--- doc/crypto/BN_generate_prime.pod 2003-01-13 14:18:22.000000000 +0100
++++ doc/crypto/BN_generate_prime.pod 2010-04-01 00:45:00.824035190 +0200
+@@ -90,7 +90,7 @@
+
+ =head1 SEE ALSO
+
+-L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>
++L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/bn.pod 2008-07-03 21:59:24.000000000 +0200
++++ doc/crypto/bn.pod 2010-04-01 00:45:01.022993777 +0200
+@@ -167,7 +167,7 @@
+ =head1 SEE ALSO
+
+ L<bn_internal(3)|bn_internal(3)>,
+-L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
++L<dh(3)|dh(3)>, L<openssl_err(3)|openssl_err(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
+ L<BN_new(3)|BN_new(3)>, L<BN_CTX_new(3)|BN_CTX_new(3)>,
+ L<BN_copy(3)|BN_copy(3)>, L<BN_swap(3)|BN_swap(3)>, L<BN_num_bytes(3)|BN_num_bytes(3)>,
+ L<BN_add(3)|BN_add(3)>, L<BN_add_word(3)|BN_add_word(3)>,
+--- doc/crypto/BN_rand.pod 2002-09-25 15:33:26.000000000 +0200
++++ doc/crypto/BN_rand.pod 2010-04-01 00:45:00.824035190 +0200
+@@ -45,7 +45,7 @@
+
+ =head1 SEE ALSO
+
+-L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<bn(3)|bn(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<RAND_add(3)|RAND_add(3)>, L<RAND_bytes(3)|RAND_bytes(3)>
+
+ =head1 HISTORY
+--- doc/crypto/CONF_modules_free.pod 2006-12-21 22:13:27.000000000 +0100
++++ doc/crypto/CONF_modules_free.pod 2010-04-01 00:45:00.827162198 +0200
+@@ -37,7 +37,7 @@
+ =head1 SEE ALSO
+
+ L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
+-L<CONF_modules_load_file(3), CONF_modules_load_file(3)>
++L<CONF_modules_load_file(3)|CONF_modules_load_file(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/CONF_modules_load_file.pod 2004-03-02 14:31:32.000000000 +0100
++++ doc/crypto/CONF_modules_load_file.pod 2010-04-01 00:45:00.833827289 +0200
+@@ -51,7 +51,7 @@
+ =head1 SEE ALSO
+
+ L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>,
+-L<CONF_free(3), CONF_free(3)>, L<err(3),err(3)>
++L<CONF_free(3)|CONF_free(3)>, L<openssl_err(3)|openssl_err(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/crypto.pod 2002-10-06 14:59:25.000000000 +0200
++++ doc/crypto/crypto.pod 2010-04-01 00:45:01.029660428 +0200
+@@ -46,7 +46,7 @@
+
+ =item AUXILIARY FUNCTIONS
+
+-L<err(3)|err(3)>, L<threads(3)|threads(3)>, L<rand(3)|rand(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<openssl_threads(3)|openssl_threads(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<OPENSSL_VERSION_NUMBER(3)|OPENSSL_VERSION_NUMBER(3)>
+
+ =item INPUT/OUTPUT, DATA ENCODING
+--- doc/crypto/des.pod 2003-10-01 17:02:45.000000000 +0200
++++ doc/crypto/des.pod 2010-04-01 00:45:01.036327160 +0200
+@@ -115,7 +115,7 @@
+ the key; it is used to speed the encryption process.
+
+ DES_random_key() generates a random key. The PRNG must be seeded
+-prior to using this function (see L<rand(3)|rand(3)>). If the PRNG
++prior to using this function (see L<openssl_rand(3)|openssl_rand(3)>). If the PRNG
+ could not generate a secure key, 0 is returned.
+
+ Before a DES key can be used, it must be converted into the
+@@ -317,7 +317,7 @@
+
+ =head1 SEE ALSO
+
+-crypt(3), L<des_modes(7)|des_modes(7)>, L<evp(3)|evp(3)>, L<rand(3)|rand(3)>
++crypt(3), L<des_modes(7)|des_modes(7)>, L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/DH_generate_key.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DH_generate_key.pod 2010-04-01 00:45:00.840494142 +0200
+@@ -40,7 +40,7 @@
+
+ =head1 SEE ALSO
+
+-L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<DH_size(3)|DH_size(3)>
++L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<DH_size(3)|DH_size(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/DH_generate_parameters.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DH_generate_parameters.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -59,7 +59,7 @@
+
+ =head1 SEE ALSO
+
+-L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DH_free(3)|DH_free(3)>
+
+ =head1 HISTORY
+--- doc/crypto/dh.pod 2002-08-05 18:27:01.000000000 +0200
++++ doc/crypto/dh.pod 2010-04-01 00:45:01.036327160 +0200
+@@ -67,8 +67,8 @@
+
+ =head1 SEE ALSO
+
+-L<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<err(3)|err(3)>,
+-L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<engine(3)|engine(3)>,
++L<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<openssl_err(3)|openssl_err(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>, L<engine(3)|engine(3)>,
+ L<DH_set_method(3)|DH_set_method(3)>, L<DH_new(3)|DH_new(3)>,
+ L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)>,
+ L<DH_generate_parameters(3)|DH_generate_parameters(3)>,
+--- doc/crypto/DSA_do_sign.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_do_sign.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -36,7 +36,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_SIG_new(3)|DSA_SIG_new(3)>,
+ L<DSA_sign(3)|DSA_sign(3)>
+
+--- doc/crypto/DSA_generate_key.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_generate_key.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -24,7 +24,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_generate_parameters(3)|DSA_generate_parameters(3)>
+
+ =head1 HISTORY
+--- doc/crypto/DSA_generate_parameters.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_generate_parameters.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -90,7 +90,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_free(3)|DSA_free(3)>
+
+ =head1 HISTORY
+--- doc/crypto/dsa.pod 2002-08-05 18:27:01.000000000 +0200
++++ doc/crypto/dsa.pod 2010-04-01 00:45:01.042994012 +0200
+@@ -100,7 +100,7 @@
+
+ =head1 SEE ALSO
+
+-L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>,
++L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<openssl_err(3)|openssl_err(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<rsa(3)|rsa(3)>, L<sha(3)|sha(3)>, L<engine(3)|engine(3)>,
+ L<DSA_new(3)|DSA_new(3)>,
+ L<DSA_size(3)|DSA_size(3)>,
+--- doc/crypto/DSA_sign.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/DSA_sign.pod 2010-04-01 00:45:00.847161913 +0200
+@@ -55,7 +55,7 @@
+
+ =head1 SEE ALSO
+
+-L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
++L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<DSA_do_sign(3)|DSA_do_sign(3)>
+
+ =head1 HISTORY
+--- doc/crypto/engine.pod 2007-11-19 10:18:03.000000000 +0100
++++ doc/crypto/engine.pod 2010-04-01 00:45:01.049660583 +0200
+@@ -594,6 +594,6 @@
+
+ =head1 SEE ALSO
+
+-L<rsa(3)|rsa(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<rand(3)|rand(3)>
++L<rsa(3)|rsa(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =cut
+--- doc/crypto/ERR_clear_error.pod 2000-02-01 02:36:58.000000000 +0100
++++ doc/crypto/ERR_clear_error.pod 2010-04-01 00:45:00.857161750 +0200
+@@ -20,7 +20,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_error_string.pod 2004-11-14 16:11:37.000000000 +0100
++++ doc/crypto/ERR_error_string.pod 2010-04-01 00:45:00.863828202 +0200
+@@ -60,7 +60,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
+ L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
+ L<SSL_load_error_strings(3)|SSL_load_error_strings(3)>
+ L<ERR_print_errors(3)|ERR_print_errors(3)>
+--- doc/crypto/ERR_get_error.pod 2002-11-29 15:21:54.000000000 +0100
++++ doc/crypto/ERR_get_error.pod 2010-04-01 00:45:00.870494614 +0200
+@@ -61,7 +61,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
+ L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>
+
+ =head1 HISTORY
+--- doc/crypto/ERR_GET_LIB.pod 2000-02-01 02:36:58.000000000 +0100
++++ doc/crypto/ERR_GET_LIB.pod 2010-04-01 00:45:00.850495218 +0200
+@@ -41,7 +41,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_load_crypto_strings.pod 2000-02-24 12:55:08.000000000 +0100
++++ doc/crypto/ERR_load_crypto_strings.pod 2010-04-01 00:45:00.873827919 +0200
+@@ -35,7 +35,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_load_strings.pod 2000-02-24 12:55:08.000000000 +0100
++++ doc/crypto/ERR_load_strings.pod 2010-04-01 00:45:00.876327759 +0200
+@@ -43,7 +43,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/err.pod 2002-07-10 21:35:46.000000000 +0200
++++ doc/crypto/err.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,187 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-err - error codes
+-
+-=head1 SYNOPSIS
+-
+- #include <openssl/err.h>
+-
+- unsigned long ERR_get_error(void);
+- unsigned long ERR_peek_error(void);
+- unsigned long ERR_get_error_line(const char **file, int *line);
+- unsigned long ERR_peek_error_line(const char **file, int *line);
+- unsigned long ERR_get_error_line_data(const char **file, int *line,
+- const char **data, int *flags);
+- unsigned long ERR_peek_error_line_data(const char **file, int *line,
+- const char **data, int *flags);
+-
+- int ERR_GET_LIB(unsigned long e);
+- int ERR_GET_FUNC(unsigned long e);
+- int ERR_GET_REASON(unsigned long e);
+-
+- void ERR_clear_error(void);
+-
+- char *ERR_error_string(unsigned long e, char *buf);
+- const char *ERR_lib_error_string(unsigned long e);
+- const char *ERR_func_error_string(unsigned long e);
+- const char *ERR_reason_error_string(unsigned long e);
+-
+- void ERR_print_errors(BIO *bp);
+- void ERR_print_errors_fp(FILE *fp);
+-
+- void ERR_load_crypto_strings(void);
+- void ERR_free_strings(void);
+-
+- void ERR_remove_state(unsigned long pid);
+-
+- void ERR_put_error(int lib, int func, int reason, const char *file,
+- int line);
+- void ERR_add_error_data(int num, ...);
+-
+- void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
+- unsigned long ERR_PACK(int lib, int func, int reason);
+- int ERR_get_next_error_library(void);
+-
+-=head1 DESCRIPTION
+-
+-When a call to the OpenSSL library fails, this is usually signalled
+-by the return value, and an error code is stored in an error queue
+-associated with the current thread. The B<err> library provides
+-functions to obtain these error codes and textual error messages.
+-
+-The L<ERR_get_error(3)|ERR_get_error(3)> manpage describes how to
+-access error codes.
+-
+-Error codes contain information about where the error occurred, and
+-what went wrong. L<ERR_GET_LIB(3)|ERR_GET_LIB(3)> describes how to
+-extract this information. A method to obtain human-readable error
+-messages is described in L<ERR_error_string(3)|ERR_error_string(3)>.
+-
+-L<ERR_clear_error(3)|ERR_clear_error(3)> can be used to clear the
+-error queue.
+-
+-Note that L<ERR_remove_state(3)|ERR_remove_state(3)> should be used to
+-avoid memory leaks when threads are terminated.
+-
+-=head1 ADDING NEW ERROR CODES TO OPENSSL
+-
+-See L<ERR_put_error(3)> if you want to record error codes in the
+-OpenSSL error system from within your application.
+-
+-The remainder of this section is of interest only if you want to add
+-new error codes to OpenSSL or add error codes from external libraries.
+-
+-=head2 Reporting errors
+-
+-Each sub-library has a specific macro XXXerr() that is used to report
+-errors. Its first argument is a function code B<XXX_F_...>, the second
+-argument is a reason code B<XXX_R_...>. Function codes are derived
+-from the function names; reason codes consist of textual error
+-descriptions. For example, the function ssl23_read() reports a
+-"handshake failure" as follows:
+-
+- SSLerr(SSL_F_SSL23_READ, SSL_R_SSL_HANDSHAKE_FAILURE);
+-
+-Function and reason codes should consist of upper case characters,
+-numbers and underscores only. The error file generation script translates
+-function codes into function names by looking in the header files
+-for an appropriate function name, if none is found it just uses
+-the capitalized form such as "SSL23_READ" in the above example.
+-
+-The trailing section of a reason code (after the "_R_") is translated
+-into lower case and underscores changed to spaces.
+-
+-When you are using new function or reason codes, run B<make errors>.
+-The necessary B<#define>s will then automatically be added to the
+-sub-library's header file.
+-
+-Although a library will normally report errors using its own specific
+-XXXerr macro, another library's macro can be used. This is normally
+-only done when a library wants to include ASN1 code which must use
+-the ASN1err() macro.
+-
+-=head2 Adding new libraries
+-
+-When adding a new sub-library to OpenSSL, assign it a library number
+-B<ERR_LIB_XXX>, define a macro XXXerr() (both in B<err.h>), add its
+-name to B<ERR_str_libraries[]> (in B<crypto/err/err.c>), and add
+-C<ERR_load_XXX_strings()> to the ERR_load_crypto_strings() function
+-(in B<crypto/err/err_all.c>). Finally, add an entry
+-
+- L XXX xxx.h xxx_err.c
+-
+-to B<crypto/err/openssl.ec>, and add B<xxx_err.c> to the Makefile.
+-Running B<make errors> will then generate a file B<xxx_err.c>, and
+-add all error codes used in the library to B<xxx.h>.
+-
+-Additionally the library include file must have a certain form.
+-Typically it will initially look like this:
+-
+- #ifndef HEADER_XXX_H
+- #define HEADER_XXX_H
+-
+- #ifdef __cplusplus
+- extern "C" {
+- #endif
+-
+- /* Include files */
+-
+- #include <openssl/bio.h>
+- #include <openssl/x509.h>
+-
+- /* Macros, structures and function prototypes */
+-
+-
+- /* BEGIN ERROR CODES */
+-
+-The B<BEGIN ERROR CODES> sequence is used by the error code
+-generation script as the point to place new error codes, any text
+-after this point will be overwritten when B<make errors> is run.
+-The closing #endif etc will be automatically added by the script.
+-
+-The generated C error code file B<xxx_err.c> will load the header
+-files B<stdio.h>, B<openssl/err.h> and B<openssl/xxx.h> so the
+-header file must load any additional header files containing any
+-definitions it uses.
+-
+-=head1 USING ERROR CODES IN EXTERNAL LIBRARIES
+-
+-It is also possible to use OpenSSL's error code scheme in external
+-libraries. The library needs to load its own codes and call the OpenSSL
+-error code insertion script B<mkerr.pl> explicitly to add codes to
+-the header file and generate the C error code file. This will normally
+-be done if the external library needs to generate new ASN1 structures
+-but it can also be used to add more general purpose error code handling.
+-
+-TBA more details
+-
+-=head1 INTERNALS
+-
+-The error queues are stored in a hash table with one B<ERR_STATE>
+-entry for each pid. ERR_get_state() returns the current thread's
+-B<ERR_STATE>. An B<ERR_STATE> can hold up to B<ERR_NUM_ERRORS> error
+-codes. When more error codes are added, the old ones are overwritten,
+-on the assumption that the most recent errors are most important.
+-
+-Error strings are also stored in hash table. The hash tables can
+-be obtained by calling ERR_get_err_state_table(void) and
+-ERR_get_string_table(void) respectively.
+-
+-=head1 SEE ALSO
+-
+-L<CRYPTO_set_id_callback(3)|CRYPTO_set_id_callback(3)>,
+-L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
+-L<ERR_get_error(3)|ERR_get_error(3)>,
+-L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
+-L<ERR_clear_error(3)|ERR_clear_error(3)>,
+-L<ERR_error_string(3)|ERR_error_string(3)>,
+-L<ERR_print_errors(3)|ERR_print_errors(3)>,
+-L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
+-L<ERR_remove_state(3)|ERR_remove_state(3)>,
+-L<ERR_put_error(3)|ERR_put_error(3)>,
+-L<ERR_load_strings(3)|ERR_load_strings(3)>,
+-L<SSL_get_error(3)|SSL_get_error(3)>
+-
+-=cut
+--- doc/crypto/ERR_print_errors.pod 2000-02-01 02:36:59.000000000 +0100
++++ doc/crypto/ERR_print_errors.pod 2010-04-01 00:45:00.879660945 +0200
+@@ -38,7 +38,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
++L<openssl_err(3)|openssl_err(3)>, L<ERR_error_string(3)|ERR_error_string(3)>,
+ L<ERR_get_error(3)|ERR_get_error(3)>,
+ L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
+ L<SSL_load_error_strings(3)|SSL_load_error_strings(3)>
+--- doc/crypto/ERR_put_error.pod 2000-02-24 12:55:08.000000000 +0100
++++ doc/crypto/ERR_put_error.pod 2010-04-01 00:45:00.886327158 +0200
+@@ -34,7 +34,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
++L<openssl_err(3)|openssl_err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/ERR_remove_state.pod 2000-05-19 09:54:42.000000000 +0200
++++ doc/crypto/ERR_remove_state.pod 2010-04-01 00:45:00.892994288 +0200
+@@ -25,7 +25,7 @@
+
+ =head1 SEE ALSO
+
+-L<err(3)|err(3)>
++L<openssl_err(3)|openssl_err(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/EVP_BytesToKey.pod 2004-11-25 18:47:30.000000000 +0100
++++ doc/crypto/EVP_BytesToKey.pod 2010-04-01 00:45:00.899660540 +0200
+@@ -59,7 +59,7 @@
+
+ =head1 SEE ALSO
+
+-L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
++L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>
+
+ =head1 HISTORY
+--- doc/crypto/EVP_OpenInit.pod 2000-09-23 09:16:14.000000000 +0200
++++ doc/crypto/EVP_OpenInit.pod 2010-04-01 00:45:00.906327633 +0200
+@@ -54,7 +54,7 @@
+
+ =head1 SEE ALSO
+
+-L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
++L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>,
+ L<EVP_SealInit(3)|EVP_SealInit(3)>
+
+--- doc/crypto/EVP_SealInit.pod 2005-03-29 19:50:08.000000000 +0200
++++ doc/crypto/EVP_SealInit.pod 2010-04-01 00:45:00.912995642 +0200
+@@ -74,7 +74,7 @@
+
+ =head1 SEE ALSO
+
+-L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
++L<evp(3)|evp(3)>, L<openssl_rand(3)|openssl_rand(3)>,
+ L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>,
+ L<EVP_OpenInit(3)|EVP_OpenInit(3)>
+
+--- doc/crypto/EVP_SignInit.pod 2006-07-12 14:31:29.000000000 +0200
++++ doc/crypto/EVP_SignInit.pod 2010-04-01 00:45:00.919661935 +0200
+@@ -89,7 +89,7 @@
+ =head1 SEE ALSO
+
+ L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>,
+-L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
++L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<openssl_err(3)|openssl_err(3)>,
+ L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
+ L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
+ L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
+--- doc/crypto/EVP_VerifyInit.pod 2006-07-12 14:31:30.000000000 +0200
++++ doc/crypto/EVP_VerifyInit.pod 2010-04-01 00:45:00.926327388 +0200
+@@ -80,7 +80,7 @@
+
+ L<evp(3)|evp(3)>,
+ L<EVP_SignInit(3)|EVP_SignInit(3)>,
+-L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
++L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<openssl_err(3)|openssl_err(3)>,
+ L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
+ L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
+ L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
+--- doc/crypto/OPENSSL_config.pod 2005-06-03 01:19:56.000000000 +0200
++++ doc/crypto/OPENSSL_config.pod 2010-04-01 00:45:00.932995118 +0200
+@@ -73,7 +73,7 @@
+ =head1 SEE ALSO
+
+ L<conf(5)|conf(5)>, L<CONF_load_modules_file(3)|CONF_load_modules_file(3)>,
+-L<CONF_modules_free(3),CONF_modules_free(3)>
++L<CONF_modules_free(3)|CONF_modules_free(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/openssl_err.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/crypto/openssl_err.pod 2010-04-01 00:45:01.059660101 +0200
+@@ -0,0 +1,187 @@
++=pod
++
++=head1 NAME
++
++openssl_err - error codes
++
++=head1 SYNOPSIS
++
++ #include <openssl/err.h>
++
++ unsigned long ERR_get_error(void);
++ unsigned long ERR_peek_error(void);
++ unsigned long ERR_get_error_line(const char **file, int *line);
++ unsigned long ERR_peek_error_line(const char **file, int *line);
++ unsigned long ERR_get_error_line_data(const char **file, int *line,
++ const char **data, int *flags);
++ unsigned long ERR_peek_error_line_data(const char **file, int *line,
++ const char **data, int *flags);
++
++ int ERR_GET_LIB(unsigned long e);
++ int ERR_GET_FUNC(unsigned long e);
++ int ERR_GET_REASON(unsigned long e);
++
++ void ERR_clear_error(void);
++
++ char *ERR_error_string(unsigned long e, char *buf);
++ const char *ERR_lib_error_string(unsigned long e);
++ const char *ERR_func_error_string(unsigned long e);
++ const char *ERR_reason_error_string(unsigned long e);
++
++ void ERR_print_errors(BIO *bp);
++ void ERR_print_errors_fp(FILE *fp);
++
++ void ERR_load_crypto_strings(void);
++ void ERR_free_strings(void);
++
++ void ERR_remove_state(unsigned long pid);
++
++ void ERR_put_error(int lib, int func, int reason, const char *file,
++ int line);
++ void ERR_add_error_data(int num, ...);
++
++ void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
++ unsigned long ERR_PACK(int lib, int func, int reason);
++ int ERR_get_next_error_library(void);
++
++=head1 DESCRIPTION
++
++When a call to the OpenSSL library fails, this is usually signalled
++by the return value, and an error code is stored in an error queue
++associated with the current thread. The B<err> library provides
++functions to obtain these error codes and textual error messages.
++
++The L<ERR_get_error(3)|ERR_get_error(3)> manpage describes how to
++access error codes.
++
++Error codes contain information about where the error occurred, and
++what went wrong. L<ERR_GET_LIB(3)|ERR_GET_LIB(3)> describes how to
++extract this information. A method to obtain human-readable error
++messages is described in L<ERR_error_string(3)|ERR_error_string(3)>.
++
++L<ERR_clear_error(3)|ERR_clear_error(3)> can be used to clear the
++error queue.
++
++Note that L<ERR_remove_state(3)|ERR_remove_state(3)> should be used to
++avoid memory leaks when threads are terminated.
++
++=head1 ADDING NEW ERROR CODES TO OPENSSL
++
++See L<ERR_put_error(3)> if you want to record error codes in the
++OpenSSL error system from within your application.
++
++The remainder of this section is of interest only if you want to add
++new error codes to OpenSSL or add error codes from external libraries.
++
++=head2 Reporting errors
++
++Each sub-library has a specific macro XXXerr() that is used to report
++errors. Its first argument is a function code B<XXX_F_...>, the second
++argument is a reason code B<XXX_R_...>. Function codes are derived
++from the function names; reason codes consist of textual error
++descriptions. For example, the function ssl23_read() reports a
++"handshake failure" as follows:
++
++ SSLerr(SSL_F_SSL23_READ, SSL_R_SSL_HANDSHAKE_FAILURE);
++
++Function and reason codes should consist of upper case characters,
++numbers and underscores only. The error file generation script translates
++function codes into function names by looking in the header files
++for an appropriate function name, if none is found it just uses
++the capitalized form such as "SSL23_READ" in the above example.
++
++The trailing section of a reason code (after the "_R_") is translated
++into lower case and underscores changed to spaces.
++
++When you are using new function or reason codes, run B<make errors>.
++The necessary B<#define>s will then automatically be added to the
++sub-library's header file.
++
++Although a library will normally report errors using its own specific
++XXXerr macro, another library's macro can be used. This is normally
++only done when a library wants to include ASN1 code which must use
++the ASN1err() macro.
++
++=head2 Adding new libraries
++
++When adding a new sub-library to OpenSSL, assign it a library number
++B<ERR_LIB_XXX>, define a macro XXXerr() (both in B<err.h>), add its
++name to B<ERR_str_libraries[]> (in B<crypto/err/err.c>), and add
++C<ERR_load_XXX_strings()> to the ERR_load_crypto_strings() function
++(in B<crypto/err/err_all.c>). Finally, add an entry
++
++ L XXX xxx.h xxx_err.c
++
++to B<crypto/err/openssl.ec>, and add B<xxx_err.c> to the Makefile.
++Running B<make errors> will then generate a file B<xxx_err.c>, and
++add all error codes used in the library to B<xxx.h>.
++
++Additionally the library include file must have a certain form.
++Typically it will initially look like this:
++
++ #ifndef HEADER_XXX_H
++ #define HEADER_XXX_H
++
++ #ifdef __cplusplus
++ extern "C" {
++ #endif
++
++ /* Include files */
++
++ #include <openssl/bio.h>
++ #include <openssl/x509.h>
++
++ /* Macros, structures and function prototypes */
++
++
++ /* BEGIN ERROR CODES */
++
++The B<BEGIN ERROR CODES> sequence is used by the error code
++generation script as the point to place new error codes, any text
++after this point will be overwritten when B<make errors> is run.
++The closing #endif etc will be automatically added by the script.
++
++The generated C error code file B<xxx_err.c> will load the header
++files B<stdio.h>, B<openssl/err.h> and B<openssl/xxx.h> so the
++header file must load any additional header files containing any
++definitions it uses.
++
++=head1 USING ERROR CODES IN EXTERNAL LIBRARIES
++
++It is also possible to use OpenSSL's error code scheme in external
++libraries. The library needs to load its own codes and call the OpenSSL
++error code insertion script B<mkerr.pl> explicitly to add codes to
++the header file and generate the C error code file. This will normally
++be done if the external library needs to generate new ASN1 structures
++but it can also be used to add more general purpose error code handling.
++
++TBA more details
++
++=head1 INTERNALS
++
++The error queues are stored in a hash table with one B<ERR_STATE>
++entry for each pid. ERR_get_state() returns the current thread's
++B<ERR_STATE>. An B<ERR_STATE> can hold up to B<ERR_NUM_ERRORS> error
++codes. When more error codes are added, the old ones are overwritten,
++on the assumption that the most recent errors are most important.
++
++Error strings are also stored in hash table. The hash tables can
++be obtained by calling ERR_get_err_state_table(void) and
++ERR_get_string_table(void) respectively.
++
++=head1 SEE ALSO
++
++L<CRYPTO_set_id_callback(3)|CRYPTO_set_id_callback(3)>,
++L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
++L<ERR_get_error(3)|ERR_get_error(3)>,
++L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
++L<ERR_clear_error(3)|ERR_clear_error(3)>,
++L<ERR_error_string(3)|ERR_error_string(3)>,
++L<ERR_print_errors(3)|ERR_print_errors(3)>,
++L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
++L<ERR_remove_state(3)|ERR_remove_state(3)>,
++L<ERR_put_error(3)|ERR_put_error(3)>,
++L<ERR_load_strings(3)|ERR_load_strings(3)>,
++L<SSL_get_error(3)|SSL_get_error(3)>
++
++=cut
+--- doc/crypto/openssl_rand.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/crypto/openssl_rand.pod 2010-04-01 00:45:01.059660101 +0200
+@@ -0,0 +1,175 @@
++=pod
++
++=head1 NAME
++
++openssl_rand - pseudo-random number generator
++
++=head1 SYNOPSIS
++
++ #include <openssl/rand.h>
++
++ int RAND_set_rand_engine(ENGINE *engine);
++
++ int RAND_bytes(unsigned char *buf, int num);
++ int RAND_pseudo_bytes(unsigned char *buf, int num);
++
++ void RAND_seed(const void *buf, int num);
++ void RAND_add(const void *buf, int num, int entropy);
++ int RAND_status(void);
++
++ int RAND_load_file(const char *file, long max_bytes);
++ int RAND_write_file(const char *file);
++ const char *RAND_file_name(char *file, size_t num);
++
++ int RAND_egd(const char *path);
++
++ void RAND_set_rand_method(const RAND_METHOD *meth);
++ const RAND_METHOD *RAND_get_rand_method(void);
++ RAND_METHOD *RAND_SSLeay(void);
++
++ void RAND_cleanup(void);
++
++ /* For Win32 only */
++ void RAND_screen(void);
++ int RAND_event(UINT, WPARAM, LPARAM);
++
++=head1 DESCRIPTION
++
++Since the introduction of the ENGINE API, the recommended way of controlling
++default implementations is by using the ENGINE API functions. The default
++B<RAND_METHOD>, as set by RAND_set_rand_method() and returned by
++RAND_get_rand_method(), is only used if no ENGINE has been set as the default
++"rand" implementation. Hence, these two functions are no longer the recommened
++way to control defaults.
++
++If an alternative B<RAND_METHOD> implementation is being used (either set
++directly or as provided by an ENGINE module), then it is entirely responsible
++for the generation and management of a cryptographically secure PRNG stream. The
++mechanisms described below relate solely to the software PRNG implementation
++built in to OpenSSL and used by default.
++
++These functions implement a cryptographically secure pseudo-random
++number generator (PRNG). It is used by other library functions for
++example to generate random keys, and applications can use it when they
++need randomness.
++
++A cryptographic PRNG must be seeded with unpredictable data such as
++mouse movements or keys pressed at random by the user. This is
++described in L<RAND_add(3)|RAND_add(3)>. Its state can be saved in a seed file
++(see L<RAND_load_file(3)|RAND_load_file(3)>) to avoid having to go through the
++seeding process whenever the application is started.
++
++L<RAND_bytes(3)|RAND_bytes(3)> describes how to obtain random data from the
++PRNG.
++
++=head1 INTERNALS
++
++The RAND_SSLeay() method implements a PRNG based on a cryptographic
++hash function.
++
++The following description of its design is based on the SSLeay
++documentation:
++
++First up I will state the things I believe I need for a good RNG.
++
++=over 4
++
++=item 1
++
++A good hashing algorithm to mix things up and to convert the RNG 'state'
++to random numbers.
++
++=item 2
++
++An initial source of random 'state'.
++
++=item 3
++
++The state should be very large. If the RNG is being used to generate
++4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
++If your RNG state only has 128 bits, you are obviously limiting the
++search space to 128 bits, not 2048. I'm probably getting a little
++carried away on this last point but it does indicate that it may not be
++a bad idea to keep quite a lot of RNG state. It should be easier to
++break a cipher than guess the RNG seed data.
++
++=item 4
++
++Any RNG seed data should influence all subsequent random numbers
++generated. This implies that any random seed data entered will have
++an influence on all subsequent random numbers generated.
++
++=item 5
++
++When using data to seed the RNG state, the data used should not be
++extractable from the RNG state. I believe this should be a
++requirement because one possible source of 'secret' semi random
++data would be a private key or a password. This data must
++not be disclosed by either subsequent random numbers or a
++'core' dump left by a program crash.
++
++=item 6
++
++Given the same initial 'state', 2 systems should deviate in their RNG state
++(and hence the random numbers generated) over time if at all possible.
++
++=item 7
++
++Given the random number output stream, it should not be possible to determine
++the RNG state or the next random number.
++
++=back
++
++The algorithm is as follows.
++
++There is global state made up of a 1023 byte buffer (the 'state'), a
++working hash value ('md'), and a counter ('count').
++
++Whenever seed data is added, it is inserted into the 'state' as
++follows.
++
++The input is chopped up into units of 20 bytes (or less for
++the last block). Each of these blocks is run through the hash
++function as follows: The data passed to the hash function
++is the current 'md', the same number of bytes from the 'state'
++(the location determined by in incremented looping index) as
++the current 'block', the new key data 'block', and 'count'
++(which is incremented after each use).
++The result of this is kept in 'md' and also xored into the
++'state' at the same locations that were used as input into the
++hash function. I
++believe this system addresses points 1 (hash function; currently
++SHA-1), 3 (the 'state'), 4 (via the 'md'), 5 (by the use of a hash
++function and xor).
++
++When bytes are extracted from the RNG, the following process is used.
++For each group of 10 bytes (or less), we do the following:
++
++Input into the hash function the local 'md' (which is initialized from
++the global 'md' before any bytes are generated), the bytes that are to
++be overwritten by the random bytes, and bytes from the 'state'
++(incrementing looping index). From this digest output (which is kept
++in 'md'), the top (up to) 10 bytes are returned to the caller and the
++bottom 10 bytes are xored into the 'state'.
++
++Finally, after we have finished 'num' random bytes for the caller,
++'count' (which is incremented) and the local and global 'md' are fed
++into the hash function and the results are kept in the global 'md'.
++
++I believe the above addressed points 1 (use of SHA-1), 6 (by hashing
++into the 'state' the 'old' data from the caller that is about to be
++overwritten) and 7 (by not using the 10 bytes given to the caller to
++update the 'state', but they are used to update 'md').
++
++So of the points raised, only 2 is not addressed (but see
++L<RAND_add(3)|RAND_add(3)>).
++
++=head1 SEE ALSO
++
++L<BN_rand(3)|BN_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
++L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_egd(3)|RAND_egd(3)>,
++L<RAND_bytes(3)|RAND_bytes(3)>,
++L<RAND_set_rand_method(3)|RAND_set_rand_method(3)>,
++L<RAND_cleanup(3)|RAND_cleanup(3)>
++
++=cut
+--- doc/crypto/openssl_threads.pod 1970-01-01 01:00:00.000000000 +0100
++++ doc/crypto/openssl_threads.pod 2009-10-01 01:40:52.000000000 +0200
+@@ -0,0 +1,210 @@
++=pod
++
++=head1 NAME
++
++CRYPTO_THREADID_set_callback, CRYPTO_THREADID_get_callback,
++CRYPTO_THREADID_current, CRYPTO_THREADID_cmp, CRYPTO_THREADID_cpy,
++CRYPTO_THREADID_hash, CRYPTO_set_locking_callback, CRYPTO_num_locks,
++CRYPTO_set_dynlock_create_callback, CRYPTO_set_dynlock_lock_callback,
++CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid,
++CRYPTO_destroy_dynlockid, CRYPTO_lock - OpenSSL thread support
++
++=head1 SYNOPSIS
++
++ #include <openssl/crypto.h>
++
++ /* Don't use this structure directly. */
++ typedef struct crypto_threadid_st
++ {
++ void *ptr;
++ unsigned long val;
++ } CRYPTO_THREADID;
++ /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */
++ void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val);
++ void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr);
++ int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *));
++ void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *);
++ void CRYPTO_THREADID_current(CRYPTO_THREADID *id);
++ int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a,
++ const CRYPTO_THREADID *b);
++ void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest,
++ const CRYPTO_THREADID *src);
++ unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id);
++
++ int CRYPTO_num_locks(void);
++
++ /* struct CRYPTO_dynlock_value needs to be defined by the user */
++ struct CRYPTO_dynlock_value;
++
++ void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *
++ (*dyn_create_function)(char *file, int line));
++ void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)
++ (int mode, struct CRYPTO_dynlock_value *l,
++ const char *file, int line));
++ void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)
++ (struct CRYPTO_dynlock_value *l, const char *file, int line));
++
++ int CRYPTO_get_new_dynlockid(void);
++
++ void CRYPTO_destroy_dynlockid(int i);
++
++ void CRYPTO_lock(int mode, int n, const char *file, int line);
++
++ #define CRYPTO_w_lock(type) \
++ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
++ #define CRYPTO_w_unlock(type) \
++ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
++ #define CRYPTO_r_lock(type) \
++ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)
++ #define CRYPTO_r_unlock(type) \
++ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)
++ #define CRYPTO_add(addr,amount,type) \
++ CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)
++
++=head1 DESCRIPTION
++
++OpenSSL can safely be used in multi-threaded applications provided
++that at least two callback functions are set, locking_function and
++threadid_func.
++
++locking_function(int mode, int n, const char *file, int line) is
++needed to perform locking on shared data structures.
++(Note that OpenSSL uses a number of global data structures that
++will be implicitly shared whenever multiple threads use OpenSSL.)
++Multi-threaded applications will crash at random if it is not set.
++
++locking_function() must be able to handle up to CRYPTO_num_locks()
++different mutex locks. It sets the B<n>-th lock if B<mode> &
++B<CRYPTO_LOCK>, and releases it otherwise.
++
++B<file> and B<line> are the file number of the function setting the
++lock. They can be useful for debugging.
++
++threadid_func(CRYPTO_THREADID *id) is needed to record the currently-executing
++thread's identifier into B<id>. The implementation of this callback should not
++fill in B<id> directly, but should use CRYPTO_THREADID_set_numeric() if thread
++IDs are numeric, or CRYPTO_THREADID_set_pointer() if they are pointer-based.
++If the application does not register such a callback using
++CRYPTO_THREADID_set_callback(), then a default implementation is used - on
++Windows and BeOS this uses the system's default thread identifying APIs, and on
++all other platforms it uses the address of B<errno>. The latter is satisfactory
++for thread-safety if and only if the platform has a thread-local error number
++facility.
++
++Once threadid_func() is registered, or if the built-in default implementation is
++to be used;
++
++=over 4
++
++=item *
++CRYPTO_THREADID_current() records the currently-executing thread ID into the
++given B<id> object.
++
++=item *
++CRYPTO_THREADID_cmp() compares two thread IDs (returning zero for equality, ie.
++the same semantics as memcmp()).
++
++=item *
++CRYPTO_THREADID_cpy() duplicates a thread ID value,
++
++=item *
++CRYPTO_THREADID_hash() returns a numeric value usable as a hash-table key. This
++is usually the exact numeric or pointer-based thread ID used internally, however
++this also handles the unusual case where pointers are larger than 'long'
++variables and the platform's thread IDs are pointer-based - in this case, mixing
++is done to attempt to produce a unique numeric value even though it is not as
++wide as the platform's true thread IDs.
++
++=back
++
++Additionally, OpenSSL supports dynamic locks, and sometimes, some parts
++of OpenSSL need it for better performance. To enable this, the following
++is required:
++
++=over 4
++
++=item *
++Three additional callback function, dyn_create_function, dyn_lock_function
++and dyn_destroy_function.
++
++=item *
++A structure defined with the data that each lock needs to handle.
++
++=back
++
++struct CRYPTO_dynlock_value has to be defined to contain whatever structure
++is needed to handle locks.
++
++dyn_create_function(const char *file, int line) is needed to create a
++lock. Multi-threaded applications might crash at random if it is not set.
++
++dyn_lock_function(int mode, CRYPTO_dynlock *l, const char *file, int line)
++is needed to perform locking off dynamic lock numbered n. Multi-threaded
++applications might crash at random if it is not set.
++
++dyn_destroy_function(CRYPTO_dynlock *l, const char *file, int line) is
++needed to destroy the lock l. Multi-threaded applications might crash at
++random if it is not set.
++
++CRYPTO_get_new_dynlockid() is used to create locks. It will call
++dyn_create_function for the actual creation.
++
++CRYPTO_destroy_dynlockid() is used to destroy locks. It will call
++dyn_destroy_function for the actual destruction.
++
++CRYPTO_lock() is used to lock and unlock the locks. mode is a bitfield
++describing what should be done with the lock. n is the number of the
++lock as returned from CRYPTO_get_new_dynlockid(). mode can be combined
++from the following values. These values are pairwise exclusive, with
++undefined behaviour if misused (for example, CRYPTO_READ and CRYPTO_WRITE
++should not be used together):
++
++ CRYPTO_LOCK 0x01
++ CRYPTO_UNLOCK 0x02
++ CRYPTO_READ 0x04
++ CRYPTO_WRITE 0x08
++
++=head1 RETURN VALUES
++
++CRYPTO_num_locks() returns the required number of locks.
++
++CRYPTO_get_new_dynlockid() returns the index to the newly created lock.
++
++The other functions return no values.
++
++=head1 NOTES
++
++You can find out if OpenSSL was configured with thread support:
++
++ #define OPENSSL_THREAD_DEFINES
++ #include <openssl/opensslconf.h>
++ #if defined(OPENSSL_THREADS)
++ // thread support enabled
++ #else
++ // no thread support
++ #endif
++
++Also, dynamic locks are currently not used internally by OpenSSL, but
++may do so in the future.
++
++=head1 EXAMPLES
++
++B<crypto/threads/mttest.c> shows examples of the callback functions on
++Solaris, Irix and Win32.
++
++=head1 HISTORY
++
++CRYPTO_set_locking_callback() is
++available in all versions of SSLeay and OpenSSL.
++CRYPTO_num_locks() was added in OpenSSL 0.9.4.
++All functions dealing with dynamic locks were added in OpenSSL 0.9.5b-dev.
++B<CRYPTO_THREADID> and associated functions were introduced in OpenSSL 1.0.0
++to replace (actually, deprecate) the previous CRYPTO_set_id_callback(),
++CRYPTO_get_id_callback(), and CRYPTO_thread_id() functions which assumed
++thread IDs to always be represented by 'unsigned long'.
++
++=head1 SEE ALSO
++
++L<crypto(3)|crypto(3)>
++
++=cut
+--- doc/crypto/RAND_add.pod 2000-03-22 16:30:03.000000000 +0100
++++ doc/crypto/RAND_add.pod 2010-04-01 00:45:00.939660251 +0200
+@@ -65,7 +65,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<RAND_egd(3)|RAND_egd(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<RAND_egd(3)|RAND_egd(3)>,
+ L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RAND_bytes.pod 2007-09-24 13:01:18.000000000 +0200
++++ doc/crypto/RAND_bytes.pod 2010-04-01 00:45:00.946326823 +0200
+@@ -38,7 +38,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
+ L<RAND_add(3)|RAND_add(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RAND_cleanup.pod 2000-01-27 02:25:06.000000000 +0100
++++ doc/crypto/RAND_cleanup.pod 2010-04-01 00:45:00.952993593 +0200
+@@ -20,7 +20,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>
++L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/RAND_egd.pod 2008-11-10 12:26:44.000000000 +0100
++++ doc/crypto/RAND_egd.pod 2010-04-01 00:45:00.959660646 +0200
+@@ -72,7 +72,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
+ L<RAND_cleanup(3)|RAND_cleanup(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RAND_load_file.pod 2001-03-21 16:25:56.000000000 +0100
++++ doc/crypto/RAND_load_file.pod 2010-04-01 00:45:00.976327494 +0200
+@@ -43,7 +43,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
++L<openssl_rand(3)|openssl_rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/rand.pod 2002-08-05 18:27:01.000000000 +0200
++++ doc/crypto/rand.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,175 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-rand - pseudo-random number generator
+-
+-=head1 SYNOPSIS
+-
+- #include <openssl/rand.h>
+-
+- int RAND_set_rand_engine(ENGINE *engine);
+-
+- int RAND_bytes(unsigned char *buf, int num);
+- int RAND_pseudo_bytes(unsigned char *buf, int num);
+-
+- void RAND_seed(const void *buf, int num);
+- void RAND_add(const void *buf, int num, int entropy);
+- int RAND_status(void);
+-
+- int RAND_load_file(const char *file, long max_bytes);
+- int RAND_write_file(const char *file);
+- const char *RAND_file_name(char *file, size_t num);
+-
+- int RAND_egd(const char *path);
+-
+- void RAND_set_rand_method(const RAND_METHOD *meth);
+- const RAND_METHOD *RAND_get_rand_method(void);
+- RAND_METHOD *RAND_SSLeay(void);
+-
+- void RAND_cleanup(void);
+-
+- /* For Win32 only */
+- void RAND_screen(void);
+- int RAND_event(UINT, WPARAM, LPARAM);
+-
+-=head1 DESCRIPTION
+-
+-Since the introduction of the ENGINE API, the recommended way of controlling
+-default implementations is by using the ENGINE API functions. The default
+-B<RAND_METHOD>, as set by RAND_set_rand_method() and returned by
+-RAND_get_rand_method(), is only used if no ENGINE has been set as the default
+-"rand" implementation. Hence, these two functions are no longer the recommened
+-way to control defaults.
+-
+-If an alternative B<RAND_METHOD> implementation is being used (either set
+-directly or as provided by an ENGINE module), then it is entirely responsible
+-for the generation and management of a cryptographically secure PRNG stream. The
+-mechanisms described below relate solely to the software PRNG implementation
+-built in to OpenSSL and used by default.
+-
+-These functions implement a cryptographically secure pseudo-random
+-number generator (PRNG). It is used by other library functions for
+-example to generate random keys, and applications can use it when they
+-need randomness.
+-
+-A cryptographic PRNG must be seeded with unpredictable data such as
+-mouse movements or keys pressed at random by the user. This is
+-described in L<RAND_add(3)|RAND_add(3)>. Its state can be saved in a seed file
+-(see L<RAND_load_file(3)|RAND_load_file(3)>) to avoid having to go through the
+-seeding process whenever the application is started.
+-
+-L<RAND_bytes(3)|RAND_bytes(3)> describes how to obtain random data from the
+-PRNG.
+-
+-=head1 INTERNALS
+-
+-The RAND_SSLeay() method implements a PRNG based on a cryptographic
+-hash function.
+-
+-The following description of its design is based on the SSLeay
+-documentation:
+-
+-First up I will state the things I believe I need for a good RNG.
+-
+-=over 4
+-
+-=item 1
+-
+-A good hashing algorithm to mix things up and to convert the RNG 'state'
+-to random numbers.
+-
+-=item 2
+-
+-An initial source of random 'state'.
+-
+-=item 3
+-
+-The state should be very large. If the RNG is being used to generate
+-4096 bit RSA keys, 2 2048 bit random strings are required (at a minimum).
+-If your RNG state only has 128 bits, you are obviously limiting the
+-search space to 128 bits, not 2048. I'm probably getting a little
+-carried away on this last point but it does indicate that it may not be
+-a bad idea to keep quite a lot of RNG state. It should be easier to
+-break a cipher than guess the RNG seed data.
+-
+-=item 4
+-
+-Any RNG seed data should influence all subsequent random numbers
+-generated. This implies that any random seed data entered will have
+-an influence on all subsequent random numbers generated.
+-
+-=item 5
+-
+-When using data to seed the RNG state, the data used should not be
+-extractable from the RNG state. I believe this should be a
+-requirement because one possible source of 'secret' semi random
+-data would be a private key or a password. This data must
+-not be disclosed by either subsequent random numbers or a
+-'core' dump left by a program crash.
+-
+-=item 6
+-
+-Given the same initial 'state', 2 systems should deviate in their RNG state
+-(and hence the random numbers generated) over time if at all possible.
+-
+-=item 7
+-
+-Given the random number output stream, it should not be possible to determine
+-the RNG state or the next random number.
+-
+-=back
+-
+-The algorithm is as follows.
+-
+-There is global state made up of a 1023 byte buffer (the 'state'), a
+-working hash value ('md'), and a counter ('count').
+-
+-Whenever seed data is added, it is inserted into the 'state' as
+-follows.
+-
+-The input is chopped up into units of 20 bytes (or less for
+-the last block). Each of these blocks is run through the hash
+-function as follows: The data passed to the hash function
+-is the current 'md', the same number of bytes from the 'state'
+-(the location determined by in incremented looping index) as
+-the current 'block', the new key data 'block', and 'count'
+-(which is incremented after each use).
+-The result of this is kept in 'md' and also xored into the
+-'state' at the same locations that were used as input into the
+-hash function. I
+-believe this system addresses points 1 (hash function; currently
+-SHA-1), 3 (the 'state'), 4 (via the 'md'), 5 (by the use of a hash
+-function and xor).
+-
+-When bytes are extracted from the RNG, the following process is used.
+-For each group of 10 bytes (or less), we do the following:
+-
+-Input into the hash function the local 'md' (which is initialized from
+-the global 'md' before any bytes are generated), the bytes that are to
+-be overwritten by the random bytes, and bytes from the 'state'
+-(incrementing looping index). From this digest output (which is kept
+-in 'md'), the top (up to) 10 bytes are returned to the caller and the
+-bottom 10 bytes are xored into the 'state'.
+-
+-Finally, after we have finished 'num' random bytes for the caller,
+-'count' (which is incremented) and the local and global 'md' are fed
+-into the hash function and the results are kept in the global 'md'.
+-
+-I believe the above addressed points 1 (use of SHA-1), 6 (by hashing
+-into the 'state' the 'old' data from the caller that is about to be
+-overwritten) and 7 (by not using the 10 bytes given to the caller to
+-update the 'state', but they are used to update 'md').
+-
+-So of the points raised, only 2 is not addressed (but see
+-L<RAND_add(3)|RAND_add(3)>).
+-
+-=head1 SEE ALSO
+-
+-L<BN_rand(3)|BN_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
+-L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_egd(3)|RAND_egd(3)>,
+-L<RAND_bytes(3)|RAND_bytes(3)>,
+-L<RAND_set_rand_method(3)|RAND_set_rand_method(3)>,
+-L<RAND_cleanup(3)|RAND_cleanup(3)>
+-
+-=cut
+--- doc/crypto/RAND_set_rand_method.pod 2007-11-19 10:18:03.000000000 +0100
++++ doc/crypto/RAND_set_rand_method.pod 2010-04-01 00:45:00.982994946 +0200
+@@ -67,7 +67,7 @@
+
+ =head1 SEE ALSO
+
+-L<rand(3)|rand(3)>, L<engine(3)|engine(3)>
++L<openssl_rand(3)|openssl_rand(3)>, L<engine(3)|engine(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/RSA_blinding_on.pod 2000-02-24 12:55:10.000000000 +0100
++++ doc/crypto/RSA_blinding_on.pod 2010-04-01 00:45:00.989661318 +0200
+@@ -34,7 +34,7 @@
+
+ =head1 SEE ALSO
+
+-L<rsa(3)|rsa(3)>, L<rand(3)|rand(3)>
++L<rsa(3)|rsa(3)>, L<openssl_rand(3)|openssl_rand(3)>
+
+ =head1 HISTORY
+
+--- doc/crypto/RSA_generate_key.pod 2002-09-25 15:33:27.000000000 +0200
++++ doc/crypto/RSA_generate_key.pod 2010-04-01 00:45:00.996327969 +0200
+@@ -59,7 +59,7 @@
+
+ =head1 SEE ALSO
+
+-L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
++L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
+ L<RSA_free(3)|RSA_free(3)>
+
+ =head1 HISTORY
+--- doc/crypto/rsa.pod 2002-08-04 23:08:36.000000000 +0200
++++ doc/crypto/rsa.pod 2010-04-01 00:45:01.062995006 +0200
+@@ -108,7 +108,7 @@
+ =head1 SEE ALSO
+
+ L<rsa(1)|rsa(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>,
+-L<rand(3)|rand(3)>, L<engine(3)|engine(3)>, L<RSA_new(3)|RSA_new(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<engine(3)|engine(3)>, L<RSA_new(3)|RSA_new(3)>,
+ L<RSA_public_encrypt(3)|RSA_public_encrypt(3)>,
+ L<RSA_sign(3)|RSA_sign(3)>, L<RSA_size(3)|RSA_size(3)>,
+ L<RSA_generate_key(3)|RSA_generate_key(3)>,
+--- doc/crypto/RSA_public_encrypt.pod 2004-03-23 22:01:34.000000000 +0100
++++ doc/crypto/RSA_public_encrypt.pod 2010-04-01 00:45:01.002994781 +0200
+@@ -73,7 +73,7 @@
+
+ =head1 SEE ALSO
+
+-L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
++L<ERR_get_error(3)|ERR_get_error(3)>, L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>,
+ L<RSA_size(3)|RSA_size(3)>
+
+ =head1 HISTORY
+--- doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod 2002-09-25 15:33:28.000000000 +0200
++++ doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod 2010-04-01 00:45:01.009660553 +0200
+@@ -48,7 +48,7 @@
+ =head1 SEE ALSO
+
+ L<ERR_get_error(3)|ERR_get_error(3)>, L<objects(3)|objects(3)>,
+-L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
++L<openssl_rand(3)|openssl_rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
+ L<RSA_verify(3)|RSA_verify(3)>
+
+ =head1 HISTORY
+--- doc/crypto/threads.pod 2009-10-01 01:40:52.000000000 +0200
++++ doc/crypto/threads.pod 1970-01-01 01:00:00.000000000 +0100
+@@ -1,210 +0,0 @@
+-=pod
+-
+-=head1 NAME
+-
+-CRYPTO_THREADID_set_callback, CRYPTO_THREADID_get_callback,
+-CRYPTO_THREADID_current, CRYPTO_THREADID_cmp, CRYPTO_THREADID_cpy,
+-CRYPTO_THREADID_hash, CRYPTO_set_locking_callback, CRYPTO_num_locks,
+-CRYPTO_set_dynlock_create_callback, CRYPTO_set_dynlock_lock_callback,
+-CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid,
+-CRYPTO_destroy_dynlockid, CRYPTO_lock - OpenSSL thread support
+-
+-=head1 SYNOPSIS
+-
+- #include <openssl/crypto.h>
+-
+- /* Don't use this structure directly. */
+- typedef struct crypto_threadid_st
+- {
+- void *ptr;
+- unsigned long val;
+- } CRYPTO_THREADID;
+- /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */
+- void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val);
+- void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr);
+- int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *));
+- void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *);
+- void CRYPTO_THREADID_current(CRYPTO_THREADID *id);
+- int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a,
+- const CRYPTO_THREADID *b);
+- void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest,
+- const CRYPTO_THREADID *src);
+- unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id);
+-
+- int CRYPTO_num_locks(void);
+-
+- /* struct CRYPTO_dynlock_value needs to be defined by the user */
+- struct CRYPTO_dynlock_value;
+-
+- void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *
+- (*dyn_create_function)(char *file, int line));
+- void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)
+- (int mode, struct CRYPTO_dynlock_value *l,
+- const char *file, int line));
+- void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)
+- (struct CRYPTO_dynlock_value *l, const char *file, int line));
+-
+- int CRYPTO_get_new_dynlockid(void);
+-
+- void CRYPTO_destroy_dynlockid(int i);
+-
+- void CRYPTO_lock(int mode, int n, const char *file, int line);
+-
+- #define CRYPTO_w_lock(type) \
+- CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
+- #define CRYPTO_w_unlock(type) \
+- CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
+- #define CRYPTO_r_lock(type) \
+- CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)
+- #define CRYPTO_r_unlock(type) \
+- CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)
+- #define CRYPTO_add(addr,amount,type) \
+- CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)
+-
+-=head1 DESCRIPTION
+-
+-OpenSSL can safely be used in multi-threaded applications provided
+-that at least two callback functions are set, locking_function and
+-threadid_func.
+-
+-locking_function(int mode, int n, const char *file, int line) is
+-needed to perform locking on shared data structures.
+-(Note that OpenSSL uses a number of global data structures that
+-will be implicitly shared whenever multiple threads use OpenSSL.)
+-Multi-threaded applications will crash at random if it is not set.
+-
+-locking_function() must be able to handle up to CRYPTO_num_locks()
+-different mutex locks. It sets the B<n>-th lock if B<mode> &
+-B<CRYPTO_LOCK>, and releases it otherwise.
+-
+-B<file> and B<line> are the file number of the function setting the
+-lock. They can be useful for debugging.
+-
+-threadid_func(CRYPTO_THREADID *id) is needed to record the currently-executing
+-thread's identifier into B<id>. The implementation of this callback should not
+-fill in B<id> directly, but should use CRYPTO_THREADID_set_numeric() if thread
+-IDs are numeric, or CRYPTO_THREADID_set_pointer() if they are pointer-based.
+-If the application does not register such a callback using
+-CRYPTO_THREADID_set_callback(), then a default implementation is used - on
+-Windows and BeOS this uses the system's default thread identifying APIs, and on
+-all other platforms it uses the address of B<errno>. The latter is satisfactory
+-for thread-safety if and only if the platform has a thread-local error number
+-facility.
+-
+-Once threadid_func() is registered, or if the built-in default implementation is
+-to be used;
+-
+-=over 4
+-
+-=item *
+-CRYPTO_THREADID_current() records the currently-executing thread ID into the
+-given B<id> object.
+-
+-=item *
+-CRYPTO_THREADID_cmp() compares two thread IDs (returning zero for equality, ie.
+-the same semantics as memcmp()).
+-
+-=item *
+-CRYPTO_THREADID_cpy() duplicates a thread ID value,
+-
+-=item *
+-CRYPTO_THREADID_hash() returns a numeric value usable as a hash-table key. This
+-is usually the exact numeric or pointer-based thread ID used internally, however
+-this also handles the unusual case where pointers are larger than 'long'
+-variables and the platform's thread IDs are pointer-based - in this case, mixing
+-is done to attempt to produce a unique numeric value even though it is not as
+-wide as the platform's true thread IDs.
+-
+-=back
+-
+-Additionally, OpenSSL supports dynamic locks, and sometimes, some parts
+-of OpenSSL need it for better performance. To enable this, the following
+-is required:
+-
+-=over 4
+-
+-=item *
+-Three additional callback function, dyn_create_function, dyn_lock_function
+-and dyn_destroy_function.
+-
+-=item *
+-A structure defined with the data that each lock needs to handle.
+-
+-=back
+-
+-struct CRYPTO_dynlock_value has to be defined to contain whatever structure
+-is needed to handle locks.
+-
+-dyn_create_function(const char *file, int line) is needed to create a
+-lock. Multi-threaded applications might crash at random if it is not set.
+-
+-dyn_lock_function(int mode, CRYPTO_dynlock *l, const char *file, int line)
+-is needed to perform locking off dynamic lock numbered n. Multi-threaded
+-applications might crash at random if it is not set.
+-
+-dyn_destroy_function(CRYPTO_dynlock *l, const char *file, int line) is
+-needed to destroy the lock l. Multi-threaded applications might crash at
+-random if it is not set.
+-
+-CRYPTO_get_new_dynlockid() is used to create locks. It will call
+-dyn_create_function for the actual creation.
+-
+-CRYPTO_destroy_dynlockid() is used to destroy locks. It will call
+-dyn_destroy_function for the actual destruction.
+-
+-CRYPTO_lock() is used to lock and unlock the locks. mode is a bitfield
+-describing what should be done with the lock. n is the number of the
+-lock as returned from CRYPTO_get_new_dynlockid(). mode can be combined
+-from the following values. These values are pairwise exclusive, with
+-undefined behaviour if misused (for example, CRYPTO_READ and CRYPTO_WRITE
+-should not be used together):
+-
+- CRYPTO_LOCK 0x01
+- CRYPTO_UNLOCK 0x02
+- CRYPTO_READ 0x04
+- CRYPTO_WRITE 0x08
+-
+-=head1 RETURN VALUES
+-
+-CRYPTO_num_locks() returns the required number of locks.
+-
+-CRYPTO_get_new_dynlockid() returns the index to the newly created lock.
+-
+-The other functions return no values.
+-
+-=head1 NOTES
+-
+-You can find out if OpenSSL was configured with thread support:
+-
+- #define OPENSSL_THREAD_DEFINES
+- #include <openssl/opensslconf.h>
+- #if defined(OPENSSL_THREADS)
+- // thread support enabled
+- #else
+- // no thread support
+- #endif
+-
+-Also, dynamic locks are currently not used internally by OpenSSL, but
+-may do so in the future.
+-
+-=head1 EXAMPLES
+-
+-B<crypto/threads/mttest.c> shows examples of the callback functions on
+-Solaris, Irix and Win32.
+-
+-=head1 HISTORY
+-
+-CRYPTO_set_locking_callback() is
+-available in all versions of SSLeay and OpenSSL.
+-CRYPTO_num_locks() was added in OpenSSL 0.9.4.
+-All functions dealing with dynamic locks were added in OpenSSL 0.9.5b-dev.
+-B<CRYPTO_THREADID> and associated functions were introduced in OpenSSL 1.0.0
+-to replace (actually, deprecate) the previous CRYPTO_set_id_callback(),
+-CRYPTO_get_id_callback(), and CRYPTO_thread_id() functions which assumed
+-thread IDs to always be represented by 'unsigned long'.
+-
+-=head1 SEE ALSO
+-
+-L<crypto(3)|crypto(3)>
+-
+-=cut
+--- doc/crypto/X509_NAME_ENTRY_get_object.pod 2006-05-14 13:27:59.000000000 +0200
++++ doc/crypto/X509_NAME_ENTRY_get_object.pod 2010-04-01 00:45:01.016327524 +0200
+@@ -65,7 +65,7 @@
+ =head1 SEE ALSO
+
+ L<ERR_get_error(3)|ERR_get_error(3)>, L<d2i_X509_NAME(3)|d2i_X509_NAME(3)>,
+-L<OBJ_nid2obj(3),OBJ_nid2obj(3)>
++L<OBJ_nid2obj(3)|OBJ_nid2obj(3)>
+
+ =head1 HISTORY
+
+--- doc/ssl/SSL_get_error.pod 2005-03-30 13:50:14.000000000 +0200
++++ doc/ssl/SSL_get_error.pod 2010-04-01 00:45:03.069662282 +0200
+@@ -105,7 +105,7 @@
+
+ =head1 SEE ALSO
+
+-L<ssl(3)|ssl(3)>, L<err(3)|err(3)>
++L<ssl(3)|ssl(3)>, L<openssl_err(3)|openssl_err(3)>
+
+ =head1 HISTORY
+
+--- doc/ssl/SSL_want.pod 2005-03-30 13:50:14.000000000 +0200
++++ doc/ssl/SSL_want.pod 2010-04-01 00:45:03.082993225 +0200
+@@ -72,6 +72,6 @@
+
+ =head1 SEE ALSO
+
+-L<ssl(3)|ssl(3)>, L<err(3)|err(3)>, L<SSL_get_error(3)|SSL_get_error(3)>
++L<ssl(3)|ssl(3)>, L<openssl_err(3)|openssl_err(3)>, L<SSL_get_error(3)|SSL_get_error(3)>
+
+ =cut
+--- FAQ 2010-03-29 15:11:53.000000000 +0200
++++ FAQ 2010-04-01 00:46:00.593821225 +0200
+@@ -724,7 +724,7 @@
+ CRYPTO_set_id_callback(), for all versions of OpenSSL up to and
+ including 0.9.8[abc...]. As of version 0.9.9, CRYPTO_set_id_callback()
+ and associated APIs are deprecated by CRYPTO_THREADID_set_callback()
+-and friends. This is described in the threads(3) manpage.
++and friends. This is described in the openssl_threads(3) manpage.
+
+ * I've compiled a program under Windows and it crashes: why?
+
diff --git a/abs/core-testing/openssl/no-rpath.patch b/abs/core-testing/openssl/no-rpath.patch
new file mode 100644
index 0000000..ebd95e2
--- /dev/null
+++ b/abs/core-testing/openssl/no-rpath.patch
@@ -0,0 +1,11 @@
+--- Makefile.shared.no-rpath 2005-06-23 22:47:54.000000000 +0200
++++ Makefile.shared 2005-11-16 22:35:37.000000000 +0100
+@@ -153,7 +153,7 @@
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+
+ #This is rather special. It's a special target with which one can link
+ #applications without bothering with any features that have anything to
diff --git a/abs/core-testing/pacman-mirrorlist/PKGBUILD b/abs/core-testing/pacman-mirrorlist/PKGBUILD
index 32bd639..76aa033 100644
--- a/abs/core-testing/pacman-mirrorlist/PKGBUILD
+++ b/abs/core-testing/pacman-mirrorlist/PKGBUILD
@@ -1,22 +1,34 @@
-# $Id: PKGBUILD 23382 2009-01-08 14:18:33Z allan $
+# $Id: PKGBUILD 83368 2010-06-21 12:46:38Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=pacman-mirrorlist
-pkgver=20090108
+pkgver=20100621
pkgrel=1
pkgdesc="Arch Linux mirror list for use by pacman"
-arch=('i686' 'x86_64')
+arch=('any')
url="http://www.archlinux.org/pacman/"
license=('GPL')
-groups=('base')
backup=(etc/pacman.d/mirrorlist)
source=(mirrorlist)
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
+
+# NOTE on building this package:
+# * Go to the trunk/ directory
+# * Run bash -c ". PKGBUILD; updatelist"
+# * Update the checksums, update pkgver
+# * Build the package
+
+updatelist() {
+ wget -O mirrorlist http://www.archlinux.org/mirrorlist/i686/all/
+ sed -i 's/i686/$arch/' mirrorlist
+}
+
build() {
mkdir -p $pkgdir/etc/pacman.d
install -m644 $srcdir/mirrorlist $pkgdir/etc/pacman.d/
- # customize mirrorlist to architecture
- sed -i -e "s/@carch@/${CARCH}/g" $pkgdir/etc/pacman.d/mirrorlist
}
-md5sums=('854aff1843e1cff2cf45aeef79a89279')
+md5sums=('506e96c2c64c5dbea880112bc5070a22')
+sha256sums=('03507e32ab9fc9988e0df164cb82c75316a0b043c584ae9240cf801600e55c31')
diff --git a/abs/core-testing/pacman-mirrorlist/mirrorlist b/abs/core-testing/pacman-mirrorlist/mirrorlist
index ef691e9..d8498f3 100644
--- a/abs/core-testing/pacman-mirrorlist/mirrorlist
+++ b/abs/core-testing/pacman-mirrorlist/mirrorlist
@@ -1,116 +1,282 @@
#
# Arch Linux repository mirrorlist
+# Generated on 2010-06-21
#
-# North America
-# - United States
-Server = ftp://ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/@carch@
-Server = http://archlinux.unixheads.org/$repo/os/@carch@
-Server = ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/@carch@
-Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/@carch@
-Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/@carch@
-Server = http://archlinux.umflint.edu/mirrors/archlinux/$repo/os/@carch@
-Server = http://mirror.neotuli.net/arch/$repo/os/@carch@
-Server = http://mirror.rit.edu/archlinux/$repo/os/@carch@
-Server = http://mirror.umoss.org/archlinux/$repo/os/@carch@
-Server = http://schlunix.org/archlinux/$repo/os/@carch@
-Server = http://mirror.archlinux.com.ve/$repo/os/@carch@
-Server = http://mirrors.gigenet.com/archlinux/$repo/os/@carch@
-# - Canada
-Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/@carch@
-Server = ftp://mirrors.portafixe.com/archlinux/$repo/os/@carch@
-
-# South America
-# - Brazil
-Server = http://archlinux.c3sl.ufpr.br/$repo/os/@carch@
-Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/@carch@
-Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/@carch@
-# - Venezuela
-Server = http://mirror2.archlinux.com.ve/$repo/os/@carch@
-
-# Europe
-# - Austria
-Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/@carch@
-# - Belgium
-Server = ftp://ftp.belnet.be/mirror/archlinux.org/$repo/os/@carch@
-# - Czech Republic
-Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/@carch@
-# - Denmark
-Server = ftp://ftp.klid.dk/archlinux/$repo/os/@carch@
-# - Estonia
-Server = ftp://ftp.estpak.ee/pub/archlinux/$repo/os/@carch@
-# - France
-Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/@carch@
-Server = ftp://mir2.archlinuxfr.org/archlinux/$repo/os/@carch@
-Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/@carch@
-Server = http://mir.archlinux.fr/$repo/os/@carch@
-Server = ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/@carch@
-# - Germany
-Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.archlinuxppc.org/@carch@/$repo/os/@carch@
-Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/@carch@
-Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/@carch@
-Server = ftp://mirrors.igprolin-online.org/archlinux/$repo/os/@carch@
-Server = ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/@carch@
-# - Great Britain
-Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://mirrors.uk2.net/pub/archlinux/$repo/os/@carch@
-Server = http://archlinux.mirrors.uk2.net/$repo/os/@carch@
-Server = ftp://mirror.lividpenguin.com/pub/archlinux/$repo/os/@carch@
-# - Greece
-Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/@carch@
-# - Hungary
-Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-# - Ireland
-Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/@carch@
-# - Italy
-Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/@carch@
-# - Netherlands
-Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/@carch@
-Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/@carch@
-# - Norway
-Server = http://mirror.archlinux.no/$repo/os/@carch@
-# - Poland
-Server = ftp://mirror.icis.pcz.pl/archlinux/$repo/os/@carch@
-Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/@carch@
-Server = http://unix.net.pl/archlinux.org/$repo/os/@carch@
-# - Portugal
-Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/@carch@
-# - Romania
-Server = ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/$repo/os/@carch@
-# - Russia
-Server = ftp://mirror.yandex.ru/archlinux/$repo/os/@carch@
-Server = http://archlinux.freeside.ru/$repo/os/@carch@
-# - Sweden
-Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/@carch@
-Server = ftp://ftp.gigabit.nu/$repo/os/@carch@
-# - Switzerland
-Server = http://archlinux.puzzle.ch/$repo/os/@carch@
-# - Turkey
-Server = ftp://ftp.linux.org.tr/pub/mirrors/archlinux/$repo/os/@carch@
-# - Ukraine
-Server = ftp://archlinux.hell.org.ua/archlinux/$repo/os/@carch@
-Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/@carch@
-
-# Asia
-# - Indonesia
-Server = http://archlinux.cbn.net.id/$repo/os/@carch@
-Server = ftp://archlinux.cbn.net.id/pub/archlinux/$repo/os/@carch@
-# - Israel
-Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/@carch@
-# - Vietnam
-# Domain name is ftp.indochinalinux.com but there are frequent DNS problems
-Server = ftp://202.78.230.5/archlinux/$repo/os/@carch@
+# Any
+#Server = ftp://mirrors.kernel.org/archlinux/$repo/os/$arch
+#Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
# Australia
-Server = ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/@carch@
-Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/@carch@
-Server = ftp://ftp.iinet.net.au/pub/archlinux/$repo/os/@carch@
-Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/@carch@
+#Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
+#Server = ftp://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.iinet.net.au/pub/archlinux/$repo/os/$arch
+#Server = ftp://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.internode.on.net/pub/archlinux/$repo/os/$arch
+#Server = ftp://ftp.netspace.net.au/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.netspace.net.au/pub/archlinux/$repo/os/$arch
+#Server = ftp://mirror.optus.net/archlinux/$repo/os/$arch
+#Server = http://mirror.optus.net/archlinux/$repo/os/$arch
+
+# Austria
+#Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/$arch
+#Server = http://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/$arch
+
+# Belgium
+#Server = ftp://ftp.belnet.be/packages/archlinux/$repo/os/$arch
+#Server = http://ftp.belnet.be/mirror/archlinux.org/$repo/os/$arch
+#Server = ftp://archlinux.mirror.kangaroot.net/pub/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirror.kangaroot.net/$repo/os/$arch
+
+# Brazil
+#Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/$arch
+#Server = http://archlinux.c3sl.ufpr.br/$repo/os/$arch
+#Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch
+#Server = http://www.las.ic.unicamp.br/pub/archlinux/$repo/os/$arch
+#Server = http://pet.inf.ufsc.br/mirrors/archlinux/$repo/os/$arch
+
+# Bulgaria
+#Server = http://archlinux.igor.onlinedirect.bg/$repo/os/$arch
+
+# Canada
+#Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
+#Server = http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
+#Server = ftp://mirror.its.dal.ca/archlinux/$repo/os/$arch
+#Server = http://mirror.its.dal.ca/archlinux/$repo/os/$arch
+#Server = http://mirror.twilightlair.net/arch/$repo/os/$arch
+
+# Chile
+#Server = ftp://mirror.archlinux.cl/$repo/os/$arch
+
+# China
+#Server = http://mirrors.163.com/archlinux/$repo/os/$arch
+#Server = http://mirror.bjtu.edu.cn/archlinux/$repo/os/$arch
+#Server = http://mirror6.bjtu.edu.cn/archlinux/$repo/os/$arch
+#Server = ftp://mirrors.sohu.com/archlinux/$repo/os/$arch
+#Server = http://mirrors.sohu.com/archlinux/$repo/os/$arch
+
+# Czech Republic
+#Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/$arch
+#Server = http://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/$arch
+
+# Denmark
+#Server = ftp://mirrors.dotsrc.org/archlinux/$repo/os/$arch
+#Server = http://mirrors.dotsrc.org/archlinux/$repo/os/$arch
+#Server = ftp://ftp.klid.dk/archlinux/$repo/os/$arch
+
+# Estonia
+#Server = ftp://ftp.eenet.ee/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.eenet.ee/pub/archlinux/$repo/os/$arch
+
+# Finland
+#Server = ftp://mirror.archlinux.fi/archlinux/$repo/os/$arch
+#Server = http://mirror.archlinux.fi/archlinux/$repo/os/$arch
+
+# France
+#Server = http://mir.archlinux.fr/$repo/os/$arch
+#Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/$arch
+#Server = http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://mir1.archlinux.fr/archlinux/$repo/os/$arch
+#Server = http://mir1.archlinux.fr/archlinux/$repo/os/$arch
+#Server = ftp://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch
+#Server = ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/$arch
+
+# Germany
+#Server = http://archlinux.limun.org/$repo/os/$arch
+#Server = ftp://artfiles.org/archlinux/$repo/os/$arch
+#Server = http://artfiles.org/archlinux/$repo/os/$arch
+#Server = http://archlinux.giantix-server.de/$repo/os/$arch
+#Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
+#Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
+#Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
+#Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
+#Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
+#Server = ftp://mirror.selfnet.de/archlinux/$repo/os/$arch
+#Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch
+#Server = ftp://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
+#Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
+#Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch
+
+# Great Britain
+#Server = ftp://mirror.lividpenguin.com/pub/archlinux/$repo/os/$arch
+#Server = http://mirror.lividpenguin.com/pub/archlinux/$repo/os/$arch
+#Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://mirrors.uk2.net/pub/archlinux/$repo/os/$arch
+#Server = http://archlinux.mirrors.uk2.net/$repo/os/$arch
+
+# Greece
+#Server = ftp://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.ntua.gr/pub/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.otenet.gr/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.otenet.gr/linux/archlinux/$repo/os/$arch
+
+# Hungary
+#Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
+
+# India
+#Server = ftp://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
+#Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
+
+# Indonesia
+#Server = ftp://archlinux.cbn.net.id/pub/archlinux/$repo/os/$arch
+#Server = http://archlinux.cbn.net.id/$repo/os/$arch
+#Server = ftp://mirror.unej.ac.id/archlinux/$repo/os/$arch
+#Server = http://mirror.unej.ac.id/archlinux/$repo/os/$arch
+
+# Ireland
+#Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = http://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/$arch
+
+# Israel
+#Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/$arch
+
+# Italy
+#Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/$arch
+#Server = http://mi.mirror.garr.it/mirrors/archlinux/$repo/os/$arch
+
+# Japan
+#Server = ftp://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
+#Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
+#Server = ftp://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/$arch
+
+# Kazakhstan
+#Server = ftp://archlinux.linuxforum.kz/$repo/os/$arch
+#Server = http://archlinux.linuxforum.kz/$repo/os/$arch
+
+# Latvia
+#Server = http://archlinux.goodsoft.lv/$repo/os/$arch
+
+# Lithuania
+#Server = ftp://atviras.lt/archmirror/$repo/os/$arch
+#Server = http://atviras.lt/archmirror/$repo/os/$arch
+
+# Netherlands
+#Server = ftp://mirror.leaseweb.com/archlinux/$repo/os/$arch
+#Server = http://mirror.leaseweb.com/archlinux/$repo/os/$arch
+#Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/$arch
+#Server = http://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/$arch
+#Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/$arch
+#Server = http://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/$arch
+
+# New Caledonia
+#Server = ftp://archlinux.nautile.nc/archlinux/$repo/os/$arch
+#Server = http://archlinux.nautile.nc/archlinux/$repo/os/$arch
+
+# New Zealand
+#Server = http://mirror.ihug.co.nz/archlinux/$repo/os/$arch
+#Server = http://mirror.ihug.co.nz/archlinux/$repo/os/$arch
+
+# Norway
+#Server = ftp://mirror.archlinux.no/$repo/os/$arch
+#Server = http://mirror.archlinux.no/$repo/os/$arch
+
+# Poland
+#Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = ftp://ftp.tpnet.pl/pub/linux/archlinux/$repo/os/$arch
+#Server = http://unix.net.pl/archlinux.org/$repo/os/$arch
+
+# Portugal
+#Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/$arch
+#Server = http://cesium.di.uminho.pt/pub/archlinux/$repo/os/$arch
+#Server = http://darkstar.ist.utl.pt/archlinux/$repo/os/$arch
+#Server = ftp://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/$arch
+#Server = http://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/$arch
+#Server = ftp://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/$arch
+
+# Romania
+#Server = ftp://mirror.archlinux.ro/archlinux/$repo/os/$arch
+#Server = http://mirror.archlinux.ro/archlinux/$repo/os/$arch
+#Server = ftp://ftp.roedu.net/mirrors/archlinux.org/$repo/os/$arch
+#Server = http://ftp.roedu.net/mirrors/archlinux.org/$repo/os/$arch
+
+# Russia
+#Server = http://archlinux.freeside.ru/$repo/os/$arch
+#Server = ftp://mirror.svk.su/archlinux/$repo/os/$arch
+#Server = http://mirror.svk.su/archlinux/$repo/os/$arch
+#Server = ftp://mirror.yandex.ru/archlinux/$repo/os/$arch
+#Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch
+
+# Spain
+#Server = ftp://ftp.rediris.es/mirror/archlinux/$repo/os/$arch
+#Server = http://sunsite.rediris.es/mirror/archlinux/$repo/os/$arch
+
+# Sweden
+#Server = ftp://ftp.df.lth.se/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.df.lth.se/pub/archlinux/$repo/os/$arch
+#Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/$arch
+#Server = http://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.gigabit.nu/$repo/os/$arch
+#Server = http://ftp.gigabit.nu/$repo/os/$arch
+#Server = ftp://ftp.port80.se/archlinux/$repo/os/$arch
+#Server = http://ftp.port80.se/archlinux/$repo/os/$arch
+
+# Switzerland
+#Server = ftp://archlinux.puzzle.ch/$repo/os/$arch
+#Server = http://archlinux.puzzle.ch/$repo/os/$arch
+
+# Taiwan
+#Server = ftp://ftp.mirror.tw/pub/ArchLinux/$repo/os/$arch
+#Server = http://www.mirror.tw/pub/ArchLinux/$repo/os/$arch
+#Server = ftp://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch
+#Server = http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/$arch
+
+# Turkey
+#Server = ftp://ftp.linux.org.tr/archlinux/$repo/os/$arch
+
+# Ukraine
+#Server = ftp://archlinux.hell.org.ua/archlinux/$repo/os/$arch
+#Server = http://archlinux.hell.org.ua/archlinux/$repo/os/$arch
+#Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/$arch
+#Server = http://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/$arch
+
+# United States
+#Server = http://mirror.ams.sunysb.edu/archlinux/$repo/os/$arch
+#Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/$arch
+#Server = http://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/$arch
+#Server = ftp://mirrors.easynews.com/linux/archlinux/$repo/os/$arch
+#Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/$arch
+#Server = ftp://ftp.archlinux.org/$repo/os/$arch
+#Server = ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://www.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = ftp://mirrors.hosef.org/archlinux/$repo/os/$arch
+#Server = http://mirrors.hosef.org/archlinux/$repo/os/$arch
+#Server = ftp://ibiblio.org/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://distro.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/$arch
+#Server = http://archlinux.linuxfreedom.com/$repo/os/$arch
+#Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/$arch
+#Server = ftp://lug.mtu.edu/archlinux/ftpfull/$repo/os/$arch
+#Server = http://lug.mtu.edu/archlinux/ftpfull/$repo/os/$arch
+#Server = ftp://mirrors.xmission.com/archlinux/$repo/os/$arch
+#Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch
+#Server = ftp://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
+#Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
+#Server = ftp://mirror.rit.edu/archlinux/$repo/os/$arch
+#Server = http://mirror.rit.edu/archlinux/$repo/os/$arch
+#Server = http://schlunix.org/archlinux/$repo/os/$arch
+#Server = http://archlinux.umflint.edu/$repo/os/$arch
+#Server = http://mirror.umoss.org/archlinux/$repo/os/$arch
+
+# Vietnam
+#Server = ftp://202.78.230.5/archlinux/$repo/os/$arch
+#Server = ftp://ftp.indochinalinux.com/archlinux/$repo/os/$arch
+#Server = ftp://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/$arch
+#Server = http://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/$arch
diff --git a/abs/core-testing/pacman/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch b/abs/core-testing/pacman/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
new file mode 100644
index 0000000..8baa35e
--- /dev/null
+++ b/abs/core-testing/pacman/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
@@ -0,0 +1,32 @@
+From dc817a2061699cd1f33ca93f0d93a1fbc2f33ea1 Mon Sep 17 00:00:00 2001
+From: Allan McRae <allan@archlinux.org>
+Date: Thu, 17 Jun 2010 14:32:08 +1000
+Subject: [PATCH] makepkg: fallback to sane defaults for library stripping
+
+If the library stripping variables are not defined in makepkg.conf,
+libraries will be fully stripped and become broken. Fallback to a
+sane default stripping level.
+
+Signed-off-by: Allan McRae <allan@archlinux.org>
+Signed-off-by: Dan McGee <dan@archlinux.org>
+---
+ scripts/makepkg.sh.in | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
+index d986701..e64b564 100644
+--- a/scripts/makepkg.sh.in
++++ b/scripts/makepkg.sh.in
+@@ -864,6 +864,9 @@ tidy_install() {
+
+ if [[ $(check_option strip) = y && -n ${STRIP_DIRS[*]} ]]; then
+ msg2 "$(gettext "Stripping unneeded symbols from binaries and libraries...")"
++ # make sure library stripping variables are defined to prevent excess stripping
++ [[ -z ${STRIP_SHARED+x} ]] && STRIP_SHARED="-S"
++ [[ -z ${STRIP_STATIC+x} ]] && STRIP_STATIC="-S"
+ local binary
+ find ${STRIP_DIRS[@]} -type f -perm -u+w 2>/dev/null | while read binary ; do
+ case "$(file -bi "$binary")" in
+--
+1.7.1
+
diff --git a/abs/core-testing/pacman/PKGBUILD b/abs/core-testing/pacman/PKGBUILD
index 239abb8..b18009b 100644
--- a/abs/core-testing/pacman/PKGBUILD
+++ b/abs/core-testing/pacman/PKGBUILD
@@ -1,32 +1,40 @@
-# $Id: PKGBUILD 58635 2009-11-11 00:00:52Z dan $
+# $Id: PKGBUILD 83376 2010-06-21 12:52:09Z dan $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=pacman
-pkgver=3.3.3
-pkgrel=10
+pkgver=3.4.0
+pkgrel=2
pkgdesc="A library-based package manager with dependency support"
arch=('i686' 'x86_64')
url="http://www.archlinux.org/pacman/"
license=('GPL')
groups=('base')
depends=('bash' 'libarchive>=2.7.1' 'libfetch>=2.25' 'pacman-mirrorlist')
-optdepends=('fakeroot: for makepkg usage as normal user'
- 'python: for rankmirrors script usage')
+optdepends=('fakeroot: for makepkg usage as normal user')
backup=(etc/pacman.conf etc/makepkg.conf)
install=pacman.install
options=(!libtool)
source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz
pacman.conf
- makepkg.conf)
-md5sums=('a8cef73d68e2a4c3a46fb46c33210719'
- 'abe70dabacee7036368c7afeb686eb10'
- '52c7bc651b107d73f9902755b7594458')
+ makepkg.conf
+ 0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch)
+md5sums=('50ad71be1faaad84842c576e239d1bb5'
+ '80f5bb2a606553512d0db857f78d9ac2'
+ 'aef317285c7d16ac495b0e53deeb948d'
+ 'f8c4a3cc7702a7a70d177659441495c5')
+sha256sums=('cd80e206ee653ce337555c73b7064088e672e9341245317fe09dc52d06bff3c3'
+ '97fb68536c1179a7de52dfb8a107c6e9bf3a71eaa6a98d6ae74dc224d4ca5838'
+ '3a60e1f895c90c8e74f5ca389fa05fb3328745e9873c5452b8cd1b2e68bee418'
+ '99f1d108f930b134cfb4c1ca8c86cd282fe9efb69de39cd747218f3d448dda44')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
build() {
cd $srcdir/$pkgname-$pkgver
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ patch -Np1 < $srcdir/0001-makepkg-fallback-to-sane-defaults-for-library-stripp.patch
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-doc
make || return 1
}
diff --git a/abs/core-testing/pacman/makepkg.conf b/abs/core-testing/pacman/makepkg.conf
index 12cfebd..ff08a0f 100644
--- a/abs/core-testing/pacman/makepkg.conf
+++ b/abs/core-testing/pacman/makepkg.conf
@@ -72,6 +72,12 @@ OPTIONS=(strip docs libtool emptydirs zipman purge)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
+#-- Options to be used when stripping binaries. See `man strip' for details.
+STRIP_BINARIES="--strip-all"
+#-- Options to be used when stripping shared libraries. See `man strip' for details.
+STRIP_SHARED="--strip-unneeded"
+#-- Options to be used when stripping static libraries. See `man strip' for details.
+STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
@@ -91,6 +97,8 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
+#-- Source packages: specify a fixed directory where all src packages will be placed
+#SRCPKGDEST=/home/srcpackages
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
@@ -101,7 +109,7 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
-PKGEXT='.pkg.tar.gz'
+PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:
diff --git a/abs/core-testing/pacman/pacman.conf b/abs/core-testing/pacman/pacman.conf
index de7e17d..911c23d 100644
--- a/abs/core-testing/pacman/pacman.conf
+++ b/abs/core-testing/pacman/pacman.conf
@@ -17,8 +17,9 @@ HoldPkg = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst = pacman
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
-#XferCommand = /usr/bin/curl %u > %o
+#XferCommand = /usr/bin/curl -C - %u > %o
#CleanMethod = KeepInstalled
+Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
@@ -41,6 +42,7 @@ SyncFirst = pacman
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
diff --git a/abs/core-testing/pacman/pacman.install b/abs/core-testing/pacman/pacman.install
index ed10f0d..294222e 100644
--- a/abs/core-testing/pacman/pacman.install
+++ b/abs/core-testing/pacman/pacman.install
@@ -3,13 +3,9 @@
# arg 2: the old package version
post_upgrade() {
# one time stuff for md5sum issue with older pacman versions
- if [ -f /usr/bin/vercmp ]
- then
- if [ "$(vercmp $2 3.0.2)" -lt 0 ]
- then
- _resetbackups
- fi
- fi
+ if [ "$(vercmp $2 3.0.2)" -lt 0 ]; then
+ _resetbackups
+ fi
}
_resetbackups() {
diff --git a/abs/core-testing/pango/PKGBUILD b/abs/core-testing/pango/PKGBUILD
index c67dec2..7711dfb 100644
--- a/abs/core-testing/pango/PKGBUILD
+++ b/abs/core-testing/pango/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 36027 2009-04-19 18:20:15Z jgc $
+# $Id: PKGBUILD 82790 2010-06-17 13:43:36Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=pango
-pkgver=1.24.1
+pkgver=1.28.1
pkgrel=1
pkgdesc="A library for layout and rendering of text"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('LGPL')
-depends=('glib2>=2.20.1' 'cairo>=1.8.6' 'libxft>=2.1.13' 'libthai>=0.1.11' 'freetype2>=2.3.9')
-makedepends=('pkgconfig' 'libxt')
+depends=('glib2>=2.24.1' 'cairo>=1.8.10' 'libxft>=2.1.14' 'libthai>=0.1.14' 'freetype2>=2.3.12')
+makedepends=('pkgconfig' 'libxt' 'gobject-introspection')
options=('!libtool' '!emptydirs')
install=pango.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.24/${pkgname}-${pkgver}.tar.bz2)
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.28/${pkgname}-${pkgver}.tar.bz2)
url="http://www.pango.org/"
-md5sums=('af0beac1dd1825e241c5728081f16acd')
+sha256sums=('8f3eaab506f613dd25bb1fa65ea87a145d523d066d90c227bdb3016523451bc2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var || return 1
+ --localstatedir=/var --with-included-modules=basic-fc || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
}
diff --git a/abs/core-testing/pango/pango.install b/abs/core-testing/pango/pango.install
index 9978739..73b0f5b 100644
--- a/abs/core-testing/pango/pango.install
+++ b/abs/core-testing/pango/pango.install
@@ -19,8 +19,3 @@ post_upgrade() {
pre_remove() {
rm etc/pango/pango.modules
}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core-testing/pcre/ChangeLog b/abs/core-testing/pcre/ChangeLog
index a1850cf..cdff568 100644
--- a/abs/core-testing/pcre/ChangeLog
+++ b/abs/core-testing/pcre/ChangeLog
@@ -1,3 +1,27 @@
+2010-03-24 Eric Belanger <eric@archlinux.org>
+
+ * pcre 8.02-1
+ * Upstream update
+
+2010-01-23 Eric Belanger <eric@archlinux.org>
+
+ * pcre 8.01-1
+ * Upstream update
+
+2009-10-26 Eric Belanger <eric@archlinux.org>
+
+ * pcre 8.00-1
+ * Upstream update
+
+2009-04-13 Eric Belanger <eric@archlinux.org>
+
+ * pcre 7.9-1
+ * Upstream update
+
+2008-10-19 Eric Belanger <eric@archlinux.org>
+
+ * Updated url
+
2008-09-05 Eric Belanger <eric@archlinux.org>
* pcre 7.8-1
diff --git a/abs/core-testing/pcre/PKGBUILD b/abs/core-testing/pcre/PKGBUILD
index b019bed..d31e23c 100644
--- a/abs/core-testing/pcre/PKGBUILD
+++ b/abs/core-testing/pcre/PKGBUILD
@@ -1,30 +1,36 @@
-# $Id: PKGBUILD 11888 2008-09-06 03:23:26Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
+# $Id: PKGBUILD 84661 2010-07-03 04:01:39Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=pcre
-pkgver=7.8
+pkgver=8.10
pkgrel=1
pkgdesc="A library that implements Perl 5-style regular expressions"
arch=('i686' 'x86_64')
-url="http://pcre.sourceforge.net"
+url="http://www.pcre.org/"
license=('BSD')
-groups=('base')
depends=('gcc-libs')
-options=('!libtool' '!makeflags')
+options=('!libtool')
source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('141132d6af14dccc7b08fa797e4fd441')
-sha1sums=('552909f9d18e1954eec639f926957a4cb2de1ec3')
+md5sums=('780867a700e9d4e4b9cb47aa5453e4b2')
+sha1sums=('8b345da0f835b2caabff071b0b5bab40564652be')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}"/${pkgname}-${pkgver}
[ "${CARCH}" = "x86_64" ] && export CFLAGS="${CFLAGS} -fPIC"
- ./configure --prefix=/usr --enable-utf8 --enable-unicode-properties || return 1
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
+ ./configure --prefix=/usr --enable-utf8 --enable-unicode-properties
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
# grep uses pcre, so we need the libs in /lib
- mkdir -p ${pkgdir}/lib
- mv ${pkgdir}/usr/lib/libpcre.so.* ${pkgdir}/lib/ || return 1
- ln -sf ../../lib/libpcre.so.0 ${pkgdir}/usr/lib/libpcre.so || return 1
- install -D -m644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
+ install -dm755 "${pkgdir}"/lib
+ mv "${pkgdir}"/usr/lib/libpcre.so.* "${pkgdir}"/lib/
+ ln -sf ../../lib/libpcre.so.0 "${pkgdir}"/usr/lib/libpcre.so
+
+ install -Dm644 LICENCE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core-testing/pixman/PKGBUILD b/abs/core-testing/pixman/PKGBUILD
index 306acd9..d15bf4b 100644
--- a/abs/core-testing/pixman/PKGBUILD
+++ b/abs/core-testing/pixman/PKGBUILD
@@ -1,21 +1,23 @@
-# $Id: PKGBUILD 12786 2008-09-20 08:34:14Z jgc $
+# $Id: PKGBUILD 80841 2010-05-22 14:31:00Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=pixman
-pkgver=0.12.0
+pkgver=0.18.2
pkgrel=1
pkgdesc="Pixman library"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org"
-license=()
+license=('custom')
depends=('glibc')
options=('!libtool')
source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('494af78c1c7d825c9ad6815d7b91f17d')
+sha1sums=('d66ab37ebc111e8031dd6d0ff1edf19b7adab5be')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/pkg-config/PKGBUILD b/abs/core-testing/pkg-config/PKGBUILD
new file mode 100644
index 0000000..9c671df
--- /dev/null
+++ b/abs/core-testing/pkg-config/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 85540 2010-07-15 04:44:14Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=pkg-config
+pkgver=0.25
+pkgrel=2
+pkgdesc="A system for managing library compile/link flags"
+arch=('i686' 'x86_64')
+url="http://pkgconfig.freedesktop.org/wiki/"
+license=('GPL')
+groups=('base-devel')
+depends=('glibc')
+provides=("pkgconfig=${pkgver}")
+conflicts=('pkgconfig')
+replaces=('pkgconfig')
+source=(http://pkgconfig.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
+ autoconf-2.66.patch)
+md5sums=('a3270bab3f4b69b7dc6dbdacbcae9745'
+ '0fbfc1a5088f792bbeec7b5090e449f1')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i $srcdir/autoconf-2.66.patch
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/abs/core-testing/pkg-config/autoconf-2.66.patch b/abs/core-testing/pkg-config/autoconf-2.66.patch
new file mode 100644
index 0000000..14cabdf
--- /dev/null
+++ b/abs/core-testing/pkg-config/autoconf-2.66.patch
@@ -0,0 +1,12 @@
+diff -Naur pkg-config-0.25-old//pkg.m4 pkg-config-0.25/pkg.m4
+--- pkg-config-0.25-old//pkg.m4 2009-12-07 06:39:02.000000000 +1000
++++ pkg-config-0.25/pkg.m4 2010-07-15 14:44:37.466942978 +1000
+@@ -135,7 +135,7 @@
+ Consider adjusting the PKG_CONFIG_PATH environment variable if you
+ installed software in a non-standard prefix.
+
+-_PKG_TEXT])dnl
++_PKG_TEXT])[]dnl
+ ])
+ elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
diff --git a/abs/core-testing/pkgconfig/PKGBUILD b/abs/core-testing/pkgconfig/PKGBUILD
deleted file mode 100644
index 2cecd38..0000000
--- a/abs/core-testing/pkgconfig/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 1407 2008-05-07 22:55:37Z andyrtr $
-# Maintainer: dorphell <dorphell@archlinux.org>
-# Committer: Judd Vinet <jvinet@zeroflux.org>
-
-pkgname=pkgconfig
-pkgver=0.23
-pkgrel=1
-pkgdesc="A system for managing library compile/link flags"
-arch=(i686 x86_64)
-url="http://pkgconfig.freedesktop.org/wiki/"
-license=('GPL')
-groups=('base-devel')
-depends=(glibc)
-source=(http://pkgconfig.freedesktop.org/releases/pkg-config-${pkgver}.tar.gz)
-md5sums=('d922a88782b64441d06547632fd85744')
-
-build() {
- cd ${startdir}/src/pkg-config-${pkgver}
- ./configure --prefix=/usr
- make || return 1
- make DESTDIR=${startdir}/pkg install
-}
diff --git a/abs/core-testing/pm-utils/PKGBUILD b/abs/core-testing/pm-utils/PKGBUILD
index 0ca060c..0d87a34 100644
--- a/abs/core-testing/pm-utils/PKGBUILD
+++ b/abs/core-testing/pm-utils/PKGBUILD
@@ -1,29 +1,31 @@
-#$Id: PKGBUILD 7546 2008-08-02 21:35:07Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83839 2010-06-23 08:36:02Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
pkgname=pm-utils
-pkgver=1.1.2.4
+pkgver=1.4.0
pkgrel=1
-pkgdesc="Utilities and scripts for power management"
+pkgdesc="Utilities and scripts for suspend and hibernate power management"
arch=('i686' 'x86_64')
url="http://pm-utils.freedesktop.org"
license=('GPL')
-depends=('glibc' 'vbetool' 'procps')
-makedepends=('xmlto')
-install=pm-utils.install
+depends=('bash' 'procps' 'vbetool' 'pm-quirks')
+optdepends=('upower')
+makedepends=('xmlto' 'docbook-xml' 'docbook-xsl')
source=(http://pm-utils.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
- service.patch
- 11netcfg)
-md5sums=('5aa6d338fb8172f1826a1b08ae601a42'
- '3e170a6c7ae7d9110f95bab54235c089'
+ 11netcfg)
+md5sums=('132005cf1d33e33802eb78121a6ceb22'
'9839687c8787d99fd4ff36aa3238c27b')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- patch -Np0 -i ${startdir}/src/service.patch || return 1
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+ make DESTDIR="${pkgdir}" install
- #Install additional hooks
- install -m755 ${startdir}/src/11netcfg ${startdir}/pkg/usr/lib/pm-utils/sleep.d/11netcfg || return 1
+ # install additional hooks
+ install -m755 "${srcdir}/11netcfg" "${pkgdir}/usr/lib/pm-utils/sleep.d/"
}
diff --git a/abs/core-testing/ppl/PKGBUILD b/abs/core-testing/ppl/PKGBUILD
new file mode 100644
index 0000000..e432e18
--- /dev/null
+++ b/abs/core-testing/ppl/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 72640 2010-03-19 03:03:03Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: ezzetabi <ezzetabi at gawab dot com>
+
+pkgname=ppl
+pkgver=0.10.2
+pkgrel=3
+pkgdesc="A modern library for convex polyhedra and other numerical abstractions."
+arch=('i686' 'x86_64')
+url="http://www.cs.unipr.it/ppl"
+license=('GPL3')
+depends=('gmp>=5.0')
+options=('!docs' '!libtool')
+source=(http://www.cs.unipr.it/ppl/Download/ftp/releases/$pkgver/ppl-$pkgver.tar.gz
+ ppl-0.10.2-gmp-5.0.patch)
+md5sums=('e7dd265afdeaea81f7e87a72b182d875'
+ '4da347693c76ccccba4fb5b60ca0f321')
+
+build() {
+ cd $srcdir/ppl-$pkgver
+ patch -Np1 -i $srcdir/ppl-0.10.2-gmp-5.0.patch
+ autoreconf -vf
+
+ ./configure --prefix=/usr --enable-interfaces="c,cxx" || return 1
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+}
diff --git a/abs/core-testing/ppl/ppl-0.10.2-gmp-5.0.patch b/abs/core-testing/ppl/ppl-0.10.2-gmp-5.0.patch
new file mode 100644
index 0000000..4d6964a
--- /dev/null
+++ b/abs/core-testing/ppl/ppl-0.10.2-gmp-5.0.patch
@@ -0,0 +1,30 @@
+diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
+index 60cecdc..15acb18 100644
+--- a/m4/ac_check_gmp.m4
++++ b/m4/ac_check_gmp.m4
+@@ -71,6 +71,10 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #GMP version 4.1.3 or higher is required
+ #endif
+
++#ifndef BITS_PER_MP_LIMB
++#define BITS_PER_MP_LIMB GMP_LIMB_BITS
++#endif
++
+ int
+ main() {
+ std::string header_version;
+@@ -97,11 +101,11 @@ main() {
+ return 1;
+ }
+
+- if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
+- || GMP_LIMB_BITS != mp_bits_per_limb) {
++ if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
++ || BITS_PER_MP_LIMB != mp_bits_per_limb) {
+ std::cerr
+ << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
+- << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
++ << "header gives " << BITS_PER_MP_LIMB << ";\n"
+ << "library gives " << mp_bits_per_limb << ".\n"
+ << "This probably means you are on a bi-arch system and\n"
+ << "you are compiling with the wrong header or linking with\n"
diff --git a/abs/core-testing/procinfo-ng/PKGBUILD b/abs/core-testing/procinfo-ng/PKGBUILD
new file mode 100644
index 0000000..abe31c2
--- /dev/null
+++ b/abs/core-testing/procinfo-ng/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 77945 2010-04-19 06:20:55Z allan $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+
+pkgname=procinfo-ng
+pkgver=2.0.304
+pkgrel=1
+pkgdesc="Displays useful information from /proc"
+arch=('i686' 'x86_64')
+url="http://procinfo-ng.sourceforge.net/"
+license=('GPL2' 'LGPL2.1')
+depends=('ncurses' 'perl')
+provides=('procinfo')
+conflicts=('procinfo')
+replaces=('procinfo')
+source=(http://downloads.sourceforge.net/project/procinfo-ng/procinfo-ng/2.0.304/$pkgname-$pkgver.tar.bz2
+ ftp://ftp.cistron.nl/pub/people/00-OLD/svm/procinfo-18.tar.gz)
+md5sums=('ed018fe37becc36ceb1ebe3ed909c4d2'
+ '27658d0a69040aca05a65b9888599d50')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+
+ # install tools from old procinfo package
+ cd $srcdir/procinfo-18
+ install -m755 lsdev.pl $pkgdir/usr/bin/lsdev
+ install -m755 socklist.pl $pkgdir/usr/bin/socklist
+ install -m644 lsdev.8 $pkgdir/usr/share/man/man8/lsdev.8
+ install -m644 socklist.8 $pkgdir/usr/share/man/man8/socklist.8
+}
+
diff --git a/abs/core-testing/procinfo/PKGBUILD b/abs/core-testing/procinfo/PKGBUILD
deleted file mode 100644
index ccff37e..0000000
--- a/abs/core-testing/procinfo/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: judd <jvinet@zeroflux.org>
-pkgname=procinfo
-pkgver=19
-pkgrel=11
-pkgdesc="Displays useful information from /proc"
-arch=(i686 x86_64)
-license=('GPL')
-groups=('base')
-depends=('glibc' 'ncurses' 'perl')
-source=(ftp://ftp.cistron.nl/pub/people/00-OLD/svm/$pkgname-18.tar.gz
- procinfo-19.2.patch)
-md5sums=('27658d0a69040aca05a65b9888599d50'
- '6520e2f7d7884069d3ee41251d36a86c')
-
-build() {
- cd $startdir/src/$pkgname-18
- patch -Np1 -i ../procinfo-19.2.patch || return 1
- make LDLIBS=-lncurses || return 1
- make prefix=$startdir/pkg/usr install
-}
-
diff --git a/abs/core-testing/procinfo/procinfo-19.2.patch b/abs/core-testing/procinfo/procinfo-19.2.patch
deleted file mode 100644
index 1fb622a..0000000
--- a/abs/core-testing/procinfo/procinfo-19.2.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-diff -ruN procinfo-18/procinfo.c procinfo-19/procinfo.c
---- procinfo-18/procinfo.c 2001-02-25 12:29:16.000000000 +0100
-+++ procinfo-19/procinfo.c 2005-07-02 17:37:31.000000000 +0200
-@@ -5,9 +5,10 @@
- Displays general info from /proc.
-
- Date: 1995-07-08 05:30:34
-- Last Change: 2001-02-25 00:27:21
-+ Last Change: 2005-07-02 17:25:53
-
- Copyright (c) 1994-2001 svm@kozmix.cistron.nl
-+ Copyright (c) 2004-2005 procinfo@meisel.cc (upgrades for 2.6 kernel)
-
- This software is released under the GNU Public Licence. See the file
- `COPYING' for details. Since you're probably running Linux I'm sure
-@@ -26,6 +27,7 @@
- #include <string.h>
- #include <termios.h>
- #include <termcap.h>
-+#include <ctype.h>
- #include <time.h>
- #include <unistd.h>
- #include <sys/param.h> /* for HZ -- should be in <time.h> ? */
-@@ -72,9 +74,9 @@
- int nr_irqs = 0;
- int nr_cpus = 0;
-
--FILE *loadavgfp, *meminfofp, *modulesfp, *statfp, *uptimefp,
-+FILE *loadavgfp, *meminfofp, *modulesfp, *statfp, *uptimefp, *diskstatsfp,
- *devicesfp, *filesystemsfp, *interruptsfp, *dmafp, *cmdlinefp,
-- *versionfp, *cpuinfofp;
-+ *versionfp, *cpuinfofp, *vmstatfp;
-
- char line[1024], cmdline[1024], booted[40], *version = NULL, *message = NULL;
-
-@@ -89,9 +91,13 @@
- {
- unsigned long elapsed;
- char loadavg[32];
-- int i;
-+ int i, havetwosix = 0, lastdisk;
- static int have_m_c = -1; /* Do we have cache info? */
- static int have_m_l = -1; /* Do we have new-style-one-datum-per-line? */
-+ char devicename[10];
-+ char *last;
-+ unsigned int q,w,a,s,d,f,g,h,j,k,l,y,x;
-+ int disk_counter = 0, ret;
-
-
- /**** /proc/uptime ****/
-@@ -237,6 +243,50 @@
-
- printf ("Bootup: %s Load average: %s\n\n", booted, loadavg);
-
-+/**** /proc/vmstat ... 2.6.x kernel only ****/
-+ if (vmstatfp) {
-+ havetwosix = 1;
-+ fseek (vmstatfp, 0L, SEEK_SET);
-+ while (fgets (line, sizeof (line), vmstatfp)) {
-+ char *type = strtok (line, " ");
-+ if (ISSTR ("pgpgin")) {
-+ new.pgin = VAL;
-+ } else if (ISSTR ("pgpgout")) {
-+ new.pgout = VAL;
-+ } else if (ISSTR ("pgactivate")) {
-+ new.pgac = VAL;
-+ } else if (ISSTR ("pgdeactivate")) {
-+ new.pgdeac = VAL;
-+ } else if (ISSTR ("pgfault")) {
-+ new.pgfault = VAL;
-+ } else if (ISSTR ("pswpin")) {
-+ new.swin = VAL;
-+ } else if (ISSTR ("pswpout")) {
-+ new.swout = VAL;
-+ }
-+ }
-+ }
-+
-+/**** /proc/diskstats ... 2.6.x kernel only ****/
-+ if (diskstatsfp) {
-+ havetwosix = 1;
-+ fseek (diskstatsfp, 0L, SEEK_SET);
-+ while (fgets (line, sizeof (line), diskstatsfp)) {
-+ char *type = strtok (line, "\n");
-+ ret = sscanf (type, "%d%d%s%d%d%d%d%d%d%d%d%d%d%d", &q, &w, devicename, &a, &s, &d, &f, &g, &h, &j, &k, &l, &y, &x);
-+ if (ret != 14) /* Everything with less than 14 elements is not a disk device */
-+ continue;
-+ last = devicename+strlen(devicename)-1;
-+ if (isalpha(*last)) {/* Is the last char is a number ignore it .. like fd0 */
-+ if (++disk_counter > 7) /* 7 disks is all we have room for */
-+ continue;
-+ else {
-+ new.disk_r[disk_counter-1] = a;
-+ new.disk_w[disk_counter-1] = g;
-+ }
-+ }
-+ }
-+ }
-
- /**** /proc/stat ****/
-
-@@ -249,6 +299,9 @@
- new.cpu_nice = VAL;
- new.cpu_sys = VAL;
- new.cpu_idle = VAL;
-+ new.cpu_iowait = VAL;
-+ new.cpu_hirq = VAL;
-+ new.cpu_sirq = VAL;
- /*
- * according to bug #1959, sometimes the cpu_idle
- * seems to go backwards(!) on SMP boxes. This may
-@@ -262,34 +315,54 @@
- new.disk[1] = VAL;
- new.disk[2] = VAL;
- new.disk[3] = VAL;
-+ new.disk[4] = VAL;
-+ new.disk[5] = VAL;
-+ new.disk[6] = VAL;
- } else if (ISSTR ("disk_rio") && io_or_blk == 0) {
- new.disk_r[0] = VAL;
- new.disk_r[1] = VAL;
- new.disk_r[2] = VAL;
- new.disk_r[3] = VAL;
-+ new.disk_r[4] = VAL;
-+ new.disk_r[5] = VAL;
-+ new.disk_r[6] = VAL;
-+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
-+ new.disk_w[0] = VAL;
-+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
-+ new.disk_w[0] = VAL;
-+ } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
-+ new.disk_w[0] = VAL;
- } else if (ISSTR ("disk_wio") && io_or_blk == 0) {
- new.disk_w[0] = VAL;
- new.disk_w[1] = VAL;
- new.disk_w[2] = VAL;
- new.disk_w[3] = VAL;
-+ new.disk_w[4] = VAL;
-+ new.disk_w[5] = VAL;
-+ new.disk_w[6] = VAL;
- } else if (ISSTR ("disk_rblk") && io_or_blk == 1) {
- new.disk_r[0] = VAL;
- new.disk_r[1] = VAL;
- new.disk_r[2] = VAL;
- new.disk_r[3] = VAL;
-+ new.disk_r[4] = VAL;
-+ new.disk_r[5] = VAL;
-+ new.disk_r[6] = VAL;
- } else if (ISSTR ("disk_wblk") && io_or_blk == 1) {
- new.disk_w[0] = VAL;
- new.disk_w[1] = VAL;
- new.disk_w[2] = VAL;
- new.disk_w[3] = VAL;
-+ new.disk_w[4] = VAL;
-+ new.disk_w[5] = VAL;
-+ new.disk_w[6] = VAL;
- } else if (ISSTR ("disk_io:")) {
-- int disk_counter = 0, ret;
- unsigned int q, w, e, r, t, y, u; /* I'm NOT in the mood today. */
- char *barf;
-
- while ((barf = strtok (NULL, " "))) {
-
-- if (++disk_counter > 4) /* 4 is all we have room for */
-+ if (++disk_counter > 7) /* 7 is all we have room for */
- continue;
-
- ret = sscanf (barf, "(%d,%d):(%d,%d,%d,%d,%d)",
-@@ -374,7 +447,10 @@
-
- printf ("system: %s %s",
- hms (bDIFF (cpu_sys)), perc (bDIFF (cpu_sys), elapsed, nr_cpus));
-- printf (" swap in :%9lu", bDIFF (swin));
-+ if (havetwosix)
-+ printf (" page act:%9lu", bDIFF (pgac));
-+ else
-+ printf (" swap in :%9lu", bDIFF (swin));
- if (new.disk_r[2])
- printf (" disk 3: %8lur%8luw\n", bDIFF (disk_r[2]),
- bDIFF (disk_w[2]));
-@@ -383,14 +459,53 @@
- else
- putchar ('\n');
-
-+ if (havetwosix) {
-+ printf ("IOwait: %s %s",
-+ hms (bDIFF (cpu_iowait)), perc (bDIFF (cpu_iowait), elapsed, nr_cpus));
-+ printf (" page dea:%9lu", bDIFF (pgdeac));
-+ if (new.disk_r[3])
-+ printf (" disk 4: %8lur%8luw\n", bDIFF (disk_r[3]),
-+ bDIFF (disk_w[3]));
-+ else if (new.disk[3])
-+ printf (" disk 4: %8lu\n", bDIFF (disk[3]));
-+ else
-+ putchar ('\n');
-+
-+ printf ("hw irq: %s %s",
-+ hms (bDIFF (cpu_hirq)), perc (bDIFF (cpu_hirq), elapsed, nr_cpus));
-+ printf (" page flt:%9lu", bDIFF (pgfault));
-+ if (new.disk_r[4])
-+ printf (" disk 5: %8lur%8luw\n", bDIFF (disk_r[4]),
-+ bDIFF (disk_w[4]));
-+ else if (new.disk[4])
-+ printf (" disk 5: %8lu\n", bDIFF (disk[4]));
-+ else
-+ putchar ('\n');
-+
-+ printf ("sw irq: %s %s",
-+ hms (bDIFF (cpu_sirq)), perc (bDIFF (cpu_sirq), elapsed, nr_cpus));
-+ printf (" swap in :%9lu", bDIFF (swin));
-+ if (new.disk_r[5])
-+ printf (" disk 6: %8lur%8luw\n", bDIFF (disk_r[5]),
-+ bDIFF (disk_w[5]));
-+ else if (new.disk[5])
-+ printf (" disk 6: %8lu\n", bDIFF (disk[5]));
-+ else
-+ putchar ('\n');
-+ }
-+
- printf ("idle : %s %s",
- hms (bDIFF (cpu_idle)), perc (bDIFF (cpu_idle), elapsed, nr_cpus));
- printf (" swap out:%9lu", bDIFF (swout));
-- if (new.disk_r[3])
-- printf (" disk 4: %8lur%8luw\n", bDIFF (disk_r[3]),
-- bDIFF (disk_w[3]));
-- else if (new.disk[3])
-- printf (" disk 4: %8lu\n", bDIFF (disk[3]));
-+ if (havetwosix)
-+ lastdisk = 5;
-+ else
-+ lastdisk = 2;
-+ if (new.disk_r[lastdisk])
-+ printf (" disk %d: %8lur%8luw\n", lastdisk+1, bDIFF (disk_r[lastdisk]),
-+ bDIFF (disk_w[lastdisk]));
-+ else if (new.disk[lastdisk])
-+ printf (" disk %d: %8lu\n", lastdisk+1, bDIFF (disk[lastdisk]));
- else
- putchar ('\n');
-
-@@ -786,6 +901,8 @@
- meminfofp = myfopen (PROC_DIR "meminfo");
- statfp = myfopen (PROC_DIR "stat");
- /* These may be missing, so check for NULL later. */
-+ diskstatsfp = fopen (PROC_DIR "diskstats", "r");
-+ vmstatfp = fopen (PROC_DIR "vmstat", "r");
- modulesfp = fopen (PROC_DIR "modules", "r");
- devicesfp = fopen (PROC_DIR "devices", "r");
- filesystemsfp = fopen (PROC_DIR "filesystems", "r");
-@@ -990,6 +1107,9 @@
- new.disk_r[1] = new.disk_w[1] =
- new.disk_r[2] = new.disk_w[2] =
- new.disk_r[3] = new.disk_w[3] = 0;
-+ new.disk_r[4] = new.disk_w[4] = 0;
-+ new.disk_r[5] = new.disk_w[5] = 0;
-+ new.disk_r[6] = new.disk_w[6] = 0;
- redrawn = 1;
- message = io_or_blk ? "showing I/O in blocks" :
- "showing I/O per requests";
-diff -ruN procinfo-18/procinfo.h procinfo-19/procinfo.h
---- procinfo-18/procinfo.h 2001-02-25 00:30:45.000000000 +0100
-+++ procinfo-19/procinfo.h 2005-07-02 17:37:54.000000000 +0200
-@@ -3,9 +3,10 @@
- procinfo.h
-
- Date: 1995-04-15 23:54:06
-- Last Change: 2001-02-24 23:43:08
-+ Last Change: 2005-07-02 17:37:32
-
- Copyright (C) 1995-2001 Sander van Malssen <svm@kozmix.cistron.nl>
-+ Copyright (c) 2004-2005 procinfo@meisel.cc (upgrades for 2.6 kernel)
-
- This software is released under the GNU Public Licence. See the file
- `COPYING' for details. Since you're probably running Linux I'm sure
-@@ -47,7 +48,7 @@
- new.x)
-
- #define bDIFF(x) (show_diff ? \
-- (unsigned long) (((new.x)-(old.x))/rate) : \
-+ (unsigned long) ((((new.x)-(old.x))/rate)*10) : \
- (show_from_baseline ? \
- new.x - base.x : new.x))
-
-@@ -81,11 +82,11 @@
- unsigned long uptime;
- long m_to, m_us, m_fr, m_sh, m_bu, m_ca;
- long s_to, s_us, s_fr;
-- unsigned long cpu_user, cpu_nice, cpu_sys, cpu_idle;
-- unsigned long disk[5];
-- unsigned long disk_r[5];
-- unsigned long disk_w[5];
-- unsigned long pgin, pgout, swin, swout;
-+ unsigned long cpu_user, cpu_nice, cpu_sys, cpu_idle, cpu_iowait, cpu_hirq, cpu_sirq;
-+ unsigned long disk[8];
-+ unsigned long disk_r[8];
-+ unsigned long disk_w[8];
-+ unsigned long pgin, pgout, pgac, pgdeac, pgfault, swin, swout;
- unsigned long *intr; /* Phew. That's better. */
- unsigned long old_intr;
- unsigned long ctxt;
-diff -ruN procinfo-18/routines.c procinfo-19/routines.c
---- procinfo-18/routines.c 2001-02-25 00:30:45.000000000 +0100
-+++ procinfo-19/routines.c 2005-07-02 17:18:36.000000000 +0200
-@@ -388,9 +388,13 @@
- hms (unsigned long t)
- {
- unsigned int d, h, m, s;
-+ unsigned long q;
- static char buf[22];
-
-- t = t * 100 / HZ;
-+ q = 100 / HZ; /* We need this because the libc does something funny here */
-+ /* if we try to use: t = t * 100 / HZ; here! */
-+ /* procinfo@meisel.cc 11. Feb. 2004 */
-+ t = t * q;
- d = (int) (t / 8640000);
- t = t - (long) (d * 8640000);
- h = (int) (t / 360000);
-@@ -424,6 +428,7 @@
- /* if (v > 1000)
- return "+++.+%";
- else */
-+ //sprintf (buf, "%3u.%u%%", v, v % 10);
- sprintf (buf, "%3u.%u%%", v / 10, v % 10);
- return buf;
- }
diff --git a/abs/core-testing/python/PKGBUILD b/abs/core-testing/python/PKGBUILD
index 16ebac5..6de8863 100644
--- a/abs/core-testing/python/PKGBUILD
+++ b/abs/core-testing/python/PKGBUILD
@@ -1,42 +1,41 @@
-# $Id: PKGBUILD 20912 2008-12-07 08:52:24Z allan $
+# $Id: PKGBUILD 75257 2010-04-01 05:30:58Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributer: Jason Chu <jason@archlinux.org>
pkgname=python
-pkgver=2.6.1
-pkgrel=1
+pkgver=2.6.5
+pkgrel=3
_pybasever=2.6
pkgdesc="A high-level scripting language"
arch=('i686' 'x86_64')
-license=('custom')
+license=('PSF')
url="http://www.python.org"
-depends=('db' 'bzip2' 'gdbm' 'openssl>=0.9.8d' 'zlib')
-makedepends=('tk>=8.5.0' 'sqlite3')
+depends=('db>=4.8' 'bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3')
+makedepends=('tk>=8.5.0')
optdepends=('tk: for IDLE, pynche and modulator')
-provides=('python-elementtree' 'python-ctypes')
+provides=('python2' 'python-elementtree' 'python-ctypes')
replaces=('python-elementtree' 'python-ctypes')
source=(http://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.bz2
python-2.6-internal-expat.patch
- python-2.6-gdbm.patch
+ python-2.6-db-4.8.patch
modulator-launcher
pynche-launcher)
-md5sums=('e81c2f0953aa60f8062c05a4673f2be0'
+md5sums=('6bef0417e71a1a1737ccf5750420fdb3'
'993800dbcc0c4f199c1ceee998a06e71'
- '13fab4bb2cacbc433e62d7191a17f71e'
+ '10eb5449ead95b9cb13eae9f9a65894e'
'b4a531570415280dc406c8d5c1fa8d83'
'9f731b9033db285132a3524fb36409e7')
-
build() {
cd ${srcdir}/Python-${pkgver}
patch -Np0 -i ${srcdir}/python-2.6-internal-expat.patch
- patch -Np1 -i ${srcdir}/python-2.6-gdbm.patch
+ #http://bugs.python.org/issue6949
+ patch -Np0 -i ${srcdir}/python-2.6-db-4.8.patch
+
+ export OPT="${CFLAGS}"
./configure --prefix=/usr --enable-shared --with-threads --enable-unicode
-
- # temporary backwards compatibility stuff...
- sed -i 's#SITEPATH=#SITEPATH=:/usr/lib/python2.5/site-packages#' Makefile
make || return 1
make DESTDIR=${pkgdir} install
@@ -45,6 +44,9 @@ build() {
ln -sf python${_pybasever} ${pkgdir}/usr/bin/python
ln -sf python${_pybasever} ${pkgdir}/usr/bin/python2
+ ln -sf ../../libpython${_pybasever}.so \
+ ${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so
+
# Install the tools
#modulator
sed -i "s#%%PYBASEVER%%#${_pybasever}#" ${srcdir}/modulator-launcher
@@ -62,8 +64,8 @@ build() {
install -m755 Tools/i18n/msgfmt.py ${pkgdir}/usr/bin/
mkdir -p ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts
- install Tools/scripts/README ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
- install Tools/scripts/*py ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
+ install -m644 Tools/scripts/README ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
+ install -m755 Tools/scripts/*py ${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/
# license
install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
diff --git a/abs/core-testing/python/python-2.6-db-4.8.patch b/abs/core-testing/python/python-2.6-db-4.8.patch
new file mode 100644
index 0000000..2032f92
--- /dev/null
+++ b/abs/core-testing/python/python-2.6-db-4.8.patch
@@ -0,0 +1,123 @@
+Index: setup.py
+===================================================================
+--- setup.py (revision 74955)
++++ setup.py (working copy)
+@@ -695,7 +695,7 @@
+ # a release. Most open source OSes come with one or more
+ # versions of BerkeleyDB already installed.
+
+- max_db_ver = (4, 7)
++ max_db_ver = (4, 8)
+ min_db_ver = (3, 3)
+ db_setup_debug = False # verbose debug prints from this script?
+
+Index: Modules/_bsddb.c
+===================================================================
+--- Modules/_bsddb.c (revision 74955)
++++ Modules/_bsddb.c (working copy)
+@@ -215,7 +215,11 @@
+ #define DB_BUFFER_SMALL ENOMEM
+ #endif
+
++#if (DBVER < 48)
++#define DB_GID_SIZE DB_XIDDATASIZE
++#endif
+
++
+ /* --------------------------------------------------------------------- */
+ /* Structure definitions */
+
+@@ -4501,7 +4505,11 @@
+ DBTxnObject *txn;
+ #define PREPLIST_LEN 16
+ DB_PREPLIST preplist[PREPLIST_LEN];
++#if (DBVER < 48)
+ long retp;
++#else
++ u_int32_t retp;
++#endif
+
+ CHECK_ENV_NOT_CLOSED(self);
+
+@@ -4522,7 +4530,7 @@
+ flags=DB_NEXT; /* Prepare for next loop pass */
+ for (i=0; i<retp; i++) {
+ gid=PyBytes_FromStringAndSize((char *)(preplist[i].gid),
+- DB_XIDDATASIZE);
++ DB_GID_SIZE);
+ if (!gid) {
+ Py_DECREF(list);
+ return NULL;
+@@ -5047,6 +5055,7 @@
+ }
+
+
++#if (DBVER < 48)
+ static PyObject*
+ DBEnv_set_rpc_server(DBEnvObject* self, PyObject* args, PyObject* kwargs)
+ {
+@@ -5068,6 +5077,7 @@
+ RETURN_IF_ERR();
+ RETURN_NONE();
+ }
++#endif
+
+ static PyObject*
+ DBEnv_set_verbose(DBEnvObject* self, PyObject* args)
+@@ -5947,9 +5957,9 @@
+ if (!PyArg_ParseTuple(args, "s#:prepare", &gid, &gid_size))
+ return NULL;
+
+- if (gid_size != DB_XIDDATASIZE) {
++ if (gid_size != DB_GID_SIZE) {
+ PyErr_SetString(PyExc_TypeError,
+- "gid must be DB_XIDDATASIZE bytes long");
++ "gid must be DB_GID_SIZE bytes long");
+ return NULL;
+ }
+
+@@ -6539,8 +6549,10 @@
+ #endif
+ {"set_get_returns_none",(PyCFunction)DBEnv_set_get_returns_none, METH_VARARGS},
+ {"txn_recover", (PyCFunction)DBEnv_txn_recover, METH_NOARGS},
++#if (DBVER < 48)
+ {"set_rpc_server", (PyCFunction)DBEnv_set_rpc_server,
+ METH_VARARGS||METH_KEYWORDS},
++#endif
+ {"set_verbose", (PyCFunction)DBEnv_set_verbose, METH_VARARGS},
+ #if (DBVER >= 42)
+ {"get_verbose", (PyCFunction)DBEnv_get_verbose, METH_VARARGS},
+@@ -7089,6 +7101,7 @@
+ ADD_INT(d, DB_MAX_PAGES);
+ ADD_INT(d, DB_MAX_RECORDS);
+
++#if (DBVER < 48)
+ #if (DBVER >= 42)
+ ADD_INT(d, DB_RPCCLIENT);
+ #else
+@@ -7096,7 +7109,11 @@
+ /* allow apps to be written using DB_RPCCLIENT on older Berkeley DB */
+ _addIntToDict(d, "DB_RPCCLIENT", DB_CLIENT);
+ #endif
++#endif
++
++#if (DBVER < 48)
+ ADD_INT(d, DB_XA_CREATE);
++#endif
+
+ ADD_INT(d, DB_CREATE);
+ ADD_INT(d, DB_NOMMAP);
+@@ -7113,7 +7130,13 @@
+ ADD_INT(d, DB_INIT_TXN);
+ ADD_INT(d, DB_JOINENV);
+
++#if (DBVER >= 48)
++ ADD_INT(d, DB_GID_SIZE);
++#else
+ ADD_INT(d, DB_XIDDATASIZE);
++ /* Allow new code to work in old BDB releases */
++ _addIntToDict(d, "DB_GID_SIZE", DB_XIDDATASIZE);
++#endif
+
+ ADD_INT(d, DB_RECOVER);
+ ADD_INT(d, DB_RECOVER_FATAL);
diff --git a/abs/core-testing/qt/PKGBUILD b/abs/core-testing/qt/PKGBUILD
index e315180..75e4737 100755..100644
--- a/abs/core-testing/qt/PKGBUILD
+++ b/abs/core-testing/qt/PKGBUILD
@@ -1,43 +1,23 @@
-# $Id$
+# $Id: PKGBUILD 82062 2010-06-08 11:58:32Z pierre $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=qt
-pkgver=4.5.2
-pkgrel=5
-_kdeqtver=2d1727e396d5dca24ae0fb6a45d35ffc1abd0c12
+pkgver=4.6.3
+pkgrel=2
pkgdesc='A cross-platform application and UI framework'
arch=('i686' 'x86_64')
-url='http://www.qt.nokia.com/'
+url='http://qt.nokia.com/'
license=('GPL3' 'LGPL')
-depends=('libpng' 'mesa' 'fontconfig' 'libtiff>=3.8.2-5' 'libmng>=1.0.10-2' 'sqlite3'
- 'libxrandr' 'glib2' 'libxi' 'dbus' 'libxcursor' 'libxinerama' 'libxrender')
+depends=('libpng' 'fontconfig' 'libtiff' 'libmng' 'sqlite3' 'xdg-utils' 'ca-certificates'
+ 'hicolor-icon-theme' 'alsa-lib' 'glib2' 'dbus' 'libxrender' 'libgl' 'libsm')
optdepends=('postgresql-libs' 'libmysqlclient' 'unixodbc')
-makedepends=('inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2')
-provides=("qt4=${pkgver}")
-replaces=('qt4')
-conflicts=('qt4')
+makedepends=('mesa' 'inputproto' 'postgresql-libs' 'mysql' 'unixodbc' 'libxfixes' 'gtk2')
+install=qt.install
options=('!libtool')
-_pkgfqn="qt-x11-opensource-src-${pkgver}"
-source=("http://get.qt.nokia.com/qt/source/${_pkgfqn}.tar.bz2"
- "ftp://ftp.archlinux.org/other/kde-qt/kde-qt-patches-${_kdeqtver}.tar.bz2"
+_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
+source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qtconfig.desktop'
- 'qdoc3.patch' 'QtWebKit_Flash.patch')
-
-_create-kdeqt-patches() {
- local codir=$(mktemp -d)
- mkdir -p "${codir}/kde-qt"
- git clone git://gitorious.org/+kde-developers/qt/kde-qt.git "${codir}/kde-qt"
- pushd "${codir}/kde-qt"
- local kdeqtver=$(git --no-pager show --format='%H' "${pkgver}-patched")
- mkdir "../kde-qt-patches-${kdeqtver}"
- git format-patch -k "v${pkgver}..${pkgver}-patched" -o "../kde-qt-patches-${kdeqtver}"
- popd
- pushd "${codir}"
- bsdtar -cjf "kde-qt-patches-${kdeqtver}.tar.bz2" kde-qt-patches-${kdeqtver}
- popd
- mv "${codir}/kde-qt-patches-${kdeqtver}.tar.bz2" .
- rm -rf "${codir}"
-}
+ 'ca-certificates.patch' 'qt-webkit-4.6.3-flash-plugin-segfault.patch')
build() {
unset QMAKESPEC
@@ -46,16 +26,15 @@ build() {
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
cd $srcdir/$_pkgfqn
- for i in $srcdir/kde-qt-patches-${_kdeqtver}/*; do
- echo "applying $i"
- patch -p1 -i $i || return 1
- done
- patch -p0 -i $srcdir/qdoc3.patch
- patch < $srcdir/QtWebKit_Flash.patch ${srcdir}/${_pkgfqn}/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp || return 1
+ # see http://cvs.fedoraproject.org/viewvc/rpms/qt/devel/
+ # use system ssl cert bundle
+ patch -p1 -i $srcdir/ca-certificates.patch || return 1
+ patch -p0 < $srcdir/qt-webkit-4.6.3-flash-plugin-segfault.patch || return 1
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
+ sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
./configure -confirm-license -opensource \
-prefix /usr \
@@ -71,6 +50,7 @@ build() {
-system-sqlite \
-xmlpatterns \
-no-phonon \
+ -no-phonon-backend \
-svg \
-webkit \
-scripttools \
@@ -87,35 +67,44 @@ build() {
-silent \
-optimized-qmake \
-dbus \
- -reduce-relocations \
-no-separate-debug-info \
+ -reduce-relocations \
-gtkstyle \
-opengl \
+ -no-openvg \
-glib
-
make
+}
+
+package() {
+ cd $srcdir/$_pkgfqn
make INSTALL_ROOT=$pkgdir install
- install -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/pixmaps/assistant.png
- install -D -m644 tools/linguist/linguist/images/appicon.png ${pkgdir}/usr/share/pixmaps/linguist.png
- install -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/pixmaps/designer.png
- install -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/pixmaps/qtlogo.png
+ # install missing icons and desktop files
+ for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
+ size=$(echo $(basename ${icon}) | cut -d- -f2)
+ install -p -D -m644 ${icon} ${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
+ done
+ install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png
+ install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png
+ install -p -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png
install -d ${pkgdir}/usr/share/applications
install -m644 ${srcdir}/{linguist,designer,assistant,qtconfig}.desktop ${pkgdir}/usr/share/applications/
+
+ # install license addition
install -D -m644 LGPL_EXCEPTION.txt ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt
- # cleanup and path fixes
- find $pkgdir/usr/lib -type f -name '*prl' -print -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" {} \;
- sed -i -e "s|-L$srcdir/${_pkgfqn}/lib||g" $pkgdir/usr/lib/pkgconfig/*.pc
- sed -i -e "s|$srcdir/${_pkgfqn}/bin/moc|/usr/bin/moc|g" $pkgdir/usr/lib/pkgconfig/*.pc
- sed -i -e "s|$srcdir/${_pkgfqn}/bin/uic|/usr/bin/uic|g" $pkgdir/usr/lib/pkgconfig/*.pc
+ # Fix wrong path in pkgconfig files
+ find ${pkgdir}/usr/lib/pkgconfig -type f -name '*.pc' \
+ -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
+ # Fix wrong path in prl files
+ find ${pkgdir}/usr/lib -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
}
-
-md5sums=('28a7e8ac9805a6f614d2a27ee1a6ac9d'
- '4b333add3031f59538629b35858178d9'
- 'b352b4b70faba2571af3fce5d119580a'
- '491a96682faa03407f768a53cca71db5'
- 'cda7ed7e132689991dc2968a0043b4b0'
- '717669b728a0a795217d2f52969e454c'
- '9c0a0db3569e889a54a6cddcd55c538c'
- '0e2f5e43ed9dba32816fd4142b021762')
+md5sums=('5c69f16d452b0bb3d44bc3c10556c072'
+ 'a445c6917086d80f1cfc1e40cb6b0132'
+ 'd457f0a0ad68a3861c3cadefe3b42ded'
+ '668331d9798a0e2b94381efb7be4c513'
+ 'c29f2993d6a0f73d756d2fa36e130e1c'
+ 'd5c4cad7af93f1d736d4569a207bd739'
+ '17382f5532888268bb50d1ab47e5fa19')
diff --git a/abs/core-testing/qt/assistant.desktop b/abs/core-testing/qt/assistant.desktop
index 48105b9..1b9f0a7 100644
--- a/abs/core-testing/qt/assistant.desktop
+++ b/abs/core-testing/qt/assistant.desktop
@@ -2,7 +2,7 @@
Exec=/usr/bin/assistant
Name=Qt Assistant
GenericName=Qt Document Browser
-Icon=/usr/share/pixmaps/assistant.png
+Icon=assistant
Terminal=false
Type=Application
Categories=Qt;Development;Documentation
diff --git a/abs/core-testing/qt/ca-certificates.patch b/abs/core-testing/qt/ca-certificates.patch
new file mode 100644
index 0000000..02ebbad
--- /dev/null
+++ b/abs/core-testing/qt/ca-certificates.patch
@@ -0,0 +1,25 @@
+diff -up qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp
+--- qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates 2009-09-29 06:01:38.000000000 -0500
++++ qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp 2009-10-02 11:20:10.674662746 -0500
+@@ -482,8 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph
+
+ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
+ {
++
++ QFile caBundle;
++
++#ifdef Q_OS_UNIX
++ // Check known locations for the system's default bundle. ### On Windows,
++ // we should use CAPI to find the bundle, and not rely on default unix
++ // locations.
++ caBundle.setFileName(QLatin1String("/etc/ssl/certs/ca-certificates.crt"));
++ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
++ return QSslCertificate::fromDevice(&caBundle);
++#endif
++
+ // Qt provides a default bundle of certificates
+- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
++ caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
+ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QSslCertificate::fromDevice(&caBundle);
+
diff --git a/abs/core-testing/qt/designer.desktop b/abs/core-testing/qt/designer.desktop
index fefe095..8f36273 100644
--- a/abs/core-testing/qt/designer.desktop
+++ b/abs/core-testing/qt/designer.desktop
@@ -3,7 +3,7 @@ Exec=/usr/bin/designer
Name=Qt Designer
GenericName=Interface Designer
MimeType=application/x-designer
-Icon=/usr/share/pixmaps/designer.png
+Icon=designer
Terminal=false
Type=Application
Categories=Qt;Development;GUIDesigner
diff --git a/abs/core-testing/qt/linguist.desktop b/abs/core-testing/qt/linguist.desktop
index 04519bf..94e92c1 100644
--- a/abs/core-testing/qt/linguist.desktop
+++ b/abs/core-testing/qt/linguist.desktop
@@ -5,5 +5,5 @@ GenericName=Translation Tool
MimeType=application/x-linguist
Terminal=false
Type=Application
-Icon=/usr/share/pixmaps/linguist.png
+Icon=linguist
Categories=Qt;Development;Translation
diff --git a/abs/core-testing/qt/qdoc3.patch b/abs/core-testing/qt/qdoc3.patch
deleted file mode 100644
index c967b6e..0000000
--- a/abs/core-testing/qt/qdoc3.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- tools/qdoc3/qdoc3.pro 2009-06-25 17:34:42.000000000 +0200
-+++ tools/qdoc3/qdoc3.pro.new 2009-06-25 17:35:42.000000000 +0200
-@@ -8,6 +8,11 @@
- CONFIG -= build_all
- CONFIG += release
- }
-+
-+TARGET= qdoc3
-+target.path = $$[QT_INSTALL_BINS]
-+INSTALLS += target
-+
- mac:CONFIG -= app_bundle
- HEADERS += apigenerator.h \
- archiveextractor.h \
-diff -up qt-x11-opensource-src-4.5.0/tools/tools.pro.qdoc3 qt-x11-opensource-src-4.5.0/tools/tools.pro
---- tools/tools.pro.qdoc3 2009-02-25 15:09:27.000000000 -0600
-+++ tools/tools.pro 2009-03-04 09:44:18.000000000 -0600
-@@ -13,6 +13,7 @@ no-png {
- SUBDIRS += designer
- }
- SUBDIRS += linguist
-+ SUBDIRS += qdoc3
- wince*: SUBDIRS = qtestlib designer
- unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig
- win32:!wince*:!contains(QT_EDITION, OpenSource|Console):SUBDIRS += activeqt
diff --git a/abs/core-testing/qt/QtWebKit_Flash.patch b/abs/core-testing/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch
index 102f73c..6fc87ca 100644
--- a/abs/core-testing/qt/QtWebKit_Flash.patch
+++ b/abs/core-testing/qt/qt-webkit-4.6.3-flash-plugin-segfault.patch
@@ -1,48 +1,43 @@
---- PluginPackageQt.cpp.orig 2010-06-30 21:29:47.178707288 +0000
-+++ PluginPackageQt.cpp 2010-06-30 21:35:40.185441603 +0000
-@@ -36,6 +36,8 @@
-
- namespace WebCore {
-
-+typedef void gtkInitFunc(int *argc, char ***argv);
-+
- bool PluginPackage::fetchInfo()
- {
- if (!load())
-@@ -100,7 +102,8 @@
-
- NP_InitializeFuncPtr NP_Initialize;
- NPError npErr;
--
-+ gtkInitFunc* gtkInit;
-+
- NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize");
- m_NPP_Shutdown = (NPP_ShutdownProcPtr)m_module->resolve("NP_Shutdown");
-
-@@ -157,6 +160,26 @@
- m_browserFuncs.enumerate = _NPN_Enumerate;
- m_browserFuncs.construct = _NPN_Construct;
-
-+ // WORKAROUND: Prevent gtk based plugin crashes such as BR# 40567 by
-+ // explicitly forcing the initializing of Gtk, i.e. calling gtk_init,
-+ // whenver the symbol is present in the plugin library loaded above.
-+ // Note that this workaround is based on code from the NSPluginClass ctor
-+ // in KDE's kdebase/apps/nsplugins/viewer/nsplugin.cpp file.
-+ gtkInit = (gtkInitFunc*)m_module->resolve("gtk_init");
-+ if (gtkInit) {
-+ // Prevent gtk_init() from replacing the X error handlers, since the Gtk
-+ // handlers abort when they receive an X error, thus killing the viewer.
-+#ifdef Q_WS_X11
-+ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0);
-+ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0);
-+#endif
-+ gtkInit(0, 0);
-+#ifdef Q_WS_X11
-+ XSetErrorHandler(old_error_handler);
-+ XSetIOErrorHandler(old_io_error_handler);
-+#endif
-+}
-+
- #if defined(XP_UNIX)
- npErr = NP_Initialize(&m_browserFuncs, &m_pluginFuncs);
- #else
+This patch fixes WebKit Bug 40567: [Qt] QtWebKit crashes while initializing
+flash plugin 10.1.53.64...
+https://bugs.webkit.org/show_bug.cgi?id=40567
+
+--- src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
++++ src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp
+@@ -35,4 +35,6 @@
+
+ namespace WebCore {
++
++typedef void gtkInitFunc(int *argc, char ***argv);
+
+ bool PluginPackage::fetchInfo()
+@@ -110,4 +112,5 @@
+ NP_InitializeFuncPtr NP_Initialize;
+ NPError npErr;
++ gtkInitFunc* gtkInit;
+
+ NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize");
+@@ -126,4 +129,24 @@
+ // It does so in NP_Initialize with a null instance, therefore it is done this way:
+ m_browserFuncs.getvalue = staticPluginQuirkRequiresGtkToolKit_NPN_GetValue;
++ }
++
++ // WORKAROUND: Prevent gtk based plugin crashes such as BR# 40567 by
++ // explicitly forcing the initializing of Gtk, i.e. calling gtk_init,
++ // whenver the symbol is present in the plugin library loaded above.
++ // Note that this workaround is based on code from the NSPluginClass ctor
++ // in KDE's kdebase/apps/nsplugins/viewer/nsplugin.cpp file.
++ gtkInit = (gtkInitFunc*)m_module->resolve("gtk_init");
++ if (gtkInit) {
++ // Prevent gtk_init() from replacing the X error handlers, since the Gtk
++ // handlers abort when they receive an X error, thus killing the viewer.
++#ifdef Q_WS_X11
++ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0);
++ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0);
++#endif
++ gtkInit(0, 0);
++#ifdef Q_WS_X11
++ XSetErrorHandler(old_error_handler);
++ XSetIOErrorHandler(old_io_error_handler);
++#endif
+ }
diff --git a/abs/core-testing/qt/qt.install b/abs/core-testing/qt/qt.install
new file mode 100644
index 0000000..e70c054
--- /dev/null
+++ b/abs/core-testing/qt/qt.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/core-testing/qt/qtconfig.desktop b/abs/core-testing/qt/qtconfig.desktop
index 633d921..7c221e5 100644
--- a/abs/core-testing/qt/qtconfig.desktop
+++ b/abs/core-testing/qt/qtconfig.desktop
@@ -2,7 +2,7 @@
Name=Qt Config
Comment=Configure Qt behavior, styles, fonts
Exec=/usr/bin/qtconfig
-Icon=/usr/share/pixmaps/qtlogo
+Icon=qtlogo
Terminal=false
Type=Application
Categories=Qt;Settings;
diff --git a/abs/core-testing/readline/PKGBUILD b/abs/core-testing/readline/PKGBUILD
index e4c7716..489b22f 100644
--- a/abs/core-testing/readline/PKGBUILD
+++ b/abs/core-testing/readline/PKGBUILD
@@ -1,36 +1,56 @@
-# $Id: PKGBUILD 25790 2009-01-29 09:50:30Z allan $
+# $Id: PKGBUILD 82724 2010-06-16 04:51:23Z allan $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=readline
-pkgver=5.2.013
-pkgrel=2
+_patchlevel=002 #prepare for some patches
+pkgver=6.1.$_patchlevel
+pkgrel=1
pkgdesc="GNU readline library"
arch=(i686 x86_64)
url="http://tiswww.case.edu/php/chet/readline/rltop.html"
license=('GPL')
-groups=('base')
depends=('glibc' 'ncurses')
backup=("etc/inputrc")
-source=(ftp://ftp.cwru.edu/pub/bash/readline-${pkgver}.tar.gz
- inputrc)
-md5sums=('07666d8dabefdfc7fb328b14cd6ce843'
- 'e5fc955f56d9fa5beb871f3279b8fa8b')
+source=(http://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
+ inputrc)
+if [ $_patchlevel -gt 00 ]; then
+ for (( p=1; p<=$_patchlevel; p++ )); do
+ source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-6.1-patches/readline61-$(printf "%03d" $p))
+ done
+fi
+md5sums=('fc2f7e714fe792db1ce6ddc4c9fb4ef3'
+ 'e5fc955f56d9fa5beb871f3279b8fa8b'
+ 'c642f2e84d820884b0bf9fd176bc6c3f'
+ '1a76781a1ea734e831588285db7ec9b1')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
+ cd ${srcdir}/${pkgname}-6.1
+ for p in ../readline61-*; do
+ [ -e "$p" ] || continue
+ msg "applying patch ${p}"
+ patch -Np0 -i ${p} || return 1
+ done
+
+ # Remove RPATH from shared objects (FS#14366)
+ sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
+
+ # build with -fPIC for x86_64 (FS#15634)
+ [ $CARCH == "x86_64" ] && CFLAGS="$CFLAGS -fPIC"
+
+ ./configure --prefix=/usr --libdir=/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info
make SHLIB_LIBS=-lncurses || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
- mkdir -p ${startdir}/pkg/etc
- install -m644 ../inputrc ${startdir}/pkg/etc/inputrc || return 1
+ mkdir -p ${pkgdir}/etc
+ install -m644 ../inputrc ${pkgdir}/etc/inputrc || return 1
+ #FHS recommends only shared libs in /lib
+ mkdir -p $pkgdir/usr/lib
+ mv $pkgdir/lib/*.a $pkgdir/usr/lib
- cd ${startdir}/pkg
- mkdir -pv lib
- mv -v usr/lib/lib{readline,history}.so.5* lib/ || return 1
- ln -svf ../../lib/libreadline.so.5 usr/lib/libreadline.so || return 1
- ln -svf ../../lib/libhistory.so.5 usr/lib/libhistory.so || return 1
-
- rm -f ${pkgdir}/usr/share/info/dir
+ # to make the linker find the shared lib and fix compile issues
+ cd ${pkgdir}/usr/lib
+ ln -sv /lib/libreadline.so .
+ ln -sv /lib/libhistory.so .
}
diff --git a/abs/core-testing/readline/readline.install b/abs/core-testing/readline/readline.install
index 8e3de84..0d40c51 100644
--- a/abs/core-testing/readline/readline.install
+++ b/abs/core-testing/readline/readline.install
@@ -4,7 +4,7 @@ filelist=(history.info readline.info rluserman.info)
post_install() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
@@ -16,7 +16,7 @@ post_upgrade() {
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/abs/core-testing/reiserfsprogs/PKGBUILD b/abs/core-testing/reiserfsprogs/PKGBUILD
index 6e3cb6d..1e20cc2 100644
--- a/abs/core-testing/reiserfsprogs/PKGBUILD
+++ b/abs/core-testing/reiserfsprogs/PKGBUILD
@@ -1,26 +1,24 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 48336 2009-08-01 14:36:12Z jgc $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
pkgname=reiserfsprogs
-pkgver=3.6.20
-pkgrel=12
+pkgver=3.6.21
+pkgrel=2
pkgdesc="Reiserfs utilities"
arch=(i686 x86_64)
-url="http://www.namesys.com"
+url=http://www.kernel.org/pub/linux/utils/fs/reiserfs/README
license=('GPL')
groups=('base')
-depends=('e2fsprogs')
-source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz
- #namesys server is down atm
- #ftp://ftp.namesys.com/pub/$pkgname/$pkgname-$pkgver.tar.gz
-)
-md5sums=('3b3392f59c5d302cf858bc4cf194b258')
+depends=('util-linux-ng>=2.16')
+source=(http://www.kernel.org/pub/linux/utils/fs/reiserfs/reiserfsprogs-${pkgver}.tar.bz2)
+md5sums=('0639cefac8f8150536cfa7531c2aa2d2')
build() {
- export MAKEFLAGS="-j1"
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sbindir=/sbin || return 1
make || return 1
- make DESTDIR=$startdir/pkg install
- mv $startdir/pkg/usr/sbin $startdir/pkg
- #ln -s reiserfsck $startdir/pkg/sbin/fsck.reiserfs
+ make DESTDIR="${pkgdir}" install || return 1
+ ln -s reiserfsck "${pkgdir}/sbin/fsck.reiserfs"
+ ln -s mkreiserfs "${pkgdir}/sbin/mkfs.reiserfs"
}
diff --git a/abs/core-testing/rpcbind/PKGBUILD b/abs/core-testing/rpcbind/PKGBUILD
new file mode 100644
index 0000000..11d8a91
--- /dev/null
+++ b/abs/core-testing/rpcbind/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 54912 2009-10-11 20:12:23Z giovanni $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=rpcbind
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="portmap replacement which supports RPC over various protocols"
+arch=(i686 x86_64)
+depends=('bash' 'glibc' 'libtirpc')
+url="http://rpcbind.sourceforge.net"
+license=('custom')
+replaces=('portmap')
+source=(http://downloads.sourceforge.net/sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2
+ rpcbind)
+md5sums=('1a77ddb1aaea8099ab19c351eeb26316'
+ '78a963654f57cbb209e228884767836e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+ # install daemon
+ install -D -m755 $srcdir/rpcbind $pkgdir/etc/rc.d/rpcbind
+ # install license
+ install -D -m644 COPYING $pkgdir/usr/share/licenses/rpcbind/COPYING
+}
diff --git a/abs/core-testing/rpcbind/rpcbind b/abs/core-testing/rpcbind/rpcbind
new file mode 100755
index 0000000..87c5b50
--- /dev/null
+++ b/abs/core-testing/rpcbind/rpcbind
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID="$(pidof -o %PPID /usr/bin/rpcbind)"
+case "$1" in
+ start)
+ stat_busy "Starting rpcbind"
+ [ -z "$PID" ] && /usr/bin/rpcbind &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=$(pidof -o %PPID /usr/bin/rpcbind)
+ echo $PID > /var/run/rpcbind.pid
+ add_daemon rpcbind
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping rpcbind"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/rpcbind.pid
+ rm_daemon rpcbind
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core-testing/rt2500/PKGBUILD b/abs/core-testing/rt2500/PKGBUILD
deleted file mode 100644
index 605b031..0000000
--- a/abs/core-testing/rt2500/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 22503 2008-12-26 22:53:05Z tpowa $
-# Maintainer: James Rayner <iphitus@gmail.com>
-
-pkgname=rt2500
-_kernver=2.6.28-LinHES
-pkgver=1.1.0_B4
-_pkgver=1.1.0-b4
-pkgrel=28
-pkgdesc="Drivers for rt2500 chipset wireless cards"
-url="http://rt2x00.serialmonkey.com/wiki/index.php/Main_Page"
-license=('GPL2')
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29')
-arch=('i686' 'x86_64')
-install=rt2500.install
-source=(http://downloads.sourceforge.net/sourceforge/rt2400/rt2500-${_pkgver}.tar.gz \
- kernel-2.6.22.patch
- kernel-2.6.24.patch
- kernel-2.6.27.patch)
-md5sums=('83b8b9a091705c08d99268479f3b3b6a'
- 'a74f8e9cbba7b29620f11fba8fd7c50d'
- 'ccf0da667cc6642dacf39dea1aac254f'
- 'ccb923f4ebf408e781544d7cf4074bf2')
-
-build() {
- cd $startdir/src/rt2500-$_pkgver/
- patch -Np1 -i ../kernel-2.6.22.patch || return 1
- patch -Np1 -i ../kernel-2.6.24.patch || return 1
- patch -Np1 -i ../kernel-2.6.27.patch || return 1
- cd $startdir/src/rt2500-$_pkgver/Module
- make KERNDIR=/lib/modules/$_kernver/build || return 1
- install -D -m 644 rt2500.ko $startdir/pkg/lib/modules/$_kernver/kernel/drivers/net/wireless/rt2500.ko
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
-}
diff --git a/abs/core-testing/rt2500/kernel-2.6.22.patch b/abs/core-testing/rt2500/kernel-2.6.22.patch
deleted file mode 100644
index 530bf0a..0000000
--- a/abs/core-testing/rt2500/kernel-2.6.22.patch
+++ /dev/null
@@ -1,24125 +0,0 @@
-diff -Nur rt2500-1.1.0-b4/CHANGELOG rt2500-cvs-2007061011/CHANGELOG
---- rt2500-1.1.0-b4/CHANGELOG 2006-06-17 22:12:57.000000000 +0200
-+++ rt2500-cvs-2007061011/CHANGELOG 2007-06-08 20:09:53.000000000 +0200
-@@ -1,28 +1,40 @@
--/***************************************************************************
-- * RT2x00 SourceForge Project - http://rt2x00.sourceforge.net *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2003. *
-+/***************************************************************************
-+ * RT2x00 SourceForge Project - http://rt2x00.sourceforge.net *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2003. *
- ***************************************************************************/
--
-+
- Changelog for 802.11g rt2500 driver and RAConfig2500 Utility
-
-- Version: 1.1.0-beta4
-+ Version: CVS
-+ * Forward compatibility with kernel 2.6.22 pci bus driver i/f changes
-+ and skbuff changes.
-+ * SIOCGIWSCAN returns EAGAIN until all channels scanned.
-+ * More cruft removal.
-+ * Updated base code to Ralink 1.4.6.6 driver version.
-+ * In-kernel compile support (Bug #1642144): Declare debug var
-+ as static. Implement as bit mask.
-+ * Fix to WPA RSN IE mismatched bug
-+ * Compatibility fixes for kernels >= 2.6.19
-+ * Fix essid truncation on kernels >= 2.6.19
-+
-+ Version: 1.1.0-beta4
- * Fix pre-up config panic (1307957)
- * Fix noise levels in scan results (1246025)
- * RFMON TX Support for aircrack
-@@ -31,9 +43,9 @@
- * Promisc/Monitor code missing node->AP packets (1009565)
- * Channel set in RFMON before ifup now works (1254806)
- * Fixes for suspend/resume
-- * Enhancement for RaConfig to support non-ra? interfaces
-+ * Enhancement for RaConfig to support non-ra? interfaces
- * Channel list updates after region change
-- * TxPower changes to support dBm values
-+ * TxPower changes to support dBm values
- * Pre-up panic for setting WirelessMode
- * Cleanup of iwpriv syntax
- * Fixes for SMP support (1099089)
-@@ -47,7 +59,7 @@
- * Power Saving Modes (1159331)
- * Bridging with other interfaces
-
-- Version: 1.1.0-beta3
-+ Version: 1.1.0-beta3
- * PCI Management Cleanup
- * Fix for RaConfig crashing on statistics (ChrisH)
- * Big-Endian fix for RaConfig
-@@ -63,15 +75,15 @@
- * Fix iwconfig - Link Quality(means Channel Quality), Signal level and Noise level.
- * Fix iwlist ra0 channel - print out
-
-- Version: 1.1.0-beta2
-+ Version: 1.1.0-beta2
- * Removed Kernel tainting
- * Updated all file headers for this project
- * kmalloc stability fixes to the MLME
- * Cleanup on memory management functions (NDisFill/Move/Zero)
- * Rollin of Robin Cornelius RFMon Patch
- * RFMon support through iwconfig mode
-- * Debugging and general logging cleanups
-- * Rolling of changes in Ralink 1.4.5.0 release
-+ * Debugging and general logging cleanups
-+ * Rolling of changes in Ralink 1.4.5.0 release
- * Debug switching
- * Spinlock changes for stability
- * GCC 3.4 compilation
-@@ -86,5 +98,5 @@
-
- Version: 1.0.0
- * Initial baseline code from Ralink (1.4.4.0)
--
--
-+
-+
-diff -Nur rt2500-1.1.0-b4/LICENSE rt2500-cvs-2007061011/LICENSE
---- rt2500-1.1.0-b4/LICENSE 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/LICENSE 2007-05-29 05:57:52.000000000 +0200
-@@ -1,340 +1,340 @@
-- GNU GENERAL PUBLIC LICENSE
-- Version 2, June 1991
--
-- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-- Everyone is permitted to copy and distribute verbatim copies
-- of this license document, but changing it is not allowed.
--
-- Preamble
--
-- The licenses for most software are designed to take away your
--freedom to share and change it. By contrast, the GNU General Public
--License is intended to guarantee your freedom to share and change free
--software--to make sure the software is free for all its users. This
--General Public License applies to most of the Free Software
--Foundation's software and to any other program whose authors commit to
--using it. (Some other Free Software Foundation software is covered by
--the GNU Library General Public License instead.) You can apply it to
--your programs, too.
--
-- When we speak of free software, we are referring to freedom, not
--price. Our General Public Licenses are designed to make sure that you
--have the freedom to distribute copies of free software (and charge for
--this service if you wish), that you receive source code or can get it
--if you want it, that you can change the software or use pieces of it
--in new free programs; and that you know you can do these things.
--
-- To protect your rights, we need to make restrictions that forbid
--anyone to deny you these rights or to ask you to surrender the rights.
--These restrictions translate to certain responsibilities for you if you
--distribute copies of the software, or if you modify it.
--
-- For example, if you distribute copies of such a program, whether
--gratis or for a fee, you must give the recipients all the rights that
--you have. You must make sure that they, too, receive or can get the
--source code. And you must show them these terms so they know their
--rights.
--
-- We protect your rights with two steps: (1) copyright the software, and
--(2) offer you this license which gives you legal permission to copy,
--distribute and/or modify the software.
--
-- Also, for each author's protection and ours, we want to make certain
--that everyone understands that there is no warranty for this free
--software. If the software is modified by someone else and passed on, we
--want its recipients to know that what they have is not the original, so
--that any problems introduced by others will not reflect on the original
--authors' reputations.
--
-- Finally, any free program is threatened constantly by software
--patents. We wish to avoid the danger that redistributors of a free
--program will individually obtain patent licenses, in effect making the
--program proprietary. To prevent this, we have made it clear that any
--patent must be licensed for everyone's free use or not licensed at all.
--
-- The precise terms and conditions for copying, distribution and
--modification follow.
--
-- GNU GENERAL PUBLIC LICENSE
-- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
--
-- 0. This License applies to any program or other work which contains
--a notice placed by the copyright holder saying it may be distributed
--under the terms of this General Public License. The "Program", below,
--refers to any such program or work, and a "work based on the Program"
--means either the Program or any derivative work under copyright law:
--that is to say, a work containing the Program or a portion of it,
--either verbatim or with modifications and/or translated into another
--language. (Hereinafter, translation is included without limitation in
--the term "modification".) Each licensee is addressed as "you".
--
--Activities other than copying, distribution and modification are not
--covered by this License; they are outside its scope. The act of
--running the Program is not restricted, and the output from the Program
--is covered only if its contents constitute a work based on the
--Program (independent of having been made by running the Program).
--Whether that is true depends on what the Program does.
--
-- 1. You may copy and distribute verbatim copies of the Program's
--source code as you receive it, in any medium, provided that you
--conspicuously and appropriately publish on each copy an appropriate
--copyright notice and disclaimer of warranty; keep intact all the
--notices that refer to this License and to the absence of any warranty;
--and give any other recipients of the Program a copy of this License
--along with the Program.
--
--You may charge a fee for the physical act of transferring a copy, and
--you may at your option offer warranty protection in exchange for a fee.
--
-- 2. You may modify your copy or copies of the Program or any portion
--of it, thus forming a work based on the Program, and copy and
--distribute such modifications or work under the terms of Section 1
--above, provided that you also meet all of these conditions:
--
-- a) You must cause the modified files to carry prominent notices
-- stating that you changed the files and the date of any change.
--
-- b) You must cause any work that you distribute or publish, that in
-- whole or in part contains or is derived from the Program or any
-- part thereof, to be licensed as a whole at no charge to all third
-- parties under the terms of this License.
--
-- c) If the modified program normally reads commands interactively
-- when run, you must cause it, when started running for such
-- interactive use in the most ordinary way, to print or display an
-- announcement including an appropriate copyright notice and a
-- notice that there is no warranty (or else, saying that you provide
-- a warranty) and that users may redistribute the program under
-- these conditions, and telling the user how to view a copy of this
-- License. (Exception: if the Program itself is interactive but
-- does not normally print such an announcement, your work based on
-- the Program is not required to print an announcement.)
--
--These requirements apply to the modified work as a whole. If
--identifiable sections of that work are not derived from the Program,
--and can be reasonably considered independent and separate works in
--themselves, then this License, and its terms, do not apply to those
--sections when you distribute them as separate works. But when you
--distribute the same sections as part of a whole which is a work based
--on the Program, the distribution of the whole must be on the terms of
--this License, whose permissions for other licensees extend to the
--entire whole, and thus to each and every part regardless of who wrote it.
--
--Thus, it is not the intent of this section to claim rights or contest
--your rights to work written entirely by you; rather, the intent is to
--exercise the right to control the distribution of derivative or
--collective works based on the Program.
--
--In addition, mere aggregation of another work not based on the Program
--with the Program (or with a work based on the Program) on a volume of
--a storage or distribution medium does not bring the other work under
--the scope of this License.
--
-- 3. You may copy and distribute the Program (or a work based on it,
--under Section 2) in object code or executable form under the terms of
--Sections 1 and 2 above provided that you also do one of the following:
--
-- a) Accompany it with the complete corresponding machine-readable
-- source code, which must be distributed under the terms of Sections
-- 1 and 2 above on a medium customarily used for software interchange; or,
--
-- b) Accompany it with a written offer, valid for at least three
-- years, to give any third party, for a charge no more than your
-- cost of physically performing source distribution, a complete
-- machine-readable copy of the corresponding source code, to be
-- distributed under the terms of Sections 1 and 2 above on a medium
-- customarily used for software interchange; or,
--
-- c) Accompany it with the information you received as to the offer
-- to distribute corresponding source code. (This alternative is
-- allowed only for noncommercial distribution and only if you
-- received the program in object code or executable form with such
-- an offer, in accord with Subsection b above.)
--
--The source code for a work means the preferred form of the work for
--making modifications to it. For an executable work, complete source
--code means all the source code for all modules it contains, plus any
--associated interface definition files, plus the scripts used to
--control compilation and installation of the executable. However, as a
--special exception, the source code distributed need not include
--anything that is normally distributed (in either source or binary
--form) with the major components (compiler, kernel, and so on) of the
--operating system on which the executable runs, unless that component
--itself accompanies the executable.
--
--If distribution of executable or object code is made by offering
--access to copy from a designated place, then offering equivalent
--access to copy the source code from the same place counts as
--distribution of the source code, even though third parties are not
--compelled to copy the source along with the object code.
--
-- 4. You may not copy, modify, sublicense, or distribute the Program
--except as expressly provided under this License. Any attempt
--otherwise to copy, modify, sublicense or distribute the Program is
--void, and will automatically terminate your rights under this License.
--However, parties who have received copies, or rights, from you under
--this License will not have their licenses terminated so long as such
--parties remain in full compliance.
--
-- 5. You are not required to accept this License, since you have not
--signed it. However, nothing else grants you permission to modify or
--distribute the Program or its derivative works. These actions are
--prohibited by law if you do not accept this License. Therefore, by
--modifying or distributing the Program (or any work based on the
--Program), you indicate your acceptance of this License to do so, and
--all its terms and conditions for copying, distributing or modifying
--the Program or works based on it.
--
-- 6. Each time you redistribute the Program (or any work based on the
--Program), the recipient automatically receives a license from the
--original licensor to copy, distribute or modify the Program subject to
--these terms and conditions. You may not impose any further
--restrictions on the recipients' exercise of the rights granted herein.
--You are not responsible for enforcing compliance by third parties to
--this License.
--
-- 7. If, as a consequence of a court judgment or allegation of patent
--infringement or for any other reason (not limited to patent issues),
--conditions are imposed on you (whether by court order, agreement or
--otherwise) that contradict the conditions of this License, they do not
--excuse you from the conditions of this License. If you cannot
--distribute so as to satisfy simultaneously your obligations under this
--License and any other pertinent obligations, then as a consequence you
--may not distribute the Program at all. For example, if a patent
--license would not permit royalty-free redistribution of the Program by
--all those who receive copies directly or indirectly through you, then
--the only way you could satisfy both it and this License would be to
--refrain entirely from distribution of the Program.
--
--If any portion of this section is held invalid or unenforceable under
--any particular circumstance, the balance of the section is intended to
--apply and the section as a whole is intended to apply in other
--circumstances.
--
--It is not the purpose of this section to induce you to infringe any
--patents or other property right claims or to contest validity of any
--such claims; this section has the sole purpose of protecting the
--integrity of the free software distribution system, which is
--implemented by public license practices. Many people have made
--generous contributions to the wide range of software distributed
--through that system in reliance on consistent application of that
--system; it is up to the author/donor to decide if he or she is willing
--to distribute software through any other system and a licensee cannot
--impose that choice.
--
--This section is intended to make thoroughly clear what is believed to
--be a consequence of the rest of this License.
--
-- 8. If the distribution and/or use of the Program is restricted in
--certain countries either by patents or by copyrighted interfaces, the
--original copyright holder who places the Program under this License
--may add an explicit geographical distribution limitation excluding
--those countries, so that distribution is permitted only in or among
--countries not thus excluded. In such case, this License incorporates
--the limitation as if written in the body of this License.
--
-- 9. The Free Software Foundation may publish revised and/or new versions
--of the General Public License from time to time. Such new versions will
--be similar in spirit to the present version, but may differ in detail to
--address new problems or concerns.
--
--Each version is given a distinguishing version number. If the Program
--specifies a version number of this License which applies to it and "any
--later version", you have the option of following the terms and conditions
--either of that version or of any later version published by the Free
--Software Foundation. If the Program does not specify a version number of
--this License, you may choose any version ever published by the Free Software
--Foundation.
--
-- 10. If you wish to incorporate parts of the Program into other free
--programs whose distribution conditions are different, write to the author
--to ask for permission. For software which is copyrighted by the Free
--Software Foundation, write to the Free Software Foundation; we sometimes
--make exceptions for this. Our decision will be guided by the two goals
--of preserving the free status of all derivatives of our free software and
--of promoting the sharing and reuse of software generally.
--
-- NO WARRANTY
--
-- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
--FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
--OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
--PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
--OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
--MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
--TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
--PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
--REPAIR OR CORRECTION.
--
-- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
--WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
--REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
--INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
--OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
--TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
--YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
--PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
--POSSIBILITY OF SUCH DAMAGES.
--
-- END OF TERMS AND CONDITIONS
--
-- How to Apply These Terms to Your New Programs
--
-- If you develop a new program, and you want it to be of the greatest
--possible use to the public, the best way to achieve this is to make it
--free software which everyone can redistribute and change under these terms.
--
-- To do so, attach the following notices to the program. It is safest
--to attach them to the start of each source file to most effectively
--convey the exclusion of warranty; and each file should have at least
--the "copyright" line and a pointer to where the full notice is found.
--
-- &lt;one line to give the program's name and a brief idea of what it does.&gt;
-- Copyright (C) &lt;year&gt; &lt;name of author&gt;
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--
--
--Also add information on how to contact you by electronic and paper mail.
--
--If the program is interactive, make it output a short notice like this
--when it starts in an interactive mode:
--
-- Gnomovision version 69, Copyright (C) year name of author
-- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-- This is free software, and you are welcome to redistribute it
-- under certain conditions; type `show c' for details.
--
--The hypothetical commands `show w' and `show c' should show the appropriate
--parts of the General Public License. Of course, the commands you use may
--be called something other than `show w' and `show c'; they could even be
--mouse-clicks or menu items--whatever suits your program.
--
--You should also get your employer (if you work as a programmer) or your
--school, if any, to sign a "copyright disclaimer" for the program, if
--necessary. Here is a sample; alter the names:
--
-- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-- `Gnomovision' (which makes passes at compilers) written by James Hacker.
--
-- &lt;signature of Ty Coon&gt;, 1 April 1989
-- Ty Coon, President of Vice
--
--This General Public License does not permit incorporating your program into
--proprietary programs. If your program is a subroutine library, you may
--consider it more useful to permit linking proprietary applications with the
--library. If this is what you want to do, use the GNU Library General
-+ GNU GENERAL PUBLIC LICENSE
-+ Version 2, June 1991
-+
-+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+ Preamble
-+
-+ The licenses for most software are designed to take away your
-+freedom to share and change it. By contrast, the GNU General Public
-+License is intended to guarantee your freedom to share and change free
-+software--to make sure the software is free for all its users. This
-+General Public License applies to most of the Free Software
-+Foundation's software and to any other program whose authors commit to
-+using it. (Some other Free Software Foundation software is covered by
-+the GNU Library General Public License instead.) You can apply it to
-+your programs, too.
-+
-+ When we speak of free software, we are referring to freedom, not
-+price. Our General Public Licenses are designed to make sure that you
-+have the freedom to distribute copies of free software (and charge for
-+this service if you wish), that you receive source code or can get it
-+if you want it, that you can change the software or use pieces of it
-+in new free programs; and that you know you can do these things.
-+
-+ To protect your rights, we need to make restrictions that forbid
-+anyone to deny you these rights or to ask you to surrender the rights.
-+These restrictions translate to certain responsibilities for you if you
-+distribute copies of the software, or if you modify it.
-+
-+ For example, if you distribute copies of such a program, whether
-+gratis or for a fee, you must give the recipients all the rights that
-+you have. You must make sure that they, too, receive or can get the
-+source code. And you must show them these terms so they know their
-+rights.
-+
-+ We protect your rights with two steps: (1) copyright the software, and
-+(2) offer you this license which gives you legal permission to copy,
-+distribute and/or modify the software.
-+
-+ Also, for each author's protection and ours, we want to make certain
-+that everyone understands that there is no warranty for this free
-+software. If the software is modified by someone else and passed on, we
-+want its recipients to know that what they have is not the original, so
-+that any problems introduced by others will not reflect on the original
-+authors' reputations.
-+
-+ Finally, any free program is threatened constantly by software
-+patents. We wish to avoid the danger that redistributors of a free
-+program will individually obtain patent licenses, in effect making the
-+program proprietary. To prevent this, we have made it clear that any
-+patent must be licensed for everyone's free use or not licensed at all.
-+
-+ The precise terms and conditions for copying, distribution and
-+modification follow.
-+
-+ GNU GENERAL PUBLIC LICENSE
-+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-+
-+ 0. This License applies to any program or other work which contains
-+a notice placed by the copyright holder saying it may be distributed
-+under the terms of this General Public License. The "Program", below,
-+refers to any such program or work, and a "work based on the Program"
-+means either the Program or any derivative work under copyright law:
-+that is to say, a work containing the Program or a portion of it,
-+either verbatim or with modifications and/or translated into another
-+language. (Hereinafter, translation is included without limitation in
-+the term "modification".) Each licensee is addressed as "you".
-+
-+Activities other than copying, distribution and modification are not
-+covered by this License; they are outside its scope. The act of
-+running the Program is not restricted, and the output from the Program
-+is covered only if its contents constitute a work based on the
-+Program (independent of having been made by running the Program).
-+Whether that is true depends on what the Program does.
-+
-+ 1. You may copy and distribute verbatim copies of the Program's
-+source code as you receive it, in any medium, provided that you
-+conspicuously and appropriately publish on each copy an appropriate
-+copyright notice and disclaimer of warranty; keep intact all the
-+notices that refer to this License and to the absence of any warranty;
-+and give any other recipients of the Program a copy of this License
-+along with the Program.
-+
-+You may charge a fee for the physical act of transferring a copy, and
-+you may at your option offer warranty protection in exchange for a fee.
-+
-+ 2. You may modify your copy or copies of the Program or any portion
-+of it, thus forming a work based on the Program, and copy and
-+distribute such modifications or work under the terms of Section 1
-+above, provided that you also meet all of these conditions:
-+
-+ a) You must cause the modified files to carry prominent notices
-+ stating that you changed the files and the date of any change.
-+
-+ b) You must cause any work that you distribute or publish, that in
-+ whole or in part contains or is derived from the Program or any
-+ part thereof, to be licensed as a whole at no charge to all third
-+ parties under the terms of this License.
-+
-+ c) If the modified program normally reads commands interactively
-+ when run, you must cause it, when started running for such
-+ interactive use in the most ordinary way, to print or display an
-+ announcement including an appropriate copyright notice and a
-+ notice that there is no warranty (or else, saying that you provide
-+ a warranty) and that users may redistribute the program under
-+ these conditions, and telling the user how to view a copy of this
-+ License. (Exception: if the Program itself is interactive but
-+ does not normally print such an announcement, your work based on
-+ the Program is not required to print an announcement.)
-+
-+These requirements apply to the modified work as a whole. If
-+identifiable sections of that work are not derived from the Program,
-+and can be reasonably considered independent and separate works in
-+themselves, then this License, and its terms, do not apply to those
-+sections when you distribute them as separate works. But when you
-+distribute the same sections as part of a whole which is a work based
-+on the Program, the distribution of the whole must be on the terms of
-+this License, whose permissions for other licensees extend to the
-+entire whole, and thus to each and every part regardless of who wrote it.
-+
-+Thus, it is not the intent of this section to claim rights or contest
-+your rights to work written entirely by you; rather, the intent is to
-+exercise the right to control the distribution of derivative or
-+collective works based on the Program.
-+
-+In addition, mere aggregation of another work not based on the Program
-+with the Program (or with a work based on the Program) on a volume of
-+a storage or distribution medium does not bring the other work under
-+the scope of this License.
-+
-+ 3. You may copy and distribute the Program (or a work based on it,
-+under Section 2) in object code or executable form under the terms of
-+Sections 1 and 2 above provided that you also do one of the following:
-+
-+ a) Accompany it with the complete corresponding machine-readable
-+ source code, which must be distributed under the terms of Sections
-+ 1 and 2 above on a medium customarily used for software interchange; or,
-+
-+ b) Accompany it with a written offer, valid for at least three
-+ years, to give any third party, for a charge no more than your
-+ cost of physically performing source distribution, a complete
-+ machine-readable copy of the corresponding source code, to be
-+ distributed under the terms of Sections 1 and 2 above on a medium
-+ customarily used for software interchange; or,
-+
-+ c) Accompany it with the information you received as to the offer
-+ to distribute corresponding source code. (This alternative is
-+ allowed only for noncommercial distribution and only if you
-+ received the program in object code or executable form with such
-+ an offer, in accord with Subsection b above.)
-+
-+The source code for a work means the preferred form of the work for
-+making modifications to it. For an executable work, complete source
-+code means all the source code for all modules it contains, plus any
-+associated interface definition files, plus the scripts used to
-+control compilation and installation of the executable. However, as a
-+special exception, the source code distributed need not include
-+anything that is normally distributed (in either source or binary
-+form) with the major components (compiler, kernel, and so on) of the
-+operating system on which the executable runs, unless that component
-+itself accompanies the executable.
-+
-+If distribution of executable or object code is made by offering
-+access to copy from a designated place, then offering equivalent
-+access to copy the source code from the same place counts as
-+distribution of the source code, even though third parties are not
-+compelled to copy the source along with the object code.
-+
-+ 4. You may not copy, modify, sublicense, or distribute the Program
-+except as expressly provided under this License. Any attempt
-+otherwise to copy, modify, sublicense or distribute the Program is
-+void, and will automatically terminate your rights under this License.
-+However, parties who have received copies, or rights, from you under
-+this License will not have their licenses terminated so long as such
-+parties remain in full compliance.
-+
-+ 5. You are not required to accept this License, since you have not
-+signed it. However, nothing else grants you permission to modify or
-+distribute the Program or its derivative works. These actions are
-+prohibited by law if you do not accept this License. Therefore, by
-+modifying or distributing the Program (or any work based on the
-+Program), you indicate your acceptance of this License to do so, and
-+all its terms and conditions for copying, distributing or modifying
-+the Program or works based on it.
-+
-+ 6. Each time you redistribute the Program (or any work based on the
-+Program), the recipient automatically receives a license from the
-+original licensor to copy, distribute or modify the Program subject to
-+these terms and conditions. You may not impose any further
-+restrictions on the recipients' exercise of the rights granted herein.
-+You are not responsible for enforcing compliance by third parties to
-+this License.
-+
-+ 7. If, as a consequence of a court judgment or allegation of patent
-+infringement or for any other reason (not limited to patent issues),
-+conditions are imposed on you (whether by court order, agreement or
-+otherwise) that contradict the conditions of this License, they do not
-+excuse you from the conditions of this License. If you cannot
-+distribute so as to satisfy simultaneously your obligations under this
-+License and any other pertinent obligations, then as a consequence you
-+may not distribute the Program at all. For example, if a patent
-+license would not permit royalty-free redistribution of the Program by
-+all those who receive copies directly or indirectly through you, then
-+the only way you could satisfy both it and this License would be to
-+refrain entirely from distribution of the Program.
-+
-+If any portion of this section is held invalid or unenforceable under
-+any particular circumstance, the balance of the section is intended to
-+apply and the section as a whole is intended to apply in other
-+circumstances.
-+
-+It is not the purpose of this section to induce you to infringe any
-+patents or other property right claims or to contest validity of any
-+such claims; this section has the sole purpose of protecting the
-+integrity of the free software distribution system, which is
-+implemented by public license practices. Many people have made
-+generous contributions to the wide range of software distributed
-+through that system in reliance on consistent application of that
-+system; it is up to the author/donor to decide if he or she is willing
-+to distribute software through any other system and a licensee cannot
-+impose that choice.
-+
-+This section is intended to make thoroughly clear what is believed to
-+be a consequence of the rest of this License.
-+
-+ 8. If the distribution and/or use of the Program is restricted in
-+certain countries either by patents or by copyrighted interfaces, the
-+original copyright holder who places the Program under this License
-+may add an explicit geographical distribution limitation excluding
-+those countries, so that distribution is permitted only in or among
-+countries not thus excluded. In such case, this License incorporates
-+the limitation as if written in the body of this License.
-+
-+ 9. The Free Software Foundation may publish revised and/or new versions
-+of the General Public License from time to time. Such new versions will
-+be similar in spirit to the present version, but may differ in detail to
-+address new problems or concerns.
-+
-+Each version is given a distinguishing version number. If the Program
-+specifies a version number of this License which applies to it and "any
-+later version", you have the option of following the terms and conditions
-+either of that version or of any later version published by the Free
-+Software Foundation. If the Program does not specify a version number of
-+this License, you may choose any version ever published by the Free Software
-+Foundation.
-+
-+ 10. If you wish to incorporate parts of the Program into other free
-+programs whose distribution conditions are different, write to the author
-+to ask for permission. For software which is copyrighted by the Free
-+Software Foundation, write to the Free Software Foundation; we sometimes
-+make exceptions for this. Our decision will be guided by the two goals
-+of preserving the free status of all derivatives of our free software and
-+of promoting the sharing and reuse of software generally.
-+
-+ NO WARRANTY
-+
-+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-+REPAIR OR CORRECTION.
-+
-+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-+POSSIBILITY OF SUCH DAMAGES.
-+
-+ END OF TERMS AND CONDITIONS
-+
-+ How to Apply These Terms to Your New Programs
-+
-+ If you develop a new program, and you want it to be of the greatest
-+possible use to the public, the best way to achieve this is to make it
-+free software which everyone can redistribute and change under these terms.
-+
-+ To do so, attach the following notices to the program. It is safest
-+to attach them to the start of each source file to most effectively
-+convey the exclusion of warranty; and each file should have at least
-+the "copyright" line and a pointer to where the full notice is found.
-+
-+ &lt;one line to give the program's name and a brief idea of what it does.&gt;
-+ Copyright (C) &lt;year&gt; &lt;name of author&gt;
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+If the program is interactive, make it output a short notice like this
-+when it starts in an interactive mode:
-+
-+ Gnomovision version 69, Copyright (C) year name of author
-+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-+ This is free software, and you are welcome to redistribute it
-+ under certain conditions; type `show c' for details.
-+
-+The hypothetical commands `show w' and `show c' should show the appropriate
-+parts of the General Public License. Of course, the commands you use may
-+be called something other than `show w' and `show c'; they could even be
-+mouse-clicks or menu items--whatever suits your program.
-+
-+You should also get your employer (if you work as a programmer) or your
-+school, if any, to sign a "copyright disclaimer" for the program, if
-+necessary. Here is a sample; alter the names:
-+
-+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
-+
-+ &lt;signature of Ty Coon&gt;, 1 April 1989
-+ Ty Coon, President of Vice
-+
-+This General Public License does not permit incorporating your program into
-+proprietary programs. If your program is a subroutine library, you may
-+consider it more useful to permit linking proprietary applications with the
-+library. If this is what you want to do, use the GNU Library General
- Public License instead of this License.
-\ Kein Zeilenumbruch am Dateiende.
-diff -Nur rt2500-1.1.0-b4/Module/Makefile rt2500-cvs-2007061011/Module/Makefile
---- rt2500-1.1.0-b4/Module/Makefile 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/Makefile 2007-05-29 05:54:38.000000000 +0200
-@@ -1,39 +1,39 @@
--###########################################################################
--# RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com #
--# #
--# This program is free software; you can redistribute it and/or modify #
--# it under the terms of the GNU General Public License as published by #
--# the Free Software Foundation; either version 2 of the License, or #
--# (at your option) any later version. #
--# #
--# This program is distributed in the hope that it will be useful, #
--# but WITHOUT ANY WARRANTY; without even the implied warranty of #
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
--# GNU General Public License for more details. #
--# #
--# You should have received a copy of the GNU General Public License #
--# along with this program; if not, write to the #
--# Free Software Foundation, Inc., #
--# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
--# #
--# Licensed under the GNU GPL #
--# Original code supplied under license from RaLink Inc, 2004. #
--###########################################################################
--
--###########################################################################
--# Module Name: Makefile
--#
--# Abstract: Makefile for rt2500 kernel module
--#
--# Revision History:
--# Who When What
--# -------- ----------- -----------------------------
--# MarkW 8th Dec 04 Rewrite of Makefile
-+###########################################################################
-+# RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com #
-+# #
-+# This program is free software; you can redistribute it and/or modify #
-+# it under the terms of the GNU General Public License as published by #
-+# the Free Software Foundation; either version 2 of the License, or #
-+# (at your option) any later version. #
-+# #
-+# This program is distributed in the hope that it will be useful, #
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-+# GNU General Public License for more details. #
-+# #
-+# You should have received a copy of the GNU General Public License #
-+# along with this program; if not, write to the #
-+# Free Software Foundation, Inc., #
-+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
-+# #
-+# Licensed under the GNU GPL #
-+# Original code supplied under license from RaLink Inc, 2004. #
-+###########################################################################
-+
-+###########################################################################
-+# Module Name: Makefile
-+#
-+# Abstract: Makefile for rt2500 kernel module
-+#
-+# Revision History:
-+# Who When What
-+# -------- ----------- -----------------------------
-+# MarkW 8th Dec 04 Rewrite of Makefile
- # AmirS 1st Jan 05 Update for gmake compat
- # MarkW 20th Jan 05 Fixed permissions on directory
- # MichalL 5th Mar 05 Module installation fixes
- # MarkW 29th Jul 05 Allow install dir override
--###########################################################################
-+###########################################################################
-
-
-
-@@ -41,7 +41,7 @@
-
- MODULE_NAME := rt2500
-
--#PATCHLEVEL := 6
-+#PATCHLEVEL := 6
- #KERNDIR=/usr/src/linux-2.6
- #MODDIR=/lib/modules/2.6.12/extra
-
-@@ -94,7 +94,7 @@
- $(LD) $(EXTRA_LDFLAGS) -r -o $@ $($(MODULE_NAME)-objs)
- endif
-
--KBUILD_PARAMS := -C $(KERNEL_SOURCES) SUBDIRS=$(PWD) $(KERNEL_OUTPUT)
-+KBUILD_PARAMS := -C $(KERNEL_SOURCES) SUBDIRS=$(CURDIR) $(KERNEL_OUTPUT)
-
- module:
- @$(MAKE) $(KBUILD_PARAMS) modules; \
-@@ -110,22 +110,29 @@
- exit 1; \
- fi
-
-+debugfs:
-+ @$(MAKE) $(KBUILD_PARAMS) 'EXTRA_CFLAGS=-I$(src) -DRT2500_DBG -DRT2X00DEBUGFS' modules; \
-+ if ! [ -f $(MODULE_OBJECT) ]; then \
-+ echo "$(MODULE_OBJECT) failed to build!"; \
-+ exit 1; \
-+ fi
-+
- clean:
- @rm -f $(RESMAN_GLUE_OBJS) $(RESMAN_CORE_OBJS) .*.{cmd,flags}
- @rm -f $(MODULE_NAME).{o,ko,mod.{o,c}} built-in.o $(VERSION_HEADER) *~
-- @rm -fr .tmp_versions
-+ @rm -fr .tmp_versions Module.symvers
-
- modules_install:
--ifeq ($(PATCHLEVEL),4)
-- if ! [ -f $(MODULE_OBJECT) ]; then \
-- module; \
-+ @if ! [ -f $(MODULE_OBJECT) ]; then \
-+ $(MAKE) module; \
- fi
-+ifeq ($(PATCHLEVEL),4)
- @echo "install '$(MODULE_OBJECT)' to $(MODULE_ROOT)"
- install -m 755 -o 0 -g 0 -d $(MODULE_ROOT)
- install -m 644 -o 0 -g 0 $(MODULE_OBJECT) $(MODULE_ROOT)
-- /sbin/depmod -a
-+ /sbin/depmod -ae
- else
-- echo "2.6 module install"
-+ @echo "2.6 module install"
- make $(KBUILD_PARAMS) modules_install
- /sbin/depmod -a
- endif
-@@ -144,7 +151,7 @@
- install -m 755 -o 0 -g 0 -d $(MODULE_ROOT)
- install -m 644 -o 0 -g 0 $(MODULE_OBJECT) $(MODULE_ROOT)
- /sbin/depmod -a
--
-+
- @if ! grep -q 'wlan0' /etc/modprobe.conf ; then \
- echo "append 'alias wlan0 rt2500' to /etc/modprobe.conf"; \
- echo "alias wlan0 rt2500" >> /etc/modprobe.conf ; \
-diff -Nur rt2500-1.1.0-b4/Module/README rt2500-cvs-2007061011/Module/README
---- rt2500-1.1.0-b4/Module/README 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/README 2007-05-29 05:54:39.000000000 +0200
-@@ -1,7 +1,7 @@
- Installation instructions for the rt2500 Module
-
- ======================================================================
--Build Instructions:
-+Build Instructions:
- ====================
- For 2.4 or 2.6 series kernel:
- a. $tar -xvzf rt2500-x.x.x.tar.gz
-@@ -9,10 +9,10 @@
-
- b. $make # compile driver source code
-
--c. $make install # installs kernel module driver
-+c. $make install # installs kernel module driver
-+
-+(read end of file for FedoraCore3 specific information)
-
--(read end of file for FedoraCore3 specific information)
--
- ======================================================================
- To BUILD UTILITY
- ====================
-@@ -21,26 +21,26 @@
-
- b. run 'qmake -o Makefile raconfig2500.pro'
- If qmake command is not found in your system, you can download
-- the QT tool 'qt-x11-free-3.2.1' or later at
-+ the QT tool 'qt-x11-free-3.2.1' or later at
- http://www.trolltech.com/
--
-- (qmake comes with RedHat 7.3 or later QT Package)
-+
-+ (qmake comes with RedHat 7.3 or later QT Package)
-
- c. run 'make" to compile the utility source code.
--
-+
- d. After all, an execution file would be generated "RaConfig2500"
- run "RaConfig2500" to config the driver as you want
-
-
-
- ======================================================================
--CONFIGURATION:
-+CONFIGURATION:
- ====================
--RT2500 driver can be configured via following interfaces,
-+RT2500 driver can be configured via following interfaces,
- i.e. (i)"iwconfig" command, (ii)"iwpriv" command, (iii) configuration
- file, (iv) RaConfig2500
-
--i) iwconfig comes with kernel.
-+i) iwconfig comes with kernel.
- ii) iwpriv usage, please refer to file "iwpriv_usage.txt" for details.
- iii)copy configuration file "RT2500STA.dat" to
- /etc/Wireless/RT2500STA/RT2500STA.dat.
-@@ -48,7 +48,7 @@
- iv) RT2500 provides API : RaConfig2500, please go to directory
- ./Utility and refer to how-to-compile.txt
-
--
-+
- Configuration File : RT2500STA.dat
-
- # Copy this file to /etc/Wireless/RT2500STA/RT2500STA.dat
-@@ -56,7 +56,7 @@
- # module.
- #
- # Use "vi -b RT2500STA.dat" to modify settings according to your need.
--#
-+#
- # 1.) set NetworkType to "Adhoc" for using Adhoc-mode, otherwise
- # using as Infrastructure-mode.
- # 2.) set Channel to "0" for auto-select on Infrastructure mode.
-@@ -94,7 +94,7 @@
- FragThreshold=2312
- PSMode=CAM
- -----------------------------------------------
--syntax is 'Param'='Value' and described below.
-+syntax is 'Param'='Value' and described below.
-
- 1. CountryRegion=value
- value
-@@ -125,13 +125,14 @@
- OPEN For Open System
- SHARED For Shared key system
- AUTO
-- WPAPSK
-+ WPANONE For pre-shared key in adhoc mode
-+ WPAPSK For pre-shared key in infrastructure mode
- 7. EncrypType=value
- value
- NONE :For AuthMode=OPEN
- WEP :For AuthMode=OPEN or AuthMode=SHARED
-- TKIP :For AuthMode=WPAPSK
-- AES :For AuthMode=WPAPSK
-+ TKIP :For AuthMode=WPAPSK or AuthMode=WPANONE
-+ AES :For AuthMode=WPAPSK or AuthMode=WPANONE
- 8. DefaultKeyID=value
- value
- 1 ~ 4
-@@ -189,7 +190,7 @@
- 1: 1 Mbps
- 2: 2 Mbps
- 3: 5.5 Mbps
-- 4: 11 Mbps
-+ 4: 11 Mbps
- 5: 6 Mbps //WirelessMode must be 0
- 6: 9 Mbps //WirelessMode must be 0
- 7: 12 Mbps //WirelessMode must be 0
-@@ -210,13 +211,13 @@
-
- 23. AdhocOfdm=value
- value
-- 0: Tx MAX rate will be 11Mbps in Adhoc mode.
-- 1: Tx MAX rate will be 54Mbps in Adhoc mode.
-+ 0: Tx MAX rate will be 11Mbps in Adhoc mode.
-+ 1: Tx MAX rate will be 54Mbps in Adhoc mode.
-
- 24. StaWithEtherBridge=value
- value
-- 0: Disable sta with ethernet to wireless bridge.
-- 1: Enable sta with ethernet to wireless bridge.
-+ 0: Disable sta with ethernet to wireless bridge.
-+ 1: Enable sta with ethernet to wireless bridge.
-
-
- MORE INFORMATION
-@@ -224,25 +225,25 @@
- If you want for rt2500 driver to auto-load at boot time:
- A) choose ra0 for first RT2500 WLAN card, ra1 for second RT2500 WLAN
- card, etc.
--
--B) create(edit) 'ifcfg-ra0' file in /etc/sysconfig/network-scripts/,
-+
-+B) create(edit) 'ifcfg-ra0' file in /etc/sysconfig/network-scripts/,
- edit( or add the line) in /etc/modules.conf:
-- alias ra0 rt2500
--
--C) edit(create) the file /etc/sysconfig/network-scripts/ifcfg-ra0
-+ alias ra0 rt2500
-+
-+C) edit(create) the file /etc/sysconfig/network-scripts/ifcfg-ra0
- DEVICE='ra0'
-- ONBOOT='yes'
-+ ONBOOT='yes'
-
-
- NOTE:
- if you use dhcp, add this line too .
- BOOTPROTO='dhcp'
-
--*D) To ease the Default Gateway setting,
-+*D) To ease the Default Gateway setting,
- add the line
-- GATEWAY=x.x.x.x
-+ GATEWAY=x.x.x.x
- in /etc/sysconfig/network
--
-+
- INFORMATION FOR FEDORA CORE 3 USERS (USE AT YOUR OWN RISK !!!)
- ======================================================================
- While this information is directed to Fedora Core 3 users, there is no
-@@ -267,8 +268,8 @@
- alias added to modprobe.conf (2.6 kernels) or modules.conf
- (2.4 kernels).
-
--Start 'system-config-network',
--New->Wireless connection,
-+Start 'system-config-network',
-+New->Wireless connection,
- Select 'RaLink Ralink RT2500 802.11 Cardbus Reference Card (wlan0)'
- If it does not appear, well then it didn't work for you :)
-
-diff -Nur rt2500-1.1.0-b4/Module/TESTING rt2500-cvs-2007061011/Module/TESTING
---- rt2500-1.1.0-b4/Module/TESTING 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/TESTING 2007-05-29 05:54:39.000000000 +0200
-@@ -1,51 +1,63 @@
--Below is information on how you can help out the team with testing
--of the rt2500 kernel module.
-+Below are the steps you need to follow to help out the team with
-+testing/debugging of the rt2500 kernel module:
-
--1. Get the latest source from the CVS tree. Easiest way todo this is to
--get the nightly tarball from our website at
-- http://rt2x00.serialmonkey.com/rt2500-cvs-daily.tar.gz
--
--2. Enable module debugging. Todo this run 'make clean' to remove any
--compiled objects you have and then run 'make debug'.
--This will recompile the Module with debugging turned on and reinstall
--it over your existing module.
--
--3. Install the module as per the INSTALL instructions.
-- e.g. make install
--
--4. Ensure there are no compies of the module in memory.
-- ifconfig ra0 down
-- rmmod rt2500
--
--5. Load the module with full debug enabled using the commands
-- modprobe rt2500 debug=1
--
--6. Check the output of your syslog (most likely /var/log/messages).
--If you don't see any debug you need to add the following line to
--your /etc/syslog.conf and reboot.
-- kern.* /var/log/debug
--
--7. Any bugs/issues you find please report the following information
--to the rt2400-devel mailing list
-- * Steps to reproduce
-- * The whole contents of your debugging output
-- * Your hardware architecture (i.e. x86, AMD64, Sparc)
-- * Your kernel version (i.e. 2.4.25 or 2.6.4)
-- * Your rt2400 hardware manufacturer and model
-- * Anything else you may think will help us resolve the issue
-- (even a patch if you are so inclined)
--
--8. Sign up to the rt2400-devel mailing list and watch out for requests
--for testing. Whenever we do major changes to the source and always
--just before a release we will call for testing to be done before we
--make the general release.
-+
-+1. Get the latest source from the CVS tree.
-+ Easiest way to do this is to download the hourly tarball from our website:
-+ http://rt2x00.serialmonkey.com/rt2500-cvs-daily.tar.gz
-+ Alternatively, you can anonymously check out the current CVS code:
-+ $ cvs -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 login
-+ $ cvs -z3 -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 \
-+ co -P source/rt2500
-+
-+2. Compile the module with debug logging:
-+ $ make clean
-+ $ make debug
-+
-+3. Ensure there are no copies of the module left in memory:
-+ # ifconfig ra0 down
-+ # rmmod rt2500
-+
-+4. Load the module with full debug enabled:
-+ # insmod rt2500.ko debug=31
-+ Then proceed as usual (config, ifup, etc)...
-+
-+5. Check the debug output.
-+ It is located in your system log file (most likely /var/log/debug or
-+ /var/log/syslog). If you don't see any debug you probably need to add the
-+ following line to your /etc/syslog.conf and reboot:
-+ kern.=debug /var/log/debug
-+ If you system hard-locks before it's able to log anything interesting
-+ in these files, you'll have to rely on the netconsole module to remotely
-+ log your kernel messages to another box (see netconsole.txt in your
-+ kernel sources Documentation folder).
-+
-+6. Report the following to the rt2400-devel mailing list (or rt2500 forum):
-+ * Steps to reproduce the bug
-+ * The _whole_content_ of your debugging output
-+ * Your module details, i.e. the output of:
-+ # modinfo rt2500.ko
-+ * Your kernel details, i.e. the output of:
-+ $ uname -a
-+ * Your rt2500 hardware manufacturer, model and revision
-+ * Anything else you think may help us resolve the issue (even a patch if
-+ you are so inclined)
-+
-+7. Monitor the mailing list (or forum thread) for replies/further queries. :-)
-+
-+
-+Whenever we do major changes to the source - and always just before a release -
-+we will call for testing to be done before we make the general release. You're
-+very much welcome to help us with this testing and report any success/issue you
-+experience with this code.
-
-
- !!!! NOTE !!!!
-
--AS PER STEP 7 ABOVE. Please provide the whole debug output. The last
--few lines are hardly any good. If it's large (which it will be) then
--GZip it and either upload it somewhere and give it a link or email
--it directly to the developer you are working with.
-+AS PER STEP 6 ABOVE: Please provide the *whole* debug output! The last few lines
-+are hardly any good.
-+If it's large (which it will be) then GZip it. Either attach it to your forum
-+post or, if you're going to report via the mailing list, upload it somewhere and
-+give a link to it (or email it directly to the developer you are working with).
-
--!!!! END NOTE !!!!
-+!!!! END NOTE !!!!
-diff -Nur rt2500-1.1.0-b4/Module/assoc.c rt2500-cvs-2007061011/Module/assoc.c
---- rt2500-1.1.0-b4/Module/assoc.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/assoc.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: assoc.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: assoc.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW 5th Jun 05 Fix no-SSID broadcasting assoc.
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -78,15 +78,15 @@
- };
- UCHAR CipherSuiteWpaPskAesLen = (sizeof(CipherSuiteWpaPskAes) / sizeof(UCHAR));
-
--/*
-+/*
- ==========================================================================
-- Description:
-+ Description:
- association state machine init, including state transition and timer init
-- Parameters:
-+ Parameters:
- S - pointer to the association state machine
- Note:
-- The state machine looks like the following
--
-+ The state machine looks like the following
-+
- ASSOC_IDLE ASSOC_WAIT_RSP REASSOC_WAIT_RSP DISASSOC_WAIT_RSP
- MT2_MLME_ASSOC_REQ mlme_assoc_req_action invalid_state_when_assoc invalid_state_when_assoc invalid_state_when_assoc
- MT2_MLME_REASSOC_REQ mlme_reassoc_req_action invalid_state_when_reassoc invalid_state_when_reassoc invalid_state_when_reassoc
-@@ -103,9 +103,9 @@
- ==========================================================================
- */
- VOID AssocStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(S, (STATE_MACHINE_FUNC*)Trans, MAX_ASSOC_STATE, MAX_ASSOC_MSG, (STATE_MACHINE_FUNC)Drop, ASSOC_IDLE, ASSOC_MACHINE_BASE);
-
-@@ -115,7 +115,7 @@
- StateMachineSetAction(S, ASSOC_IDLE, MT2_MLME_DISASSOC_REQ, (STATE_MACHINE_FUNC)MlmeDisassocReqAction);
- StateMachineSetAction(S, ASSOC_IDLE, MT2_PEER_DISASSOC_REQ, (STATE_MACHINE_FUNC)PeerDisassocAction);
- // StateMachineSetAction(S, ASSOC_IDLE, MT2_CLS3ERR, (STATE_MACHINE_FUNC)Cls3errAction);
--
-+
- // second column
- StateMachineSetAction(S, ASSOC_WAIT_RSP, MT2_MLME_ASSOC_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenAssoc);
- StateMachineSetAction(S, ASSOC_WAIT_RSP, MT2_MLME_REASSOC_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenReassoc);
-@@ -151,14 +151,14 @@
- /*
- ==========================================================================
- Description:
-- Association timeout procedure. After association timeout, this function
-+ Association timeout procedure. After association timeout, this function
- will be called and it will put a message into the MLME queue
- Parameters:
- Standard timer parameters
- ==========================================================================
- */
- VOID AssocTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - enqueue MT2_ASSOC_TIMEOUT \n");
-@@ -169,14 +169,14 @@
- /*
- ==========================================================================
- Description:
-- Reassociation timeout procedure. After reassociation timeout, this
-+ Reassociation timeout procedure. After reassociation timeout, this
- function will be called and put a message into the MLME queue
- Parameters:
- Standard timer parameters
- ==========================================================================
- */
- VOID ReassocTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - enqueue MT2_REASSOC_TIMEOUT \n");
-@@ -187,14 +187,14 @@
- /*
- ==========================================================================
- Description:
-- Disassociation timeout procedure. After disassociation timeout, this
-+ Disassociation timeout procedure. After disassociation timeout, this
- function will be called and put a message into the MLME queue
- Parameters:
- Standard timer parameters
- ==========================================================================
- */
- VOID DisassocTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - enqueue MT2_DISASSOC_TIMEOUT \n");
-@@ -222,8 +222,8 @@
- ==========================================================================
- */
- VOID MlmeAssocReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR ApAddr;
- MACHDR AssocHdr;
-@@ -243,9 +243,9 @@
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Block Assoc request durning WPA block period!\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_STATE_MACHINE_REJECT);
-- }
-+ }
- // check sanity first
-- else if (MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
-+ else if (MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
- {
- RTMPCancelTimer(&pAd->Mlme.AssocAux.AssocTimer);
- COPY_MAC_ADDR(&pAd->Mlme.AssocAux.Addr, &ApAddr);
-@@ -255,23 +255,23 @@
- pAd->Mlme.AssocAux.ListenIntv = ListenIntv;
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-+ if (NStatus != NDIS_STATUS_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeAssocReqAction() allocate memory failed \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_FAIL_NO_RESOURCE);
- return;
- }
--
-+
- // Add by James 03/06/27
- pAd->PortCfg.AssocInfo.Length = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION); //+ sizeof(NDIS_802_11_FIXED_IEs); // Filled in assoc request
- pAd->PortCfg.AssocInfo.AvailableRequestFixedIEs =
- NDIS_802_11_AI_REQFI_CAPABILITIES | NDIS_802_11_AI_REQFI_LISTENINTERVAL | NDIS_802_11_AI_REQFI_CURRENTAPADDRESS;
- pAd->PortCfg.AssocInfo.RequestFixedIEs.Capabilities = CapabilityInfo;
-- pAd->PortCfg.AssocInfo.RequestFixedIEs.ListenInterval = ListenIntv;
-+ pAd->PortCfg.AssocInfo.RequestFixedIEs.ListenInterval = ListenIntv;
- memcpy(pAd->PortCfg.AssocInfo.RequestFixedIEs.CurrentAPAddress, &AssocHdr, sizeof(NDIS_802_11_MAC_ADDRESS));
- pAd->PortCfg.AssocInfo.OffsetRequestIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION); // No request Variables IEs
--
-+
- // First add SSID
- VarIesOffset = 0;
- memcpy(pAd->PortCfg.ReqVarIEs + VarIesOffset, &SsidIe, 1);
-@@ -299,7 +299,7 @@
- 2, &CapabilityInfo,
- 2, &ListenIntv,
- 1, &SsidIe,
-- 1, &pAd->Mlme.SyncAux.SsidLen,
-+ 1, &pAd->Mlme.SyncAux.SsidLen,
- pAd->Mlme.SyncAux.SsidLen, pAd->Mlme.SyncAux.Ssid,
- 1, &RateIe,
- 1, &pAd->PortCfg.SupRateLen,
-@@ -310,11 +310,11 @@
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
- 1, &ExtRateIe,
- 1, &pAd->PortCfg.ExtRateLen,
-- pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
-+ pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
- END_OF_ARGS);
- FrameLen += tmp;
- }
--
-+
- if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled))
- {
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
-@@ -323,7 +323,7 @@
- CipherSuiteWpaTkipLen, &CipherSuiteWpaTkip[0],
- END_OF_ARGS);
- FrameLen += tmp;
--
-+
- // Add by James 03/06/27
- // Third add RSN
- memcpy(pAd->PortCfg.ReqVarIEs + VarIesOffset, &WpaIe, 1);
-@@ -339,9 +339,9 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
--
-+
- else if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled))
- {
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
-@@ -350,7 +350,7 @@
- CipherSuiteWpaAesLen, &CipherSuiteWpaAes[0],
- END_OF_ARGS);
- FrameLen += tmp;
--
-+
- // Add by James 03/06/27
- // Third add RSN
- memcpy(pAd->PortCfg.ReqVarIEs + VarIesOffset, &WpaIe, 1);
-@@ -366,7 +366,7 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- else if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled))
- {
-@@ -392,7 +392,7 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- else if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK) && (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled))
- {
-@@ -418,7 +418,7 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- else
- {
-@@ -429,14 +429,14 @@
-
- // OffsetResponseIEs follow ReqVarIE
- pAd->PortCfg.AssocInfo.OffsetResponseIEs = sizeof(NDIS_802_11_ASSOCIATION_INFORMATION) + pAd->PortCfg.ReqVarIELen;
-- // End Add by James
-+ // End Add by James
- }
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
--
-+
- RTMPSetTimer(pAd, &pAd->Mlme.AssocAux.AssocTimer, Timeout);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_WAIT_RSP;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeAssocReqAction() sanity check failed. BUG!!!!!! \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -450,7 +450,7 @@
- Description:
- mlme reassoc req handling procedure
- Parameters:
-- Elem -
-+ Elem -
- Pre:
- -# SSID (Adapter->PortCfg.ssid[])
- -# BSSID (AP address, Adapter->PortCfg.bssid)
-@@ -460,8 +460,8 @@
- ==========================================================================
- */
- VOID MlmeReassocReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR ApAddr;
- MACHDR ReassocHdr;
-@@ -479,14 +479,14 @@
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Block ReAssoc request durning WPA block period!\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_STATE_MACHINE_REJECT);
-- }
-+ }
- // the parameters are the same as the association
-- else if(MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
-+ else if(MlmeAssocReqSanity(pAd, Elem->Msg, Elem->MsgLen, &ApAddr, &CapabilityInfo, &Timeout, &ListenIntv))
- {
- RTMPCancelTimer(&pAd->Mlme.AssocAux.ReassocTimer);
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if(NStatus != NDIS_STATUS_SUCCESS)
-+ if(NStatus != NDIS_STATUS_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeReassocReqAction() allocate memory failed \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -509,8 +509,8 @@
- 2, &ListenIntv,
- ETH_ALEN, &pAd->PortCfg.Bssid,
- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-+ 1, &pAd->PortCfg.SsidLen,
-+ pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
- 1, &RateIe,
- 1, &pAd->PortCfg.SupRateLen,
- pAd->PortCfg.SupRateLen, pAd->PortCfg.SupRate,
-@@ -520,16 +520,16 @@
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
- 1, &ExtRateIe,
- 1, &pAd->PortCfg.ExtRateLen,
-- pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
-+ pAd->PortCfg.ExtRateLen, pAd->PortCfg.ExtRate,
- END_OF_ARGS);
- FrameLen += tmp;
- }
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
--
-+
- RTMPSetTimer(pAd, &pAd->Mlme.AssocAux.ReassocTimer, Timeout); /* in mSec */
- pAd->Mlme.AssocMachine.CurrState = REASSOC_WAIT_RSP;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE,"ASSOC - MlmeReassocReqAction() sanity check failed. BUG!!!! \n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -546,8 +546,8 @@
- ==========================================================================
- */
- VOID MlmeDisassocReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_DISASSOC_REQ_STRUCT *DisassocReq;
- MACHDR DisassocHdr;
-@@ -560,25 +560,25 @@
- DisassocReq = (MLME_DISASSOC_REQ_STRUCT *)(Elem->Msg);
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-+ if (NStatus != NDIS_STATUS_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - MlmeDisassocReqAction() allocate memory failed\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_DISASSOC_CONF, MLME_FAIL_NO_RESOURCE);
- return;
- }
--
-+
- RTMPCancelTimer(&pAd->Mlme.AssocAux.DisassocTimer);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Send DISASSOC request\n");
- MgtMacHeaderInit(pAd, &DisassocHdr, SUBTYPE_DISASSOC, 0, &pAd->PortCfg.Bssid, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &DisassocHdr,
-- 2, &DisassocReq->Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &DisassocHdr,
-+ 2, &DisassocReq->Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- memset(&(pAd->PortCfg.Bssid), 0, ETH_ALEN);
--
-+
- pAd->PortCfg.DisassocReason = REASON_DISASSOC_STA_LEAVING;
- COPY_MAC_ADDR(&pAd->PortCfg.DisassocSta, &DisassocReq->Addr);
-
-@@ -595,31 +595,31 @@
- ==========================================================================
- */
- VOID PeerAssocRspAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT CapabilityInfo, Status, Aid;
- UCHAR Rates[MAX_LEN_OF_SUPPORTED_RATES], RatesLen;
- MACADDR Addr2;
- BOOLEAN ExtendedRateIeExist;
-
-- if (PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
-+ if (PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
- {
- // The frame is for me ?
-- if(MAC_ADDR_EQUAL(&Addr2, &pAd->Mlme.AssocAux.Addr))
-+ if(MAC_ADDR_EQUAL(&Addr2, &pAd->Mlme.AssocAux.Addr))
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - receive ASSOC_RSP to me (status=%d)\n", Status);
- RTMPCancelTimer(&pAd->Mlme.AssocAux.AssocTimer);
-- if(Status == MLME_SUCCESS)
-+ if(Status == MLME_SUCCESS)
- {
- // go to procedure listed on page 376
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO; // pAd->PortCfg.SupportedCapabilityInfo;
- AssocPostProc(pAd, &Addr2, CapabilityInfo, Aid, Rates, RatesLen, ExtendedRateIeExist);
-- }
-+ }
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, Status);
-- }
-+ }
- }
- else
- {
-@@ -636,8 +636,8 @@
- ==========================================================================
- */
- VOID PeerReassocRspAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT CapabilityInfo;
- USHORT Status;
-@@ -647,24 +647,24 @@
- MACADDR Addr2;
- BOOLEAN ExtendedRateIeExist;
-
-- if(PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
-+ if(PeerAssocRspSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &CapabilityInfo, &Status, &Aid, Rates, &RatesLen, &ExtendedRateIeExist))
- {
- if(MAC_ADDR_EQUAL(&Addr2, &pAd->Mlme.AssocAux.Addr)) // The frame is for me ?
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - receive REASSOC_RSP to me (status=%d)\n", Status);
- RTMPCancelTimer(&pAd->Mlme.AssocAux.ReassocTimer);
--
-- if(Status == MLME_SUCCESS)
-+
-+ if(Status == MLME_SUCCESS)
- {
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO; // pAd->PortCfg.SupportedCapabilityInfo;
- // go to procedure listed on page 376
- AssocPostProc(pAd, &Addr2, CapabilityInfo, Aid, Rates, RatesLen, ExtendedRateIeExist);
-- }
-+ }
-
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_REASSOC_CONF, Status);
-- }
-+ }
- }
- else
- {
-@@ -675,28 +675,28 @@
- /*
- ==========================================================================
- Description:
-- procedures on IEEE 802.11/1999 p.376
-+ procedures on IEEE 802.11/1999 p.376
- Parametrs:
- ==========================================================================
- */
- VOID AssocPostProc(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACADDR Addr2,
-- IN USHORT CapabilityInfo,
-- IN USHORT Aid,
-- IN UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACADDR Addr2,
-+ IN USHORT CapabilityInfo,
-+ IN USHORT Aid,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
-- IN BOOLEAN ExtendedRateIeExist)
-+ IN BOOLEAN ExtendedRateIeExist)
- {
- ULONG Idx;
- UCHAR RateIe = IE_SUPP_RATES;
- UCHAR VarIesOffset;
-
-- // 2003/12/11 - skip the following because experiment show that we can not
-+ // 2003/12/11 - skip the following because experiment show that we can not
- // trust the "privacy" bit in AssocRsp. We can only trust "Privacy" bit specified in
- // BEACON and ProbeRsp.
- // pAd->PortCfg.PrivacyInvoked = CAP_IS_PRIVACY_ON(CapabilityInfo);
--
-+
- pAd->PortCfg.Aid = Aid;
- memcpy(pAd->PortCfg.SupportedRates, Rates, RatesLen);
- pAd->PortCfg.SupportedRatesLen = RatesLen;
-@@ -709,7 +709,7 @@
-
- // Set New WPA information
- Idx = BssTableSearch(&pAd->PortCfg.BssTab, Addr2);
-- if (Idx == BSS_NOT_FOUND)
-+ if (Idx == BSS_NOT_FOUND)
- {
- DBGPRINT(RT_DEBUG_ERROR, "ASSOC - Can't find BSS after receiving Assoc response\n");
- }
-@@ -736,7 +736,7 @@
- // Second add RSN
- memcpy(pAd->PortCfg.ResVarIEs + VarIesOffset, pAd->PortCfg.BssTab.BssEntry[Idx].VarIEs, pAd->PortCfg.BssTab.BssEntry[Idx].VarIELen);
- VarIesOffset += pAd->PortCfg.BssTab.BssEntry[Idx].VarIELen;
--
-+
- // Set Variable IEs Length
- pAd->PortCfg.ResVarIELen = VarIesOffset;
- pAd->PortCfg.AssocInfo.ResponseIELength = VarIesOffset;
-@@ -747,22 +747,22 @@
- /*
- ==========================================================================
- Description:
-- left part of IEEE 802.11/1999 p.374
-+ left part of IEEE 802.11/1999 p.374
- Parameters:
- Elem - MLME message containing the received frame
- ==========================================================================
- */
- VOID PeerDisassocAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- USHORT Reason;
-
-- if(PeerDisassocSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Reason))
-+ if(PeerDisassocSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Reason))
- {
-- if (INFRA_ON(pAd) && MAC_ADDR_EQUAL(&pAd->PortCfg.Bssid, &Addr2))
-- {
-+ if (INFRA_ON(pAd) && MAC_ADDR_EQUAL(&pAd->PortCfg.Bssid, &Addr2))
-+ {
- LinkDown(pAd);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-
-@@ -786,8 +786,8 @@
- ==========================================================================
- */
- VOID AssocTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - AssocTimeoutAction\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -801,8 +801,8 @@
- ==========================================================================
- */
- VOID ReassocTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - ReassocTimeoutAction\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -816,8 +816,8 @@
- ==========================================================================
- */
- VOID DisassocTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - DisassocTimeoutAction\n");
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
-@@ -825,30 +825,30 @@
- }
-
- VOID InvalidStateWhenAssoc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenAssoc(state=%d), reset ASSOC state machine\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenAssoc(state=%d), reset ASSOC state machine\n",
- pAd->Mlme.AssocMachine.CurrState);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_ASSOC_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
- VOID InvalidStateWhenReassoc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenReassoc(state=%d), reset ASSOC state machine\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenReassoc(state=%d), reset ASSOC state machine\n",
- pAd->Mlme.AssocMachine.CurrState);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_REASSOC_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
- VOID InvalidStateWhenDisassociate(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenDisassoc(state=%d), reset ASSOC state machine\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "ASSOC - InvalidStateWhenDisassoc(state=%d), reset ASSOC state machine\n",
- pAd->Mlme.AssocMachine.CurrState);
- pAd->Mlme.AssocMachine.CurrState = ASSOC_IDLE;
- MlmeCntlConfirm(pAd, MT2_DISASSOC_CONF, MLME_STATE_MACHINE_REJECT);
-@@ -858,15 +858,15 @@
- ==========================================================================
- Description:
- right part of IEEE 802.11/1999 page 374
-- Note:
-+ Note:
- This event should never cause ASSOC state machine perform state
- transition, and has no relationship with CNTL machine. So we separate
- this routine as a service outside of ASSOC state transition table.
- ==========================================================================
- */
- VOID Cls3errAction(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACADDR pAddr)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACADDR pAddr)
- {
- MACHDR DisassocHdr;
- CHAR *OutBuffer = NULL;
-@@ -875,19 +875,19 @@
- USHORT Reason = REASON_CLS3ERR;
-
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-+ if (NStatus != NDIS_STATUS_SUCCESS)
- return;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "ASSOC - Class 3 Error, Send DISASSOC frame\n");
- MgtMacHeaderInit(pAd, &DisassocHdr, SUBTYPE_DISASSOC, 0, pAddr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &DisassocHdr,
-- 2, &Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &DisassocHdr,
-+ 2, &Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
-
- pAd->PortCfg.DisassocReason = REASON_CLS3ERR;
- COPY_MAC_ADDR(&pAd->PortCfg.DisassocSta, pAddr);
- }
--
-+
-
-diff -Nur rt2500-1.1.0-b4/Module/auth.c rt2500-cvs-2007061011/Module/auth.c
---- rt2500-1.1.0-b4/Module/auth.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/auth.c 2007-05-06 11:13:44.000000000 +0200
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: auth.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: auth.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -41,7 +41,7 @@
- Sm - pointer to the auth state machine
- Note:
- The state machine looks like this
--
-+
- AUTH_REQ_IDLE AUTH_WAIT_SEQ2 AUTH_WAIT_SEQ4
- MT2_MLME_AUTH_REQ mlme_auth_req_action invalid_state_when_auth invalid_state_when_auth
- MT2_MLME_DEAUTH_REQ mlme_deauth_req_action mlme_deauth_req_action mlme_deauth_req_action
-@@ -52,12 +52,12 @@
- */
-
- void AuthStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *Sm,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *Sm,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(Sm, (STATE_MACHINE_FUNC*)Trans, MAX_AUTH_STATE, MAX_AUTH_MSG, (STATE_MACHINE_FUNC)Drop, AUTH_REQ_IDLE, AUTH_MACHINE_BASE);
--
-+
- // the first column
- StateMachineSetAction(Sm, AUTH_REQ_IDLE, MT2_MLME_AUTH_REQ, (STATE_MACHINE_FUNC)MlmeAuthReqAction);
- // StateMachineSetAction(Sm, AUTH_REQ_IDLE, MT2_MLME_DEAUTH_REQ, (STATE_MACHINE_FUNC)MlmeDeauthReqAction);
-@@ -69,14 +69,14 @@
- // StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_CLS2ERR, (STATE_MACHINE_FUNC)Cls2errAction);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_PEER_AUTH_EVEN, (STATE_MACHINE_FUNC)PeerAuthRspAtSeq2Action);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ2, MT2_AUTH_TIMEOUT, (STATE_MACHINE_FUNC)AuthTimeoutAction);
--
-+
- // the third column
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_MLME_AUTH_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenAuth);
- // StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_MLME_DEAUTH_REQ, (STATE_MACHINE_FUNC)MlmeDeauthReqAction);
- // StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_CLS2ERR, (STATE_MACHINE_FUNC)Cls2errAction);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_PEER_AUTH_EVEN, (STATE_MACHINE_FUNC)PeerAuthRspAtSeq4Action);
- StateMachineSetAction(Sm, AUTH_WAIT_SEQ4, MT2_AUTH_TIMEOUT, (STATE_MACHINE_FUNC)AuthTimeoutAction);
--
-+
- RTMPInitTimer(pAd, &pAd->Mlme.AuthAux.AuthTimer, AuthTimeout);
- }
-
-@@ -90,7 +90,7 @@
- IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AUTH - AuthTimeout\n");
- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_AUTH_TIMEOUT, 0, NULL);
- MlmeHandler(pAd);
-@@ -103,8 +103,8 @@
- ==========================================================================
- */
- VOID MlmeAuthReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr;
- USHORT Alg, Seq, Status;
-@@ -121,16 +121,15 @@
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, MLME_STATE_MACHINE_REJECT);
- }
-- else if(MlmeAuthReqSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr, &Timeout, &Alg))
-+ else if(MlmeAuthReqSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr, &Timeout, &Alg))
- {
-- // reset timer
-- RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
-+ RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
- pAd->Mlme.AuthAux.Addr = Addr;
- pAd->Mlme.AuthAux.Alg = Alg;
- pAd->PortCfg.Mauth = FALSE;
- Seq = 1;
- Status = MLME_SUCCESS;
--
-+
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if(NStatus != NDIS_STATUS_SUCCESS)
- {
-@@ -142,18 +141,18 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Send AUTH request seq#1 (Alg=%d)...\n", Alg);
- MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, &Addr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &AuthHdr,
-- 2, &Alg,
-- 2, &Seq,
-- 2, &Status,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &AuthHdr,
-+ 2, &Alg,
-+ 2, &Seq,
-+ 2, &Status,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
-
- RTMPSetTimer(pAd, &pAd->Mlme.AuthAux.AuthTimer, Timeout);
- pAd->Mlme.AuthMachine.CurrState = AUTH_WAIT_SEQ2;
-- }
-- else
-+ }
-+ else
- {
- printk(KERN_ERR DRV_NAME "AUTH - MlmeAuthReqAction() sanity check failed. BUG!!!!!\n");
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -167,8 +166,8 @@
- ==========================================================================
- */
- VOID PeerAuthRspAtSeq2Action(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- USHORT Seq, Status, RemoteStatus, Alg;
-@@ -180,21 +179,21 @@
- NDIS_STATUS NStatus;
- ULONG FrameLen = 0;
-
-- if (PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
-+ if (PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
- {
-- if (MAC_ADDR_EQUAL(&pAd->Mlme.AuthAux.Addr, &Addr2) && Seq == 2)
-+ if (MAC_ADDR_EQUAL(&pAd->Mlme.AuthAux.Addr, &Addr2) && Seq == 2)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Receive AUTH_RSP seq#2 to me (Alg=%d, Status=%d)\n", Alg, Status);
- RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
--
-- if (Status == MLME_SUCCESS)
-+
-+ if (Status == MLME_SUCCESS)
- {
-- if (pAd->Mlme.AuthAux.Alg == Ndis802_11AuthModeOpen)
-+ if (pAd->Mlme.AuthAux.Alg == Ndis802_11AuthModeOpen)
- {
- pAd->PortCfg.Mauth = TRUE;
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, MLME_SUCCESS);
-- }
-+ }
- else
- {
- // 2. shared key, need to be challenged
-@@ -208,7 +207,7 @@
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, MLME_FAIL_NO_RESOURCE);
- return;
- }
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Send AUTH request seq#3...\n");
- MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, &Addr2, &pAd->PortCfg.Bssid);
- AuthHdr.Wep = 1;
-@@ -234,9 +233,9 @@
- RTMPEncryptData(pAd, Element, CyperChlgText + 10, 2);
- RTMPEncryptData(pAd, ChlgText, CyperChlgText + 12, 128);
- RTMPSetICV(pAd, CyperChlgText + 140);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &AuthHdr,
-- CIPHER_TEXT_LEN + 16, CyperChlgText,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &AuthHdr,
-+ CIPHER_TEXT_LEN + 16, CyperChlgText,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- #ifdef BIG_ENDIAN
-@@ -245,8 +244,8 @@
- RTMPSetTimer(pAd, &pAd->Mlme.AuthAux.AuthTimer, AUTH_TIMEOUT);
- pAd->Mlme.AuthMachine.CurrState = AUTH_WAIT_SEQ4;
- }
-- }
-- else
-+ }
-+ else
- {
- pAd->PortCfg.AuthFailReason = Status;
- COPY_MAC_ADDR(&pAd->PortCfg.AuthFailSta, &Addr2);
-@@ -267,29 +266,29 @@
- ==========================================================================
- */
- VOID PeerAuthRspAtSeq4Action(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- USHORT Alg, Seq, Status;
- CHAR ChlgText[CIPHER_TEXT_LEN];
-
-- if(PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
-+ if(PeerAuthSanity(pAd, Elem->Msg, Elem->MsgLen, &Addr2, &Alg, &Seq, &Status, ChlgText))
- {
-- if(MAC_ADDR_EQUAL(&(pAd->Mlme.AuthAux.Addr), &Addr2) && Seq == 4)
-+ if(MAC_ADDR_EQUAL(&(pAd->Mlme.AuthAux.Addr), &Addr2) && Seq == 4)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Receive AUTH_RSP seq#4 to me\n");
- RTMPCancelTimer(&pAd->Mlme.AuthAux.AuthTimer);
--
-- if(Status == MLME_SUCCESS)
-+
-+ if(Status == MLME_SUCCESS)
- {
- pAd->PortCfg.Mauth = TRUE;
-- }
-- else
-+ }
-+ else
- {
- pAd->PortCfg.AuthFailReason = Status;
- pAd->PortCfg.AuthFailSta = Addr2;
-- }
-+ }
-
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- MlmeCntlConfirm(pAd, MT2_AUTH_CONF, Status);
-@@ -307,8 +306,8 @@
- ==========================================================================
- */
- VOID MlmeDeauthReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_DEAUTH_REQ_STRUCT *Info;
- MACHDR Hdr;
-@@ -329,12 +328,12 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Send DE-AUTH request...\n");
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_DEAUTH, 0, &Info->Addr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &Hdr,
-- 2, &Info->Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &Hdr,
-+ 2, &Info->Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
--
-+
- pAd->PortCfg.DeauthReason = Info->Reason;
- COPY_MAC_ADDR(&pAd->PortCfg.DeauthSta, &Info->Addr);
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -347,8 +346,8 @@
- ==========================================================================
- */
- VOID AuthTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - AuthTimeoutAction\n");
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -361,8 +360,8 @@
- ==========================================================================
- */
- VOID InvalidStateWhenAuth(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - InvalidStateWhenAuth (state=%d), reset AUTH state machine\n", pAd->Mlme.AuthMachine.CurrState);
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
-@@ -379,24 +378,24 @@
- ==========================================================================
- */
- VOID Cls2errAction(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACADDR pAddr)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACADDR pAddr)
- {
- MACHDR Hdr;
- UCHAR *OutBuffer = NULL;
- NDIS_STATUS NStatus;
- ULONG FrameLen = 0;
- USHORT Reason = REASON_CLS2ERR;
--
-+
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if (NStatus != NDIS_STATUS_SUCCESS)
- return;
-
- DBGPRINT(RT_DEBUG_TRACE, "AUTH - Class 2 error, Send DEAUTH frame...\n");
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_DEAUTH, 0, pAddr, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &Hdr,
-- 2, &Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &Hdr,
-+ 2, &Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
-
-diff -Nur rt2500-1.1.0-b4/Module/auth_rsp.c rt2500-cvs-2007061011/Module/auth_rsp.c
---- rt2500-1.1.0-b4/Module/auth_rsp.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/auth_rsp.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: auth_rsp.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: auth_rsp.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -40,8 +40,8 @@
- Parameters:
- Sm - the state machine
- Note:
-- the state machine looks like the following
--
-+ the state machine looks like the following
-+
- AUTH_RSP_IDLE AUTH_RSP_WAIT_CHAL
- MT2_AUTH_CHALLENGE_TIMEOUT auth_rsp_challenge_timeout_action auth_rsp_challenge_timeout_action
- MT2_PEER_AUTH_ODD peer_auth_at_auth_rsp_idle_action peer_auth_at_auth_rsp_wait_action
-@@ -49,9 +49,9 @@
- ==========================================================================
- */
- VOID AuthRspStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN PSTATE_MACHINE Sm,
-- IN STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN PSTATE_MACHINE Sm,
-+ IN STATE_MACHINE_FUNC Trans[])
- {
- ULONG NOW;
-
-@@ -83,10 +83,10 @@
- ==========================================================================
- */
- VOID AuthRspChallengeTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AUTH_RSP - AuthRspChallengeTimeout \n");
- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_RSP_STATE_MACHINE, MT2_AUTH_CHALLENGE_TIMEOUT, 0, NULL);
- MlmeHandler(pAd);
-@@ -98,12 +98,12 @@
- ==========================================================================
- */
- VOID PeerAuthSimpleRspGenAndSend(
-- IN PRTMP_ADAPTER pAd,
-- IN PMACHDR Hdr,
-- IN USHORT Alg,
-- IN USHORT Seq,
-- IN USHORT Reason,
-- IN USHORT Status)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMACHDR Hdr,
-+ IN USHORT Alg,
-+ IN USHORT Seq,
-+ IN USHORT Reason,
-+ IN USHORT Status)
- {
- MACHDR AuthHdr;
- UINT FrameLen = 0;
-@@ -118,11 +118,11 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, "Send AUTH response (seq#2)...\n");
- MgtMacHeaderInit(pAd, &AuthHdr, SUBTYPE_AUTH, 0, &Hdr->Addr2, &pAd->PortCfg.Bssid);
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- sizeof(MACHDR), &AuthHdr,
-- 2, &Alg,
-- 2, &Seq,
-- 2, &Reason,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ sizeof(MACHDR), &AuthHdr,
-+ 2, &Alg,
-+ 2, &Seq,
-+ 2, &Reason,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
-@@ -139,8 +139,8 @@
- ==========================================================================
- */
- VOID PeerDeauthAction(
-- IN PRTMP_ADAPTER pAd,
-- IN PMLME_QUEUE_ELEM Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN PMLME_QUEUE_ELEM Elem)
- {
- MACADDR Addr2;
- USHORT Reason;
-diff -Nur rt2500-1.1.0-b4/Module/connect.c rt2500-cvs-2007061011/Module/connect.c
---- rt2500-1.1.0-b4/Module/connect.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/connect.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: connect.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- * Ivo (rt2400) 15th Dec 04 Timing ESSID set
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: connect.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ * Ivo (rt2400) 15th Dec 04 Timing ESSID set
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -62,11 +62,11 @@
- ==========================================================================
- */
- VOID MlmeCntlInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
-- // Control state machine differs from other state machines, the interface
-+ // Control state machine differs from other state machines, the interface
- // follows the standard interface
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
- }
-@@ -77,9 +77,9 @@
- ==========================================================================
- */
- VOID MlmeCntlMachinePerformAction(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- switch (Elem->MsgType)
- {
-@@ -94,7 +94,7 @@
- return;
- }
-
-- switch(pAd->Mlme.CntlMachine.CurrState)
-+ switch(pAd->Mlme.CntlMachine.CurrState)
- {
- case CNTL_IDLE:
- CntlIdleProc(pAd, Elem);
-@@ -105,17 +105,17 @@
- case CNTL_WAIT_JOIN:
- CntlWaitJoinProc(pAd, Elem);
- break;
--
-+
- // CNTL_WAIT_REASSOC is the only state in CNTL machine that does
-- // not triggered directly or indirectly by "RTMPSetInformation(OID_xxx)".
-- // Therefore not protected by NDIS's "only one outstanding OID request"
-+ // not triggered directly or indirectly by "RTMPSetInformation(OID_xxx)".
-+ // Therefore not protected by NDIS's "only one outstanding OID request"
- // rule. Which means NDIS may SET OID in the middle of ROAMing attempts.
- // Current approach is to block new SET request at RTMPSetInformation()
- // when CntlMachine.CurrState is not CNTL_IDLE
- case CNTL_WAIT_REASSOC:
- CntlWaitReassocProc(pAd, Elem);
- break;
--
-+
- case CNTL_WAIT_START:
- CntlWaitStartProc(pAd, Elem);
- break;
-@@ -130,7 +130,7 @@
- break;
-
- case CNTL_WAIT_OID_LIST_SCAN:
-- if(Elem->MsgType == MT2_SCAN_CONF)
-+ if(Elem->MsgType == MT2_SCAN_CONF)
- {
- // Resume TxRing after SCANING complete. We hope the out-of-service time
- // won't be too long to let upper layer time-out the waiting frames
-@@ -143,9 +143,9 @@
- if (pAd->MediaState == NdisMediaStateDisconnected)
- MlmeAutoReconnectLastSSID(pAd);
- break;
--
-+
- case CNTL_WAIT_OID_DISASSOC:
-- if (Elem->MsgType == MT2_DISASSOC_CONF)
-+ if (Elem->MsgType == MT2_DISASSOC_CONF)
- {
- LinkDown(pAd);
-
-@@ -169,11 +169,11 @@
- ==========================================================================
- */
- VOID CntlIdleProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
--
-+
- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))
- {
- if (pAd->Mlme.CntlAux.CurrReqIsFromNdis)
-@@ -183,7 +183,7 @@
- return;
- }
-
-- switch(Elem->MsgType)
-+ switch(Elem->MsgType)
- {
- case OID_802_11_DISASSOCIATE:
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-@@ -198,7 +198,7 @@
- case MT2_MLME_ROAMING_REQ:
- CntlMlmeRoamingProc(pAd, Elem);
- break;
--
-+
- default:
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Illegal message in CntlIdleProc(MsgType=%d)\n",Elem->MsgType);
- break;
-@@ -220,7 +220,7 @@
- // for best SCANNING reult;
- AsicRestoreBbpSensibility(pAd);
-
-- // record current BSS if network is connected.
-+ // record current BSS if network is connected.
- // 2003-2-13 do not include current IBSS if this is the only STA in this IBSS.
- if (pAd->MediaState == NdisMediaStateConnected) // if (INFRA_ON(pAd) || ADHOC_ON(pAd))
- {
-@@ -230,19 +230,19 @@
- memcpy(&CurrBss, &pAd->PortCfg.BssTab.BssEntry[BssIdx], sizeof(BSS_ENTRY));
-
- // 2003-2-20 reset this RSSI to a low value but not zero. In normal case, the coming SCAN
-- // should return a correct RSSI to overwrite this. If no BEEACON received after SCAN,
-+ // should return a correct RSSI to overwrite this. If no BEEACON received after SCAN,
- // at least we still report a "greater than 0" RSSI since we claim it's CONNECTED.
- CurrBss.Rssi = 18; // about -82 dB
- }
- }
--
-+
- // clean up previous SCAN result, add current BSS back to table if any
-- BssTableInit(&pAd->PortCfg.BssTab);
-+ BssTableInit(&pAd->PortCfg.BssTab);
- if (BssIdx != BSS_NOT_FOUND)
- {
-- // DDK Note: If the NIC is associated with a particular BSSID and SSID
-- // that are not contained in the list of BSSIDs generated by this scan, the
-- // BSSID description of the currently associated BSSID and SSID should be
-+ // DDK Note: If the NIC is associated with a particular BSSID and SSID
-+ // that are not contained in the list of BSSIDs generated by this scan, the
-+ // BSSID description of the currently associated BSSID and SSID should be
- // appended to the list of BSSIDs in the NIC's database.
- // To ensure this, we append this BSS as the first entry in SCAN result
- memcpy(&pAd->PortCfg.BssTab.BssEntry[0], &CurrBss, sizeof(BSS_ENTRY));
-@@ -251,7 +251,7 @@
-
- BroadSsid[0] = '\0';
- ScanParmFill(pAd, &ScanReq, BroadSsid, 0, BSS_ANY, SCAN_PASSIVE);
-- MlmeEnqueue(&pAd->Mlme.Queue, SYNC_STATE_MACHINE, MT2_MLME_SCAN_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, SYNC_STATE_MACHINE, MT2_MLME_SCAN_REQ,
- sizeof(MLME_SCAN_REQ_STRUCT), &ScanReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_OID_LIST_SCAN;
- }
-@@ -262,15 +262,15 @@
- ==========================================================================
- */
- VOID CntlOidSsidProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM * Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM * Elem)
- {
- NDIS_802_11_SSID *OidSsid = (NDIS_802_11_SSID *)Elem->Msg;
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
- ULONG Now;
-
-- // Step 0.
-- // record the desired SSID and all matching BSSes into CntlAux.SsidBssTab for
-+ // Step 0.
-+ // record the desired SSID and all matching BSSes into CntlAux.SsidBssTab for
- // later-on iteration. Sort by RSSI order
- memcpy(pAd->Mlme.CntlAux.Ssid, OidSsid->Ssid, OidSsid->SsidLength);
- pAd->Mlme.CntlAux.SsidLen = (UCHAR)OidSsid->SsidLength;
-@@ -286,11 +286,11 @@
- if (((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA) || (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- (pAd->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED))
- {
-- // For WPA, WPA-PSK, if the 1x port is not secured, we have to redo
-+ // For WPA, WPA-PSK, if the 1x port is not secured, we have to redo
- // connection process
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- }
-@@ -299,7 +299,7 @@
- // Config has changed, we have to reconnect the same AP
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP Because config changed...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- }
-@@ -313,24 +313,24 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- }
-- else if (INFRA_ON(pAd))
-+ }
-+ }
-+ else if (INFRA_ON(pAd))
- {
- // case 1. active association existent
- // roaming is done within miniport driver, nothing to do with configuration
-- // utility. so upon a new SET(OID_802_11_SSID) is received, we just
-- // disassociate with the current (or previous) associated AP, if any,
-- // then perform a new association with this new SSID, no matter the
-+ // utility. so upon a new SET(OID_802_11_SSID) is received, we just
-+ // disassociate with the current (or previous) associated AP, if any,
-+ // then perform a new association with this new SSID, no matter the
- // new/old SSID are the same or npt.
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- }
- else
-- {
-+ {
- if (ADHOC_ON(pAd))
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - drop current ADHOC\n");
-@@ -356,7 +356,7 @@
- {
- IterateOnBssTab(pAd);
- }
-- }
-+ }
- }
-
- /*
-@@ -365,18 +365,18 @@
- ==========================================================================
- */
- VOID CntlOidRTBssidProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM * Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM * Elem)
- {
- ULONG BssIdx;
- MACADDR *pOidBssid = (MACADDR *)Elem->Msg;
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
- MLME_JOIN_REQ_STRUCT JoinReq;
--
-+
- COPY_MAC_ADDR(&pAd->Mlme.CntlAux.Bssid, pOidBssid);
- BssIdx = BssTableSearch(&pAd->PortCfg.BssTab, pOidBssid);
--
-- if (BssIdx == BSS_NOT_FOUND)
-+
-+ if (BssIdx == BSS_NOT_FOUND)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - BSSID not found. reply NDIS_STATUS_NOT_ACCEPTED\n");
- if (pAd->Mlme.CntlAux.CurrReqIsFromNdis)
-@@ -394,7 +394,7 @@
-
- // Add SSID into Mlme.CntlAux for site surey joining hidden SSID
- pAd->Mlme.CntlAux.SsidLen = pAd->Mlme.CntlAux.SsidBssTab.BssEntry[0].SsidLen;
-- memcpy(pAd->Mlme.CntlAux.Ssid, pAd->Mlme.CntlAux.SsidBssTab.BssEntry[0].Ssid, pAd->Mlme.CntlAux.SsidLen);
-+ memcpy(pAd->Mlme.CntlAux.Ssid, pAd->Mlme.CntlAux.SsidBssTab.BssEntry[0].Ssid, pAd->Mlme.CntlAux.SsidLen);
-
- // 2002-11-26 skip the following checking. i.e. if user wants to re-connect to same AP
- // we just follow normal procedure. The reason of user doing this may because he/she changed
-@@ -412,15 +412,15 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- else
-+ }
-+ else
- {
- if (INFRA_ON(pAd))
- {
- // disassoc from current AP first
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - disassociate with current AP ...\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_DISASSOC_STA_LEAVING);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
-@@ -434,7 +434,7 @@
- pAd->MediaState = NdisMediaStateDisconnected;
- DBGPRINT(RT_DEBUG_TRACE, "NDIS_STATUS_MEDIA_DISCONNECT Event C!\n");
- }
--
-+
- // No active association, join the BSS immediately
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - joining %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pOidBssid->Octet[0],pOidBssid->Octet[1],pOidBssid->Octet[2],
-@@ -444,27 +444,27 @@
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_JOIN;
- }
-- }
-+ }
- }
-
- // Roaming is the only external request triggering CNTL state machine
--// despite of other "SET OID" operation. All "SET OID" related oerations
-+// despite of other "SET OID" operation. All "SET OID" related oerations
- // happen in sequence, because no other SET OID will be sent to this device
- // until the the previous SET operation is complete (successful o failed).
- // So, how do we quarantee this ROAMING request won't corrupt other "SET OID"?
- // or been corrupted by other "SET OID"?
- VOID CntlMlmeRoamingProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- // TODO:
-+ // TODO:
- // AP in different channel may show lower RSSI than actual value??
- // should we add a weighting factor to compensate it?
- DBGPRINT(RT_DEBUG_TRACE,"CNTL - Roaming in CntlAux.RoamTab...\n");
- BssTableSortByRssi(&pAd->Mlme.CntlAux.RoamTab);
- pAd->Mlme.CntlAux.RoamIdx=0;
- IterateOnBssTab2(pAd);
--
-+
- }
-
- /*
-@@ -473,17 +473,17 @@
- ==========================================================================
- */
- VOID CntlWaitDisassocProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MLME_START_REQ_STRUCT StartReq;
--
-- if (Elem->MsgType == MT2_DISASSOC_CONF)
-+
-+ if (Elem->MsgType == MT2_DISASSOC_CONF)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Dis-associate successful\n");
- LinkDown(pAd);
-
-- // case 1. no matching BSS, and user wants ADHOC, so we just start a new one
-+ // case 1. no matching BSS, and user wants ADHOC, so we just start a new one
- if ((pAd->Mlme.CntlAux.SsidBssTab.BssNr==0) && (pAd->PortCfg.BssType == BSS_INDEP))
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - No matching BSS, start a new ADHOC (Ssid=%s)...\n",pAd->Mlme.CntlAux.Ssid);
-@@ -505,16 +505,16 @@
- ==========================================================================
- */
- VOID CntlWaitJoinProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
- MLME_AUTH_REQ_STRUCT AuthReq;
-
-- if (Elem->MsgType == MT2_JOIN_CONF)
-+ if (Elem->MsgType == MT2_JOIN_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- // 1. joined an IBSS, we are pretty much done here
- if (pAd->PortCfg.BssType == BSS_INDEP)
-@@ -524,9 +524,9 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-+ }
- // 2. joined a new INFRA network, start from authentication
-- else
-+ else
- {
- // either Ndis802_11AuthModeShared or Ndis802_11AuthModeAutoSwitch, try shared key first
- if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeShared) ||
-@@ -538,7 +538,7 @@
- {
- AuthParmFill(pAd, &AuthReq, &pAd->PortCfg.Bssid, Ndis802_11AuthModeOpen);
- }
-- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
- sizeof(MLME_AUTH_REQ_STRUCT), &AuthReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_AUTH;
-@@ -549,7 +549,7 @@
- // 3. failed, try next BSS
- pAd->Mlme.CntlAux.BssIdx++;
- IterateOnBssTab(pAd);
-- }
-+ }
- }
- }
-
-@@ -560,18 +560,18 @@
- ==========================================================================
- */
- VOID CntlWaitStartProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Result;
-
-- if (Elem->MsgType == MT2_START_CONF)
-+ if (Elem->MsgType == MT2_START_CONF)
- {
- memcpy(&Result, Elem->Msg, sizeof(USHORT));
-- if (Result == MLME_SUCCESS)
-+ if (Result == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - We have started a new ADHOC network\n");
-- DBGPRINT(RT_DEBUG_TRACE, "CNTL - BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "CNTL - BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pAd->PortCfg.Bssid.Octet[0],
- pAd->PortCfg.Bssid.Octet[1],
- pAd->PortCfg.Bssid.Octet[2],
-@@ -601,29 +601,29 @@
- ==========================================================================
- */
- VOID CntlWaitAuthProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
- MLME_ASSOC_REQ_STRUCT AssocReq;
- MLME_AUTH_REQ_STRUCT AuthReq;
-
-- if (Elem->MsgType == MT2_AUTH_CONF)
-+ if (Elem->MsgType == MT2_AUTH_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH OK\n");
-- AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
-+ AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
- ASSOC_TIMEOUT, pAd->PortCfg.DefaultListenCount);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
- sizeof(MLME_ASSOC_REQ_STRUCT), &AssocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_ASSOC;
-- }
-+ }
- else
- {
-- // This fail may because of the AP already keep us in its MAC table without
-+ // This fail may because of the AP already keep us in its MAC table without
- // ageing-out. The previous authentication attempt must have let it remove us.
- // so try Authentication again may help. For D-Link DWL-900AP+ compatibility.
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH FAIL, try again...\n");
-@@ -638,7 +638,7 @@
- AuthParmFill(pAd, &AuthReq, &pAd->PortCfg.Bssid, Ndis802_11AuthModeOpen);
- }
-
-- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
- sizeof(MLME_AUTH_REQ_STRUCT), &AuthReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_AUTH2;
-@@ -652,26 +652,26 @@
- ==========================================================================
- */
- VOID CntlWaitAuthProc2(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
- MLME_ASSOC_REQ_STRUCT AssocReq;
- MLME_AUTH_REQ_STRUCT AuthReq;
-
-- if (Elem->MsgType == MT2_AUTH_CONF)
-+ if (Elem->MsgType == MT2_AUTH_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH OK\n");
-- AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
-+ AssocParmFill(pAd, &AssocReq, &pAd->PortCfg.Bssid, pAd->PortCfg.CapabilityInfo,
- ASSOC_TIMEOUT, pAd->PortCfg.DefaultListenCount);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_ASSOC_REQ,
- sizeof(MLME_ASSOC_REQ_STRUCT), &AssocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_ASSOC;
-- }
-+ }
- else
- {
- if ((pAd->PortCfg.AuthMode == Ndis802_11AuthModeAutoSwitch) &&
-@@ -679,12 +679,12 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH FAIL, try OPEN system...\n");
- AuthParmFill(pAd, &AuthReq, &pAd->PortCfg.Bssid, Ndis802_11AuthModeOpen);
-- MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, AUTH_STATE_MACHINE, MT2_MLME_AUTH_REQ,
- sizeof(MLME_AUTH_REQ_STRUCT), &AuthReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_AUTH2;
- }
-- else
-+ else
- {
- // not success, try next BSS
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - AUTH FAIL, give up; try next BSS\n");
-@@ -693,7 +693,7 @@
- IterateOnBssTab(pAd);
- }
- }
-- }
-+ }
- }
-
- /*
-@@ -702,15 +702,15 @@
- ==========================================================================
- */
- VOID CntlWaitAssocProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Reason;
-
-- if (Elem->MsgType == MT2_ASSOC_CONF)
-+ if (Elem->MsgType == MT2_ASSOC_CONF)
- {
- memcpy(&Reason, Elem->Msg, sizeof(USHORT));
-- if (Reason == MLME_SUCCESS)
-+ if (Reason == MLME_SUCCESS)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Association successful on BSS #%d\n",pAd->Mlme.CntlAux.BssIdx);
- LinkUp(pAd, BSS_INFRA);
-@@ -718,8 +718,8 @@
- {
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- else
-+ }
-+ else
- {
- // not success, try next BSS
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Association fails on BSS #%d\n",pAd->Mlme.CntlAux.BssIdx);
-@@ -735,21 +735,21 @@
- ==========================================================================
- */
- VOID CntlWaitReassocProc(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- USHORT Result;
-
-- if (Elem->MsgType == MT2_REASSOC_CONF)
-+ if (Elem->MsgType == MT2_REASSOC_CONF)
- {
- memcpy(&Result, Elem->Msg, sizeof(USHORT));
-- if (Result == MLME_SUCCESS)
-+ if (Result == MLME_SUCCESS)
- {
- BSS_ENTRY *pBss = &pAd->Mlme.CntlAux.RoamTab.BssEntry[pAd->Mlme.CntlAux.RoamIdx];
-
- // COPY_MAC_ADDR(&pAd->PortCfg.Bssid, &pBss->Bssid);
- // AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
--
-+
- // The following steps are supposed to be done after JOIN in normal procedure
- // But since this RE-ASSOC skips the JOIN procedure, we have to do it after
- // RE-ASSOC succeeds. If RE-ASSOC fails, then stay at original AP without any change
-@@ -768,14 +768,14 @@
- pAd->PortCfg.CfpDurRemain = pBss->CfpDurRemaining;
- pAd->PortCfg.CfpCount = pBss->CfpCount;
-
-- //
-+ //
- // NDIS requires a new Link UP indication but no Link Down for RE-ASSOC
- //
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Re-assocition successful on BSS #%d\n", pAd->Mlme.CntlAux.RoamIdx);
- LinkUp(pAd, BSS_INFRA);
-- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-- else
-+ pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-+ }
-+ else
- {
- // reassoc failed, try to pick next BSS in the BSS Table
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Re-assocition fails on BSS #%d\n", pAd->Mlme.CntlAux.RoamIdx);
-@@ -792,7 +792,7 @@
- */
- VOID LinkUp(
- IN PRTMP_ADAPTER pAd,
-- IN UCHAR BssType)
-+ IN UCHAR BssType)
- {
- ULONG Now;
-
-@@ -810,7 +810,7 @@
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - !!! Set to short preamble!!!\n");
- MlmeSetTxPreamble(pAd, Rt802_11PreambleShort);
- }
--
-+
- pAd->PortCfg.BssType = BssType;
- if (BssType == BSS_INDEP)
- {
-@@ -856,11 +856,11 @@
- // NOTE:
- // the decision to use "RTC/CTS" or "CTS-to-self" protection or not may change dynamically
- // due to new STA association to the AP. so we have to decide that upon parsing BEACON, not here
--
-+
- ComposePsPoll(pAd);
- ComposeNullFrame(pAd);
- AsicEnableBssSync(pAd);
--
-+
- // only INFRASTRUCTURE mode need to indicate connectivity immediately; ADHOC mode
- // should wait until at least 2 active nodes in this BSSID.
- pAd->MediaState = NdisMediaStateConnected;
-@@ -885,7 +885,7 @@
- ==========================================================================
- */
- VOID LinkDown(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - !!! LINK DOWN !!!\n");
-
-@@ -913,7 +913,7 @@
- DBGPRINT(RT_DEBUG_TRACE, "NDIS_STATUS_MEDIA_DISCONNECT Event A!\n");
- BssTableDeleteEntry(&pAd->PortCfg.BssTab, &(pAd->PortCfg.Bssid));
-
-- // restore back to -
-+ // restore back to -
- // 1. long slot (20 us) or short slot (9 us) time
- // 2. turn on/off RTS/CTS and/or CTS-to-self protection
- // 3. short preamble
-@@ -970,9 +970,9 @@
- ==========================================================================
- */
- VOID MlmeCntlConfirm(
-- IN PRTMP_ADAPTER pAd,
-- IN ULONG MsgType,
-- IN USHORT Msg)
-+ IN PRTMP_ADAPTER pAd,
-+ IN ULONG MsgType,
-+ IN USHORT Msg)
- {
- MlmeEnqueue(&pAd->Mlme.Queue, MLME_CNTL_STATE_MACHINE, MsgType, sizeof(USHORT), &Msg);
- }
-@@ -983,16 +983,16 @@
- ==========================================================================
- */
- VOID IterateOnBssTab(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MLME_START_REQ_STRUCT StartReq;
- MLME_JOIN_REQ_STRUCT JoinReq;
- ULONG BssIdx;
-
- BssIdx = pAd->Mlme.CntlAux.BssIdx;
-- if (BssIdx < pAd->Mlme.CntlAux.SsidBssTab.BssNr)
-+ if (BssIdx < pAd->Mlme.CntlAux.SsidBssTab.BssNr)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "CNTL - Trying BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "CNTL - Trying BSSID %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pAd->Mlme.CntlAux.SsidBssTab.BssEntry[BssIdx].Bssid.Octet[0],
- pAd->Mlme.CntlAux.SsidBssTab.BssEntry[BssIdx].Bssid.Octet[1],
- pAd->Mlme.CntlAux.SsidBssTab.BssEntry[BssIdx].Bssid.Octet[2],
-@@ -1018,12 +1018,12 @@
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - All BSS fail; reply NDIS_STATUS_NOT_ACCEPTED\n");
- }
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-+ }
- }
-
- // for re-association only
- VOID IterateOnBssTab2(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MLME_REASSOC_REQ_STRUCT ReassocReq;
- ULONG BssIdx;
-@@ -1034,19 +1034,19 @@
-
- if (BssIdx < pAd->Mlme.CntlAux.RoamTab.BssNr)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "CNTL - try BSS #%d %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "CNTL - try BSS #%d %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- BssIdx, pBss->Bssid.Octet[0],pBss->Bssid.Octet[1],pBss->Bssid.Octet[2],
- pBss->Bssid.Octet[3],pBss->Bssid.Octet[4],pBss->Bssid.Octet[5]);
-
- AsicSwitchChannel(pAd, pBss->Channel);
- AsicLockChannel(pAd, pBss->Channel);
--
-+
- // reassociate message has the same structure as associate message
-- AssocParmFill(pAd, &ReassocReq, &pBss->Bssid, pBss->CapabilityInfo,
-+ AssocParmFill(pAd, &ReassocReq, &pBss->Bssid, pBss->CapabilityInfo,
- ASSOC_TIMEOUT, pAd->PortCfg.DefaultListenCount);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_REASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_REASSOC_REQ,
- sizeof(MLME_REASSOC_REQ_STRUCT), &ReassocReq);
--
-+
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_REASSOC;
- }
- else // no more BSS
-@@ -1055,7 +1055,7 @@
- AsicSwitchChannel(pAd, pAd->PortCfg.Channel);
- AsicLockChannel(pAd, pAd->PortCfg.Channel);
- pAd->Mlme.CntlMachine.CurrState = CNTL_IDLE;
-- }
-+ }
- }
-
- /*
-@@ -1064,9 +1064,9 @@
- ==========================================================================
- */
- VOID JoinParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
-- IN ULONG BssIdx)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
-+ IN ULONG BssIdx)
- {
- JoinReq->BssIdx = BssIdx;
- }
-@@ -1077,12 +1077,12 @@
- ==========================================================================
- */
- VOID AssocParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-- IN MACADDR *Addr,
-- IN USHORT CapabilityInfo,
-- IN ULONG Timeout,
-- IN USHORT ListenIntv)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-+ IN MACADDR *Addr,
-+ IN USHORT CapabilityInfo,
-+ IN ULONG Timeout,
-+ IN USHORT ListenIntv)
- {
- COPY_MAC_ADDR(&AssocReq->Addr, Addr);
- // Add mask to support 802.11b mode only
-@@ -1097,12 +1097,12 @@
- ==========================================================================
- */
- VOID ScanParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN UCHAR ScanType)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN UCHAR ScanType)
- {
- ScanReq->SsidLen = SsidLen;
- memcpy(ScanReq->Ssid, Ssid, SsidLen);
-@@ -1116,10 +1116,10 @@
- ==========================================================================
- */
- VOID DisassocParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-- IN MACADDR *Addr,
-- IN USHORT Reason)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-+ IN MACADDR *Addr,
-+ IN USHORT Reason)
- {
- COPY_MAC_ADDR(&DisassocReq->Addr, Addr);
- DisassocReq->Reason = Reason;
-@@ -1131,12 +1131,12 @@
- ==========================================================================
- */
- VOID StartParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_START_REQ_STRUCT *StartReq,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_START_REQ_STRUCT *StartReq,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen)
- {
-- memcpy(StartReq->Ssid, Ssid, SsidLen);
-+ memcpy(StartReq->Ssid, Ssid, SsidLen);
- StartReq->SsidLen = SsidLen;
- }
-
-@@ -1146,10 +1146,10 @@
- ==========================================================================
- */
- VOID AuthParmFill(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-- IN MACADDR *Addr,
-- IN USHORT Alg)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-+ IN MACADDR *Addr,
-+ IN USHORT Alg)
- {
- COPY_MAC_ADDR(&AuthReq->Addr, Addr);
- AuthReq->Alg = Alg;
-@@ -1187,9 +1187,9 @@
- ==========================================================================
- */
- ULONG MakeIbssBeacon(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
-- UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
-+ UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
- DsLen = 1, IbssLen = 2;
- UCHAR ExtRateIe = IE_EXT_SUPP_RATES, ExtRatesLen;
- UCHAR ErpIe[3] = {IE_ERP, 1, 0x04};
-@@ -1244,28 +1244,28 @@
-
- // compose IBSS beacon frame
- MgtMacHeaderInit(pAd, &BcnHdr, SUBTYPE_BEACON, 0, &pAd->PortCfg.Broadcast, &pAd->PortCfg.Bssid);
-- Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-- (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
-+ Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-+ (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
- (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled);
- CapabilityInfo = CAP_GENERATE(0, 1, 0, 0, Privacy, (pAd->PortCfg.WindowsTxPreamble == Rt802_11PreambleShort));
- if (SupportedRatesLen <= 8)
- {
- MakeOutgoingFrame(pBeaconFrame, &FrameLen,
-- MAC_HDR_LEN, &BcnHdr,
-+ MAC_HDR_LEN, &BcnHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- END_OF_ARGS);
- }
-@@ -1274,21 +1274,21 @@
- ExtRatesLen = SupportedRatesLen - 8;
- SupportedRatesLen = 8;
- MakeOutgoingFrame(pBeaconFrame, &FrameLen,
-- MAC_HDR_LEN, &BcnHdr,
-+ MAC_HDR_LEN, &BcnHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- 3, ErpIe,
- 1, &ExtRateIe,
-@@ -1301,7 +1301,7 @@
- {
- ULONG tmp;
- UCHAR WpaIe = IE_WPA;
--
-+
- if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) // Tkip
- {
- MakeOutgoingFrame(pBeaconFrame + FrameLen, &tmp,
-@@ -1325,7 +1325,7 @@
- RTMPFrameEndianChange(pAd, pBeaconFrame, DIR_WRITE, FALSE);
- #endif
-
-- RTMPWriteTxDescriptor(pTxD, FALSE, CIPHER_NONE, FALSE, FALSE, TRUE, SHORT_RETRY, IFS_NEW_BACKOFF,
-+ RTMPWriteTxDescriptor(pTxD, FALSE, CIPHER_NONE, FALSE, FALSE, TRUE, SHORT_RETRY, IFS_NEW_BACKOFF,
- pAd->PortCfg.MlmeRate, 4, FrameLen, pAd->PortCfg.TxPreambleInUsed, 0);
-
- DBGPRINT(RT_DEBUG_TRACE, "MakeIbssBeacon (len=%d)\n", FrameLen);
-diff -Nur rt2500-1.1.0-b4/Module/eeprom.c rt2500-cvs-2007061011/Module/eeprom.c
---- rt2500-1.1.0-b4/Module/eeprom.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/eeprom.c 2007-03-21 05:25:34.000000000 +0100
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: eeprom.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: eeprom.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -183,7 +183,7 @@
- RaiseClock(pAd, &x);
- LowerClock(pAd, &x);
-
-- // output the read_opcode and register number in that order
-+ // output the read_opcode and register number in that order
- ShiftOutBits(pAd, EEPROM_READ_OPCODE, 3);
- ShiftOutBits(pAd, Offset, pAd->EEPROMAddressNum);
-
-diff -Nur rt2500-1.1.0-b4/Module/iwpriv_usage.txt rt2500-cvs-2007061011/Module/iwpriv_usage.txt
---- rt2500-1.1.0-b4/Module/iwpriv_usage.txt 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/iwpriv_usage.txt 2007-01-09 12:47:14.000000000 +0100
-@@ -1,151 +1,161 @@
--
--This file provides some basic examples on the configuration of the driver using standard linux wireless tools. Where possible iwconfig should be used to adjust settings. Some settings are currently not avaiable via iwconfig and these include WPA, for these functions it is currently necessary to use iwpriv.
--
--
--Configuration Examples
--===================================================================
---------------------------------------------------------------------------------------------------------
--Example I: Config STA to link with AP which is OPEN/NONE(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwconfig ra0 key open
-- 3. iwconfig ra0 key off
-- 4. iwconfig ra0 essid "AP's SSID"
--
--Example II: Config STA to link with AP which is SHARED/WEP(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwconfig ra0 key restricted
-- 3. iwconfig ra0 Key [1] "s:AP's wep key"
-- 4. iwconfig ra0 key [1]
-- 5. iwconfig ra0 essid "AP's SSID"
--
--Example III: Config STA to create/link as adhoc mode
-- 1. iwconfig ra0 mode ad-hoc
-- 2. iwconfig ra0 key off
-- 4. iwconfig ra0 essid "AP's SSID"
--
--Example IV: Config STA to link with AP which is WPAPSK/TKIP(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwpriv ra0 set AuthMode=WPAPSK
-- 3. iwpriv ra0 set EncrypType=TKIP
-- 4. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-- 5. iwconfig ra0 essid "AP's SSID"
--
--Example V: Config STA to link with AP which is WPAPSK/AES(Authentication/Encryption)
-- 1. iwconfig ra0 mode managed
-- 2. iwpriv ra0 set AuthMode=WPAPSK
-- 3. iwpriv ra0 set EncrypType=AES
-- 5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-- 6. iwconfig ra0 essid "AP's SSID"
--
--
--
--iwpriv
--=================
--This is detailed explanation of each parameters for iwpriv.
--Before reading this document, make sure you already read README.
--
---------------------------------------------------------------------------------------------------------
--USAGE:
-- iwpriv ra0 set [parameters]=[val]
--
--where
--
--[parameters] [val] range explaination
------------------- ----------------------- ---------------------------------------------
--CountryRegion {0~7} Set country region
-- 0: use 1 ~ 11 Channel
-- 1: use 1 ~ 11 Channel
-- 2: use 1 ~ 13 Channel
-- 3: use 10, 11 Channel
-- 4: use 10 ~ 13 Channel
-- 5: use 14 Channel
-- 6: use 1 ~ 14 Channel
-- 7: use 3 ~ 9 Channel
--
--WirelessMode {0~2} Set Wireless Mode
-- 0:11b/g mixed, 1:11B only
--
--TxRate {0~12} Set TxRate
-- 0:Auto, 1:1Mbps, 2:2Mbps, 3:5.5Mbps, 4:11Mbps,
-- 5:6Mbps, 6:9Mbps, 7:12Mbps, 8:18Mbps, 9:24Mbps,
-- 10:36Mbps, 11:48Mbps, 12:54Mbps
--
--BGProtection {0~2} Set 11B/11G Protection
-- 0:Auto, 1:Always on, 2:Always off
--
--TxPreamble {0~2} Set TxPreamble
-- 0:Preamble Long, 1:Preamble Short, 2:Auto
--
--TxBurst {0,1} Set TxBurst Enable or Disable
-- 0:Disable, 1:Enable
--
--TurboRate {0,1} Set TurboRate Enable or Disable
-- 0:Disable, 1:Enable
--
--AdhocOfdm {0, 1} Set Adhoc mode tx rate
-- 0: adhere WIFI spec., 1: violate WIFI spec.
-- (802.11g WIFI spec disallow OFDM rates in 802.11g ADHOC mode)
-- AuthMode {OPEN,SHARED,WPAPSK} Set Authentication mode
--
--EncrypType {NONE,WEP,TKIP,AES} Set Encryption Type
--
--WPAPSK {8~63 ASCII or 64 HEX characters} WPA Pre-Shared Key
--
--ApClient {0,1} Set ApClient mode
-- 0:Disable, 1:Enable
--
--iwlist
--=================
--This is detailed explanation of each parameters for iwlist.
--
---------------------------------------------------------------------------------------------------------
--
--iwlist ra0 scanning ; list the result after scanning(site survey)
--
--
--
--
------------------------------------------------------------------------------------------------------------------------------------
--
--
--Deprecated iwpriv
--=================
--
--*** PLEASE DO NOT USE THESE FUNCTIONS, THIS IS FOR HISTORICAL REFERENCE ONLY ***
--As the configuration utility still uses some iwpriv commands they have not been
--removed from the driver yet. These commands are likely to dissapear if the utility is
--updated.
--
--** ALL THESE COMMANDS HAVE A IWCONFIG REPLACEMENT, USE IT ****
--
--SSID {0~z, less than 32 characters} Set SoftAP SSID
--
--Channel {1~14} depends on country region Set Channel
--
--RTSThreshold {1~2347} Set RTS Threshold
--
--FragThreshold {256~2346} Set Fragment Threshold
--
--NetworkType {Infra,Adhoc} Set Network type
--
--DefaultKeyID {1~4} Set Default Key ID
--
--Key1 {5 ascii characters or Set Key1 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
--
--Key2 {5 ascii characters or Set Key2 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
--
--Key3 {5 ascii characters or Set Key3 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
--
--Key4 {5 ascii characters or Set Key4 String
-- 10 hex number or
-- 13 ascii characters or
-- 26 hex numbers}
-+This file provides some basic examples on the configuration of the
-+driver using standard linux wireless tools. Where possible iwconfig
-+should be used to adjust settings. Some settings are currently not
-+avaiable via iwconfig and these include WPA, for these functions it is
-+currently necessary to use iwpriv.
-+
-+
-+Configuration Examples
-+======================================================================
-+----------------------------------------------------------------------
-+Example I: STA with AP using OPEN/NONE(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwconfig ra0 key open
-+ 3. iwconfig ra0 key off
-+ 4. iwconfig ra0 essid "AP's SSID"
-+
-+Example II: STA with AP using SHARED/WEP(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwconfig ra0 key restricted
-+ 3. iwconfig ra0 Key [1] "s:AP's wep key"
-+ 4. iwconfig ra0 key [1]
-+ 5. iwconfig ra0 essid "AP's SSID"
-+
-+Example III: STA using adhoc mode
-+ 1. iwconfig ra0 mode ad-hoc
-+ 2. iwconfig ra0 key off
-+ 4. iwconfig ra0 essid "STA's SSID"
-+
-+Example IV: STA with AP using WPAPSK/TKIP(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwpriv ra0 set AuthMode=WPAPSK
-+ 3. iwpriv ra0 set EncrypType=TKIP
-+ 4. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-+ 5. iwconfig ra0 essid "AP's SSID"
-+
-+Example V: STA with AP using WPAPSK/AES(Authentication/Encryption)
-+ 1. iwconfig ra0 mode managed
-+ 2. iwpriv ra0 set AuthMode=WPAPSK
-+ 3. iwpriv ra0 set EncrypType=AES
-+ 5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
-+ 6. iwconfig ra0 essid "AP's SSID"
-+
-+
-+
-+iwpriv
-+=================
-+This is detailed explanation of each parameters for iwpriv.
-+Before reading this document, make sure you already read README.
-+
-+----------------------------------------------------------------------
-+USAGE:
-+ iwpriv ra0 set [parameters]=[val]
-+
-+where
-+
-+[parameters] [val] range explanation
-+------------ -------------------- ---------------------
-+CountryRegion {0~7} Set country region
-+ 0: use 1 ~ 11 Channel
-+ 1: use 1 ~ 11 Channel
-+ 2: use 1 ~ 13 Channel
-+ 3: use 10, 11 Channel
-+ 4: use 10 ~ 13 Channel
-+ 5: use 14 Channel
-+ 6: use 1 ~ 14 Channel
-+ 7: use 3 ~ 9 Channel
-+
-+WirelessMode {0~2} Set Wireless Mode
-+ 0:11b/g mixed, 1:11B only
-+
-+TxRate {0~12} Set TxRate
-+ 0:Auto, 1:1Mbps, 2:2Mbps,
-+ 3:5.5Mbps, 4:11Mbps, 5:6Mbps,
-+ 6:9Mbps, 7:12Mbps, 8:18Mbps,
-+ 9:24Mbps, 10:36Mbps,
-+ 11:48Mbps, 12:54Mbps
-+
-+BGProtection {0~2} Set 11B/11G Protection
-+ 0:Auto, 1:Always on,
-+ 2:Always off
-+
-+TxPreamble {0~2} Set TxPreamble
-+ 0:Preamble Long,
-+ 1:Preamble Short,
-+ 2:Auto
-+
-+TxBurst {0,1} Enable/Disable
-+ 0:Disable, 1:Enable
-+
-+TurboRate {0,1} Enable/Disable
-+ 0:Disable, 1:Enable
-+
-+AdhocOfdm {0, 1} Adhoc mode OFDM
-+ 0: Disallow 1: Allow
-+
-+AuthMode {OPEN,SHARED,WPAPSK} Authentication mode
-+
-+EncrypType {NONE,WEP,TKIP,AES} Encryption Type
-+
-+WPAPSK {8~63 ASCII or 64 HEX characters}
-+ WPA Pre-Shared Key
-+
-+ApClient {0,1} Set ApClient mode
-+ 0:Disable, 1:Enable
-+
-+iwlist
-+=================
-+This is detailed explanation of each parameters for iwlist.
-+
-+----------------------------------------------------------------------
-+
-+iwlist ra0 scanning; list the result after scanning(site survey)
-+
-+
-+
-+
-+----------------------------------------------------------------------
-+
-+
-+Deprecated iwpriv
-+=================
-+
-+*** PLEASE DO NOT USE THESE FUNCTIONS, THIS IS FOR HISTORICAL
-+ REFERENCE ONLY ***
-+As the configuration utility still uses some iwpriv commands they have
-+not been removed from the driver yet. These commands are likely to
-+dissapear if the utility is updated.
-+
-+** ALL THESE COMMANDS HAVE A IWCONFIG REPLACEMENT, USE IT ****
-+
-+SSID {0~z, less than 32 characters} Set SoftAP SSID
-+
-+Channel {1~14} depends on country region Set Channel
-+
-+RTSThreshold {1~2347} Set RTS Threshold
-+
-+FragThreshold {256~2346} Set Fragment Threshold
-+
-+NetworkType {Infra,Adhoc} Set Network type
-+
-+DefaultKeyID {1~4} Set Default Key ID
-+
-+Key1 {5 ascii characters or Set Key1 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-+
-+Key2 {5 ascii characters or Set Key2 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-+
-+Key3 {5 ascii characters or Set Key3 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-+
-+Key4 {5 ascii characters or Set Key4 String
-+ 10 hex number or
-+ 13 ascii characters or
-+ 26 hex numbers}
-diff -Nur rt2500-1.1.0-b4/Module/load rt2500-cvs-2007061011/Module/load
---- rt2500-1.1.0-b4/Module/load 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/load 1970-01-01 01:00:00.000000000 +0100
-@@ -1,3 +0,0 @@
--/sbin/insmod rt2500.o
--/sbin/ifconfig ra0 inet 192.168.1.234 up
--/sbin/route add default gw 192.168.1.1
-\ Kein Zeilenumbruch am Dateiende.
-diff -Nur rt2500-1.1.0-b4/Module/md5.c rt2500-cvs-2007061011/Module/md5.c
---- rt2500-1.1.0-b4/Module/md5.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/md5.c 2007-05-29 05:49:17.000000000 +0200
-@@ -1,38 +1,38 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
- * This MD5 code is based on code from Dynamics -- HUT Mobile IP *
- * Copyright (C) 1998-2001, Dynamics group *
-- ***************************************************************************/
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: md5.c
-- *
-+ *
- * Abstract: contain MD5 and AES cipher algorithm
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * JanL 28th Oct 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * JanL 28th Oct 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -48,7 +48,8 @@
- * md5_mac() determines the message authentication code by using secure hash
- * MD5(key | data | key).
- */
--void md5_mac(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac)
-+void md5_mac(UCHAR *key, ULONG key_len, UCHAR *data, ULONG data_len,
-+ UCHAR *mac)
- {
- MD5_CTX context;
-
-@@ -71,12 +72,13 @@
- * hmac_md5() determines the message authentication code using HMAC-MD5.
- * This implementation is based on the sample code presented in RFC 2104.
- */
--void hmac_md5(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac)
-+void hmac_md5(UCHAR *key, ULONG key_len, UCHAR *data, ULONG data_len,
-+ UCHAR *mac)
- {
- MD5_CTX context;
-- u8 k_ipad[65]; /* inner padding - key XORd with ipad */
-- u8 k_opad[65]; /* outer padding - key XORd with opad */
-- u8 tk[16];
-+ UCHAR k_ipad[65]; /* inner padding - key XORd with ipad */
-+ UCHAR k_opad[65]; /* outer padding - key XORd with opad */
-+ UCHAR tk[16];
- int i;
-
- //assert(key != NULL && data != NULL && mac != NULL);
-@@ -128,25 +130,6 @@
- MD5Final(mac, &context); /* finish up 2nd pass */
- }
-
--
--/* ===== start - public domain MD5 implementation ===== */
--/*
-- * This code implements the MD5 message-digest algorithm.
-- * The algorithm is due to Ron Rivest. This code was
-- * written by Colin Plumb in 1993, no copyright is claimed.
-- * This code is in the public domain; do with it what you wish.
-- *
-- * Equivalent code is available from RSA Data Security, Inc.
-- * This code has been tested against that, and is equivalent,
-- * except that you don't need to include two pages of legalese
-- * with every copy.
-- *
-- * To compute the message digest of a chunk of bytes, declare an
-- * MD5Context structure, pass it to MD5Init, call MD5Update as
-- * needed on buffers full of bytes, and then call MD5Final, which
-- * will fill a supplied 16-byte array with the digest.
-- */
--
- #ifndef BIG_ENDIAN
- #define byteReverse(buf, len) /* Nothing */
- #else
-@@ -160,588 +143,808 @@
- }
- #endif
-
-+/* ========================== MD5 implementation =========================== */
-+// four base functions for MD5
-+#define MD5_F1(x, y, z) (((x) & (y)) | ((~x) & (z)))
-+#define MD5_F2(x, y, z) (((x) & (z)) | ((y) & (~z)))
-+#define MD5_F3(x, y, z) ((x) ^ (y) ^ (z))
-+#define MD5_F4(x, y, z) ((y) ^ ((x) | (~z)))
-+#define CYCLIC_LEFT_SHIFT(w, s) (((w) << (s)) | ((w) >> (32-(s))))
-+
-+#define MD5Step(f, w, x, y, z, data, t, s) \
-+ ( w += f(x, y, z) + data + t, w = (CYCLIC_LEFT_SHIFT(w, s)) & 0xffffffff, w += x )
-+
- /*
-- * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
-- * initialization constants.
-+ * Function Description:
-+ * Initiate MD5 Context satisfied in RFC 1321
-+ *
-+ * Arguments:
-+ * pCtx Pointer to MD5 context
-+ *
-+ * Return Value:
-+ * None
- */
--void MD5Init(struct MD5Context *ctx)
-+VOID MD5Init(MD5_CTX *pCtx)
- {
-- ctx->buf[0] = 0x67452301;
-- ctx->buf[1] = 0xefcdab89;
-- ctx->buf[2] = 0x98badcfe;
-- ctx->buf[3] = 0x10325476;
-+ pCtx->Buf[0] = 0x67452301;
-+ pCtx->Buf[1] = 0xefcdab89;
-+ pCtx->Buf[2] = 0x98badcfe;
-+ pCtx->Buf[3] = 0x10325476;
-
-- ctx->bits[0] = 0;
-- ctx->bits[1] = 0;
-+ pCtx->LenInBitCount[0] = 0;
-+ pCtx->LenInBitCount[1] = 0;
- }
-
- /*
-- * Update context to reflect the concatenation of another buffer full
-- * of bytes.
-+ * Function Description:
-+ * Update MD5 Context, allow of an arrary of octets as the next portion
-+ * of the message
-+ *
-+ * Arguments:
-+ * pCtx Pointer to MD5 context
-+ * pData Pointer to input data
-+ * LenInBytes The length of input data (unit: byte)
-+ *
-+ * Return Value:
-+ * None
-+ *
-+ * Note:
-+ * Called after MD5Init or MD5Update(itself)
- */
--void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len)
-+VOID MD5Update(MD5_CTX *pCtx, UCHAR *pData, ULONG LenInBytes)
- {
-- u32 t;
-+ ULONG TfTimes;
-+ ULONG temp;
-+ unsigned int i;
-
-- /* Update bitcount */
-+ temp = pCtx->LenInBitCount[0];
-
-- t = ctx->bits[0];
-- if ((ctx->bits[0] = t + ((u32) len << 3)) < t)
-- ctx->bits[1]++; /* Carry from low to high */
-- ctx->bits[1] += len >> 29;
--
-- t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
--
-- /* Handle any leading odd-sized chunks */
--
-- if (t) {
-- unsigned char *p = (unsigned char *) ctx->in + t;
--
-- t = 64 - t;
-- if (len < t) {
-- memcpy(p, buf, len);
-- return;
-- }
-- memcpy(p, buf, t);
-- byteReverse(ctx->in, 16);
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
-- buf += t;
-- len -= t;
-- }
-- /* Process data in 64-byte chunks */
-+ pCtx->LenInBitCount[0] =
-+ (ULONG) (pCtx->LenInBitCount[0] + (LenInBytes << 3));
-
-- while (len >= 64) {
-- memcpy(ctx->in, buf, 64);
-- byteReverse(ctx->in, 16);
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
-- buf += 64;
-- len -= 64;
-- }
-+ if (pCtx->LenInBitCount[0] < temp)
-+ pCtx->LenInBitCount[1]++; //carry in
-+
-+ pCtx->LenInBitCount[1] += LenInBytes >> 29;
-+
-+ // mod 64 bytes
-+ temp = (temp >> 3) & 0x3f;
-+
-+ // process lacks of 64-byte data
-+ if (temp) {
-+ UCHAR *pAds = (UCHAR *) pCtx->Input + temp;
-+
-+ if ((temp + LenInBytes) < 64) {
-+ memcpy(pAds, (UCHAR *) pData, LenInBytes);
-+ return;
-+ }
-
-- /* Handle any remaining bytes of data. */
-+ memcpy(pAds, (UCHAR *) pData, 64 - temp);
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-
-- memcpy(ctx->in, buf, len);
-+ pData += 64 - temp;
-+ LenInBytes -= 64 - temp;
-+ } // end of if (temp)
-+
-+ TfTimes = (LenInBytes >> 6);
-+
-+ for (i = TfTimes; i > 0; i--) {
-+ memcpy(pCtx->Input, (UCHAR *) pData, 64);
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ pData += 64;
-+ LenInBytes -= 64;
-+ } // end of for
-+
-+ // buffering lacks of 64-byte data
-+ if (LenInBytes)
-+ memcpy(pCtx->Input, (UCHAR *) pData, LenInBytes);
- }
-
- /*
-- * Final wrapup - pad to 64-byte boundary with the bit pattern
-- * 1 0* (64-bit count of bits processed, MSB-first)
-+ * Function Description:
-+ * Append padding bits and length of original message in the tail
-+ * The message digest has to be completed in the end
-+ *
-+ * Arguments:
-+ * Digest Output of Digest-Message for MD5
-+ * pCtx Pointer to MD5 context
-+ *
-+ * Return Value:
-+ * None
-+ *
-+ * Note:
-+ * Called after MD5Update
- */
--void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
-+VOID MD5Final(UCHAR Digest[16], MD5_CTX *pCtx)
- {
-- unsigned count;
-- unsigned char *p;
--
-- /* Compute number of bytes mod 64 */
-- count = (ctx->bits[0] >> 3) & 0x3F;
--
-- /* Set the first char of padding to 0x80. This is safe since there is
-- always at least one byte free */
-- p = ctx->in + count;
-- *p++ = 0x80;
--
-- /* Bytes of padding needed to make 64 bytes */
-- count = 64 - 1 - count;
--
-- /* Pad out to 56 mod 64 */
-- if (count < 8) {
-- /* Two lots of padding: Pad the first block to 64 bytes */
-- memset(p, 0, count);
-- byteReverse(ctx->in, 16);
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
--
-- /* Now fill the next block with 56 bytes */
-- memset(ctx->in, 0, 56);
-- } else {
-- /* Pad block to 56 bytes */
-- memset(p, 0, count - 8);
-- }
-- byteReverse(ctx->in, 14);
-+ UCHAR Remainder;
-+ UCHAR PadLenInBytes;
-+ UCHAR *pAppend = 0;
-+ unsigned int i;
-+
-+ Remainder = (UCHAR) ((pCtx->LenInBitCount[0] >> 3) & 0x3f);
-+
-+ PadLenInBytes = (Remainder < 56) ? (56 - Remainder) : (120 - Remainder);
-+
-+ pAppend = (UCHAR *) pCtx->Input + Remainder;
-+
-+ // padding bits without crossing block(64-byte based) boundary
-+ if (Remainder < 56) {
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ PadLenInBytes);
-+
-+ // add data-length field, from low to high
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> (i << 3)) & 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> (i << 3)) & 0xff);
-+ }
-+
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of if
-+
-+ // padding bits with crossing block(64-byte based) boundary
-+ else {
-+ // the first block ===
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ (64 - Remainder - 1));
-+ PadLenInBytes -= (64 - Remainder - 1);
-+
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+
-+ // the second block ===
-+ memset((UCHAR *) pCtx->Input, 0, PadLenInBytes);
-+
-+ // add data-length field
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> (i << 3)) & 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> (i << 3)) & 0xff);
-+ }
-+
-+ byteReverse(pCtx->Input, 16);
-+ MD5Transform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of else
-+
-+ memcpy((UCHAR *) Digest, (ULONG *) pCtx->Buf, 16); // output
-+ byteReverse((UCHAR *) Digest, 4);
-+ memset(pCtx, 0, sizeof(pCtx)); // memory free
-+}
-
-- /* Append length in bits and transform */
-- ((u32 *) ctx->in)[14] = ctx->bits[0];
-- ((u32 *) ctx->in)[15] = ctx->bits[1];
-+/*
-+ * Function Description:
-+ * The central algorithm of MD5, consists of four rounds and sixteen
-+ * steps per round
-+ *
-+ * Arguments:
-+ * Buf Buffers of four states (output: 16 bytes)
-+ * Mes Input data (input: 64 bytes)
-+ *
-+ * Return Value:
-+ * None
-+ *
-+ * Note:
-+ * Called by MD5Update or MD5Final
-+ */
-+VOID MD5Transform(ULONG Buf[4], ULONG Mes[16])
-+{
-+ ULONG Reg[4], Temp;
-+ unsigned int i;
-
-- MD5Transform(ctx->buf, (u32 *) ctx->in);
-- byteReverse((unsigned char *) ctx->buf, 4);
-- memcpy(digest, ctx->buf, 16);
-- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
-+ static UCHAR LShiftVal[16] = {
-+ 7, 12, 17, 22,
-+ 5, 9, 14, 20,
-+ 4, 11, 16, 23,
-+ 6, 10, 15, 21,
-+ };
-+
-+ // [equal to 4294967296*abs(sin(index))]
-+ static ULONG MD5Table[64] = {
-+ 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,
-+ 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,
-+ 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
-+ 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821,
-+
-+ 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
-+ 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
-+ 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed,
-+ 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a,
-+
-+ 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
-+ 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
-+ 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05,
-+ 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
-+
-+ 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039,
-+ 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1,
-+ 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
-+ 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391
-+ };
-+
-+ for (i = 0; i < 4; i++)
-+ Reg[i] = Buf[i];
-+
-+ // 64 steps in MD5 algorithm
-+ for (i = 0; i < 16; i++) {
-+ MD5Step(MD5_F1, Reg[0], Reg[1], Reg[2], Reg[3], Mes[i],
-+ MD5Table[i], LShiftVal[i & 0x3]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+ for (i = 16; i < 32; i++) {
-+ MD5Step(MD5_F2, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Mes[(5 * (i & 0xf) + 1) & 0xf], MD5Table[i],
-+ LShiftVal[(0x1 << 2) + (i & 0x3)]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+ for (i = 32; i < 48; i++) {
-+ MD5Step(MD5_F3, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Mes[(3 * (i & 0xf) + 5) & 0xf], MD5Table[i],
-+ LShiftVal[(0x1 << 3) + (i & 0x3)]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+ for (i = 48; i < 64; i++) {
-+ MD5Step(MD5_F4, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Mes[(7 * (i & 0xf)) & 0xf], MD5Table[i],
-+ LShiftVal[(0x3 << 2) + (i & 0x3)]);
-+
-+ // one-word right shift
-+ Temp = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+ }
-+
-+ // (temporary)output
-+ for (i = 0; i < 4; i++)
-+ Buf[i] += Reg[i];
- }
-
--//#ifndef ASM_MD5
--#if 1
-+/* ========================= SHA-1 implementation ========================== */
-+// four base functions for SHA-1
-+#define SHA1_F1(b, c, d) (((b) & (c)) | ((~b) & (d)))
-+#define SHA1_F2(b, c, d) ((b) ^ (c) ^ (d))
-+#define SHA1_F3(b, c, d) (((b) & (c)) | ((b) & (d)) | ((c) & (d)))
-+
-+#define SHA1Step(f, a, b, c, d, e, w, k) \
-+ ( e += ( f(b, c, d) + w + k + CYCLIC_LEFT_SHIFT(a, 5)) & 0xffffffff, \
-+ b = CYCLIC_LEFT_SHIFT(b, 30) )
-
--/* The four core functions - F1 is optimized somewhat */
--
--/* #define F1(x, y, z) (x & y | ~x & z) */
--#define F1(x, y, z) (z ^ (x & (y ^ z)))
--#define F2(x, y, z) F1(z, x, y)
--#define F3(x, y, z) (x ^ y ^ z)
--#define F4(x, y, z) (y ^ (x | ~z))
-+//Initiate SHA-1 Context satisfied in RFC 3174
-+VOID SHAInit(SHA_CTX * pCtx)
-+{
-+ pCtx->Buf[0] = 0x67452301;
-+ pCtx->Buf[1] = 0xefcdab89;
-+ pCtx->Buf[2] = 0x98badcfe;
-+ pCtx->Buf[3] = 0x10325476;
-+ pCtx->Buf[4] = 0xc3d2e1f0;
-
--/* This is the central step in the MD5 algorithm. */
--#define MD5STEP(f, w, x, y, z, data, s) \
-- ( w += f(x, y, z) + data, w =( w<<s | w>>(32-s))&0xffffffff, w += x )
-+ pCtx->LenInBitCount[0] = 0;
-+ pCtx->LenInBitCount[1] = 0;
-+}
-
- /*
-- * The core of the MD5 algorithm, this alters an existing MD5 hash to
-- * reflect the addition of 16 longwords of new data. MD5Update blocks
-- * the data and converts bytes into longwords for this routine.
-+ * Function Description:
-+ * Update SHA-1 Context, allow of an arrary of octets as the next
-+ * portion of the message
-+ *
-+ * Arguments:
-+ * pCtx Pointer to SHA-1 context
-+ * pData Pointer to input data
-+ * LenInBytes The length of input data (unit: byte)
-+ *
-+ * Return Value:
-+ * error indicate more than pow(2,64) bits of data
-+ *
-+ * Note:
-+ * Called after SHAInit or SHAUpdate(itself)
- */
--void MD5Transform(u32 buf[4], u32 in[16])
-+UCHAR SHAUpdate(SHA_CTX * pCtx, UCHAR * pData, ULONG LenInBytes)
- {
-- register u32 a, b, c, d;
-+ ULONG TfTimes;
-+ ULONG temp1, temp2;
-+ unsigned int i;
-+ UCHAR err = 1;
-+
-+ temp1 = pCtx->LenInBitCount[0];
-+ temp2 = pCtx->LenInBitCount[1];
-+
-+ pCtx->LenInBitCount[0] =
-+ (ULONG) (pCtx->LenInBitCount[0] + (LenInBytes << 3));
-+ if (pCtx->LenInBitCount[0] < temp1)
-+ pCtx->LenInBitCount[1]++; //carry in
-+
-+ pCtx->LenInBitCount[1] =
-+ (ULONG) (pCtx->LenInBitCount[1] + (LenInBytes >> 29));
-+ if (pCtx->LenInBitCount[1] < temp2)
-+ return (err); //check total length of original data
-+
-+ // mod 64 bytes
-+ temp1 = (temp1 >> 3) & 0x3f;
-+
-+ // process lacks of 64-byte data
-+ if (temp1) {
-+ UCHAR *pAds = (UCHAR *) pCtx->Input + temp1;
-+
-+ if ((temp1 + LenInBytes) < 64) {
-+ memcpy(pAds, (UCHAR *) pData, LenInBytes);
-+ return (0);
-+ }
-+
-+ memcpy(pAds, (UCHAR *) pData, 64 - temp1);
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+
-+ pData += 64 - temp1;
-+ LenInBytes -= 64 - temp1;
-+ } // end of if (temp1)
-+
-+ TfTimes = (LenInBytes >> 6);
-+
-+ for (i = TfTimes; i > 0; i--) {
-+ memcpy(pCtx->Input, (UCHAR *) pData, 64);
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ pData += 64;
-+ LenInBytes -= 64;
-+ } // end of for
-+
-+ // buffering lacks of 64-byte data
-+ if (LenInBytes)
-+ memcpy(pCtx->Input, (UCHAR *) pData, LenInBytes);
-
-- a = buf[0];
-- b = buf[1];
-- c = buf[2];
-- d = buf[3];
--
-- MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
-- MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
-- MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
-- MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
-- MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
-- MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
-- MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
-- MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
-- MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
-- MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
-- MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
-- MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
-- MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
-- MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
-- MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
-- MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
--
-- MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
-- MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
-- MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
-- MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
-- MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
-- MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
-- MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
-- MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
-- MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
-- MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
-- MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
-- MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
-- MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
-- MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
-- MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
-- MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
--
-- MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
-- MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
-- MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
-- MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
-- MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
-- MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
-- MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
-- MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
-- MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
-- MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
-- MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
-- MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
-- MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
-- MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
-- MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
-- MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
--
-- MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
-- MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
-- MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
-- MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
-- MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
-- MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
-- MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
-- MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
-- MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
-- MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
-- MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
-- MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
-- MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
-- MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
-- MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
-- MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
--
-- buf[0] += a;
-- buf[1] += b;
-- buf[2] += c;
-- buf[3] += d;
-+ return (0);
- }
--#endif
-
--void SHAInit(SHA_CTX *ctx) {
-- int i;
--
-- ctx->lenW = 0;
-- ctx->sizeHi = ctx->sizeLo = 0;
--
-- /* Initialize H with the magic constants (see FIPS180 for constants)
-- */
-- ctx->H[0] = 0x67452301L;
-- ctx->H[1] = 0xefcdab89L;
-- ctx->H[2] = 0x98badcfeL;
-- ctx->H[3] = 0x10325476L;
-- ctx->H[4] = 0xc3d2e1f0L;
--
-- for (i = 0; i < 80; i++)
-- ctx->W[i] = 0;
-- }
--
--#define SHA_ROTL(X,n) ((((X) << (n)) | ((X) >> (32-(n)))) & 0xffffffffL)
--
--void SHAHashBlock(SHA_CTX *ctx) {
-- int t;
-- unsigned long A,B,C,D,E,TEMP;
--
-- for (t = 16; t <= 79; t++)
-- ctx->W[t] = SHA_ROTL(ctx->W[t-3] ^ ctx->W[t-8] ^ ctx->W[t-14] ^ ctx->W[t-16], 1);
--
-- A = ctx->H[0];
-- B = ctx->H[1];
-- C = ctx->H[2];
-- D = ctx->H[3];
-- E = ctx->H[4];
--
-- for (t = 0; t <= 19; t++) {
-- TEMP = (SHA_ROTL(A,5) + (((C^D)&B)^D) + E + ctx->W[t] + 0x5a827999L) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
-- for (t = 20; t <= 39; t++) {
-- TEMP = (SHA_ROTL(A,5) + (B^C^D) + E + ctx->W[t] + 0x6ed9eba1L) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
-- for (t = 40; t <= 59; t++) {
-- TEMP = (SHA_ROTL(A,5) + ((B&C)|(D&(B|C))) + E + ctx->W[t] + 0x8f1bbcdcL) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
-- for (t = 60; t <= 79; t++) {
-- TEMP = (SHA_ROTL(A,5) + (B^C^D) + E + ctx->W[t] + 0xca62c1d6L) & 0xffffffffL;
-- E = D; D = C; C = SHA_ROTL(B, 30); B = A; A = TEMP;
-- }
--
-- ctx->H[0] += A;
-- ctx->H[1] += B;
-- ctx->H[2] += C;
-- ctx->H[3] += D;
-- ctx->H[4] += E;
-+// Append padding bits and length of original message in the tail
-+// The message digest has to be completed in the end
-+VOID SHAFinal(SHA_CTX * pCtx, UCHAR Digest[20])
-+{
-+ UCHAR Remainder;
-+ UCHAR PadLenInBytes;
-+ UCHAR *pAppend = 0;
-+ unsigned int i;
-+
-+ Remainder = (UCHAR) ((pCtx->LenInBitCount[0] >> 3) & 0x3f);
-+
-+ pAppend = (UCHAR *) pCtx->Input + Remainder;
-+
-+ PadLenInBytes = (Remainder < 56) ? (56 - Remainder) : (120 - Remainder);
-+
-+ // padding bits without crossing block(64-byte based) boundary
-+ if (Remainder < 56) {
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ PadLenInBytes);
-+
-+ // add data-length field, from high to low
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> ((3 - i) << 3)) &
-+ 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> ((3 - i) << 3)) &
-+ 0xff);
-+ }
-+
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+ memset((UCHAR *) pCtx->Input + 64, 0, 14);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of if
-+
-+ // padding bits with crossing block(64-byte based) boundary
-+ else {
-+ // the first block ===
-+ *pAppend = 0x80;
-+ PadLenInBytes--;
-+
-+ memset((UCHAR *) pCtx->Input + Remainder + 1, 0,
-+ (64 - Remainder - 1));
-+ PadLenInBytes -= (64 - Remainder - 1);
-+
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+
-+ // the second block ===
-+ memset((UCHAR *) pCtx->Input, 0, PadLenInBytes);
-+
-+ // add data-length field
-+ for (i = 0; i < 4; i++) {
-+ pCtx->Input[56 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[1] >> ((3 - i) << 3)) &
-+ 0xff);
-+ pCtx->Input[60 + i] =
-+ (UCHAR) ((pCtx->
-+ LenInBitCount[0] >> ((3 - i) << 3)) &
-+ 0xff);
-+ }
-+
-+ byteReverse((UCHAR *) pCtx->Input, 16);
-+ memset((UCHAR *) pCtx->Input + 64, 0, 16);
-+ SHATransform(pCtx->Buf, (ULONG *) pCtx->Input);
-+ } // end of else
-+
-+ //Output, bytereverse
-+ for (i = 0; i < 20; i++) {
-+ Digest[i] = (UCHAR) (pCtx->Buf[i >> 2] >> 8 * (3 - (i & 0x3)));
-+ }
-+
-+ memset(pCtx, 0, sizeof(pCtx)); // memory free
- }
-
--void SHAUpdate(SHA_CTX *ctx, unsigned char *dataIn, int len)
-+// The central algorithm of SHA-1, consists of four rounds and
-+// twenty steps per round
-+VOID SHATransform(ULONG Buf[5], ULONG Mes[20])
- {
-- int i;
--
-- /* Read the data into W and process blocks as they get full
-- */
-- for (i = 0; i < len; i++) {
-- ctx->W[ctx->lenW / 4] <<= 8;
-- ctx->W[ctx->lenW / 4] |= (unsigned long)dataIn[i];
-- if ((++ctx->lenW) % 64 == 0) {
-- SHAHashBlock(ctx);
-- ctx->lenW = 0;
-- }
-- ctx->sizeLo += 8;
-- ctx->sizeHi += (ctx->sizeLo < 8);
-- }
-+ ULONG Reg[5], Temp;
-+ unsigned int i;
-+ ULONG W[80];
-+
-+ static ULONG SHA1Table[4] = { 0x5a827999, 0x6ed9eba1,
-+ 0x8f1bbcdc, 0xca62c1d6
-+ };
-+
-+ Reg[0] = Buf[0];
-+ Reg[1] = Buf[1];
-+ Reg[2] = Buf[2];
-+ Reg[3] = Buf[3];
-+ Reg[4] = Buf[4];
-+
-+ //the first octet of a word is stored in the 0th element, bytereverse
-+ for (i = 0; i < 16; i++) {
-+ W[i] = (Mes[i] >> 24) & 0xff;
-+ W[i] |= (Mes[i] >> 8) & 0xff00;
-+ W[i] |= (Mes[i] << 8) & 0xff0000;
-+ W[i] |= (Mes[i] << 24) & 0xff000000;
-+ }
-+
-+ for (i = 0; i < 64; i++)
-+ W[16 + i] =
-+ CYCLIC_LEFT_SHIFT(W[i] ^ W[2 + i] ^ W[8 + i] ^ W[13 + i],
-+ 1);
-+
-+ // 80 steps in SHA-1 algorithm
-+ for (i = 0; i < 80; i++) {
-+ if (i < 20)
-+ SHA1Step(SHA1_F1, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[0]);
-+
-+ else if (i >= 20 && i < 40)
-+ SHA1Step(SHA1_F2, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[1]);
-+
-+ else if (i >= 40 && i < 60)
-+ SHA1Step(SHA1_F3, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[2]);
-+
-+ else
-+ SHA1Step(SHA1_F2, Reg[0], Reg[1], Reg[2], Reg[3],
-+ Reg[4], W[i], SHA1Table[3]);
-+
-+ // one-word right shift
-+ Temp = Reg[4];
-+ Reg[4] = Reg[3];
-+ Reg[3] = Reg[2];
-+ Reg[2] = Reg[1];
-+ Reg[1] = Reg[0];
-+ Reg[0] = Temp;
-+
-+ } // end of for-loop
-+
-+ // (temporary)output
-+ for (i = 0; i < 5; i++)
-+ Buf[i] += Reg[i];
- }
-
--
--void SHAFinal(SHA_CTX *ctx, unsigned char hashout[20]) {
-- unsigned char pad0x80 = 0x80;
-- unsigned char pad0x00 = 0x00;
-- unsigned char padlen[8];
-- int i;
--
-- /* Pad with a binary 1 (e.g. 0x80), then zeroes, then length
-- */
-- padlen[0] = (unsigned char)((ctx->sizeHi >> 24) & 255);
-- padlen[1] = (unsigned char)((ctx->sizeHi >> 16) & 255);
-- padlen[2] = (unsigned char)((ctx->sizeHi >> 8) & 255);
-- padlen[3] = (unsigned char)((ctx->sizeHi >> 0) & 255);
-- padlen[4] = (unsigned char)((ctx->sizeLo >> 24) & 255);
-- padlen[5] = (unsigned char)((ctx->sizeLo >> 16) & 255);
-- padlen[6] = (unsigned char)((ctx->sizeLo >> 8) & 255);
-- padlen[7] = (unsigned char)((ctx->sizeLo >> 0) & 255);
-- SHAUpdate(ctx, &pad0x80, 1);
-- while (ctx->lenW != 56)
-- SHAUpdate(ctx, &pad0x00, 1);
-- SHAUpdate(ctx, padlen, 8);
--
-- /* Output hash
-- */
-- for (i = 0; i < 20; i++) {
-- hashout[i] = (unsigned char)(ctx->H[i / 4] >> 24);
-- ctx->H[i / 4] <<= 8;
-- }
--
-- /*
-- * Re-initialize the context (also zeroizes contents)
-- */
-- SHAInit(ctx);
--}
-+/* ========================= AES En/Decryption ========================== */
-
- /* forward S-box */
--
--static uint32 FSb[256] =
--{
-- 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5,
-- 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76,
-- 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0,
-- 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0,
-- 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC,
-- 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15,
-- 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A,
-- 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75,
-- 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0,
-- 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84,
-- 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B,
-- 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF,
-- 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85,
-- 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8,
-- 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5,
-- 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2,
-- 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17,
-- 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73,
-- 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88,
-- 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB,
-- 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C,
-- 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79,
-- 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9,
-- 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08,
-- 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6,
-- 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A,
-- 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E,
-- 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E,
-- 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94,
-- 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF,
-- 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68,
-- 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16
-+static uint32 FSb[256] = {
-+ 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5,
-+ 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76,
-+ 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0,
-+ 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0,
-+ 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC,
-+ 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15,
-+ 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A,
-+ 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75,
-+ 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0,
-+ 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84,
-+ 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B,
-+ 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF,
-+ 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85,
-+ 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8,
-+ 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5,
-+ 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2,
-+ 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17,
-+ 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73,
-+ 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88,
-+ 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB,
-+ 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C,
-+ 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79,
-+ 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9,
-+ 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08,
-+ 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6,
-+ 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A,
-+ 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E,
-+ 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E,
-+ 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94,
-+ 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF,
-+ 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68,
-+ 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16
- };
-
- /* forward table */
--
--#define FT \
-+#define FT \
- \
-- V(C6,63,63,A5), V(F8,7C,7C,84), V(EE,77,77,99), V(F6,7B,7B,8D), \
-- V(FF,F2,F2,0D), V(D6,6B,6B,BD), V(DE,6F,6F,B1), V(91,C5,C5,54), \
-- V(60,30,30,50), V(02,01,01,03), V(CE,67,67,A9), V(56,2B,2B,7D), \
-- V(E7,FE,FE,19), V(B5,D7,D7,62), V(4D,AB,AB,E6), V(EC,76,76,9A), \
-- V(8F,CA,CA,45), V(1F,82,82,9D), V(89,C9,C9,40), V(FA,7D,7D,87), \
-- V(EF,FA,FA,15), V(B2,59,59,EB), V(8E,47,47,C9), V(FB,F0,F0,0B), \
-- V(41,AD,AD,EC), V(B3,D4,D4,67), V(5F,A2,A2,FD), V(45,AF,AF,EA), \
-- V(23,9C,9C,BF), V(53,A4,A4,F7), V(E4,72,72,96), V(9B,C0,C0,5B), \
-- V(75,B7,B7,C2), V(E1,FD,FD,1C), V(3D,93,93,AE), V(4C,26,26,6A), \
-- V(6C,36,36,5A), V(7E,3F,3F,41), V(F5,F7,F7,02), V(83,CC,CC,4F), \
-- V(68,34,34,5C), V(51,A5,A5,F4), V(D1,E5,E5,34), V(F9,F1,F1,08), \
-- V(E2,71,71,93), V(AB,D8,D8,73), V(62,31,31,53), V(2A,15,15,3F), \
-- V(08,04,04,0C), V(95,C7,C7,52), V(46,23,23,65), V(9D,C3,C3,5E), \
-- V(30,18,18,28), V(37,96,96,A1), V(0A,05,05,0F), V(2F,9A,9A,B5), \
-- V(0E,07,07,09), V(24,12,12,36), V(1B,80,80,9B), V(DF,E2,E2,3D), \
-- V(CD,EB,EB,26), V(4E,27,27,69), V(7F,B2,B2,CD), V(EA,75,75,9F), \
-- V(12,09,09,1B), V(1D,83,83,9E), V(58,2C,2C,74), V(34,1A,1A,2E), \
-- V(36,1B,1B,2D), V(DC,6E,6E,B2), V(B4,5A,5A,EE), V(5B,A0,A0,FB), \
-- V(A4,52,52,F6), V(76,3B,3B,4D), V(B7,D6,D6,61), V(7D,B3,B3,CE), \
-- V(52,29,29,7B), V(DD,E3,E3,3E), V(5E,2F,2F,71), V(13,84,84,97), \
-- V(A6,53,53,F5), V(B9,D1,D1,68), V(00,00,00,00), V(C1,ED,ED,2C), \
-- V(40,20,20,60), V(E3,FC,FC,1F), V(79,B1,B1,C8), V(B6,5B,5B,ED), \
-- V(D4,6A,6A,BE), V(8D,CB,CB,46), V(67,BE,BE,D9), V(72,39,39,4B), \
-- V(94,4A,4A,DE), V(98,4C,4C,D4), V(B0,58,58,E8), V(85,CF,CF,4A), \
-- V(BB,D0,D0,6B), V(C5,EF,EF,2A), V(4F,AA,AA,E5), V(ED,FB,FB,16), \
-- V(86,43,43,C5), V(9A,4D,4D,D7), V(66,33,33,55), V(11,85,85,94), \
-- V(8A,45,45,CF), V(E9,F9,F9,10), V(04,02,02,06), V(FE,7F,7F,81), \
-- V(A0,50,50,F0), V(78,3C,3C,44), V(25,9F,9F,BA), V(4B,A8,A8,E3), \
-- V(A2,51,51,F3), V(5D,A3,A3,FE), V(80,40,40,C0), V(05,8F,8F,8A), \
-- V(3F,92,92,AD), V(21,9D,9D,BC), V(70,38,38,48), V(F1,F5,F5,04), \
-- V(63,BC,BC,DF), V(77,B6,B6,C1), V(AF,DA,DA,75), V(42,21,21,63), \
-- V(20,10,10,30), V(E5,FF,FF,1A), V(FD,F3,F3,0E), V(BF,D2,D2,6D), \
-- V(81,CD,CD,4C), V(18,0C,0C,14), V(26,13,13,35), V(C3,EC,EC,2F), \
-- V(BE,5F,5F,E1), V(35,97,97,A2), V(88,44,44,CC), V(2E,17,17,39), \
-- V(93,C4,C4,57), V(55,A7,A7,F2), V(FC,7E,7E,82), V(7A,3D,3D,47), \
-- V(C8,64,64,AC), V(BA,5D,5D,E7), V(32,19,19,2B), V(E6,73,73,95), \
-- V(C0,60,60,A0), V(19,81,81,98), V(9E,4F,4F,D1), V(A3,DC,DC,7F), \
-- V(44,22,22,66), V(54,2A,2A,7E), V(3B,90,90,AB), V(0B,88,88,83), \
-- V(8C,46,46,CA), V(C7,EE,EE,29), V(6B,B8,B8,D3), V(28,14,14,3C), \
-- V(A7,DE,DE,79), V(BC,5E,5E,E2), V(16,0B,0B,1D), V(AD,DB,DB,76), \
-- V(DB,E0,E0,3B), V(64,32,32,56), V(74,3A,3A,4E), V(14,0A,0A,1E), \
-- V(92,49,49,DB), V(0C,06,06,0A), V(48,24,24,6C), V(B8,5C,5C,E4), \
-- V(9F,C2,C2,5D), V(BD,D3,D3,6E), V(43,AC,AC,EF), V(C4,62,62,A6), \
-- V(39,91,91,A8), V(31,95,95,A4), V(D3,E4,E4,37), V(F2,79,79,8B), \
-- V(D5,E7,E7,32), V(8B,C8,C8,43), V(6E,37,37,59), V(DA,6D,6D,B7), \
-- V(01,8D,8D,8C), V(B1,D5,D5,64), V(9C,4E,4E,D2), V(49,A9,A9,E0), \
-- V(D8,6C,6C,B4), V(AC,56,56,FA), V(F3,F4,F4,07), V(CF,EA,EA,25), \
-- V(CA,65,65,AF), V(F4,7A,7A,8E), V(47,AE,AE,E9), V(10,08,08,18), \
-- V(6F,BA,BA,D5), V(F0,78,78,88), V(4A,25,25,6F), V(5C,2E,2E,72), \
-- V(38,1C,1C,24), V(57,A6,A6,F1), V(73,B4,B4,C7), V(97,C6,C6,51), \
-- V(CB,E8,E8,23), V(A1,DD,DD,7C), V(E8,74,74,9C), V(3E,1F,1F,21), \
-- V(96,4B,4B,DD), V(61,BD,BD,DC), V(0D,8B,8B,86), V(0F,8A,8A,85), \
-- V(E0,70,70,90), V(7C,3E,3E,42), V(71,B5,B5,C4), V(CC,66,66,AA), \
-- V(90,48,48,D8), V(06,03,03,05), V(F7,F6,F6,01), V(1C,0E,0E,12), \
-- V(C2,61,61,A3), V(6A,35,35,5F), V(AE,57,57,F9), V(69,B9,B9,D0), \
-- V(17,86,86,91), V(99,C1,C1,58), V(3A,1D,1D,27), V(27,9E,9E,B9), \
-- V(D9,E1,E1,38), V(EB,F8,F8,13), V(2B,98,98,B3), V(22,11,11,33), \
-- V(D2,69,69,BB), V(A9,D9,D9,70), V(07,8E,8E,89), V(33,94,94,A7), \
-- V(2D,9B,9B,B6), V(3C,1E,1E,22), V(15,87,87,92), V(C9,E9,E9,20), \
-- V(87,CE,CE,49), V(AA,55,55,FF), V(50,28,28,78), V(A5,DF,DF,7A), \
-- V(03,8C,8C,8F), V(59,A1,A1,F8), V(09,89,89,80), V(1A,0D,0D,17), \
-- V(65,BF,BF,DA), V(D7,E6,E6,31), V(84,42,42,C6), V(D0,68,68,B8), \
-- V(82,41,41,C3), V(29,99,99,B0), V(5A,2D,2D,77), V(1E,0F,0F,11), \
-- V(7B,B0,B0,CB), V(A8,54,54,FC), V(6D,BB,BB,D6), V(2C,16,16,3A)
-+ V(C6,63,63,A5), V(F8,7C,7C,84), V(EE,77,77,99), V(F6,7B,7B,8D), \
-+ V(FF,F2,F2,0D), V(D6,6B,6B,BD), V(DE,6F,6F,B1), V(91,C5,C5,54), \
-+ V(60,30,30,50), V(02,01,01,03), V(CE,67,67,A9), V(56,2B,2B,7D), \
-+ V(E7,FE,FE,19), V(B5,D7,D7,62), V(4D,AB,AB,E6), V(EC,76,76,9A), \
-+ V(8F,CA,CA,45), V(1F,82,82,9D), V(89,C9,C9,40), V(FA,7D,7D,87), \
-+ V(EF,FA,FA,15), V(B2,59,59,EB), V(8E,47,47,C9), V(FB,F0,F0,0B), \
-+ V(41,AD,AD,EC), V(B3,D4,D4,67), V(5F,A2,A2,FD), V(45,AF,AF,EA), \
-+ V(23,9C,9C,BF), V(53,A4,A4,F7), V(E4,72,72,96), V(9B,C0,C0,5B), \
-+ V(75,B7,B7,C2), V(E1,FD,FD,1C), V(3D,93,93,AE), V(4C,26,26,6A), \
-+ V(6C,36,36,5A), V(7E,3F,3F,41), V(F5,F7,F7,02), V(83,CC,CC,4F), \
-+ V(68,34,34,5C), V(51,A5,A5,F4), V(D1,E5,E5,34), V(F9,F1,F1,08), \
-+ V(E2,71,71,93), V(AB,D8,D8,73), V(62,31,31,53), V(2A,15,15,3F), \
-+ V(08,04,04,0C), V(95,C7,C7,52), V(46,23,23,65), V(9D,C3,C3,5E), \
-+ V(30,18,18,28), V(37,96,96,A1), V(0A,05,05,0F), V(2F,9A,9A,B5), \
-+ V(0E,07,07,09), V(24,12,12,36), V(1B,80,80,9B), V(DF,E2,E2,3D), \
-+ V(CD,EB,EB,26), V(4E,27,27,69), V(7F,B2,B2,CD), V(EA,75,75,9F), \
-+ V(12,09,09,1B), V(1D,83,83,9E), V(58,2C,2C,74), V(34,1A,1A,2E), \
-+ V(36,1B,1B,2D), V(DC,6E,6E,B2), V(B4,5A,5A,EE), V(5B,A0,A0,FB), \
-+ V(A4,52,52,F6), V(76,3B,3B,4D), V(B7,D6,D6,61), V(7D,B3,B3,CE), \
-+ V(52,29,29,7B), V(DD,E3,E3,3E), V(5E,2F,2F,71), V(13,84,84,97), \
-+ V(A6,53,53,F5), V(B9,D1,D1,68), V(00,00,00,00), V(C1,ED,ED,2C), \
-+ V(40,20,20,60), V(E3,FC,FC,1F), V(79,B1,B1,C8), V(B6,5B,5B,ED), \
-+ V(D4,6A,6A,BE), V(8D,CB,CB,46), V(67,BE,BE,D9), V(72,39,39,4B), \
-+ V(94,4A,4A,DE), V(98,4C,4C,D4), V(B0,58,58,E8), V(85,CF,CF,4A), \
-+ V(BB,D0,D0,6B), V(C5,EF,EF,2A), V(4F,AA,AA,E5), V(ED,FB,FB,16), \
-+ V(86,43,43,C5), V(9A,4D,4D,D7), V(66,33,33,55), V(11,85,85,94), \
-+ V(8A,45,45,CF), V(E9,F9,F9,10), V(04,02,02,06), V(FE,7F,7F,81), \
-+ V(A0,50,50,F0), V(78,3C,3C,44), V(25,9F,9F,BA), V(4B,A8,A8,E3), \
-+ V(A2,51,51,F3), V(5D,A3,A3,FE), V(80,40,40,C0), V(05,8F,8F,8A), \
-+ V(3F,92,92,AD), V(21,9D,9D,BC), V(70,38,38,48), V(F1,F5,F5,04), \
-+ V(63,BC,BC,DF), V(77,B6,B6,C1), V(AF,DA,DA,75), V(42,21,21,63), \
-+ V(20,10,10,30), V(E5,FF,FF,1A), V(FD,F3,F3,0E), V(BF,D2,D2,6D), \
-+ V(81,CD,CD,4C), V(18,0C,0C,14), V(26,13,13,35), V(C3,EC,EC,2F), \
-+ V(BE,5F,5F,E1), V(35,97,97,A2), V(88,44,44,CC), V(2E,17,17,39), \
-+ V(93,C4,C4,57), V(55,A7,A7,F2), V(FC,7E,7E,82), V(7A,3D,3D,47), \
-+ V(C8,64,64,AC), V(BA,5D,5D,E7), V(32,19,19,2B), V(E6,73,73,95), \
-+ V(C0,60,60,A0), V(19,81,81,98), V(9E,4F,4F,D1), V(A3,DC,DC,7F), \
-+ V(44,22,22,66), V(54,2A,2A,7E), V(3B,90,90,AB), V(0B,88,88,83), \
-+ V(8C,46,46,CA), V(C7,EE,EE,29), V(6B,B8,B8,D3), V(28,14,14,3C), \
-+ V(A7,DE,DE,79), V(BC,5E,5E,E2), V(16,0B,0B,1D), V(AD,DB,DB,76), \
-+ V(DB,E0,E0,3B), V(64,32,32,56), V(74,3A,3A,4E), V(14,0A,0A,1E), \
-+ V(92,49,49,DB), V(0C,06,06,0A), V(48,24,24,6C), V(B8,5C,5C,E4), \
-+ V(9F,C2,C2,5D), V(BD,D3,D3,6E), V(43,AC,AC,EF), V(C4,62,62,A6), \
-+ V(39,91,91,A8), V(31,95,95,A4), V(D3,E4,E4,37), V(F2,79,79,8B), \
-+ V(D5,E7,E7,32), V(8B,C8,C8,43), V(6E,37,37,59), V(DA,6D,6D,B7), \
-+ V(01,8D,8D,8C), V(B1,D5,D5,64), V(9C,4E,4E,D2), V(49,A9,A9,E0), \
-+ V(D8,6C,6C,B4), V(AC,56,56,FA), V(F3,F4,F4,07), V(CF,EA,EA,25), \
-+ V(CA,65,65,AF), V(F4,7A,7A,8E), V(47,AE,AE,E9), V(10,08,08,18), \
-+ V(6F,BA,BA,D5), V(F0,78,78,88), V(4A,25,25,6F), V(5C,2E,2E,72), \
-+ V(38,1C,1C,24), V(57,A6,A6,F1), V(73,B4,B4,C7), V(97,C6,C6,51), \
-+ V(CB,E8,E8,23), V(A1,DD,DD,7C), V(E8,74,74,9C), V(3E,1F,1F,21), \
-+ V(96,4B,4B,DD), V(61,BD,BD,DC), V(0D,8B,8B,86), V(0F,8A,8A,85), \
-+ V(E0,70,70,90), V(7C,3E,3E,42), V(71,B5,B5,C4), V(CC,66,66,AA), \
-+ V(90,48,48,D8), V(06,03,03,05), V(F7,F6,F6,01), V(1C,0E,0E,12), \
-+ V(C2,61,61,A3), V(6A,35,35,5F), V(AE,57,57,F9), V(69,B9,B9,D0), \
-+ V(17,86,86,91), V(99,C1,C1,58), V(3A,1D,1D,27), V(27,9E,9E,B9), \
-+ V(D9,E1,E1,38), V(EB,F8,F8,13), V(2B,98,98,B3), V(22,11,11,33), \
-+ V(D2,69,69,BB), V(A9,D9,D9,70), V(07,8E,8E,89), V(33,94,94,A7), \
-+ V(2D,9B,9B,B6), V(3C,1E,1E,22), V(15,87,87,92), V(C9,E9,E9,20), \
-+ V(87,CE,CE,49), V(AA,55,55,FF), V(50,28,28,78), V(A5,DF,DF,7A), \
-+ V(03,8C,8C,8F), V(59,A1,A1,F8), V(09,89,89,80), V(1A,0D,0D,17), \
-+ V(65,BF,BF,DA), V(D7,E6,E6,31), V(84,42,42,C6), V(D0,68,68,B8), \
-+ V(82,41,41,C3), V(29,99,99,B0), V(5A,2D,2D,77), V(1E,0F,0F,11), \
-+ V(7B,B0,B0,CB), V(A8,54,54,FC), V(6D,BB,BB,D6), V(2C,16,16,3A)
-
--#define V(a,b,c,d) 0x##a##b##c##d
-+#define V(a,b,c,d) 0x##a##b##c##d
- static uint32 FT0[256] = { FT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##d##a##b##c
-+#define V(a,b,c,d) 0x##d##a##b##c
- static uint32 FT1[256] = { FT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##c##d##a##b
-+#define V(a,b,c,d) 0x##c##d##a##b
- static uint32 FT2[256] = { FT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##b##c##d##a
-+#define V(a,b,c,d) 0x##b##c##d##a
- static uint32 FT3[256] = { FT };
-+
- #undef V
-
- #undef FT
-
- /* reverse S-box */
-
--static uint32 RSb[256] =
--{
-- 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38,
-- 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,
-- 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87,
-- 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,
-- 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D,
-- 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,
-- 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2,
-- 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25,
-- 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16,
-- 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92,
-- 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA,
-- 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84,
-- 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A,
-- 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06,
-- 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02,
-- 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B,
-- 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA,
-- 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73,
-- 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85,
-- 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E,
-- 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89,
-- 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B,
-- 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20,
-- 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4,
-- 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31,
-- 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F,
-- 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D,
-- 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,
-- 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0,
-- 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,
-- 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26,
-- 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D
-+static uint32 RSb[256] = {
-+ 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38,
-+ 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,
-+ 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87,
-+ 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,
-+ 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D,
-+ 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,
-+ 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2,
-+ 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25,
-+ 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16,
-+ 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92,
-+ 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA,
-+ 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84,
-+ 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A,
-+ 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06,
-+ 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02,
-+ 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B,
-+ 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA,
-+ 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73,
-+ 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85,
-+ 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E,
-+ 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89,
-+ 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B,
-+ 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20,
-+ 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4,
-+ 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31,
-+ 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F,
-+ 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D,
-+ 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,
-+ 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0,
-+ 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,
-+ 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26,
-+ 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D
- };
-
- /* reverse table */
-
--#define RT \
-+#define RT \
- \
-- V(51,F4,A7,50), V(7E,41,65,53), V(1A,17,A4,C3), V(3A,27,5E,96), \
-- V(3B,AB,6B,CB), V(1F,9D,45,F1), V(AC,FA,58,AB), V(4B,E3,03,93), \
-- V(20,30,FA,55), V(AD,76,6D,F6), V(88,CC,76,91), V(F5,02,4C,25), \
-- V(4F,E5,D7,FC), V(C5,2A,CB,D7), V(26,35,44,80), V(B5,62,A3,8F), \
-- V(DE,B1,5A,49), V(25,BA,1B,67), V(45,EA,0E,98), V(5D,FE,C0,E1), \
-- V(C3,2F,75,02), V(81,4C,F0,12), V(8D,46,97,A3), V(6B,D3,F9,C6), \
-- V(03,8F,5F,E7), V(15,92,9C,95), V(BF,6D,7A,EB), V(95,52,59,DA), \
-- V(D4,BE,83,2D), V(58,74,21,D3), V(49,E0,69,29), V(8E,C9,C8,44), \
-- V(75,C2,89,6A), V(F4,8E,79,78), V(99,58,3E,6B), V(27,B9,71,DD), \
-- V(BE,E1,4F,B6), V(F0,88,AD,17), V(C9,20,AC,66), V(7D,CE,3A,B4), \
-- V(63,DF,4A,18), V(E5,1A,31,82), V(97,51,33,60), V(62,53,7F,45), \
-- V(B1,64,77,E0), V(BB,6B,AE,84), V(FE,81,A0,1C), V(F9,08,2B,94), \
-- V(70,48,68,58), V(8F,45,FD,19), V(94,DE,6C,87), V(52,7B,F8,B7), \
-- V(AB,73,D3,23), V(72,4B,02,E2), V(E3,1F,8F,57), V(66,55,AB,2A), \
-- V(B2,EB,28,07), V(2F,B5,C2,03), V(86,C5,7B,9A), V(D3,37,08,A5), \
-- V(30,28,87,F2), V(23,BF,A5,B2), V(02,03,6A,BA), V(ED,16,82,5C), \
-- V(8A,CF,1C,2B), V(A7,79,B4,92), V(F3,07,F2,F0), V(4E,69,E2,A1), \
-- V(65,DA,F4,CD), V(06,05,BE,D5), V(D1,34,62,1F), V(C4,A6,FE,8A), \
-- V(34,2E,53,9D), V(A2,F3,55,A0), V(05,8A,E1,32), V(A4,F6,EB,75), \
-- V(0B,83,EC,39), V(40,60,EF,AA), V(5E,71,9F,06), V(BD,6E,10,51), \
-- V(3E,21,8A,F9), V(96,DD,06,3D), V(DD,3E,05,AE), V(4D,E6,BD,46), \
-- V(91,54,8D,B5), V(71,C4,5D,05), V(04,06,D4,6F), V(60,50,15,FF), \
-- V(19,98,FB,24), V(D6,BD,E9,97), V(89,40,43,CC), V(67,D9,9E,77), \
-- V(B0,E8,42,BD), V(07,89,8B,88), V(E7,19,5B,38), V(79,C8,EE,DB), \
-- V(A1,7C,0A,47), V(7C,42,0F,E9), V(F8,84,1E,C9), V(00,00,00,00), \
-- V(09,80,86,83), V(32,2B,ED,48), V(1E,11,70,AC), V(6C,5A,72,4E), \
-- V(FD,0E,FF,FB), V(0F,85,38,56), V(3D,AE,D5,1E), V(36,2D,39,27), \
-- V(0A,0F,D9,64), V(68,5C,A6,21), V(9B,5B,54,D1), V(24,36,2E,3A), \
-- V(0C,0A,67,B1), V(93,57,E7,0F), V(B4,EE,96,D2), V(1B,9B,91,9E), \
-- V(80,C0,C5,4F), V(61,DC,20,A2), V(5A,77,4B,69), V(1C,12,1A,16), \
-- V(E2,93,BA,0A), V(C0,A0,2A,E5), V(3C,22,E0,43), V(12,1B,17,1D), \
-- V(0E,09,0D,0B), V(F2,8B,C7,AD), V(2D,B6,A8,B9), V(14,1E,A9,C8), \
-- V(57,F1,19,85), V(AF,75,07,4C), V(EE,99,DD,BB), V(A3,7F,60,FD), \
-- V(F7,01,26,9F), V(5C,72,F5,BC), V(44,66,3B,C5), V(5B,FB,7E,34), \
-- V(8B,43,29,76), V(CB,23,C6,DC), V(B6,ED,FC,68), V(B8,E4,F1,63), \
-- V(D7,31,DC,CA), V(42,63,85,10), V(13,97,22,40), V(84,C6,11,20), \
-- V(85,4A,24,7D), V(D2,BB,3D,F8), V(AE,F9,32,11), V(C7,29,A1,6D), \
-- V(1D,9E,2F,4B), V(DC,B2,30,F3), V(0D,86,52,EC), V(77,C1,E3,D0), \
-- V(2B,B3,16,6C), V(A9,70,B9,99), V(11,94,48,FA), V(47,E9,64,22), \
-- V(A8,FC,8C,C4), V(A0,F0,3F,1A), V(56,7D,2C,D8), V(22,33,90,EF), \
-- V(87,49,4E,C7), V(D9,38,D1,C1), V(8C,CA,A2,FE), V(98,D4,0B,36), \
-- V(A6,F5,81,CF), V(A5,7A,DE,28), V(DA,B7,8E,26), V(3F,AD,BF,A4), \
-- V(2C,3A,9D,E4), V(50,78,92,0D), V(6A,5F,CC,9B), V(54,7E,46,62), \
-- V(F6,8D,13,C2), V(90,D8,B8,E8), V(2E,39,F7,5E), V(82,C3,AF,F5), \
-- V(9F,5D,80,BE), V(69,D0,93,7C), V(6F,D5,2D,A9), V(CF,25,12,B3), \
-- V(C8,AC,99,3B), V(10,18,7D,A7), V(E8,9C,63,6E), V(DB,3B,BB,7B), \
-- V(CD,26,78,09), V(6E,59,18,F4), V(EC,9A,B7,01), V(83,4F,9A,A8), \
-- V(E6,95,6E,65), V(AA,FF,E6,7E), V(21,BC,CF,08), V(EF,15,E8,E6), \
-- V(BA,E7,9B,D9), V(4A,6F,36,CE), V(EA,9F,09,D4), V(29,B0,7C,D6), \
-- V(31,A4,B2,AF), V(2A,3F,23,31), V(C6,A5,94,30), V(35,A2,66,C0), \
-- V(74,4E,BC,37), V(FC,82,CA,A6), V(E0,90,D0,B0), V(33,A7,D8,15), \
-- V(F1,04,98,4A), V(41,EC,DA,F7), V(7F,CD,50,0E), V(17,91,F6,2F), \
-- V(76,4D,D6,8D), V(43,EF,B0,4D), V(CC,AA,4D,54), V(E4,96,04,DF), \
-- V(9E,D1,B5,E3), V(4C,6A,88,1B), V(C1,2C,1F,B8), V(46,65,51,7F), \
-- V(9D,5E,EA,04), V(01,8C,35,5D), V(FA,87,74,73), V(FB,0B,41,2E), \
-- V(B3,67,1D,5A), V(92,DB,D2,52), V(E9,10,56,33), V(6D,D6,47,13), \
-- V(9A,D7,61,8C), V(37,A1,0C,7A), V(59,F8,14,8E), V(EB,13,3C,89), \
-- V(CE,A9,27,EE), V(B7,61,C9,35), V(E1,1C,E5,ED), V(7A,47,B1,3C), \
-- V(9C,D2,DF,59), V(55,F2,73,3F), V(18,14,CE,79), V(73,C7,37,BF), \
-- V(53,F7,CD,EA), V(5F,FD,AA,5B), V(DF,3D,6F,14), V(78,44,DB,86), \
-- V(CA,AF,F3,81), V(B9,68,C4,3E), V(38,24,34,2C), V(C2,A3,40,5F), \
-- V(16,1D,C3,72), V(BC,E2,25,0C), V(28,3C,49,8B), V(FF,0D,95,41), \
-- V(39,A8,01,71), V(08,0C,B3,DE), V(D8,B4,E4,9C), V(64,56,C1,90), \
-- V(7B,CB,84,61), V(D5,32,B6,70), V(48,6C,5C,74), V(D0,B8,57,42)
-+ V(51,F4,A7,50), V(7E,41,65,53), V(1A,17,A4,C3), V(3A,27,5E,96), \
-+ V(3B,AB,6B,CB), V(1F,9D,45,F1), V(AC,FA,58,AB), V(4B,E3,03,93), \
-+ V(20,30,FA,55), V(AD,76,6D,F6), V(88,CC,76,91), V(F5,02,4C,25), \
-+ V(4F,E5,D7,FC), V(C5,2A,CB,D7), V(26,35,44,80), V(B5,62,A3,8F), \
-+ V(DE,B1,5A,49), V(25,BA,1B,67), V(45,EA,0E,98), V(5D,FE,C0,E1), \
-+ V(C3,2F,75,02), V(81,4C,F0,12), V(8D,46,97,A3), V(6B,D3,F9,C6), \
-+ V(03,8F,5F,E7), V(15,92,9C,95), V(BF,6D,7A,EB), V(95,52,59,DA), \
-+ V(D4,BE,83,2D), V(58,74,21,D3), V(49,E0,69,29), V(8E,C9,C8,44), \
-+ V(75,C2,89,6A), V(F4,8E,79,78), V(99,58,3E,6B), V(27,B9,71,DD), \
-+ V(BE,E1,4F,B6), V(F0,88,AD,17), V(C9,20,AC,66), V(7D,CE,3A,B4), \
-+ V(63,DF,4A,18), V(E5,1A,31,82), V(97,51,33,60), V(62,53,7F,45), \
-+ V(B1,64,77,E0), V(BB,6B,AE,84), V(FE,81,A0,1C), V(F9,08,2B,94), \
-+ V(70,48,68,58), V(8F,45,FD,19), V(94,DE,6C,87), V(52,7B,F8,B7), \
-+ V(AB,73,D3,23), V(72,4B,02,E2), V(E3,1F,8F,57), V(66,55,AB,2A), \
-+ V(B2,EB,28,07), V(2F,B5,C2,03), V(86,C5,7B,9A), V(D3,37,08,A5), \
-+ V(30,28,87,F2), V(23,BF,A5,B2), V(02,03,6A,BA), V(ED,16,82,5C), \
-+ V(8A,CF,1C,2B), V(A7,79,B4,92), V(F3,07,F2,F0), V(4E,69,E2,A1), \
-+ V(65,DA,F4,CD), V(06,05,BE,D5), V(D1,34,62,1F), V(C4,A6,FE,8A), \
-+ V(34,2E,53,9D), V(A2,F3,55,A0), V(05,8A,E1,32), V(A4,F6,EB,75), \
-+ V(0B,83,EC,39), V(40,60,EF,AA), V(5E,71,9F,06), V(BD,6E,10,51), \
-+ V(3E,21,8A,F9), V(96,DD,06,3D), V(DD,3E,05,AE), V(4D,E6,BD,46), \
-+ V(91,54,8D,B5), V(71,C4,5D,05), V(04,06,D4,6F), V(60,50,15,FF), \
-+ V(19,98,FB,24), V(D6,BD,E9,97), V(89,40,43,CC), V(67,D9,9E,77), \
-+ V(B0,E8,42,BD), V(07,89,8B,88), V(E7,19,5B,38), V(79,C8,EE,DB), \
-+ V(A1,7C,0A,47), V(7C,42,0F,E9), V(F8,84,1E,C9), V(00,00,00,00), \
-+ V(09,80,86,83), V(32,2B,ED,48), V(1E,11,70,AC), V(6C,5A,72,4E), \
-+ V(FD,0E,FF,FB), V(0F,85,38,56), V(3D,AE,D5,1E), V(36,2D,39,27), \
-+ V(0A,0F,D9,64), V(68,5C,A6,21), V(9B,5B,54,D1), V(24,36,2E,3A), \
-+ V(0C,0A,67,B1), V(93,57,E7,0F), V(B4,EE,96,D2), V(1B,9B,91,9E), \
-+ V(80,C0,C5,4F), V(61,DC,20,A2), V(5A,77,4B,69), V(1C,12,1A,16), \
-+ V(E2,93,BA,0A), V(C0,A0,2A,E5), V(3C,22,E0,43), V(12,1B,17,1D), \
-+ V(0E,09,0D,0B), V(F2,8B,C7,AD), V(2D,B6,A8,B9), V(14,1E,A9,C8), \
-+ V(57,F1,19,85), V(AF,75,07,4C), V(EE,99,DD,BB), V(A3,7F,60,FD), \
-+ V(F7,01,26,9F), V(5C,72,F5,BC), V(44,66,3B,C5), V(5B,FB,7E,34), \
-+ V(8B,43,29,76), V(CB,23,C6,DC), V(B6,ED,FC,68), V(B8,E4,F1,63), \
-+ V(D7,31,DC,CA), V(42,63,85,10), V(13,97,22,40), V(84,C6,11,20), \
-+ V(85,4A,24,7D), V(D2,BB,3D,F8), V(AE,F9,32,11), V(C7,29,A1,6D), \
-+ V(1D,9E,2F,4B), V(DC,B2,30,F3), V(0D,86,52,EC), V(77,C1,E3,D0), \
-+ V(2B,B3,16,6C), V(A9,70,B9,99), V(11,94,48,FA), V(47,E9,64,22), \
-+ V(A8,FC,8C,C4), V(A0,F0,3F,1A), V(56,7D,2C,D8), V(22,33,90,EF), \
-+ V(87,49,4E,C7), V(D9,38,D1,C1), V(8C,CA,A2,FE), V(98,D4,0B,36), \
-+ V(A6,F5,81,CF), V(A5,7A,DE,28), V(DA,B7,8E,26), V(3F,AD,BF,A4), \
-+ V(2C,3A,9D,E4), V(50,78,92,0D), V(6A,5F,CC,9B), V(54,7E,46,62), \
-+ V(F6,8D,13,C2), V(90,D8,B8,E8), V(2E,39,F7,5E), V(82,C3,AF,F5), \
-+ V(9F,5D,80,BE), V(69,D0,93,7C), V(6F,D5,2D,A9), V(CF,25,12,B3), \
-+ V(C8,AC,99,3B), V(10,18,7D,A7), V(E8,9C,63,6E), V(DB,3B,BB,7B), \
-+ V(CD,26,78,09), V(6E,59,18,F4), V(EC,9A,B7,01), V(83,4F,9A,A8), \
-+ V(E6,95,6E,65), V(AA,FF,E6,7E), V(21,BC,CF,08), V(EF,15,E8,E6), \
-+ V(BA,E7,9B,D9), V(4A,6F,36,CE), V(EA,9F,09,D4), V(29,B0,7C,D6), \
-+ V(31,A4,B2,AF), V(2A,3F,23,31), V(C6,A5,94,30), V(35,A2,66,C0), \
-+ V(74,4E,BC,37), V(FC,82,CA,A6), V(E0,90,D0,B0), V(33,A7,D8,15), \
-+ V(F1,04,98,4A), V(41,EC,DA,F7), V(7F,CD,50,0E), V(17,91,F6,2F), \
-+ V(76,4D,D6,8D), V(43,EF,B0,4D), V(CC,AA,4D,54), V(E4,96,04,DF), \
-+ V(9E,D1,B5,E3), V(4C,6A,88,1B), V(C1,2C,1F,B8), V(46,65,51,7F), \
-+ V(9D,5E,EA,04), V(01,8C,35,5D), V(FA,87,74,73), V(FB,0B,41,2E), \
-+ V(B3,67,1D,5A), V(92,DB,D2,52), V(E9,10,56,33), V(6D,D6,47,13), \
-+ V(9A,D7,61,8C), V(37,A1,0C,7A), V(59,F8,14,8E), V(EB,13,3C,89), \
-+ V(CE,A9,27,EE), V(B7,61,C9,35), V(E1,1C,E5,ED), V(7A,47,B1,3C), \
-+ V(9C,D2,DF,59), V(55,F2,73,3F), V(18,14,CE,79), V(73,C7,37,BF), \
-+ V(53,F7,CD,EA), V(5F,FD,AA,5B), V(DF,3D,6F,14), V(78,44,DB,86), \
-+ V(CA,AF,F3,81), V(B9,68,C4,3E), V(38,24,34,2C), V(C2,A3,40,5F), \
-+ V(16,1D,C3,72), V(BC,E2,25,0C), V(28,3C,49,8B), V(FF,0D,95,41), \
-+ V(39,A8,01,71), V(08,0C,B3,DE), V(D8,B4,E4,9C), V(64,56,C1,90), \
-+ V(7B,CB,84,61), V(D5,32,B6,70), V(48,6C,5C,74), V(D0,B8,57,42)
-
--#define V(a,b,c,d) 0x##a##b##c##d
-+#define V(a,b,c,d) 0x##a##b##c##d
- static uint32 RT0[256] = { RT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##d##a##b##c
-+#define V(a,b,c,d) 0x##d##a##b##c
- static uint32 RT1[256] = { RT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##c##d##a##b
-+#define V(a,b,c,d) 0x##c##d##a##b
- static uint32 RT2[256] = { RT };
-+
- #undef V
-
--#define V(a,b,c,d) 0x##b##c##d##a
-+#define V(a,b,c,d) 0x##b##c##d##a
- static uint32 RT3[256] = { RT };
-+
- #undef V
-
- #undef RT
-
- /* round constants */
-
--static uint32 RCON[10] =
--{
-- 0x01000000, 0x02000000, 0x04000000, 0x08000000,
-- 0x10000000, 0x20000000, 0x40000000, 0x80000000,
-- 0x1B000000, 0x36000000
-+static uint32 RCON[10] = {
-+ 0x01000000, 0x02000000, 0x04000000, 0x08000000,
-+ 0x10000000, 0x20000000, 0x40000000, 0x80000000,
-+ 0x1B000000, 0x36000000
- };
-
--/* key schedule tables */
-+/* key schedule tables */
-
- static int KT_init = 1;
-
-@@ -750,451 +953,445 @@
- static uint32 KT2[256];
- static uint32 KT3[256];
-
--/* platform-independant 32-bit integer manipulation macros */
-+/* platform-independant 32-bit integer manipulation macros */
-+
-+#define GET_UINT32(n,b,i) \
-+{ \
-+ (n) = ( (uint32) (b)[(i) ] << 24 ) \
-+ | ( (uint32) (b)[(i) + 1] << 16 ) \
-+ | ( (uint32) (b)[(i) + 2] << 8 ) \
-+ | ( (uint32) (b)[(i) + 3] ); \
-+}
-
--#define GET_UINT32(n,b,i) \
--{ \
-- (n) = ( (uint32) (b)[(i) ] << 24 ) \
-- | ( (uint32) (b)[(i) + 1] << 16 ) \
-- | ( (uint32) (b)[(i) + 2] << 8 ) \
-- | ( (uint32) (b)[(i) + 3] ); \
--}
--
--#define PUT_UINT32(n,b,i) \
--{ \
-- (b)[(i) ] = (uint8) ( (n) >> 24 ); \
-- (b)[(i) + 1] = (uint8) ( (n) >> 16 ); \
-- (b)[(i) + 2] = (uint8) ( (n) >> 8 ); \
-- (b)[(i) + 3] = (uint8) ( (n) ); \
-+#define PUT_UINT32(n,b,i) \
-+{ \
-+ (b)[(i) ] = (uint8) ( (n) >> 24 ); \
-+ (b)[(i) + 1] = (uint8) ( (n) >> 16 ); \
-+ (b)[(i) + 2] = (uint8) ( (n) >> 8 ); \
-+ (b)[(i) + 3] = (uint8) ( (n) ); \
- }
-
- /* AES key scheduling routine */
-
--int aes_set_key( aes_context *ctx, uint8 *key, int nbits )
-+int aes_set_key(aes_context * ctx, uint8 * key, int nbits)
- {
-- int i;
-- uint32 *RK, *SK;
--
-- switch( nbits )
-- {
-- case 128: ctx->nr = 10; break;
-- case 192: ctx->nr = 12; break;
-- case 256: ctx->nr = 14; break;
-- default : return( 1 );
-- }
--
-- RK = ctx->erk;
--
-- for( i = 0; i < (nbits >> 5); i++ )
-- {
-- GET_UINT32( RK[i], key, i * 4 );
-- }
--
-- /* setup encryption round keys */
--
-- switch( nbits )
-- {
-- case 128:
--
-- for( i = 0; i < 10; i++, RK += 4 )
-- {
-- RK[4] = RK[0] ^ RCON[i] ^
-- ( FSb[ (uint8) ( RK[3] >> 16 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[3] >> 8 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[3] ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[3] >> 24 ) ] );
--
-- RK[5] = RK[1] ^ RK[4];
-- RK[6] = RK[2] ^ RK[5];
-- RK[7] = RK[3] ^ RK[6];
-- }
-- break;
--
-- case 192:
--
-- for( i = 0; i < 8; i++, RK += 6 )
-- {
-- RK[6] = RK[0] ^ RCON[i] ^
-- ( FSb[ (uint8) ( RK[5] >> 16 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[5] >> 8 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[5] ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[5] >> 24 ) ] );
--
-- RK[7] = RK[1] ^ RK[6];
-- RK[8] = RK[2] ^ RK[7];
-- RK[9] = RK[3] ^ RK[8];
-- RK[10] = RK[4] ^ RK[9];
-- RK[11] = RK[5] ^ RK[10];
-- }
-- break;
--
-- case 256:
--
-- for( i = 0; i < 7; i++, RK += 8 )
-- {
-- RK[8] = RK[0] ^ RCON[i] ^
-- ( FSb[ (uint8) ( RK[7] >> 16 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[7] >> 8 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[7] ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[7] >> 24 ) ] );
--
-- RK[9] = RK[1] ^ RK[8];
-- RK[10] = RK[2] ^ RK[9];
-- RK[11] = RK[3] ^ RK[10];
--
-- RK[12] = RK[4] ^
-- ( FSb[ (uint8) ( RK[11] >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( RK[11] >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( RK[11] >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( RK[11] ) ] );
--
-- RK[13] = RK[5] ^ RK[12];
-- RK[14] = RK[6] ^ RK[13];
-- RK[15] = RK[7] ^ RK[14];
-- }
-- break;
-- }
--
-- /* setup decryption round keys */
-+ int i;
-+ uint32 *RK, *SK;
-
-- if( KT_init )
-- {
-- for( i = 0; i < 256; i++ )
-- {
-- KT0[i] = RT0[ FSb[i] ];
-- KT1[i] = RT1[ FSb[i] ];
-- KT2[i] = RT2[ FSb[i] ];
-- KT3[i] = RT3[ FSb[i] ];
-- }
-+ switch (nbits) {
-+ case 128:
-+ ctx->nr = 10;
-+ break;
-+ case 192:
-+ ctx->nr = 12;
-+ break;
-+ case 256:
-+ ctx->nr = 14;
-+ break;
-+ default:
-+ return (1);
-+ }
-+
-+ RK = ctx->erk;
-+
-+ for (i = 0; i < (nbits >> 5); i++) {
-+ GET_UINT32(RK[i], key, i * 4);
-+ }
-+
-+ /* setup encryption round keys */
-+
-+ switch (nbits) {
-+ case 128:
-+
-+ for (i = 0; i < 10; i++, RK += 4) {
-+ RK[4] = RK[0] ^ RCON[i] ^
-+ (FSb[(uint8) (RK[3] >> 16)] << 24) ^
-+ (FSb[(uint8) (RK[3] >> 8)] << 16) ^
-+ (FSb[(uint8) (RK[3])] << 8) ^
-+ (FSb[(uint8) (RK[3] >> 24)]);
-+
-+ RK[5] = RK[1] ^ RK[4];
-+ RK[6] = RK[2] ^ RK[5];
-+ RK[7] = RK[3] ^ RK[6];
-+ }
-+ break;
-+
-+ case 192:
-+
-+ for (i = 0; i < 8; i++, RK += 6) {
-+ RK[6] = RK[0] ^ RCON[i] ^
-+ (FSb[(uint8) (RK[5] >> 16)] << 24) ^
-+ (FSb[(uint8) (RK[5] >> 8)] << 16) ^
-+ (FSb[(uint8) (RK[5])] << 8) ^
-+ (FSb[(uint8) (RK[5] >> 24)]);
-+
-+ RK[7] = RK[1] ^ RK[6];
-+ RK[8] = RK[2] ^ RK[7];
-+ RK[9] = RK[3] ^ RK[8];
-+ RK[10] = RK[4] ^ RK[9];
-+ RK[11] = RK[5] ^ RK[10];
-+ }
-+ break;
-+
-+ case 256:
-+
-+ for (i = 0; i < 7; i++, RK += 8) {
-+ RK[8] = RK[0] ^ RCON[i] ^
-+ (FSb[(uint8) (RK[7] >> 16)] << 24) ^
-+ (FSb[(uint8) (RK[7] >> 8)] << 16) ^
-+ (FSb[(uint8) (RK[7])] << 8) ^
-+ (FSb[(uint8) (RK[7] >> 24)]);
-+
-+ RK[9] = RK[1] ^ RK[8];
-+ RK[10] = RK[2] ^ RK[9];
-+ RK[11] = RK[3] ^ RK[10];
-+
-+ RK[12] = RK[4] ^
-+ (FSb[(uint8) (RK[11] >> 24)] << 24) ^
-+ (FSb[(uint8) (RK[11] >> 16)] << 16) ^
-+ (FSb[(uint8) (RK[11] >> 8)] << 8) ^
-+ (FSb[(uint8) (RK[11])]);
-+
-+ RK[13] = RK[5] ^ RK[12];
-+ RK[14] = RK[6] ^ RK[13];
-+ RK[15] = RK[7] ^ RK[14];
-+ }
-+ break;
-+ }
-+
-+ /* setup decryption round keys */
-+
-+ if (KT_init) {
-+ for (i = 0; i < 256; i++) {
-+ KT0[i] = RT0[FSb[i]];
-+ KT1[i] = RT1[FSb[i]];
-+ KT2[i] = RT2[FSb[i]];
-+ KT3[i] = RT3[FSb[i]];
-+ }
-+
-+ KT_init = 0;
-+ }
-+
-+ SK = ctx->drk;
-+
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+
-+ for (i = 1; i < ctx->nr; i++) {
-+ RK -= 8;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+
-+ *SK++ = KT0[(uint8) (*RK >> 24)] ^
-+ KT1[(uint8) (*RK >> 16)] ^
-+ KT2[(uint8) (*RK >> 8)] ^ KT3[(uint8) (*RK)];
-+ RK++;
-+ }
-+
-+ RK -= 8;
-+
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-+ *SK++ = *RK++;
-
-- KT_init = 0;
-- }
--
-- SK = ctx->drk;
--
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
--
-- for( i = 1; i < ctx->nr; i++ )
-- {
-- RK -= 8;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
--
-- *SK++ = KT0[ (uint8) ( *RK >> 24 ) ] ^
-- KT1[ (uint8) ( *RK >> 16 ) ] ^
-- KT2[ (uint8) ( *RK >> 8 ) ] ^
-- KT3[ (uint8) ( *RK ) ]; RK++;
-- }
--
-- RK -= 8;
--
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
-- *SK++ = *RK++;
--
-- return( 0 );
-+ return (0);
- }
-
--/* AES 128-bit block encryption routine */
-+/* AES 128-bit block encryption routine */
-
--void aes_encrypt(aes_context *ctx, uint8 input[16], uint8 output[16] )
-+void aes_encrypt(aes_context * ctx, uint8 input[16], uint8 output[16])
- {
-- uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
-+ uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
-
-- RK = ctx->erk;
-- GET_UINT32( X0, input, 0 ); X0 ^= RK[0];
-- GET_UINT32( X1, input, 4 ); X1 ^= RK[1];
-- GET_UINT32( X2, input, 8 ); X2 ^= RK[2];
-- GET_UINT32( X3, input, 12 ); X3 ^= RK[3];
--
--#define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
--{ \
-- RK += 4; \
-- \
-- X0 = RK[0] ^ FT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y3 ) ]; \
-- \
-- X1 = RK[1] ^ FT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y0 ) ]; \
-- \
-- X2 = RK[2] ^ FT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y1 ) ]; \
-- \
-- X3 = RK[3] ^ FT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-- FT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-- FT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-- FT3[ (uint8) ( Y2 ) ]; \
--}
--
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 1 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 2 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 3 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 4 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 5 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 6 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 7 */
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 8 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 9 */
--
-- if( ctx->nr > 10 )
-- {
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 10 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 11 */
-- }
--
-- if( ctx->nr > 12 )
-- {
-- AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 12 */
-- AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 13 */
-- }
--
-- /* last round */
--
-- RK += 4;
-+ RK = ctx->erk;
-+ GET_UINT32(X0, input, 0);
-+ X0 ^= RK[0];
-+ GET_UINT32(X1, input, 4);
-+ X1 ^= RK[1];
-+ GET_UINT32(X2, input, 8);
-+ X2 ^= RK[2];
-+ GET_UINT32(X3, input, 12);
-+ X3 ^= RK[3];
-+
-+#define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
-+{ \
-+ RK += 4; \
-+ \
-+ X0 = RK[0] ^ FT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y3 ) ]; \
-+ \
-+ X1 = RK[1] ^ FT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y0 ) ]; \
-+ \
-+ X2 = RK[2] ^ FT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y1 ) ]; \
-+ \
-+ X3 = RK[3] ^ FT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-+ FT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-+ FT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-+ FT3[ (uint8) ( Y2 ) ]; \
-+}
-
-- X0 = RK[0] ^ ( FSb[ (uint8) ( Y0 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y1 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y2 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y3 ) ] );
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 1 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 2 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 3 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 4 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 5 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 6 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 7 */
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 8 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 9 */
-+
-+ if (ctx->nr > 10) {
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 10 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 11 */
-+ }
-+
-+ if (ctx->nr > 12) {
-+ AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 12 */
-+ AES_FROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 13 */
-+ }
-+
-+ /* last round */
-+
-+ RK += 4;
-+
-+ X0 = RK[0] ^ (FSb[(uint8) (Y0 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y1 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y2 >> 8)] << 8) ^ (FSb[(uint8) (Y3)]);
-+
-+ X1 = RK[1] ^ (FSb[(uint8) (Y1 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y2 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y3 >> 8)] << 8) ^ (FSb[(uint8) (Y0)]);
-+
-+ X2 = RK[2] ^ (FSb[(uint8) (Y2 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y3 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y0 >> 8)] << 8) ^ (FSb[(uint8) (Y1)]);
-+
-+ X3 = RK[3] ^ (FSb[(uint8) (Y3 >> 24)] << 24) ^
-+ (FSb[(uint8) (Y0 >> 16)] << 16) ^
-+ (FSb[(uint8) (Y1 >> 8)] << 8) ^ (FSb[(uint8) (Y2)]);
-+
-+ PUT_UINT32(X0, output, 0);
-+ PUT_UINT32(X1, output, 4);
-+ PUT_UINT32(X2, output, 8);
-+ PUT_UINT32(X3, output, 12);
-+}
-
-- X1 = RK[1] ^ ( FSb[ (uint8) ( Y1 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y2 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y3 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y0 ) ] );
-+/* AES 128-bit block decryption routine */
-
-- X2 = RK[2] ^ ( FSb[ (uint8) ( Y2 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y3 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y0 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y1 ) ] );
-+void aes_decrypt(aes_context * ctx, uint8 input[16], uint8 output[16])
-+{
-+ uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
-
-- X3 = RK[3] ^ ( FSb[ (uint8) ( Y3 >> 24 ) ] << 24 ) ^
-- ( FSb[ (uint8) ( Y0 >> 16 ) ] << 16 ) ^
-- ( FSb[ (uint8) ( Y1 >> 8 ) ] << 8 ) ^
-- ( FSb[ (uint8) ( Y2 ) ] );
-+ RK = ctx->drk;
-
-- PUT_UINT32( X0, output, 0 );
-- PUT_UINT32( X1, output, 4 );
-- PUT_UINT32( X2, output, 8 );
-- PUT_UINT32( X3, output, 12 );
-+ GET_UINT32(X0, input, 0);
-+ X0 ^= RK[0];
-+ GET_UINT32(X1, input, 4);
-+ X1 ^= RK[1];
-+ GET_UINT32(X2, input, 8);
-+ X2 ^= RK[2];
-+ GET_UINT32(X3, input, 12);
-+ X3 ^= RK[3];
-+
-+#define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
-+{ \
-+ RK += 4; \
-+ \
-+ X0 = RK[0] ^ RT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y1 ) ]; \
-+ \
-+ X1 = RK[1] ^ RT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y2 ) ]; \
-+ \
-+ X2 = RK[2] ^ RT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y3 ) ]; \
-+ \
-+ X3 = RK[3] ^ RT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-+ RT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-+ RT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-+ RT3[ (uint8) ( Y0 ) ]; \
- }
-
--/* AES 128-bit block decryption routine */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 1 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 2 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 3 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 4 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 5 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 6 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 7 */
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 8 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 9 */
-+
-+ if (ctx->nr > 10) {
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 10 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 11 */
-+ }
-+
-+ if (ctx->nr > 12) {
-+ AES_RROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3); /* round 12 */
-+ AES_RROUND(Y0, Y1, Y2, Y3, X0, X1, X2, X3); /* round 13 */
-+ }
-+
-+ /* last round */
-+
-+ RK += 4;
-+
-+ X0 = RK[0] ^ (RSb[(uint8) (Y0 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y3 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y2 >> 8)] << 8) ^ (RSb[(uint8) (Y1)]);
-+
-+ X1 = RK[1] ^ (RSb[(uint8) (Y1 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y0 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y3 >> 8)] << 8) ^ (RSb[(uint8) (Y2)]);
-+
-+ X2 = RK[2] ^ (RSb[(uint8) (Y2 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y1 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y0 >> 8)] << 8) ^ (RSb[(uint8) (Y3)]);
-+
-+ X3 = RK[3] ^ (RSb[(uint8) (Y3 >> 24)] << 24) ^
-+ (RSb[(uint8) (Y2 >> 16)] << 16) ^
-+ (RSb[(uint8) (Y1 >> 8)] << 8) ^ (RSb[(uint8) (Y0)]);
-+
-+ PUT_UINT32(X0, output, 0);
-+ PUT_UINT32(X1, output, 4);
-+ PUT_UINT32(X2, output, 8);
-+ PUT_UINT32(X3, output, 12);
-+}
-
--void aes_decrypt( aes_context *ctx, uint8 input[16], uint8 output[16] )
-+void hmac_sha1(unsigned char *text, int text_len, unsigned char *key,
-+ int key_len, unsigned char *digest)
- {
-- uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3;
--
-- RK = ctx->drk;
--
-- GET_UINT32( X0, input, 0 ); X0 ^= RK[0];
-- GET_UINT32( X1, input, 4 ); X1 ^= RK[1];
-- GET_UINT32( X2, input, 8 ); X2 ^= RK[2];
-- GET_UINT32( X3, input, 12 ); X3 ^= RK[3];
--
--#define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \
--{ \
-- RK += 4; \
-- \
-- X0 = RK[0] ^ RT0[ (uint8) ( Y0 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y3 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y2 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y1 ) ]; \
-- \
-- X1 = RK[1] ^ RT0[ (uint8) ( Y1 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y0 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y3 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y2 ) ]; \
-- \
-- X2 = RK[2] ^ RT0[ (uint8) ( Y2 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y1 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y0 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y3 ) ]; \
-- \
-- X3 = RK[3] ^ RT0[ (uint8) ( Y3 >> 24 ) ] ^ \
-- RT1[ (uint8) ( Y2 >> 16 ) ] ^ \
-- RT2[ (uint8) ( Y1 >> 8 ) ] ^ \
-- RT3[ (uint8) ( Y0 ) ]; \
--}
--
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 1 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 2 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 3 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 4 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 5 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 6 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 7 */
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 8 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 9 */
--
-- if( ctx->nr > 10 )
-- {
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 10 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 11 */
-- }
--
-- if( ctx->nr > 12 )
-- {
-- AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); /* round 12 */
-- AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); /* round 13 */
-- }
-+ SHA_CTX context;
-+ unsigned char k_ipad[65]; /* inner padding - key XORd with ipad */
-+ unsigned char k_opad[65]; /* outer padding - key XORd with opad */
-+ int i;
-+
-+ /* if key is longer than 64 bytes reset it to key=SHA1(key) */
-+ if (key_len > 64) {
-+ SHA_CTX tctx;
-+
-+ SHAInit(&tctx);
-+ SHAUpdate(&tctx, key, key_len);
-+ SHAFinal(&tctx, key);
-+
-+ key_len = 20;
-+ }
-+
-+ /*
-+ * the HMAC_SHA1 transform looks like:
-+ *
-+ * SHA1(K XOR opad, SHA1(K XOR ipad, text))
-+ *
-+ * where K is an n byte key
-+ * ipad is the byte 0x36 repeated 64 times
-+ * opad is the byte 0x5c repeated 64 times
-+ * and text is the data being protected
-+ */
-+
-+ /* start out by storing key in pads */
-+ memset(k_ipad, 0, sizeof k_ipad);
-+ memset(k_opad, 0, sizeof k_opad);
-+ memcpy(k_ipad, key, key_len);
-+ memcpy(k_opad, key, key_len);
-+
-+ /* XOR key with ipad and opad values */
-+ for (i = 0; i < 64; i++) {
-+ k_ipad[i] ^= 0x36;
-+ k_opad[i] ^= 0x5c;
-+ }
-+
-+ /* perform inner SHA1 */
-+ SHAInit(&context); /* init context for 1st pass */
-+ SHAUpdate(&context, k_ipad, 64); /* start with inner pad */
-+ SHAUpdate(&context, text, text_len); /* then text of datagram */
-+ SHAFinal(&context, digest); /* finish up 1st pass */
-+
-+ /* perform outer SHA1 */
-+ SHAInit(&context); /* init context for 2nd pass */
-+ SHAUpdate(&context, k_opad, 64); /* start with outer pad */
-+ SHAUpdate(&context, digest, 20); /* then results of 1st hash */
-+ SHAFinal(&context, digest); /* finish up 2nd pass */
-+}
-
-- /* last round */
-+/*
-+* F(P, S, c, i) = U1 xor U2 xor ... Uc
-+* U1 = PRF(P, S || Int(i))
-+* U2 = PRF(P, U1)
-+* Uc = PRF(P, Uc-1)
-+*/
-
-- RK += 4;
-+void F(char *password, unsigned char *ssid, int ssidlength, int iterations,
-+ int count, unsigned char *output)
-+{
-+ unsigned char digest[36], digest1[SHA_DIGEST_LEN];
-+ int i, j;
-
-- X0 = RK[0] ^ ( RSb[ (uint8) ( Y0 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y3 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y2 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y1 ) ] );
--
-- X1 = RK[1] ^ ( RSb[ (uint8) ( Y1 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y0 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y3 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y2 ) ] );
--
-- X2 = RK[2] ^ ( RSb[ (uint8) ( Y2 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y1 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y0 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y3 ) ] );
--
-- X3 = RK[3] ^ ( RSb[ (uint8) ( Y3 >> 24 ) ] << 24 ) ^
-- ( RSb[ (uint8) ( Y2 >> 16 ) ] << 16 ) ^
-- ( RSb[ (uint8) ( Y1 >> 8 ) ] << 8 ) ^
-- ( RSb[ (uint8) ( Y0 ) ] );
--
-- PUT_UINT32( X0, output, 0 );
-- PUT_UINT32( X1, output, 4 );
-- PUT_UINT32( X2, output, 8 );
-- PUT_UINT32( X3, output, 12 );
--}
--
--void hmac_sha1(unsigned char *text, int text_len, unsigned char *key, int key_len, unsigned char *digest)
--{
-- SHA_CTX context;
-- unsigned char k_ipad[65]; /* inner padding - key XORd with ipad */
-- unsigned char k_opad[65]; /* outer padding - key XORd with opad */
-- int i;
--
-- /* if key is longer than 64 bytes reset it to key=SHA1(key) */
-- if (key_len > 64)
-- {
-- SHA_CTX tctx;
--
-- SHAInit(&tctx);
-- SHAUpdate(&tctx, key, key_len);
-- SHAFinal(&tctx, key);
--
-- key_len = 20;
-- }
--
-- /*
-- * the HMAC_SHA1 transform looks like:
-- *
-- * SHA1(K XOR opad, SHA1(K XOR ipad, text))
-- *
-- * where K is an n byte key
-- * ipad is the byte 0x36 repeated 64 times
-- * opad is the byte 0x5c repeated 64 times
-- * and text is the data being protected
-- */
--
-- /* start out by storing key in pads */
-- memset(k_ipad, 0, sizeof k_ipad);
-- memset(k_opad, 0, sizeof k_opad);
-- memcpy(k_ipad, key, key_len);
-- memcpy(k_opad, key, key_len);
--
-- /* XOR key with ipad and opad values */
-- for (i = 0; i < 64; i++)
-- {
-- k_ipad[i] ^= 0x36;
-- k_opad[i] ^= 0x5c;
-- }
--
-- /* perform inner SHA1*/
-- SHAInit(&context); /* init context for 1st pass */
-- SHAUpdate(&context, k_ipad, 64); /* start with inner pad */
-- SHAUpdate(&context, text, text_len); /* then text of datagram */
-- SHAFinal(&context, digest); /* finish up 1st pass */
--
-- /* perform outer SHA1 */
-- SHAInit(&context); /* init context for 2nd pass */
-- SHAUpdate(&context, k_opad, 64); /* start with outer pad */
-- SHAUpdate(&context, digest, 20); /* then results of 1st hash */
-- SHAFinal(&context, digest); /* finish up 2nd pass */
--}
-+ /* U1 = PRF(P, S || int(i)) */
-+ memcpy(digest, ssid, ssidlength);
-+ digest[ssidlength] = (unsigned char)((count >> 24) & 0xff);
-+ digest[ssidlength + 1] = (unsigned char)((count >> 16) & 0xff);
-+ digest[ssidlength + 2] = (unsigned char)((count >> 8) & 0xff);
-+ digest[ssidlength + 3] = (unsigned char)(count & 0xff);
-+ hmac_sha1(digest, ssidlength + 4, (unsigned char *)password, (int)strlen(password), digest1); // for WPA update
-+
-+ /* output = U1 */
-+ memcpy(output, digest1, SHA_DIGEST_LEN);
-+
-+ for (i = 1; i < iterations; i++) {
-+ /* Un = PRF(P, Un-1) */
-+ hmac_sha1(digest1, SHA_DIGEST_LEN, (unsigned char *)password, (int)strlen(password), digest); // for WPA update
-+ memcpy(digest1, digest, SHA_DIGEST_LEN);
-+
-+ /* output = output xor Un */
-+ for (j = 0; j < SHA_DIGEST_LEN; j++) {
-+ output[j] ^= digest[j];
-+ }
-+ }
-+}
-
- /*
--* F(P, S, c, i) = U1 xor U2 xor ... Uc
--* U1 = PRF(P, S || Int(i))
--* U2 = PRF(P, U1)
--* Uc = PRF(P, Uc-1)
--*/
--
--void F(char *password, unsigned char *ssid, int ssidlength, int iterations, int count, unsigned char *output)
--{
-- unsigned char digest[36], digest1[SHA_DIGEST_LEN];
-- int i, j;
--
-- /* U1 = PRF(P, S || int(i)) */
-- memcpy(digest, ssid, ssidlength);
-- digest[ssidlength] = (unsigned char)((count>>24) & 0xff);
-- digest[ssidlength+1] = (unsigned char)((count>>16) & 0xff);
-- digest[ssidlength+2] = (unsigned char)((count>>8) & 0xff);
-- digest[ssidlength+3] = (unsigned char)(count & 0xff);
-- hmac_sha1(digest, ssidlength+4, (unsigned char*) password, (int) strlen(password), digest1); // for WPA update
--
-- /* output = U1 */
-- memcpy(output, digest1, SHA_DIGEST_LEN);
--
-- for (i = 1; i < iterations; i++)
-- {
-- /* Un = PRF(P, Un-1) */
-- hmac_sha1(digest1, SHA_DIGEST_LEN, (unsigned char*) password, (int) strlen(password), digest); // for WPA update
-- memcpy(digest1, digest, SHA_DIGEST_LEN);
--
-- /* output = output xor Un */
-- for (j = 0; j < SHA_DIGEST_LEN; j++)
-- {
-- output[j] ^= digest[j];
-- }
-- }
--}
--/*
--* password - ascii string up to 63 characters in length
--* ssid - octet string up to 32 octets
--* ssidlength - length of ssid in octets
--* output must be 40 octets in length and outputs 256 bits of key
--*/
--int PasswordHash(char *password, unsigned char *ssid, int ssidlength, unsigned char *output)
--{
-- if ((strlen(password) > 63) || (ssidlength > 32))
-- return 0;
--
-- F(password, ssid, ssidlength, 4096, 1, output);
-- F(password, ssid, ssidlength, 4096, 2, &output[SHA_DIGEST_LEN]);
-- return 1;
-+* password - ascii string up to 63 characters in length
-+* ssid - octet string up to 32 octets
-+* ssidlength - length of ssid in octets
-+* output must be 40 octets in length and outputs 256 bits of key
-+*/
-+int PasswordHash(char *password, unsigned char *ssid, int ssidlength,
-+ unsigned char *output)
-+{
-+ if ((strlen(password) > 63) || (ssidlength > 32))
-+ return 0;
-+
-+ F(password, ssid, ssidlength, 4096, 1, output);
-+ F(password, ssid, ssidlength, 4096, 2, &output[SHA_DIGEST_LEN]);
-+ return 1;
- }
-diff -Nur rt2500-1.1.0-b4/Module/md5.h rt2500-cvs-2007061011/Module/md5.h
---- rt2500-1.1.0-b4/Module/md5.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/md5.h 2007-05-29 05:49:17.000000000 +0200
-@@ -1,94 +1,96 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
- * This MD5 code is based on code from Dynamics -- HUT Mobile IP *
- * Copyright (C) 1998-2001, Dynamics group *
-- ***************************************************************************/
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: md5.h
-- *
-+ *
- * Abstract: contain MD5 and AES cipher algorithm
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
--#ifndef MD5_H
--#define MD5_H
-+#ifndef __MD5_H__
-+#define __MD5_H__
-
- #define MD5_MAC_LEN 16
- #define SHA_DIGEST_LEN 20
-
--struct MD5Context {
-- u32 buf[4];
-- u32 bits[2];
-- u8 in[64];
--};
-+typedef struct _MD5_CTX {
-+ ULONG Buf[4]; // buffers of four states
-+ UCHAR Input[64]; // input message
-+ ULONG LenInBitCount[2]; // length counter for input message, 0 up to 64 bits
-+} MD5_CTX;
-+
-+VOID MD5Init(MD5_CTX * pCtx);
-+VOID MD5Update(MD5_CTX * pCtx, UCHAR * pData, ULONG LenInBytes);
-+VOID MD5Final(UCHAR Digest[16], MD5_CTX * pCtx);
-+VOID MD5Transform(ULONG Buf[4], ULONG Mes[16]);
-+
-+void md5_mac(UCHAR * key, ULONG key_len, UCHAR * data, ULONG data_len,
-+ UCHAR * mac);
-+void hmac_md5(UCHAR * key, ULONG key_len, UCHAR * data, ULONG data_len,
-+ UCHAR * mac);
-+
-+#endif // __MD5_H__
-+
-+/******************************************************************************/
-+
-+VOID SHAInit(SHA_CTX * pCtx);
-+UCHAR SHAUpdate(SHA_CTX * pCtx, UCHAR * pData, ULONG LenInBytes);
-+VOID SHAFinal(SHA_CTX * pCtx, UCHAR Digest[20]);
-+VOID SHATransform(ULONG Buf[5], ULONG Mes[20]);
-+
-+void hmac_sha1(unsigned char *text, int text_len, unsigned char *key,
-+ int key_len, unsigned char *digest);
-+void F(char *password, unsigned char *ssid, int ssidlength, int iterations,
-+ int count, unsigned char *output);
-+int PasswordHash(char *password, unsigned char *ssid, int ssidlength,
-+ unsigned char *output);
-+
-+/******************************************************************************/
-+#ifndef _AES_H
-+#define _AES_H
-
--void MD5Init(struct MD5Context *context);
--void MD5Update(struct MD5Context *context, unsigned char *buf, unsigned len);
--void MD5Final(unsigned char digest[16], struct MD5Context *context);
--void MD5Transform(u32 buf[4], u32 in[16]);
--
--typedef struct MD5Context MD5_CTX;
--
--
--void md5_mac(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac);
--void hmac_md5(u8 *key, size_t key_len, u8 *data, size_t data_len, u8 *mac);
--
--#endif /* MD5_H */
--
--#ifndef _AES_H
--#define _AES_H
--
--#ifndef uint8
--#define uint8 unsigned char
-+#ifndef uint8
-+#define uint8 unsigned char
- #endif
-
--#ifndef uint32
--#define uint32 unsigned long int
-+#ifndef uint32
-+#define uint32 unsigned long int
- #endif
-
--typedef struct
--{
-- uint32 erk[64]; /* encryption round keys */
-- uint32 drk[64]; /* decryption round keys */
-- int nr; /* number of rounds */
--}
--aes_context;
--
--int aes_set_key( aes_context *ctx, uint8 *key, int nbits );
--void aes_encrypt( aes_context *ctx, uint8 input[16], uint8 output[16] );
--void aes_decrypt( aes_context *ctx, uint8 input[16], uint8 output[16] );
--
--
--void SHAInit(SHA_CTX *ctx);
--void SHAUpdate(SHA_CTX *ctx, unsigned char *dataIn, int len);
--void SHAFinal(SHA_CTX *ctx, unsigned char hashout[20]);
--void SHAHashBlock(SHA_CTX *ctx);
--void hmac_sha1(unsigned char *text, int text_len, unsigned char *key, int key_len, unsigned char *digest);
--void F(char *password, unsigned char *ssid, int ssidlength, int iterations, int count, unsigned char *output);
--int PasswordHash(char *password, unsigned char *ssid, int ssidlength, unsigned char *output);
--
--#endif /* aes.h */
-+typedef struct {
-+ uint32 erk[64]; /* encryption round keys */
-+ uint32 drk[64]; /* decryption round keys */
-+ int nr; /* number of rounds */
-+} aes_context;
-+
-+int aes_set_key(aes_context * ctx, uint8 * key, int nbits);
-+void aes_encrypt(aes_context * ctx, uint8 input[16], uint8 output[16]);
-+void aes_decrypt(aes_context * ctx, uint8 input[16], uint8 output[16]);
-
-+#endif /* aes.h */
-diff -Nur rt2500-1.1.0-b4/Module/mlme.c rt2500-cvs-2007061011/Module/mlme.c
---- rt2500-1.1.0-b4/Module/mlme.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/mlme.c 2007-05-15 21:41:34.000000000 +0200
-@@ -1,54 +1,54 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: mlme.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW 8th Dec 04 kmalloc ATOMIC fixes
-- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-- * Ivo (rt2400) 15th Dec 04 Uninitialised timer
-+ * RobinC 10th Dec 04 RFMON Support
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * Ivo (rt2400) 15th Dec 04 Uninitialised timer
- * MarkW 17th Dec 04 Monitor mode through iwconfig
- * BrunoH 3rd Feb 04 Fix for 802.11b adhoc association
-- * JohnC 19th Mar 04 Fixes for quality reporting
-+ * JohnC 19th Mar 04 Fixes for quality reporting
- * MarkW 13th Jun 05 Fix to allow adhoc network creation
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
- #include <stdarg.h>
-
--// e.g. RssiSafeLevelForTxRate[RATE_36]" means if the current RSSI is greater than
--// this value, then it's quaranteed capable of operating in 36 mbps TX rate in
-+// e.g. RssiSafeLevelForTxRate[RATE_36]" means if the current RSSI is greater than
-+// this value, then it's quaranteed capable of operating in 36 mbps TX rate in
- // clean environment.
- // TxRate: 1 2 5.5 11 6 9 12 18 24 36 48 54 72 100
- CHAR RssiSafeLevelForTxRate[] ={ -92, -91, -90, -87, -88, -86, -85, -83, -81, -78, -72, -71, -40, -40 };
-
-- // 1 2 5.5 11
-+ // 1 2 5.5 11
- UCHAR Phy11BNextRateDownward[] = {RATE_1, RATE_1, RATE_2, RATE_5_5};
- UCHAR Phy11BNextRateUpward[] = {RATE_2, RATE_5_5, RATE_11, RATE_11};
-
-@@ -68,10 +68,10 @@
-
- USHORT OldRateUpPER[] = { 40, 40, 40, 40, 30, 30, 30, 30, 20, 20, 10, 10 }; // in percentage
- USHORT OldRateDownPER[] = { 45, 45, 45, 45, 35, 35, 35, 35, 25, 25, 25, 12 }; // in percentage
--
-+
- UCHAR RateIdToMbps[] = { 1, 2, 5, 11, 6, 9, 12, 18, 24, 36, 48, 54, 72, 100};
- USHORT RateIdTo500Kbps[] = { 2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108, 144, 200};
--
-+
- RTMP_RF_REGS RF2522RegTable[] = {
- // ch R1 R2 R3(TX0~4=0) R4
- {1, 0x94002050, 0x940c1fda, 0x94000101, 0},
-@@ -144,10 +144,10 @@
- {14, 0x94032020, 0x94000d1a, 0x94000101, 0x94000a03}
- };
- #define NUM_OF_2524_CHNL (sizeof(RF2524RegTable) / sizeof(RTMP_RF_REGS))
--
-+
- RTMP_RF_REGS RF2525RegTable[] = {
- // ch R1 R2 R3(TX0~4=0) R4
-- {1, 0x94022020, 0x94080c9e, 0x94060111, 0x94000a1b}, // {1, 0x94022010, 0x9408062e, 0x94060111, 0x94000a23},
-+ {1, 0x94022020, 0x94080c9e, 0x94060111, 0x94000a1b}, // {1, 0x94022010, 0x9408062e, 0x94060111, 0x94000a23},
- {2, 0x94022020, 0x94080ca2, 0x94060111, 0x94000a1b},
- {3, 0x94022020, 0x94080ca6, 0x94060111, 0x94000a1b},
- {4, 0x94022020, 0x94080caa, 0x94060111, 0x94000a1b},
-@@ -157,15 +157,15 @@
- {8, 0x94022020, 0x94080cba, 0x94060111, 0x94000a1b},
- {9, 0x94022020, 0x94080cbe, 0x94060111, 0x94000a1b},
- {10, 0x94022020, 0x94080d02, 0x94060111, 0x94000a1b},
-- {11, 0x94022020, 0x94080d06, 0x94060111, 0x94000a1b}, // {11, 0x94022010, 0x94080682, 0x94060111, 0x94000a23},
-+ {11, 0x94022020, 0x94080d06, 0x94060111, 0x94000a1b}, // {11, 0x94022010, 0x94080682, 0x94060111, 0x94000a23},
- {12, 0x94022020, 0x94080d0a, 0x94060111, 0x94000a1b},
-- {13, 0x94022020, 0x94080d0e, 0x94060111, 0x94000a1b}, // {13, 0x94022010, 0x94080686, 0x94060111, 0x94000a23},
-+ {13, 0x94022020, 0x94080d0e, 0x94060111, 0x94000a1b}, // {13, 0x94022010, 0x94080686, 0x94060111, 0x94000a23},
- {14, 0x94022020, 0x94080d1a, 0x94060111, 0x94000a03}
- };
- #define NUM_OF_2525_CHNL (sizeof(RF2525RegTable) / sizeof(RTMP_RF_REGS))
-
- RTMP_RF_REGS RF2525HBOffsetRegTable[] = {
-- {1, 0x94022020, 0x94080cbe, 0x94060111, 0x94000a1b},
-+ {1, 0x94022020, 0x94080cbe, 0x94060111, 0x94000a1b},
- {2, 0x94022020, 0x94080d02, 0x94060111, 0x94000a1b},
- {3, 0x94022020, 0x94080d06, 0x94060111, 0x94000a1b},
- {4, 0x94022020, 0x94080d0a, 0x94060111, 0x94000a1b},
-@@ -175,9 +175,9 @@
- {8, 0x94022020, 0x94080d1a, 0x94060111, 0x94000a1b},
- {9, 0x94022020, 0x94080d1e, 0x94060111, 0x94000a1b},
- {10, 0x94022020, 0x94080d22, 0x94060111, 0x94000a1b},
-- {11, 0x94022020, 0x94080d26, 0x94060111, 0x94000a1b},
-+ {11, 0x94022020, 0x94080d26, 0x94060111, 0x94000a1b},
- {12, 0x94022020, 0x94080d2a, 0x94060111, 0x94000a1b},
-- {13, 0x94022020, 0x94080d2e, 0x94060111, 0x94000a1b},
-+ {13, 0x94022020, 0x94080d2e, 0x94060111, 0x94000a1b},
- {14, 0x94022020, 0x94080d3a, 0x94060111, 0x94000a03}
- };
-
-@@ -195,7 +195,7 @@
- {8, 0x94022020, 0x94081192, 0x94060111, 0x94000a0b},
- {9, 0x94022020, 0x94081196, 0x94060111, 0x94000a0b},
- {10, 0x94022020, 0x9408119a, 0x94060111, 0x94000a0b},
-- {11, 0x94022020, 0x9408119e, 0x94060111, 0x94000a0b},
-+ {11, 0x94022020, 0x9408119e, 0x94060111, 0x94000a0b},
- {12, 0x94022020, 0x940811a2, 0x94060111, 0x94000a0b},
- {13, 0x94022020, 0x940811a6, 0x94060111, 0x94000a0b},
- {14, 0x94022020, 0x940811ae, 0x94060111, 0x94000a1b}
-@@ -212,7 +212,7 @@
- {8, 0x94022010, 0x940808aa, 0x94060111, 0x94000a07},
- {9, 0x94022010, 0x940808aa, 0x94060111, 0x94000a1b},
- {10, 0x94022010, 0x940808ae, 0x94060111, 0x94000a07},
-- {11, 0x94022010, 0x940808ae, 0x94060111, 0x94000a1b},
-+ {11, 0x94022010, 0x940808ae, 0x94060111, 0x94000a1b},
- {12, 0x94022010, 0x940808b2, 0x94060111, 0x94000a07},
- {13, 0x94022010, 0x940808b2, 0x94060111, 0x94000a1b},
- {14, 0x94022010, 0x940808b6, 0x94060111, 0x94000a23}
-@@ -238,7 +238,7 @@
- {14, 0x94022020, 0x940011ae, 0x94000101, 0x94000a1b},
-
- // still lack of MMAC(Japan) ch 34,38,42,46
--
-+
- {36, 0x94022010, 0x94018896, 0x94000101, 0x94000a1f},
- {40, 0x94022010, 0x9401889a, 0x94000101, 0x94000a1f},
- {44, 0x94022010, 0x9401889e, 0x94000101, 0x94000a1f},
-@@ -247,7 +247,7 @@
- {66, 0x94022010, 0x940188aa, 0x94000101, 0x94000a1f},
- {60, 0x94022010, 0x940188ae, 0x94000101, 0x94000a1f},
- {64, 0x94022010, 0x940188b2, 0x94000101, 0x94000a1f},
--
-+
- {100, 0x94022010, 0x94008802, 0x94000101, 0x94000a0f},
- {104, 0x94022010, 0x94008806, 0x94000101, 0x94000a0f},
- {108, 0x94022010, 0x9400880a, 0x94000101, 0x94000a0f},
-@@ -259,7 +259,7 @@
- {132, 0x94022010, 0x94008822, 0x94000101, 0x94000a0f},
- {136, 0x94022010, 0x94008826, 0x94000101, 0x94000a0f},
- {140, 0x94022010, 0x9400882a, 0x94000101, 0x94000a0f},
--
-+
- {149, 0x94022020, 0x940090a6, 0x94000101, 0x94000a07},
- {153, 0x94022020, 0x940090ae, 0x94000101, 0x94000a07},
- {157, 0x94022020, 0x940090b6, 0x94000101, 0x94000a07},
-@@ -270,14 +270,14 @@
- /*
- ==========================================================================
- Description:
-- initialize the MLME task and its data structure (queue, spinlock,
-+ initialize the MLME task and its data structure (queue, spinlock,
- timer, state machines).
- Return:
- always return NDIS_STATUS_SUCCESS
- ==========================================================================
- */
- NDIS_STATUS MlmeInit(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
-
-@@ -285,8 +285,8 @@
- return Status;
-
- DBGPRINT(RT_DEBUG_TRACE, "--> MLME Initialize\n");
--
-- do
-+
-+ do
- {
- pAd->Mlme.Running = FALSE;
- spin_lock_init(&pAd->Mlme.TaskLock);
-@@ -298,10 +298,10 @@
- // init state machines
- ASSERT(ASSOC_FUNC_SIZE == MAX_ASSOC_MSG * MAX_ASSOC_STATE);
- AssocStateMachineInit(pAd, &pAd->Mlme.AssocMachine, pAd->Mlme.AssocFunc);
--
-+
- ASSERT(AUTH_FUNC_SIZE == MAX_AUTH_MSG * MAX_AUTH_STATE);
- AuthStateMachineInit(pAd, &pAd->Mlme.AuthMachine, pAd->Mlme.AuthFunc);
--
-+
- ASSERT(AUTH_RSP_FUNC_SIZE == MAX_AUTH_RSP_MSG * MAX_AUTH_RSP_STATE);
- AuthRspStateMachineInit(pAd, &pAd->Mlme.AuthRspMachine, pAd->Mlme.AuthRspFunc);
-
-@@ -310,8 +310,8 @@
-
- ASSERT(WPA_PSK_FUNC_SIZE == MAX_WPA_PSK_MSG * MAX_WPA_PSK_STATE);
- WpaPskStateMachineInit(pAd,&pAd->Mlme.WpaPskMachine,pAd->Mlme.WpaPskFunc);
--
-- // Since we are using switch/case to implement it, the init is different from the above
-+
-+ // Since we are using switch/case to implement it, the init is different from the above
- // state machine init
- MlmeCntlInit(pAd, &pAd->Mlme.CntlMachine, NULL);
-
-@@ -332,7 +332,7 @@
- } while (FALSE);
-
- RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_MLME_INITIALIZED);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<-- MLME Initialize\n");
-
- return Status;
-@@ -347,83 +347,70 @@
- Mlme has to be initialized, and there are something inside the queue
- Note:
- This function is invoked from MPSetInformation and MPReceive;
-- This task guarantee only one MlmeHandler will run.
-+ This task guarantee only one MlmeHandler will run.
- ==========================================================================
- */
- VOID MlmeHandler(
-- IN PRTMP_ADAPTER pAd)
--{
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-- schedule_work(&pAd->mlme_work);
--}
--
--VOID MlmeWork(void *vpAd)
-+ IN PRTMP_ADAPTER pAd)
- {
-- PRTMP_ADAPTER pAd = vpAd;
--#endif
- MLME_QUEUE_ELEM *Elem = NULL;
- unsigned long flags;
-- int loops = 0;
-
- // Only accept MLME and Frame from peer side, no other (control/data) frame should
- // get into this state machine
-
-- spin_lock_irqsave(&pAd->Mlme.TaskLock,flags);
-- if(pAd->Mlme.Running)
-+ spin_lock_irqsave(&pAd->Mlme.TaskLock, flags);
-+ if(pAd->Mlme.Running)
- {
-- spin_unlock_irqrestore(&pAd->Mlme.TaskLock,flags);
-+ spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
- return;
-- }
-- else
-+ }
-+ else
- {
- pAd->Mlme.Running = TRUE;
- }
-- spin_unlock_irqrestore(&pAd->Mlme.TaskLock,flags);
-+ spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
-+
-+ while (TRUE) {
-+ spin_lock_irqsave(&pAd->Mlme.Queue.Lock, flags);
-+ if (!MlmeDequeue(&pAd->Mlme.Queue, &Elem)) {
-+ spin_unlock_irqrestore(&pAd->Mlme.Queue.Lock, flags);
-+ break;
-+ }
-+ spin_unlock_irqrestore(&pAd->Mlme.Queue.Lock, flags);
-+
-+ if (pAd->PortCfg.BssType == BSS_MONITOR)
-+ continue;
-
-- while (MlmeDequeue(&pAd->Mlme.Queue, &Elem))
-- {
- //From message type, determine which state machine I should drive
-- if (pAd->PortCfg.BssType != BSS_MONITOR)
-+ switch (Elem->Machine)
- {
-- // if dequeue success
-- switch (Elem->Machine)
-- {
-- case ASSOC_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.AssocMachine, Elem);
-- break;
-- case AUTH_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.AuthMachine, Elem);
-- break;
-- case AUTH_RSP_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.AuthRspMachine, Elem);
-- break;
-- case SYNC_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.SyncMachine, Elem);
-- break;
-- case MLME_CNTL_STATE_MACHINE:
-- MlmeCntlMachinePerformAction(pAd, &pAd->Mlme.CntlMachine, Elem);
-- break;
-- case WPA_PSK_STATE_MACHINE:
-- StateMachinePerformAction(pAd, &pAd->Mlme.WpaPskMachine, Elem);
-- break;
-- default:
-- DBGPRINT(RT_DEBUG_TRACE, "ERROR: Illegal machine in MlmeHandler()\n");
-- break;
-- } // end of switch
-+ case ASSOC_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.AssocMachine, Elem);
-+ break;
-+ case AUTH_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.AuthMachine, Elem);
-+ break;
-+ case AUTH_RSP_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.AuthRspMachine, Elem);
-+ break;
-+ case SYNC_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.SyncMachine, Elem);
-+ break;
-+ case MLME_CNTL_STATE_MACHINE:
-+ MlmeCntlMachinePerformAction(pAd, &pAd->Mlme.CntlMachine, Elem);
-+ break;
-+ case WPA_PSK_STATE_MACHINE:
-+ StateMachinePerformAction(pAd, &pAd->Mlme.WpaPskMachine, Elem);
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_TRACE, "ERROR: Illegal machine in MlmeHandler()\n");
-+ break;
-+ } // end of switch
-
-- // free MLME element
-- Elem->Occupied = FALSE;
-- Elem->MsgLen = 0;
--
-- }
-- else
-- {
-- printk(KERN_ERR DRV_NAME "ERROR: empty Elem in MlmeQueue\n");
-- }
-- loops++;
-- if (loops > 50)
-- /* something wrong - avoid locking up the computer solid */
-- break;
-+ // free MLME element
-+ Elem->Occupied = FALSE;
-+ Elem->MsgLen = 0;
- }
-
- spin_lock_irqsave(&pAd->Mlme.TaskLock,flags);
-@@ -442,7 +429,7 @@
- ==========================================================================
- */
- VOID MlmeHalt(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MLME_DISASSOC_REQ_STRUCT DisReq;
- MLME_QUEUE_ELEM *MsgElem;
-@@ -455,8 +442,8 @@
- return;
-
- DBGPRINT(RT_DEBUG_TRACE, "==> MlmeHalt\n");
--
-- if (INFRA_ON(pAd) && !RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))
-+
-+ if (INFRA_ON(pAd) && !RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST))
- {
- COPY_MAC_ADDR(&DisReq.Addr, &pAd->PortCfg.Bssid);
- DisReq.Reason = REASON_DISASSOC_STA_LEAVING;
-@@ -476,7 +463,7 @@
- // disable BEACON generation and other BEACON related hardware timers
- AsicDisableSync(pAd);
- }
--
-+
- // Cancel pending timers
- RTMPCancelTimer(&pAd->Mlme.AssocAux.AssocTimer);
- RTMPCancelTimer(&pAd->Mlme.AssocAux.ReassocTimer);
-@@ -496,7 +483,7 @@
-
- RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
- udelay(1000);
--
-+
- MlmeQueueDestroy(&pAd->Mlme.Queue);
- StateMachineDestroy(&pAd->Mlme.AssocMachine);
- StateMachineDestroy(&pAd->Mlme.AuthMachine);
-@@ -506,11 +493,11 @@
- //NdisFreeSpinLock(&pAd->Mlme.Queue.Lock);
- //NdisFreeSpinLock(&pAd->Mlme.TaskLock);
- // NdisFreeSpinLock(&pAd->PortCfg.MacTab.Lock);
--
-+
- MlmeFreeMemoryHandler(pAd); //Free MLME memory handler
-
- RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_MLME_INITIALIZED);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<== MlmeHalt\n");
- kfree(MsgElem);
- }
-@@ -519,42 +506,33 @@
- ==========================================================================
- Description:
- This routine is executed periodically to -
-- 1. Decide if it's a right time to turn on PwrMgmt bit of all
-+ 1. Decide if it's a right time to turn on PwrMgmt bit of all
- outgoiing frames
- 2. Calculate ChannelQuality based on statistics of the last
-- period, so that TX rate won't toggling very frequently between a
-+ period, so that TX rate won't toggling very frequently between a
- successful TX and a failed TX.
-- 3. If the calculated ChannelQuality indicated current connection not
-+ 3. If the calculated ChannelQuality indicated current connection not
- healthy, then a ROAMing attempt is tried here.
- ==========================================================================
- */
- #define ADHOC_BEACON_LOST_TIME (10*HZ) // 4 sec
- VOID MlmePeriodicExec(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- ULONG Now32;
- CSR15_STRUC Csr15;
-
-- if (pAd->PortCfg.BssType == BSS_MONITOR)
-- {
-- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
-- return;
-- }
--
-- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))
-- {
-- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
-- return;
-- }
--
-- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS))
-- {
-- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
-+ if ((pAd->PortCfg.BssType == BSS_MONITOR)
-+ || RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)
-+ || RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)
-+ || RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)
-+ ) {
-+ RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
- return;
- }
-
-- // check every 2 second. If rcv-beacon less than 5 in the past 2 second, then AvgRSSI is no longer a
-+ // check every 2 second. If rcv-beacon less than 5 in the past 2 second, then AvgRSSI is no longer a
- // valid indication of the distance between this AP and its clients.
- if (pAd->MediaState == NdisMediaStateConnected)
- {
-@@ -568,7 +546,7 @@
- else
- pAd->PortCfg.NumOfAvgRssiSample = 0;
- }
--
-+
- Now32 = jiffies;
-
- if (pAd->RalinkCounters.MgmtRingFullCount >= 2)
-@@ -579,7 +557,7 @@
- {
- pAd->RalinkCounters.MgmtRingFullCount = 0;
- }
--
-+
- if ((pAd->PortCfg.bBlockAssoc == TRUE) && (pAd->PortCfg.LastMicErrorTime + (60 * HZ) < Now32))
- {
- pAd->PortCfg.bBlockAssoc = FALSE;
-@@ -600,11 +578,11 @@
- }
-
-
--#ifndef WIFI_TEST
-+#ifndef WIFI_TEST
- // danamic tune BBP R17 to find a balance between sensibility and noise isolation
-- // 2003-12-05 For 2560C and before, to avoid collision with MAC ASIC, limit
-+ // 2003-12-05 For 2560C and before, to avoid collision with MAC ASIC, limit
- // BBP R17 tuning to be within 20 seconds after LINK UP. 2560D (R0=4) and
-- // after can always enable R17 tuning
-+ // after can always enable R17 tuning
- if (pAd->PortCfg.Rt2560Version >= RT2560_VER_D)
- AsicBbpTuning(pAd);
- else if ((pAd->MediaState == NdisMediaStateConnected) && (pAd->Mlme.PeriodicRound <= 20))
-@@ -642,23 +620,23 @@
- if (pAd->PortCfg.MicErrCnt >= 3)
- {
- MLME_DISASSOC_REQ_STRUCT DisassocReq;
--
-+
- // disassoc from current AP first
- DBGPRINT(RT_DEBUG_TRACE, "MLME - disassociate with current AP after sending second continuous EAPOL frame\n");
- DisassocParmFill(pAd, &DisassocReq, &pAd->PortCfg.Bssid, REASON_MIC_FAILURE);
-- MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
-+ MlmeEnqueue(&pAd->Mlme.Queue, ASSOC_STATE_MACHINE, MT2_MLME_DISASSOC_REQ,
- sizeof(MLME_DISASSOC_REQ_STRUCT), &DisassocReq);
-
- pAd->Mlme.CntlMachine.CurrState = CNTL_WAIT_DISASSOC;
- pAd->PortCfg.bBlockAssoc = TRUE;
- }
--
-- else
-+
-+ else
- {
- // send out a NULL frame every 10 sec. for what??? inform "PwrMgmt" bit?
- if ((pAd->Mlme.PeriodicRound % 10) == 8)
- EnqueueNullFrame(pAd, pAd->PortCfg.TxRate);
--
-+
- if (CQI_IS_BAD(pAd->Mlme.ChannelQuality))
- {
- pAd->RalinkCounters.BadCQIAutoRecoveryCount ++;
-@@ -669,7 +647,7 @@
- else if (CQI_IS_FAIR(pAd->Mlme.ChannelQuality) || CQI_IS_POOR(pAd->Mlme.ChannelQuality))
- {
- // perform aggresive roaming only when SECURITY OFF or WEP64/128;
-- // WPA and WPA-PSK has no aggresive roaming because re-negotiation
-+ // WPA and WPA-PSK has no aggresive roaming because re-negotiation
- // between 802.1x supplicant and authenticator/AAA server is required
- // but can't be guaranteed.
- if (pAd->PortCfg.AuthMode < Ndis802_11AuthModeWPA)
-@@ -686,7 +664,7 @@
- // minimum BEACON to tell the peer I'm alive.
- // drawback is that this BEACON won't well align at TBTT boundary.
- RTMP_IO_READ32(pAd, CSR15, &Csr15.word); // read-n-clear "BcnSent" bit
-- if (Csr15.field.BeaconSent == 0)
-+ if (Csr15.field.BeaconSent == 0)
- EnqueueBeaconFrame(pAd); // software send BEACON
- }
- else
-@@ -697,14 +675,14 @@
- (pAd->PortCfg.MaxDesiredRate > RATE_11) &&
- ((pAd->PortCfg.Last11bBeaconRxTime + (5 * HZ)) < Now32))
- {
-- DBGPRINT(RT_DEBUG_TRACE, "last 11B peer left, update Tx rates\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "last 11B peer left, update Tx rates\n");
- memcpy(pAd->PortCfg.SupportedRates, pAd->PortCfg.IbssConfig.SupportedRates, MAX_LEN_OF_SUPPORTED_RATES);
- pAd->PortCfg.SupportedRatesLen = pAd->PortCfg.IbssConfig.SupportedRatesLen;
- MlmeUpdateTxRates(pAd, FALSE);
- MakeIbssBeacon(pAd); // supported rates changed
- }
- }
--
-+
- #ifndef SINGLE_ADHOC_LINKUP
- // If all peers leave, and this STA becomes the last one in this IBSS, then change MediaState
- // to DISCONNECTED. But still holding this IBSS (i.e. sending BEACON) so that other STAs can
-@@ -712,7 +690,7 @@
- if ((pAd->PortCfg.LastBeaconRxTime + ADHOC_BEACON_LOST_TIME < Now32) &&
- (pAd->MediaState == NdisMediaStateConnected))
- {
-- DBGPRINT(RT_DEBUG_TRACE, "MMCHK - excessive BEACON lost, last STA in this IBSS, MediaState=Disconnected\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "MMCHK - excessive BEACON lost, last STA in this IBSS, MediaState=Disconnected\n");
-
- pAd->MediaState = NdisMediaStateDisconnected;
- // clean up previous SCAN result, add current BSS back to table if any
-@@ -731,7 +709,7 @@
- if ((pAd->PortCfg.BssTab.BssNr==0) && (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE))
- {
- MLME_SCAN_REQ_STRUCT ScanReq;
--
-+
- if ((pAd->PortCfg.LastScanTime + 10 * HZ) < Now32)
- {
- DBGPRINT(RT_DEBUG_TRACE, "CNTL - No matching BSS, start a new scan\n");
-@@ -745,7 +723,7 @@
- }
- else if (pAd->PortCfg.BssType == BSS_INDEP) // Quit the forever scan when in a very clean room
- MlmeAutoRecoverNetwork(pAd);
-- //MlmeAutoReconnectLastSSID(pAd);
-+ //MlmeAutoReconnectLastSSID(pAd);
- }
- else if (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE)
- {
-@@ -759,7 +737,7 @@
- }
- else
- MlmeAutoReconnectLastSSID(pAd);
--
-+
- DBGPRINT(RT_DEBUG_INFO, "pAd->PortCfg.AutoReconnect is TRUE\n");
- }
- }
-@@ -772,7 +750,7 @@
-
- RTMPSetTimer(pAd, &pAd->Mlme.PeriodicTimer, MLME_TASK_EXEC_INTV);
- }
--
-+
- VOID MlmeAutoScan(
- IN PRTMP_ADAPTER pAd)
- {
-@@ -783,17 +761,17 @@
-
- // tell CNTL state machine NOT to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by driver itself.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-- MlmeEnqueue(&pAd->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID_LIST_SCAN,
-- 0,
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
-+ MlmeEnqueue(&pAd->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID_LIST_SCAN,
-+ 0,
- NULL);
- MlmeHandler(pAd);
- }
- }
--
-+
- VOID MlmeAutoRecoverNetwork(
- IN PRTMP_ADAPTER pAd)
- {
-@@ -808,18 +786,18 @@
-
- // tell CNTL state machine NOT to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by driver itself.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-- MlmeEnqueue(&pAd->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_SSID,
-- sizeof(NDIS_802_11_SSID),
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
-+ MlmeEnqueue(&pAd->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_SSID,
-+ sizeof(NDIS_802_11_SSID),
- &OidSsid);
- MlmeHandler(pAd);
- }
-
- }
--
-+
- VOID MlmeAutoReconnectLastSSID(
- IN PRTMP_ADAPTER pAd)
- {
-@@ -833,12 +811,12 @@
- DBGPRINT(RT_DEBUG_TRACE, "Driver auto reconnect to last OID_802_11_SSID setting - %s\n", pAd->Mlme.CntlAux.Ssid);
-
- // We will only try this attemp once, therefore change the AutoReconnect flag afterwards.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-- MlmeEnqueue(&pAd->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_SSID,
-- sizeof(NDIS_802_11_SSID),
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
-+ MlmeEnqueue(&pAd->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_SSID,
-+ sizeof(NDIS_802_11_SSID),
- &OidSsid);
- MlmeHandler(pAd);
- }
-@@ -867,17 +845,17 @@
- for (i = 0; i < pBssTab->BssNr; i++)
- {
- pBss = &pBssTab->BssEntry[i];
--
-- if ((pBssTab->BssEntry[i].LastBeaconRxTime + BEACON_LOST_TIME) < Now32)
-+
-+ if ((pBssTab->BssEntry[i].LastBeaconRxTime + BEACON_LOST_TIME) < Now32)
- continue; // AP disappear
- if (pBss->Rssi <= RSSI_THRESHOLD_FOR_ROAMING)
- continue; // RSSI too weak. forget it.
- if (MAC_ADDR_EQUAL(&pBssTab->BssEntry[i].Bssid, &pAd->PortCfg.Bssid))
- continue; // skip current AP
-- if (CQI_IS_FAIR(pAd->Mlme.ChannelQuality) && (pAd->PortCfg.LastRssi + RSSI_DELTA > pBss->Rssi))
-+ if (CQI_IS_FAIR(pAd->Mlme.ChannelQuality) && (pAd->PortCfg.LastRssi + RSSI_DELTA > pBss->Rssi))
- continue; // we're still okay, only AP with stronger RSSI is eligible for roaming
-
-- // AP passing all above rules is put into roaming candidate table
-+ // AP passing all above rules is put into roaming candidate table
- memcpy(&pRoamTab->BssEntry[pRoamTab->BssNr], pBss, sizeof(BSS_ENTRY));
- pRoamTab->BssNr += 1;
- }
-@@ -889,23 +867,23 @@
- {
- // tell CNTL state machine NOT to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by driver itself, not from NDIS.
-- pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
--
-+ pAd->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+
- pAd->RalinkCounters.PoorCQIRoamingCount ++;
- DBGPRINT(RT_DEBUG_TRACE, "MMCHK - Roaming attempt #%d\n", pAd->RalinkCounters.PoorCQIRoamingCount);
- MlmeEnqueue(&pAd->Mlme.Queue, MLME_CNTL_STATE_MACHINE, MT2_MLME_ROAMING_REQ, 0, NULL);
- MlmeHandler(pAd);
- }
- }
--
-+
- }
-
- /*
- ==========================================================================
- Description:
-- This routine calculates TxPER, RxPER of the past N-sec period. And
-- according to the calculation result, ChannelQuality is calculated here
-- to decide if current AP is still doing the job.
-+ This routine calculates TxPER, RxPER of the past N-sec period. And
-+ according to the calculation result, ChannelQuality is calculated here
-+ to decide if current AP is still doing the job.
-
- If ChannelQuality is not good, a ROAMing attempt may be tried later.
- Output:
-@@ -923,11 +901,11 @@
- //
- // monitor TX counters change for the past period
- //
-- TxFailCnt = pAd->WlanCounters.FailedCount.vv.LowPart -
-+ TxFailCnt = pAd->WlanCounters.FailedCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.FailedCount.vv.LowPart;
-- TxRetryCnt = pAd->WlanCounters.RetryCount.vv.LowPart -
-+ TxRetryCnt = pAd->WlanCounters.RetryCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.RetryCount.vv.LowPart;
-- TxOkCnt = pAd->WlanCounters.TransmittedFragmentCount.vv.LowPart -
-+ TxOkCnt = pAd->WlanCounters.TransmittedFragmentCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.TransmittedFragmentCount.vv.LowPart;
- TxCnt = TxOkCnt + TxFailCnt;
-
-@@ -947,16 +925,16 @@
- pAd->WlanCounters.FCSErrorCount.vv.LowPart += ((Cnt0 & 0x0000ffff) >> 7);
- if (pAd->WlanCounters.FCSErrorCount.vv.LowPart < OldFcsCount)
- pAd->WlanCounters.FCSErrorCount.vv.HighPart++;
--
-+
- // Add FCS error count to private counters
- OldFcsCount = pAd->RalinkCounters.RealFcsErrCount.vv.LowPart;
- pAd->RalinkCounters.RealFcsErrCount.vv.LowPart += Cnt0;
- if (pAd->RalinkCounters.RealFcsErrCount.vv.LowPart < OldFcsCount)
- pAd->RalinkCounters.RealFcsErrCount.vv.HighPart++;
--
-- RxOkCnt = pAd->WlanCounters.ReceivedFragmentCount.vv.LowPart -
-+
-+ RxOkCnt = pAd->WlanCounters.ReceivedFragmentCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.ReceivedFragmentCount.vv.LowPart;
-- RxFailCnt = pAd->RalinkCounters.RealFcsErrCount.vv.LowPart -
-+ RxFailCnt = pAd->RalinkCounters.RealFcsErrCount.vv.LowPart -
- pAd->Mlme.PrevWlanCounters.FCSErrorCount.vv.LowPart;
- RxCnt = RxOkCnt + RxFailCnt;
-
-@@ -966,8 +944,8 @@
- //
- // decide ChannelQuality based on: 1)last BEACON received time, 2)last RSSI, 3)TxPER, and 4)RxPER
- //
-- // This value also decides when all roaming fails (or no roaming candidates at
-- // all), should this STA stay with original AP, or a LinkDown signal
-+ // This value also decides when all roaming fails (or no roaming candidates at
-+ // all), should this STA stay with original AP, or a LinkDown signal
- // is indicated to NDIS
- //
- if (INFRA_ON(pAd) &&
-@@ -977,7 +955,7 @@
- // Ignore lost beacon if traffic still goes well
- if (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS) && (TxOkCnt < 2))
- {
-- DBGPRINT(RT_DEBUG_TRACE, "BEACON lost for more than %d sec with TxOkCnt=%d, let CQI = 0\n", BEACON_LOST_TIME/HZ, TxOkCnt);
-+ DBGPRINT(RT_DEBUG_TRACE, "BEACON lost for more than %d sec with TxOkCnt=%d, let CQI = 0\n", BEACON_LOST_TIME/HZ, TxOkCnt);
- pAd->Mlme.ChannelQuality = 0;
- // Lost AP, send disconnect & link down event
- LinkDown(pAd);
-@@ -986,19 +964,19 @@
- else
- {
- // ChannelQuality = W1*RSSI + W2*TxPRR + W3*RxPER (RSSI 0..100), (TxPER 100..0), (RxPER 100..0)
-- pAd->Mlme.ChannelQuality = (RSSI_WEIGHTING * pAd->PortCfg.LastRssi +
-- TX_WEIGHTING * (100 - TxPRR) +
-+ pAd->Mlme.ChannelQuality = (RSSI_WEIGHTING * pAd->PortCfg.LastRssi +
-+ TX_WEIGHTING * (100 - TxPRR) +
- RX_WEIGHTING* (100 - RxPER)) / 100;
- if (pAd->Mlme.ChannelQuality >= 100)
- pAd->Mlme.ChannelQuality = 100;
- }
--
-+
- // latch current WLAN counters for next check-for-roaming usage
- memcpy(&pAd->Mlme.PrevWlanCounters, &pAd->WlanCounters, sizeof(COUNTER_802_11));
- // make sure copy the real FCS counts into previous mlme counter structure.
- pAd->Mlme.PrevWlanCounters.FCSErrorCount = pAd->RalinkCounters.RealFcsErrCount;
--
-- DBGPRINT(RT_DEBUG_INFO, "MMCHK - CQI= %d, (Tx Fail=%d/Retry=%d/Total=%d, Rx Fail=%d/Total=%d, RSSI=%d dbm)\n",
-+
-+ DBGPRINT(RT_DEBUG_INFO, "MMCHK - CQI= %d, (Tx Fail=%d/Retry=%d/Total=%d, Rx Fail=%d/Total=%d, RSSI=%d dbm)\n",
- pAd->Mlme.ChannelQuality, TxFailCnt, TxRetryCnt, TxCnt, RxFailCnt, RxCnt, pAd->PortCfg.LastRssi - pAd->PortCfg.RssiToDbm);
-
- }
-@@ -1006,13 +984,13 @@
- /*
- ==========================================================================
- Description:
-- This routine calculates the acumulated TxPER of eaxh TxRate. And
-- according to the calculation result, change PortCfg.TxRate which
-- is the stable TX Rate we expect the Radio situation could sustained.
-+ This routine calculates the acumulated TxPER of eaxh TxRate. And
-+ according to the calculation result, change PortCfg.TxRate which
-+ is the stable TX Rate we expect the Radio situation could sustained.
-
-- PortCfg.TxRate will change dynamically within {RATE_1/RATE_6, MaxTxRate}
-+ PortCfg.TxRate will change dynamically within {RATE_1/RATE_6, MaxTxRate}
- Output:
-- PortCfg.TxRate -
-+ PortCfg.TxRate -
- NOTE:
- call this routine every second
- ==========================================================================
-@@ -1032,9 +1010,9 @@
- {
- if (pAd->PortCfg.EnableAutoRateSwitching == FALSE)
- break;
--
-+
- // if no traffic in the past 1-sec period, don't change TX rate,
-- // but clear all bad history. because the bad history may affect the next
-+ // but clear all bad history. because the bad history may affect the next
- // Chariot throughput test
- if (TxTotalCnt == 0)
- {
-@@ -1043,7 +1021,7 @@
- memset(pAd->DrsCounters.PER, 0, MAX_LEN_OF_SUPPORTED_RATES);
- break;
- }
--
-+
- // decide the next upgrade rate and downgrade rate, if any
- if (pAd->PortCfg.PhyMode == PHY_11BG_MIXED)
- {
-@@ -1062,7 +1040,7 @@
- }
- else // PHY_11ABG_MIXED
- {
-- if (pAd->PortCfg.Channel > 14)
-+ if (pAd->PortCfg.Channel > 14)
- {
- UpRate = Phy11ANextRateUpward[CurrRate];
- DownRate = Phy11ANextRateDownward[CurrRate];
-@@ -1081,7 +1059,7 @@
- if (TxTotalCnt > 15)
- {
- TxErrorRatio = ((pAd->DrsCounters.OneSecTxRetryOkCount + pAd->DrsCounters.OneSecTxFailCount) *100) / TxTotalCnt;
--
-+
- // 2560D and after has implemented ASIC-based OFDM rate switching,
- // but not 2560C & before. thus software use different PER for rate switching
- if (pAd->PortCfg.Rt2560Version >= RT2560_VER_D)
-@@ -1106,20 +1084,20 @@
- fUpgradeQuality = TRUE;
- if (pAd->DrsCounters.TxQuality[CurrRate])
- pAd->DrsCounters.TxQuality[CurrRate] --; // quality very good in CurrRate
--
-+
- if (pAd->DrsCounters.TxRateUpPenalty)
- pAd->DrsCounters.TxRateUpPenalty --;
- else if (pAd->DrsCounters.TxQuality[UpRate])
- pAd->DrsCounters.TxQuality[UpRate] --; // may improve next UP rate's quality
- }
--
-+
- }
--
-+
- // if not enough TX samples, decide by heuristic rules
- else
- {
- TxErrorRatio = 0;
--
-+
- // Downgrade TX quality upon any TX failure in the past second
- if (pAd->DrsCounters.OneSecTxFailCount)
- {
-@@ -1155,22 +1133,22 @@
-
- if (pAd->DrsCounters.fNoisyEnvironment)
- {
-- DBGPRINT(RT_DEBUG_TRACE,"DRS(noisy):");
-+ DBGPRINT(RT_DEBUG_TRACE,"DRS(noisy):");
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE,"DRS:");
-+ DBGPRINT(RT_DEBUG_TRACE,"DRS:");
- }
-- DBGPRINT(RT_DEBUG_TRACE, "Qty[%d]=%d PER=%d%% %d-sec, Qty[%d]=%d, Pty=%d\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "Qty[%d]=%d PER=%d%% %d-sec, Qty[%d]=%d, Pty=%d\n",
- RateIdToMbps[CurrRate], pAd->DrsCounters.TxQuality[CurrRate],
- TxErrorRatio,
- pAd->DrsCounters.CurrTxRateStableTime,
- RateIdToMbps[UpRate], pAd->DrsCounters.TxQuality[UpRate],
- pAd->DrsCounters.TxRateUpPenalty);
--
-+
- // 2004-3-13 special case: Claim noisy environment
-- // decide if there was a false "rate down" in the past 2 sec due to noisy
-- // environment. if so, we would rather switch back to the higher TX rate.
-+ // decide if there was a false "rate down" in the past 2 sec due to noisy
-+ // environment. if so, we would rather switch back to the higher TX rate.
- // criteria -
- // 1. there's a higher rate available, AND
- // 2. there was a rate-down happened, AND
-@@ -1179,8 +1157,8 @@
- if ((UpRate != CurrRate) &&
- (pAd->DrsCounters.LastSecTxRateChangeAction == 2) &&
- (TxTotalCnt > 15) && // this line is to prevent the case that not enough TX sample causing PER=0%
-- (pAd->DrsCounters.PER[CurrRate] < 75) &&
-- ((pAd->DrsCounters.PER[CurrRate] > 20) || (pAd->DrsCounters.fNoisyEnvironment)) &&
-+ (pAd->DrsCounters.PER[CurrRate] < 75) &&
-+ ((pAd->DrsCounters.PER[CurrRate] > 20) || (pAd->DrsCounters.fNoisyEnvironment)) &&
- ((pAd->DrsCounters.PER[CurrRate]+5) > pAd->DrsCounters.PER[UpRate]))
- {
- // we believe this is a noisy environment. better stay at UpRate
-@@ -1218,12 +1196,12 @@
-
- if (JumpUpRate > pAd->PortCfg.MaxTxRate)
- JumpUpRate = pAd->PortCfg.MaxTxRate;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"DRS: #### leave Noisy environment ####, RSSI=%d, JumpUpRate=%d\n",
-
- pAd->PortCfg.AvgRssi - RSSI_TO_DBM_OFFSET, RateIdToMbps[JumpUpRate]);
-
--
-+
- if (JumpUpRate > CurrRate)
- {
- pAd->PortCfg.TxRate = JumpUpRate;
-@@ -1231,15 +1209,15 @@
- }
- }
-
-- // we're going to upgrade CurrRate to UpRate at next few seconds,
-- // but before that, we'd better try a NULL frame @ UpRate and
-+ // we're going to upgrade CurrRate to UpRate at next few seconds,
-+ // but before that, we'd better try a NULL frame @ UpRate and
- // see if UpRate is stable or not. If this NULL frame fails, it will
- // downgrade TxQuality[CurrRate], so that STA won't switch to
- // to UpRate in the next second
- // 2004-04-07 requested by David Tung - sent test frames only in OFDM rates
-- if (fUpgradeQuality &&
-- INFRA_ON(pAd) &&
-- (UpRate != CurrRate) &&
-+ if (fUpgradeQuality &&
-+ INFRA_ON(pAd) &&
-+ (UpRate != CurrRate) &&
- (UpRate > RATE_11) &&
- (pAd->DrsCounters.TxQuality[CurrRate] <= 1) &&
- (pAd->DrsCounters.TxQuality[UpRate] <= 1))
-@@ -1260,16 +1238,16 @@
- #endif
- pAd->PortCfg.TxRate = DownRate;
- }
-- else if ((pAd->DrsCounters.TxQuality[CurrRate] <= 0) &&
-+ else if ((pAd->DrsCounters.TxQuality[CurrRate] <= 0) &&
- (pAd->DrsCounters.TxQuality[UpRate] <=0) &&
- (CurrRate != UpRate))
- {
- pAd->PortCfg.TxRate = UpRate;
- }
--
-+
- }while (FALSE);
-
--
-+
- // if rate-up happen, clear all bad history of all TX rates
- if (pAd->PortCfg.TxRate > CurrRate)
- {
-@@ -1291,7 +1269,7 @@
- pAd->DrsCounters.TxRateUpPenalty = 2; // add 2 sec penalty
- else // >= 8 sec
- pAd->DrsCounters.TxRateUpPenalty = 0; // no penalty
--
-+
- pAd->DrsCounters.CurrTxRateStableTime = 0;
- pAd->DrsCounters.LastSecTxRateChangeAction = 2; // rate DOWN
- pAd->DrsCounters.TxQuality[pAd->PortCfg.TxRate] = 0;
-@@ -1299,7 +1277,7 @@
- }
- else
- pAd->DrsCounters.LastSecTxRateChangeAction = 0; // rate no change
--
-+
- // reset all OneSecxxx counters
- pAd->DrsCounters.OneSecTxFailCount = 0;
- pAd->DrsCounters.OneSecTxOkCount = 0;
-@@ -1309,10 +1287,10 @@
- /*
- ==========================================================================
- Description:
-- This routine is executed periodically inside MlmePeriodicExec() after
-+ This routine is executed periodically inside MlmePeriodicExec() after
- association with an AP.
- It checks if PortCfg.Psm is consistent with user policy (recorded in
-- PortCfg.WindowsPowerMode). If not, enforce user policy. However,
-+ PortCfg.WindowsPowerMode). If not, enforce user policy. However,
- there're some conditions to consider:
- 1. we don't support power-saving in ADHOC mode, so Psm=PWR_ACTIVE all
- the time when Mibss==TRUE
-@@ -1334,7 +1312,7 @@
- // 4. CNTL state machine is not doing SCANning
- // 5. no TX SUCCESS event for the past period
- PowerMode = pAd->PortCfg.WindowsPowerMode;
--
-+
- if (INFRA_ON(pAd) &&
- (PowerMode != Ndis802_11PowerModeCAM) &&
- (pAd->PortCfg.Psm == PWR_ACTIVE) &&
-@@ -1344,21 +1322,21 @@
- MlmeSetPsmBit(pAd, PWR_SAVE);
- EnqueueNullFrame(pAd, pAd->PortCfg.TxRate);
- }
--
-+
- // latch current count for next-time comparison
- pAd->Mlme.PrevTxCnt = pAd->WlanCounters.TransmittedFragmentCount.vv.LowPart;
-
- }
-
- VOID MlmeSetPsmBit(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN USHORT psm)
- {
- TXCSR7_STRUC txcsr7;
--
-+
- txcsr7.word = 0;
-- pAd->PortCfg.Psm = psm;
--
-+ pAd->PortCfg.Psm = psm;
-+
- DBGPRINT(RT_DEBUG_TRACE, "MMCHK - change PSM bit to %d <<<\n", psm);
- if (psm == PWR_SAVE)
- {
-@@ -1373,14 +1351,14 @@
- }
-
- VOID MlmeSetTxPreamble(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN USHORT TxPreamble)
- {
- ULONG Plcp1MCsr = 0x00700400; // 0x13c, ACK/CTS PLCP at 1 Mbps
- ULONG Plcp2MCsr = 0x00380401; // 0x140, ACK/CTS PLCP at 2 Mbps
- ULONG Plcp5MCsr = 0x00150402; // 0x144, ACK/CTS PLCP at 5.5 Mbps
- ULONG Plcp11MCsr = 0x000b8403; // 0x148, ACK/CTS PLCP at 11 Mbps
--
-+
- if (TxPreamble == Rt802_11PreambleShort)
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeSetTxPreamble (= SHORT PREAMBLE)\n");
-@@ -1401,7 +1379,7 @@
- RTMP_IO_WRITE32(pAd, PLCP5MCSR, Plcp5MCsr);
- RTMP_IO_WRITE32(pAd, PLCP11MCSR, Plcp11MCsr);
- }
--
-+
- VOID MlmeUpdateTxRates(
- IN PRTMP_ADAPTER pAd,
- IN BOOLEAN bLinkUp)
-@@ -1436,14 +1414,14 @@
-
- // 2003-12-10 802.11g WIFI spec disallow OFDM rates in 802.11g ADHOC mode
- if ((pAd->PortCfg.BssType == BSS_INDEP) &&
-- (pAd->PortCfg.PhyMode == PHY_11BG_MIXED) &&
-+ (pAd->PortCfg.PhyMode == PHY_11BG_MIXED) &&
- (pAd->PortCfg.AdhocMode == 0) &&
- (MaxDesire > RATE_11))
- MaxDesire = RATE_11;
--
-+
- pAd->PortCfg.MaxDesiredRate = MaxDesire;
--
-- // Auto rate switching is enabled only if more than one DESIRED RATES are
-+
-+ // Auto rate switching is enabled only if more than one DESIRED RATES are
- // specified; otherwise disabled
- if (num <= 1)
- pAd->PortCfg.EnableAutoRateSwitching = FALSE;
-@@ -1455,66 +1433,66 @@
- {
- switch (pAd->PortCfg.SupportedRates[i] & 0x7f)
- {
-- case 2: Rate = RATE_1;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0001;
-+ case 2: Rate = RATE_1;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0001;
- break;
-- case 4: Rate = RATE_2;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0002;
-+ case 4: Rate = RATE_2;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0002;
- break;
-- case 11:
-- Rate = RATE_5_5;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0004;
-+ case 11:
-+ Rate = RATE_5_5;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0004;
- break;
-- case 22:
-- Rate = RATE_11;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0008;
-+ case 22:
-+ Rate = RATE_11;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0008;
- break;
-- case 12:
-- Rate = RATE_6;
--// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0010;
-+ case 12:
-+ Rate = RATE_6;
-+// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0010;
- break;
-- case 18:
-- Rate = RATE_9;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0020;
-+ case 18:
-+ Rate = RATE_9;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0020;
- break;
-- case 24:
-- Rate = RATE_12;
--// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0040;
-+ case 24:
-+ Rate = RATE_12;
-+// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0040;
- break;
-- case 36:
-- Rate = RATE_18;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0080;
-+ case 36:
-+ Rate = RATE_18;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0080;
- break;
-- case 48:
-- Rate = RATE_24;
--// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0100;
-+ case 48:
-+ Rate = RATE_24;
-+// if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0100;
- break;
-- case 72:
-- Rate = RATE_36;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0200;
-+ case 72:
-+ Rate = RATE_36;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0200;
- break;
-- case 96:
-- Rate = RATE_48;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0400;
-+ case 96:
-+ Rate = RATE_48;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0400;
- break;
-- case 108:
-- Rate = RATE_54;
-- if (pAd->PortCfg.SupportedRates[i] & 0x80)
-- BasicRateBitmap |= 0x0800;
-+ case 108:
-+ Rate = RATE_54;
-+ if (pAd->PortCfg.SupportedRates[i] & 0x80)
-+ BasicRateBitmap |= 0x0800;
- break;
-- default:
-- Rate = RATE_1;
-+ default:
-+ Rate = RATE_1;
- break;
- }
- if (MaxSupport < Rate) MaxSupport = Rate;
-@@ -1530,7 +1508,7 @@
- pAd->PortCfg.ExpectedACKRate[i] = CurrBasicRate;
- DBGPRINT(RT_DEBUG_INFO,"Expected ACK rate[%d] = %d Mbps\n", RateIdToMbps[i], RateIdToMbps[CurrBasicRate]);
- }
--
-+
- // max tx rate = min {max desire rate, max supported rate}
- if (MaxSupport < MaxDesire)
- pAd->PortCfg.MaxTxRate = MaxSupport;
-@@ -1547,13 +1525,13 @@
- {
- if (pAd->PortCfg.Channel > 14)
- pAd->PortCfg.TxRate = RATE_6; // 802.11a
-- else
-+ else
- {
- short dbm = pAd->PortCfg.AvgRssi - pAd->PortCfg.RssiToDbm;
- if (bLinkUp == TRUE && pAd->PortCfg.MaxTxRate >= RATE_24)
- pAd->PortCfg.TxRate = RATE_24;
- else
-- pAd->PortCfg.TxRate = pAd->PortCfg.MaxTxRate;
-+ pAd->PortCfg.TxRate = pAd->PortCfg.MaxTxRate;
- if (dbm < -75)
- pAd->PortCfg.TxRate = RATE_11;
- else if ((dbm < -70) && (pAd->PortCfg.TxRate > RATE_24))
-@@ -1568,7 +1546,7 @@
- case PHY_11BG_MIXED:
- case PHY_11B:
- pAd->PortCfg.MlmeRate = RATE_2;
--#ifdef WIFI_TEST
-+#ifdef WIFI_TEST
- pAd->PortCfg.RtsRate = RATE_11;
- #else
- pAd->PortCfg.RtsRate = RATE_2;
-@@ -1595,10 +1573,10 @@
- pAd->PortCfg.RtsRate = RATE_2;
- break;
- }
--
-- DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (MaxDesire=%d, MaxSupport=%d, MaxTxRate=%d, Rate Switching =%d)\n",
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (MaxDesire=%d, MaxSupport=%d, MaxTxRate=%d, Rate Switching =%d)\n",
- RateIdToMbps[MaxDesire], RateIdToMbps[MaxSupport], RateIdToMbps[pAd->PortCfg.MaxTxRate], pAd->PortCfg.EnableAutoRateSwitching);
-- DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (TxRate=%d, RtsRate=%d, BasicRateBitmap=0x%04x)\n",
-+ DBGPRINT(RT_DEBUG_TRACE, " MlmeUpdateTxRates (TxRate=%d, RtsRate=%d, BasicRateBitmap=0x%04x)\n",
- RateIdToMbps[pAd->PortCfg.TxRate], RateIdToMbps[pAd->PortCfg.RtsRate], BasicRateBitmap);
- }
-
-@@ -1623,14 +1601,14 @@
- {
- ASIC_LED_ACT_OFF(pAd);
- }
--
-+
- // Clean up old bss table
- BssTableInit(&pAd->PortCfg.BssTab);
- }
-
- VOID MlmeRadioOn(
- IN PRTMP_ADAPTER pAd)
--{
-+{
- // Turn on radio
- RTMP_IO_WRITE32(pAd, PWRCSR0, 0x3f3b3100);
-
-@@ -1665,12 +1643,12 @@
- * \post
- */
- VOID BssTableInit(
-- IN BSS_TABLE *Tab)
-+ IN BSS_TABLE *Tab)
- {
- int i;
-
- Tab->BssNr = 0;
-- for (i = 0; i < MAX_LEN_OF_BSS_TABLE; i++)
-+ for (i = 0; i < MAX_LEN_OF_BSS_TABLE; i++)
- {
- memset(&Tab->BssEntry[i], 0, sizeof(BSS_ENTRY));
- }
-@@ -1678,23 +1656,23 @@
-
- /*! \brief search the BSS table by SSID
- * \param p_tab pointer to the bss table
-- * \param ssid SSID string
-+ * \param ssid SSID string
- * \return index of the table, BSS_NOT_FOUND if not in the table
- * \pre
- * \post
- * \note search by sequential search
- */
- ULONG BssTableSearch(
-- IN BSS_TABLE *Tab,
-- IN PMACADDR Bssid)
-+ IN BSS_TABLE *Tab,
-+ IN PMACADDR Bssid)
- {
- UCHAR i;
--
-- for (i = 0; i < Tab->BssNr; i++)
-+
-+ for (i = 0; i < Tab->BssNr; i++)
- {
- //printf("comparing %s and %s\n", p_tab->bss[i].ssid, ssid);
-- if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
-- {
-+ if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
-+ {
- return i;
- }
- }
-@@ -1702,15 +1680,15 @@
- }
-
- VOID BssTableDeleteEntry(
-- IN OUT BSS_TABLE *Tab,
-- IN PMACADDR Bssid)
-+ IN OUT BSS_TABLE *Tab,
-+ IN PMACADDR Bssid)
- {
- UCHAR i, j;
--
-- for (i = 0; i < Tab->BssNr; i++)
-+
-+ for (i = 0; i < Tab->BssNr; i++)
- {
- //printf("comparing %s and %s\n", p_tab->bss[i].ssid, ssid);
-- if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
-+ if (MAC_ADDR_EQUAL(&(Tab->BssEntry[i].Bssid), Bssid))
- {
- for (j = i; j < Tab->BssNr - 1; j++)
- {
-@@ -1724,36 +1702,63 @@
-
- UCHAR ZeroSsid[32] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
-+
-+static NDIS_802_11_WEP_STATUS setWepStatus(
-+ IN USHORT mask, // Peer cipher capability set
-+ IN NDIS_802_11_WEP_STATUS WepStatus) // local cipher selection
-+{
-+ static const unsigned char transtoieee[] = {
-+ CIPHER_TYPE_WEP104,0,0,0,CIPHER_TYPE_TKIP,0,CIPHER_TYPE_CCMP,0
-+ };
-+ static const unsigned char transtondis[] = {
-+ Ndis802_11EncryptionDisabled, Ndis802_11WEPEnabled,
-+ Ndis802_11Encryption2Enabled, Ndis802_11WEPKeyAbsent,
-+ Ndis802_11Encryption3Enabled, Ndis802_11WEPEnabled
-+ };
-+ NDIS_802_11_WEP_STATUS wepstatus = Ndis802_11WEPDisabled;
-+ USHORT suite = transtoieee[WepStatus];
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " - (%s) mask 0x%04x wepstatus %d ieee %d\n",
-+ __FUNCTION__, mask, WepStatus, suite);
-+
-+ if (suite && (mask & 0x01 << suite)) {
-+ wepstatus = transtondis[suite];
-+ }
-+ return wepstatus;
-+
-+} /* End setWepStatus () */
-+
- /*! \brief
-- * \param
-+ * \param
- * \return
- * \pre
- * \post
- */
- VOID BssEntrySet(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_ENTRY *pBss,
-- IN MACADDR *pBssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN USHORT BeaconPeriod,
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_ENTRY *pBss,
-+ IN MACADDR *pBssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN USHORT BeaconPeriod,
- IN BOOLEAN CfExist,
-- IN CF_PARM *pCfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-- IN UCHAR Rates[],
-+ IN CF_PARM *pCfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
- IN UCHAR Channel,
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-- IN PNDIS_802_11_VARIABLE_IEs pVIE)
-+ IN USHORT VarIELen, // Length of all saved IEs.
-+ IN PNDIS_802_11_VARIABLE_IEs pVIE)
- {
- COPY_MAC_ADDR(&pBss->Bssid, pBssid);
- // Default Hidden SSID to be TRUE, it will be turned to FALSE after coping SSID
-- pBss->Hidden = 1;
-+ pBss->Hidden = 1;
- if (SsidLen > 0)
- {
- // For hidden SSID AP, it might send beacon with SSID len equal to 0
-@@ -1769,17 +1774,17 @@
- }
- pBss->BssType = BssType;
- pBss->BeaconPeriod = BeaconPeriod;
-- if (BssType == BSS_INFRA)
-+ if (BssType == BSS_INFRA)
- {
-- if (CfExist)
-+ if (CfExist)
- {
- pBss->CfpCount = pCfParm->CfpCount;
- pBss->CfpPeriod = pCfParm->CfpPeriod;
- pBss->CfpMaxDuration = pCfParm->CfpMaxDuration;
- pBss->CfpDurRemaining = pCfParm->CfpDurRemaining;
- }
-- }
-- else
-+ }
-+ else
- {
- pBss->AtimWin = AtimWin;
- }
-@@ -1801,15 +1806,23 @@
- pBss->FixIEs.Capabilities = CapabilityInfo;
-
- // New for microsoft Variable IEs
-- if (pVIE->Length != 0)
-+ pBss->VarIELen = VarIELen;
-+ if (VarIELen != 0)
- {
-- pBss->VarIELen = pVIE->Length + 2;
-- memcpy(pBss->VarIEs, pVIE, pBss->VarIELen);
-- pBss->WepStatus = BssCipherParse(pBss->VarIEs);
-+ memcpy(pBss->VarIEs, pVIE, VarIELen);
-+ pBss->CipherCap = BssCipherParse((PBEACON_EID_STRUCT)pBss->VarIEs,
-+ VarIELen);
-+ if (pBss->CipherCap & (0x01 << CIPHER_TYPE_GRP)) {
-+ pBss->WepStatus = setWepStatus(pBss->CipherCap >> 8,
-+ pAd->PortCfg.WepStatus);
-+ }
-+ else {
-+ pBss->WepStatus = setWepStatus(pBss->CipherCap,
-+ pAd->PortCfg.WepStatus);
-+ }
- }
- else
- {
-- pBss->VarIELen = 0;
- // No SSN ID, if security is on, this is WEP algorithm
- if (pBss->Privacy)
- pBss->WepStatus = Ndis802_11WEPEnabled;
-@@ -1817,9 +1830,11 @@
- else
- pBss->WepStatus = Ndis802_11WEPDisabled;
- }
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: Ndis WepStatus (Local=%d, Remote=%d)\n",
-+ __FUNCTION__, pAd->PortCfg.WepStatus, pBss->WepStatus);
- }
-
--/*!
-+/*!
- * \brief insert an entry into the bss table
- * \param p_tab The BSS table
- * \param Bssid BSSID
-@@ -1840,17 +1855,17 @@
- * \note If SSID is identical, the old entry will be replaced by the new one
- */
- ULONG BssTableSetEntry(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_TABLE *Tab,
-- IN MACADDR *Bssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN USHORT BeaconPeriod,
-- IN BOOLEAN CfExist,
-- IN CF_PARM *CfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_TABLE *Tab,
-+ IN MACADDR *Bssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN USHORT BeaconPeriod,
-+ IN BOOLEAN CfExist,
-+ IN CF_PARM *CfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
- IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
-@@ -1858,50 +1873,52 @@
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-+ IN USHORT VarIELen, // Length of all saved IEs.
- IN PNDIS_802_11_VARIABLE_IEs pVIE)
- {
- ULONG Idx;
-+
- Idx = BssTableSearch(Tab, Bssid);
-- if (Idx == BSS_NOT_FOUND)
-+ if (Idx == BSS_NOT_FOUND)
- {
- if (Tab->BssNr >= MAX_LEN_OF_BSS_TABLE)
- return BSS_NOT_FOUND;
--
-+
- Idx = Tab->BssNr;
- BssEntrySet(pAd, &Tab->BssEntry[Idx], Bssid, Ssid, SsidLen, BssType, BeaconPeriod,
- CfExist, CfParm, AtimWin, CapabilityInfo, Rates, RatesLen, ExtendedRateIeExist,
-- ChannelNo, Rssi, Noise, TimeStamp, pVIE);
-+ ChannelNo, Rssi, Noise, TimeStamp, VarIELen, pVIE);
- Tab->BssNr++;
-- }
-+ }
- else
- {
- BssEntrySet(pAd, &Tab->BssEntry[Idx], Bssid, Ssid, SsidLen, BssType, BeaconPeriod,
- CfExist, CfParm, AtimWin, CapabilityInfo, Rates, RatesLen, ExtendedRateIeExist,
-- ChannelNo, Rssi, Noise, TimeStamp, pVIE);
-+ ChannelNo, Rssi, Noise, TimeStamp, VarIELen, pVIE);
- }
--
-+
- return Idx;
- }
-
- VOID BssTableSsidSort(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_TABLE *OutTab,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen)
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_TABLE *OutTab,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen)
- {
- INT i;
- BssTableInit(OutTab);
-
-- for (i = 0; i < pAd->PortCfg.BssTab.BssNr; i++)
-+ for (i = 0; i < pAd->PortCfg.BssTab.BssNr; i++)
- {
- BSS_ENTRY *pInBss = &pAd->PortCfg.BssTab.BssEntry[i];
--
-- if ((pInBss->BssType == pAd->PortCfg.BssType) &&
-+
-+ if ((pInBss->BssType == pAd->PortCfg.BssType) &&
- ((pInBss->SsidLen==SsidLen) && RTMPEqualMemory(pInBss->Ssid, Ssid, (ULONG) SsidLen)))
- {
- BSS_ENTRY *pOutBss = &OutTab->BssEntry[OutTab->BssNr];
-
-- // Bss Type matched, SSID matched.
-+ // Bss Type matched, SSID matched.
- // We will check wepstatus for qualification Bss
- if (pAd->PortCfg.WepStatus != pInBss->WepStatus)
- continue;
-@@ -1911,24 +1928,24 @@
- // CCX also require not even try to connect it!!
- if (SsidLen == 0)
- continue;
--
-+
- // copy matching BSS from InTab to OutTab
- memcpy(pOutBss, pInBss, sizeof(BSS_ENTRY));
--
-+
- OutTab->BssNr++;
- }
- else if ((pInBss->BssType == pAd->PortCfg.BssType) && (SsidLen == 0))
- {
- BSS_ENTRY *pOutBss = &OutTab->BssEntry[OutTab->BssNr];
-
-- // Bss Type matched, SSID matched.
-+ // Bss Type matched, SSID matched.
- // We will check wepstatus for qualification Bss
- if (pAd->PortCfg.WepStatus != pInBss->WepStatus)
- continue;
--
-+
- // copy matching BSS from InTab to OutTab
- memcpy(pOutBss, pInBss, sizeof(BSS_ENTRY));
--
-+
- OutTab->BssNr++;
- }
- #if 0
-@@ -1937,36 +1954,36 @@
- // Add for hidden SSID. But we have to verify the security suite too.
- BSS_ENTRY *pOutBss = &OutTab->BssEntry[OutTab->BssNr];
-
-- // Bss Type matched, SSID matched.
-+ // Bss Type matched, SSID matched.
- // We will check wepstatus for qualification Bss
- if (pAd->PortCfg.WepStatus != pInBss->WepStatus)
- continue;
--
-+
- // copy matching BSS from InTab to OutTab
- memcpy(pOutBss, pInBss, sizeof(BSS_ENTRY));
--
-- OutTab->BssNr++;
-+
-+ OutTab->BssNr++;
- }
--#endif
-+#endif
- if (OutTab->BssNr >= MAX_LEN_OF_BSS_TABLE)
- break;
--
-+
- }
--
-+
- BssTableSortByRssi(OutTab);
- }
-
- VOID BssTableSortByRssi(
-- IN OUT BSS_TABLE *OutTab)
-+ IN OUT BSS_TABLE *OutTab)
- {
- INT i, j;
- BSS_ENTRY TmpBss;
-
-- for (i = 0; i < OutTab->BssNr - 1; i++)
-+ for (i = 0; i < OutTab->BssNr - 1; i++)
- {
-- for (j = i+1; j < OutTab->BssNr; j++)
-+ for (j = i+1; j < OutTab->BssNr; j++)
- {
-- if (OutTab->BssEntry[j].Rssi > OutTab->BssEntry[i].Rssi)
-+ if (OutTab->BssEntry[j].Rssi > OutTab->BssEntry[i].Rssi)
- {
- memcpy(&TmpBss, &OutTab->BssEntry[j], sizeof(BSS_ENTRY));
- memcpy(&OutTab->BssEntry[j], &OutTab->BssEntry[i], sizeof(BSS_ENTRY));
-@@ -1976,34 +1993,178 @@
- }
- }
-
--NDIS_802_11_WEP_STATUS BssCipherParse(
-- IN PUCHAR pCipher)
-+/*
-+ * ============================================================================
-+ * Description:
-+ * Scan cipher suite list and return cipher capability set.
-+ * ============================================================================
-+ */
-+static USHORT scan_csl(
-+ IN suite_list_t *psl,
-+ IN USHORT curtype)
- {
-- PBEACON_EID_STRUCT pEid;
-- PUCHAR pTmp;
-+ USHORT ciphertype = curtype; // Cipher "capability set"
-+ int i, j;
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " - scan %d pair cipher(s)\n", psl->count);
-+
-+ for (i = 0, j = psl->count; i < j; i++) {
-
-- pEid = (PBEACON_EID_STRUCT) pCipher;
-+ if (psl->suite[i].type < NUM_CIPHER_TYPES) {
-+ ciphertype |= 0x01 << psl->suite[i].type;
-+ }
-+ else {
-+ DBGPRINT(RT_DEBUG_ERROR, " - invalid pair cipher type %d\n",
-+ psl->suite[i].type);
-+ }
-+ DBGPRINT(RT_DEBUG_TRACE, " - (pair) CipherType now=0x%04x\n",
-+ ciphertype);
-+ }
-+ return ciphertype;
-
-- // Double check sanity information, although it should be done at peer beacon sanity check already.
-- if (pEid->Eid != IE_WPA)
-- return (Ndis802_11WEPDisabled);
--
-- // Double check Var IE length, it must be no less than 0x16
-- if (pEid->Len < 0x16)
-- return (Ndis802_11WEPDisabled);
--
-- // Skip OUI, version, and multicast suite
-- // This part should be improved in the future when AP supported multiple cipher suite.
-- // For now, it's OK since almost all APs have fixed cipher suite supported.
-- pTmp = (PUCHAR) pEid->Octet;
-- pTmp += 9;
--
-- if (*pTmp == 4) // AES
-- return (Ndis802_11Encryption3Enabled);
-- else if (*pTmp == 2) // TKIP
-- return (Ndis802_11Encryption2Enabled);
-+} /* End scan_csl () */
-+
-+USHORT BssCipherParse(
-+ IN PBEACON_EID_STRUCT pEid,
-+ IN USHORT VarIELen) // Length of all saved IEs.
-+{
-+ USHORT ciphertype = 0;
-+ PBEACON_EID_STRUCT ptEid;
-+ USHORT len;
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: using VarIELen=%d\n", __FUNCTION__, VarIELen);
-+
-+ // Handle the stinerman problem (a too-short WPA IE followed by
-+ // a long-enough WPA IE from an AP), the onishin/dacull problem
-+ // (a RSN - WPA2 - IE followed by a WPA1 IE from an AP), and the
-+ // holtzmichel problem (a WPA1 IE followed by a WPA2 IE). We end
-+ // up using the *last* one we find. This may (or may not) really
-+ // be the thing to do. - bb
-+ for (ptEid = pEid, len = 0; len < VarIELen;
-+ len += ptEid->Len + 2,
-+ ptEid = (PBEACON_EID_STRUCT)((UCHAR *)pEid + len)) {
-+
-+ DBGPRINT(RT_DEBUG_TRACE, " - examining IE=%d, Len=%d\n",
-+ ptEid->Eid, ptEid->Len);
-+
-+ switch (ptEid->Eid) {
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, " - Not a WPA/WPA2 IE=%d, Len=%d\n",
-+ ptEid->Eid, ptEid->Len);
-+ break;
-+
-+ case IE_WPA: {
-+ #define p ((PRSN_EID_STRUCT)ptEid)
-+
-+ // Double check Var IE length, it must be no less than 0x16
-+ // Silently ignore if not
-+ if (ptEid->Len < 0x16) {
-+ DBGPRINT(RT_DEBUG_ERROR, " - Len %d too short\n",
-+ ptEid->Len);
-+ break;
-+ }
-+ // Skip OUI, version, and multicast suite
-+ // This part should be improved in the future when AP
-+ // supported multiple cipher suite. For now, it's OK since
-+ // almost all APs have fixed cipher suite supported.
-+ // (The future is now - bb)
-+ if (p->Multicast[3] < NUM_CIPHER_TYPES) {
-+ ciphertype |= 0x100 << p->Multicast[3];
-+ }
-+ else {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_WPA invalid group cipher %d\n",
-+ p->Multicast[3]);
-+ }
-+ DBGPRINT(RT_DEBUG_TRACE, " - WPA CipherType now=0x%04x\n",
-+ ciphertype);
-
-- return (Ndis802_11WEPDisabled);
-+ if (p->Length >= sizeof(RSN_EID_STRUCT) -
-+ offsetof(RSN_EID_STRUCT, Oui)) {
-+ suite_list_p psl = (suite_list_p)((UCHAR *)p +
-+ offsetof(RSN_EID_STRUCT, Count));
-+
-+ if (psl->count * sizeof(suite_sel_t) +
-+ offsetof(RSN_EID_STRUCT,Count) -
-+ offsetof(RSN_EID_STRUCT,Oui) >
-+ p->Length) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - malformed WPA pair cipher count "
-+ "(needs %d bytes, %d bytes avail)\n",
-+ psl->count*sizeof(suite_sel_t) +
-+ offsetof(RSN_EID_STRUCT,Count) -
-+ offsetof(RSN_EID_STRUCT,Oui),
-+ p->Length);
-+ break;
-+ }
-+ ciphertype = scan_csl(psl, ciphertype);
-+ }
-+ else {
-+ ciphertype |= 0x01; // Indicate use group cipher
-+ }
-+ #undef p
-+ break;
-+ }
-+ case IE_RSN: { // 802.11i pp. 27 - 32
-+ #define p ((rsn_ie_p)ptEid)
-+
-+ if (p->length == sizeof(p->version)) {
-+ ciphertype = 0x01 | 0x100 << CIPHER_TYPE_CCMP;
-+ break;
-+ }
-+ if (p->length >= sizeof(p->version) + sizeof(p->gcsuite)) {
-+
-+ // Right now, we use the group cipher suite since it
-+ // appears (to me, at any rate) that that's what is
-+ // being used from the WPA IE.
-+ // (SWAG - cf. RSN_EID_STRUCT - is that WPA_IE is RSN_IE
-+ // with 4 bytes in front of the version tag. So we
-+ // use the group cipher suite ala case IE_WPA above.)
-+ // cf. the Holtzmichel problem: Looks like the Sinus 154
-+ // Basic 3 includes either 3 pairwise cipher suites, or
-+ // 1 pairwise cipher suite, 1 AKM suite, and an RSN
-+ // capabilities field, because the len is 20.
-+ if (p->gcsuite.type < NUM_CIPHER_TYPES) {
-+ ciphertype |= 0x100 << p->gcsuite.type;
-+ }
-+ else {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid group cipher %d\n",
-+ p->gcsuite.type);
-+ }
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ " - (grp) CipherType now=0x%04x\n", ciphertype);
-+ }
-+ if (p->length > sizeof(p->version) + sizeof(p->gcsuite)) {
-+ suite_list_p psl = (suite_list_p)((UCHAR *)p +
-+ offsetof(rsn_ie_t, version) +
-+ sizeof(ie_version_t) + sizeof(suite_sel_t));
-+
-+ if (psl->count * sizeof(suite_sel_t) +
-+ sizeof(ie_version_t) + sizeof(suite_sel_t) >
-+ p->length) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - malformed RSN pair cipher count "
-+ "(needs %d bytes, %d bytes avail)\n",
-+ psl->count*sizeof(suite_sel_t) +
-+ sizeof(ie_version_t) + sizeof(suite_sel_t),
-+ p->length);
-+ break;
-+ }
-+ ciphertype = scan_csl(psl, ciphertype);
-+ }
-+ else {
-+ ciphertype |= 0x01; // Indicate use group cipher
-+ }
-+ #undef p
-+ break;
-+ } /* End case IE_RSN */
-+ } /* End switch EID */
-+ } /* End for () */
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: return CipherType=0x%04x\n",
-+ __FUNCTION__, ciphertype);
-+ return ciphertype;
- }
-
- // ===========================================================================================
-@@ -2017,16 +2178,16 @@
- * \post
- */
- VOID MacAddrRandomBssid(
-- IN PRTMP_ADAPTER pAd,
-- OUT MACADDR *Addr)
-+ IN PRTMP_ADAPTER pAd,
-+ OUT MACADDR *Addr)
- {
- INT i;
-
-- for (i = 0; i < ETH_ALEN; i++)
-+ for (i = 0; i < ETH_ALEN; i++)
- {
- Addr->Octet[i] = RandomByte(pAd);
- }
--
-+
- Addr->Octet[0] = (Addr->Octet[0] & 0xfe) | 0x02; // the first 2 bits must be 01xxxxxxxx
- }
-
-@@ -2042,12 +2203,12 @@
- * \note this function initializes the following field
- */
- VOID MgtMacHeaderInit(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT PMACHDR Hdr,
-- IN UCHAR Subtype,
-- IN UCHAR ToDs,
-- IN PMACADDR Ds,
-- IN PMACADDR Bssid)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT PMACHDR Hdr,
-+ IN UCHAR Subtype,
-+ IN UCHAR ToDs,
-+ IN PMACADDR Ds,
-+ IN PMACADDR Bssid)
- {
- memset(Hdr, 0, sizeof(MACHDR));
- Hdr->Type = BTYPE_MGMT;
-@@ -2063,8 +2224,8 @@
- // ===========================================================================================
-
- /*!***************************************************************************
-- * This routine build an outgoing frame, and fill all information specified
-- * in argument list to the frame body. The actual frame size is the summation
-+ * This routine build an outgoing frame, and fill all information specified
-+ * in argument list to the frame body. The actual frame size is the summation
- * of all arguments.
- * input params:
- * Buffer - pointer to a pre-allocated memory segment
-@@ -2073,12 +2234,12 @@
- * function will FAIL!!!
- * return:
- * Size of the buffer
-- * usage:
-+ * usage:
- * MakeOutgoingFrame(Buffer, output_length, 2, &fc, 2, &dur, 6, p_addr1, 6,p_addr2, END_OF_ARGS);
- ****************************************************************************/
- ULONG MakeOutgoingFrame(
-- OUT CHAR *Buffer,
-- OUT ULONG *FrameLen, ...)
-+ OUT CHAR *Buffer,
-+ OUT ULONG *FrameLen, ...)
- {
- CHAR *p;
- int leng;
-@@ -2088,10 +2249,10 @@
- // calculates the total length
- TotLeng = 0;
- va_start(Args, FrameLen);
-- do
-+ do
- {
- leng = va_arg(Args, int);
-- if (leng == END_OF_ARGS)
-+ if (leng == END_OF_ARGS)
- {
- break;
- }
-@@ -2117,7 +2278,7 @@
- * \note Because this is done only once (at the init stage), no need to be locked
- */
- NDIS_STATUS MlmeQueueInit(
-- IN MLME_QUEUE *Queue)
-+ IN MLME_QUEUE *Queue)
- {
- INT i;
-
-@@ -2127,7 +2288,7 @@
- Queue->Head = 0;
- Queue->Tail = 0;
-
-- for (i = 0; i < MAX_LEN_OF_MLME_QUEUE; i++)
-+ for (i = 0; i < MAX_LEN_OF_MLME_QUEUE; i++)
- {
- Queue->Entry[i].Occupied = FALSE;
- Queue->Entry[i].MsgLen = 0;
-@@ -2150,11 +2311,11 @@
- * \note The message has to be initialized
- */
- BOOLEAN MlmeEnqueue(
-- OUT MLME_QUEUE *Queue,
-- IN ULONG Machine,
-- IN ULONG MsgType,
-- IN ULONG MsgLen,
-- IN VOID *Msg)
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG Machine,
-+ IN ULONG MsgType,
-+ IN ULONG MsgLen,
-+ IN VOID *Msg)
- {
- INT Tail;
- unsigned long flags;
-@@ -2164,30 +2325,25 @@
- DBGPRINT(RT_DEBUG_ERROR, "MlmeEnqueueForRecv mlme frame too large, size = %d \n", MsgLen);
- return FALSE;
- }
--
-- spin_lock_irqsave(&(Queue->Lock), flags);
-- if (MlmeQueueFull(Queue))
-- {
-+
-+ spin_lock_irqsave(&Queue->Lock, flags);
-+ if (Queue->Num == MAX_LEN_OF_MLME_QUEUE) {
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- printk(KERN_ERR DRV_NAME "MlmeEnqueue full, msg dropped and may corrupt MLME\n");
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
- return FALSE;
- }
--
-- Tail = Queue->Tail;
-- Queue->Tail++;
-+ Tail = Queue->Tail++;
-+ Queue->Tail %= MAX_LEN_OF_MLME_QUEUE;
- Queue->Num++;
-- if (Queue->Tail == MAX_LEN_OF_MLME_QUEUE)
-- {
-- Queue->Tail = 0;
-- }
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- DBGPRINT(RT_DEBUG_INFO, "MlmeEnqueue, num=%d\n",Queue->Num);
--
-+
- Queue->Entry[Tail].Occupied = TRUE;
- Queue->Entry[Tail].Machine = Machine;
- Queue->Entry[Tail].MsgType = MsgType;
- Queue->Entry[Tail].MsgLen = MsgLen;
-- memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
-+ if (Msg != NULL)
-+ memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
- return TRUE;
- }
-
-@@ -2203,14 +2359,14 @@
- * \post
- */
- BOOLEAN MlmeEnqueueForRecv(
-- IN PRTMP_ADAPTER pAd,
-- OUT MLME_QUEUE *Queue,
-- IN ULONG TimeStampHigh,
-+ IN PRTMP_ADAPTER pAd,
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG TimeStampHigh,
- IN ULONG TimeStampLow,
- IN UCHAR Rssi,
-- IN UCHAR Noise,
-- IN ULONG MsgLen,
-- IN VOID *Msg)
-+ IN UCHAR Noise,
-+ IN ULONG MsgLen,
-+ IN VOID *Msg)
- {
- INT Tail, Machine;
- MACFRAME *Fr = (MACFRAME *)Msg;
-@@ -2225,31 +2381,25 @@
- }
-
-
-- if (!MsgTypeSubst(Fr, &Machine, &MsgType))
-+ if (!MsgTypeSubst(Fr, &Machine, &MsgType))
- {
- DBGPRINT(RT_DEBUG_ERROR, "MlmeEnqueueForRecv (drop mgmt->subtype=%d)\n",Fr->Hdr.SubType);
- return FALSE;
- }
-
-- spin_lock_irqsave(&(Queue->Lock), flags);
-- if (MlmeQueueFull(Queue))
-- {
-+ spin_lock_irqsave(&Queue->Lock, flags);
-+ if (Queue->Num == MAX_LEN_OF_MLME_QUEUE) {
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- DBGPRINT(RT_DEBUG_ERROR, "MlmeEnqueueForRecv (queue full error) \n");
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
- return FALSE;
- }
--
-- // OK, we got all the informations, it is time to put things into queue
-- Tail = Queue->Tail;
-- Queue->Tail++;
-+ Tail = Queue->Tail++;
-+ Queue->Tail %= MAX_LEN_OF_MLME_QUEUE;
- Queue->Num++;
-- if (Queue->Tail == MAX_LEN_OF_MLME_QUEUE)
-- {
-- Queue->Tail = 0;
-- }
--
-+ spin_unlock_irqrestore(&Queue->Lock, flags);
- DBGPRINT(RT_DEBUG_INFO, "MlmeEnqueueForRecv, num=%d\n",Queue->Num);
--
-+
-+ // OK, we got all the informations, it is time to put things into queue
- Queue->Entry[Tail].Occupied = TRUE;
- Queue->Entry[Tail].Machine = Machine;
- Queue->Entry[Tail].MsgType = MsgType;
-@@ -2258,8 +2408,8 @@
- Queue->Entry[Tail].TimeStamp.vv.HighPart = TimeStampHigh;
- Queue->Entry[Tail].Rssi = Rssi;
- Queue->Entry[Tail].Noise = (Noise > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) Noise);
-- memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
-+ if (Msg != NULL)
-+ memcpy(Queue->Entry[Tail].Msg, Msg, MsgLen);
-
- MlmeHandler(pAd);
-
-@@ -2267,6 +2417,7 @@
- }
-
- /*! \brief Dequeue a message from the MLME Queue
-+ * WARNING: Must be call with Mlme.Queue.Lock held
- * \param *Queue The MLME Queue
- * \param *Elem The message dequeued from MLME Queue
- * \return TRUE if the Elem contains something, FALSE otherwise
-@@ -2274,23 +2425,14 @@
- * \post
- */
- BOOLEAN MlmeDequeue(
-- IN MLME_QUEUE *Queue,
-- OUT MLME_QUEUE_ELEM **Elem)
-+ IN MLME_QUEUE *Queue,
-+ OUT MLME_QUEUE_ELEM **Elem)
- {
-- unsigned long flags;
-- spin_lock_irqsave(&(Queue->Lock), flags);
-- if (Queue->Num == 0) {
-- spin_unlock_irqrestore(&(Queue->Lock),flags);
-+ if (Queue->Num == 0)
- return FALSE;
-- }
-- *Elem = &(Queue->Entry[Queue->Head]);
-+ *Elem = &Queue->Entry[Queue->Head++];
-+ Queue->Head %= MAX_LEN_OF_MLME_QUEUE;
- Queue->Num--;
-- Queue->Head++;
-- if (Queue->Head == MAX_LEN_OF_MLME_QUEUE)
-- {
-- Queue->Head = 0;
-- }
-- spin_unlock_irqrestore(&(Queue->Lock), flags);
- DBGPRINT(RT_DEBUG_INFO, "MlmeDequeue, num=%d\n",Queue->Num);
-
- return TRUE;
-@@ -2308,29 +2450,27 @@
- DBGPRINT(RT_DEBUG_ERROR, "Failure to initialize mlme.\n");
- // Continue the reset procedure...
- }
--
-+
- spin_lock_irqsave(&pAd->Mlme.TaskLock, flags);
-- if(pAd->Mlme.Running)
-+ if(pAd->Mlme.Running)
- {
- spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
- return;
-- }
-- else
-+ }
-+ else
- {
- pAd->Mlme.Running = TRUE;
- }
- spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
-
- // Remove all Mlme queues elements
-- while (MlmeDequeue(&pAd->Mlme.Queue, &Elem))
-- {
-- //From message type, determine which state machine I should drive
--
-- // free MLME element
-- Elem->Occupied = FALSE;
-- Elem->MsgLen = 0;
--
-- }
-+ spin_lock_irqsave(&pAd->Mlme.Queue.Lock, flags);
-+ while (MlmeDequeue(&pAd->Mlme.Queue, &Elem)) {
-+ // free MLME element
-+ Elem->Occupied = FALSE;
-+ Elem->MsgLen = 0;
-+ }
-+ spin_unlock_irqrestore(&pAd->Mlme.Queue.Lock, flags);
-
- // Cancel all timer events
- // Be careful to cancel new added timer
-@@ -2356,54 +2496,22 @@
- pAd->Mlme.AuthMachine.CurrState = AUTH_REQ_IDLE;
- pAd->Mlme.AuthRspMachine.CurrState = AUTH_RSP_IDLE;
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
--
-+
- // Remove running state
- spin_lock_irqsave(&pAd->Mlme.TaskLock, flags);
- pAd->Mlme.Running = FALSE;
- spin_unlock_irqrestore(&pAd->Mlme.TaskLock, flags);
- }
-
--/*! \brief test if the MLME Queue is empty
-- * \param *Queue The MLME Queue
-- * \return TRUE if the Queue is empty, FALSE otherwise
-- * \pre
-- * \post
-- */
--BOOLEAN MlmeQueueEmpty(
-- IN MLME_QUEUE *Queue)
--{
-- BOOLEAN Ans;
--
-- Ans = (Queue->Num == 0);
--
-- return Ans;
--}
--
--/*! \brief test if the MLME Queue is full
-- * \param *Queue The MLME Queue
-- * \return TRUE if the Queue is empty, FALSE otherwise
-- * \pre
-- * \post
-- */
--BOOLEAN MlmeQueueFull(
-- IN MLME_QUEUE *Queue)
--{
-- BOOLEAN Ans;
--
-- Ans = (Queue->Num == MAX_LEN_OF_MLME_QUEUE);
--
-- return Ans;
--}
--
- /*! \brief The destructor of MLME Queue
-- * \param
-+ * \param
- * \return
- * \pre
- * \post
- * \note Clear Mlme Queue, Set Queue->Num to Zero.
- */
- VOID MlmeQueueDestroy(
-- IN MLME_QUEUE *Queue)
-+ IN MLME_QUEUE *Queue)
- {
- unsigned long flags;
- spin_lock_irqsave(&(Queue->Lock), flags);
-@@ -2422,22 +2530,22 @@
- * \post
- */
- BOOLEAN MsgTypeSubst(
-- IN MACFRAME *Fr,
-- OUT INT *Machine,
-- OUT INT *MsgType)
-+ IN MACFRAME *Fr,
-+ OUT INT *Machine,
-+ OUT INT *MsgType)
- {
- USHORT Seq;
- UCHAR EAPType;
-
- // The only data type will pass to this function is EAPOL frame
-- if (Fr->Hdr.Type == BTYPE_DATA)
-- {
-+ if (Fr->Hdr.Type == BTYPE_DATA)
-+ {
- *Machine = WPA_PSK_STATE_MACHINE;
- EAPType = *((UCHAR*)Fr + LENGTH_802_11 + LENGTH_802_1_H + 1);
- return(WpaMsgTypeSubst(EAPType, MsgType));
- }
-
-- switch (Fr->Hdr.SubType)
-+ switch (Fr->Hdr.SubType)
- {
- case SUBTYPE_ASSOC_REQ:
- *Machine = ASSOC_STATE_MACHINE;
-@@ -2478,17 +2586,17 @@
- case SUBTYPE_AUTH:
- // get the sequence number from payload 24 Mac Header + 2 bytes algorithm
- memcpy(&Seq, &Fr->Octet[2], sizeof(USHORT));
-- if (Seq == 1 || Seq == 3)
-+ if (Seq == 1 || Seq == 3)
- {
- *Machine = AUTH_RSP_STATE_MACHINE;
- *MsgType = MT2_PEER_AUTH_ODD;
-- }
-- else if (Seq == 2 || Seq == 4)
-+ }
-+ else if (Seq == 2 || Seq == 4)
- {
- *Machine = AUTH_STATE_MACHINE;
- *MsgType = MT2_PEER_AUTH_EVEN;
-- }
-- else
-+ }
-+ else
- {
- return FALSE;
- }
-@@ -2510,25 +2618,25 @@
- // ===========================================================================================
-
- /*! \brief Initialize the state machine.
-- * \param *S pointer to the state machine
-+ * \param *S pointer to the state machine
- * \param Trans State machine transition function
-- * \param StNr number of states
-- * \param MsgNr number of messages
-- * \param DefFunc default function, when there is invalid state/message combination
-- * \param InitState initial state of the state machine
-+ * \param StNr number of states
-+ * \param MsgNr number of messages
-+ * \param DefFunc default function, when there is invalid state/message combination
-+ * \param InitState initial state of the state machine
- * \param Base StateMachine base, internal use only
- * \pre p_sm should be a legal pointer
- * \post
- */
-
- VOID StateMachineInit(
-- IN STATE_MACHINE *S,
-- IN STATE_MACHINE_FUNC Trans[],
-- IN ULONG StNr,
-- IN ULONG MsgNr,
-- IN STATE_MACHINE_FUNC DefFunc,
-- IN ULONG InitState,
-- IN ULONG Base)
-+ IN STATE_MACHINE *S,
-+ IN STATE_MACHINE_FUNC Trans[],
-+ IN ULONG StNr,
-+ IN ULONG MsgNr,
-+ IN STATE_MACHINE_FUNC DefFunc,
-+ IN ULONG InitState,
-+ IN ULONG Base)
- {
- ULONG i, j;
-
-@@ -2538,22 +2646,22 @@
- S->Base = Base;
-
- S->TransFunc = Trans;
--
-+
- // init all state transition to default function
-- for (i = 0; i < StNr; i++)
-+ for (i = 0; i < StNr; i++)
- {
-- for (j = 0; j < MsgNr; j++)
-+ for (j = 0; j < MsgNr; j++)
- {
- S->TransFunc[i * MsgNr + j] = DefFunc;
- }
- }
--
-+
- // set the starting state
- S->CurrState = InitState;
-
- }
-
--/*! \brief This function fills in the function pointer into the cell in the state machine
-+/*! \brief This function fills in the function pointer into the cell in the state machine
- * \param *S pointer to the state machine
- * \param St state
- * \param Msg incoming message
-@@ -2562,20 +2670,20 @@
- * \post
- */
- VOID StateMachineSetAction(
-- IN STATE_MACHINE *S,
-- IN ULONG St,
-- IN ULONG Msg,
-- IN STATE_MACHINE_FUNC Func)
-+ IN STATE_MACHINE *S,
-+ IN ULONG St,
-+ IN ULONG Msg,
-+ IN STATE_MACHINE_FUNC Func)
- {
- ULONG MsgIdx;
--
-+
- MsgIdx = Msg - S->Base;
-
-- if (St < S->NrState && MsgIdx < S->NrMsg)
-+ if (St < S->NrState && MsgIdx < S->NrMsg)
- {
- // boundary checking before setting the action
- S->TransFunc[St * S->NrMsg + MsgIdx] = Func;
-- }
-+ }
- }
-
- /*! \brief The destructor of the state machine
-@@ -2583,7 +2691,7 @@
- * \note doing nothing at this moment, may need to do something if the implementation changed
- */
- VOID
--StateMachineDestroy(IN STATE_MACHINE *S)
-+StateMachineDestroy(IN STATE_MACHINE *S)
- {
- }
-
-@@ -2594,9 +2702,9 @@
- * \return None
- */
- VOID StateMachinePerformAction(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- (*(S->TransFunc[S->CurrState * S->NrMsg + Elem->MsgType - S->Base]))(pAd, Elem);
- }
-@@ -2604,14 +2712,14 @@
- /*
- ==========================================================================
- Description:
-- The drop function, when machine executes this, the message is simply
-- ignored. This function does nothing, the message is freed in
-+ The drop function, when machine executes this, the message is simply
-+ ignored. This function does nothing, the message is freed in
- StateMachinePerformAction()
- ==========================================================================
- */
- VOID Drop(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- #if 0
- if ((Elem->MsgType == MT2_PEER_BEACON) ||
-@@ -2622,7 +2730,7 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, ("Warn:>>Drop Msg=%d<<\n",Elem->MsgType));
- }
--#endif
-+#endif
- }
-
- // ===========================================================================================
-@@ -2635,12 +2743,12 @@
- ==========================================================================
- */
- VOID LfsrInit(
-- IN PRTMP_ADAPTER pAd,
-- IN ULONG Seed)
-+ IN PRTMP_ADAPTER pAd,
-+ IN ULONG Seed)
- {
-- if (Seed == 0)
-+ if (Seed == 0)
- pAd->Mlme.ShiftReg = 1;
-- else
-+ else
- pAd->Mlme.ShiftReg = Seed;
- }
-
-@@ -2650,21 +2758,21 @@
- ==========================================================================
- */
- UCHAR RandomByte(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- ULONG i;
- UCHAR R, Result;
-
- R = 0;
-
-- for (i = 0; i < 8; i++)
-+ for (i = 0; i < 8; i++)
- {
-- if (pAd->Mlme.ShiftReg & 0x00000001)
-+ if (pAd->Mlme.ShiftReg & 0x00000001)
- {
- pAd->Mlme.ShiftReg = ((pAd->Mlme.ShiftReg ^ LFSR_MASK) >> 1) | 0x80000000;
- Result = 1;
-- }
-- else
-+ }
-+ else
- {
- pAd->Mlme.ShiftReg = pAd->Mlme.ShiftReg >> 1;
- Result = 0;
-@@ -2681,17 +2789,17 @@
- ==========================================================================
- */
- VOID AsicSwitchChannel(
-- IN PRTMP_ADAPTER pAd,
-- IN UCHAR Channel)
-+ IN PRTMP_ADAPTER pAd,
-+ IN UCHAR Channel)
- {
- ULONG R3;
- UCHAR index;
- int Value;
-
- // TODO: need to update E2PROM format to add 802.11a channel's TX power calibration values
-- if (Channel <= 14)
-+ if (Channel <= 14)
- R3 = pAd->PortCfg.ChannelTxPower[Channel - 1];
-- else
-+ else
- R3 = pAd->PortCfg.ChannelTxPower[0];
-
- if (R3 > 31) R3 = 31;
-@@ -2706,10 +2814,10 @@
- Value = (Value > 31) ? 31 : Value;
- Value = (Value < 0) ? 0 : Value;
- R3 = Value;
--
-+
- // Krellan: Save value for readout to user
- pAd->PortCfg.TxPowerDriver = R3;
--
-+
- R3 = R3 << 9; // shift TX power control to correct RF R3 bit position
-
- switch (pAd->PortCfg.RfType)
-@@ -2772,7 +2880,7 @@
- }
- }
- break;
--
-+
- case RFIC_2525:
- for (index = 0; index < NUM_OF_2525_CHNL; index++)
- {
-@@ -2800,7 +2908,7 @@
- }
- }
- break;
--
-+
- case RFIC_2525E:
- for (index = 0; index < NUM_OF_2525E_CHNL; index++)
- {
-@@ -2820,7 +2928,7 @@
- }
- }
- break;
--
-+
- case RFIC_5222:
- for (index = 0; index < NUM_OF_5222_CHNL; index++)
- {
-@@ -2846,12 +2954,12 @@
- }
-
- DBGPRINT(RT_DEBUG_INFO, "AsicSwitchChannel(RF=%d) to #%d, TXPwr=%d, R1=0x%08x, R2=0x%08x, R3=0x%08x, R4=0x%08x\n",
-- pAd->PortCfg.RfType,
-- pAd->PortCfg.LatchRfRegs.Channel,
-+ pAd->PortCfg.RfType,
-+ pAd->PortCfg.LatchRfRegs.Channel,
- pAd->PortCfg.TxPower,
-- pAd->PortCfg.LatchRfRegs.R1,
-- pAd->PortCfg.LatchRfRegs.R2,
-- pAd->PortCfg.LatchRfRegs.R3,
-+ pAd->PortCfg.LatchRfRegs.R1,
-+ pAd->PortCfg.LatchRfRegs.R2,
-+ pAd->PortCfg.LatchRfRegs.R3,
- pAd->PortCfg.LatchRfRegs.R4);
- }
-
-@@ -2865,8 +2973,8 @@
- ==========================================================================
- */
- VOID AsicLockChannel(
-- IN PRTMP_ADAPTER pAd,
-- IN UCHAR Channel)
-+ IN PRTMP_ADAPTER pAd,
-+ IN UCHAR Channel)
- {
- UCHAR r70;
- ULONG FcsCnt;
-@@ -2899,14 +3007,14 @@
- case RFIC_2525E:
- pAd->PortCfg.LatchRfRegs.R1 &= 0xfffdffff; // RF R1.bit17 "tune_en1" OFF
- pAd->PortCfg.LatchRfRegs.R3 &= 0xfffffeff; // RF R3.bit8 "tune_en2" OFF
-- RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R1);
-- RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
-+ RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R1);
-+ RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
- DBGPRINT(RT_DEBUG_INFO, "AsicRfTuningExec(R1=0x%x,R3=0x%x)\n",pAd->PortCfg.LatchRfRegs.R1,pAd->PortCfg.LatchRfRegs.R3);
- break;
--
-+
- case RFIC_2523:
- pAd->PortCfg.LatchRfRegs.R3 &= 0xfffffeff; // RF R3.bit8 "tune_en2" OFF
-- RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
-+ RTMP_RF_IO_WRITE32(pAd, pAd->PortCfg.LatchRfRegs.R3);
- DBGPRINT(RT_DEBUG_INFO, "AsicRfTuningExec(R3=0x%x)\n",pAd->PortCfg.LatchRfRegs.R3);
- break;
-
-@@ -2929,16 +3037,16 @@
- ==========================================================================
- */
- VOID AsicAdjustTxPower(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- ULONG R3, Channel, CurrTxPwr;
- int Value;
-
- if ((pAd->PortCfg.Channel >= 1) && (pAd->PortCfg.Channel <= 14))
- Channel = pAd->PortCfg.Channel;
-- else
-+ else
- Channel = 1; // don't have calibration info for 11A, temporarily use Channel 1
--
-+
- // get TX Power base from E2PROM
- R3 = pAd->PortCfg.ChannelTxPower[Channel - 1];
- if (R3 > 31) R3 = 31;
-@@ -2948,7 +3056,7 @@
- Value = (Value > 31) ? 31 : Value;
- Value = (Value < 0) ? 0 : Value;
- R3 = Value;
--
-+
- // E2PROM setting is calibrated for maximum TX power (i.e. 100%)
- // We lower TX power here according to the percentage specified from UI
- if (pAd->PortCfg.TxPowerAuto == TRUE) // AUTO TX POWER control
-@@ -2959,10 +3067,10 @@
- // low TX power upon very-short distance to AP to solve some vendor's AP RX problem
- // in this case, no TSSI compensation is required.
-
-- if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
-+ if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
- (pAd->PortCfg.AvgRssi > (pAd->PortCfg.RssiToDbm - RSSI_FOR_LOWEST_TX_POWER)))
- R3 -= LOWEST_TX_POWER_DELTA;
-- else if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
-+ else if ((pAd->DrsCounters.fNoisyEnvironment == FALSE) &&
- (pAd->PortCfg.AvgRssi > (pAd->PortCfg.RssiToDbm - RSSI_FOR_LOW_TX_POWER)))
- R3 -= LOW_TX_POWER_DELTA;
-
-@@ -2973,7 +3081,7 @@
- R3 +=2;
- if (R3 > 31) R3 = 31;
- }
--
-+
- // 2 exclusive rules applied on CCK rates only -
- // 1. always plus 2 db for CCK
- // 2. adjust TX Power based on TSSI
-@@ -2986,10 +3094,10 @@
- R3 += 2; // plus 2 db
- if (R3 > 31) R3 = 31;
- }
--
-- // Auto calibrate Tx AGC if bAutoTxAgc is TRUE and TX rate is CCK,
-+
-+ // Auto calibrate Tx AGC if bAutoTxAgc is TRUE and TX rate is CCK,
- // because E2PROM's TSSI reference is valid only in CCK range.
-- else
-+ else
- {
- UCHAR R1,TxPowerRef, TssiRef;
-
-@@ -3005,7 +3113,7 @@
- // Need R3 adjustment. However, we have to make sure there is only
- // plus / minus 5 variation allowed
- if (TssiRef > R1)
-- {
-+ {
- R3 = (R3 < (ULONG) (TxPowerRef + 5)) ? (R3 + 1) : R3;
- if (R3 > 31)
- R3 = 31;
-@@ -3020,7 +3128,7 @@
- }
- }
- }
--
-+
- }
- }
- else // fixed AUTO TX power
-@@ -3035,7 +3143,7 @@
-
- // Krellan: Save value for readout to user
- pAd->PortCfg.TxPowerDriver = R3;
--
-+
- // compare the desired R3.TxPwr value with current R3, if not equal
- // set new R3.TxPwr
- CurrTxPwr = (pAd->PortCfg.LatchRfRegs.R3 >> 9) & 0x0000001f;
-@@ -3058,8 +3166,8 @@
- ==========================================================================
- */
- VOID AsicSleepThenAutoWakeup(
-- IN PRTMP_ADAPTER pAd,
-- IN USHORT TbttNumToNextWakeUp)
-+ IN PRTMP_ADAPTER pAd,
-+ IN USHORT TbttNumToNextWakeUp)
- {
- CSR20_STRUC Csr20;
- PWRCSR1_STRUC Pwrcsr1;
-@@ -3067,9 +3175,9 @@
- // we have decided to SLEEP, so at least do it for a BEACON period.
- if (TbttNumToNextWakeUp==0)
- TbttNumToNextWakeUp=1;
--
-+
- // PWRCSR0 remains untouched
--
-+
- // set CSR20 for next wakeup
- Csr20.word = 0;
- Csr20.field.NumBcnBeforeWakeup = TbttNumToNextWakeUp - 1;
-@@ -3141,17 +3249,17 @@
- ==========================================================================
- */
- VOID AsicSetBssid(
-- IN PRTMP_ADAPTER pAd,
-- IN MACADDR *Bssid)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MACADDR *Bssid)
- {
- ULONG Addr4;
-
-- Addr4 = (ULONG)(Bssid->Octet[0]) |
-- (ULONG)(Bssid->Octet[1] << 8) |
-+ Addr4 = (ULONG)(Bssid->Octet[0]) |
-+ (ULONG)(Bssid->Octet[1] << 8) |
- (ULONG)(Bssid->Octet[2] << 16) |
- (ULONG)(Bssid->Octet[3] << 24);
- RTMP_IO_WRITE32(pAd, CSR5, Addr4);
--
-+
- Addr4 = (ULONG)(Bssid->Octet[4]) | (ULONG)(Bssid->Octet[5] << 8);
- RTMP_IO_WRITE32(pAd, CSR6, Addr4);
- }
-@@ -3162,7 +3270,7 @@
- ==========================================================================
- */
- VOID AsicDisableSync(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- // TIMECSR_STRUC TimeCsr;
- DBGPRINT(RT_DEBUG_TRACE, "--->Disable TSF synchronization\n");
-@@ -3174,7 +3282,7 @@
- RTMP_IO_WRITE32(pAd, CSR14, 0x00000000);
- #endif
-
--#if 0
-+#if 0
- RTMP_IO_READ32(pAd, TIMECSR, &TimeCsr.word);
-
- // restore to 33 PCI-tick-per-Usec. for 2560a only where PCI-clock is used as TSF timing source
-@@ -3192,7 +3300,7 @@
- ==========================================================================
- */
- VOID AsicEnableBssSync(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- CSR12_STRUC Csr12;
- CSR13_STRUC Csr13;
-@@ -3201,14 +3309,14 @@
- BOOLEAN IsApPc;
-
- DBGPRINT(RT_DEBUG_TRACE, "--->AsicEnableBssSync(INFRA mode)\n");
--
-+
- RTMP_IO_WRITE32(pAd, CSR14, 0x00000000);
--
-+
- Csr12.word = 0;
- Csr12.field.BeaconInterval = pAd->PortCfg.BeaconPeriod << 4; // ASIC register in units of 1/16 TU
- Csr12.field.CfpMaxDuration = pAd->PortCfg.CfpMaxDuration << 4; // ASIC register in units of 1/16 TU
- RTMP_IO_WRITE32(pAd, CSR12, Csr12.word);
--
-+
- Csr13.word = 0;
- Csr13.field.CfpPeriod = pAd->PortCfg.CfpDurRemain << 4; // ASIC register in units of 1/16 TU
- RTMP_IO_WRITE32(pAd, CSR13, Csr13.word);
-@@ -3218,14 +3326,14 @@
- Bcncsr1.field.BeaconCwMin = 5;
- RTMP_IO_WRITE32(pAd, BCNCSR1, Bcncsr1.word);
-
-- IsApPc = (CAP_IS_CF_POLLABLE_ON(pAd->PortCfg.CapabilityInfo) &&
-+ IsApPc = (CAP_IS_CF_POLLABLE_ON(pAd->PortCfg.CapabilityInfo) &&
- CAP_IS_CF_POLL_REQ_ON(pAd->PortCfg.CapabilityInfo));
- IsApPc = FALSE; // TODO: not support so far
--
-+
- Csr14.word = 0;
- Csr14.field.TsfCount = 1;
- Csr14.field.TsfSync = 1; // sync TSF in INFRASTRUCTURE mode
-- if (IsApPc)
-+ if (IsApPc)
- {
- Csr14.field.CfpCntPreload = pAd->PortCfg.CfpCount;
- Csr14.field.Tcfp = 1;
-@@ -3234,13 +3342,13 @@
- // Csr14.field.TbcnPreload = (pAd->PortCfg.BeaconPeriod - 30) << 4; // TODO: ???? 1 TU ???
- Csr14.field.Tbcn = 1;
- RTMP_IO_WRITE32(pAd, CSR14, Csr14.word);
--
-+
- }
-
- /*
- ==========================================================================
- Description:
-- Note:
-+ Note:
- BEACON frame in shared memory should be built ok before this routine
- can be called. Otherwise, a garbage frame maybe transmitted out every
- Beacon period.
-@@ -3254,7 +3362,7 @@
- CSR14_STRUC Csr14;
- // BCNCSR_STRUC Bcncsr;
- BCNCSR1_STRUC Bcncsr1;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "--->AsicEnableIbssSync(ADHOC mode)\n");
-
- RTMP_IO_WRITE32(pAd, CSR14, 0x00000000);
-@@ -3279,7 +3387,7 @@
- Bcncsr1.field.Preload = 700; // 24 + ((MAC_HDR_LEN << 4) / RateIdTo500Kbps[pAd->PortCfg.MlmeRate]);
- }
- RTMP_IO_WRITE32(pAd, BCNCSR1, Bcncsr1.word);
--
-+
- Csr14.word = 0;
- Csr14.field.TsfCount = 1;
- Csr14.field.TsfSync = 2; // sync TSF in IBSS mode
-@@ -3289,16 +3397,16 @@
- }
-
- VOID AsicLedPeriodicExec(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
- ULONG LedCsr = 0x0000461E; // 0x0000461E;
--
-+
- pAd->PortCfg.LedCntl.fOdd = ! pAd->PortCfg.LedCntl.fOdd;
-
-- if (INFRA_ON(pAd) || ADHOC_ON(pAd))
-+ if (INFRA_ON(pAd) || ADHOC_ON(pAd))
- LedCsr |= 0x00010000; // enable hardwired TX activity LED
-- if (pAd->PortCfg.LedCntl.fOdd && pAd->PortCfg.LedCntl.fRxActivity)
-+ if (pAd->PortCfg.LedCntl.fOdd && pAd->PortCfg.LedCntl.fRxActivity)
- LedCsr |= 0x00020000; // turn on software-based RX activity LED
- pAd->PortCfg.LedCntl.fRxActivity = FALSE;
-
-@@ -3315,17 +3423,17 @@
- // pAd->PortCfg.CurrentRxAntenna
- // 0xff: diversity, 0:antenna A, 1:antenna B
- VOID AsicSetRxAnt(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- UCHAR RxValue, TxValue;
- ULONG Bbpcsr1;
--
-+
- RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
- pAd->PortCfg.RxAnt.AvgRssi[0] = (-95 + 120) << 3; // reset Ant-A's RSSI history
- pAd->PortCfg.RxAnt.AvgRssi[1] = (-95 + 120) << 3; // reset Ant-B's RSSI history
-
- pAd->PortCfg.RxAnt.PrimaryInUsed = TRUE;
--
-+
- if (pAd->PortCfg.CurrentRxAntenna == 0xff) // Diversity
- {
- pAd->PortCfg.RxAnt.PrimaryRxAnt = 1; // assume ant-B
-@@ -3344,7 +3452,7 @@
-
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - set RxAnt=%d, primary=%d, second=%d\n",
- pAd->PortCfg.CurrentRxAntenna, pAd->PortCfg.RxAnt.PrimaryRxAnt, pAd->PortCfg.RxAnt.SecondaryRxAnt);
--
-+
- // use primary antenna
- RTMP_IO_READ32(pAd, BBPCSR1, &Bbpcsr1);
- TxValue = pAd->PortCfg.BbpWriteLatch[BBP_Tx_Configure];
-@@ -3352,34 +3460,34 @@
- if (pAd->PortCfg.RxAnt.PrimaryRxAnt == 0) // ant-A
- {
- TxValue = (TxValue & 0xFC) | 0x00;
-- RxValue = 0x1c;
-+ RxValue = 0x1c;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else // ant-B
- {
- TxValue = (TxValue & 0xFC) | 0x02;
-- RxValue = 0x1e;
-+ RxValue = 0x1e;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00020002;
- }
- RTMP_IO_WRITE32(pAd, BBPCSR1, Bbpcsr1);
- //RTMP_BBP_IO_WRITE32_BY_REG_ID(pAd, BBP_Tx_Configure, TxValue);
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAd, BBP_Rx_Configure, RxValue);
--
-+
- }
-
- // switch to secondary RxAnt for a while to collect it's average RSSI
--// also set a timeout routine to DO the actual evaluation. If evaluation
-+// also set a timeout routine to DO the actual evaluation. If evaluation
- // result shows a much better RSSI using secondary RxAnt, then a official
- // RX antenna switch is performed.
- VOID AsicEvaluateSecondaryRxAnt(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- UCHAR RxValue, TxValue;
- ULONG Bbpcsr1;
-
- if (pAd->PortCfg.CurrentRxAntenna != 0xff)
- return;
--
-+
- pAd->PortCfg.RxAnt.PrimaryInUsed = FALSE;
- pAd->PortCfg.RxAnt.FirstPktArrivedWhenEvaluate = FALSE;
- pAd->PortCfg.RxAnt.RcvPktNumWhenEvaluate = 0;
-@@ -3387,16 +3495,16 @@
- // pAd->PortCfg.RxAnt.AvgRssi[pAd->PortCfg.RxAnt.SecondaryRxAnt] = 0;
-
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - evaluate Ant #%d\n", pAd->PortCfg.RxAnt.SecondaryRxAnt);
--
-+
- // temporarily switch to secondary antenna
- RxValue = pAd->PortCfg.BbpWriteLatch[BBP_Rx_Configure];
- TxValue = pAd->PortCfg.BbpWriteLatch[BBP_Tx_Configure];
- RTMP_IO_READ32(pAd, BBPCSR1, &Bbpcsr1);
--
-+
- if (pAd->PortCfg.RxAnt.SecondaryRxAnt == 0) // ant-A
- {
- TxValue = (TxValue & 0xFC) | 0x00;
-- RxValue = 0x1c;
-+ RxValue = 0x1c;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else // ant-B
-@@ -3411,7 +3519,7 @@
-
- // a one-shot timer to end the evalution
- if (pAd->MediaState == NdisMediaStateConnected)
-- RTMPSetTimer(pAd, &pAd->PortCfg.RxAnt.RxAntDiversityTimer, 150);
-+ RTMPSetTimer(pAd, &pAd->PortCfg.RxAnt.RxAntDiversityTimer, 150);
- else
- RTMPSetTimer(pAd, &pAd->PortCfg.RxAnt.RxAntDiversityTimer, 300);
- }
-@@ -3419,17 +3527,17 @@
- // this timeout routine collect AvgRssi[SecondaryRxAnt] and decide if
- // SecondaryRxAnt is much better than PrimaryRxAnt
- VOID AsicRxAntEvalTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
-
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - AsicRxAntEvalTimeout, \n");
- // Do nothing if the driver is starting halt state.
- // This might happen when timer already been fired before cancel timer with mlmehalt
- if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS))
- return;
--
-+
- if (pAd->PortCfg.RxAnt.PrimaryInUsed == TRUE)
-
- return;
-@@ -3445,7 +3553,7 @@
- pAd->PortCfg.RxAnt.PrimaryRxAnt = pAd->PortCfg.RxAnt.SecondaryRxAnt;
- pAd->PortCfg.RxAnt.SecondaryRxAnt = temp;
- pAd->PortCfg.LastAvgRssi = (pAd->PortCfg.RxAnt.AvgRssi[pAd->PortCfg.RxAnt.SecondaryRxAnt] >> 3) - pAd->PortCfg.RssiToDbm;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"AntDiv - Switch to Ant #%d, RSSI[0,1]=<%d, %d>\n",
- pAd->PortCfg.RxAnt.PrimaryRxAnt, pAd->PortCfg.RxAnt.AvgRssi[0], pAd->PortCfg.RxAnt.AvgRssi[1]);
- }
-@@ -3453,7 +3561,7 @@
- {
- UCHAR RxValue, TxValue;
- ULONG Bbpcsr1;
--
-+
- // end of evaluation, swicth back to primary antenna
- RxValue = pAd->PortCfg.BbpWriteLatch[BBP_Rx_Configure];
- TxValue = pAd->PortCfg.BbpWriteLatch[BBP_Tx_Configure];
-@@ -3461,7 +3569,7 @@
- if (pAd->PortCfg.RxAnt.PrimaryRxAnt == 0) // ant-A
- {
- TxValue = (TxValue & 0xFC) | 0x00;
-- RxValue = 0x1c;
-+ RxValue = 0x1c;
- Bbpcsr1 = (Bbpcsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else // ant-B
-@@ -3491,7 +3599,7 @@
- */
- VOID AsicSetSlotTime(
- IN PRTMP_ADAPTER pAd,
-- IN BOOLEAN UseShortSlotTime)
-+ IN BOOLEAN UseShortSlotTime)
- {
- CSR11_STRUC Csr11;
- CSR18_STRUC Csr18;
-@@ -3499,7 +3607,7 @@
- UCHAR PhyMode;
-
- pAd->PortCfg.ShortSlotInUsed = UseShortSlotTime;
--
-+
- PhyMode = pAd->PortCfg.PhyMode;
- if (PhyMode == PHY_11ABG_MIXED)
- {
-@@ -3527,7 +3635,7 @@
- else
- Csr19.field.EIFS = 60; // roughly = SIFS + ACK @6Mbps
- RTMP_IO_WRITE32(pAd, CSR19, Csr19.word);
--
-+
- #if 1
- // force using short SLOT time for FAE to demo performance only
- if (pAd->PortCfg.EnableTxBurst == 1)
-@@ -3543,7 +3651,7 @@
- ==========================================================================
- Description:
- This routine is used for 2560a only where 2560a still use non-accurate
-- PCI-clock as TSF 1-usec source. we have to dynamically change tick-per-usec
-+ PCI-clock as TSF 1-usec source. we have to dynamically change tick-per-usec
- to avoid ADHOC synchronization issue with SYMBOL 11b card
- ==========================================================================
- */
-@@ -3575,7 +3683,7 @@
- /*
- ==========================================================================
- Description:
-- danamic tune BBP R17 to find a balance between sensibility and
-+ danamic tune BBP R17 to find a balance between sensibility and
- noise isolation
- ==========================================================================
- */
-@@ -3586,13 +3694,13 @@
- UCHAR R17;
- ULONG FalseCcaUpperThreshold = pAd->PortCfg.BbpTuning.FalseCcaUpperThreshold << 7;
- int dbm = pAd->PortCfg.AvgRssi - pAd->PortCfg.RssiToDbm;
--
-+
- if ((! pAd->PortCfg.BbpTuningEnable) || (pAd->PortCfg.BbpTuning.VgcDelta==0))
- return;
--
-+
- R17 = pAd->PortCfg.BbpWriteLatch[17];
-
-- if ((pAd->PortCfg.Rt2560Version >= RT2560_VER_D) &&
-+ if ((pAd->PortCfg.Rt2560Version >= RT2560_VER_D) &&
- (pAd->MediaState == NdisMediaStateConnected))
- {
- // Rule 0.
-@@ -3609,7 +3717,7 @@
- return;
- }
- // Rule 1. "special big-R17 for short-distance" when not SCANNING
-- else if ((dbm >= RSSI_FOR_LOW_SENSIBILITY) &&
-+ else if ((dbm >= RSSI_FOR_LOW_SENSIBILITY) &&
- (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE))
- {
- if (R17 != BBP_R17_LOW_SENSIBILITY)
-@@ -3621,7 +3729,7 @@
- return;
- }
- // Rule 2. "special mid-R17 for mid-distance" when not SCANNING
-- else if ((dbm >= RSSI_FOR_MID_SENSIBILITY) &&
-+ else if ((dbm >= RSSI_FOR_MID_SENSIBILITY) &&
- (pAd->Mlme.CntlMachine.CurrState == CNTL_IDLE))
- {
- if (R17 != BBP_R17_MID_SENSIBILITY)
-@@ -3632,7 +3740,7 @@
- DBGPRINT(RT_DEBUG_INFO, "RSSI = %d dbm, fixed R17 at 0x%x\n", dbm, R17);
- return;
- }
-- // Rule 3. leave "short or mid-distance" condition, restore R17 to the
-+ // Rule 3. leave "short or mid-distance" condition, restore R17 to the
- // dynamic tuning range <E2PROM-6, BBP_R17_DYNAMIC_UP_BOUND>
- else if (R17 >= BBP_R17_MID_SENSIBILITY)
- {
-@@ -3642,13 +3750,13 @@
- return;
- }
- }
--
-+
- // Rule 3. otherwise, R17 is currenly in dyanmic tuning range: <E2PROM-6, BBP_R17_DYNAMIC_UP_BOUND>.
- // Keep dynamic tuning based on False CCA conter
--
-+
- RTMP_IO_READ32(pAd, CNT3, &Value);
- pAd->PrivateInfo.CCAErrCnt = (Value & 0x0000ffff);
-- DBGPRINT(RT_DEBUG_INFO, "CCA flase alarm = %d, Avg RSSI= %d dbm\n",
-+ DBGPRINT(RT_DEBUG_INFO, "CCA flase alarm = %d, Avg RSSI= %d dbm\n",
- pAd->PrivateInfo.CCAErrCnt, dbm);
-
- if ((pAd->PrivateInfo.CCAErrCnt > FalseCcaUpperThreshold) &&
-@@ -3697,7 +3805,7 @@
-
- Return Value:
- None
--
-+
- Note:
-
- ========================================================================
-@@ -3714,7 +3822,7 @@
- DBGPRINT(RT_DEBUG_INFO, "==> MlmeFreeMemory\n");
- spin_lock(&pAd->MemLock);
- if (pAd->Mlme.MemHandler.MemRunning)
-- {
-+ {
- //Mlme memory handler is busy.
- //Move it to the Pending array for later free
- pAd->Mlme.MemHandler.MemFreePending[pAd->Mlme.MemHandler.PendingCount++] = (PULONG) AllocVa;
-@@ -3738,7 +3846,7 @@
- while (pMlmeMemoryStruct)
- {
- if (pMlmeMemoryStruct->AllocVa == (PVOID) pAd->Mlme.MemHandler.MemFreePending[Index])
-- {
-+ {
- //Found virtual address in the in-used link list
- //Remove it from the memory in-used link list, and move it to the unused link list
- if (pPrevious == NULL)
-@@ -3865,7 +3973,7 @@
- pAd->Mlme.MemHandler.MemRunning = FALSE;
- spin_unlock(&pAd->MemLock);
-
-- DBGPRINT(RT_DEBUG_INFO, "<== MlmeFreeMemory [IN:%d][UN:%d][Pending:%d]\n",
-+ DBGPRINT(RT_DEBUG_INFO, "<== MlmeFreeMemory [IN:%d][UN:%d][Pending:%d]\n",
- pAd->Mlme.MemHandler.InUseCount, pAd->Mlme.MemHandler.UnUseCount, pAd->Mlme.MemHandler.PendingCount);
- }
-
-@@ -3883,7 +3991,7 @@
- NDIS_STATUS_SUCCESS
- NDIS_STATUS_FAILURE
- NDIS_STATUS_RESOURCES
--
-+
- Note:
-
- ========================================================================
-@@ -3911,7 +4019,7 @@
- }
-
- if (pAd->Mlme.MemHandler.pUnUseHead == NULL)
-- { //There are no available memory for caller use
-+ { //There are no available memory for caller use
- Status = NDIS_STATUS_RESOURCES;
- pAd->Mlme.MemHandler.MemRunning = FALSE;
- spin_unlock(&pAd->MemLock);
-@@ -3963,7 +4071,7 @@
- Return Value:
- NDIS_STATUS_SUCCESS
- NDIS_STATUS_RESOURCES
--
-+
- Note:
-
- ========================================================================
-@@ -3994,7 +4102,7 @@
- //
- if (Number > MAX_MLME_HANDLER_MEMORY)
- Number = MAX_MLME_HANDLER_MEMORY;
--
-+
- for (i = 0; i < Number; i++)
- {
- //Allocate a nonpaged memory for link list use.
-diff -Nur rt2500-1.1.0-b4/Module/mlme.h rt2500-cvs-2007061011/Module/mlme.h
---- rt2500-1.1.0-b4/Module/mlme.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/mlme.h 2007-03-21 05:25:34.000000000 +0100
-@@ -1,43 +1,43 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: mlme.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * John 28th Aug 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * John 28th Aug 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __MLME_H__
- #define __MLME_H__
-
- #include "oid.h"
-
--// maximum supported capability information -
-+// maximum supported capability information -
- // ESS, IBSS, Privacy, Short Preamble, Short Slot
- #define SUPPORTED_CAPABILITY_INFO 0x0433
-
-@@ -61,7 +61,7 @@
-
- #define RSSI_TO_DBM_OFFSET 120 // for RT2530 RSSI-115 = dBm
- #define RSSI_FOR_MID_TX_POWER 55 // -55 db is considered mid-distance
--#define RSSI_FOR_LOW_TX_POWER 45 // -45 db is considered very short distance and
-+#define RSSI_FOR_LOW_TX_POWER 45 // -45 db is considered very short distance and
- // eligible to use a lower TX power
- #define RSSI_FOR_LOWEST_TX_POWER 30
- #define MID_TX_POWER_DELTA 0 // -3 db from full TX power upon mid-distance to AP
-@@ -212,7 +212,7 @@
- #define TX_FER_TOO_HIGH(TxFER) ((TxFER) > 15) // consider rate down if FER>15%
- #define TX_FER_VERY_LOW(TxFER) ((TxFER) < 7) // consider rate up if FER<7%
- #define FAIR_FER 10 // any value between TOO_HIGH and VERY_LOW
--#define DRS_TX_QUALITY_WORST_BOUND 3
-+#define DRS_TX_QUALITY_WORST_BOUND 3
- #define DRS_PENALTY 8
-
- // Ralink timer control block
-@@ -329,13 +329,14 @@
- USHORT CfpDurRemaining;
- UCHAR SsidLen;
- CHAR Ssid[MAX_LEN_OF_SSID];
--
-+
- ULONG LastBeaconRxTime; // OS's timestamp
-
- // New for microsoft WPA support
-+ USHORT CipherCap; // Pair (0:7), Group (8:15) cipher cap
- NDIS_802_11_FIXED_IEs FixIEs;
- NDIS_802_11_WEP_STATUS WepStatus;
-- UCHAR VarIELen; // Length of next VIE include EID & Length
-+ USHORT VarIELen; // Length of all saved IEs.
- UCHAR VarIEs[MAX_VIE_LEN];
- } BSS_ENTRY, *PBSS_ENTRY;
-
-@@ -384,7 +385,7 @@
- ULONG BssIdx;
- ULONG RoamIdx;
- BOOLEAN CurrReqIsFromNdis; // TRUE - then we should call NdisMSetInformationComplete()
-- // FALSE - req is from driver itself.
-+ // FALSE - req is from driver itself.
- // no NdisMSetInformationComplete() is required
- } CNTL_AUX, *PCNTL_AUX;
-
-@@ -394,7 +395,7 @@
- USHORT CapabilityInfo;
- USHORT ListenIntv;
- CHAR Ssid[MAX_LEN_OF_SSID];
-- UCHAR SsidLen;
-+ UCHAR SsidLen;
- RALINK_TIMER_STRUCT AssocTimer, ReassocTimer, DisassocTimer;
- } ASSOC_AUX, *PASSOC_AUX;
-
-@@ -482,10 +483,10 @@
- typedef struct PACKED _BEACON_EID_STRUCT {
- UCHAR Eid;
- UCHAR Len;
-- CHAR Octet[1];
-+ UCHAR Octet[1];
- } BEACON_EID_STRUCT,*PBEACON_EID_STRUCT;
-
--// New for WPA cipher suite
-+// New for WPA cipher suite
- typedef struct PACKED _RSN_EID_STRUCT {
- UCHAR Eid;
- UCHAR Length;
-@@ -497,6 +498,98 @@
- UCHAR Oui[4];
- } Unicast[1];
- } RSN_EID_STRUCT, *PRSN_EID_STRUCT;
-+#define MIN_WPA_KEYDATA_LEN (4 + sizeof(ie_version_t) + sizeof(suite_sel_t) + \
-+ 2*sizeof(suite_list_t))
-+
-+
-+/* Country Information Element (802.11d pp. 4, 5) */
-+
-+typedef struct country_subelement {
-+ unsigned char first_chan,
-+ num_chans;
-+ signed char max_tx_pwr; // in dBm
-+} PACKED country_subelement_t, *country_subelement_p;
-+
-+typedef struct country_string { // (all alpha)
-+ UCHAR co[2]; // ISO/IEC 3166-1 country code
-+ UCHAR env; // ' '/'O'/'I' - 802.11d pp. 19
-+} PACKED country_string_t, *country_string_p;
-+
-+typedef struct country_ie {
-+ UCHAR eid;
-+ UCHAR length;
-+ country_string_t cs;
-+ country_subelement_t chans[1];
-+ UCHAR pad[0]; // may or may not be present
-+} PACKED country_ie_t, *country_ie_p;
-+
-+
-+/* WPA2 (cf. 802.11i pp. 27 ff.) */
-+
-+// access
-+#define wtohs(x) (le16_to_cpu(x))// sic (802.11 is "native" little-endian)
-+#define htows(x) (cpu_to_le16(x))// i.e. opposite of internet byte order
-+
-+// primitives
-+typedef USHORT ie_version_t;
-+typedef USHORT ie_count_t;
-+typedef UCHAR ie_oui_t[3]; // Organizationally Unique Identifier
-+typedef UCHAR pmkid_t[16], *pmkid_p;// 802.11i pp. 76
-+
-+typedef struct rsncap {
-+#ifdef BIG_ENDIAN
-+ USHORT Reserved:10;
-+ USHORT GTKSAReplayCounter:2; // 0/2/4/16 replay counters
-+ USHORT PTKSAReplayCounter:2;
-+ USHORT NoPairwise:1; // WEP key 0 and pairwise key n/a
-+ USHORT PreAuth:1; // AP STA supports pre-authentication
-+#else
-+ USHORT PreAuth:1; // AP STA supports pre-authentication
-+ USHORT NoPairwise:1; // WEP key 0 and pairwise key n/a
-+ USHORT PTKSAReplayCounter:2;
-+ USHORT GTKSAReplayCounter:2; // 0/2/4/16 replay counters
-+ USHORT Reserved:10;
-+#endif
-+} PACKED rsncap_t, *rsncap_p;
-+
-+typedef struct suite_sel {
-+ ie_oui_t oui;
-+ UCHAR type;
-+} PACKED suite_sel_t, *suite_sel_p;
-+
-+/* Cipher suite selectors - 802.11i pp. 28, 29 */
-+#define CIPHER_TYPE_GRP 0
-+#define CIPHER_TYPE_WEP40 1
-+#define CIPHER_TYPE_TKIP 2
-+#define CIPHER_TYPE_RES 3
-+#define CIPHER_TYPE_CCMP 4
-+#define CIPHER_TYPE_WEP104 5
-+#define NUM_CIPHER_TYPES 6
-+
-+/* Authentication and Key Management suite selectors - 802.11i pp. 30 */
-+#define AKM_TYPE_802_1X 1
-+#define AKM_TYPE_PSK 2
-+
-+typedef struct suite_list {
-+ ie_count_t count;
-+ suite_sel_t suite[1];
-+} PACKED suite_list_t, *suite_list_p;
-+
-+typedef struct pmkid_list {
-+ ie_count_t count;
-+ pmkid_t list[1];
-+} PACKED pmkid_list_t, *pmkid_list_p;
-+
-+typedef struct rsn_ie {
-+ UCHAR eid;
-+ UCHAR length;
-+ ie_version_t version;
-+
-+ // Optional fields
-+ suite_sel_t gcsuite; // Group Cipher Suite
-+} PACKED rsn_ie_t, *rsn_ie_p;
-+#define MIN_RSN_KEYDATA_LEN (sizeof(ie_version_t) + sizeof(suite_sel_t) + \
-+ 2*sizeof(suite_list_t))
-
- extern UCHAR RateIdToMbps[];
- extern USHORT RateIdTo500Kbps[];
-diff -Nur rt2500-1.1.0-b4/Module/oid.h rt2500-cvs-2007061011/Module/oid.h
---- rt2500-1.1.0-b4/Module/oid.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/oid.h 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,37 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: oid.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- * RobinC 10th Dec 04 RFMON Support
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ * RobinC 10th Dec 04 RFMON Support
-+ * RomainB 31st Dec 06 RFMON getter
-+ ***************************************************************************/
-
- #ifndef _OID_H_
- #define _OID_H_
-@@ -56,7 +57,8 @@
- #define RTPRIV_IOCTL_BBP SIOCIWFIRSTPRIV + 0x03
- #define RTPRIV_IOCTL_MAC SIOCIWFIRSTPRIV + 0x05
- #define RTPRIV_IOCTL_E2P SIOCIWFIRSTPRIV + 0x07
--#define RTPRIV_IOCTL_RFMONTX SIOCIWFIRSTPRIV + 0x0D
-+#define RTPRIV_IOCTL_SET_RFMONTX SIOCIWFIRSTPRIV + 0x0C
-+#define RTPRIV_IOCTL_GET_RFMONTX SIOCIWFIRSTPRIV + 0x0D
-
- #define OID_GET_SET_TOGGLE 0x8000
-
-@@ -168,8 +170,8 @@
- // Added new types for OFDM 5G and 2.4G
- typedef enum _NDIS_802_11_NETWORK_TYPE
- {
-- Ndis802_11FH,
-- Ndis802_11DS,
-+ Ndis802_11FH,
-+ Ndis802_11DS,
- Ndis802_11OFDM5,
- Ndis802_11OFDM24,
- Ndis802_11NetworkTypeMax // not a real type, defined as an upper bound
-@@ -199,7 +201,7 @@
- typedef struct _NDIS_802_11_CONFIGURATION_FH
- {
- ULONG Length; // Length of structure
-- ULONG HopPattern; // As defined by 802.11, MSB set
-+ ULONG HopPattern; // As defined by 802.11, MSB set
- ULONG HopSet; // to one if non-802.11
- ULONG DwellTime; // units are Kusec
- } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
-@@ -237,7 +239,7 @@
- typedef struct _NDIS_802_11_KEY
- {
- ULONG Length; // Length of this structure
-- ULONG KeyIndex;
-+ ULONG KeyIndex;
- ULONG KeyLength; // length of key in bytes
- NDIS_802_11_MAC_ADDRESS BSSID;
- NDIS_802_11_KEY_RSC KeyRSC;
-@@ -247,8 +249,8 @@
- typedef struct _NDIS_802_11_REMOVE_KEY
- {
- ULONG Length; // Length of this structure
-- ULONG KeyIndex;
-- NDIS_802_11_MAC_ADDRESS BSSID;
-+ ULONG KeyIndex;
-+ NDIS_802_11_MAC_ADDRESS BSSID;
- } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
-
- typedef struct PACKED _NDIS_802_11_WEP
-@@ -285,7 +287,7 @@
- typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; // Set of 8 data rates
- typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; // Set of 16 data rates
-
--typedef struct PACKED _NDIS_802_11_SSID
-+typedef struct PACKED _NDIS_802_11_SSID
- {
- ULONG SsidLength; // length of SSID field below, in bytes;
- // this can be zero.
-@@ -338,14 +340,14 @@
- NDIS_WLAN_BSSID_EX Bssid[1];
- } NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;
-
--typedef struct _NDIS_802_11_FIXED_IEs
-+typedef struct _NDIS_802_11_FIXED_IEs
- {
- UCHAR Timestamp[8];
- USHORT BeaconInterval;
- USHORT Capabilities;
- } NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs;
-
--typedef struct _NDIS_802_11_VARIABLE_IEs
-+typedef struct _NDIS_802_11_VARIABLE_IEs
- {
- UCHAR ElementID;
- UCHAR Length; // Number of bytes in data field
-@@ -428,7 +430,7 @@
- NDIS_802_11_STATUS_INDICATION Status;
- NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
- } NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT;
--
-+
- typedef struct _NDIS_802_11_TEST
- {
- ULONG Length;
-diff -Nur rt2500-1.1.0-b4/Module/rt2560.h rt2500-cvs-2007061011/Module/rt2560.h
---- rt2500-1.1.0-b4/Module/rt2560.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rt2560.h 2007-03-21 05:25:34.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rt2560.h
-- *
-+ *
- * Abstract: RT2560 ASIC related definition & structures
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ ***************************************************************************/
-
- #ifndef __RT2560_H__
- #define __RT2560_H__
-@@ -370,10 +370,10 @@
-
- // Word 5
- ULONG Eiv;
--
-+
- // Word 6-9
- UCHAR Key[16];
--
-+
- // Word 10 - 11 Reserved, not necessary to put into the structure.
- #ifdef BIG_ENDIAN
- ULONG Rsv2:31;
-@@ -676,7 +676,7 @@
- #endif
- } field;
- ULONG word;
--} CSR11_STRUC, *PCSR11_STRUC;
-+} CSR11_STRUC, *PCSR11_STRUC;
-
- //
- // CSR12: Synchronization configuration register 0
-@@ -869,7 +869,7 @@
- // =================================================================================
-
- //
--// TXCSR0 <0x0060> : TX Control Register
-+// TXCSR0 <0x0060> : TX Control Register
- //
- typedef union _TXCSR0_STRUC {
- struct {
-@@ -880,13 +880,13 @@
- ULONG KickAtim:1; // Kick ATIM ring
- ULONG KickTx:1; // Kick Tx ring
- #else
-- ULONG KickTx:1; // Kick Tx ring
-+ ULONG KickTx:1; // Kick Tx ring
- ULONG KickAtim:1; // Kick ATIM ring
- ULONG KickPrio:1; // Kick priority ring
- ULONG Abort:1; // Abort all transmit related ring operation
- ULONG Rsvd:28;
- #endif
-- } field;
-+ } field;
- ULONG word;
- } TXCSR0_STRUC, *PTXCSR0_STRUC;
-
-@@ -1184,7 +1184,7 @@
- ULONG BbpDesireState:2;
- ULONG SetState:1;
- #else
-- ULONG SetState:1;
-+ ULONG SetState:1;
- ULONG BbpDesireState:2;
- ULONG RfDesireState:2;
- ULONG BbpCurrState:2;
-@@ -1304,13 +1304,13 @@
- #ifdef BIG_ENDIAN
- ULONG Rsvd:15;
- ULONG WriteControl:1; // 1: Write BBP, 0: Read BBP
-- ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
-+ ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
- ULONG RegNum:7; // Selected BBP register
- ULONG Value:8; // Register value to program into BBP
- #else
- ULONG Value:8; // Register value to program into BBP
- ULONG RegNum:7; // Selected BBP register
-- ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
-+ ULONG Busy:1; // 1: ASIC is busy execute BBP programming.
- ULONG WriteControl:1; // 1: Write BBP, 0: Read BBP
- ULONG Rsvd:15;
- #endif
-diff -Nur rt2500-1.1.0-b4/Module/rt2x00debug.h rt2500-cvs-2007061011/Module/rt2x00debug.h
---- rt2500-1.1.0-b4/Module/rt2x00debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ rt2500-cvs-2007061011/Module/rt2x00debug.h 2007-02-20 20:02:18.000000000 +0100
-@@ -0,0 +1,76 @@
-+/*
-+ Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
-+ <http://rt2x00.serialmonkey.com>
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the
-+ Free Software Foundation, Inc.,
-+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ */
-+
-+/*
-+ Module: rt2x00debug
-+ Abstract: Data structures for the rt2x00debug module.
-+ Supported chipsets: RT2460, RT2560, RT2570,
-+ rt2561, rt2561s, rt2661 & rt2573.
-+ */
-+
-+typedef void (debug_access_t)(void *dev, const unsigned long word, void *data);
-+
-+struct rt2x00debug_reg {
-+ debug_access_t *read;
-+ debug_access_t *write;
-+
-+ unsigned int word_size;
-+ unsigned int length;
-+};
-+
-+struct rt2x00debug {
-+ /*
-+ * Name of the interface.
-+ */
-+ char intf_name[16];
-+
-+ /*
-+ * Reference to the modules structure.
-+ */
-+ struct module *owner;
-+
-+ /*
-+ * Driver module information
-+ */
-+ char *mod_name;
-+ char *mod_version;
-+
-+ /*
-+ * Register access information.
-+ */
-+ struct rt2x00debug_reg reg_csr;
-+ struct rt2x00debug_reg reg_eeprom;
-+ struct rt2x00debug_reg reg_bbp;
-+
-+ /*
-+ * Pointer to driver structure where
-+ * this debugfs entry belongs to.
-+ */
-+ void *dev;
-+
-+ /*
-+ * Pointer to rt2x00debug private data,
-+ * individual driver should not touch this.
-+ */
-+ void *priv;
-+};
-+
-+extern int rt2x00debug_register(struct rt2x00debug *debug);
-+extern void rt2x00debug_deregister(struct rt2x00debug *debug);
-diff -Nur rt2500-1.1.0-b4/Module/rt_config.h rt2500-cvs-2007061011/Module/rt_config.h
---- rt2500-1.1.0-b4/Module/rt_config.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rt_config.h 2007-06-10 18:35:24.000000000 +0200
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rt_config.h
-- *
-+ *
- * Abstract: Central header file for all includes
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * RoryC 21st Dec 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * RoryC 21st Dec 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __RT_CONFIG_H__
- #define __RT_CONFIG_H__
-@@ -39,14 +39,14 @@
- #define NIC_DEVICE_NAME "RT2500STA"
-
- #define DRV_NAME "rt2500"
--#define DRV_VERSION "1.1.0 BETA4"
--#define DRV_RELDATE "2006/06/18"
-+#define DRV_VERSION "1.1.0 CVS"
-+#define DRV_RELDATE "2007061011"
- #define DRV_VERSION_MAJOR 1
--#define DRV_VERSION_MINOR 1
-+#define DRV_VERSION_MINOR 1
- #define DRV_VERSION_SUB 0
--#define DRV_BUILD_YEAR 2006
--#define DRV_BUILD_MONTH 06
--#define DRV_BUILD_DAY 18
-+#define DRV_BUILD_YEAR 2007
-+#define DRV_BUILD_MONTH 05
-+#define DRV_BUILD_DAY 13
-
- /* Operational parameters that are set at compile time. */
- #if !defined(__OPTIMIZE__) || !defined(__KERNEL__)
-@@ -55,7 +55,6 @@
- #error You must compile this driver with "-O".
- #endif
-
--#include <linux/config.h> //can delete
- #include <linux/module.h>
- #include <linux/version.h>
- #include <linux/kernel.h>
-@@ -71,7 +70,6 @@
- #include <linux/skbuff.h>
- #include <linux/init.h> //can delete
- #include <linux/delay.h> // can delete
--#include <linux/ethtool.h>
- #include <linux/wireless.h>
- #include <linux/proc_fs.h>
- #include <linux/delay.h>
-@@ -90,9 +88,9 @@
-
- // The type definition has to be placed before including rt2460.h
- #ifndef ULONG
--#define CHAR char
-+#define CHAR signed char
- #define INT int
--#define SHORT int
-+#define SHORT short
- #define UINT u32
- #define ULONG u32
- #define USHORT u16
-@@ -144,6 +142,7 @@
- #include "rtmp_type.h"
- #include "rtmp_def.h"
- #include "rt2560.h"
-+#include "rt2x00debug.h"
- #include "rtmp.h"
- #include "mlme.h"
- #include "oid.h"
-@@ -156,7 +155,7 @@
- RT2560A = 0,
- };
-
--#ifdef RTMP_EMBEDDED
-+#if 1 //#ifdef RTMP_EMBEDDED
- #undef GFP_KERNEL
- #define GFP_KERNEL (GFP_DMA | GFP_ATOMIC)
- #endif
-diff -Nur rt2500-1.1.0-b4/Module/rtmp.h rt2500-cvs-2007061011/Module/rtmp.h
---- rt2500-1.1.0-b4/Module/rtmp.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp.h 2007-06-08 20:09:53.000000000 +0200
-@@ -1,43 +1,44 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rt_config.h
-- *
-+ *
- * Abstract: Central header file for all includes
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * RoryC 21st Dec 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * RoryC 21st Dec 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * Flavio (rt2400) 8th Dec 04 Elegant irqreturn_t handling
- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-- * MarkW (rt2400) 15th Dec 04 Spinlock fix
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * MarkW (rt2400) 15th Dec 04 Spinlock fix
- * Ivo (rt2400) 15th Dec 04 Debug level switching
- * GregorG 29th Mar 05 Big endian fixes
-- ***************************************************************************/
-+ * RomainB 31st Dec 06 RFMON getter
-+ ***************************************************************************/
-
- #ifndef __RTMP_H__
- #define __RTMP_H__
-@@ -62,6 +63,13 @@
- #endif /*(LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) */
- #endif /* pci_name */
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
-+#define pci_module_init pci_register_driver
-+#endif
-+
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22))
-+#define skb_reset_mac_header(skb) (skb->mac.raw = skb->data)
-+#endif
-
- // Krellan: Limit range of user TxPower settings from -31 to +0 dBm.
- // We could accept -31 to +31 dBm, relative to 0 dBm which is defined
-@@ -87,21 +95,40 @@
- //
- // MACRO for debugging information
- //
--extern int debug;
- #ifdef RT2500_DBG
--#define DBGPRINT(Level, fmt, args...) \
-- if(debug){printk(Level DRV_NAME ": " fmt, ## args);}
-+extern VOID rt2500_setdbg(long);
-+extern INT rt2500_dbgprint(int, const char *, ...);
-+#define DBGPRINT(mask, fmt, args...) \
-+ (rt2500_dbgprint(mask, KERN_DEBUG DRV_NAME ": " fmt, ## args))
-+
-+/* Do not enclose in parentheses ()! */
-+#define DBGENTER DBGPRINT(RT_DEBUG_TRACE, "==> %s\n", __FUNCTION__)
-+#define DBGRETURN DBGPRINT(RT_DEBUG_TRACE, "<== %s\n", __FUNCTION__)
-+
-+#define DBGHEXSTR(level, prefix, src, len) \
-+ { \
-+ char buf[128]; /* allows 64 bytes/512 bits */ \
-+ int i, j; \
-+ unsigned char *p; \
-+ \
-+ if (len > 0) { \
-+ j = len < sizeof(buf)/2? len: sizeof(buf)/2 - 1; \
-+ \
-+ for (p = (unsigned char *)(src), i = 0; i < j; i++) { \
-+ sprintf(&buf[i*2], "%02x", *p++); \
-+ } \
-+ DBGPRINT(level, prefix "%s\n", buf); \
-+ } \
-+ }
- #else
-+#define DBGENTER
-+#define DBGRETURN
- #define DBGPRINT(Level, fmt, args...) \
- while(0){}
-+#define DBGHEXSTR(level, prefix, src, len) \
-+ while(0){}
- #endif
-
--//
--// spin_lock enhanced for Nested spin lock
--//
--
--extern unsigned long IrqFlags;
--
- // Assert MACRO to make sure program running
- //
- #undef ASSERT
-@@ -145,12 +172,12 @@
- // ULONG Register_Offset,
- // ULONG Value)
- //
--#ifdef RTMP_EMBEDDED
-+#if 0 //#ifdef RTMP_EMBEDDED
- #define RTMP_IO_READ32(_A, _R, _pV) (*_pV = PCIMemRead32(__mem_pci(_A->CSRBaseAddress+_R)))
- #define RTMP_IO_WRITE32(_A, _R, _V) (PCIMemWrite32(__mem_pci(_A->CSRBaseAddress+_R),_V))
- #else
--#define RTMP_IO_READ32(_A, _R, _pV) (*_pV = readl( (void*) (_A->CSRBaseAddress + _R) ) )
--#define RTMP_IO_WRITE32(_A, _R, _V) (writel(_V, (void*) (_A->CSRBaseAddress + _R) ) )
-+#define RTMP_IO_READ32(_A, _R, _pV) (*_pV = readl((void*)(_A->CSRBaseAddress + _R) ) )
-+#define RTMP_IO_WRITE32(_A, _R, _V) (writel(_V, (void*)(_A->CSRBaseAddress + _R) ) )
- #endif
-
- //
-@@ -363,7 +390,7 @@
- ULONG RxRingErrCount;
- ULONG EncryptCount;
- ULONG KickTxCount;
-- ULONG TxRingErrCount;
-+ ULONG TxRingErrCount;
- LARGE_INTEGER RealFcsErrCount;
- } COUNTER_RALINK, *PCOUNTER_RALINK;
-
-@@ -400,10 +427,10 @@
- typedef struct _WPA_KEY {
- UCHAR KeyLen; // Key length for each key, 0: entry is invalid
- UCHAR Key[16]; // right now we implement 4 keys, 128 bits max
-- UCHAR RxMic[8];
-- UCHAR TxMic[8];
-+ UCHAR RxMic[8]; // Message Integrity Code
-+ UCHAR TxMic[8]; // MIC
- NDIS_802_11_MAC_ADDRESS BssId; // For pairwise key only
-- UCHAR TxTsc[6]; // 48bit TSC value
-+ UCHAR TxTsc[6]; // 48bit TKIP Sequence Counter value
- UCHAR RxTsc[6]; // 48bit TSC value
- UCHAR Type; // Indicate Pairwise / Group
- } WPA_KEY, *PWPA_KEY;
-@@ -413,7 +440,7 @@
- {
- union
- {
-- struct
-+ struct
- {
- UCHAR rc0;
- UCHAR rc1;
-@@ -436,38 +463,36 @@
- UCHAR Byte;
- } CONTROL;
- } field;
--
-+
- ULONG word;
- } IV16;
--
-+
- ULONG IV32;
- } TKIP_IV, *PTKIP_IV;
- #endif
-
--typedef struct _IV_CONTROL_
-+typedef struct PACKED _IV_CONTROL_
- {
-- union
-- {
-- struct
-- {
-+ union PACKED {
-+ struct PACKED {
- #ifdef BIG_ENDIAN
-- ULONG KeyID:2;
-- ULONG ExtIV:1;
-- ULONG Rsvd:5;
-- ULONG rc2:8;
-- ULONG rc1:8;
-- ULONG rc0:8;
-+ ULONG KeyID:2;
-+ ULONG ExtIV:1;
-+ ULONG Rsvd:5;
-+ ULONG rc2:8;
-+ ULONG rc1:8;
-+ ULONG rc0:8;
- #else
-- ULONG rc0:8;
-- ULONG rc1:8;
-- ULONG rc2:8;
-- ULONG Rsvd:5;
-- ULONG ExtIV:1;
-- ULONG KeyID:2;
-+ ULONG rc0:8;
-+ ULONG rc1:8;
-+ ULONG rc2:8;
-+ ULONG Rsvd:5;
-+ ULONG ExtIV:1;
-+ ULONG KeyID:2;
- #endif
-- }field;
-- ULONG word;
-- }IV16;
-+ }field;
-+ ULONG word;
-+ }IV16;
-
- ULONG IV32;
- } TKIP_IV, *PTKIP_IV;
-@@ -499,7 +524,7 @@
-
- typedef struct _SOFT_RX_ANT_DIVERSITY_STRUCT {
- BOOLEAN PrimaryInUsed;
-- BOOLEAN FirstPktArrivedWhenEvaluate;
-+ BOOLEAN FirstPktArrivedWhenEvaluate;
- UCHAR PrimaryRxAnt; // 0:Ant-A, 1:Ant-B
- UCHAR SecondaryRxAnt; // 0:Ant-A, 1:Ant-B
- UCHAR CurrentRxAnt; // 0:Ant-A, 1:Ant-B
-@@ -535,7 +560,7 @@
-
- NDIS_802_11_AUTHENTICATION_MODE AuthMode; // This should match to whatever microsoft defined
- NDIS_802_11_WEP_STATUS WepStatus;
--
-+
- // MIB:ieee802dot11.dot11smt(1).dot11WEPDefaultKeysTable(3)
- WEP_KEY SharedKey[SHARE_KEY_NO]; // Keep for backward compatiable
- WPA_KEY PairwiseKey[PAIRWISE_KEY_NO];
-@@ -566,8 +591,8 @@
- // MIB:ieee802dot11.dot11mac(2).dot11OperationTable(1)
- USHORT RtsThreshold; // in units of BYTE
- USHORT FragmentThreshold;
-- BOOLEAN bFragmentZeroDisable; // Microsoft use 0 as disable
--
-+ BOOLEAN bFragmentZeroDisable; // Microsoft use 0 as disable
-+
- // MIB:ieee802dot11.dot11phy(4).dot11PhyAntennaTable(2)
- UCHAR CurrentTxAntenna;
- UCHAR CurrentRxAntenna;
-@@ -582,19 +607,19 @@
- UCHAR TxPowerDriver; // Driver's last TxPower setting written to hardware, in raw units
- int TxPowerUser; // User's desired fixed TxPower setting, in dBm
- BOOLEAN TxPowerAuto; // 1 - enable auto TxPower; 0 - fixed
--
-+
- // MIB:ieee802dot11.dot11phy(4).dot11PhyDSSSTable(5)
- UCHAR Channel; // current (I)BSS channel used in the station
- UCHAR CountryRegion; // Enum of country region, 0:FCC, 1:IC, 2:ETSI, 3:SPAIN, 4:France, 5:MKK, 6:MKK1, 7:Israel
--
-+
- // MIB:ieee802dot11.dot11phy(4).dot11AntennasListTable(8)
- BOOLEAN AntennaSupportTx;
- BOOLEAN AntennaSupportRx;
- BOOLEAN AntennaSupportDiversityRx;
-
- // Use user changed MAC
-- BOOLEAN bLocalAdminMAC;
--
-+ BOOLEAN bLocalAdminMAC;
-+
- // MIB:ieee802dot11.dot11phy(4).dot11SupportedDataRatesTxTable(9)
- // MIB:ieee802dot11.dot11phy(4).dot11SupportedDataRatesRxTable(10)
- UCHAR SupportedRates[MAX_LEN_OF_SUPPORTED_RATES]; // Supported rates
-@@ -661,7 +686,7 @@
- UCHAR ChannelList[MAX_LEN_OF_CHANNELS]; // list all supported channels for site survey
- UCHAR ChannelListNum; // number of channel in ChannelList[]
- BOOLEAN bShowHiddenSSID;
--
-+
- // configuration to be used when this STA starts a new ADHOC network
- IBSS_CONFIG IbssConfig;
-
-@@ -679,7 +704,7 @@
- UCHAR LedMode;
- RALINK_TIMER_STRUCT RfTuningTimer;
- STA_WITH_ETHER_BRIDGE StaWithEtherBridge;
--
-+
- // New for WPA, windows want us to to keep association information and
- // Fixed IEs from last association response
- NDIS_802_11_ASSOCIATION_INFORMATION AssocInfo;
-@@ -700,7 +725,7 @@
- ULONG BGProtectionInUsed; // 0: not in-used, 1: in-used
- ULONG ShortSlotInUsed; // 0: not in-used, 1: in-used
- USHORT TxPreambleInUsed; // Rt802_11PreambleLong, Rt802_11PreambleShort
--
-+
- // PCI clock adjustment round
- UCHAR PciAdjustmentRound;
-
-@@ -718,8 +743,8 @@
-
-
- ULONG SystemErrorBitmap; // b0: E2PROM version error
--
-- // This soft Rx Antenna Diversity mechanism is used only when user set
-+
-+ // This soft Rx Antenna Diversity mechanism is used only when user set
- // RX Antenna = DIVERSITY ON
- SOFT_RX_ANT_DIVERSITY RxAnt;
-
-@@ -753,13 +778,13 @@
- STATE_MACHINE_FUNC CntlFunc[CNTL_FUNC_SIZE], AssocFunc[ASSOC_FUNC_SIZE];
- STATE_MACHINE_FUNC AuthFunc[AUTH_FUNC_SIZE], AuthRspFunc[AUTH_RSP_FUNC_SIZE];
- STATE_MACHINE_FUNC SyncFunc[SYNC_FUNC_SIZE], WpaPskFunc[WPA_PSK_FUNC_SIZE];
--
-+
- ASSOC_AUX AssocAux;
- AUTH_AUX AuthAux;
- AUTH_RSP_AUX AuthRspAux;
- SYNC_AUX SyncAux;
- CNTL_AUX CntlAux;
--
-+
- COUNTER_802_11 PrevWlanCounters;
- ULONG ChannelQuality; // 0..100, Channel Quality Indication for Roaming
-
-@@ -770,7 +795,7 @@
- UINT ShiftReg;
- PSPOLL_FRAME PsFr;
- MACHDR NullFr;
--
-+
- RALINK_TIMER_STRUCT PeriodicTimer;
- ULONG PeriodicRound;
- ULONG PrevTxCnt;
-@@ -849,7 +874,7 @@
- typedef struct PACKED _TUPLE_CACHE {
- BOOLEAN Valid;
- MACADDR MAC;
-- USHORT Sequence;
-+ USHORT Sequence;
- USHORT Frag;
- } TUPLE_CACHE, *PTUPLE_CACHE;
-
-@@ -872,7 +897,7 @@
- typedef struct PACKED _TKIP_KEY_INFO {
- UINT nBytesInM; // # bytes in M for MICKEY
- ULONG IV16;
-- ULONG IV32;
-+ ULONG IV32;
- ULONG K0; // for MICKEY Low
- ULONG K1; // for MICKEY Hig
- ULONG L; // Current state for MICKEY
-@@ -937,12 +962,14 @@
- //
- typedef struct _RTMP_ADAPTER
- {
-- char nickn[IW_ESSID_MAX_SIZE+1]; // nickname, only used in the iwconfig i/f
-+ char nickn[IW_ESSID_MAX_SIZE+1]; // nickname, only used in the iwconfig i/f
- int chip_id;
-
- unsigned long CSRBaseAddress; // PCI MMIO Base Address, all access will use
- // NdisReadRegisterXx or NdisWriteRegisterXx
-
-+ struct rt2x00debug debug;
-+
- // configuration
- UCHAR PermanentAddress[ETH_ALEN]; // Factory default MAC address
- UCHAR CurrentAddress[ETH_ALEN]; // User changed MAC address
-@@ -958,7 +985,7 @@
- struct ring_desc BeaconRing; // Beacon Ring, only one
-
- MGMT_STRUC MgmtRing[MGMT_RING_SIZE]; // management ring size
--
-+
- ULONG CurRxIndex; // Next RxD read pointer
- ULONG CurDecryptIndex; // Next RxD decrypt read pointer
- ULONG CurTxIndex; // Next TxD write pointer
-@@ -985,17 +1012,17 @@
- struct sk_buff_head TxSwQueue0; // Tx software priority queue 0 mapped to 0.1
- struct sk_buff_head TxSwQueue1; // Tx software priority queue 1 mapped to 2.3
- struct sk_buff_head TxSwQueue2; // Tx software priority queue 2 mapped to 4.5
-- struct sk_buff_head TxSwQueue3;
-+ struct sk_buff_head TxSwQueue3;
-
- USHORT Sequence; // Current sequence number
-
- TUPLE_CACHE TupleCache[MAX_CLIENT]; // Maximum number of tuple caches, only useful in Ad-Hoc
- UCHAR TupleCacheLastUpdateIndex; // 0..MAX_CLIENT-1
- FRAGMENT_FRAME FragFrame; // Frame storage for fragment frame
--
-+
- // For MiniportTransferData
- PUCHAR pRxData; // Pointer to current RxRing offset / fragment frame offset
--
-+
- // Counters for 802.3 & generic.
- // Add 802.11 specific counters later
- COUNTER_802_3 Counters; // 802.3 counters
-@@ -1021,11 +1048,11 @@
- BOOLEAN bAcceptBroadcast;
- BOOLEAN bAcceptAllMulticast;
- BOOLEAN bAcceptPromiscuous;
--
-+
- // Control to check Tx hang
- BOOLEAN bTxBusy;
- //PQUEUE_ENTRY FirstEntryInQueue; // The first packet in Tx queue
--
-+
- // Control disconnect / connect event generation
- ULONG LinkDownTime;
- ULONG LastRxRate;
-@@ -1044,7 +1071,7 @@
-
- BOOLEAN bNetDeviceStopQueue;
- BOOLEAN NeedSwapToLittleEndian;
--
-+
- #if WIRELESS_EXT >= 12
- struct iw_statistics iw_stats;
- #endif
-@@ -1054,9 +1081,6 @@
- ATE_INFO ate;
- #endif //#ifdef RALINK_ATE
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-- struct work_struct mlme_work;
--#endif
- } RTMP_ADAPTER, *PRTMP_ADAPTER;
-
- //
-@@ -1064,10 +1088,9 @@
- //
- typedef struct _SHA_CTX
- {
-- ULONG H[5];
-- ULONG W[80];
-- INT lenW;
-- ULONG sizeHi, sizeLo;
-+ ULONG Buf[5]; // buffers of five states
-+ UCHAR Input[80]; // input message
-+ ULONG LenInBitCount[2]; // length counter for input message, 0 up to 64 bits
- } SHA_CTX;
-
- //
-@@ -1085,7 +1108,7 @@
- IN PRTMP_ADAPTER pAd)
- {
- // 0xFF37 : Txdone & Rxdone, 0xFF07: Txdonw, Rxdone, PrioDone, AtimDone,
-- RTMP_IO_WRITE32(pAd, CSR8, 0xFE14);
-+ RTMP_IO_WRITE32(pAd, CSR8, 0xFE14);
- RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_INTERRUPT_ACTIVE);
- }
-
-@@ -1096,10 +1119,16 @@
- INT RT2500_close(
- IN struct net_device *net_dev);
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
- irqreturn_t RTMPIsr(
-- IN INT irq,
-- IN VOID *dev_instance,
-+ IN INT irq,
-+ IN VOID *dev_instance,
- IN struct pt_regs *rgs);
-+#else
-+irqreturn_t RTMPIsr(
-+ IN INT irq,
-+ IN VOID *dev_instance);
-+#endif
-
- VOID RT2500_timer(
- IN unsigned long data);
-@@ -1108,16 +1137,16 @@
- IN struct net_device *net_dev);
-
- INT RTMPSendPackets(
-- IN struct sk_buff *skb,
-+ IN struct sk_buff *skb,
- IN struct net_device *net_dev);
-
- INT RT2500_probe(
-- IN struct pci_dev *pPci_Dev,
-+ IN struct pci_dev *pPci_Dev,
- IN const struct pci_device_id *ent);
-
- INT RT2500_ioctl(
-- IN struct net_device *net_dev,
-- IN OUT struct ifreq *rq,
-+ IN struct net_device *net_dev,
-+ IN OUT struct ifreq *rq,
- IN INT cmd);
-
- VOID RTMPRingCleanUp(
-@@ -1179,7 +1208,7 @@
- INT RTMPGetKeyParameter(
- IN PUCHAR section,
- IN PCHAR key,
-- OUT PCHAR dest,
-+ OUT PCHAR dest,
- IN INT destsize,
- IN PCHAR buffer);
-
-@@ -1187,7 +1216,7 @@
- IN PRTMP_ADAPTER pAd);
-
- #define RTMPEqualMemory(p1,p2,n) (memcmp((p1),(p2),(n)) == 0)
--
-+
- ULONG RTMPCompareMemory(
- IN PVOID pSrc1,
- IN PVOID pSrc2,
-@@ -1244,7 +1273,7 @@
- NDIS_STATUS RTMPSendPacket(
- IN PRTMP_ADAPTER pAdapter,
- IN struct sk_buff *skb);
--
-+
- //VOID RTMPDeQueuePacket(
- // IN PRTMP_ADAPTER pAdapter,
- // IN PQUEUE_HEADER pQueue);
-@@ -1320,8 +1349,8 @@
- IN UCHAR TxRate);
-
- NDIS_STATUS RTMPApplyPacketFilter(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PRXD_STRUC pRxD,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PRXD_STRUC pRxD,
- IN PHEADER_802_11 pHeader);
-
- struct sk_buff_head* RTMPCheckTxSwQueue(
-@@ -1329,20 +1358,20 @@
- OUT UCHAR *AccessCategory);
-
- VOID RTMPReportMicError(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PWPA_KEY pWpaKey);
- //
- // Private routines in rtmp_wep.c
- //
- VOID RTMPInitWepEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pKey,
- IN UCHAR KeyId,
-- IN UCHAR KeyLen,
-+ IN UCHAR KeyLen,
- IN PUCHAR pDest);
-
- VOID RTMPEncryptData(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pSrc,
- IN PUCHAR pDest,
- IN UINT Len);
-@@ -1366,7 +1395,7 @@
-
- VOID ARCFOUR_DECRYPT(
- IN PARCFOURCONTEXT Ctx,
-- IN PUCHAR pDest,
-+ IN PUCHAR pDest,
- IN PUCHAR pSrc,
- IN UINT Len);
-
-@@ -1394,18 +1423,18 @@
- IN PRTMP_ADAPTER pAd);
-
- VOID AsicSwitchChannel(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN UCHAR Channel);
-
- VOID AsicLockChannel(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR Channel) ;
-
- VOID AsicRfTuningExec(
- IN unsigned long data);
-
- VOID AsicSleepThenAutoWakeup(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN USHORT TbttNumToNextWakeUp);
-
- VOID AsicForceSleep(
-@@ -1415,7 +1444,7 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID AsicSetBssid(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MACADDR *Bssid);
-
- VOID AsicDisableSync(
-@@ -1453,16 +1482,16 @@
- IN PRTMP_ADAPTER pAd);
-
- VOID MacAddrRandomBssid(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- OUT PMACADDR Addr);
-
- VOID MgtMacHeaderInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT PMACHDR Hdr,
-- IN UCHAR Subtype,
-- IN UCHAR ToDs,
--// IN UCHAR AddrType,
-- IN PMACADDR Ds,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT PMACHDR Hdr,
-+ IN UCHAR Subtype,
-+ IN UCHAR ToDs,
-+// IN UCHAR AddrType,
-+ IN PMACADDR Ds,
- IN PMACADDR Bssid);
-
- VOID MlmeRadioOff(
-@@ -1475,66 +1504,69 @@
- IN BSS_TABLE *Tab);
-
- ULONG BssTableSearch(
-- IN BSS_TABLE *Tab,
-+ IN BSS_TABLE *Tab,
- IN PMACADDR Bssid);
-
- VOID BssTableDeleteEntry(
-- IN OUT BSS_TABLE *Tab,
-+ IN OUT BSS_TABLE *Tab,
- IN PMACADDR Bssid);
-
- VOID BssEntrySet(
-- IN PRTMP_ADAPTER pAdapter,
-- OUT BSS_ENTRY *Bss,
-- IN MACADDR *Bssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT BSS_ENTRY *Bss,
-+ IN MACADDR *Bssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
- IN USHORT BeaconPeriod,
-- IN BOOLEAN CfExist,
-- IN CF_PARM *CfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-- IN UCHAR Rates[],
-+ IN BOOLEAN CfExist,
-+ IN CF_PARM *CfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
- IN UCHAR Channel,
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-+ IN USHORT VarIELen, // Length of all saved IEs.
- IN PNDIS_802_11_VARIABLE_IEs pVIE);
-
- ULONG BssTableSetEntry(
-- IN PRTMP_ADAPTER pAdapter,
-- OUT BSS_TABLE *Tab,
-- IN MACADDR *Bssid,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN USHORT BeaconPeriod,
-- IN BOOLEAN CfExist,
-- IN CF_PARM *CfParm,
-- IN USHORT AtimWin,
-- IN USHORT CapabilityInfo,
-- IN UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT BSS_TABLE *Tab,
-+ IN MACADDR *Bssid,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN USHORT BeaconPeriod,
-+ IN BOOLEAN CfExist,
-+ IN CF_PARM *CfParm,
-+ IN USHORT AtimWin,
-+ IN USHORT CapabilityInfo,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist,
- IN UCHAR Channel,
- IN UCHAR Rssi,
- IN UCHAR Noise,
- IN LARGE_INTEGER TimeStamp,
-+ IN USHORT VarIELen, // Length of all saved IEs.
- IN PNDIS_802_11_VARIABLE_IEs pVIE);
-
- VOID BssTableSsidSort(
-- IN PRTMP_ADAPTER pAd,
-- OUT BSS_TABLE *OutTab,
-- IN CHAR Ssid[],
-+ IN PRTMP_ADAPTER pAd,
-+ OUT BSS_TABLE *OutTab,
-+ IN CHAR Ssid[],
- IN UCHAR SsidLen);
-
- VOID BssTableSortByRssi(
- IN OUT BSS_TABLE *OutTab);
-
--NDIS_802_11_WEP_STATUS BssCipherParse(
-- IN PUCHAR pCipher);
-+USHORT BssCipherParse(
-+ IN PBEACON_EID_STRUCT pEid,
-+ IN USHORT VarIELen); // Length of all saved IEs.
-
- NDIS_STATUS MlmeQueueInit(
- IN MLME_QUEUE *Queue);
-@@ -1543,70 +1575,64 @@
- IN MLME_QUEUE *Queue);
-
- BOOLEAN MlmeEnqueue(
-- OUT MLME_QUEUE *Queue,
-- IN ULONG Machine,
-- IN ULONG MsgType,
-- IN ULONG MsgLen,
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG Machine,
-+ IN ULONG MsgType,
-+ IN ULONG MsgLen,
- IN VOID *Msg);
-
- BOOLEAN MlmeEnqueueForRecv(
-- IN PRTMP_ADAPTER pAdapter,
-- OUT MLME_QUEUE *Queue,
-- IN ULONG TimeStampHigh,
-- IN ULONG TimeStampLow,
-- IN UCHAR Rssi,
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT MLME_QUEUE *Queue,
-+ IN ULONG TimeStampHigh,
-+ IN ULONG TimeStampLow,
-+ IN UCHAR Rssi,
- IN UCHAR Noise,
-- IN ULONG MsgLen,
-+ IN ULONG MsgLen,
- IN PVOID Msg);
-
- BOOLEAN MlmeDequeue(
-- IN MLME_QUEUE *Queue,
-+ IN MLME_QUEUE *Queue,
- OUT MLME_QUEUE_ELEM **Elem);
-
- VOID MlmeRestartStateMachine(
- IN PRTMP_ADAPTER pAd);
-
--BOOLEAN MlmeQueueEmpty(
-- IN MLME_QUEUE *Queue);
--
--BOOLEAN MlmeQueueFull(
-- IN MLME_QUEUE *Queue);
--
- BOOLEAN MsgTypeSubst(
-- IN MACFRAME *Fr,
-- OUT INT *Machine,
-+ IN MACFRAME *Fr,
-+ OUT INT *Machine,
- OUT INT *MsgType);
-
- VOID StateMachineInit(
-- IN STATE_MACHINE *Sm,
-- IN STATE_MACHINE_FUNC Trans[],
-- IN ULONG StNr,
-- IN ULONG MsgNr,
-- IN STATE_MACHINE_FUNC DefFunc,
-- IN ULONG InitState,
-+ IN STATE_MACHINE *Sm,
-+ IN STATE_MACHINE_FUNC Trans[],
-+ IN ULONG StNr,
-+ IN ULONG MsgNr,
-+ IN STATE_MACHINE_FUNC DefFunc,
-+ IN ULONG InitState,
- IN ULONG Base);
-
- VOID StateMachineSetAction(
-- IN STATE_MACHINE *S,
-- IN ULONG St,
-- ULONG Msg,
-+ IN STATE_MACHINE *S,
-+ IN ULONG St,
-+ ULONG Msg,
- IN STATE_MACHINE_FUNC F);
-
- VOID StateMachinePerformAction(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *S,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID Drop(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID StateMachineDestroy(
- IN STATE_MACHINE *Sm);
-
- VOID AssocStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *Sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *Sm,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID ReassocTimeout(
-@@ -1620,43 +1646,43 @@
-
- //----------------------------------------------
- VOID MlmeDisassocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeAssocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeReassocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeDisassocReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAssocRspAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerReassocRspAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerDisassocAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID DisassocTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID AssocTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID ReassocTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID Cls3errAction(
-@@ -1682,60 +1708,60 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID AssocPostProc(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MACADDR *Addr2,
-- IN USHORT CapabilityInfo,
-- IN USHORT Aid,
-- IN UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MACADDR *Addr2,
-+ IN USHORT CapabilityInfo,
-+ IN USHORT Aid,
-+ IN UCHAR Rates[],
- IN UCHAR RatesLen,
- IN BOOLEAN ExtendedRateIeExist);
-
- VOID AuthStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PSTATE_MACHINE sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PSTATE_MACHINE sm,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID AuthTimeout(
- IN unsigned long data);
-
- VOID MlmeAuthReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthRspAtSeq2Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthRspAtSeq4Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID AuthTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID Cls2errAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PMACADDR pAddr);
-
- VOID MlmeDeauthReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenAuth(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- //VOID MlmeDeauthReqProc(
--// IN PRTMP_ADAPTER pAdapter,
--// IN MACADDR *Addr,
-+// IN PRTMP_ADAPTER pAdapter,
-+// IN MACADDR *Addr,
- // IN USHORT Reason);
-
- //=============================================
-
- VOID AuthRspStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PSTATE_MACHINE Sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PSTATE_MACHINE Sm,
- IN STATE_MACHINE_FUNC Trans[]);
-
-
-@@ -1743,34 +1769,34 @@
- IN unsigned long data);
-
- VOID AuthRspChallengeTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthAtAuthRspIdleAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthAtAuthRspWaitAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerDeauthAction(
-- IN PRTMP_ADAPTER pAdaptor,
-+ IN PRTMP_ADAPTER pAdaptor,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerAuthSimpleRspGenAndSend(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PMACHDR Hdr,
-- IN USHORT Alg,
-- IN USHORT Seq,
-- IN USHORT Reason,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PMACHDR Hdr,
-+ IN USHORT Alg,
-+ IN USHORT Seq,
-+ IN USHORT Reason,
- IN USHORT Status);
-
- //========================================
-
- VOID SyncStateMachineInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *Sm,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *Sm,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID BeaconTimeout(
-@@ -1783,23 +1809,23 @@
- IN unsigned long data);
-
- VOID MlmeScanReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenScan(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenJoin(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID InvalidStateWhenStart(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeacon(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID EnqueueProbeRequest(
-@@ -1808,61 +1834,61 @@
- //=========================================
-
- VOID MlmeCntlInit(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *S,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID MlmeCntlMachinePerformAction(
-- IN PRTMP_ADAPTER pAdapter,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN STATE_MACHINE *S,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlIdleProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlOidScanProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlOidSsidProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM * Elem);
-
- VOID CntlOidRTBssidProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlMlmeRoamingProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitDisassocProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitJoinProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitReassocProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitStartProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitAuthProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitAuthProc2(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID CntlWaitAssocProc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID LinkUp(
-@@ -1873,8 +1899,8 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID MlmeCntlConfirm(
-- IN PRTMP_ADAPTER pAdapter,
-- IN ULONG MsgType,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN ULONG MsgType,
- IN USHORT Msg);
-
- VOID IterateOnBssTab(
-@@ -1884,42 +1910,42 @@
- IN PRTMP_ADAPTER pAdapter);;
-
- VOID JoinParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_JOIN_REQ_STRUCT *JoinReq,
- IN ULONG BssIdx);
-
- VOID AssocParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-- IN MACADDR *Addr,
-- IN USHORT CapabilityInfo,
-- IN ULONG Timeout,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_ASSOC_REQ_STRUCT *AssocReq,
-+ IN MACADDR *Addr,
-+ IN USHORT CapabilityInfo,
-+ IN ULONG Timeout,
- IN USHORT ListenIntv);
-
- VOID ScanParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-- IN CHAR Ssid[],
-- IN UCHAR SsidLen,
-- IN UCHAR BssType,
-- IN UCHAR ScanType);
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_SCAN_REQ_STRUCT *ScanReq,
-+ IN CHAR Ssid[],
-+ IN UCHAR SsidLen,
-+ IN UCHAR BssType,
-+ IN UCHAR ScanType);
-
- VOID DisassocParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-- IN MACADDR *Addr,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_DISASSOC_REQ_STRUCT *DisassocReq,
-+ IN MACADDR *Addr,
- IN USHORT Reason);
-
- VOID StartParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_START_REQ_STRUCT *StartReq,
-- IN CHAR Ssid[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_START_REQ_STRUCT *StartReq,
-+ IN CHAR Ssid[],
- IN UCHAR SsidLen);
-
- VOID AuthParmFill(
-- IN PRTMP_ADAPTER pAdapter,
-- IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-- IN MACADDR *Addr,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN OUT MLME_AUTH_REQ_STRUCT *AuthReq,
-+ IN MACADDR *Addr,
- IN USHORT Alg);
-
- VOID EnqueuePsPoll(
-@@ -1933,39 +1959,39 @@
- IN UCHAR TxRate);
-
- VOID MlmeJoinReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeScanReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID MlmeStartReqAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID ScanTimeoutAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID BeaconTimeoutAtJoinAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeaconAtScanAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeaconAtJoinAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerBeacon(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID PeerProbeReqAction(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID ScanNextChannel(
-@@ -1975,142 +2001,143 @@
- IN PRTMP_ADAPTER pAdapter);
-
- BOOLEAN MlmeScanReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT UCHAR *BssType,
-- OUT CHAR ssid[],
-- OUT UCHAR *SsidLen,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT UCHAR *BssType,
-+ OUT CHAR ssid[],
-+ OUT UCHAR *SsidLen,
- OUT UCHAR *ScanType);
-
- BOOLEAN PeerBeaconAndProbeRspSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT MACADDR *Bssid,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen,
-- OUT UCHAR *BssType,
-- OUT USHORT *BeaconPeriod,
-- OUT UCHAR *Channel,
-- OUT LARGE_INTEGER *Timestamp,
-- OUT BOOLEAN *CfExist,
-- OUT CF_PARM *Cf,
-- OUT USHORT *AtimWin,
-- OUT USHORT *CapabilityInfo,
-- OUT UCHAR Rate[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT MACADDR *Bssid,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen,
-+ OUT UCHAR *BssType,
-+ OUT USHORT *BeaconPeriod,
-+ OUT UCHAR *Channel,
-+ OUT LARGE_INTEGER *Timestamp,
-+ OUT BOOLEAN *CfExist,
-+ OUT CF_PARM *Cf,
-+ OUT USHORT *AtimWin,
-+ OUT USHORT *CapabilityInfo,
-+ OUT UCHAR Rate[],
- OUT UCHAR *RateLen,
- OUT BOOLEAN *ExtendedRateIeExist,
- OUT UCHAR *Erp,
-- OUT UCHAR *DtimCount,
-- OUT UCHAR *DtimPeriod,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *MessageToMe,
-+ OUT UCHAR *DtimCount,
-+ OUT UCHAR *DtimPeriod,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *MessageToMe,
- OUT UCHAR *Legacy,
- OUT UCHAR SupRate[],
- OUT UCHAR *SupRateLen,
- OUT UCHAR ExtRate[],
- OUT UCHAR *ExtRateLen,
-+ OUT USHORT *VarIELen, // Length of all saved IEs.
- OUT PNDIS_802_11_VARIABLE_IEs pVIE);
-
- //BOOLEAN JoinParmSanity(
--// IN PRTMP_ADAPTER pAdapter,
--// IN VOID *Msg,
--// IN ULONG MsgLen,
-+// IN PRTMP_ADAPTER pAdapter,
-+// IN VOID *Msg,
-+// IN ULONG MsgLen,
- // OUT ULONG *BssIdx,
--// OUT UCHAR SupportedRates[],
-+// OUT UCHAR SupportedRates[],
- // OUT UCHAR *SupportedRatesLen);
-
- BOOLEAN MlmeAssocReqSanity(
- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *ApAddr,
-- OUT USHORT *CapabilityInfo,
-- OUT ULONG *Timeout,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *ApAddr,
-+ OUT USHORT *CapabilityInfo,
-+ OUT ULONG *Timeout,
- OUT USHORT *ListenIntv);
-
- BOOLEAN MlmeAuthReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT ULONG *Timeout,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT ULONG *Timeout,
- OUT USHORT *Alg);
-
- BOOLEAN MlmeStartReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT CHAR Ssid[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT CHAR Ssid[],
- OUT UCHAR *Ssidlen);
-
- BOOLEAN PeerAuthSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT USHORT *Alg,
-- OUT USHORT *Seq,
-- OUT USHORT *Status,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT USHORT *Alg,
-+ OUT USHORT *Seq,
-+ OUT USHORT *Status,
- OUT CHAR ChlgText[]);
-
- BOOLEAN PeerAssocRspSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *CapabilityInfo,
-- OUT USHORT *Status,
-- OUT USHORT *Aid,
-- OUT UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *CapabilityInfo,
-+ OUT USHORT *Status,
-+ OUT USHORT *Aid,
-+ OUT UCHAR Rates[],
- OUT UCHAR *RatesLen,
- OUT BOOLEAN *ExtendedRateIeExist);
-
- BOOLEAN PeerDisassocSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
- OUT USHORT *Reason);
-
- BOOLEAN PeerDeauthSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
- OUT USHORT *Reason);
-
- BOOLEAN PeerProbeReqSanity(
-- IN PRTMP_ADAPTER pAdapter,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
- OUT MACADDR *Addr2,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen);
--// OUT UCHAR Rates[],
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen);
-+// OUT UCHAR Rates[],
- // OUT UCHAR *RatesLen);
-
- BOOLEAN GetTimBit(
-- IN CHAR *Ptr,
-- IN USHORT Aid,
-- OUT UCHAR *TimLen,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *DtimCount,
-- OUT UCHAR *DtimPeriod,
-+ IN CHAR *Ptr,
-+ IN USHORT Aid,
-+ OUT UCHAR *TimLen,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *DtimCount,
-+ OUT UCHAR *DtimPeriod,
- OUT UCHAR *MessageToMe);
-
- BOOLEAN GetLegacy(
-- IN CHAR *Ptr,
-+ IN CHAR *Ptr,
- OUT UCHAR *Legacy);
-
- ULONG MakeOutgoingFrame(
-- OUT CHAR *Buffer,
-+ OUT CHAR *Buffer,
- OUT ULONG *Length, ...);
-
- VOID LfsrInit(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Seed);
-
- UCHAR RandomByte(
-@@ -2129,26 +2156,26 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID MlmeCheckForRoaming(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Now32);
-
- VOID MlmeCheckDynamicTxRateSwitching(
- IN PRTMP_ADAPTER pAd);
-
- VOID MlmeCheckChannelQuality(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Now);
-
- VOID MlmeCheckForPsmChange(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG Now32);
-
- VOID MlmeSetPsmBit(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN USHORT psm);
-
- VOID MlmeSetTxPreamble(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN USHORT TxPreamble);
-
- VOID MlmeUpdateTxRates(
-@@ -2214,7 +2241,7 @@
-
- VOID EWEN(
- IN PRTMP_ADAPTER pAd);
--
-+
- USHORT RTMP_EEPROM_READ16(
- IN PRTMP_ADAPTER pAd,
- IN USHORT Offset);
-@@ -2223,16 +2250,16 @@
- IN PRTMP_ADAPTER pAd,
- IN USHORT Offset,
- IN USHORT Data);
--
-+
- UCHAR ChannelSanity(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR channel);
-
- //
- // Prototypes of function definition in rtmp_tkip.c
- //
- VOID RTMPInitTkipEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pTKey,
- IN UCHAR KeyId,
- IN PUCHAR pTA,
-@@ -2242,14 +2269,14 @@
- OUT PULONG pIV32);
-
- VOID RTMPInitMICEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pKey,
- IN PUCHAR pDA,
- IN PUCHAR pSA,
- IN PUCHAR pMICKey);
-
- BOOLEAN RTMPTkipCompareMICValue(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pSrc,
- IN PUCHAR pDA,
- IN PUCHAR pSA,
-@@ -2272,12 +2299,12 @@
- IN PUCHAR pMICKey,
- IN UINT Len);
-
--VOID RTMPTkipAppend(
-- IN PTKIP_KEY_INFO pTkip,
-+VOID RTMPTkipAppend(
-+ IN PTKIP_KEY_INFO pTkip,
- IN PUCHAR pSrc,
- IN UINT nBytes);
-
--VOID RTMPTkipGetMIC(
-+VOID RTMPTkipGetMIC(
- IN PTKIP_KEY_INFO pTkip);
-
- NDIS_STATUS RTMPWPAAddKeyProc(
-@@ -2292,7 +2319,7 @@
- IN PRTMP_ADAPTER pAdapter);
-
- VOID RTMPSetPhyMode(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN ULONG phymode);
-
- VOID RTMPSetDesiredRates(
-@@ -2313,102 +2340,102 @@
- // Prototypes of function definition for *iwpriv* in rtmp_info.c
- //
- INT Set_CountryRegion_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_SSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_WirelessMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TxRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_AdhocModeRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Channel_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PUCHAR
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR
- arg);
-
- #ifdef RT2500_DBG
- INT Set_Debug_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
- #endif
-
- INT Set_BGProtection_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TxPreamble_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_StaWithEtherBridge_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_RTSThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_FragThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TxBurst_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_TurboRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_NetworkType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
--
-+
- INT Set_AuthMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_EncrypType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_DefaultKeyID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key1_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key2_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key3_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_Key4_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_WPAPSK_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_WPANONE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- VOID RTMPIoctlBBP(
-@@ -2425,10 +2452,14 @@
- IN struct iwreq *wrq);
- #endif
-
--int RTMPIoctlRFMONTX(
-- IN OUT PRTMP_ADAPTER pAdapter,
-+int RTMPIoctlSetRFMONTX(
-+ IN PRTMP_ADAPTER pAdapter,
- IN struct iwreq *wrq);
-
-+int RTMPIoctlGetRFMONTX(
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT struct iwreq *wrq);
-+
- //
- // prototype in wpa.c
- //
-@@ -2437,31 +2468,31 @@
- OUT ULONG *MsgType);
-
- VOID WpaPskStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
- OUT STATE_MACHINE_FUNC Trans[]);
-
- VOID WpaEAPOLKeyAction(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaPairMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaPairMsg3Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem);
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaGroupMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN MLME_QUEUE_ELEM *Elem);
-
- VOID WpaMacHeaderInit(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT PHEADER_802_11 Hdr,
-- IN UCHAR wep,
-- IN PMACADDR pAddr1);
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT PHEADER_802_11 Hdr,
-+ IN UCHAR wep,
-+ IN PMACADDR pAddr1);
-
- VOID WpaHardEncrypt(
- IN PRTMP_ADAPTER pAdapter,
-@@ -2495,15 +2526,15 @@
- IN UINT len);
-
- VOID GenRandom(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- OUT UCHAR *random);
-
--VOID AES_GTK_KEY_UNWRAP(
-+VOID AES_GTK_KEY_UNWRAP(
- IN UCHAR *key,
- OUT UCHAR *plaintext,
- IN UCHAR *ciphertext);
-
--ULONG RTMPTkipGetUInt32(
-+ULONG RTMPTkipGetUInt32(
- IN PUCHAR pMICKey);
-
- char * rtstrstr(
-@@ -2512,39 +2543,39 @@
-
- #ifdef RALINK_ATE
- INT Set_ATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_DA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_SA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_BSSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_CHANNEL_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_POWER_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_LENGTH_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_COUNT_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- INT Set_ATE_TX_RATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg);
-
- VOID RTMPStationStop(
-@@ -2559,11 +2590,15 @@
-
- #ifdef BIG_ENDIAN
- VOID RTMPFrameEndianChange(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PUCHAR pData,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR pData,
- IN ULONG Dir,
- IN BOOLEAN FromRxDoneInt);
-
-+VOID WriteBackToDescriptor(IN PUCHAR Dest,
-+ IN PUCHAR Src,
-+ IN BOOLEAN DoEncrypt, IN ULONG DescriptorType);
-+
- VOID RTMPDescriptorEndianChange(
- IN PUCHAR pData,
- IN ULONG DescriptorType);
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_data.c rt2500-cvs-2007061011/Module/rtmp_data.c
---- rt2500-1.1.0-b4/Module/rtmp_data.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_data.c 2007-06-08 20:09:53.000000000 +0200
-@@ -1,42 +1,42 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_data.c
-- *
-+ *
- * Abstract: Data path subroutines
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
- * John 25th Feb 03 Modify for rt2560
-- * MarkW 8th Dec 04 Baseline code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * MarkW 17th Dec 04 Monitor mode through iwconfig
- * MarkW 19th Feb 05 Fixes to incoming byte count
- * GregorG 29th Mar 05 Big endian fixes
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -46,12 +46,12 @@
-
- static UCHAR IPX[] = {0x81, 0x37};
- static UCHAR APPLE_TALK[] = {0x80, 0xf3};
--static UCHAR PlcpSignal[12] = {
-+static UCHAR PlcpSignal[12] = {
- 0, /* RATE_1 */ 1, /* RATE_2 */ 2, /* RATE_5_5 */ 3, /* RATE_11 */ // see BBP spec
- 11, /* RATE_6 */ 15, /* RATE_9 */ 10, /* RATE_12 */ 14, /* RATE_18 */ // see IEEE802.11a-1999 p.14
- 9, /* RATE_24 */ 13, /* RATE_36 */ 8, /* RATE_48 */ 12 /* RATE_54 */ }; // see IEEE802.11a-1999 p.14
- static UINT _11G_RATES[12] = { 0, 0, 0, 0, 6, 9, 12, 18, 24, 36, 48, 54 };
--
-+
- #define COLLECT_RX_ANTENNA_AVERAGE_RSSI(_pAd, _RxAnt, _rssi) \
- { \
- USHORT AvgRssi; \
-@@ -84,16 +84,16 @@
-
- Routine Description:
- Check Rx descriptor, return NDIS_STATUS_FAILURE if any error dound
--
-+
- Arguments:
- pRxD Pointer to the Rx descriptor
--
-+
- Return Value:
- NDIS_STATUS_SUCCESS No err
- NDIS_STATUS_FAILURE Error
--
-+
- Note:
--
-+
- ========================================================================
- */
- inline NDIS_STATUS RTMPCheckRxDescriptor(
-@@ -102,7 +102,7 @@
- // Phy errors
- if (pRxD->PhyErr)
- return(NDIS_STATUS_FAILURE);
--
-+
- // CRC errors
- if (pRxD->Crc)
- return(NDIS_STATUS_FAILURE);
-@@ -120,15 +120,15 @@
-
- Routine Description:
- Endian conversion of Tx/Rx descriptor .
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pData Pointer to Tx/Rx descriptor
- DescriptorType Direction of the frame
--
-+
- Return Value:
- None
--
-+
- Note:
- Call this function when read or update descriptor
- ========================================================================
-@@ -143,12 +143,26 @@
- *(ULONG *)pData = SWAP32(*(ULONG *)pData); // Byte 0; this must be swapped last
- }
-
-+VOID WriteBackToDescriptor(IN PUCHAR Dest,
-+ IN PUCHAR Src,
-+ IN BOOLEAN DoEncrypt, IN ULONG DescriptorType)
-+{
-+ PULONG p1, p2;
-+ UCHAR i;
-+
-+ p1 = ((PULONG) Dest) + 1;
-+ p2 = ((PULONG) Src) + 1;
-+ for (i = 1; i < RING_DESCRIPTOR_SIZE / 4; i++)
-+ *p1++ = *p2++;
-+ *(PULONG) Dest = *(PULONG) Src;
-+}
-+
- /*
- ========================================================================
-
- Routine Description:
- Endian conversion of all kinds of 802.11 frames .
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pData Pointer to the 802.11 frame structure
-@@ -157,14 +171,14 @@
-
- Return Value:
- None
--
-+
- Note:
- Call this function when read or update buffer data
- ========================================================================
- */
- VOID RTMPFrameEndianChange(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PUCHAR pData,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR pData,
- IN ULONG Dir,
- IN BOOLEAN FromRxDoneInt)
- {
-@@ -182,7 +196,7 @@
-
- // swab 16 bit fields - Duration/ID field
- *(USHORT *)(pMacHdr + 2) = SWAP16(*(USHORT *)(pMacHdr + 2));
--
-+
- // swab 16 bit fields - Sequence Control field
- *(USHORT *)(pMacHdr + 22) = SWAP16(*(USHORT *)(pMacHdr + 22));
-
-@@ -210,7 +224,7 @@
- // swab 16 bit fields - Status Code field
- pMacHdr += 2;
- *(USHORT *)pMacHdr = SWAP16(*(USHORT *)pMacHdr);
--
-+
- // swab 16 bit fields - AID field
- pMacHdr += 2;
- *(USHORT *)pMacHdr = SWAP16(*(USHORT *)pMacHdr);
-@@ -271,6 +285,7 @@
- *(USHORT *)pData = SWAP16(*(USHORT *)pData);
- }
- }
-+
- #endif
-
- /*
-@@ -353,14 +368,14 @@
- pAdapter->RalinkCounters.RxRingErrCount++;
- break;
- }
--
-+
- #ifdef RALINK_ATE
- if(pAdapter->ate.Mode == ATE_RXFRAME)
- {
- bDropFrame = TRUE;
- }
- #endif //#ifdef RALINK_ATE
--
-+
- // Point to Rx ring buffer where stores the real data frame
- pData = (PUCHAR) (pAdapter->RxRing[pAdapter->CurRxIndex].va_data_addr);
- // Cast to 802.11 header for flags checking
-@@ -372,11 +387,11 @@
-
- // Check for all RxD errors
- Status = RTMPCheckRxDescriptor(pRxD);
--
-+
- // Apply packet filtering rule based on microsoft requirements.
- if (Status == NDIS_STATUS_SUCCESS)
- Status = RTMPApplyPacketFilter(pAdapter, pRxD, pHeader);
--
-+
- // Add receive counters
- if (Status == NDIS_STATUS_SUCCESS)
- {
-@@ -394,7 +409,7 @@
- // Increase general counters
- pAdapter->Counters.RxErrors++;
- }
--
-+
- // Check for retry bit, if this bit is on, search the cache with SA & sequence
- // as index, if matched, discard this frame, otherwise, update cache
- // This check only apply to unicast data & management frames
-@@ -453,7 +468,7 @@
- bDropFrame = TRUE;
- break;
- }
--
-+
- // Drop frame from AP while we are in Ad-hoc mode or not associated
- if (pHeader->Controlhead.Frame.FrDs)
- {
-@@ -471,11 +486,11 @@
- bDropFrame = TRUE;
- break;
- }
--
-+
- // Good data frame appears, increase the counters
- INC_COUNTER(pAdapter->WlanCounters.ReceivedFragmentCount);
-- pAdapter->RalinkCounters.ReceivedByteCount += pRxD->DataByteCnt;
--
-+ pAdapter->RalinkCounters.ReceivedByteCount += pRxD->DataByteCnt;
-+
- // Process Multicast data frame
- if (pRxD->Mcast)
- {
-@@ -486,18 +501,18 @@
-
- // Init WPA Key to NULL
- pWpaKey = (PWPA_KEY) NULL;
--
-+
- // Find the WPA key, either Group or Pairwise Key
- if ((pAdapter->PortCfg.AuthMode >= Ndis802_11AuthModeWPA) && (pHeader->Controlhead.Frame.Wep))
- {
- INT idx;
--
-+
- // First lookup the DA, if it's a group address, use GROUP key
- if (pRxD->Bcast || pRxD->Mcast)
- {
--
-+
- idx = (*(pData + 3) & 0xc0) >> 6;
-- if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
-+ if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
- ((INFRA_ON(pAdapter) && (NdisEqualMemory(&pHeader->Controlhead.Addr2, &pAdapter->PortCfg.Bssid, 6))) ||
- (ADHOC_ON(pAdapter) && (NdisEqualMemory(&pHeader->Addr3, &pAdapter->PortCfg.Bssid, 6)))))
- {
-@@ -520,15 +535,15 @@
- break;
- }
- }
--#if 1
-+#if 1
- // Use default Group Key if there is no Pairwise key present
- if ((pWpaKey == NULL) && (pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
- {
-- pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
-+ pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
- pWpaKey->Type = GROUP_KEY;
- DBGPRINT(RT_DEBUG_INFO, "Rx Use Group Key\n");
- }
--#endif
-+#endif
- }
- }
-
-@@ -542,16 +557,16 @@
- Status = NDIS_STATUS_FAILURE;
- bDropFrame = TRUE;
- break;
-- }
--
-+ }
-+
- // Filter out Bcast frame which AP relayed for us
- if (pHeader->Controlhead.Frame.FrDs && RTMPEqualMemory(&pHeader->Addr3, pAdapter->CurrentAddress, 6))
- {
- Status = NDIS_STATUS_FAILURE;
- bDropFrame = TRUE;
- break;
-- }
--
-+ }
-+
- // WEP encrypted frame
- if (pHeader->Controlhead.Frame.Wep)
- {
-@@ -560,27 +575,27 @@
- {
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
-- memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
-+ memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
- if (pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen == 5)
- pRxD->CipherAlg = CIPHER_WEP64;
- else
-- pRxD->CipherAlg = CIPHER_WEP128;
-+ pRxD->CipherAlg = CIPHER_WEP128;
- }
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) && (pWpaKey != NULL)) // TKIP
- {
- UCHAR Eiv_Tmp[4];
--
-+
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- // Swap EIV byte order, due to ASIC's bug.
- Eiv_Tmp[0] = *(pData + 7);
- Eiv_Tmp[1] = *(pData + 6);
- Eiv_Tmp[2] = *(pData + 5);
-- Eiv_Tmp[3] = *(pData + 4);
-+ Eiv_Tmp[3] = *(pData + 4);
- memcpy((PUCHAR) &pRxD->Eiv, Eiv_Tmp, 4); //Get WEP EIV
- // Copy TA into RxD
- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_TKIP;
- }
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled) && (pWpaKey != NULL)) // AES
-@@ -588,9 +603,9 @@
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- memcpy((PUCHAR) &pRxD->Eiv, (pData + 4), 4); //Get WEP EIV
- // Copy TA into RxD
-- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
-+ memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_AES;
- }
- else
-@@ -606,17 +621,17 @@
- pRxD->CipherAlg = CIPHER_NONE;
- }
- }
--
-+
- // Begin process unicast to me frame
- else if (pRxD->U2M || pAdapter->bAcceptPromiscuous == TRUE)
- {
-- // Send PS-Poll for AP to send next data frame
-+ // Send PS-Poll for AP to send next data frame
- if ((pHeader->Controlhead.Frame.MoreData) && INFRA_ON(pAdapter) && (pAdapter->PortCfg.Psm == PWR_SAVE))
- {
- EnqueuePsPoll(pAdapter);
- DBGPRINT(RT_DEBUG_TRACE, "Sending PS-POLL\n");
- }
--
-+
- //
- // Begin frame processing
- //
-@@ -634,11 +649,11 @@
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
-- memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
-+ memcpy(pRxD->Key, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
- if (pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen == 5)
- pRxD->CipherAlg = CIPHER_WEP64;
- else
-- pRxD->CipherAlg = CIPHER_WEP128;
-+ pRxD->CipherAlg = CIPHER_WEP128;
- }
- else if ((pAdapter->PortCfg.PrivacyFilter == Ndis802_11PrivFilter8021xWEP) &&
- (pHeader->Frag == 0))
-@@ -659,18 +674,18 @@
- if (pHeader->Controlhead.Frame.Wep)
- {
- UCHAR Eiv_Tmp[4];
--
-+
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- // Swap EIV byte order, due to ASIC's bug.
- Eiv_Tmp[0] = *(pData + 7);
- Eiv_Tmp[1] = *(pData + 6);
- Eiv_Tmp[2] = *(pData + 5);
-- Eiv_Tmp[3] = *(pData + 4);
-+ Eiv_Tmp[3] = *(pData + 4);
- memcpy((PUCHAR) &pRxD->Eiv, Eiv_Tmp, 4); //Get WEP EIV
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
- // Copy TA into RxD
- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_TKIP;
- }
- else if ((pAdapter->PortCfg.PrivacyFilter == Ndis802_11PrivFilter8021xWEP) &&
-@@ -694,9 +709,9 @@
- memcpy((PUCHAR) &pRxD->Iv, pData, 4); //Get WEP IV
- memcpy((PUCHAR) &pRxD->Eiv, (pData + 4), 4); //Get WEP EIV
- // Copy TA into RxD
-- memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
-+ memcpy(pRxD->TA, &pHeader->Controlhead.Addr2, 6);
- KeyIdx = (*(pData + 3) & 0xc0) >> 6;
-- memcpy(pRxD->Key, pWpaKey->Key, 16);
-+ memcpy(pRxD->Key, pWpaKey->Key, 16);
- pRxD->CipherAlg = CIPHER_AES;
- }
- else if ((pAdapter->PortCfg.PrivacyFilter == Ndis802_11PrivFilter8021xWEP) &&
-@@ -719,7 +734,7 @@
- Status = NDIS_STATUS_FAILURE;
- bDropFrame = TRUE;
- break;
-- }
-+ }
- else // Not encryptrd frames
- {
- pRxD->CipherAlg = CIPHER_NONE;
-@@ -756,13 +771,14 @@
- pRxD->Drop = 0;
- pRxD->IvOffset = LENGTH_802_11;
- }
--
-+
- pRxD->CipherOwner = DESC_OWN_NIC;
-
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pHeader, DIR_WRITE, TRUE);
- RTMPDescriptorEndianChange((PUCHAR)pRxD, TYPE_RXD);
-- *pDestRxD = RxD;
-+ //*pDestRxD = RxD;
-+ WriteBackToDescriptor((PUCHAR)pDestRxD, (PUCHAR)pRxD, TRUE, TYPE_RXD);
- #endif
-
- pAdapter->CurRxIndex++;
-@@ -771,9 +787,9 @@
- pAdapter->CurRxIndex = 0;
- }
- Count++;
--
-+
- pAdapter->RalinkCounters.RxCount ++;
--
-+
- } while (Count < MAX_RX_PROCESS);
-
- // Kick Decrypt Control Register, based on ASIC's implementation
-@@ -810,10 +826,10 @@
- #endif
- UCHAR Count;
- unsigned long irqflag;
--
-+
- // Make sure Tx ring resource won't be used by other threads
- spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
--
-+
- Count = 0;
- do
- {
-@@ -832,22 +848,22 @@
- }
-
- RTMPHardTransmitDone(
-- pAdapter,
-- pTxD,
-+ pAdapter,
-+ pTxD,
- pAdapter->TxRing[pAdapter->NextTxDoneIndex].FrameType);
--
-+
- // It might happend with no Ndis packet to indicate back to upper layer
- // Clear for NdisSendComplete request
- pTxD->Valid = FALSE;
--
-+
- // Increase Total transmit byte counter after real data sent out
- pAdapter->RalinkCounters.TransmittedByteCount += pTxD->DataByteCnt;
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- #endif
--
-+
- pAdapter->NextTxDoneIndex++;
- if (pAdapter->NextTxDoneIndex >= TX_RING_SIZE)
- {
-@@ -885,16 +901,16 @@
-
- // Make sure to release Tx ring resource
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
--
-+
- if(pAdapter->bNetDeviceStopQueue)
- {
- DBGPRINT(RT_DEBUG_TRACE, "NetDevice start queue!!!\n\n");
- pAdapter->bNetDeviceStopQueue = FALSE;
- netif_start_queue(pAdapter->net_dev);
- }
--
-+
- // Some Tx ring resource freed, check for pending send frame for hard transmit
-- if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
-+ if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RESET_IN_PROGRESS)))
- {
-@@ -932,10 +948,10 @@
- UCHAR Count;
- PMGMT_STRUC pMgmt;
- unsigned long irqflag;
--
-+
- // Make sure Prio ring resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
--
-+ spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
-+
- Count = 0;
- do
- {
-@@ -957,16 +973,16 @@
- #endif
- break;
- }
--
-+
- // No need to put in reply for MLME
- RTMPHardTransmitDone(
-- pAdapter,
-- pTxD,
-+ pAdapter,
-+ pTxD,
- pAdapter->PrioRing[pAdapter->NextPrioDoneIndex].FrameType);
--
-+
- // It might happend with no Ndis packet to indicate back to upper layer
-- pTxD->Valid = FALSE;
--
-+ pTxD->Valid = FALSE;
-+
- // Increase Total transmit byte counter after real data sent out
- pAdapter->RalinkCounters.TransmittedByteCount += pTxD->DataByteCnt;
-
-@@ -983,11 +999,11 @@
- } while (++Count < MAX_TX_PROCESS);
-
- // Make sure to release Prio ring resource
-- spin_unlock_irqrestore(&pAdapter->PrioRingLock, irqflag);
--
-+ spin_unlock_irqrestore(&pAdapter->PrioRingLock, irqflag);
-+
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF))
- return;
--
-+
-
- spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
- if (pAdapter->PushMgmtIndex != pAdapter->PopMgmtIndex)
-@@ -1008,7 +1024,7 @@
- }
- }
- }
-- }
-+ }
- spin_unlock_irqrestore(&pAdapter->PrioRingLock, irqflag);
- }
-
-@@ -1033,12 +1049,12 @@
- {
- // PTXD_STRUC pTxD;
- // UCHAR Count;
--
-+
- // Make sure Atim ring resource won't be used by other threads
- //spin_lock_irqsave(&pAdapter->AtimRingLock);
--
-+
- // Did not support ATIM, remove everything.
--
-+
- // Make sure to release Atim ring resource
- //spin_unlock_irqrestore(&pAdapter->AtimRingLock);
- }
-@@ -1083,10 +1099,10 @@
- ULONG i;
- struct sk_buff *skb;
- unsigned long irqflag;
--
-+
- // Make sure Rx ring resource won't be used by other threads
- spin_lock_irqsave(&pAdapter->RxRingLock, irqflag);
--
-+
- RTMP_IO_READ32(pAdapter, SECCSR0, &RegValue);
- HwDecryptIndex = RegValue - pAdapter->RxRing[0].pa_addr;
- do_div(HwDecryptIndex, RING_DESCRIPTOR_SIZE);
-@@ -1104,11 +1120,11 @@
- pRxD = &RxD;
- RTMPDescriptorEndianChange((PUCHAR)pRxD, TYPE_RXD);
- #endif
--
-+
- // In case of false alarm or processed at last instance
- if ((pRxD->Owner != DESC_OWN_HOST) || (pRxD->CipherOwner != DESC_OWN_HOST))
- break;
--
-+
- // Point to Rx ring buffer where stores the real data frame
- pData = (PUCHAR) (pAdapter->RxRing[pAdapter->CurDecryptIndex].va_data_addr);
- // Cast to 802.11 header for flags checking
-@@ -1117,15 +1133,18 @@
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pHeader, DIR_READ, FALSE);
- #endif
-- // Driver will check the decrypt algorithm and decide whether this ICV is true or not
-+ // Driver will check the decrypt algorithm and decide whether this ICV is true or not
- if ((pRxD->IcvError == 1) && (pRxD->CipherAlg == CIPHER_NONE))
- pRxD->IcvError = 0;
--
-+
- // Since we already process header at RxDone interrupt, there is no need to proces
- // header sanity again, the only thing we have to check is icv_err bit
-- if (pRxD->IcvError == 1)
-+ //if (pRxD->IcvError == 1)
-+ if ((pRxD->IcvError == 1) && (pRxD->CipherAlg != CIPHER_NONE))
- {
-- DBGPRINT(RT_DEBUG_TRACE,"Rx DecryptDone - ICV error (len %d)\n", pRxD->DataByteCnt);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "Rx DecryptDone - ICV error (CipherAlg=%d) (len %d)\n",
-+ pRxD->CipherAlg, pRxD->DataByteCnt);
- pRxD->Drop =1; // Drop frame with icv error
- }
- // Saved data pointer for management frame which will pass to MLME block
-@@ -1135,7 +1154,7 @@
- {
- struct sk_buff *skb;
- wlan_ng_prism2_header *ph;
--
-+
- if ((skb = __dev_alloc_skb(2048, GFP_DMA|GFP_ATOMIC)) != NULL)
- {
- if (pAdapter->PortCfg.MallowRFMONTx == TRUE)
-@@ -1196,12 +1215,12 @@
-
- skb->dev = pAdapter->net_dev;
- memcpy(skb_put(skb, pRxD->DataByteCnt), pData, pRxD->DataByteCnt);
-- skb->mac.raw = skb->data;
-+ skb_reset_mac_header(skb);
- skb->pkt_type = PACKET_OTHERHOST;
- skb->protocol = htons(ETH_P_802_2);
- skb->ip_summed = CHECKSUM_NONE;
- netif_rx(skb);
-- }
-+ }
- pRxD->Drop = 1;
- }
-
-@@ -1211,7 +1230,7 @@
- // The total available payload should exclude 24-byte 802.11 Header
- // If Security is enabled, IV, EIV, ICV size is excluded by ASIC
- PacketSize = (USHORT) pRxD->DataByteCnt - LENGTH_802_11;
--
-+
- // Find the WPA key, either Group or Pairwise Key
- // Although the data has been decrypted by ASIC,
- // driver has to calculate the RxMIC which required the key.
-@@ -1221,7 +1240,7 @@
- if ((pAdapter->PortCfg.AuthMode >= Ndis802_11AuthModeWPA) && (pHeader->Controlhead.Frame.Wep))
- {
- INT idx;
--
-+
- // First lookup the DA, if it's a group address, use GROUP key
- if (pRxD->Bcast || pRxD->Mcast)
- {
-@@ -1231,7 +1250,7 @@
- #else
- idx = (pRxD->Iv & 0xc0000000) >> 30;
- #endif
-- if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
-+ if ((pAdapter->PortCfg.GroupKey[idx].KeyLen != 0) &&
- ((INFRA_ON(pAdapter) && (NdisEqualMemory(&pHeader->Controlhead.Addr2, &pAdapter->PortCfg.Bssid, 6))) ||
- (ADHOC_ON(pAdapter) && (NdisEqualMemory(&pHeader->Addr3, &pAdapter->PortCfg.Bssid, 6)))))
- {
-@@ -1254,22 +1273,22 @@
- break;
- }
- }
--#if 1
-+#if 1
- // Use default Group Key if there is no Pairwise key present
- if ((pWpaKey == NULL) && (pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
- {
-- pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
-+ pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.GroupKey[pAdapter->PortCfg.DefaultKeyId];
- pWpaKey->Type = GROUP_KEY;
- DBGPRINT(RT_DEBUG_INFO, "Rx Use Group Key\n");
- }
--#endif
-+#endif
- }
-
- // If there is no WPA key matched, this frame should be dropped
- if (pWpaKey == NULL)
- pRxD->Drop = 1;
- }
--
-+
- //
- // Start of main loop to parse receiving frames.
- // The sequence will be Type first, then subtype...
-@@ -1287,10 +1306,10 @@
- pSrcMac = (PUCHAR) &(pHeader->Addr3);
- else
- pSrcMac = (PUCHAR) &(pHeader->Controlhead.Addr2);
--
-+
- // Process Broadcast & Multicast data frame
- if (pRxD->Bcast || pRxD->Mcast)
-- {
-+ {
- // For TKIP frame, calculate the MIC value
- if (pRxD->CipherAlg == CIPHER_TKIP)
- {
-@@ -1302,7 +1321,7 @@
- Status = NDIS_STATUS_FAILURE;
- break;
- }
--
-+
- // Minus MIC length
- PacketSize -= 8;
- if (RTMPTkipCompareMICValue(
-@@ -1313,7 +1332,7 @@
- pWpaKey->RxMic,
- PacketSize) == FALSE)
- {
-- DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
-+ DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
- RTMPReportMicError(pAdapter, pWpaKey);
- Status = NDIS_STATUS_FAILURE;
- break;
-@@ -1329,21 +1348,17 @@
- // Rx TSC has done one full cycle, since re-key is done by transmitter
- // We did not do anything for Rx path
- }
--
-+
- // build 802.3 header and decide if remove the 8-byte LLC/SNAP encapsulation
- CONVERT_TO_802_3(Header802_3, pDestMac, pSrcMac, pData, PacketSize);
--
-+
- pAdapter->PortCfg.LedCntl.fRxActivity = TRUE; // for RX ACTIVITY LED
-
- // For miniportTransferData
- pAdapter->pRxData = pData;
--
-+
- // Acknolwdge upper layer the received frame
--#ifdef RTMP_EMBEDDED
- if ((skb = __dev_alloc_skb(PacketSize + LENGTH_802_3 + 2, GFP_DMA|GFP_ATOMIC)) != NULL)
--#else
-- if ((skb = dev_alloc_skb(PacketSize + LENGTH_802_3 + 2)) != NULL)
--#endif
- {
- skb->dev = pAdapter->net_dev;
- skb_reserve(skb, 2); // 16 byte align the IP header
-@@ -1354,10 +1369,10 @@
- pAdapter->net_dev->last_rx = jiffies;
- pAdapter->stats.rx_packets++;
- }
--
-+
- DBGPRINT(RT_DEBUG_INFO, "!!! Broadcast Ethenet rx Indicated !!!\n");
- }
--
-+
- // Begin process unicast to me frame
- else if (pRxD->U2M || pAdapter->bAcceptPromiscuous == TRUE)
- {
-@@ -1383,12 +1398,12 @@
- else if (pRxD->BBR0 == 110)
- pAdapter->LastRxRate = 3;
- }
--
-+
- if (pHeader->Frag == 0) // First or Only fragment
- {
- // For TKIP frame, calculate the MIC value
- if ((pHeader->Controlhead.Frame.MoreFrag == FALSE) &&
-- (pRxD->CipherAlg == CIPHER_TKIP) &&
-+ (pRxD->CipherAlg == CIPHER_TKIP) &&
- (pHeader->Controlhead.Frame.Wep))
- {
- if (pWpaKey == NULL)
-@@ -1407,17 +1422,17 @@
- pWpaKey->RxMic,
- PacketSize) == FALSE)
- {
-- DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
-+ DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error\n");
- RTMPReportMicError(pAdapter, pWpaKey);
- Status = NDIS_STATUS_FAILURE;
- break;
- }
- }
--
-+
- pAdapter->FragFrame.Flags &= 0xFFFFFFFE;
--
-+
- // Check for encapsulation other than RFC1042 & Bridge tunnel
-- if ((!RTMPEqualMemory(SNAP_802_1H, pData, 6)) &&
-+ if ((!RTMPEqualMemory(SNAP_802_1H, pData, 6)) &&
- (!RTMPEqualMemory(SNAP_BRIDGE_TUNNEL, pData, 6)))
- {
- LLC_Len[0] = PacketSize / 256;
-@@ -1427,13 +1442,13 @@
- else
- {
- char *pProto = pData + 6;
--
-+
- // Remove 802.11 H header & reconstruct 802.3 header
- // pData += (LENGTH_802_1_H - LENGTH_802_3_TYPE);
- // Check for EAPOL frame when driver supplicant enabled
- // TODO: It is not strickly correct. There is no fragment handling. It might damage driver
- // TODO: But for WPAPSK, it's not likely fragment on EAPOL frame will happen
-- if (RTMPEqualMemory(EAPOL, pProto, 2) && ((pAdapter->PortCfg.WpaState != SS_NOTUSE)))
-+ if (RTMPEqualMemory(EAPOL, pProto, 2) && ((pAdapter->PortCfg.WpaState != SS_NOTUSE)))
- {
- RTMP_IO_READ32(pAdapter, CSR17, &High32TSF); // TSF value
- RTMP_IO_READ32(pAdapter, CSR16, &Low32TSF); // TSF vlaue
-@@ -1441,16 +1456,16 @@
- // Enqueue this frame to MLME engine
- MlmeEnqueueForRecv(
- pAdapter,
-- &pAdapter->Mlme.Queue,
-- High32TSF,
-+ &pAdapter->Mlme.Queue,
-+ High32TSF,
- Low32TSF,
-- (UCHAR)pRxD->BBR1, (UCHAR)pAdapter->PortCfg.LastR17Value,
-- PacketSize,
-- pManage);
-+ (UCHAR)pRxD->BBR1, (UCHAR)pAdapter->PortCfg.LastR17Value,
-+ PacketSize,
-+ pManage);
- break;
- }
-
-- if ((RTMPEqualMemory(IPX, pProto, 2) || RTMPEqualMemory(APPLE_TALK, pProto, 2)) &&
-+ if ((RTMPEqualMemory(IPX, pProto, 2) || RTMPEqualMemory(APPLE_TALK, pProto, 2)) &&
- RTMPEqualMemory(SNAP_802_1H, pData, 6))
- {
- // preserved the LLC/SNAP filed
-@@ -1468,21 +1483,17 @@
- pAdapter->FragFrame.Flags |= 0x01;
- }
- }
--
-+
- // One & The only fragment
- if (pHeader->Controlhead.Frame.MoreFrag == FALSE)
- {
- // For miniportTransferData
- pAdapter->pRxData = pData;
--
-+
- pAdapter->PortCfg.LedCntl.fRxActivity = TRUE; // for RX ACTIVITY LED
-
- // Acknowledge upper layer the received frame
--#ifdef RTMP_EMBEDDED
- if ((skb = __dev_alloc_skb(PacketSize + LENGTH_802_3 + 2, GFP_DMA|GFP_ATOMIC)) != NULL)
--#else
-- if ((skb = dev_alloc_skb(PacketSize + LENGTH_802_3 + 2)) != NULL)
--#endif
- {
- skb->dev = pAdapter->net_dev;
- skb_reserve(skb, 2); // 16 byte align the IP header
-@@ -1499,7 +1510,7 @@
-
- // Increase general counters
- pAdapter->Counters.GoodReceives++;
--
-+
- }
- // First fragment of fragmented frames
- else
-@@ -1516,7 +1527,7 @@
- else
- {
- // No LLC-SNAP header in except the first fragment frame
--
-+
- if ((pHeader->Sequence != pAdapter->FragFrame.Sequence) ||
- (pHeader->Frag != (pAdapter->FragFrame.LastFrag + 1)))
- {
-@@ -1525,7 +1536,7 @@
- memset(&pAdapter->FragFrame, 0, sizeof(FRAGMENT_FRAME));
- Status = NDIS_STATUS_FAILURE;
- break;
-- }
-+ }
- else if ((pAdapter->FragFrame.RxSize + PacketSize) > MAX_FRAME_SIZE)
- {
- // Fragment frame is too large, it exeeds the maximum frame size.
-@@ -1535,12 +1546,12 @@
- Status = NDIS_STATUS_FAILURE;
- break;
- }
--
-+
- // concatenate this fragment into the re-assembly buffer
- memcpy(&pAdapter->FragFrame.Buffer[LENGTH_802_3 + pAdapter->FragFrame.RxSize], pData, PacketSize);
- pAdapter->FragFrame.RxSize += PacketSize;
- pAdapter->FragFrame.LastFrag = pHeader->Frag; // Update fragment number
--
-+
- // Last fragment
- if (pHeader->Controlhead.Frame.MoreFrag == FALSE)
- {
-@@ -1555,7 +1566,7 @@
- }
- // Minus MIC length
- pAdapter->FragFrame.RxSize -= 8;
--
-+
- if (pAdapter->FragFrame.Flags & 0x00000001)
- {
- // originally there's an LLC/SNAP field in the first fragment
-@@ -1563,9 +1574,9 @@
- // this LLC/SNAP field upon calculating TKIP MIC
- // Copy LLC data to the position in front of real data for MIC calculation
- memcpy(&pAdapter->FragFrame.Buffer[LENGTH_802_3 - LENGTH_802_1_H],
-- pAdapter->FragFrame.Header_LLC,
-+ pAdapter->FragFrame.Header_LLC,
- LENGTH_802_1_H);
-- pData = (PUCHAR) &pAdapter->FragFrame.Buffer[LENGTH_802_3 - LENGTH_802_1_H];
-+ pData = (PUCHAR) &pAdapter->FragFrame.Buffer[LENGTH_802_3 - LENGTH_802_1_H];
- PacketSize = (USHORT)pAdapter->FragFrame.RxSize + LENGTH_802_1_H;
- //cketSize = (USHORT)pAdapter->FragFrame.RxSize + 8;
- }
-@@ -1583,29 +1594,25 @@
- pWpaKey->RxMic,
- PacketSize) == FALSE)
- {
-- DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error 2\n");
-+ DBGPRINT(RT_DEBUG_ERROR,"Rx MIC Value error 2\n");
- RTMPReportMicError(pAdapter, pWpaKey);
- Status = NDIS_STATUS_FAILURE;
- break;
- }
--
-+
- // TODO:
- // Getting RxTSC from Rx descriptor
-- }
-+ }
-
- // for RX ACTIVITY LED
-- pAdapter->PortCfg.LedCntl.fRxActivity = TRUE;
-+ pAdapter->PortCfg.LedCntl.fRxActivity = TRUE;
-
- // For miniportTransferData
- pAdapter->pRxData = &pAdapter->FragFrame.Buffer[LENGTH_802_3];
-
- memcpy(pAdapter->FragFrame.Buffer, pAdapter->FragFrame.Header802_3, LENGTH_802_3);
- // Acknowledge upper layer the received frame
--#ifdef RTMP_EMBEDDED
- if ((skb = __dev_alloc_skb(pAdapter->FragFrame.RxSize + LENGTH_802_3 + 2, GFP_DMA|GFP_ATOMIC)) != NULL)
--#else
-- if ((skb = dev_alloc_skb(pAdapter->FragFrame.RxSize + LENGTH_802_3 + 2)) != NULL)
--#endif
- {
- skb->dev = pAdapter->net_dev;
- skb_reserve(skb, 2); /* 16 byte align the IP header */
-@@ -1619,7 +1626,7 @@
-
- // Increase general counters
- pAdapter->Counters.GoodReceives++;
--
-+
- // Clear Fragment frame contents
- memset(&pAdapter->FragFrame, 0, sizeof(FRAGMENT_FRAME));
- DBGPRINT(RT_DEBUG_INFO, "!!! Frame with Fragment Indicated !!!\n");
-@@ -1627,42 +1634,42 @@
- }
- }
- break;
--
-+
- case BTYPE_MGMT:
- // Read required regsiter for MLME engine
- RTMP_IO_READ32(pAdapter, CSR17, &High32TSF); // TSF value
- RTMP_IO_READ32(pAdapter, CSR16, &Low32TSF); // TSF vlaue
--
-+
- // Enqueue this frame to MLME engine
- MlmeEnqueueForRecv(
- pAdapter,
-- &pAdapter->Mlme.Queue,
-- High32TSF,
-+ &pAdapter->Mlme.Queue,
-+ High32TSF,
- Low32TSF,
- (UCHAR)pRxD->BBR1,
-- (UCHAR)pAdapter->PortCfg.LastR17Value,
-- pRxD->DataByteCnt,
-- pManage);
-+ (UCHAR)pAdapter->PortCfg.LastR17Value,
-+ pRxD->DataByteCnt,
-+ pManage);
- break;
--
-+
- case BTYPE_CNTL:
- // Ignore ???
- break;
--
-+
- default :
- break;
- }
- }
--
-+
- pAdapter->CurDecryptIndex++;
- if (pAdapter->CurDecryptIndex >= RX_RING_SIZE)
- {
- pAdapter->CurDecryptIndex = 0;
- }
- Count++;
--
-+
- pAdapter->RalinkCounters.DecryptCount ++;
--
-+
- // Clear Cipherowner bit & Rx Owner bit for all drop & non-drop frames
- pRxD->CipherOwner = DESC_OWN_HOST;
- pRxD->Owner = DESC_OWN_NIC;
-@@ -1673,7 +1680,7 @@
- }
- //} while (Count < RX_RING_SIZE);
- //} while (pAdapter->CurDecryptIndex != HwDecryptIndex);
--
-+
- // Make sure to release Rx ring resource
- spin_unlock_irqrestore(&pAdapter->RxRingLock, irqflag);
- }
-@@ -1706,10 +1713,10 @@
- ULONG RegValue;
- ULONGLONG HwEncryptIndex;
- unsigned long irqflag;
--
-+
- // Make sure Prio ring resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
--
-+ spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
-+
- RTMP_IO_READ32(pAdapter, SECCSR1, &RegValue);
- HwEncryptIndex = RegValue - pAdapter->TxRing[0].pa_addr;
- do_div(HwEncryptIndex, RING_DESCRIPTOR_SIZE);
-@@ -1749,17 +1756,18 @@
- *pTmp = Eiv_Tmp[3];
- *(pTmp + 1) = Eiv_Tmp[2];
- *(pTmp + 2) = Eiv_Tmp[1];
-- *(pTmp + 3) = Eiv_Tmp[0];
-+ *(pTmp + 3) = Eiv_Tmp[0];
- }
- // Sanity Check, CurTxIndex should equal to NextEncryptDoneIndex
- // ASSERT(pAdapter->CurTxIndex == pAdapter->NextEncryptDoneIndex);
--
-+
- pTxD->Valid = TRUE;
- pTxD->Owner = DESC_OWN_NIC;
-
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-+ //*pDestTxD = TxD;
-+ WriteBackToDescriptor((PUCHAR)pDestTxD, (PUCHAR)pTxD, FALSE, TYPE_TXD);
- #endif
-
- pAdapter->NextEncryptDoneIndex++;
-@@ -1778,9 +1786,9 @@
-
- // Kick Tx Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, TXCSR0, 0x1);
--
-+
- // Make sure to release Tx ring resource
-- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- }
-
- /*
-@@ -1854,7 +1862,7 @@
- INC_COUNTER(pAdapter->WlanCounters.RTSSuccessCount);
- pTxD->RTS = 0;
- }
--
-+
- // Increase general counters
- pAdapter->Counters.GoodTransmits++;
- INC_COUNTER(pAdapter->WlanCounters.TransmittedFragmentCount);
-@@ -1865,22 +1873,22 @@
- pAdapter->DrsCounters.OneSecTxOkCount ++;
- }
- break;
--
-+
- case SUCCESS_WITH_RETRY: // Success with some retry
- // DBGPRINT(RT_DEBUG_INFO, "TX Success with retry(=%d)<<<\n",pTxD->RetryCount);
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.RetryCount);
- INC_COUNTER(pAdapter->WlanCounters.ACKFailureCount);
- INC_COUNTER(pAdapter->WlanCounters.TransmittedFragmentCount);
--
-+
- // Increase general counters
- pAdapter->Counters.GoodTransmits++;
--
-+
- if (pTxD->RetryCount > 1)
- {
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.MultipleRetryCount);
--
-+
- // Increase general counters
- pAdapter->Counters.MoreCollisions++;
- }
-@@ -1889,7 +1897,7 @@
- // Increase general counters
- pAdapter->Counters.OneCollision++;
- }
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSSuccessCount);
-@@ -1901,7 +1909,7 @@
- {
- if (pTxD->TxRate > pAdapter->PortCfg.TxRate)
- {
-- // DRS - must be NULL frame retried @ UpRate; downgrade
-+ // DRS - must be NULL frame retried @ UpRate; downgrade
- // TxQuality[UpRate] so that not upgrade TX rate
- pAdapter->DrsCounters.TxQuality[pTxD->TxRate] += 2;
- if (pAdapter->DrsCounters.TxQuality[pTxD->TxRate] > DRS_TX_QUALITY_WORST_BOUND)
-@@ -1917,10 +1925,10 @@
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.FailedCount);
- INC_COUNTER(pAdapter->WlanCounters.ACKFailureCount);
--
-+
- // Increase general counters
- pAdapter->Counters.TxErrors++;
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSFailureCount);
-@@ -1932,7 +1940,7 @@
- {
- if (pTxD->TxRate > pAdapter->PortCfg.TxRate)
- {
-- // DRS - must be NULL frame failed @ UpRate; downgrade
-+ // DRS - must be NULL frame failed @ UpRate; downgrade
- // TxQuality[UpRate] so that not upgrade TX rate
- pAdapter->DrsCounters.TxQuality[pTxD->TxRate] = DRS_TX_QUALITY_WORST_BOUND;
- }
-@@ -1942,35 +1950,35 @@
- }
- }
- break;
--
-+
- case FAIL_INVALID:
- // DBGPRINT(RT_DEBUG_WARN, ("TX Failed (INVALID)<<<\n"));
- // Increase general counters
- pAdapter->Counters.TxErrors++;
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSFailureCount);
- pTxD->RTS = 0;
- }
-- break;
--
-+ break;
-+
- case FAIL_OTHER:
- default:
- // DBGPRINT(RT_DEBUG_ERROR, ("TX Failed (other=%d)<<<\n",pTxD->TxResult));
- // Increase 802.11 counters
- INC_COUNTER(pAdapter->WlanCounters.FailedCount);
- INC_COUNTER(pAdapter->WlanCounters.ACKFailureCount);
--
-+
- // Increase general counters
- pAdapter->Counters.TxErrors++;
--
-+
- if (pTxD->RTS)
- {
- INC_COUNTER(pAdapter->WlanCounters.RTSFailureCount);
- pTxD->RTS = 0;
- }
-- break;
-+ break;
- }
- }
-
-@@ -1980,19 +1988,19 @@
- Routine Description:
- API for MLME to transmit management frame to AP (BSS Mode)
- or station (IBSS Mode)
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- Buffer Pointer to memory of outgoing frame
- Length Size of outgoing management frame
--
-+
- Return Value:
- NDIS_STATUS_FAILURE
- NDIS_STATUS_PENDING
- NDIS_STATUS_SUCCESS
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS MiniportMMRequest(
-@@ -2001,28 +2009,28 @@
- IN ULONG Length)
- {
- PMGMT_STRUC pMgmt;
-- NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
-+ NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
- unsigned long irqflag;
-
- DBGPRINT(RT_DEBUG_INFO, "---> MiniportMMRequest\n");
- // Check management ring free avaliability
- pMgmt = (PMGMT_STRUC) &pAdapter->MgmtRing[pAdapter->PushMgmtIndex];
--
-+
- // This management cell has been occupied
-- if (pMgmt->Valid == TRUE)
-+ if (pMgmt->Valid == TRUE)
- {
- // No Management ring buffer avaliable
- MlmeFreeMemory(pAdapter, pBuffer);
-- Status = NDIS_STATUS_FAILURE;
-+ Status = NDIS_STATUS_FAILURE;
- DBGPRINT(RT_DEBUG_WARN, "<--- MiniportMMRequest (error:: MgmtRing full)\n");
- pAdapter->RalinkCounters.MgmtRingFullCount++;
- return (Status);
- }
--
-+
- // Insert this request into software managemnet ring
- if (pBuffer)
- {
-- pMgmt->pBuffer = pBuffer;
-+ pMgmt->pBuffer = pBuffer;
- pMgmt->Length = Length;
- pMgmt->Valid = TRUE;
- pAdapter->PushMgmtIndex++;
-@@ -2031,19 +2039,19 @@
- {
- pAdapter->PushMgmtIndex = 0;
- }
-- }
-+ }
- else
- {
- // Null pBuffer, no need to free memory buffer.
- // This should not happen
- DBGPRINT(RT_DEBUG_WARN, "<--- MiniportMMRequest (error:: NULL msg)\n");
-- Status = NDIS_STATUS_FAILURE;
-+ Status = NDIS_STATUS_FAILURE;
- return (Status);
- }
--
-+
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF))
- return (Status);
--
-+
- // Check Free priority queue
- spin_lock_irqsave(&pAdapter->PrioRingLock, irqflag);
- if (RTMPFreeDescriptorRequest(pAdapter, PRIO_RING, 1) == NDIS_STATUS_SUCCESS)
-@@ -2076,21 +2084,21 @@
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware transmit function
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pBuffer Pointer to memory of outgoing frame
- Length Size of outgoing management frame
--
-+
- Return Value:
- NDIS_STATUS_FAILURE
- NDIS_STATUS_PENDING
- NDIS_STATUS_SUCCESS
-
- Note:
--
-+
- ========================================================================
- */
- VOID MlmeHardTransmit(
-@@ -2103,15 +2111,15 @@
- PTXD_STRUC pDestTxD;
- TXD_STRUC TxD;
- #endif
-- PUCHAR pDest;
-+ PUCHAR pDest;
- PHEADER_802_11 pHeader_802_11;
- BOOLEAN AckRequired, InsertTimestamp;
--
-+
- DBGPRINT(RT_DEBUG_INFO, "MlmeHardTransmit\n");
--
-+
- // Make sure Prio ring resource won't be used by other threads
--
-- pDest = (PUCHAR) pAdapter->PrioRing[pAdapter->CurPrioIndex].va_data_addr;
-+
-+ pDest = (PUCHAR) pAdapter->PrioRing[pAdapter->CurPrioIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->PrioRing[pAdapter->CurPrioIndex].va_addr;
- #else
-@@ -2120,7 +2128,7 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if (pTxD->Owner == DESC_OWN_NIC)
- {
- // Descriptor owned by NIC. No descriptor avaliable
-@@ -2138,10 +2146,10 @@
- // The buffer shouldn't be NULL
- return;
- }
--
-- // outgoing frame always wakeup PHY to prevent frame lost
-+
-+ // outgoing frame always wakeup PHY to prevent frame lost
- AsicForceWakeup(pAdapter);
--
-+
- pHeader_802_11 = (PHEADER_802_11) pBuffer;
- pHeader_802_11->Controlhead.Frame.PwrMgt = 0; // (pAdapter->PortCfg.Psm == PWR_SAVE);
- InsertTimestamp = FALSE;
-@@ -2175,7 +2183,7 @@
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pBuffer, DIR_WRITE, FALSE);
- #endif
- memcpy(pDest, pBuffer, Length);
--
-+
- // Initialize Priority Descriptor
- // For inter-frame gap, the number is for this frame and next frame
- // For MLME rate, we will fix as 2Mb to match other vendor's implement
-@@ -2193,28 +2201,28 @@
- {
- pAdapter->CurPrioIndex = 0;
- }
--
-+
- // Kick priority ring transmit
- RTMP_IO_WRITE32(pAdapter,TXCSR0,0x4);
--
-+
- // Make sure to release Prio ring resource
--}
-+}
- /*
- ========================================================================
-
- Routine Description:
- This routine is used to en-queue outgoing packets when
- there is no enough shread memory
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pPacket Pointer to send packet
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPSendPacket(
-@@ -2225,51 +2233,42 @@
- UINT AllowFragSize;
- UCHAR NumberOfFrag;
- UCHAR RTSRequired;
-- NDIS_STATUS Status = NDIS_STATUS_FAILURE;
-- UCHAR PsMode;
--
-+
- struct sk_buff_head *pTxQueue = NULL;
- ULONG Priority;
- UCHAR AccessCategory;
- unsigned long irqflag;
--
-- DBGPRINT(RT_DEBUG_INFO, "<==== RTMPSendPacket\n");
-
-- // Init priority value
-- Priority = 0;
-- AccessCategory = 0;
--
-- if (skb)
-- {
-- Priority = skb->priority;
-- // 802.11e/d4.4 June, 2003
-- if (Priority <=2)
-- AccessCategory = 0;
-- else if (Priority == 3)
-- AccessCategory = 1;
-- else if (Priority <= 5)
-- AccessCategory = 2;
-- else
-- AccessCategory = 3;
-- DBGPRINT(RT_DEBUG_INFO, "Priority = %d, AC = %d\n", Priority, AccessCategory);
-- }
-+ DBGPRINT(RT_DEBUG_INFO, "====> RTMPSendPacket\n");
-+
-+ if (skb == NULL)
-+ return NDIS_STATUS_SUCCESS;
-+
-+ Priority = skb->priority;
-+ // 802.11e/d4.4 June, 2003
-+ if (Priority <=2)
-+ AccessCategory = 0;
-+ else if (Priority == 3)
-+ AccessCategory = 1;
-+ else if (Priority <= 5)
-+ AccessCategory = 2;
-+ else
-+ AccessCategory = 3;
-+ DBGPRINT(RT_DEBUG_INFO, "Priority = %d, AC = %d\n", Priority,
-+ AccessCategory);
-
- // For TKIP, MIC value is treated as payload, it might be fragmented through
- // different MPDUs.
- if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
-- {
- skb->data_len += 8;
-- }
-
- pVirtualAddress = (PVOID)skb->data;
-
- // Check for virtual address allocation, it might fail !!!
- if (pVirtualAddress == NULL)
-- {
-- // Resourece is low, system did not allocation virtual address
-+ // Resource is low, system did not allocate virtual address
- // return NDIS_STATUS_FAILURE directly to upper layer
-- return (Status);
-- }
-+ return NDIS_STATUS_FAILURE;
-
- // Store Ethernet MAC address when APClinet mode on
- if ((pAdapter->PortCfg.StaWithEtherBridge.Enable)
-@@ -2296,7 +2295,7 @@
- pAdapter->CurrentAddress[3] = StaMacReg0.field.Byte3;
- pAdapter->CurrentAddress[4] = StaMacReg1.field.Byte4;
- pAdapter->CurrentAddress[5] = StaMacReg1.field.Byte5;
--
-+
- RTMP_IO_WRITE32(pAdapter, CSR3, StaMacReg0.word);
- RTMP_IO_WRITE32(pAdapter, CSR4, StaMacReg1.word);
-
-@@ -2304,7 +2303,7 @@
- pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[0],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[1],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[2],
- pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[3],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[4],pAdapter->PortCfg.StaWithEtherBridge.EtherMacAddr.Octet[5]);
- }
--
-+
- //
- // Check for multicast or broadcast (First byte of DA)
- //
-@@ -2322,37 +2321,30 @@
- NumberOfFrag = ((skb->data_len - LENGTH_802_3 + LENGTH_802_1_H) / AllowFragSize) + 1;
- // Minus 1 if the size just match to allowable fragment size
- if (((skb->data_len - LENGTH_802_3 + LENGTH_802_1_H) % AllowFragSize) == 0)
-- {
- NumberOfFrag--;
-- }
- }
-
-- // Check for requirement of RTS
-+ // Check for requirement of RTS
- if (NumberOfFrag > 1)
-- {
- // If multiple fragment required, RTS is required only for the first fragment
- // if the fragment size large than RTS threshold
- RTSRequired = (pAdapter->PortCfg.FragmentThreshold > pAdapter->PortCfg.RtsThreshold) ? 1 : 0;
-- }
- else
-- {
- RTSRequired = (skb->data_len > pAdapter->PortCfg.RtsThreshold) ? 1 : 0;
-- }
-- DBGPRINT(RT_DEBUG_INFO, "Number of fragments include RTS :%d\n", NumberOfFrag + RTSRequired);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Number of fragments include RTS :%d\n",
-+ NumberOfFrag + RTSRequired);
-+
-+ // RTS/CTS may also be required in order to protect OFDM frame
-+ if ((pAdapter->PortCfg.TxRate >= RATE_FIRST_OFDM_RATE) && pAdapter->PortCfg.BGProtectionInUsed)
-+ RTSRequired = 1;
-
-- // RTS/CTS may also be required in order to protect OFDM frame
-- if ((pAdapter->PortCfg.TxRate >= RATE_FIRST_OFDM_RATE) && pAdapter->PortCfg.BGProtectionInUsed)
-- RTSRequired = 1;
--
- // Save framnet number to Ndis packet reserved field
- RTMP_SET_PACKET_FRAGMENTS(skb, NumberOfFrag);
-
- // Save RTS requirement to Ndis packet reserved field
- RTMP_SET_PACKET_RTS(skb, RTSRequired);
-
-- // Make sure SendTxWait queue resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
--
- // Select the right priority queue
- // There should be no else statement since it should always fall within 0-3
- if (AccessCategory== 0)
-@@ -2363,56 +2355,49 @@
- pTxQueue = &pAdapter->TxSwQueue2;
- else if (AccessCategory== 3)
- pTxQueue = &pAdapter->TxSwQueue3;
--
-+
- //
- // For infrastructure mode, enqueue this frame immediately to sendwaitqueue
- // For Ad-hoc mode, check the DA power state, then decide which queue to enqueue
- //
-- if (INFRA_ON(pAdapter))
-- {
-- // In infrastructure mode, simply enqueue the packet into Tx waiting queue.
-- DBGPRINT(RT_DEBUG_INFO, "Infrastructure -> Enqueue one frame\n");
--
-- // Enqueue Ndis packet to end of Tx wait queue
-- skb_queue_tail(pTxQueue, skb);
-- Status = NDIS_STATUS_SUCCESS;
-- }
-- else
-- {
-- // In IBSS mode, power state of destination should be considered.
-- PsMode = PWR_ACTIVE; // Faked
-- if (PsMode == PWR_ACTIVE)
-- {
-- DBGPRINT(RT_DEBUG_INFO,"Ad-Hoc -> Enqueue one frame\n");
--
-+ if (INFRA_ON(pAdapter)) {
-+ // In infrastructure mode, simply enqueue the packet into Tx waiting queue.
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "<=== RTMPSendPacket Infrastructure -> Enqueue one frame\n");
- // Enqueue Ndis packet to end of Tx wait queue
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
- skb_queue_tail(pTxQueue, skb);
-- Status = NDIS_STATUS_SUCCESS;
-- }
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-+ return NDIS_STATUS_SUCCESS;
- }
--
-+ // Ad-hoc mode (power state of destination might be considered).
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "<=== RTMPSendPacket Ad-Hoc -> Enqueue one frame\n");
-+ // Enqueue Ndis packet to end of Tx wait queue
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
-+ skb_queue_tail(pTxQueue, skb);
- spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-- return (Status);
-+ return NDIS_STATUS_SUCCESS;
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- To do the enqueue operation and extract the first item of waiting
-- list. If a number of available shared memory segments could meet
-+ To do the enqueue operation and extract the first item of waiting
-+ list. If a number of available shared memory segments could meet
- the request of extracted item, the extracted item will be fragmented
- into shared memory segments.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pQueue Pointer to Waiting Queue
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPDeQueuePacket(
-@@ -2424,69 +2409,64 @@
- struct sk_buff_head *pQueue;
- UCHAR AccessCategory;
- struct sk_buff *skb;
-- unsigned long irqflag;
--
-- // Make sure SendTxWait queue resource won't be used by other threads
-- spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
-+ unsigned long irqflag;
-
-- while (Count < MAX_TX_PROCESS)
-- // Check queue before dequeue
-- // while ((pQueue->Head != NULL) && (Count < MAX_TX_PROCESS))
-- {
-+ while (Count < MAX_TX_PROCESS) {
- // Reset is in progress, stop immediately
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RESET_IN_PROGRESS))
- break;
-
- pQueue = RTMPCheckTxSwQueue(pAdapter, &AccessCategory);
- if(!pQueue)
-- break;
-+ break;
-
- // Dequeue the first entry from head of queue list
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
- skb = skb_dequeue(pQueue);
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-
- if(!skb)
-- break;
-+ break;
-
- // RTS or CTS-to-self for B/G protection mode has been set already.
-- // There is no need to re-do it here.
-+ // There is no need to re-do it here.
- // Total fragment required = number of fragment + RST if required
- FragmentRequired = RTMP_GET_PACKET_FRAGMENTS(skb) + RTMP_GET_PACKET_RTS(skb);
--
-- if (RTMPFreeDescriptorRequest(pAdapter, TX_RING, FragmentRequired) == NDIS_STATUS_SUCCESS)
-- {
-- // Avaliable ring descriptors are enough for this frame
-- // Call hard transmit
-- Status = RTMPHardEncrypt(pAdapter, skb, FragmentRequired, pAdapter->PortCfg.EnableTxBurst, AccessCategory);
-
-- if (Status == NDIS_STATUS_FAILURE)
-- {
-- // Packet failed due to various Ndis Packet error
-- dev_kfree_skb_irq(skb);
-- break;
-- }
-- else if (Status == NDIS_STATUS_RESOURCES)
-- {
-- // Not enough free tx ring, it might happen due to free descriptor inquery might be not correct
-- // It also might change to NDIS_STATUS_FAILURE to simply drop the frame
-- // Put the frame back into head of queue
-- skb_queue_head(pQueue, skb);
-- break;
-- }
-- Count++;
-- }
-- else
-- {
-+ if (RTMPFreeDescriptorRequest(pAdapter, TX_RING,
-+ FragmentRequired) != NDIS_STATUS_SUCCESS) {
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
- skb_queue_head(pQueue, skb);
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
- pAdapter->PrivateInfo.TxRingFullCnt++;
-- DBGPRINT(RT_DEBUG_INFO,"RTMPDequeuePacket --> Not enough free Tx Ring descriptor (CurEncryptIndex=%d,CurTxIndex=%d, NextTxDoneIndex=%d)!!!\n",
-- pAdapter->CurEncryptIndex, pAdapter->CurTxIndex, pAdapter->NextTxDoneIndex);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "RTMPDequeuePacket --> Not enough free Tx Ring descriptor (CurEncryptIndex=%d,CurTxIndex=%d, NextTxDoneIndex=%d)!!!\n",
-+ pAdapter->CurEncryptIndex,
-+ pAdapter->CurTxIndex,
-+ pAdapter->NextTxDoneIndex);
- break;
- }
-+ // Available ring descriptors are enough for this frame
-+ // Call hard transmit
-+ Status = RTMPHardEncrypt(pAdapter, skb, FragmentRequired, pAdapter->PortCfg.EnableTxBurst, AccessCategory);
-+ if (Status == NDIS_STATUS_FAILURE) {
-+ // Packet failed due to various Ndis Packet error
-+ dev_kfree_skb_irq(skb);
-+ break;
-+ } else if (Status == NDIS_STATUS_RESOURCES) {
-+ // Not enough free tx ring, it might happen due to free descriptor inquery might be not correct
-+ // It also might change to NDIS_STATUS_FAILURE to simply drop the frame
-+ // Put the frame back into head of queue
-+ spin_lock_irqsave(&pAdapter->TxSwQueueLock, irqflag);
-+ skb_queue_head(pQueue, skb);
-+ spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
-+ break;
-+ }
-+
-+ Count++;
- }
-
-- // Release TxSwQueue0 resources
-- spin_unlock_irqrestore(&pAdapter->TxSwQueueLock, irqflag);
--}
-+}
-
- /*
- ========================================================================
-@@ -2494,17 +2474,17 @@
- Routine Description:
- This subroutine will scan through releative ring descriptor to find
- out avaliable free ring descriptor and compare with request size.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- RingType Selected Ring
--
-+
- Return Value:
- NDIS_STATUS_FAILURE Not enough free descriptor
- NDIS_STATUS_SUCCESS Enough free descriptor
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPFreeDescriptorRequest(
-@@ -2557,18 +2537,18 @@
- {
- Index = 0;
- }
--
-+
- } while (FreeNumber < NumberRequired); // Quit here ! Free number is enough !
--
-+
- if (FreeNumber >= NumberRequired)
- {
- Status = NDIS_STATUS_SUCCESS;
- }
--
-+
- // Make sure to release Tx ring resource
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- break;
--
-+
- case PRIO_RING:
- Index = pAdapter->CurPrioIndex;
- do
-@@ -2581,7 +2561,7 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- // While Owner bit is NIC, obviously ASIC still need it.
- // If valid bit is TRUE, indicate that TxDone has not process yet
- // We should not use it until TxDone finish cleanup job
-@@ -2594,26 +2574,26 @@
- {
- break;
- }
--
-+
- Index++;
- if (Index >= PRIO_RING_SIZE) // Wrap around issue
- {
- Index = 0;
- }
--
-+
- } while (FreeNumber < NumberRequired); // Quit here ! Free number is enough !
--
-+
- if (FreeNumber >= NumberRequired)
- {
- Status = NDIS_STATUS_SUCCESS;
- }
--
-+
- break;
-
- default:
- break;
- }
--
-+
- return (Status);
- }
-
-@@ -2631,7 +2611,7 @@
- TXD_STRUC TxD;
- #endif
- unsigned long irqflag;
--
-+
- if (pBuffer == NULL)
- {
- return;
-@@ -2642,19 +2622,19 @@
- MlmeFreeMemory(pAdapter, pBuffer);
- return;
- }
--
-+
- // WPA 802.1x secured port control
-- if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
-- (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED))
-+ (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED))
- {
- MlmeFreeMemory(pAdapter, pBuffer);
- return;
-- }
--
-+ }
-+
- FrameGap = IFS_BACKOFF; // Default frame gap mode
-
-- // outgoing frame always wakeup PHY to prevent frame lost and
-+ // outgoing frame always wakeup PHY to prevent frame lost and
- // turn off PSM bit to improve performance
- AsicForceWakeup(pAdapter);
- #if 0
-@@ -2664,13 +2644,13 @@
- DBGPRINT(RT_DEBUG_TRACE,("Drop Null frame due to Tx queue not empty!\n"));
- }
- else
--#endif
-+#endif
- {
- // Make sure Tx ring resource won't be used by other threads
- spin_lock_irqsave(&pAdapter->TxRingLock, irqflag);
--
-+
- // Get the Tx Ring descriptor & Dma Buffer address
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-@@ -2679,11 +2659,11 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_HOST) && (pTxD->CipherOwn == DESC_OWN_HOST) && (pTxD->Valid == FALSE))
- {
- HEADER_802_11 *pHeader_802_11;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - send NULL Frame @%d Mbps...\n", RateIdToMbps[TxRate]);
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, (PUCHAR)pBuffer, DIR_WRITE, FALSE);
-@@ -2693,14 +2673,14 @@
-
- pHeader_802_11 = (PHEADER_802_11) pDest;
- pHeader_802_11->Controlhead.Frame.PwrMgt = (pAdapter->PortCfg.Psm == PWR_SAVE);
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- pTxD = pDestTxD;
- #endif
-
-- RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, TRUE, FALSE, FALSE, LONG_RETRY, IFS_BACKOFF,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, TRUE, FALSE, FALSE, LONG_RETRY, IFS_BACKOFF,
- TxRate, 4, Length, pAdapter->PortCfg.TxPreambleInUsed, 0);
-
- // Increase & maintain Tx Ring Index
-@@ -2709,13 +2689,13 @@
- {
- pAdapter->CurEncryptIndex = 0;
- }
--
-+
- pAdapter->RalinkCounters.EncryptCount++;
-
- // Kick Encrypt Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
--
-- }
-+
-+ }
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- }
- MlmeFreeMemory(pAdapter, pBuffer);
-@@ -2725,20 +2705,20 @@
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware encryption before really
- sent out to air.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- PNDIS_PACKET Pointer to outgoing Ndis frame
- NumberOfFrag Number of fragment required
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPHardEncrypt(
-@@ -2794,7 +2774,7 @@
- if (pAdapter->PortCfg.BssType == BSS_MONITOR && pAdapter->PortCfg.MallowRFMONTx == TRUE)
- {
- pAdapter->TxRing[pAdapter->CurEncryptIndex].FrameType = BTYPE_DATA;
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
- memcpy(pDest,skb->data,skb->len);
-@@ -2812,25 +2792,25 @@
- FrameGap = IFS_SIFS;
- else
- FrameGap = IFS_BACKOFF; // Default frame gap mode
--
-- // outgoing frame always wakeup PHY to prevent frame lost and
-+
-+ // outgoing frame always wakeup PHY to prevent frame lost and
- // turn off PSM bit to improve performance
- if (pAdapter->PortCfg.Psm == PWR_SAVE)
- {
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
- }
- AsicForceWakeup(pAdapter);
--
-+
- // Sequence Number is identical for all fragments belonged to the same frame
- // Sequence is 0 - 4095
- pAdapter->Sequence = ((pAdapter->Sequence) + 1) & (MAX_SEQ_NUMBER);
--
-+
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
-
- pVirtualAddress = skb->data;
- NdisBufferLength = skb->len;
--
-+
- if ((*((PUCHAR) pVirtualAddress) & 0x01) != 0) // Multicast or Broadcast
- {
- INC_COUNTER(pAdapter->WlanCounters.MulticastTransmittedFrameCount);
-@@ -2843,7 +2823,7 @@
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_FAILURE);
- }
--
-+
- //
- // Start making 802.11 frame header
- //
-@@ -2855,14 +2835,14 @@
- memcpy(&Header_802_11.Addr3, (PUCHAR) pVirtualAddress, ETH_ALEN);
- Header_802_11.Controlhead.Frame.ToDs = 1;
- }
-- else
-+ else
- {
- // Address 1 - DA, Address 2 - this STA, Address 3 - BSSID
- memcpy(&Header_802_11.Controlhead.Addr1, (PUCHAR) pVirtualAddress, ETH_ALEN);
- memcpy(&Header_802_11.Addr3, &pAdapter->PortCfg.Bssid, ETH_ALEN);
- }
- memcpy(&Header_802_11.Controlhead.Addr2, pAdapter->CurrentAddress, ETH_ALEN);
--
-+
- Header_802_11.Sequence = pAdapter->Sequence; // Sequence number
- Header_802_11.Controlhead.Frame.Type = BTYPE_DATA; // Frame type
- Header_802_11.Controlhead.Frame.PwrMgt = (pAdapter->PortCfg.Psm == PWR_SAVE);
-@@ -2878,9 +2858,9 @@
- }
- else
- EAPOLFrame = FALSE;
--
-+
- // WPA 802.1x secured port control
-- if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ if (((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- ((pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED) || (pAdapter->PortCfg.MicErrCnt >= 2)) &&
- (EAPOLFrame == FALSE))
-@@ -2889,28 +2869,28 @@
- // Make sure to release Tx ring resource
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_FAILURE);
-- }
--
-+ }
-+
- MICFrag = FALSE; // Flag to indicate MIC shall spread into two MPDUs
- Encapped = FALSE;
- pEncap = NULL;
--
-+
- pSrc = (PUCHAR) pVirtualAddress;
- Protocol = *(pSrc + 12) * 256 + *(pSrc + 13);
- if (Protocol > 1500) // CHeck for LLC encaped
- {
- pEncap = SNAP_802_1H;
- Encapped = TRUE;
-- if (RTMPEqualMemory(IPX, pSrc + 12, 2) ||
-+ if (RTMPEqualMemory(IPX, pSrc + 12, 2) ||
- RTMPEqualMemory(APPLE_TALK, pSrc + 12, 2))
- {
- pEncap = SNAP_BRIDGE_TUNNEL;
- }
- }
-
-- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) &&
-+ if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) &&
- (pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
-- EncryptionOverhead = 8; // WEP: IV + ICV
-+ EncryptionOverhead = 8; // WEP: IV + ICV
- else if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
- EncryptionOverhead = 12; // TKIP: IV + EIV + ICV, MIC already added to TotalPacketLength
- else if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-@@ -2925,11 +2905,11 @@
- {
- PCONTROL_HEADER pControlHeader;
- ULONG NextFragSize;
--
-+
- // RTS-protected frame should use LONG_RETRY (=4), other frames use SHORT_RETRY (=7)
- RetryMode = LONG_RETRY;
--
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-@@ -2938,7 +2918,7 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_NIC) || (pTxD->CipherOwn == DESC_OWN_NIC))
- {
- // Descriptor owned by NIC. No descriptor avaliable
-@@ -2961,11 +2941,11 @@
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- #endif
--
-+
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_RESOURCES);
- }
--
-+
- pAdapter->TxRing[pAdapter->CurEncryptIndex].FrameType = BTYPE_CNTL;
- pControlHeader = (PCONTROL_HEADER) pDest;
- memset(pControlHeader, 0, sizeof(CONTROL_HEADER));
-@@ -2987,27 +2967,32 @@
- }
- pControlHeader->Duration = 2 * (pAdapter->PortCfg.Dsifs)
- + RTMPCalcDuration(pAdapter, pAdapter->PortCfg.TxRate, NextFragSize + EncryptionOverhead)
-- + AckDuration;
-+ + AckDuration;
-
- // Write Tx descriptor
- // Don't kick tx start until all frames are prepared
- // RTS has to set more fragment bit for fragment burst
-- // RTS did not encrypt
-+ // RTS did not encrypt
- if (pAdapter->PortCfg.BGProtectionInUsed == 1)
- {
- DBGPRINT(RT_DEBUG_TRACE,"Making CTS-to-self Frame\n");
-- pControlHeader->Frame.Subtype = SUBTYPE_CTS;
-+ pControlHeader->Frame.Subtype = SUBTYPE_CTS;
- memcpy(&pControlHeader->Addr1, pAdapter->CurrentAddress, ETH_ALEN);
-
- #ifdef BIG_ENDIAN
-- RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader, DIR_WRITE, FALSE);
-- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-- pTxD = pDestTxD;
-+ // Write Tx descriptor
-+ // Don't kick tx start until all frames are prepared
-+ // CTS has to set more fragment bit for fragment burst
-+ // CTS did not encrypt
-+ // CTS-to-self will never receive ACK
-+ RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader,
-+ DIR_WRITE, FALSE);
-+ RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-+ *pDestTxD = TxD;
-+ pTxD = pDestTxD;
- #endif
-
--
--#ifdef WIFI_TEST
-+#ifdef WIFI_TEST
- RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, FALSE, FALSE, FALSE, SHORT_RETRY,
- FrameGap, pAdapter->PortCfg.RtsRate, 4, 10, Rt802_11PreambleShort,
- AccessCategory);
-@@ -3019,42 +3004,51 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE,"Making RTS Frame\n");
-- pControlHeader->Frame.Subtype = SUBTYPE_RTS;
-- if (INFRA_ON(pAdapter))
-- memcpy(&pControlHeader->Addr1, &pAdapter->PortCfg.Bssid, ETH_ALEN);
-- else
-- memcpy(&pControlHeader->Addr1, (PUCHAR) pVirtualAddress, ETH_ALEN);
-- memcpy(&pControlHeader->Addr2, pAdapter->CurrentAddress, ETH_ALEN);
-+ DBGPRINT(RT_DEBUG_TRACE,"Making RTS Frame\n");
-+ pControlHeader->Frame.Subtype = SUBTYPE_RTS;
-+ if (INFRA_ON(pAdapter))
-+ memcpy(&pControlHeader->Addr1,
-+ &pAdapter->PortCfg.Bssid, ETH_ALEN);
-+ else
-+ memcpy(&pControlHeader->Addr1,
-+ (PUCHAR) pVirtualAddress, ETH_ALEN);
-+ memcpy(&pControlHeader->Addr2,
-+ pAdapter->CurrentAddress, ETH_ALEN);
-+
-+ // Write Tx descriptor
-+ // Don't kick tx start until all frames are prepared
-+ // RTS has to set more fragment bit for fragment burst
-+ // RTS did not encrypt
-+ pTxD->RTS = 1;
- #ifdef BIG_ENDIAN
-- RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader, DIR_WRITE, FALSE);
-- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-- pTxD = pDestTxD;
-+ RTMPFrameEndianChange(pAdapter, (PUCHAR)pControlHeader,
-+ DIR_WRITE, FALSE);
-+ RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-+ *pDestTxD = TxD;
-+ pTxD = pDestTxD;
- #endif
- RTMPWriteTxDescriptor(pTxD, TRUE, CIPHER_NONE, TRUE, TRUE, FALSE, SHORT_RETRY,
- FrameGap, pAdapter->PortCfg.RtsRate, 4, sizeof(CONTROL_HEADER),
- pAdapter->PortCfg.TxPreambleInUsed, AccessCategory);
-- pTxD->RTS = 1;
- }
--
-+
- FrameGap = IFS_SIFS; // Init frame gap for coming data after RTS
- NumberRequired--;
--
-+
- // Increase & maintain Tx Ring Index
- pAdapter->CurEncryptIndex++;
- if (pAdapter->CurEncryptIndex >= TX_RING_SIZE)
- {
- pAdapter->CurEncryptIndex = 0;
- }
-- pAdapter->RalinkCounters.EncryptCount++;
-+ pAdapter->RalinkCounters.EncryptCount++;
- }
-
- // Find the WPA key, either Group or Pairwise Key
- if (pAdapter->PortCfg.AuthMode >= Ndis802_11AuthModeWPA)
- {
- INT idx;
--
-+
- pWpaKey = (PWPA_KEY) NULL;
- // First lookup the DA, if it's a group address, use GROUP key
- if (Header_802_11.Controlhead.Addr1.Octet[0] & 0x01)
-@@ -3101,17 +3095,17 @@
- {
- // Get the Tx Ring descriptor & Dma Buffer address
- #ifndef BIG_ENDIAN
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- pOriginDest = pDest;
- pDestTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- TxD = *pDestTxD;
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_NIC) || (pTxD->CipherOwn == DESC_OWN_NIC))
- {
- // Descriptor owned by NIC. No descriptor avaliable
-@@ -3127,12 +3121,14 @@
- // This should not happen since caller guaranteed.
- // Make sure to release Tx ring resource
- pTxD->Valid = FALSE;
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pDestTxD = TxD;
-+ //*pDestTxD = TxD;
-+ WriteBackToDescriptor((PUCHAR)pDestRxD, (PUCHAR)pRxD, FALSE,
-+ TYPE_RXD);
- #endif
--
-+
- pAdapter->RalinkCounters.TxRingErrCount++;
- spin_unlock_irqrestore(&pAdapter->TxRingLock, irqflag);
- return (NDIS_STATUS_RESOURCES);
-@@ -3144,7 +3140,7 @@
- Header_802_11.Frag = 0; // Start of fragment burst / Single Frame
- else
- Header_802_11.Frag++; // Rest of fragmented frames.
--
-+
- // Maximum allowable payload with one ring buffer, bound by fragment size
- FreeFragSize = pAdapter->PortCfg.FragmentThreshold - LENGTH_CRC;
-
-@@ -3155,12 +3151,12 @@
- {
- ULONG NextFragSize;
- Header_802_11.Controlhead.Frame.MoreFrag = 1;
--
-+
- if (NumberRequired == 2)
- NextFragSize = RemainSize - pAdapter->PortCfg.FragmentThreshold + LENGTH_802_11 + LENGTH_802_11 + LENGTH_CRC;
- else
- NextFragSize = pAdapter->PortCfg.FragmentThreshold;
--
-+
- Header_802_11.Controlhead.Duration = 3 * pAdapter->PortCfg.Dsifs
- + 2 * AckDuration
- + RTMPCalcDuration(pAdapter, pAdapter->PortCfg.TxRate, NextFragSize + EncryptionOverhead);
-@@ -3168,7 +3164,7 @@
- else // this is the last or only fragment
- {
- Header_802_11.Controlhead.Frame.MoreFrag = 0;
--
-+
- if (Header_802_11.Controlhead.Addr1.Octet[0] & 0x01) // multicast/broadcast
- Header_802_11.Controlhead.Duration = 0;
- else
-@@ -3183,7 +3179,7 @@
- Header_802_11.Controlhead.Frame.Wep = 1;
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled) && (pWpaKey != NULL))
- Header_802_11.Controlhead.Frame.Wep = 1;
--
-+
- //
- // Copy 802.11 header to Tx ring buffer
- //
-@@ -3191,12 +3187,15 @@
- pDest += sizeof(Header_802_11);
- FreeFragSize -= sizeof(Header_802_11);
-
-- DBGPRINT(RT_DEBUG_TRACE,"pWpaKey = %s\n", pWpaKey == NULL ? "NULL" : "not NULL");
-+ DBGPRINT(RT_DEBUG_INFO, "pWpaKey = %s\n",
-+ pWpaKey == NULL ? "NULL" : "not NULL");
-
- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) && (EAPOLFrame == FALSE) &&
- (pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen != 0))
- {
-- DBGPRINT(RT_DEBUG_TRACE,"Ndis802_11Encryption1Enabled::DefaultKeyId = %d\n", pAdapter->PortCfg.DefaultKeyId);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Ndis802_11Encryption1Enabled::DefaultKeyId = %d\n",
-+ pAdapter->PortCfg.DefaultKeyId);
- // Prepare IV, IV offset, Key for Hardware encryption
- RTMPInitWepEngine(
- pAdapter,
-@@ -3216,12 +3215,14 @@
- memcpy(
- pTxD->Key,
- pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].Key,
-- pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen);
-+ pAdapter->PortCfg.SharedKey[pAdapter->PortCfg.DefaultKeyId].KeyLen);
- }
- else if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) && (pWpaKey != NULL))
- {
- INT i = 0;
-- DBGPRINT(RT_DEBUG_TRACE,"Ndis802_11Encryption2Enabled::DefaultKeyId = %d\n", pAdapter->PortCfg.DefaultKeyId);
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Ndis802_11Encryption2Enabled::DefaultKeyId = %d\n",
-+ pAdapter->PortCfg.DefaultKeyId);
- // Prepare 8 bytes TKIP encapsulation for MPDU
- {
- TKIP_IV tkipIv;
-@@ -3232,31 +3233,20 @@
- tkipIv.IV16.field.rc2 = *pWpaKey->TxTsc;
- tkipIv.IV16.field.ExtIV = 1;// 0: non-extended IV, 1: extended IV
- tkipIv.IV16.field.KeyID = pAdapter->PortCfg.DefaultKeyId;
-- tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
--#if 0 //jett, 2004-1222 ------------------
--#if BIG_ENDIAN == TRUE
-- pTxD->Iv = (tkipIv.IV16.field.rc0 << 24) | (tkipIv.IV16.field.rc1 << 16) | (tkipIv.IV16.field.rc2 << 8) | (tkipIv.IV16.field.CONTROL.Byte);
--#endif
--
--#ifdef RTMP_EMBEDDED
-- pTxD->Iv = (tkipIv.IV16.field.CONTROL.Byte << 24) | (tkipIv.IV16.field.rc2 << 16) | (tkipIv.IV16.field.rc1 << 8) | (tkipIv.IV16.field.rc0);
--#else
-- pTxD->Iv = tkipIv.IV16.word;
--#endif
--#else //----------------------------------
-+ //tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
-+ memcpy(&tkipIv.IV32, &pWpaKey->TxTsc[2], 4);
- #ifdef BIG_ENDIAN
-- pTxD->Iv = SWAP32(tkipIv.IV16.word);
-+ pTxD->Iv = SWAP32(tkipIv.IV16.word);
- #else
-- pTxD->Iv = tkipIv.IV16.word;
-+ pTxD->Iv = tkipIv.IV16.word;
- #endif
--#endif //----------------------------------
-
- *((PUCHAR) &pTxD->Eiv) = *((PUCHAR) &tkipIv.IV32 + 3);
- *((PUCHAR) &pTxD->Eiv + 1) = *((PUCHAR) &tkipIv.IV32 + 2);
- *((PUCHAR) &pTxD->Eiv + 2) = *((PUCHAR) &tkipIv.IV32 + 1);
- *((PUCHAR) &pTxD->Eiv + 3) = *((PUCHAR) &tkipIv.IV32);
- }
--
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -3264,13 +3254,13 @@
- if (i == 6)
- break;
- }
--
-+
- // Set IV offset
- pTxD->IvOffset = LENGTH_802_11;
-
- // Copy TKey
- memcpy(pTxD->Key, pWpaKey->Key, 16);
--
-+
- // Set Cipher suite
- CipherAlg = CIPHER_TKIP;
- }
-@@ -3279,15 +3269,20 @@
- INT i;
- PUCHAR pTmp;
-
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "Ndis802_11Encryption3Enabled::DefaultKeyId = %d\n",
-+ pAdapter->PortCfg.DefaultKeyId);
-+
- i = 0;
- pTmp = (PUCHAR) &Iv16;
- *pTmp = pWpaKey->TxTsc[0];
- *(pTmp + 1) = pWpaKey->TxTsc[1];
- *(pTmp + 2) = 0;
- *(pTmp + 3) = (pAdapter->PortCfg.DefaultKeyId << 6) | 0x20;
--
-- Iv32 = *(PULONG)(&pWpaKey->TxTsc[2]);
--
-+
-+ //Iv32 = *(PULONG)(&pWpaKey->TxTsc[2]);
-+ memcpy(&Iv32, &pWpaKey->TxTsc[2], 4);
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -3300,7 +3295,7 @@
- // TODO: TSC has done one full cycle, do re-keying stuff follow specs
- // Should send a special event microsoft defined to request re-key
- }
--
-+
- memcpy(&pTxD->Iv, &Iv16, 4); // Copy IV
- memcpy(&pTxD->Eiv, &Iv32, 4); // Copy EIV
- pTxD->IvOffset = LENGTH_802_11; // Set IV offset
-@@ -3308,8 +3303,11 @@
- CipherAlg = CIPHER_AES; // Set Cipher suite
- }
- else
-+ {
-+ DBGPRINT(RT_DEBUG_TRACE,"Ndis802_11EncryptionDisabled\n");
- CipherAlg = CIPHER_NONE;
--
-+ }
-+
- //
- // Only the first fragment required LLC-SNAP header !!!
- //
-@@ -3332,7 +3330,7 @@
- pSrc = (PUCHAR) pVirtualAddress;
- memcpy(pDest, pSrc + 12, 2);
- pDest += 2;
--
-+
- // Exclude 802.3 header size, we will recalculate the size at
- // the end of fragment preparation.
- NdisBufferLength -= LENGTH_802_3;
-@@ -3346,11 +3344,11 @@
- // Calculate MSDU MIC Value
- RTMPCalculateMICValue(pAdapter, skb, pEncap, 0, pWpaKey);
- }
--
-+
- pSrc = (PUCHAR) pVirtualAddress + LENGTH_802_3;
- NdisBufferLength -= LENGTH_802_3;
- }
--
-+
- // Start copying payload
- BytesCopied = 0;
- do
-@@ -3375,23 +3373,25 @@
- pDest += NdisBufferLength;
- FreeFragSize -= NdisBufferLength;
- }
--
-+
- // No more buffer descriptor
- // Add MIC value if needed
-- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) &&
-+ if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) &&
- (MICFrag == FALSE) &&
- (pWpaKey != NULL))
- {
-- INT i;
--
- NdisBufferLength = 8; // Set length to MIC length
-- DBGPRINT(RT_DEBUG_INFO, "Calculated TX MIC value =");
-- for (i = 0; i < 8; i++)
-- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PrivateInfo.Tx.MIC[i]);
-- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
--
-+ DBGPRINT(RT_DEBUG_INFO,
-+ "--- TX MIC=%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ pAdapter->PrivateInfo.Tx.MIC[0],
-+ pAdapter->PrivateInfo.Tx.MIC[1],
-+ pAdapter->PrivateInfo.Tx.MIC[2],
-+ pAdapter->PrivateInfo.Tx.MIC[3],
-+ pAdapter->PrivateInfo.Tx.MIC[4],
-+ pAdapter->PrivateInfo.Tx.MIC[5],
-+ pAdapter->PrivateInfo.Tx.MIC[6],
-+ pAdapter->PrivateInfo.Tx.MIC[7]);
-+
- if (FreeFragSize >= NdisBufferLength)
- {
- memcpy(pDest, pAdapter->PrivateInfo.Tx.MIC, NdisBufferLength);
-@@ -3413,7 +3413,7 @@
- }
- }
- } while (FALSE); // End of copying payload
--
-+
- // Real packet size, No 802.1H header for fragments except the first one.
- if ((StartOfFrame == TRUE) && (Encapped == TRUE))
- {
-@@ -3425,7 +3425,7 @@
- }
-
- RemainSize = RemainSize - BytesCopied;
--
-+
- if ((pAdapter->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) && (Header_802_11.Controlhead.Frame.Wep == 1))
- {
- // IV + ICV which ASIC added after encryption done
-@@ -3441,7 +3441,7 @@
- // IV + EIV + HW MIC
- TxSize += 16;
- }
--
-+
- // Prepare Tx descriptors before kicking tx.
- // The BBP register index in Tx descriptor has to be configured too.
- #ifdef BIG_ENDIAN
-@@ -3453,12 +3453,12 @@
- if (Header_802_11.Controlhead.Addr1.Octet[0] & 0x01)
- {
- // Multicast, retry bit is off
-- RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, FALSE, FALSE, FALSE, RetryMode, FrameGap,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, FALSE, FALSE, FALSE, RetryMode, FrameGap,
- pAdapter->PortCfg.TxRate, 4, TxSize, pAdapter->PortCfg.TxPreambleInUsed, AccessCategory);
- }
- else
- {
-- RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
- pAdapter->PortCfg.TxRate, 4, TxSize, pAdapter->PortCfg.TxPreambleInUsed, AccessCategory);
- }
-
-@@ -3467,23 +3467,23 @@
- StartOfFrame = FALSE;
- FrameGap = IFS_SIFS;
- NumberRequired--;
--
-+
- // Increase & maintain Tx Ring Index
- pAdapter->CurEncryptIndex++;
- if (pAdapter->CurEncryptIndex >= TX_RING_SIZE)
- {
- pAdapter->CurEncryptIndex = 0;
- }
--
-+
- pAdapter->RalinkCounters.EncryptCount++;
--
-+
- } while (NumberRequired > 0);
-
- skip_packet_handling:
--
-+
- // Kick Encrypt Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
--
-+
- // Acknowledge protocol send complete of pending packet.
- dev_kfree_skb_irq(skb);
-
-@@ -3497,19 +3497,19 @@
- ========================================================================
-
- Routine Description:
-- Calculates the duration which is required to transmit out frames
-+ Calculates the duration which is required to transmit out frames
- with given size and specified rate.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- Rate Transmit rate
- Size Frame size in units of byte
--
-+
- Return Value:
- Duration number in units of usec
-
- Note:
--
-+
- ========================================================================
- */
- USHORT RTMPCalcDuration(
-@@ -3525,7 +3525,7 @@
- Duration = 96; // 72+24 preamble+plcp
- else
- Duration = 192; // 144+48 preamble+plcp
--
-+
- Duration += (USHORT)((Size << 4) / RateIdTo500Kbps[Rate]);
- if ((Size << 4) % RateIdTo500Kbps[Rate])
- Duration ++;
-@@ -3537,18 +3537,18 @@
- if ((11 + Size * 4) % RateIdTo500Kbps[Rate])
- Duration += 4;
- }
--
-+
- return (USHORT)Duration;
--
-+
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
-- Calculates the duration which is required to transmit out frames
-+ Calculates the duration which is required to transmit out frames
- with given size and specified rate.
--
-+
- Arguments:
- pTxD Pointer to transmit descriptor
- Ack Setting for Ack requirement bit
-@@ -3560,10 +3560,10 @@
- Length Frame length
- TxPreamble Short or Long preamble when using CCK rates
- AccessCategory - 0-3, according to 802.11e/d4.4 June/2003
--
-+
- Return Value:
- None
--
-+
- ========================================================================
- */
- VOID RTMPWriteTxDescriptor(
-@@ -3624,7 +3624,7 @@
- pTxD->Aifs = 2;
- break;
- }
--
-+
- if (Rate < RATE_FIRST_OFDM_RATE)
- pTxD->Ofdm = 0;
- else
-@@ -3671,7 +3671,7 @@
- pTxD->PlcpLengthHigh = Length / 64; // high 6-bit of total byte count
- pTxD->PlcpLengthLow = Length % 64; // low 6-bit of total byte count
- }
--
-+
- if (DoEncrypt == TRUE) // Do encryption only
- {
- pTxD->Owner = DESC_OWN_HOST;
-@@ -3687,8 +3687,10 @@
- pTxD->Owner = DESC_OWN_NIC;
- }
- #ifdef BIG_ENDIAN
-- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-- *pSourceTxD = *pTxD;
-+ RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-+ //*pSourceTxD = *pTxD;
-+ WriteBackToDescriptor((PUCHAR) pSourceTxD, (PUCHAR) pTxD, FALSE,
-+ TYPE_TXD);
- #endif
- }
-
-@@ -3697,17 +3699,17 @@
-
- Routine Description:
- Search tuple cache for receive duplicate frame from unicast frames.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pHeader 802.11 header of receiving frame
--
-+
- Return Value:
- TRUE found matched tuple cache
- FALSE no matched found
-
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPSearchTupleCache(
-@@ -3720,12 +3722,12 @@
- {
- if (pAdapter->TupleCache[Index].Valid == FALSE)
- continue;
--
-+
- if (RTMPEqualMemory(&pAdapter->TupleCache[Index].MAC, &pHeader->Controlhead.Addr2, 6) &&
- (pAdapter->TupleCache[Index].Sequence == pHeader->Sequence) &&
- (pAdapter->TupleCache[Index].Frag == pHeader->Frag))
- {
--// DBGPRINT(RT_DEBUG_TRACE,("DUPCHECK - duplicate frame hit entry %d\n", Index));
-+// DBGPRINT(RT_DEBUG_TRACE,("DUPCHECK - duplicate frame hit entry %d\n", Index));
- return (TRUE);
- }
- }
-@@ -3737,16 +3739,16 @@
-
- Routine Description:
- Update tuple cache for new received unicast frames.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pHeader 802.11 header of receiving frame
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPUpdateTupleCache(
-@@ -3765,7 +3767,7 @@
- pAdapter->TupleCache[Index].Frag = pHeader->Frag;
- pAdapter->TupleCache[Index].Valid = TRUE;
- pAdapter->TupleCacheLastUpdateIndex = Index;
-- DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - Add Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - Add Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
- Index, pAdapter->TupleCache[Index].MAC.Octet[0], pAdapter->TupleCache[Index].MAC.Octet[1],
- pAdapter->TupleCache[Index].MAC.Octet[2], pAdapter->TupleCache[Index].MAC.Octet[3],
- pAdapter->TupleCache[Index].MAC.Octet[4], pAdapter->TupleCache[Index].MAC.Octet[5]);
-@@ -3794,7 +3796,7 @@
- pAdapter->TupleCache[Index].Sequence = pHeader->Sequence;
- pAdapter->TupleCache[Index].Frag = pHeader->Frag;
- pAdapter->TupleCache[Index].Valid = TRUE;
-- DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - replace Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ DBGPRINT(RT_DEBUG_INFO,"DUPCHECK - replace Entry %d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
- Index, pAdapter->TupleCache[Index].MAC.Octet[0], pAdapter->TupleCache[Index].MAC.Octet[1],
- pAdapter->TupleCache[Index].MAC.Octet[2], pAdapter->TupleCache[Index].MAC.Octet[3],
- pAdapter->TupleCache[Index].MAC.Octet[4], pAdapter->TupleCache[Index].MAC.Octet[5]);
-@@ -3806,15 +3808,15 @@
-
- Routine Description:
- Suspend MSDU transmission
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPSuspendMsduTransmission(
-@@ -3829,15 +3831,15 @@
-
- Routine Description:
- Resume MSDU transmission
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPResumeMsduTransmission(
-@@ -3863,40 +3865,40 @@
- Routine Description:
- Apply packet filter policy, return NDIS_STATUS_FAILURE if this frame
- should be dropped.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pRxD Pointer to the Rx descriptor
- pHeader Pointer to the 802.11 frame header
--
-+
- Return Value:
- NDIS_STATUS_SUCCESS Accept frame
- NDIS_STATUS_FAILURE Drop Frame
--
-+
- Note:
- Maganement frame should bypass this filtering rule.
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPApplyPacketFilter(
-- IN PRTMP_ADAPTER pAdapter,
-- IN PRXD_STRUC pRxD,
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PRXD_STRUC pRxD,
- IN PHEADER_802_11 pHeader)
- {
- UCHAR i;
--
-+
- // 0. Management frame should bypass all these filtering rules.
- if (pHeader->Controlhead.Frame.Type == BTYPE_MGMT)
- {
- return(NDIS_STATUS_SUCCESS);
- }
--
-+
- // 0.1 Drop all Rx frames if MIC countermeasures kicks in
- if (pAdapter->PortCfg.MicErrCnt >= 2)
- {
- return(NDIS_STATUS_FAILURE);
- }
--
-+
- // 1. Drop unicast to me packet if NDIS_PACKET_TYPE_DIRECTED is FALSE
- if (pRxD->U2M)
- {
-@@ -3905,7 +3907,7 @@
- return(NDIS_STATUS_FAILURE);
- }
- }
--
-+
- // 2. Drop broadcast packet if NDIS_PACKET_TYPE_BROADCAST is FALSE
- else if (pRxD->Bcast)
- {
-@@ -3914,7 +3916,7 @@
- return(NDIS_STATUS_FAILURE);
- }
- }
--
-+
- // 3. Drop multicast packet if NDIS_PACKET_TYPE_ALL_MULTICAST is false
- // and NDIS_PACKET_TYPE_MULTICAST is false.
- // If NDIS_PACKET_TYPE_MULTICAST is true, but NDIS_PACKET_TYPE_ALL_MULTICAST is false.
-@@ -3964,8 +3966,8 @@
- {
- return(NDIS_STATUS_FAILURE);
- }
--
-- return(NDIS_STATUS_SUCCESS);
-+
-+ return(NDIS_STATUS_SUCCESS);
- }
-
- /*
-@@ -3973,15 +3975,15 @@
-
- Routine Description:
- Check and fine the packet waiting in SW queue with highest priority
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- pQueue Pointer to Waiting Queue
-
- Note:
--
-+
- ========================================================================
- */
- struct sk_buff_head* RTMPCheckTxSwQueue(
-@@ -4019,20 +4021,20 @@
-
- Routine Description:
- Process MIC error indication and record MIC error timer.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pWpaKey Pointer to the WPA key structure
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPReportMicError(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PWPA_KEY pWpaKey)
- {
- ULONG Now;
-@@ -4044,7 +4046,7 @@
-
- // 0. Set Status to indicate auth error
- Report.Status.StatusType = Ndis802_11StatusType_Authentication;
--
-+
- // 1. Check for Group or Pairwise MIC error
- if (pWpaKey->Type == PAIRWISE_KEY)
- Report.Request.Flags = NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR;
-@@ -4069,13 +4071,13 @@
- if ((pAdapter->PortCfg.LastMicErrorTime + (60 * HZ)) < Now)
- {
- // Update Last MIC error time, this did not violate two MIC errors within 60 seconds
-- pAdapter->PortCfg.LastMicErrorTime = Now;
-+ pAdapter->PortCfg.LastMicErrorTime = Now;
- }
- else
- {
-- pAdapter->PortCfg.LastMicErrorTime = Now;
-+ pAdapter->PortCfg.LastMicErrorTime = Now;
- // Violate MIC error counts, MIC countermeasures kicks in
-- pAdapter->PortCfg.MicErrCnt++;
-+ pAdapter->PortCfg.MicErrCnt++;
- // We shall block all reception
- // We shall clean all Tx ring and disassoicate from AP after next EAPOL frame
- RTMPRingCleanUp(pAdapter, TX_RING);
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_def.h rt2500-cvs-2007061011/Module/rtmp_def.h
---- rt2500-1.1.0-b4/Module/rtmp_def.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_def.h 2007-03-21 05:25:35.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_def.h
-- *
-+ *
- * Abstract: Miniport related definition header
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 1st Aug 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 1st Aug 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __RTMP_DEF_H__
- #define __RTMP_DEF_H__
-@@ -38,11 +38,12 @@
- //
- // Debug information verbosity: lower values indicate higher urgency
- //
--#define RT_DEBUG_ERROR KERN_ERR
--#define RT_DEBUG_WARN KERN_WARNING
--#define RT_DEBUG_TRACE KERN_NOTICE
--#define RT_DEBUG_INFO KERN_INFO
--#define RT_DEBUG_LOUD KERN_DEBUG
-+#define RT_DEBUG_OFF 0
-+#define RT_DEBUG_ERROR 1
-+#define RT_DEBUG_WARN 2
-+#define RT_DEBUG_TRACE 4
-+#define RT_DEBUG_INFO 8
-+#define RT_DEBUG_LOUD 16
-
- //
- // update the driver version number every time you release a new driver
-@@ -190,8 +191,8 @@
- #define HASH_TABLE_SIZE 256
- #define MAX_LEN_OF_MLME_BUFFER 1024
- #define MAX_FRAME_LEN 2338
--#define MAX_VIE_LEN 128 // New for WPA cipher suite variable IE sizes.
--#define MAX_MLME_HANDLER_MEMORY 20 //each them cantains MAX_LEN_OF_MLME_BUFFER size
-+#define MAX_VIE_LEN 257 // sum of WPAx IEs
-+#define MAX_MLME_HANDLER_MEMORY 20 //each them cantains MAX_LEN_OF_MLME_BUFFER size
- #define MAX_INI_BUFFER_SIZE 1024
-
- #define MAX_TX_POWER_LEVEL 100 /* mW */
-@@ -265,7 +266,7 @@
- #define MLME_SUCCESS 0
- #define MLME_UNSPECIFY_FAIL 1
- #define MLME_CANNOT_SUPPORT_CAP 10
--#define MLME_REASSOC_DENY_ASSOC_EXIST 11
-+#define MLME_REASSOC_DENY_ASSOC_EXIST 11
- #define MLME_ASSOC_DENY_OUT_SCOPE 12
- #define MLME_ALG_NOT_SUPPORT 13
- #define MLME_SEQ_NR_OUT_OF_SEQUENCE 14
-@@ -317,7 +318,7 @@
-
- #define MT2_MLME_ASSOC_REQ 0
- #define MT2_MLME_REASSOC_REQ 1
--#define MT2_MLME_DISASSOC_REQ 2
-+#define MT2_MLME_DISASSOC_REQ 2
- #define MT2_PEER_DISASSOC_REQ 3
- #define MT2_PEER_ASSOC_REQ 4
- #define MT2_PEER_ASSOC_RSP 5
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_info.c rt2500-cvs-2007061011/Module/rtmp_info.c
---- rt2500-1.1.0-b4/Module/rtmp_info.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_info.c 2007-05-31 22:45:43.000000000 +0200
-@@ -1,49 +1,50 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_info.c
-- *
-- * Abstract: IOCTL related subroutines
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * RoryC 3rd Jan 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract: IOCTL related subroutines
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * RoryC 3rd Jan 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * RobinC 10th Dec 04 RFMON Support
-- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
-+ * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * MarkW 15th Dec 04 Removed debug iwpriv
- * RobinC 16th Dec 04 Fix for range values
- * RobinC 16th Dec 04 support ifpreup scripts
- * RobinC 17th Dec 04 Link Quality reporting
- * MarkW 17th Dec 04 iwconfig frequency fix
-- * MarkW 17th Dec 04 Monitor mode through iwconfig
-+ * MarkW 17th Dec 04 Monitor mode through iwconfig
- * MarkW 22nd Dec 04 RSSI reporting for iwlist scanning
- * MarkW 31st Jan 05 if pre-up fix for RaConfig
- * LuisCorreia 23rd Feb 05 fix unknown IOCTL's
- * MarkW 9th Mar 05 Quality reporting in scan for current
- * MarkW 9th Jun 05 Fix channel change for ADHOC mode
-- ***************************************************************************/
-+ * RomainB 31st Dec 06 RFMON getter
-+ ***************************************************************************/
-
- #include "rt_config.h"
- #include <net/iw_handler.h>
-@@ -154,7 +155,7 @@
- }
-
- struct iw_priv_args privtab[] = {
--{ RTPRIV_IOCTL_SET,
-+{ RTPRIV_IOCTL_SET,
- IW_PRIV_TYPE_CHAR | 1024, 0,
- "set"},
- { RTPRIV_IOCTL_BBP,
-@@ -166,9 +167,12 @@
- { RTPRIV_IOCTL_E2P,
- IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | 1024,
- "e2p"},
--{ RTPRIV_IOCTL_RFMONTX,
-- IW_PRIV_TYPE_INT | 2, IW_PRIV_TYPE_CHAR | sizeof (char),
-- "rfmontx"}
-+{ RTPRIV_IOCTL_SET_RFMONTX,
-+ IW_PRIV_TYPE_INT | 2, 0,
-+ "rfmontx"},
-+{ RTPRIV_IOCTL_GET_RFMONTX,
-+ 0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
-+ "get_rfmontx"}
- };
-
- static struct {
-@@ -198,6 +202,9 @@
- {"Key4", Set_Key4_Proc},
- {"WPAPSK", Set_WPAPSK_Proc},
- {"WPANONE", Set_WPANONE_Proc},
-+#ifdef RT2500_DBG
-+ {"Debug", Set_Debug_Proc},
-+#endif
-
- #ifdef RALINK_ATE
- {"ATE", Set_ATE_Proc }, // set ATE Mode to: STOP, TXCONT, TXCARR, TXFRAME, RXFRAME
-@@ -233,7 +240,13 @@
- u16 val;
- int i,chan;
-
-- DBGPRINT(RT_DEBUG_TRACE,"0. rtusb_ioctl_giwrange\n");
-+ //check if the interface is down
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "INFO::Network is down!\n");
-+ return -ENETDOWN;
-+ }
-+
-+ DBGPRINT(RT_DEBUG_TRACE,"0. rt_ioctl_giwrange\n");
- data->length = sizeof(struct iw_range);
- memset(range, 0, sizeof(struct iw_range));
-
-@@ -266,7 +279,7 @@
- {
- range->freq[val].i = chan;
- MAP_CHANNEL_ID_TO_KHZ(range->freq[val].i, range->freq[val].m);
-- range->freq[val].m*=100;
-+ range->freq[val].m*=100;
- range->freq[val].e = 1;
- val++;
- }
-@@ -335,8 +348,8 @@
- char *this_char;
- char *value;
- int Status;
--
-- while ((this_char = strsep(&extra, ",")) != NULL)
-+
-+ while ((this_char = strsep(&extra, ",")) != NULL)
- {
- if (!*this_char)
- continue;
-@@ -349,8 +362,8 @@
-
- for (PRTMP_PRIVATE_SET_PROC = RTMP_PRIVATE_SUPPORT_PROC; PRTMP_PRIVATE_SET_PROC->name; PRTMP_PRIVATE_SET_PROC++)
- {
-- if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-- {
-+ if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-+ {
- if(!PRTMP_PRIVATE_SET_PROC->set_proc(pAdapter, value))
- { //FALSE:Set private failed then return Invalid argument
- Status = -EINVAL;
-@@ -382,6 +395,13 @@
- PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
- int Status = NDIS_STATUS_SUCCESS;
- BOOLEAN StateMachineTouched = FALSE;
-+
-+ //check if the interface is down
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "INFO::Network is down!\n");
-+ return -ENETDOWN;
-+ }
-+
- if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS))
- return 0;
- if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_MLME_INITIALIZED))
-@@ -390,7 +410,7 @@
- Now = jiffies;
-
- if ((pAdapter->MediaState == NdisMediaStateConnected) &&
-- ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED)
- )
-@@ -413,15 +433,17 @@
- pAdapter->PortCfg.IgnoredScanNumber = 0;
- pAdapter->PortCfg.LastScanTime = Now;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID_LIST_SCAN,
-- 0,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID_LIST_SCAN,
-+ 0,
- NULL);
-
- Status = NDIS_STATUS_SUCCESS;
- StateMachineTouched = TRUE;
- }while(0);
-+ if(StateMachineTouched) // Upper layer sent a MLME-related operations
-+ MlmeHandler(pAdapter);
- return 0;
- }
- int
-@@ -437,7 +459,19 @@
- char *current_val;
- struct iw_event iwe;
-
-- for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
-+ //check if the interface is down
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "INFO::Network is down!\n");
-+ return -ENETDOWN;
-+ }
-+ if (RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)){
-+ /*
-+ * Still scanning, indicate the caller should try again.
-+ */
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: still scanning\n", __FUNCTION__);
-+ return -EAGAIN;
-+ }
-+ for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
- {
- if (current_ev >= end_buf)
- break;
-@@ -511,25 +545,25 @@
- iwe.u.qual.qual = pAdapter->Mlme.ChannelQuality;
- else
- iwe.u.qual.qual = 0;
-- iwe.u.qual.level = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - RSSI_TO_DBM_OFFSET; // signal level (dBm)
-+ iwe.u.qual.level = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - RSSI_TO_DBM_OFFSET; // signal level (dBm)
- iwe.u.qual.noise = pAdapter->PortCfg.BssTab.BssEntry[i].Noise;
-- //iwe.u.qual.noise = (pAdapter->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAdapter->PortCfg.LastR17Value); // // noise level (dBm)
-+ //iwe.u.qual.noise = (pAdapter->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAdapter->PortCfg.LastR17Value); // // noise level (dBm)
-
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-+ current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-
-
- //================================
- memset(&iwe, 0, sizeof(iwe));
- }
- data->length = current_ev - extra;
-- DBGPRINT(RT_DEBUG_TRACE,"rtusb_ioctl_giwscan. %d BSS returned\n",pAdapter->PortCfg.BssTab.BssNr);
-+ DBGPRINT(RT_DEBUG_TRACE,"rt_ioctl_giwscan. %d BSS returned\n",pAdapter->PortCfg.BssTab.BssNr);
- return 0;
- }
- #endif
- static const iw_handler rt_handler[] =
- {
- (iw_handler) NULL, /* SIOCSIWCOMMIT */
-- (iw_handler) NULL, /* SIOCGIWNAME 1 */
-+ (iw_handler) NULL, /* SIOCGIWNAME 1 */
- (iw_handler) NULL, /* SIOCSIWNWID */
- (iw_handler) NULL, /* SIOCGIWNWID */
- (iw_handler) NULL, /* SIOCSIWFREQ */
-@@ -641,9 +675,11 @@
- }
- break;
- case OID_802_11_BSSID_LIST_SCAN:
-+ if (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_MLME_INITIALIZED))
-+ break;
- Now = jiffies;
-- TxTotalCnt = pAdapter->DrsCounters.OneSecTxOkCount +
-- pAdapter->DrsCounters.OneSecTxRetryOkCount +
-+ TxTotalCnt = pAdapter->DrsCounters.OneSecTxOkCount +
-+ pAdapter->DrsCounters.OneSecTxRetryOkCount +
- pAdapter->DrsCounters.OneSecTxFailCount;
- DBGPRINT(RT_DEBUG_TRACE, "Set::OID_802_11_BSSID_LIST_SCAN, TxCnt = %d \n", TxTotalCnt);
- // For XP WZC, we will allow scan every 10 times, roughly 10 minutes.
-@@ -657,9 +693,9 @@
- pAdapter->PortCfg.IgnoredScanNumber++;
- break;
- }
--
-+
- if ((pAdapter->MediaState == NdisMediaStateConnected) &&
-- ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
-+ ((pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPA) ||
- (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK)) &&
- (pAdapter->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED)
- )
-@@ -682,10 +718,10 @@
- pAdapter->PortCfg.IgnoredScanNumber = 0;
- pAdapter->PortCfg.LastScanTime = Now;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID_LIST_SCAN,
-- 0,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID_LIST_SCAN,
-+ 0,
- NULL);
-
- Status = NDIS_STATUS_SUCCESS;
-@@ -710,13 +746,13 @@
- {
- MlmeRestartStateMachine(pAdapter);
- DBGPRINT(RT_DEBUG_TRACE, "!!! MLME busy, reset MLME state machine !!!\n");
-- }
-+ }
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
- OID_802_11_SSID,
- sizeof(NDIS_802_11_SSID),
- (VOID *)pSsid
-@@ -746,11 +782,11 @@
-
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID,
- sizeof(NDIS_802_11_MAC_ADDRESS),
- (VOID *)&Bssid);
- Status = NDIS_STATUS_SUCCESS;
-@@ -906,7 +942,7 @@
- }
- break;
- case OID_802_11_AUTHENTICATION_MODE:
-- if (wrq->u.data.length != sizeof(NDIS_802_11_AUTHENTICATION_MODE))
-+ if (wrq->u.data.length != sizeof(NDIS_802_11_AUTHENTICATION_MODE))
- Status = -EINVAL;
- else
- {
-@@ -941,7 +977,7 @@
- Status = -EINVAL;
- break;
- }
-- if (BssType == Ndis802_11IBSS)
-+ if (BssType == Ndis802_11IBSS)
- {
- if (pAdapter->PortCfg.BssType != BSS_INDEP)
- {
-@@ -951,7 +987,7 @@
- pAdapter->PortCfg.BssType = BSS_INDEP;
- DBGPRINT(RT_DEBUG_TRACE, "Set::OID_802_11_INFRASTRUCTURE_MODE (AD-HOC)\n");
- }
-- else if (BssType == Ndis802_11Infrastructure)
-+ else if (BssType == Ndis802_11Infrastructure)
- {
- if (pAdapter->PortCfg.BssType != BSS_INFRA)
- {
-@@ -1028,7 +1064,7 @@
- break;
- }
- // save user's policy here, but not change PortCfg.Psm immediately
-- if (PowerMode == Ndis802_11PowerModeCAM)
-+ if (PowerMode == Ndis802_11PowerModeCAM)
- {
- // clear PSM bit immediately
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
-@@ -1037,7 +1073,7 @@
- pAdapter->PortCfg.WindowsPowerMode = PowerMode;
- pAdapter->PortCfg.WindowsBatteryPowerMode = PowerMode;
- }
-- else if (PowerMode == Ndis802_11PowerModeMAX_PSP)
-+ else if (PowerMode == Ndis802_11PowerModeMAX_PSP)
- {
- // do NOT turn on PSM bit here, wait until MlmeCheckForPsmChange()
- // to exclude certain situations.
-@@ -1048,7 +1084,7 @@
- pAdapter->PortCfg.RecvDtim = TRUE; // FALSE;
- pAdapter->PortCfg.DefaultListenCount = 5;
- }
-- else if (PowerMode == Ndis802_11PowerModeFast_PSP)
-+ else if (PowerMode == Ndis802_11PowerModeFast_PSP)
- {
- // do NOT turn on PSM bit here, wait until MlmeCheckForPsmChange()
- // to exclude certain situations.
-@@ -1236,6 +1272,8 @@
- Status = -EOPNOTSUPP;
- break;
- }
-+ if(StateMachineTouched) // Upper layer sent a MLME-related operations
-+ MlmeHandler(pAdapter);
-
- return Status;
- }
-@@ -1305,8 +1343,8 @@
- DBGPRINT(RT_DEBUG_TRACE, "Query::OID_802_11_BSSID_LIST (%d BSS returned)\n",pAdapter->PortCfg.BssTab.BssNr);
- // Claculate total buffer size required
- BssBufSize = sizeof(ULONG);
--
-- for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
-+
-+ for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
- {
- // Align pointer to 4 bytes boundary.
- Padding = 4 - (pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen & 0x0003);
-@@ -1328,13 +1366,13 @@
- memset(pBuf, 0, BssBufSize);
- pBssidList = (PNDIS_802_11_BSSID_LIST_EX) pBuf;
- pBssidList->NumberOfItems = pAdapter->PortCfg.BssTab.BssNr;
--
-+
- // Calculate total buffer length
- BssLen = 4; // Consist of NumberOfItems
- // Point to start of NDIS_WLAN_BSSID_EX
- // pPtr = pBuf + sizeof(ULONG);
- pPtr = (PUCHAR) &pBssidList->Bssid[0];
-- for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
-+ for (i = 0; i < pAdapter->PortCfg.BssTab.BssNr; i++)
- {
- pBss = (PNDIS_WLAN_BSSID_EX) pPtr;
- memcpy(&pBss->MacAddress, &pAdapter->PortCfg.BssTab.BssEntry[i].Bssid, ETH_ALEN);
-@@ -1348,7 +1386,7 @@
- memcpy(pBss->Ssid.Ssid, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid, pAdapter->PortCfg.BssTab.BssEntry[i].SsidLen);
- }
- pBss->Privacy = pAdapter->PortCfg.BssTab.BssEntry[i].Privacy;
-- pBss->Rssi = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - pAdapter->PortCfg.RssiToDbm;
-+ pBss->Rssi = pAdapter->PortCfg.BssTab.BssEntry[i].Rssi - pAdapter->PortCfg.RssiToDbm;
- pBss->NetworkTypeInUse = Ndis802_11DS;
- pBss->Configuration.Length = sizeof(NDIS_802_11_CONFIGURATION);
- pBss->Configuration.BeaconPeriod = pAdapter->PortCfg.BssTab.BssEntry[i].BeaconPeriod;
-@@ -1356,7 +1394,7 @@
-
- MAP_CHANNEL_ID_TO_KHZ(pAdapter->PortCfg.BssTab.BssEntry[i].Channel, pBss->Configuration.DSConfig);
-
-- if (pAdapter->PortCfg.BssTab.BssEntry[i].BssType == BSS_INFRA)
-+ if (pAdapter->PortCfg.BssTab.BssEntry[i].BssType == BSS_INFRA)
- pBss->InfrastructureMode = Ndis802_11Infrastructure;
- else
- pBss->InfrastructureMode = Ndis802_11IBSS;
-@@ -1370,12 +1408,12 @@
- {
- pBss->IELength = sizeof(NDIS_802_11_FIXED_IEs);
- memcpy(pBss->IEs, &pAdapter->PortCfg.BssTab.BssEntry[i].FixIEs, sizeof(NDIS_802_11_FIXED_IEs));
-- pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 4 + sizeof(NDIS_802_11_FIXED_IEs);
-+ pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 1 + sizeof(NDIS_802_11_FIXED_IEs);
- }
- else
- {
- pBss->IELength = sizeof(NDIS_802_11_FIXED_IEs) + pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen;
-- pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 4 + sizeof(NDIS_802_11_FIXED_IEs);
-+ pPtr = pPtr + sizeof(NDIS_WLAN_BSSID_EX) - 1 + sizeof(NDIS_802_11_FIXED_IEs);
- memcpy(pBss->IEs, &pAdapter->PortCfg.BssTab.BssEntry[i].FixIEs, sizeof(NDIS_802_11_FIXED_IEs));
- memcpy(pPtr, pAdapter->PortCfg.BssTab.BssEntry[i].VarIEs, pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen);
- pPtr += pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen;
-@@ -1385,7 +1423,7 @@
- if (Padding == 4)
- Padding = 0;
- pPtr += Padding;
-- pBss->Length = sizeof(NDIS_WLAN_BSSID_EX) - 4 + sizeof(NDIS_802_11_FIXED_IEs) + pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen + Padding;
-+ pBss->Length = sizeof(NDIS_WLAN_BSSID_EX) - 1 + sizeof(NDIS_802_11_FIXED_IEs) + pAdapter->PortCfg.BssTab.BssEntry[i].VarIELen + Padding;
- BssLen += pBss->Length;
- }
- wrq->u.data.length = BssLen;
-@@ -1451,11 +1489,11 @@
- wrq->u.data.length = sizeof(NDIS_802_11_CONFIGURATION);
- if(copy_to_user(wrq->u.data.pointer, &Configuration, wrq->u.data.length))
- Status = -EFAULT;
-- DBGPRINT(RT_DEBUG_TRACE, "Query::OID_802_11_CONFIGURATION(BeaconPeriod=%d,AtimW=%d,Channel=%d) \n",
-+ DBGPRINT(RT_DEBUG_TRACE, "Query::OID_802_11_CONFIGURATION(BeaconPeriod=%d,AtimW=%d,Channel=%d) \n",
- Configuration.BeaconPeriod, Configuration.ATIMWindow, pAdapter->PortCfg.Channel);
- break;
- case OID_802_11_RSSI:
-- ulInfo = pAdapter->PortCfg.LastRssi - pAdapter->PortCfg.RssiToDbm;
-+ ulInfo = pAdapter->PortCfg.LastRssi - pAdapter->PortCfg.RssiToDbm;
- wrq->u.data.length = sizeof(ulInfo);
- if(copy_to_user(wrq->u.data.pointer, &ulInfo, wrq->u.data.length))
- Status = -EFAULT;
-@@ -1484,7 +1522,7 @@
- Statistics.FrameDuplicateCount.QuadPart = pAdapter->WlanCounters.FrameDuplicateCount.QuadPart;
- Statistics.ReceivedFragmentCount.QuadPart = pAdapter->WlanCounters.ReceivedFragmentCount.QuadPart;
- Statistics.MulticastReceivedFrameCount.QuadPart = pAdapter->WlanCounters.MulticastReceivedFrameCount.QuadPart;
--#ifdef RT2500_DBG
-+#ifdef RT2500_DBG
- Statistics.FCSErrorCount = pAdapter->RalinkCounters.RealFcsErrCount;
- #else
- Statistics.FCSErrorCount.QuadPart = pAdapter->WlanCounters.FCSErrorCount.QuadPart;
-@@ -1611,8 +1649,8 @@
- }
-
- INT RT2500_ioctl(
-- IN struct net_device *net_dev,
-- IN OUT struct ifreq *rq,
-+ IN struct net_device *net_dev,
-+ IN OUT struct ifreq *rq,
- IN INT cmd)
- {
- PRTMP_ADAPTER pAdapter= net_dev->priv;
-@@ -1624,16 +1662,17 @@
- NDIS_802_11_RTS_THRESHOLD RtsThresh;
- NDIS_802_11_FRAGMENTATION_THRESHOLD FragThresh;
- NDIS_802_11_MAC_ADDRESS Bssid;
-- INT Status = NDIS_STATUS_SUCCESS;
-+ INT Status = NDIS_STATUS_SUCCESS;
- USHORT subcmd;
- BOOLEAN StateMachineTouched = FALSE;
- int i, chan = -1, index = 0, len = 0;
-+ ULONG Length;
-
-
- switch(cmd) {
- case SIOCGIWNAME:
- DBGPRINT(RT_DEBUG_TRACE, "IOCTL::SIOCGIWNAME\n");
-- strcpy(wrq->u.name, "RT2500 Wireless"); //Less then 16 bytes.
-+ strcpy(wrq->u.name, "RT2500 Wireless"); //Less then 16 bytes.
- break;
- case SIOCSIWESSID: //Set ESSID
- erq = &wrq->u.essid;
-@@ -1646,30 +1685,36 @@
- break;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
-+ Length = erq->length - 1; // minux null character.
-+#else
-+ Length = erq->length;
-+#endif
-+
- if(RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
- {
-- if (copy_from_user(Ssid.Ssid, erq->pointer, (erq->length - 1)))
-+ if (copy_from_user(Ssid.Ssid, erq->pointer, Length))
- {
- Status = -EFAULT;
- break;
- }
-- Ssid.SsidLength = erq->length - 1; //minus null character.
-+ Ssid.SsidLength = Length;
- }else{
- // This SEEMS to be needed to actual work RobinC when iface
- // is down
-- if (copy_from_user(pAdapter->PortCfg.Ssid, erq->pointer, (erq->length - 1)))
-+ if (copy_from_user(pAdapter->PortCfg.Ssid, erq->pointer, Length))
- {
- Status = -EFAULT;
- break;
- }
-- pAdapter->PortCfg.SsidLen = erq->length - 1; //minus null character.
-+ pAdapter->PortCfg.SsidLen = Length;
-
-- memcpy(pAdapter->Mlme.CntlAux.Ssid, pAdapter->PortCfg.Ssid, pAdapter->PortCfg.SsidLen);
-- pAdapter->Mlme.CntlAux.SsidLen = pAdapter->PortCfg.SsidLen;
-+ memcpy(pAdapter->Mlme.CntlAux.Ssid, pAdapter->PortCfg.Ssid, pAdapter->PortCfg.SsidLen);
-+ pAdapter->Mlme.CntlAux.SsidLen = pAdapter->PortCfg.SsidLen;
- }
- }
- else
-- Ssid.SsidLength = 0; // ANY ssid
-+ Ssid.SsidLength = 0; // ANY ssid
-
- pSsid = &Ssid;
-
-@@ -1686,10 +1731,10 @@
-
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
- OID_802_11_SSID,
- sizeof(NDIS_802_11_SSID),
- (VOID *)pSsid
-@@ -1708,7 +1753,7 @@
- Status = -EFAULT;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCGIWESSID (Len=%d, ssid=%s...)\n", erq->length, pAdapter->PortCfg.Ssid);
- break;
-- case SIOCGIWNWID: // get network id
-+ case SIOCGIWNWID: // get network id
- Status = -EOPNOTSUPP;
- break;
- case SIOCSIWNWID: // set network id (the cell)
-@@ -1717,14 +1762,14 @@
- case SIOCSIWFREQ: // set channel/frequency (Hz)
- frq = &wrq->u.freq;
- if((frq->e == 0) && (frq->m <= 1000))
-- chan = frq->m; // Setting by channel number
-+ chan = frq->m; // Setting by channel number
- else
-- MAP_KHZ_TO_CHANNEL_ID( (frq->m /100) , chan); // Setting by frequency - search the table , like 2.412G, 2.422G,
-+ MAP_KHZ_TO_CHANNEL_ID( (frq->m /100) , chan); // Setting by frequency - search the table , like 2.412G, 2.422G,
- pAdapter->PortCfg.IbssConfig.Channel = chan;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCSIWFREQ[cmd=0x%x] (Channel=%d)\n", SIOCSIWFREQ, pAdapter->PortCfg.IbssConfig.Channel);
- if(RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE) && (pAdapter->PortCfg.BssType == BSS_MONITOR || pAdapter->PortCfg.BssType == BSS_INDEP))
- {
-- pAdapter->PortCfg.Channel = chan;
-+ pAdapter->PortCfg.Channel = chan;
- AsicSwitchChannel(pAdapter, pAdapter->PortCfg.Channel);
- AsicLockChannel(pAdapter, pAdapter->PortCfg.Channel);
- }
-@@ -1822,7 +1867,7 @@
- if(wrq->u.encoding.pointer)
- {
- wrq->u.encoding.length = pAdapter->PortCfg.SharedKey[index].KeyLen;
-- if(copy_to_user(wrq->u.encoding.pointer,
-+ if(copy_to_user(wrq->u.encoding.pointer,
- pAdapter->PortCfg.SharedKey[index].Key,
- pAdapter->PortCfg.SharedKey[index].KeyLen))
- Status = -EFAULT;
-@@ -1843,14 +1888,15 @@
- len = WEP_LARGE_KEY_LEN;
-
- memset(pAdapter->PortCfg.SharedKey[index].Key, 0x00, MAX_LEN_OF_KEY);
-- if(copy_from_user(pAdapter->PortCfg.SharedKey[index].Key,
-+ if(copy_from_user(pAdapter->PortCfg.SharedKey[index].Key,
- wrq->u.encoding.pointer, len)){
- Status = -EINVAL;
- break;
- }
- pAdapter->PortCfg.SharedKey[index].KeyLen = len <= WEP_SMALL_KEY_LEN ? WEP_SMALL_KEY_LEN : WEP_LARGE_KEY_LEN;
- }
-- pAdapter->PortCfg.DefaultKeyId = (UCHAR) index;
-+ else
-+ pAdapter->PortCfg.DefaultKeyId = (UCHAR) index;
- if (wrq->u.encoding.flags & IW_ENCODE_DISABLED)
- pAdapter->PortCfg.WepStatus = Ndis802_11WEPDisabled;
- else
-@@ -1858,7 +1904,7 @@
-
- if (wrq->u.encoding.flags & IW_ENCODE_RESTRICTED)
- pAdapter->PortCfg.AuthMode = Ndis802_11AuthModeShared;
-- if (wrq->u.encoding.flags & IW_ENCODE_OPEN)
-+ if (wrq->u.encoding.flags & IW_ENCODE_OPEN)
- pAdapter->PortCfg.AuthMode = Ndis802_11AuthModeOpen;
-
- if(pAdapter->PortCfg.WepStatus == Ndis802_11WEPDisabled)
-@@ -1905,11 +1951,11 @@
-
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-- OID_802_11_BSSID,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
-+ OID_802_11_BSSID,
- sizeof(NDIS_802_11_MAC_ADDRESS),
- (VOID *)&Bssid);
- Status = NDIS_STATUS_SUCCESS;
-@@ -1928,13 +1974,13 @@
- BssType = Ndis802_11Infrastructure;
- wrq->u.mode = IW_MODE_INFRA;
- }
--#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
- else if (pAdapter->PortCfg.BssType == BSS_MONITOR)
- {
- BssType = Ndis802_11Monitor;
- wrq->u.mode = IW_MODE_MONITOR;
- }
--#endif
-+#endif
- else
- {
- BssType = Ndis802_11AutoUnknown;
-@@ -1963,7 +2009,7 @@
- pAdapter->PortCfg.BssType = BSS_INFRA;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCSIWMODE (INFRA)\n");
- }
--#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
- else if (wrq->u.mode == IW_MODE_MONITOR)
- {
- if (pAdapter->PortCfg.BssType != BSS_MONITOR)
-@@ -1974,7 +2020,7 @@
- pAdapter->PortCfg.BssType = BSS_MONITOR;
- DBGPRINT(RT_DEBUG_TRACE, "ioctl::SIOCSIWMODE (MONITOR)\n");
- }
--#endif
-+#endif
- else
- {
- Status = -ENOSYS;
-@@ -1999,7 +2045,7 @@
- }
- else
- {
-- pAdapter->net_dev->type = 1;
-+ pAdapter->net_dev->type = 1;
- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x7e);
- }
- }
-@@ -2013,23 +2059,23 @@
- Status = -EOPNOTSUPP;
- break;
- case SIOCGIWTXPOW: //get transmit power (dBm)
--#if WIRELESS_EXT >= 17
-+#if WIRELESS_EXT >= 17
- // Krellan: Get TxPower in dBm now, not percentage
- {
- ULONG R3;
- UCHAR Channel = pAdapter->PortCfg.Channel;
--
-+
- // Krellan: This code comes from AsicSwitchChannel(),
- // as we must know the channel we are currently on,
- // in order to get the correct EEPROM-recommended
- // value to establish as 0 dBm.
-- if (Channel <= 14)
-+ if (Channel <= 14)
- R3 = pAdapter->PortCfg.ChannelTxPower[Channel - 1];
-- else
-+ else
- R3 = pAdapter->PortCfg.ChannelTxPower[0];
-
- if (R3 > 31) R3 = 31;
--
-+
- wrq->u.txpower.value = pAdapter->PortCfg.TxPowerDriver - R3;
- wrq->u.txpower.flags = IW_TXPOW_DBM;
- wrq->u.txpower.fixed = !(pAdapter->PortCfg.TxPowerAuto);
-@@ -2061,7 +2107,7 @@
- else
- {
- Value = wrq->u.txpower.value;
--
-+
- if (Value < MIN_TXPOWER_DBM || Value > MAX_TXPOWER_DBM)
- {
- Status = -EINVAL;
-@@ -2107,14 +2153,14 @@
- break;
-
- case RTPRIV_IOCTL_SET:
-- {
-+ {
- char *this_char;
- char *value;
-
- if( !access_ok(VERIFY_READ, wrq->u.data.pointer, wrq->u.data.length) )
- break;
-
-- while ((this_char = strsep((char**)&wrq->u.data.pointer, ",")) != NULL)
-+ while ((this_char = strsep((char**)&wrq->u.data.pointer, ",")) != NULL)
- {
- if (!*this_char)
- continue;
-@@ -2127,8 +2173,8 @@
-
- for (PRTMP_PRIVATE_SET_PROC = RTMP_PRIVATE_SUPPORT_PROC; PRTMP_PRIVATE_SET_PROC->name; PRTMP_PRIVATE_SET_PROC++)
- {
-- if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-- {
-+ if (strcmp(this_char, PRTMP_PRIVATE_SET_PROC->name) == 0)
-+ {
- if(!PRTMP_PRIVATE_SET_PROC->set_proc(pAdapter, value))
- { //FALSE:Set private failed then return Invalid argument
- Status = -EINVAL;
-@@ -2161,8 +2207,12 @@
- break;
- #endif
-
-- case RTPRIV_IOCTL_RFMONTX:
-- Status = RTMPIoctlRFMONTX(pAdapter, wrq);
-+ case RTPRIV_IOCTL_SET_RFMONTX:
-+ Status = RTMPIoctlSetRFMONTX(pAdapter, wrq);
-+ break;
-+
-+ case RTPRIV_IOCTL_GET_RFMONTX:
-+ Status = RTMPIoctlGetRFMONTX(pAdapter, wrq);
- break;
-
- default:
-@@ -2181,7 +2231,7 @@
- UCHAR BCAST[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
- /*
- ========================================================================
--
-+
- Routine Description:
- Add WPA key process
-
-@@ -2193,7 +2243,7 @@
- NDIS_SUCCESS Add key successfully
-
- Note:
--
-+
- ========================================================================
- */
- NDIS_STATUS RTMPWPAAddKeyProc(
-@@ -2228,7 +2278,7 @@
- // 1. KeyIdx must be 0, otherwise, return NDIS_STATUS_INVALID_DATA
- if (KeyIdx != 0)
- return(NDIS_STATUS_FAILURE);
--
-+
- // 2. Check bTx, it must be true, otherwise, return NDIS_STATUS_INVALID_DATA
- if (bTxKey == FALSE)
- return(NDIS_STATUS_FAILURE);
-@@ -2236,7 +2286,7 @@
- // 3. If BSSID is not all 0xff, return NDIS_STATUS_INVALID_DATA
- if (NdisEqualMemory(pKey->BSSID, BCAST, 6))
- return(NDIS_STATUS_FAILURE);
--
-+
- // 4. Selct RxMic / TxMic based on Supp / Authenticator
- if (pAdapter->PortCfg.AuthMode == Ndis802_11AuthModeWPANone)
- {
-@@ -2277,16 +2327,16 @@
- // 6. Check RxTsc
- if (bKeyRSC == TRUE)
- {
-- memcpy(&pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, &pKey->KeyRSC, 6);
-+ memcpy(&pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, &pKey->KeyRSC, 6);
- }
- else
- {
-- memset(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, 0, 6);
-+ memset(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc, 0, 6);
- }
-
- // 7. Copy information into Pairwise Key structure.
- // pKey->KeyLength will include TxMic and RxMic, therefore, we use 16 bytes hardcoded.
-- pAdapter->PortCfg.PairwiseKey[PairwiseIdx].KeyLen = 16;
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].KeyLen = 16;
- memcpy(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].Key, &pKey->KeyMaterial, 16);
- memcpy(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxMic, pRxMic, 8);
- memcpy(pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxMic, pTxMic, 8);
-@@ -2300,36 +2350,43 @@
- pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxTsc[5] = 0;
- Status = NDIS_STATUS_SUCCESS;
-
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Key = ");
-+#ifdef RT2500_DBG
-+ printk("Pairwise Key (Index-%d) = ", PairwiseIdx);
- for (i = 0; i < 16; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].Key[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].Key[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Rx MIC Key = ");
-+ printk("\n");
-+ printk("PairwiseKey Rx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxMic[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Tx MIC Key = ");
-+ printk("\n");
-+ printk("PairwiseKey Tx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxMic[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].TxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP RxTSC = ");
-+ printk("\n");
-+ printk("RxTSC = ");
- for (i = 0; i < 6; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc[i]);
-+ printk("%02x:",
-+ pAdapter->PortCfg.PairwiseKey[PairwiseIdx].RxTsc[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-- pKey->BSSID[0],pKey->BSSID[1],pKey->BSSID[2],pKey->BSSID[3],pKey->BSSID[4],pKey->BSSID[5]);
--
-+ printk("\n");
-+ printk("BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-+ pKey->BSSID[0], pKey->BSSID[1], pKey->BSSID[2],
-+ pKey->BSSID[3], pKey->BSSID[4], pKey->BSSID[5]);
-+#endif
- }
- else // Group Key
- {
-+ DBGPRINT(RT_DEBUG_TRACE, "Ready to set Group key\n");
- // 1. Check BSSID, if not current BSSID or Bcast, return NDIS_STATUS_INVALID_DATA
- if ((!NdisEqualMemory(&pKey->BSSID, &BCAST, 6)) &&
- (!NdisEqualMemory(&pKey->BSSID, &pAdapter->PortCfg.Bssid, 6)))
-@@ -2374,7 +2431,7 @@
-
- // 6. Copy information into Group Key structure.
- // pKey->KeyLength will include TxMic and RxMic, therefore, we use 16 bytes hardcoded.
-- pAdapter->PortCfg.GroupKey[KeyIdx].KeyLen = 16;
-+ pAdapter->PortCfg.GroupKey[KeyIdx].KeyLen = 16;
- memcpy(pAdapter->PortCfg.GroupKey[KeyIdx].Key, &pKey->KeyMaterial, 16);
- memcpy(pAdapter->PortCfg.GroupKey[KeyIdx].RxMic, pRxMic, 8);
- memcpy(pAdapter->PortCfg.GroupKey[KeyIdx].TxMic, pTxMic, 8);
-@@ -2397,33 +2454,35 @@
- memcpy(pAdapter->PortCfg.SharedKey[KeyIdx].Key, &pKey->KeyMaterial, pKey->KeyLength);
- }
-
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Key = ");
-+#ifdef RT2500_DBG
-+ printk("GroupKey Key (Index-%d) = ", KeyIdx);
- for (i = 0; i < 16; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].Key[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].Key[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Rx MIC Key = ");
-+ printk("\n");
-+ printk("GroupKey Rx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxMic[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP Tx MIC Key = ");
-+ printk("\n");
-+ printk("GroupKey Tx MIC Key = ");
- for (i = 0; i < 8; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].TxMic[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].TxMic[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "TKIP RxTSC = ");
-+ printk("\n");
-+ printk("RxTSC = ");
- for (i = 0; i < 6; i++)
- {
-- DBGPRINT(RT_DEBUG_INFO, "%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxTsc[i]);
-+ printk("%02x:", pAdapter->PortCfg.GroupKey[KeyIdx].RxTsc[i]);
- }
-- DBGPRINT(RT_DEBUG_INFO, "\n");
-- DBGPRINT(RT_DEBUG_INFO, "BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-- pKey->BSSID[0],pKey->BSSID[1],pKey->BSSID[2],pKey->BSSID[3],pKey->BSSID[4],pKey->BSSID[5]);
--
-+ printk("\n");
-+ printk("BSSID:%02x:%02x:%02x:%02x:%02x:%02x \n",
-+ pKey->BSSID[0], pKey->BSSID[1], pKey->BSSID[2],
-+ pKey->BSSID[3], pKey->BSSID[4], pKey->BSSID[5]);
-+#endif
- }
- return (Status);
- }
-@@ -2499,7 +2558,7 @@
- break;
- }
- }
--
-+
- }
- // c. If no pairwise supported, delete Group Key 0.
- // The will be false since we do support pairwise keys.
-@@ -2545,7 +2604,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPWPARemoveAllKeys(
-@@ -2562,7 +2621,7 @@
- {
- pAdapter->PortCfg.PairwiseKey[i].KeyLen = 0;
- }
--
-+
- for (i = 0; i < GROUP_KEY_NO; i++)
- {
- pAdapter->PortCfg.GroupKey[i].KeyLen = 0;
-@@ -2578,7 +2637,7 @@
- Arguments:
- pAdapter Pointer to our adapter
- phmode
--
-+
- ========================================================================
- */
- VOID RTMPSetPhyMode(
-@@ -2586,7 +2645,7 @@
- IN ULONG phymode)
- {
- INT i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"RTMPSetPhyMode(=%d)\n", phymode);
-
- // the selected phymode must be supported by the RF IC encoded in E2PROM
-@@ -2611,7 +2670,7 @@
- if (i == pAdapter->PortCfg.ChannelListNum)
- pAdapter->PortCfg.IbssConfig.Channel = FirstChannel(pAdapter);
- pAdapter->PortCfg.Channel = pAdapter->PortCfg.IbssConfig.Channel;
--
-+
- AsicSwitchChannel(pAdapter, pAdapter->PortCfg.Channel);
- AsicLockChannel(pAdapter, pAdapter->PortCfg.Channel);
-
-@@ -2859,7 +2918,7 @@
- // Changing DesiredRate may affect the MAX TX rate we used to TX frames out
- MlmeUpdateTxRates(pAdapter, FALSE);
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Country Region
-@@ -2868,7 +2927,7 @@
- ==========================================================================
- */
- INT Set_CountryRegion_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG region;
-@@ -2886,7 +2945,7 @@
-
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set SSID
-@@ -2895,7 +2954,7 @@
- ==========================================================================
- */
- INT Set_SSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- NDIS_802_11_SSID Ssid, *pSsid=NULL;
-@@ -2904,8 +2963,8 @@
-
-
- /* Protect against oops if net is down, this will not work with if-preup
-- use iwconfig properly */
-- printk("'iwpriv <dev> set essid' is deprecated, please use 'iwconfg <dev> essid' instead\n");
-+ use iwconfig properly */
-+ printk("'iwpriv <dev> set essid' is deprecated, please use 'iwconfg <dev> essid' instead\n");
- if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
- return FALSE;
-
-@@ -2916,8 +2975,8 @@
- Ssid.SsidLength = strlen(arg);
- pSsid = &Ssid;
-
--
--
-+
-+
- if (pAdapter->Mlme.CntlMachine.CurrState != CNTL_IDLE)
- {
- MlmeRestartStateMachine(pAdapter);
-@@ -2925,10 +2984,10 @@
- }
- // tell CNTL state machine to call NdisMSetInformationComplete() after completing
- // this request, because this request is initiated by NDIS.
-- pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-+ pAdapter->Mlme.CntlAux.CurrReqIsFromNdis = FALSE;
-
-- MlmeEnqueue(&pAdapter->Mlme.Queue,
-- MLME_CNTL_STATE_MACHINE,
-+ MlmeEnqueue(&pAdapter->Mlme.Queue,
-+ MLME_CNTL_STATE_MACHINE,
- OID_802_11_SSID,
- sizeof(NDIS_802_11_SSID),
- (VOID *)pSsid);
-@@ -2944,7 +3003,7 @@
-
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Wireless Mode
-@@ -2953,26 +3012,24 @@
- ==========================================================================
- */
- INT Set_WirelessMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG WirelessMode;
- int success = TRUE;
-
- WirelessMode = simple_strtol(arg, 0, 10);
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_WirelessMode_Proc::(=%d)\n", WirelessMode);
-
- if ((WirelessMode == PHY_11BG_MIXED) || (WirelessMode == PHY_11B) ||
- (WirelessMode == PHY_11A) || (WirelessMode == PHY_11ABG_MIXED))
-- {
- RTMPSetPhyMode(pAdapter, WirelessMode);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_WirelessMode_Proc::(=%d)\n", WirelessMode);
-- }
- else
- success = FALSE;
-
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TxRate
-@@ -2981,7 +3038,7 @@
- ==========================================================================
- */
- INT Set_TxRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG TxRate;
-@@ -2996,7 +3053,7 @@
- RTMPSetDesiredRates(pAdapter, (LONG) (rate_mapping[TxRate-1] * 1000000));
- return success;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set AdhocMode support Rate can or can not exceed 11Mbps against WiFi spec.
-@@ -3005,7 +3062,7 @@
- ==========================================================================
- */
- INT Set_AdhocModeRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG AdhocMode;
-@@ -3017,13 +3074,13 @@
- else if (AdhocMode == 0)
- pAdapter->PortCfg.AdhocMode = 0;
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- DBGPRINT(RT_DEBUG_TRACE, "Set_AdhocModeRate_Proc::(AdhocMode=%d)\n", pAdapter->PortCfg.AdhocMode);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Channel
-@@ -3032,7 +3089,7 @@
- ==========================================================================
- */
- INT Set_Channel_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int success = TRUE;
-@@ -3051,7 +3108,32 @@
-
- return success;
- }
--/*
-+/*
-+ ==========================================================================
-+ Description:
-+ For Debug information
-+ Return:
-+ TRUE if all parameters are OK, FALSE otherwise
-+ ==========================================================================
-+*/
-+#ifdef RT2500_DBG
-+INT Set_Debug_Proc(
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN PUCHAR arg)
-+
-+{
-+ DBGPRINT(RT_DEBUG_TRACE, "**************************************************************\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "==> Set_Debug_Proc arg=%s\n", arg);
-+ //To do here.
-+
-+ rt2500_setdbg(simple_strtoul(arg, 0, 0));
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "<== Set_Debug_Proc\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "**************************************************************\n");
-+ return TRUE;
-+}
-+#endif
-+/*
- ==========================================================================
- Description:
- Set 11B/11G Protection
-@@ -3060,7 +3142,7 @@
- ==========================================================================
- */
- INT Set_BGProtection_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
-
- {
-@@ -3074,15 +3156,15 @@
- break;
- case 2: //Always OFF
- pAdapter->PortCfg.UseBGProtection = 2;
-- break;
-- default: //Invalid argument
-+ break;
-+ default: //Invalid argument
- return FALSE;
- }
- DBGPRINT(RT_DEBUG_TRACE, "Set_BGProtection_Proc::(BGProtection=%d)\n", pAdapter->PortCfg.UseBGProtection);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set StaWithEtherBridge function on/off
-@@ -3091,7 +3173,7 @@
- ==========================================================================
- */
- INT Set_StaWithEtherBridge_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
-
- {
-@@ -3103,14 +3185,14 @@
- case 1: //On
- pAdapter->PortCfg.StaWithEtherBridge.Enable = TRUE;
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- return FALSE;
- }
- DBGPRINT(RT_DEBUG_TRACE, "Set_StaWithEtherBridge_Proc::(StaWithEtherBridge=%d)\n", pAdapter->PortCfg.StaWithEtherBridge.Enable);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TxPreamble
-@@ -3119,7 +3201,7 @@
- ==========================================================================
- */
- INT Set_TxPreamble_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- RT_802_11_PREAMBLE Preamble;
-@@ -3138,7 +3220,7 @@
- pAdapter->PortCfg.WindowsTxPreamble = Preamble;
- MlmeSetTxPreamble(pAdapter, Rt802_11PreambleLong);
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- return FALSE;
- }
-
-@@ -3146,7 +3228,7 @@
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set RTS Threshold
-@@ -3155,15 +3237,15 @@
- ==========================================================================
- */
- INT Set_RTSThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
--
--
-+
-+
- {
- NDIS_802_11_RTS_THRESHOLD RtsThresh;
-
-- printk("'iwpriv <dev> set RTSThreshold' is deprecated, please use 'iwconfg <dev> rts' instead\n");
--
-+ printk("'iwpriv <dev> set RTSThreshold' is deprecated, please use 'iwconfg <dev> rts' instead\n");
-+
- RtsThresh = simple_strtol(arg, 0, 10);
-
- if((RtsThresh > 0) && (RtsThresh <= MAX_RTS_THRESHOLD))
-@@ -3176,7 +3258,7 @@
- DBGPRINT(RT_DEBUG_TRACE, "Set_RTSThreshold_Proc::(RTSThreshold=%d)\n", pAdapter->PortCfg.RtsThreshold);
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Fragment Threshold
-@@ -3185,14 +3267,14 @@
- ==========================================================================
- */
- INT Set_FragThreshold_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- NDIS_802_11_FRAGMENTATION_THRESHOLD FragThresh;
-
-- printk("'iwpriv <dev> set FragThreshold' is deprecated, please use 'iwconfg <dev> frag' instead\n");
--
--
-+ printk("'iwpriv <dev> set FragThreshold' is deprecated, please use 'iwconfg <dev> frag' instead\n");
-+
-+
- FragThresh = simple_strtol(arg, 0, 10);
-
- if ( (FragThresh >= MIN_FRAG_THRESHOLD) && (FragThresh <= MAX_FRAG_THRESHOLD))
-@@ -3200,7 +3282,7 @@
- else if (FragThresh == 0)
- pAdapter->PortCfg.FragmentThreshold = MAX_FRAG_THRESHOLD;
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- if (pAdapter->PortCfg.FragmentThreshold == MAX_FRAG_THRESHOLD)
- pAdapter->PortCfg.bFragmentZeroDisable = TRUE;
-@@ -3211,7 +3293,7 @@
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TxBurst
-@@ -3220,7 +3302,7 @@
- ==========================================================================
- */
- INT Set_TxBurst_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG TxBurst;
-@@ -3232,13 +3314,13 @@
- else if (TxBurst == 0)
- pAdapter->PortCfg.EnableTxBurst = FALSE;
- else
-- return FALSE; //Invalid argument
--
-+ return FALSE; //Invalid argument
-+
- DBGPRINT(RT_DEBUG_TRACE, "Set_TxBurst_Proc::(TxBurst=%d)\n", pAdapter->PortCfg.EnableTxBurst);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set TurboRate Enable or Disable
-@@ -3247,7 +3329,7 @@
- ==========================================================================
- */
- INT Set_TurboRate_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG TurboRate;
-@@ -3259,13 +3341,13 @@
- else if (TurboRate == 0)
- pAdapter->PortCfg.EnableTurboRate = FALSE;
- else
-- return FALSE; //Invalid argument
--
-+ return FALSE; //Invalid argument
-+
- DBGPRINT(RT_DEBUG_TRACE, "Set_TurboRate_Proc::(TurboRate=%d)\n", pAdapter->PortCfg.EnableTurboRate);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Short Slot Time Enable or Disable
-@@ -3274,7 +3356,7 @@
- ==========================================================================
- */
- INT Set_ShortSlot_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG ShortSlot;
-@@ -3286,14 +3368,14 @@
- else if (ShortSlot == 0)
- pAdapter->PortCfg.UseShortSlotTime = FALSE;
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- DBGPRINT(RT_DEBUG_TRACE, "Set_ShortSlot_Proc::(ShortSlot=%d)\n", pAdapter->PortCfg.UseShortSlotTime);
-
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set Network Type(Infrastructure/Adhoc mode)
-@@ -3302,17 +3384,17 @@
- ==========================================================================
- */
- INT Set_NetworkType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
-
-- printk("'iwpriv <dev> set NetworkType' is deprecated, please use 'iwconfg <dev> mode' instead\n");
--
-+ printk("'iwpriv <dev> set NetworkType' is deprecated, please use 'iwconfg <dev> mode' instead\n");
-+
- if (strcmp(arg, "Adhoc") == 0)
- pAdapter->PortCfg.BssType = BSS_INDEP;
- else //Default Infrastructure mode
- pAdapter->PortCfg.BssType = BSS_INFRA;
--
-+
- // Reset Ralink supplicant to not use, it will be set to start when UI set PMK key
- pAdapter->PortCfg.WpaState = SS_NOTUSE;
-
-@@ -3321,7 +3403,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set Authentication mode
-@@ -3330,7 +3412,7 @@
- ==========================================================================
- */
- INT Set_AuthMode_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- if ((strcmp(arg, "OPEN") == 0) || (strcmp(arg, "open") == 0))
-@@ -3344,7 +3426,7 @@
- else if ((strcmp(arg, "WPANONE") == 0) || (strcmp(arg, "wpanone") == 0))
- pAdapter->PortCfg.AuthMode = Ndis802_11AuthModeWPANone;
- else
-- return FALSE;
-+ return FALSE;
-
- pAdapter->PortCfg.PortSecured = WPA_802_1X_PORT_NOT_SECURED;
-
-@@ -3353,7 +3435,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set Encryption Type
-@@ -3362,7 +3444,7 @@
- ==========================================================================
- */
- INT Set_EncrypType_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- if ((strcmp(arg, "NONE") == 0) || (strcmp(arg, "none") == 0))
-@@ -3380,7 +3462,7 @@
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set Default Key ID
-@@ -3389,24 +3471,24 @@
- ==========================================================================
- */
- INT Set_DefaultKeyID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG KeyIdx;
--
-- printk("'iwpriv <dev> set DefaultKeyID' is deprecated, please use 'iwconfg <dev> key' instead\n");
--
-+
-+ printk("'iwpriv <dev> set DefaultKeyID' is deprecated, please use 'iwconfg <dev> key' instead\n");
-+
- KeyIdx = simple_strtol(arg, 0, 10);
- if((KeyIdx >= 1 ) && (KeyIdx <= 4))
- pAdapter->PortCfg.DefaultKeyId = (UCHAR) (KeyIdx - 1 );
- else
-- return FALSE; //Invalid argument
-+ return FALSE; //Invalid argument
-
- DBGPRINT(RT_DEBUG_TRACE, "Set_DefaultKeyID_Proc::(DefaultKeyID=%d)\n", pAdapter->PortCfg.DefaultKeyId);
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY1
-@@ -3415,22 +3497,22 @@
- ==========================================================================
- */
- INT Set_Key1_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key1' is deprecated, please use 'iwconfg <dev> key [1] ' instead\n");
--
-+ printk("'iwpriv <dev> set Key1' is deprecated, please use 'iwconfg <dev> key [1] ' instead\n");
-+
- KeyLen = strlen(arg);
-
- switch (KeyLen)
- {
- case 5: //wep 40 Ascii type
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
-+ memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
- break;
- case 10: //wep 40 Hex type
- for(i=0; i < KeyLen; i++)
-@@ -3440,12 +3522,12 @@
- }
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen / 2 ;
- AtoH(arg, pAdapter->PortCfg.SharedKey[0].Key, KeyLen / 2);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
- break;
- case 13: //wep 104 Ascii type
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
-+ memcpy(pAdapter->PortCfg.SharedKey[0].Key, arg, KeyLen);
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Ascii");
- break;
- case 26: //wep 104 Hex type
- for(i=0; i < KeyLen; i++)
-@@ -3455,16 +3537,16 @@
- }
- pAdapter->PortCfg.SharedKey[0].KeyLen = KeyLen / 2 ;
- AtoH(arg, pAdapter->PortCfg.SharedKey[0].Key, KeyLen / 2);
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::(Key1=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-- DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::Invalid argument (=%s)\n", arg);
-+ default: //Invalid argument
-+ DBGPRINT(RT_DEBUG_TRACE, "Set_Key1_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY2
-@@ -3473,15 +3555,15 @@
- ==========================================================================
- */
- INT Set_Key2_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key2' is deprecated, please use 'iwconfg <dev> key [2] ' instead\n");
-+ printk("'iwpriv <dev> set Key2' is deprecated, please use 'iwconfg <dev> key [2] ' instead\n");
-+
-
--
- KeyLen = strlen(arg);
-
- switch (KeyLen)
-@@ -3503,7 +3585,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAdapter->PortCfg.SharedKey[1].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[1].Key, arg, KeyLen);
-+ memcpy(pAdapter->PortCfg.SharedKey[1].Key, arg, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key2_Proc::(Key2=%s and type=%s)\n", arg, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -3516,14 +3598,14 @@
- AtoH(arg, pAdapter->PortCfg.SharedKey[1].Key, KeyLen / 2);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key2_Proc::(Key2=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key2_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY3
-@@ -3532,13 +3614,13 @@
- ==========================================================================
- */
- INT Set_Key3_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key3' is deprecated, please use 'iwconfg <dev> key [3] ' instead\n");
-+ printk("'iwpriv <dev> set Key3' is deprecated, please use 'iwconfg <dev> key [3] ' instead\n");
-
- KeyLen = strlen(arg);
-
-@@ -3574,14 +3656,14 @@
- AtoH(arg, pAdapter->PortCfg.SharedKey[2].Key, KeyLen / 2);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key3_Proc::(Key3=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key3_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WEP KEY4
-@@ -3590,21 +3672,21 @@
- ==========================================================================
- */
- INT Set_Key4_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- int KeyLen;
- int i;
-
-- printk("'iwpriv <dev> set Key4' is deprecated, please use 'iwconfg <dev> key [4] ' instead\n");
--
-+ printk("'iwpriv <dev> set Key4' is deprecated, please use 'iwconfg <dev> key [4] ' instead\n");
-+
- KeyLen = strlen(arg);
-
- switch (KeyLen)
- {
- case 5: //wep 40 Ascii type
- pAdapter->PortCfg.SharedKey[3].KeyLen = KeyLen;
-- memcpy(pAdapter->PortCfg.SharedKey[3].Key, arg, KeyLen);
-+ memcpy(pAdapter->PortCfg.SharedKey[3].Key, arg, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key4_Proc::(Key4=%s and type=%s)\n", arg, "Ascii");
- break;
- case 10: //wep 40 Hex type
-@@ -3632,14 +3714,14 @@
- AtoH(arg, pAdapter->PortCfg.SharedKey[3].Key, KeyLen / 2);
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key4_Proc::(Key4=%s and type=%s)\n", arg, "Hex");
- break;
-- default: //Invalid argument
-+ default: //Invalid argument
- DBGPRINT(RT_DEBUG_TRACE, "Set_Key4_Proc::Invalid argument (=%s)\n", arg);
- return FALSE;
- }
-
- return TRUE;
- }
--/*
-+/*
- ==========================================================================
- Description:
- Set WPA PSK key
-@@ -3648,7 +3730,7 @@
- ==========================================================================
- */
- INT Set_WPAPSK_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- UCHAR keyMaterial[40];
-@@ -3670,16 +3752,16 @@
-
- memcpy(&pAdapter->PortCfg.PskKey.Key, &keyMaterial, 32);
- }
--
-+
- // Use RaConfig as PSK agent.
- // Start STA supplicant state machine
- pAdapter->PortCfg.WpaState = SS_START;
--
-+
- return TRUE;
- }
-
-
--/*
-+/*
- ==========================================================================
- Description:
- Set WPA NONE key
-@@ -3689,7 +3771,7 @@
- */
-
- INT Set_WPANONE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- UCHAR keyMaterial[40];
-@@ -3700,17 +3782,17 @@
- DBGPRINT(RT_DEBUG_TRACE, "Set failed!!(WPANONE=%s), WPANONE key-string required 8 ~ 64 characters \n", arg);
- return FALSE;
- }
--
-+
- if (strlen(arg) == 64)
- {
-- AtoH(arg, pAdapter->PortCfg.PskKey.Key, 32);
-+ AtoH(arg, keyMaterial, 32);
- }
- else
- {
- PasswordHash((char *)arg, pAdapter->Mlme.CntlAux.Ssid, pAdapter->Mlme.CntlAux.SsidLen, keyMaterial);
--
-- memcpy(pAdapter->PortCfg.PskKey.Key, keyMaterial, 32);
- }
-+ memcpy(pAdapter->PortCfg.PskKey.Key, keyMaterial, 32);
-+
- // Use RaConfig as PSK agent.
- // Start STA supplicant state machine
- pAdapter->PortCfg.WpaState = SS_START;
-@@ -3718,7 +3800,7 @@
- //-----------------------------------------------------------------------------
- // pasted from "RTMPWPAAddKeyProc(...)"
- // major on Group Key only.
--
-+
- // Group Key
- {
- // 3. Set as default Tx Key if bTxKey is TRUE
-@@ -3733,10 +3815,10 @@
-
- // 6. Copy information into Group Key structure.
- // pKey->KeyLength will include TxMic and RxMic, therefore, we use 16 bytes hardcoded.
-- pAdapter->PortCfg.GroupKey[0].KeyLen = 16;
-- memcpy(pAdapter->PortCfg.GroupKey[0].Key, (PUCHAR)(keyMaterial) + 0, 16);
-- memcpy(pAdapter->PortCfg.GroupKey[0].RxMic, (PUCHAR)(keyMaterial) + 16, 8);
-- memcpy(pAdapter->PortCfg.GroupKey[0].TxMic, (PUCHAR)(keyMaterial) + 16, 8);
-+ pAdapter->PortCfg.GroupKey[0].KeyLen = 16;
-+ memcpy(pAdapter->PortCfg.GroupKey[0].Key, &keyMaterial[0], 16);
-+ memcpy(pAdapter->PortCfg.GroupKey[0].RxMic, &keyMaterial[16], 8);
-+ memcpy(pAdapter->PortCfg.GroupKey[0].TxMic, &keyMaterial[16], 8);
- memcpy(pAdapter->PortCfg.GroupKey[0].BssId, &pAdapter->PortCfg.Bssid, 6);
-
- // Init TxTsc to one based on WiFi WPA specs
-@@ -3754,7 +3836,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Read / Write BBP
-@@ -3766,7 +3848,7 @@
- None
-
- Note:
-- Usage:
-+ Usage:
- 1.) iwpriv ra0 bbp ==> read all BBP
- 2.) iwpriv ra0 bbp 1,2,10,32 ==> raed BBP where ID=1,2,10,32
- 3.) iwpriv ra0 bbp 1=10,17=3E ==> write BBP R1=0x10, R17=0x3E
-@@ -3887,9 +3969,9 @@
- kfree(arg);
- }
-
--int RTMPIoctlRFMONTX(
-+int RTMPIoctlSetRFMONTX(
- IN PRTMP_ADAPTER pAdapter,
-- IN OUT struct iwreq *wrq)
-+ IN struct iwreq *wrq)
- {
- char *pvalue;
- char value;
-@@ -3898,7 +3980,7 @@
- {
- pvalue = wrq->u.data.pointer;
- value = *pvalue;
--
-+
- if (value == 1)
- {
- pAdapter->PortCfg.MallowRFMONTx = TRUE;
-@@ -3912,18 +3994,19 @@
- else return -EINVAL;
- }
-
-- /* Display the state. Use "value" to indicate it. */
-- value = pAdapter->PortCfg.MallowRFMONTx == TRUE ? '1'
-- : '0';
-- wrq->u.data.length = sizeof (char);
--
-- if (copy_to_user (wrq->u.data.pointer, &value, wrq->u.data.length))
-- DBGPRINT (RT_DEBUG_ERROR, "RTMPIoctlRFMONTX - copy to user failure.\n");
-+ return 0;
-+}
-
-+int RTMPIoctlGetRFMONTX(
-+ IN PRTMP_ADAPTER pAdapter,
-+ OUT struct iwreq *wrq)
-+{
-+ *(int *) wrq->u.name = pAdapter->PortCfg.MallowRFMONTx == TRUE ? 1 : 0;
- return 0;
-+
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Read / Write MAC
-@@ -3935,13 +4018,13 @@
- None
-
- Note:
-- Usage:
-+ Usage:
- 1.) iwpriv ra0 mac 0 ==> read MAC where Addr=0x0
- 2.) iwpriv ra0 mac 0=12 ==> write MAC where Addr=0x0, value=12
- ==========================================================================
- */
- VOID RTMPIoctlMAC(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN struct iwreq *wrq)
- {
- char *this_char;
-@@ -3996,7 +4079,7 @@
- {
- this_char[4-k+j] = this_char[j];
- }
--
-+
- while(k < 4)
- this_char[3-k++]='0';
- this_char[4]='\0';
-@@ -4061,7 +4144,7 @@
- {
- temp2[8-k+j] = temp2[j];
- }
--
-+
- while(k < 8)
- temp2[7-k++]='0';
- temp2[8]='\0';
-@@ -4074,7 +4157,7 @@
- macValue = *temp*256*256*256 + temp[1]*256*256 + temp[2]*256 + temp[3];
-
- DBGPRINT(RT_DEBUG_TRACE, "macAddr=%02x, macValue=0x%x\n", macAddr, macValue);
--
-+
- RTMP_IO_WRITE32(pAdapter, macAddr, macValue);
- sprintf(msg+strlen(msg), "[0x%02X]:%02X ", macAddr, macValue);
- count++;
-@@ -4093,7 +4176,7 @@
- wrq->u.data.length = strlen(msg);
- if(copy_to_user(wrq->u.data.pointer, msg, wrq->u.data.length))
- DBGPRINT(RT_DEBUG_ERROR, "RTMPIoctlMAC - copy to user failure.\n");
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<==RTMPIoctlMAC\n");
-
- kfree(msg);
-@@ -4102,7 +4185,7 @@
-
- #ifdef RALINK_ATE
-
--/*
-+/*
- ==========================================================================
- Description:
- Read / Write E2PROM
-@@ -4114,13 +4197,13 @@
- None
-
- Note:
-- Usage:
-+ Usage:
- 1.) iwpriv ra0 e2p 0 ==> read E2PROM where Addr=0x0
- 2.) iwpriv ra0 e2p 0=1234 ==> write E2PROM where Addr=0x0, value=1234
- ==========================================================================
- */
- VOID RTMPIoctlE2PROM(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN struct iwreq *wrq)
- {
- char *this_char;
-@@ -4136,7 +4219,7 @@
-
- msg = kmalloc(1024, GFP_KERNEL);
- arg = kmalloc(255, GFP_KERNEL);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==>RTMPIoctlE2PROM\n");
- memset(msg, 0x00, 1024);
- memset(arg, 0x00, 255);
-@@ -4178,7 +4261,7 @@
- {
- this_char[4-k+j] = this_char[j];
- }
--
-+
- while(k < 4)
- this_char[3-k++]='0';
- this_char[4]='\0';
-@@ -4186,7 +4269,7 @@
- if(strlen(this_char) == 4)
- {
- AtoH(this_char, temp, 4);
-- eepAddr = *temp*256 + temp[1];
-+ eepAddr = *temp*256 + temp[1];
- if (eepAddr < 0xFFFF)
- {
- eepValue = RTMP_EEPROM_READ16(pAdapter, eepAddr);
-@@ -4243,7 +4326,7 @@
- {
- temp2[4-k+j] = temp2[j];
- }
--
-+
- while(k < 4)
- temp2[3-k++]='0';
- temp2[4]='\0';
-@@ -4255,7 +4338,7 @@
- eepValue = *temp*256 + temp[1];
-
- DBGPRINT(RT_DEBUG_TRACE, "eepAddr=%02x, eepValue=0x%x\n", eepAddr, eepValue);
--
-+
- RTMP_EEPROM_WRITE16(pAdapter, eepAddr, eepValue);
- sprintf(msg+strlen(msg), "[0x%02X]:%02X ", eepAddr, eepValue);
- count++;
-@@ -4269,18 +4352,19 @@
- if(strlen(msg) == 1)
- sprintf(msg+strlen(msg), "===>Error command format!");
-
-- // Copy the information into the user buffer
-- DBGPRINT(RT_DEBUG_TRACE, "copy to user [msg=%s]\n", *msg);
-+ // Copy the information into the user buffer
-+ DBGPRINT(RT_DEBUG_TRACE, "copy to user [msg=%s]\n", *msg);
- wrq->u.data.length = strlen(msg);
-- copy_to_user(wrq->u.data.pointer, msg, wrq->u.data.length);
--
-+ if (copy_to_user(wrq->u.data.pointer, msg, wrq->u.data.length))
-+ DBGPRINT(RT_DEBUG_ERROR, "RTMPIoctlE2PROM - copy to user failure.\n");
-+
- DBGPRINT(RT_DEBUG_TRACE, "<==RTMPIoctlE2PROM\n");
-
- kfree(msg);
- kfree(arg);
- }
-
--UCHAR TempletFrame[24] = {0x08,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xAA,0xBB,0x12,0x34,0x56,0x00,0x11,0x22,0xAA,0xBB,0xCC,0x00,0x00}; // 802.11 MAC Header, Type:Data, Length:24bytes
-+UCHAR TempletFrame[24] = {0x08,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xAA,0xBB,0x12,0x34,0x56,0x00,0x11,0x22,0xAA,0xBB,0xCC,0x00,0x00}; // 802.11 MAC Header, Type:Data, Length:24bytes
-
- /*
- ==========================================================================
-@@ -4297,7 +4381,7 @@
- ==========================================================================
- */
- INT Set_ATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- USHORT BbpData;
-@@ -4305,7 +4389,7 @@
- PTXD_STRUC pTxD;
- PUCHAR pDest;
- UINT i, j;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_Proc (arg = %s)\n", arg);
-
- mdelay(5);
-@@ -4321,8 +4405,8 @@
- BbpData = 0;
- MacData &= 0xFBFFFFFF;
-
-- if (!strcmp(arg, "STASTOP"))
-- {
-+ if (!strcmp(arg, "STASTOP"))
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: STASTOP\n");
-
- RTMP_IO_WRITE32(pAdapter, MACCSR1, MacData);
-@@ -4333,11 +4417,11 @@
- LinkDown(pAdapter);
- AsicEnableBssSync(pAdapter);
- netif_stop_queue(pAdapter->net_dev);
-- RTMPStationStop(pAdapter);
-+ RTMPStationStop(pAdapter);
- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0xffffffff); // Stop Rx
- }
-- else if (!strcmp(arg, "STASTART"))
-- {
-+ else if (!strcmp(arg, "STASTART"))
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: STASTART\n");
-
- RTMP_IO_WRITE32(pAdapter, MACCSR1, MacData);
-@@ -4350,9 +4434,9 @@
- RTMPStationStart(pAdapter);
- }
- else if (!strcmp(arg, "TXCONT")) // Continuous Tx
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: TXCONT\n");
--
-+
- pAdapter->ate.Mode = ATE_TXCONT;
-
- BbpData |= 0x80;
-@@ -4427,7 +4511,7 @@
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
- }
- else if (!strcmp(arg, "TXFRAME")) // Tx Frames --------------------------------------
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: TXFRAME(Count=%d)\n", pAdapter->ate.TxCount);
- pAdapter->ate.Mode = ATE_TXFRAME;
-
-@@ -4435,7 +4519,7 @@
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, 63, BbpData);
-
- pAdapter->ate.TxDoneCount = 0;
--
-+
- for (i = 0; (i < TX_RING_SIZE) && (i < pAdapter->ate.TxCount); i++)
- {
- pTxD = (PTXD_STRUC)pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
-@@ -4467,7 +4551,7 @@
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
- }
- else if (!strcmp(arg, "RXFRAME")) // Rx Frames --------------------------------------
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: RXFRAME\n");
-
- RTMP_IO_WRITE32(pAdapter, MACCSR1, MacData);
-@@ -4475,23 +4559,23 @@
-
- pAdapter->ate.Mode = ATE_RXFRAME;
- pAdapter->ate.TxDoneCount = pAdapter->ate.TxCount;
--
-+
- RTMP_IO_WRITE32(pAdapter, TXCSR0, 0x08); // Abort Tx
- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x56); // Start Rx
- }
- else
-- {
-+ {
- DBGPRINT(RT_DEBUG_TRACE, "ATE: Invalid arg!\n");
- return FALSE;
- }
-
- mdelay(5);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_Proc\n");
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE ADDR1=DA for TxFrames Return:
-@@ -4499,21 +4583,21 @@
- ==========================================================================
- */
- INT Set_ATE_DA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- char *value;
- int i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_DA_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- if(strlen(arg) != 17) //Mac address acceptable format 01:02:03:04:05:06 length 17
- return FALSE;
-
-- for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
-+ for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
- {
-- if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
-+ if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
- return FALSE; //Invalid
-
- AtoH(value, &pAdapter->ate.Addr1[i++], 2);
-@@ -4521,14 +4605,14 @@
-
- if(i != 6)
- return FALSE; //Invalid
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "DA=%2X:%2X:%2X:%2X:%2X:%2X\n", pAdapter->ate.Addr1[0], pAdapter->ate.Addr1[1], pAdapter->ate.Addr1[2], pAdapter->ate.Addr1[3], pAdapter->ate.Addr1[4], pAdapter->ate.Addr1[5]);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_DA_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE ADDR2=SA for TxFrames Return:
-@@ -4536,21 +4620,21 @@
- ==========================================================================
- */
- INT Set_ATE_SA_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- char *value;
- int i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_SA_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- if(strlen(arg) != 17) //Mac address acceptable format 01:02:03:04:05:06 length 17
- return FALSE;
-
-- for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
-+ for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
- {
-- if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
-+ if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
- return FALSE; //Invalid
-
- AtoH(value, &pAdapter->ate.Addr2[i++], 2);
-@@ -4561,11 +4645,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "DA=%2X:%2X:%2X:%2X:%2X:%2X\n", pAdapter->ate.Addr2[0], pAdapter->ate.Addr2[1], pAdapter->ate.Addr2[2], pAdapter->ate.Addr2[3], pAdapter->ate.Addr2[4], pAdapter->ate.Addr2[5]);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_SA_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE ADDR3=BSSID for TxFrames Return:
-@@ -4573,21 +4657,21 @@
- ==========================================================================
- */
- INT Set_ATE_BSSID_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- char *value;
- int i;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_BSSID_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- if(strlen(arg) != 17) //Mac address acceptable format 01:02:03:04:05:06 length 17
- return FALSE;
-
-- for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
-+ for (i=0, value = strtok(arg,":"); value; value = strtok(NULL,":"))
- {
-- if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
-+ if((strlen(value) != 2) || (!isxdigit(*value)) || (!isxdigit(*(value+1))) )
- return FALSE; //Invalid
-
- AtoH(value, &pAdapter->ate.Addr3[i++], 2);
-@@ -4598,11 +4682,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "DA=%2X:%2X:%2X:%2X:%2X:%2X\n", pAdapter->ate.Addr3[0], pAdapter->ate.Addr3[1], pAdapter->ate.Addr3[2], pAdapter->ate.Addr3[3], pAdapter->ate.Addr3[4], pAdapter->ate.Addr3[5]);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_BSSID_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Channel Return:
-@@ -4610,11 +4694,11 @@
- ==========================================================================
- */
- INT Set_ATE_CHANNEL_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_CHANNEL_Proc (arg = %s)\n", arg);
--
-+
- pAdapter->ate.Channel = simple_strtol(arg, 0, 10);
- if((pAdapter->ate.Channel < 1) || (pAdapter->ate.Channel > 14))
- {
-@@ -4623,11 +4707,11 @@
- }
-
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_CHANNEL_Proc (ATE Channel = %d)\n", pAdapter->ate.Channel);
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Power Return:
-@@ -4635,14 +4719,14 @@
- ==========================================================================
- */
- INT Set_ATE_TX_POWER_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- ULONG R3;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_POWER_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxPower = simple_strtol(arg, 0, 10);
-
- if(pAdapter->ate.TxPower >= 32)
-@@ -4659,11 +4743,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "TxPower = %d\n", pAdapter->ate.TxPower);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_POWER_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Length Return:
-@@ -4671,12 +4755,12 @@
- ==========================================================================
- */
- INT Set_ATE_TX_LENGTH_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_LENGTH_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxLength = simple_strtol(arg, 0, 10);
-
- if((pAdapter->ate.TxLength < 24) || (pAdapter->ate.TxLength > 1500))
-@@ -4687,11 +4771,11 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "TxLength = %d\n", pAdapter->ate.TxLength);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_LENGTH_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Count Return:
-@@ -4699,21 +4783,21 @@
- ==========================================================================
- */
- INT Set_ATE_TX_COUNT_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_COUNT_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxCount = simple_strtol(arg, 0, 10);
-
- DBGPRINT(RT_DEBUG_TRACE, "TxCount = %d\n", pAdapter->ate.TxCount);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_COUNT_Proc\n");
--
-+
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Set ATE Tx Rate
-@@ -4722,12 +4806,12 @@
- ==========================================================================
- */
- INT Set_ATE_TX_RATE_Proc(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR arg)
- {
- DBGPRINT(RT_DEBUG_TRACE, "==> Set_ATE_TX_RATE_Proc\n");
- DBGPRINT(RT_DEBUG_TRACE, "arg=%s\n", arg);
--
-+
- pAdapter->ate.TxRate = simple_strtol(arg, 0, 10);
-
- if(pAdapter->ate.TxRate > RATE_54)
-@@ -4738,7 +4822,7 @@
-
- DBGPRINT(RT_DEBUG_TRACE, "TxRate = %d\n", pAdapter->ate.TxRate);
- DBGPRINT(RT_DEBUG_TRACE, "<== Set_ATE_TX_RATE_Proc\n");
--
-+
- return TRUE;
- }
-
-@@ -4758,7 +4842,7 @@
- RTMPCancelTimer(&pAd->PortCfg.RfTuningTimer);
- if (pAd->PortCfg.LedMode == LED_MODE_TXRX_ACTIVITY)
- RTMPCancelTimer(&pAd->PortCfg.LedCntl.BlinkTimer);
-- RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
-+ RTMPCancelTimer(&pAd->PortCfg.RxAnt.RxAntDiversityTimer);
- DBGPRINT(RT_DEBUG_TRACE, "<== RTMPStationStop\n");
- }
-
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_init.c rt2500-cvs-2007061011/Module/rtmp_init.c
---- rt2500-1.1.0-b4/Module/rtmp_init.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_init.c 2007-05-06 11:13:43.000000000 +0200
-@@ -1,40 +1,40 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_init.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 1st Aug 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 1st Aug 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * LuisCorreia 15th Feb 05 Added Yann's patch for radio hw
- * MarkW 12th Jul 05 Disabled all but CAM Power modes
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -84,9 +84,9 @@
- // {PSCSR2, 0x00023f20}, // 0xd0
- {PSCSR2, 0x00020002}, // 0xd0
- {PSCSR3, 0x00000002}, // 0xd4
-- {TIMECSR, 0x00003f21}, // 0xDC, to slower down our 1-us tick
-+ {TIMECSR, 0x00003f21}, // 0xDC, to slower down our 1-us tick
- {CSR9, 0x00000780}, // 0x24
-- {CSR11, 0x07041483}, // 0x2C, lrc=7, src=4, slot=20us, CWmax=2^8, CWmax=2^3
-+ {CSR11, 0x07041483}, // 0x2C, lrc=7, src=4, slot=20us, CWmax=2^8, CWmax=2^3
- {CSR18, 0x00140000}, // SIFS=10us - TR switch time, PIFS=SIFS+20us
- {CSR19, 0x016C0028}, // DIFS=SIFS+2*20us, EIFS=364us
- {CNT3, 0x00000000}, // Backoff_CCA_Th, RX_&_TX_CCA_Th
-@@ -105,17 +105,17 @@
- {ARTCSR1, 0x1d21252d}, // 0x150, alexsu : OFDM ACK/CTS payload consumed time for 18/12/9/6 mbps
- {ARTCSR2, 0x1919191d}, // 0x154, alexsu : OFDM ACK/CTS payload consumed time for 54/48/36/24 mbps
-
-- {RXCSR0, 0xffffffff}, // 0x80
-+ {RXCSR0, 0xffffffff}, // 0x80
- {RXCSR3, 0xb3aab3af}, // 0x90. RT2530 BBP 51:RSSI, R42:OFDM rate, R47:CCK SIGNAL
- {PCICSR, 0x000003b8}, // 0x8c, alexsu : PCI control register
- {PWRCSR0, 0x3f3b3100}, // 0xC4
- {GPIOCSR, 0x0000ff00}, // 0x120, GPIO default value
- {TESTCSR, 0x000000f0}, // 0x138, Test CSR, make sure it's running at normal mode
-- {PWRCSR1, 0x000001ff}, // 0xd8
-+ {PWRCSR1, 0x000001ff}, // 0xd8
- {MACCSR0, 0x00213223}, // 0xE0, Enable Tx dribble mode - 2003/10/22:Gary
- {MACCSR1, 0x00235518}, // 0xE4, Disable Rx Reset, tx dribble count, 2x30x16 = 960n,
- {MACCSR2, 0x00000040}, // 0x0134, 64*33ns = 2us
-- {RALINKCSR, 0x9a009a11}, // 0xE8
-+ {RALINKCSR, 0x9a009a11}, // 0xE8
- {CSR7, 0xffffffff}, // 0x1C, Clear all pending interrupt source
- {LEDCSR, 0x00001E46}, // default both LEDs off
- {BBPCSR1, 0x82188200}, // for 2560+2522
-@@ -155,7 +155,7 @@
-
- DBGPRINT(RT_DEBUG_INFO, "--> RTMPAllocDMAMemory\n");
-
-- // 1. Allocate Tx Ring DMA descriptor and buffer memory
-+ // 1. Allocate Tx Ring DMA descriptor and buffer memory
- // Allocate Ring descriptors DMA block
- ring = pci_alloc_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE), &ring_dma);
- if (!ring) {
-@@ -165,14 +165,14 @@
-
- // Zero init ring descriptors
- memset(ring, 0, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE));
--
-+
- // Allocate Ring data DMA blocks
- ring_data = pci_alloc_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE), &ring_data_dma);
--
-+
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- printk(KERN_ERR DRV_NAME "Could not allocate DMA ring buffer memory.\n");
-+ printk(KERN_ERR DRV_NAME "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_txring;
- }
-
-@@ -185,7 +185,7 @@
- pAd->TxRing[index].pa_addr = ring_dma;
- ring += RING_DESCRIPTOR_SIZE;
- ring_dma += RING_DESCRIPTOR_SIZE;
--
-+
- // Init Tx DMA buffer
- pAd->TxRing[index].data_size = TX_BUFFER_SIZE;
- pAd->TxRing[index].va_data_addr = ring_data;
-@@ -207,7 +207,7 @@
- index, (unsigned long)pAd->TxRing[index].va_data_addr, (UINT)pAd->TxRing[index].pa_data_addr, pAd->TxRing[index].data_size);
- }
-
-- // 2. Allocate Prio Ring DMA descriptor and buffer memory
-+ // 2. Allocate Prio Ring DMA descriptor and buffer memory
- // Allocate Ring descriptors DMA block
- ring = pci_alloc_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE), &ring_dma);
- if (!ring) {
-@@ -224,7 +224,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_prioring;
- }
-
-@@ -259,7 +259,7 @@
- index, (unsigned long)pAd->PrioRing[index].va_data_addr, (UINT)pAd->PrioRing[index].pa_data_addr, pAd->PrioRing[index].data_size);
- }
-
-- // 3. Allocate Atim Ring DMA descriptor and buffer memory
-+ // 3. Allocate Atim Ring DMA descriptor and buffer memory
- // Allocate Ring descriptors DMA block
- ring = pci_alloc_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE), &ring_dma);
- if (!ring) {
-@@ -276,7 +276,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_atimring;
- }
-
-@@ -328,7 +328,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RING_DESCRIPTOR_SIZE), ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_rxring;
- }
-
-@@ -386,7 +386,7 @@
- // If failed, release ring descriptors DMA block & exit
- if (!ring_data) {
- pci_free_consistent(pAd->pPci_Dev, RING_DESCRIPTOR_SIZE, ring, ring_dma);
-- DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
-+ DBGPRINT(RT_DEBUG_ERROR, "Could not allocate DMA ring buffer memory.\n");
- goto err_out_allocate_beaconring;
- }
-
-@@ -418,28 +418,28 @@
-
- err_out_allocate_beaconring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
- pAd->RxRing[0].va_data_addr, pAd->RxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->RxRing[0].va_addr, pAd->RxRing[0].pa_addr);
- err_out_allocate_rxring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
- pAd->AtimRing[0].va_data_addr, pAd->AtimRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->AtimRing[0].va_addr, pAd->AtimRing[0].pa_addr);
- err_out_allocate_atimring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
- pAd->PrioRing[0].va_data_addr, pAd->PrioRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->PrioRing[0].va_addr, pAd->PrioRing[0].pa_addr);
- err_out_allocate_prioring:
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
- pAd->TxRing[0].va_data_addr, pAd->TxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE),
-@@ -472,35 +472,35 @@
- DBGPRINT(RT_DEBUG_INFO, "--> RTMPFreeDMAMemory\n");
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * TX_BUFFER_SIZE),
- pAd->TxRing[0].va_data_addr, pAd->TxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (TX_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->TxRing[0].va_addr, pAd->TxRing[0].pa_addr);
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * PRIO_BUFFER_SIZE),
- pAd->PrioRing[0].va_data_addr, pAd->PrioRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (PRIO_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->PrioRing[0].va_addr, pAd->PrioRing[0].pa_addr);
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * ATIM_BUFFER_SIZE),
- pAd->AtimRing[0].va_data_addr, pAd->AtimRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (ATIM_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->AtimRing[0].va_addr, pAd->AtimRing[0].pa_addr);
--
-+
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RX_BUFFER_SIZE),
- pAd->RxRing[0].va_data_addr, pAd->RxRing[0].pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (RX_RING_SIZE * RING_DESCRIPTOR_SIZE),
- pAd->RxRing[0].va_addr, pAd->RxRing[0].pa_addr);
-
- // Free data DMA blocks first, the start address is the same as TxRing first DMA data block
-- pci_free_consistent(pAd->pPci_Dev, (BEACON_RING_SIZE * BEACON_BUFFER_SIZE),
-+ pci_free_consistent(pAd->pPci_Dev, (BEACON_RING_SIZE * BEACON_BUFFER_SIZE),
- pAd->BeaconRing.va_data_addr, pAd->BeaconRing.pa_data_addr);
- // Free ring descriptor second, the start address is the same as TxRing first elment
- pci_free_consistent(pAd->pPci_Dev, (BEACON_RING_SIZE * RING_DESCRIPTOR_SIZE),
-@@ -582,7 +582,7 @@
- CSR4_STRUC StaMacReg1;
- NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
-
-- //
-+ //
- // Read MAC address from CSR3 & CSR4, these CSRs reflects real value
- // stored with EEPROM.
- //
-@@ -618,7 +618,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID NICReadEEPROMParameters(
-@@ -637,7 +637,7 @@
- RTMP_IO_READ32(pAdapter, CSR21, &data);
-
- if(data & 0x20)
-- pAdapter->EEPROMAddressNum = 6;
-+ pAdapter->EEPROMAddressNum = 6;
- else
- pAdapter->EEPROMAddressNum = 8;
-
-@@ -655,7 +655,7 @@
- for(i = 0; i < NUM_EEPROM_BBP_PARMS; i++)
- {
- value = RTMP_EEPROM_READ16(pAdapter, EEPROM_BBP_BASE_OFFSET + i*2);
--
-+
- pAdapter->EEPROMDefaultValue[i] = value;
- }
-
-@@ -707,13 +707,13 @@
- // Disable TxAgc if the value is not right
- if ((pAdapter->PortCfg.ChannelTssiRef[i * 2] == 0xff) ||
- (pAdapter->PortCfg.ChannelTssiRef[i * 2 + 1] == 0xff))
-- pAdapter->PortCfg.bAutoTxAgc = FALSE;
-+ pAdapter->PortCfg.bAutoTxAgc = FALSE;
- }
--
-+
- // Tx Tssi delta offset 0x24
- Power.word = RTMP_EEPROM_READ16(pAdapter, EEPROM_TSSI_DELTA_OFFSET);
- pAdapter->PortCfg.ChannelTssiDelta = Power.field.Byte0;
--
-+
- #endif
-
- //CountryRegion byte offset = 0x35
-@@ -734,11 +734,11 @@
- pAdapter->PortCfg.RssiToDbm = 0x79;
- }
- else
-- {
-+ {
- //pAdapter->PortCfg.R17Dec = 0x79 - Power.field.Byte0;
- pAdapter->PortCfg.RssiToDbm = Power.field.Byte0;
- }
--
-+
-
- DBGPRINT(RT_DEBUG_TRACE, "<-- NICReadEEPROMParameters\n");
- }
-@@ -769,11 +769,11 @@
- EEPROM_NIC_CONFIG2_STRUC NicConfig2;
-
- DBGPRINT(RT_DEBUG_TRACE, "--> NICInitAsicFromEEPROM\n");
--
-+
- for(i = 3; i < NUM_EEPROM_BBP_PARMS; i++)
- {
- value = pAdapter->EEPROMDefaultValue[i];
--
-+
- if((value != 0xFFFF) && (value != 0))
- {
- data = value | 0x18000;
-@@ -802,12 +802,12 @@
- // Tx antenna select
- if(Antenna.field.TxDefaultAntenna == 1) // Antenna A
- {
-- TxValue = (TxValue & 0xFC) | 0x00;
-+ TxValue = (TxValue & 0xFC) | 0x00;
- BbpCsr1 = (BbpCsr1 & 0xFFFCFFFC) | 0x00000000;
- }
- else if(Antenna.field.TxDefaultAntenna == 2) // Antenna B
- {
-- TxValue = (TxValue & 0xFC) | 0x02;
-+ TxValue = (TxValue & 0xFC) | 0x02;
- BbpCsr1 = (BbpCsr1 & 0xFFFCFFFC) | 0x00020002;
- }
- else // diverity - start from Antenna B
-@@ -818,12 +818,12 @@
-
- // Rx antenna select
- if(Antenna.field.RxDefaultAntenna == 1) // Antenna A
-- RxValue = (RxValue & 0xFC) | 0x00;
-+ RxValue = (RxValue & 0xFC) | 0x00;
- else if(Antenna.field.RxDefaultAntenna == 2) // Antenna B
-- RxValue = (RxValue & 0xFC) | 0x02;
-+ RxValue = (RxValue & 0xFC) | 0x02;
- else // Antenna Diversity
-- RxValue = (RxValue & 0xFC) | 0x02;
--
-+ RxValue = (RxValue & 0xFC) | 0x02;
-+
- // RT5222 needs special treatment to swap TX I/Q
- if (pAdapter->PortCfg.RfType == RFIC_5222)
- {
-@@ -831,13 +831,13 @@
- TxValue |= 0x04; // TX I/Q flip
- }
- // RT2525E need to flip TX I/Q but not RX I/Q
-- else if (pAdapter->PortCfg.RfType == RFIC_2525E)
-+ else if (pAdapter->PortCfg.RfType == RFIC_2525E)
- {
- BbpCsr1 |= 0x00040004;
- TxValue |= 0x04; // TX I/Q flip
- RxValue &= 0xfb; // RX I/Q no flip
- }
--
-+
- // Change to match microsoft definition, 0xff: diversity, 0: A, 1: B
- pAdapter->PortCfg.CurrentTxAntenna--;
- pAdapter->PortCfg.CurrentRxAntenna--;
-@@ -845,7 +845,7 @@
- RTMP_IO_WRITE32(pAdapter, BBPCSR1, BbpCsr1);
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, BBP_Tx_Configure, TxValue);
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, BBP_Rx_Configure, RxValue);
--
-+
- // 2003-12-16 software-based RX antenna diversity
- // pAdapter->PortCfg.CurrentRxAntenna = 0xff; // Diversity ON
- AsicSetRxAnt(pAdapter);
-@@ -869,7 +869,7 @@
- if (0 && Antenna.field.HardwareRadioControl == 1)
- {
- pAdapter->PortCfg.bHardwareRadio = TRUE;
--
-+
- // Read GPIO pin0 as Hardware controlled radio state
- RTMP_IO_READ32(pAdapter, GPIOCSR, &data);
- if ((data & 0x01) == 0)
-@@ -886,8 +886,8 @@
- }
- }
- else
-- pAdapter->PortCfg.bHardwareRadio = FALSE;
--
-+ pAdapter->PortCfg.bHardwareRadio = FALSE;
-+
- NicConfig2.word = pAdapter->EEPROMDefaultValue[1];
- if (NicConfig2.word == 0xffff)
- NicConfig2.word = 0; // empty E2PROM, use default
-@@ -906,7 +906,7 @@
- RTMP_BBP_IO_WRITE32_BY_REG_ID(pAdapter, 17, r17);
-
- // 2004-2-2 per David's request, lower R17 low-bound for very good quality NIC
-- pAdapter->PortCfg.VgcLowerBound -= 6;
-+ pAdapter->PortCfg.VgcLowerBound -= 6;
- DBGPRINT(RT_DEBUG_TRACE,"R17 tuning enable=%d, R17=0x%02x, range=<0x%02x, 0x%02x>\n",
- pAdapter->PortCfg.BbpTuningEnable, r17, pAdapter->PortCfg.VgcLowerBound, pAdapter->PortCfg.BbpTuning.VgcUpperBound);
- }
-@@ -916,7 +916,6 @@
- DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitAsicFromEEPROM\n");
- }
-
--extern VOID MlmeWork(void *vpAd);
-
- void NICInitializeAdapter(IN PRTMP_ADAPTER pAdapter)
- {
-@@ -938,7 +937,7 @@
- TxCSR2.field.TxDSize = RING_DESCRIPTOR_SIZE;
- TxCSR2.field.NumTxD = TX_RING_SIZE;
- TxCSR2.field.NumAtimD = ATIM_RING_SIZE;
-- TxCSR2.field.NumPrioD = PRIO_RING_SIZE;
-+ TxCSR2.field.NumPrioD = PRIO_RING_SIZE;
- RTMP_IO_WRITE32(pAdapter, TXCSR2, TxCSR2.word);
-
- // Write TXCSR3 register
-@@ -961,22 +960,19 @@
- RxCSR1.field.RxDSize = RING_DESCRIPTOR_SIZE;
- RxCSR1.field.NumRxD = RX_RING_SIZE;
- RTMP_IO_WRITE32(pAdapter, RXCSR1, RxCSR1.word);
--
-+
- // Write RXCSR2 register
- Value = pAdapter->RxRing[0].pa_addr;
- RTMP_IO_WRITE32(pAdapter, RX_RING_BASE_REG, Value);
-
- // Write CSR1 for host ready
-- // Move Host reay to end of ASIC initialization
-+ // Move Host reay to end of ASIC initialization
- // to ensure no Rx will perform before ASIC init
- // RTMP_IO_WRITE32(pAdapter, CSR1, 0x4);
-
- // Initialze ASIC for TX & Rx operation
- NICInitializeAsic(pAdapter);
-
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
-- INIT_WORK(&pAdapter->mlme_work, MlmeWork, (void*)pAdapter);
--#endif
- DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitializeAdapter\n");
- }
-
-@@ -1036,13 +1032,13 @@
- else if (pAdapter->bAcceptPromiscuous == TRUE)
- {
- // Register bits with "drop unicast not to me disabled"
-- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x6e);
-+ RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x6e);
- }
- else
- {
- // Standard default register bits.
-- RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x7e);
-- }
-+ RTMP_IO_WRITE32(pAdapter, RXCSR0, 0x7e);
-+ }
-
- // Clear old FCS jitter before init ASIC
- RTMP_IO_READ32(pAdapter, CNT0, &Index);
-@@ -1172,10 +1168,10 @@
- // Init send data structures and related parameters
- NICInitTransmit(pAdapter);
-
-- NICInitializeAdapter(pAdapter);
-+ NICInitializeAdapter(pAdapter);
- NICInitAsicFromEEPROM(pAdapter);
-
-- // Switch to current channel, since during reset process, the connection should remains on.
-+ // Switch to current channel, since during reset process, the connection should remains on.
- AsicSwitchChannel(pAdapter, pAdapter->PortCfg.Channel);
- AsicLockChannel(pAdapter, pAdapter->PortCfg.Channel);
- }
-@@ -1200,7 +1196,7 @@
- {
- if(ptr == buffer)
- return TRUE;
-- else if (ptr > buffer)
-+ else if (ptr > buffer)
- {
- while (ptr > buffer)
- {
-@@ -1252,7 +1248,7 @@
- }
- else
- return NULL;
--}
-+}
- /**
- * strstr - Find the first substring in a %NUL terminated string
- * @s1: The string to be searched
-@@ -1261,7 +1257,7 @@
- char * rtstrstr(const char * s1,const char * s2)
- {
- int l1, l2;
--
-+
- l2 = strlen(s2);
- if (!l2)
- return (char *) s1;
-@@ -1283,7 +1279,7 @@
- Arguments:
- section the key of the secion
- key Pointer to key string
-- dest Pointer to destination
-+ dest Pointer to destination
- destsize The datasize of the destination
- buffer Pointer to the buffer to start find the key
-
-@@ -1298,7 +1294,7 @@
- INT RTMPGetKeyParameter(
- IN PUCHAR section,
- IN PCHAR key,
-- OUT PCHAR dest,
-+ OUT PCHAR dest,
- IN INT destsize,
- IN PCHAR buffer)
- {
-@@ -1354,7 +1350,7 @@
- break;
- }
-
-- len = strlen(ptr);
-+ len = strlen(ptr);
- memset(dest, 0x00, destsize);
- strncpy(dest, ptr, len >= destsize ? destsize: len);
-
-@@ -1409,7 +1405,7 @@
- src = PROFILE_PATH;
-
- // Save uid and gid used for filesystem access.
-- // Set user and group to 0 (root)
-+ // Set user and group to 0 (root)
- orgfsuid = current->fsuid;
- orgfsgid = current->fsgid;
- current->fsuid=current->fsgid = 0;
-@@ -1426,7 +1422,7 @@
- else
- {
- /* The object must have a read method */
-- if (srcf->f_op && srcf->f_op->read)
-+ if (srcf->f_op && srcf->f_op->read)
- {
- memset(buffer, 0x00, MAX_INI_BUFFER_SIZE);
- retval=srcf->f_op->read(srcf, buffer, MAX_INI_BUFFER_SIZE, &srcf->f_pos);
-@@ -1502,7 +1498,7 @@
- if (ChannelSanity(pAd, Channel) == TRUE)
- {
- pAd->PortCfg.Channel = Channel;
-- // If default profile in Registry is an ADHOC network, driver should use the specified channel
-+ // If default profile in Registry is an ADHOC network, driver should use the specified channel
- // number when starting IBSS the first time, because RaConfig is passive and will not set this
- // via OID_802_11_CONFIGURATION upon driver bootup.
- pAd->PortCfg.IbssConfig.Channel = pAd->PortCfg.Channel;
-@@ -1571,7 +1567,7 @@
-
- if((ulInfo > 0) && (ulInfo <= MAX_RTS_THRESHOLD))
- pAd->PortCfg.RtsThreshold = (USHORT)ulInfo;
-- else
-+ else
- pAd->PortCfg.RtsThreshold = MAX_RTS_THRESHOLD;
-
- DBGPRINT(RT_DEBUG_TRACE, "%s::(RTSThreshold=%d)\n", __FUNCTION__, pAd->PortCfg.RtsThreshold);
-@@ -1650,7 +1646,7 @@
- {
- DBGPRINT(RT_DEBUG_INFO, "MAX_PSP power mode not available - defaulting to CAM\n");
- }
-- else if ((strcmp(tmpbuf, "Fast_PSP") == 0) || (strcmp(tmpbuf, "fast_psp") == 0)
-+ else if ((strcmp(tmpbuf, "Fast_PSP") == 0) || (strcmp(tmpbuf, "fast_psp") == 0)
- || (strcmp(tmpbuf, "FAST_PSP") == 0))
- {
- DBGPRINT(RT_DEBUG_INFO, "FAST_PSP power mode not available - defaulting to CAM\n");
-@@ -1763,7 +1759,7 @@
- break;
- }
- }
--
-+
- if (bIsHex)
- {
- pAd->PortCfg.SharedKey[0].KeyLen = KeyLen / 2 ;
-@@ -1773,7 +1769,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[0].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[0].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[0].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key1=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -1821,7 +1817,7 @@
- break;
- }
- }
--
-+
- if (bIsHex)
- {
- pAd->PortCfg.SharedKey[1].KeyLen = KeyLen / 2 ;
-@@ -1831,7 +1827,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[1].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[1].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[1].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key2=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -1889,7 +1885,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[2].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[2].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[2].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key3=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -1947,7 +1943,7 @@
- break;
- case 13: //wep 104 Ascii type
- pAd->PortCfg.SharedKey[3].KeyLen = KeyLen;
-- memcpy(pAd->PortCfg.SharedKey[3].Key, tmpbuf, KeyLen);
-+ memcpy(pAd->PortCfg.SharedKey[3].Key, tmpbuf, KeyLen);
- DBGPRINT(RT_DEBUG_TRACE, "%s::(Key4=%s and type=%s)\n", __FUNCTION__, tmpbuf, "Ascii");
- break;
- case 26: //wep 104 Hex type
-@@ -2023,10 +2019,10 @@
- {
- case TX_RING:
- // We have to clean all descriptos in case some error happened with reset
-- do
-+ do
- {
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->NextTxDoneIndex].va_addr;
--
-+
- pTxD->Owner = DESC_OWN_HOST;
- pTxD->Valid = FALSE;
-
-@@ -2036,7 +2032,7 @@
- {
- pAdapter->NextTxDoneIndex = 0;
- }
--
-+
- } while (Count < TX_RING_SIZE); // We have to scan all TX ring
-
- // Check for packet in send tx wait waiting queue
-@@ -2047,7 +2043,7 @@
-
- case PRIO_RING:
- // We have to clean all descriptos in case some error happened with reset
-- do
-+ do
- {
- pTxD = (PTXD_STRUC) pAdapter->PrioRing[pAdapter->NextPrioDoneIndex].va_addr;
-
-@@ -2085,7 +2081,7 @@
-
- case RX_RING:
- // We have to clean all descriptos in case some error happened with reset
-- do
-+ do
- {
- pRxD = (PRXD_STRUC) pAdapter->RxRing[pAdapter->CurRxIndex].va_addr;
-
-@@ -2101,7 +2097,7 @@
-
- } while (Count < RX_RING_SIZE); // We have to scan all Rx Ring
- break;
--
-+
- default:
- break;
-
-@@ -2172,10 +2168,10 @@
- {
- UINT i;
-
-- DBGPRINT(RT_DEBUG_TRACE, "--> PortCfgInit\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "--> PortCfgInit\n");
-
- pAdapter->PortCfg.UseBGProtection = 0; // 0: AUTO
--
-+
- pAdapter->PortCfg.CapabilityInfo = 0x0000;
- pAdapter->PortCfg.Psm = PWR_ACTIVE;
- pAdapter->PortCfg.BeaconPeriod = 100; // in mSec
-@@ -2207,7 +2203,7 @@
- pAdapter->PortCfg.LastMicErrorTime = 0;
- pAdapter->PortCfg.MicErrCnt = 0;
- pAdapter->PortCfg.bBlockAssoc = FALSE;
-- pAdapter->PortCfg.WpaState = SS_NOTUSE;
-+ pAdapter->PortCfg.WpaState = SS_NOTUSE;
-
- pAdapter->PortCfg.RtsThreshold = 2347;
- pAdapter->PortCfg.FragmentThreshold = 2346;
-@@ -2261,7 +2257,7 @@
- pAdapter->PortCfg.PhyMode = 0xff;
- // RTMPSetPhyMode(pAdapter, PHY_11BG_MIXED); // default in 11BG mixed mode
- // pAdapter->PortCfg.Channel = FirstChannel(pAdapter);
-- pAdapter->PortCfg.Dsifs = 10; // in units of usec
-+ pAdapter->PortCfg.Dsifs = 10; // in units of usec
- pAdapter->PortCfg.TxPreambleInUsed = Rt802_11PreambleLong; // use Long preamble on TX by defaut
-
- // user desired power mode
-@@ -2274,7 +2270,7 @@
- pAdapter->bAcceptMulticast = FALSE;
- pAdapter->bAcceptBroadcast = TRUE;
- pAdapter->bAcceptAllMulticast = TRUE;
--
-+
- // parameters to be used when this STA starts a new ADHOC network
- pAdapter->PortCfg.IbssConfig.BeaconPeriod = 100;
- pAdapter->PortCfg.IbssConfig.AtimWin = 0;
-@@ -2363,8 +2359,8 @@
- char *srcptr;
- PUCHAR destTemp;
-
-- srcptr = src;
-- destTemp = (PUCHAR) dest;
-+ srcptr = src;
-+ destTemp = (PUCHAR) dest;
-
- while(destlen--)
- {
-@@ -2376,7 +2372,7 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Init timer objects
-
-@@ -2390,7 +2386,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPInitTimer(
-@@ -2406,7 +2402,7 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Init timer objects
-
-@@ -2418,7 +2414,7 @@
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPSetTimer(
-@@ -2434,7 +2430,7 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Cancel timer objects
-
-@@ -2446,14 +2442,15 @@
-
- Note:
- Reset NIC to initial state AS IS system boot up time.
--
-+
- ========================================================================
- */
- VOID RTMPCancelTimer(
- IN PRALINK_TIMER_STRUCT pTimer)
- {
- #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,27))
-- del_timer_sync(&pTimer->TimerObj);
-+ if (timer_pending(&pTimer->TimerObj))
-+ del_timer_sync(&pTimer->TimerObj);
- #else
- del_timer(&pTimer->TimerObj);
- #endif
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_main.c rt2500-cvs-2007061011/Module/rtmp_main.c
---- rt2500-1.1.0-b4/Module/rtmp_main.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_main.c 2007-05-29 05:49:17.000000000 +0200
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_main.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 25th Nov 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 25th Nov 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW (rt2400) 8th Dec 04 Promisc mode support
- * Flavio (rt2400) 8th Dec 04 Elegant irqreturn_t handling
- * Flavio (rt2400) 8th Dec 04 Remove local alloc_netdev
-@@ -45,26 +45,24 @@
- * Tor Petterson 19th Apr 05 Power management: Suspend and Resume
- * MarkW 15th Jul 05 Disable File Config under 4KSTACK
- * IvD 15th Jul 05 Support File Config with 4KSTACK
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--unsigned long IrqFlags;
--
- // Global static variable, Debug level flag
- // Don't hide this behind debug define. There should be as little difference between debug and no-debug as possible.
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
--int debug = 0; /* Default is off. */
-+static int debug = 0; /* Default is off. */
- MODULE_PARM(debug, "i");
--MODULE_PARM_DESC(debug, "Enable level: accepted values: 1 to switch debug on, 0 to switch debug off.");
-+MODULE_PARM_DESC(debug, "Debug mask: n selects filter, 0 for none");
-
- static char *ifname = NULL ;
- MODULE_PARM(ifname, "s");
- MODULE_PARM_DESC(ifname, "Network device name (default ra%d)");
- #else
--int debug = 0; /* Default is off. */
-+static int debug = 0; /* Default is off. */
- module_param(debug, int, 0);
--MODULE_PARM_DESC(debug, "Enable level: accepted values: 1 to switch debug on, 0 to switch debug off.");
-+MODULE_PARM_DESC(debug, "Debug mask: n selects filter, 0 for none");
-
- static char *ifname = NULL ;
- module_param(ifname, charp, 0);
-@@ -79,78 +77,130 @@
-
- extern const struct iw_handler_def rt2500_iw_handler_def;
-
-+#ifdef RT2500_DBG
-+VOID rt2500_setdbg(long mask)
-+{
-+ debug = mask;
-+}
-+INT rt2500_dbgprint(int mask, const char *fmt, ...)
-+{
-+ if(mask & debug) {
-+ va_list args;
-+ int i;
-+
-+ va_start(args, fmt);
-+
-+ //http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9
-+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9))
-+ i = vprintk(fmt, args);
-+
-+ #else
-+ // Stack is safe because data is buffered before control returns
-+ char printk_buf[160]; // Longest observed line is 147 chars.
-+
-+ vsnprintf(printk_buf, sizeof(printk_buf), fmt, args);
-+ i = printk(printk_buf);
-+ #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9)) */
-+
-+ va_end(args);
-+ return i;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+#ifdef RT2X00DEBUGFS
- /*
- * Register layout information.
- */
- #define CSR_REG_BASE 0x0000
- #define CSR_REG_SIZE 0x0174
- #define EEPROM_BASE 0x0000
--#define EEPROM_SIZE 0x01ff
-+#define EEPROM_SIZE 0x0200
-+#define BBP_SIZE 0x0040
-
--#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
--static void
--rt2x00_get_drvinfo(struct net_device *net_dev,
-- struct ethtool_drvinfo *drvinfo)
-+static void rt2500pci_read_csr(void *dev, const unsigned long word,
-+ void *data)
- {
-- PRTMP_ADAPTER pAd = net_dev->priv;
-+ RTMP_ADAPTER *pAd = dev;
-
-- strcpy(drvinfo->driver, NIC_DEVICE_NAME);
-- strcpy(drvinfo->version, DRV_VERSION);
-- strcpy(drvinfo->bus_info, pci_name(pAd->pPci_Dev));
-+ RTMP_IO_READ32(pAd, CSR_REG_BASE + (word * sizeof(u32)), (u32*)data);
- }
-
--static int
--rt2x00_get_regs_len(struct net_device *net_dev)
-+static void rt2500pci_write_csr(void *dev, const unsigned long word,
-+ void *data)
- {
-- return CSR_REG_SIZE;
-+ RTMP_ADAPTER *pAd = dev;
-+
-+ RTMP_IO_WRITE32(pAd, word, *((u32*)data));
- }
-
--static void
--rt2x00_get_regs(struct net_device *net_dev,
-- struct ethtool_regs *regs, void *data)
-+static void rt2500pci_read_eeprom(void *dev, const unsigned long word,
-+ void *data)
- {
-- PRTMP_ADAPTER pAd = net_dev->priv;
-- unsigned int counter;
-+ RTMP_ADAPTER *pAd = dev;
-
-- regs->len = CSR_REG_SIZE;
-+ *((u16*)data) = RTMP_EEPROM_READ16(pAd, word * sizeof(u16));
-+}
-
-- for (counter = 0; counter < CSR_REG_SIZE; counter += sizeof(u32)) {
-- RTMP_IO_READ32(pAd, CSR_REG_BASE + counter, (u32*)data);
-- data += sizeof(u32);
-- }
-+static void rt2500pci_write_eeprom(void *dev, const unsigned long word,
-+ void *data)
-+{
-+ /* DANGEROUS, DON'T DO THIS! */
- }
-
--static int
--rt2x00_get_eeprom_len(struct net_device *net_dev)
-+static void rt2500pci_read_bbp(void *dev, const unsigned long word,
-+ void *data)
- {
-- return EEPROM_SIZE;
-+ RTMP_ADAPTER *pAd = dev;
-+
-+ RTMP_BBP_IO_READ32_BY_REG_ID(pAd, word, ((u8*)data));
- }
-
--static int
--rt2x00_get_eeprom(struct net_device *net_dev,
-- struct ethtool_eeprom *eeprom, u8 *data)
-+static void rt2500pci_write_bbp(void *dev, const unsigned long word,
-+ void *data)
- {
-- PRTMP_ADAPTER pAd = net_dev->priv;
-- unsigned int counter;
-+ RTMP_ADAPTER *pAd = dev;
-
-- for (counter = eeprom->offset; counter < eeprom->len; counter += sizeof(u16)) {
-- u16 value = RTMP_EEPROM_READ16(pAd, CSR_REG_BASE + counter);
-- memcpy(data, &value, sizeof(u16));
-- data += sizeof(u16);
-- }
-+ RTMP_BBP_IO_WRITE32_BY_REG_ID(pAd, word, *((u8*)data));
-+}
-
-- return 0;
-+static void rt2500pci_open_debugfs(RTMP_ADAPTER *pAd)
-+{
-+ struct rt2x00debug *debug = &pAd->debug;
-+
-+ debug->owner = THIS_MODULE;
-+ debug->mod_name = DRV_NAME;
-+ debug->mod_version = DRV_VERSION;
-+ debug->reg_csr.read = rt2500pci_read_csr;
-+ debug->reg_csr.write = rt2500pci_write_csr;
-+ debug->reg_csr.word_size = sizeof(u32);
-+ debug->reg_csr.length = CSR_REG_SIZE;
-+ debug->reg_eeprom.read = rt2500pci_read_eeprom;
-+ debug->reg_eeprom.write = rt2500pci_write_eeprom;
-+ debug->reg_eeprom.word_size = sizeof(u16);
-+ debug->reg_eeprom.length = EEPROM_SIZE;
-+ debug->reg_bbp.read = rt2500pci_read_bbp;
-+ debug->reg_bbp.write = rt2500pci_write_bbp;
-+ debug->reg_bbp.word_size = sizeof(u8);
-+ debug->reg_bbp.length = BBP_SIZE;
-+ debug->dev = pAd;
-+
-+ snprintf(debug->intf_name, sizeof(debug->intf_name),
-+ "%s", pAd->net_dev->name);
-+
-+ if (rt2x00debug_register(debug))
-+ printk(KERN_ERR "Failed to register debug handler.\n");
- }
-
--static struct ethtool_ops rt2x00_ethtool_ops = {
-- .get_drvinfo = rt2x00_get_drvinfo,
-- .get_regs_len = rt2x00_get_regs_len,
-- .get_regs = rt2x00_get_regs,
-- .get_link = ethtool_op_get_link,
-- .get_eeprom_len = rt2x00_get_eeprom_len,
-- .get_eeprom = rt2x00_get_eeprom,
--};
--#endif
-+static void rt2500pci_close_debugfs(RTMP_ADAPTER *pAd)
-+{
-+ rt2x00debug_deregister(&pAd->debug);
-+}
-+#else /* RT2X00DEBUGFS */
-+static inline void rt2500pci_open_debugfs(RTMP_ADAPTER *pAd){}
-+static inline void rt2500pci_close_debugfs(RTMP_ADAPTER *pAd){}
-+#endif /* RT2X00DEBUGFS */
-
- static INT __devinit RT2500_init_one (
- IN struct pci_dev *pPci_Dev,
-@@ -158,6 +208,7 @@
- {
- INT rc;
-
-+ if (debug) {} // shuts up compiler when RT2500_DBG not defined
- // wake up and enable device
- if (pci_enable_device (pPci_Dev))
- {
-@@ -176,7 +227,7 @@
- // PCI device probe & initialization function
- //
- INT __devinit RT2500_probe(
-- IN struct pci_dev *pPci_Dev,
-+ IN struct pci_dev *pPci_Dev,
- IN const struct pci_device_id *ent)
- {
- struct net_device *net_dev;
-@@ -194,7 +245,7 @@
-
- // alloc_etherdev() will set net_dev->name
- net_dev = alloc_etherdev(sizeof(RTMP_ADAPTER));
-- if (net_dev == NULL)
-+ if (net_dev == NULL)
- {
- DBGPRINT(RT_DEBUG_TRACE, "init_ethernet failed\n");
- goto err_out;
-@@ -204,9 +255,8 @@
-
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
- SET_NETDEV_DEV(net_dev, &(pPci_Dev->dev));
-- SET_ETHTOOL_OPS(net_dev, &rt2x00_ethtool_ops);
- #endif
--
-+
- if (pci_request_regions(pPci_Dev, print_name))
- goto err_out_free_netdev;
-
-@@ -215,10 +265,10 @@
-
- // map physical address to virtual address for accessing register
- csr_addr = (unsigned long) ioremap(pci_resource_start(pPci_Dev, 0), pci_resource_len(pPci_Dev, 0));
-- if (!csr_addr)
-+ if (!csr_addr)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "ioremap failed for device %s, region 0x%X @ 0x%lX\n",
-- print_name, (ULONG)pci_resource_len(pPci_Dev, 0), pci_resource_start(pPci_Dev, 0));
-+ DBGPRINT(RT_DEBUG_TRACE, "ioremap failed for device %s, region 0x%X @ 0x%X\n",
-+ print_name, (ULONG)pci_resource_len(pPci_Dev, 0), (ULONG)pci_resource_start(pPci_Dev, 0));
- goto err_out_free_res;
- }
-
-@@ -233,7 +283,7 @@
-
- // Read MAC address
- NICReadAdapterInfo(pAd);
--
-+
- RTMP_IO_READ32(pAd, CSR3, &StaMacReg0.word);
- RTMP_IO_READ32(pAd, CSR4, &StaMacReg1.word);
- net_dev->dev_addr[0] = StaMacReg0.field.Byte0;
-@@ -256,13 +306,13 @@
- #if WIRELESS_EXT < 17
- net_dev->get_wireless_stats = RT2500_get_wireless_stats;
- #endif
-- net_dev->wireless_handlers = (struct iw_handler_def *) &rt2500_iw_handler_def;
-+ net_dev->wireless_handlers = (struct iw_handler_def *) &rt2500_iw_handler_def;
- #endif
-
- net_dev->set_multicast_list = RT2500_set_rx_mode;
- net_dev->do_ioctl = RT2500_ioctl;
- net_dev->set_mac_address = rt2500_set_mac_address;
--
-+
-
- // register_netdev() will call dev_alloc_name() for us
- // TODO: Remove the following line to keep the default eth%d name
-@@ -284,8 +334,8 @@
- if (Status != NDIS_STATUS_SUCCESS)
- goto err_out_unmap;
-
-- DBGPRINT(RT_DEBUG_TRACE, "%s: at 0x%lx, VA 0x%lx, IRQ %d. \n",
-- net_dev->name, pci_resource_start(pPci_Dev, 0), (unsigned long)csr_addr, pPci_Dev->irq);
-+ DBGPRINT(RT_DEBUG_TRACE, "%s: at 0x%x, VA 0x%lx, IRQ %d. \n",
-+ net_dev->name, (ULONG)pci_resource_start(pPci_Dev, 0), (unsigned long)csr_addr, pPci_Dev->irq);
-
- // Set driver data
- pci_set_drvdata(pPci_Dev, net_dev);
-@@ -295,15 +345,17 @@
- // All this occurs while the net iface is down
- // iwconfig can then be used to configure card BEFORE
- // ifconfig ra0 up is applied.
-- // Note the RT2500STA.dat file will still overwrite settings
-+ // Note the RT2500STA.dat file will still overwrite settings
- // but it is useful for the settings iwconfig doesn't let you at
-- PortCfgInit(pAd);
-+ PortCfgInit(pAd);
-
- MlmeQueueInit(&pAd->Mlme.Queue); // (never fails)
-
- // Build channel list for default physical mode
- BuildChannelList(pAd);
-
-+ rt2500pci_open_debugfs(pAd);
-+
- return 0;
-
- err_out_unmap:
-@@ -447,7 +499,7 @@
-
- if (pAdapter->PortCfg.BssType == BSS_MONITOR && pAdapter->PortCfg.MallowRFMONTx != TRUE)
- {
-- dev_kfree_skb_irq(skb);
-+ dev_kfree_skb_irq(skb);
- return 0;
- }
-
-@@ -465,7 +517,7 @@
- // This function has to manage NdisSendComplete return call within its routine
- // NdisSendComplete will acknowledge upper layer in two steps.
- // 1. Within Packet Enqueue, set the NDIS_STATUS_PENDING
-- // 2. Within TxRingTxDone / PrioRingTxDone call NdisSendComplete with final status
-+ // 2. Within TxRingTxDone / PrioRingTxDone call NdisSendComplete with final status
- // initial skb->data_len=0, we will use this variable to store data size when fragment(in TKIP)
- // and skb->len is actual data len
- skb->data_len = skb->len;
-@@ -482,7 +534,7 @@
- // There are two place calling dequeue for TX ring.
- // 1. Here, right after queueing the frame.
- // 2. At the end of TxRingTxDone service routine.
-- if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
-+ if ((!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RADIO_OFF)) &&
- (!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_RESET_IN_PROGRESS)))
- {
-@@ -504,7 +556,7 @@
- Arguments:
- irq interrupt line
- dev_instance Pointer to net_device
-- rgs store process's context before entering ISR,
-+ rgs store process's context before entering ISR,
- this parameter is just for debug purpose.
-
- Return Value:
-@@ -514,10 +566,16 @@
-
- ========================================================================
- */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
- irqreturn_t RTMPIsr(
-- IN INT irq,
-- IN VOID *dev_instance,
-+ IN INT irq,
-+ IN VOID *dev_instance,
- IN struct pt_regs *rgs)
-+#else
-+irqreturn_t RTMPIsr(
-+ IN INT irq,
-+ IN VOID *dev_instance)
-+#endif
- {
- struct net_device *net_dev = dev_instance;
- PRTMP_ADAPTER pAdapter = net_dev->priv;
-@@ -643,29 +701,29 @@
- if(!is_valid_ether_addr(&mac->sa_data[0]))
- return -EINVAL;
-
--#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
-+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
- BUG_ON(net_dev->addr_len != ETH_ALEN);
--#endif
--
-+#endif
-+
- memcpy(net_dev->dev_addr, mac->sa_data, ETH_ALEN);
- memcpy(pAd->CurrentAddress, mac->sa_data, ETH_ALEN);
--
-+
- memset(&set_mac, 0x00, sizeof(INT));
- set_mac = (net_dev->dev_addr[0]) |
- (net_dev->dev_addr[1] << 8) |
- (net_dev->dev_addr[2] << 16) |
- (net_dev->dev_addr[3] << 24);
--
-+
- RTMP_IO_WRITE32(pAd, CSR3, set_mac);
--
-+
- memset(&set_mac, 0x00, sizeof(INT));
- set_mac = (net_dev->dev_addr[4]) |
- (net_dev->dev_addr[5] << 8);
--
-+
- RTMP_IO_WRITE32(pAd, CSR4, set_mac);
--
-+
- printk(KERN_INFO "***rt2x00***: Info - Mac address changed to: %02x:%02x:%02x:%02x:%02x:%02x.\n", net_dev->dev_addr[0], net_dev->dev_addr[1], net_dev->dev_addr[2], net_dev->dev_addr[3], net_dev->dev_addr[4], net_dev->dev_addr[5]);
--
-+
- return 0;
- }
-
-@@ -697,11 +755,13 @@
-
- pAd->iw_stats.status = 0; // Status - device dependent for now
-
-- pAd->iw_stats.qual.qual = pAd->Mlme.ChannelQuality;//pAd->Mlme.RoamCqi; // link quality (%retries, SNR, %missed beacons or better...)
-- pAd->iw_stats.qual.level = pAd->PortCfg.LastRssi - RSSI_TO_DBM_OFFSET; // signal level (dBm)
--
-+ pAd->iw_stats.qual.qual = pAd->Mlme.ChannelQuality;// link quality (%retries, SNR, %missed beacons or better...)
-+ pAd->iw_stats.qual.level = abs(pAd->PortCfg.LastRssi); // signal level (dBm)
-+ pAd->iw_stats.qual.level += 256 - RSSI_TO_DBM_OFFSET;
-+
- pAd->iw_stats.qual.noise = (pAd->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAd->PortCfg.LastR17Value); // // noise level (dBm)
-- pAd->iw_stats.qual.updated = 3; // Flags to know if updated
-+ pAd->iw_stats.qual.noise += 256 - 143;
-+ pAd->iw_stats.qual.updated = 1; // Flags to know if updated
-
- pAd->iw_stats.discard.nwid = 0; // Rx : Wrong nwid/essid
- pAd->iw_stats.miss.beacon = 0; // Missed beacons/superframe
-@@ -791,7 +851,7 @@
- IN struct net_device *net_dev)
- {
- RTMP_ADAPTER *pAd;
-- pAd = net_dev->priv;
-+ pAd = net_dev->priv;
- if (pAd->PortCfg.BssType == BSS_MONITOR)
- {
- RTMP_IO_WRITE32(pAd, RXCSR0, 0x46);
-@@ -808,7 +868,7 @@
- pAd->bAcceptPromiscuous = FALSE;
- RTMP_IO_WRITE32(pAd, RXCSR0, 0x7e);
- DBGPRINT(RT_DEBUG_TRACE, "rt2500 acknowledge MONITOR/PROMISC off\n");
-- }
-+ }
-
- }
-
-@@ -867,7 +927,9 @@
- IN struct pci_dev *pPci_Dev)
- {
- struct net_device *net_dev = pci_get_drvdata(pPci_Dev);
-- // RTMP_ADAPTER *pAd = net_dev->priv;
-+ RTMP_ADAPTER *pAd = netdev_priv(net_dev);
-+
-+ rt2500pci_close_debugfs(pAd);
-
- // Free Ring buffers
- RTMPFreeDMAMemory(net_dev->priv);
-@@ -915,7 +977,7 @@
-
- if(pAdapter->PortCfg.bRadio)
- MlmeRadioOff(pAdapter);
--
-+
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14))
- printk(KERN_NOTICE "%s: got suspend request (state %d)\n",
- dev->name, state);
-@@ -944,7 +1006,11 @@
- PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
- int status;
-
-- pci_enable_device(pdev);
-+ // FIXME: code should process error case correctly
-+ if (pci_enable_device(pdev)) {
-+ printk(KERN_ERR "rt2500: could not resume from suspend");
-+ return -EIO;
-+ }
-
- printk(KERN_NOTICE "%s: got resume request\n", dev->name);
-
-@@ -991,7 +1057,7 @@
- suspend: rt2500_suspend,
- resume: rt2500_resume,
- #endif /* CONFIG_PM */
--#if LINUX_VERSION_CODE >= 0x20412 || BIG_ENDIAN == TRUE || RTMP_EMBEDDED == TRUE
-+#if LINUX_VERSION_CODE >= 0x20412 || BIG_ENDIAN == TRUE
- remove: __devexit_p(RT2500_remove_one),
- #else
- remove: __devexit(RT2500_remove_one),
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_tkip.c rt2500-cvs-2007061011/Module/rtmp_tkip.c
---- rt2500-1.1.0-b4/Module/rtmp_tkip.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_tkip.c 2007-03-21 05:25:35.000000000 +0100
-@@ -1,125 +1,125 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_tkip.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulW 25th Feb 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulW 25th Feb 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--// Rotation functions on 32 bit values
-+// Rotation functions on 32 bit values
- #define ROL32( A, n ) ( ((A) << (n)) | ( ((A)>>(32-(n))) ) )
--#define ROR32( A, n ) ROL32( (A), 32-(n) )
-+#define ROR32( A, n ) ROL32( (A), 32-(n) )
-
- /*
- ========================================================================
-
- Routine Description:
-- Convert from UCHAR[] to ULONG in a portable way
--
-+ Convert from UCHAR[] to ULONG in a portable way
-+
- Arguments:
- pMICKey pointer to MIC Key
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
--ULONG RTMPTkipGetUInt32(
-+ULONG RTMPTkipGetUInt32(
- IN PUCHAR pMICKey)
--{
-- ULONG res = 0;
-+{
-+ ULONG res = 0;
- int i;
--
-- for (i = 0; i < 4; i++)
-- {
-- res |= (*pMICKey++) << (8 * i);
-+
-+ for (i = 0; i < 4; i++)
-+ {
-+ res |= (*pMICKey++) << (8 * i);
- }
-
-- return res;
--}
-+ return res;
-+}
-
- /*
- ========================================================================
-
- Routine Description:
-- Convert from ULONG to UCHAR[] in a portable way
--
-+ Convert from ULONG to UCHAR[] in a portable way
-+
- Arguments:
- pDst pointer to destination for convert ULONG to UCHAR[]
- val the value for convert
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPTkipPutUInt32(
- IN OUT PUCHAR pDst,
-- IN ULONG val)
--{
-+ IN ULONG val)
-+{
- int i;
--
-- for(i = 0; i < 4; i++)
-- {
-- *pDst++ = (UCHAR) val;
-- val >>= 8;
-- }
--}
-+
-+ for(i = 0; i < 4; i++)
-+ {
-+ *pDst++ = (UCHAR) val;
-+ val >>= 8;
-+ }
-+}
-
- /*
- ========================================================================
-
- Routine Description:
- Calculate the MIC Value.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to source data for Calculate MIC Value
- Len Indicate the length of the source data
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
--VOID RTMPTkipAppend(
-- IN PTKIP_KEY_INFO pTkip,
-+VOID RTMPTkipAppend(
-+ IN PTKIP_KEY_INFO pTkip,
- IN PUCHAR pSrc,
-- IN UINT nBytes)
-+ IN UINT nBytes)
- {
- register ULONG M, L, R, nBytesInM;
-
-@@ -128,7 +128,7 @@
- R = pTkip->R;
- nBytesInM = pTkip->nBytesInM;
- M = pTkip->M;
--
-+
- // Alignment case
- if((nBytesInM == 0) && ((((unsigned long)pSrc) & 0x3) == 0))
- {
-@@ -141,7 +141,7 @@
- #endif
- pSrc += 4;
- nBytes -= 4;
--
-+
- L ^= M;
- R ^= ROL32( L, 17 );
- L += R;
-@@ -154,7 +154,7 @@
- }
- nBytesInM = 0;
- M = 0;
--
-+
- while(nBytes > 0)
- {
- M |= (*pSrc << (8* nBytesInM));
-@@ -162,7 +162,7 @@
- nBytesInM++;
- pSrc++;
- nBytes--;
--
-+
- if( nBytesInM >= 4 )
- {
- L ^= M;
-@@ -186,10 +186,10 @@
- {
- M |= (*pSrc << (8* nBytesInM));
- nBytesInM++;
--
-+
- pSrc++;
- nBytes--;
--
-+
- if( nBytesInM >= 4 )
- {
- L ^= M;
-@@ -207,23 +207,23 @@
- }
- }
- }
--
-+
- // load data from register to memory
- pTkip->M = M;
- pTkip->nBytesInM = nBytesInM;
- pTkip->L = L;
- pTkip->R = R;
--}
-+}
-
- /*
- ========================================================================
-
- Routine Description:
- Get the MIC Value.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
-
-@@ -231,7 +231,7 @@
- the MIC Value is store in pAdapter->PrivateInfo.MIC
- ========================================================================
- */
--VOID RTMPTkipGetMIC(
-+VOID RTMPTkipGetMIC(
- IN PTKIP_KEY_INFO pTkip)
- {
- static unsigned char Last[] = {"\x5a\x00\x00\x00\x00\x00\x00\x00"};
-@@ -242,14 +242,14 @@
- // The appendByte function has already computed the result.
- RTMPTkipPutUInt32(pTkip->MIC, pTkip->L);
- RTMPTkipPutUInt32(pTkip->MIC + 4, pTkip->R);
--}
-+}
-
- /*
- ========================================================================
-
- Routine Description:
- Compare MIC value of received MSDU
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to the received Plain text data
-@@ -257,13 +257,13 @@
- pSA Pointer to SA address
- pMICKey pointer to MIC Key
- Len the length of the received plain text data exclude MIC value
--
-+
- Return Value:
- TRUE MIC value matched
- FALSE MIC value mismatched
--
-+
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPTkipCompareMICValue(
-@@ -288,19 +288,19 @@
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, pSA, 6);
- // Priority + 3 bytes of 0
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, Priority, 4);
--
-+
- // Calculate MIC value from plain text data
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, pSrc, Len);
-
- // Get MIC value from decrypted plain data
- RTMPTkipGetMIC(&pAdapter->PrivateInfo.Rx);
--
-+
- // Move MIC value from MSDU, this steps should move to data path.
- // Since the MIC value might cross MPDUs.
- if(!NdisEqualMemory(pAdapter->PrivateInfo.Rx.MIC, pSrc + Len, 8))
- {
- INT i;
--
-+
- DBGPRINT(RT_DEBUG_ERROR, "! TKIP MIC Error !\n"); //MIC error.
- DBGPRINT(RT_DEBUG_INFO, "Orig MIC value ="); //MIC error.
- for (i = 0; i < 8; i++)
-@@ -324,7 +324,7 @@
-
- Routine Description:
- Compare MIC value of received MSDU
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- pLLC LLC header
-@@ -333,13 +333,13 @@
- pSA Pointer to SA address
- pMICKey pointer to MIC Key
- Len the length of the received plain text data exclude MIC value
--
-+
- Return Value:
- TRUE MIC value matched
- FALSE MIC value mismatched
--
-+
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPTkipCompareMICValueWithLLC(
-@@ -352,13 +352,13 @@
- IN UINT Len)
- {
- static UCHAR Priority[4] = {"\x00\x00\x00\x00"};
--
-+
- // Init MIC value calculation and reset the message
- pAdapter->PrivateInfo.Rx.L = RTMPTkipGetUInt32(pMICKey);
- pAdapter->PrivateInfo.Rx.R = RTMPTkipGetUInt32(pMICKey + 4);
- pAdapter->PrivateInfo.Rx.nBytesInM = 0;
- pAdapter->PrivateInfo.Rx.M = 0;
--
-+
- // DA
- RTMPTkipAppend(&pAdapter->PrivateInfo.Rx, pDA, 6);
- // SA
-@@ -405,20 +405,20 @@
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware transmit function
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- PNDIS_PACKET Pointer to Ndis Packet for MIC calculation
- pEncap Pointer to LLC encap data
- LenEncap Total encap length, might be 0 which indicates no encap
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPCalculateMICValue(
-@@ -430,21 +430,21 @@
- {
- PUCHAR pSrc;
- static UCHAR Priority[4] = {"\x00\x00\x00\x00"};
--
-+
- pSrc = (PUCHAR) skb->data;
--
-+
- // Init MIC value calculation and reset the message
- pAdapter->PrivateInfo.Tx.L = RTMPTkipGetUInt32(pWpaKey->TxMic);
- pAdapter->PrivateInfo.Tx.R = RTMPTkipGetUInt32(pWpaKey->TxMic + 4);
- pAdapter->PrivateInfo.Tx.nBytesInM = 0;
- pAdapter->PrivateInfo.Tx.M = 0;
--
-+
- // DA & SA field
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, pSrc, 12);
--
-+
- // Priority + 3 bytes of 0
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, Priority, 4);
--
-+
- if (LenEncap > 0)
- {
- // LLC encapsulation
-@@ -454,7 +454,7 @@
- }
- else
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, pSrc + 14, skb->len - 14);
--
-+
- // Compute the final MIC Value
- RTMPTkipGetMIC(&pAdapter->PrivateInfo.Tx);
- }
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_type.h rt2500-cvs-2007061011/Module/rtmp_type.h
---- rt2500-1.1.0-b4/Module/rtmp_type.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_type.h 2007-03-21 05:25:35.000000000 +0100
-@@ -1,36 +1,36 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-
-- /***************************************************************************
-+ /***************************************************************************
- * Module Name: rtmp_type.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulL 2md Jan 03 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulL 2md Jan 03 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __RTMP_TYPE_H__
- #define __RTMP_TYPE_H__
-diff -Nur rt2500-1.1.0-b4/Module/rtmp_wep.c rt2500-cvs-2007061011/Module/rtmp_wep.c
---- rt2500-1.1.0-b4/Module/rtmp_wep.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/rtmp_wep.c 2007-03-21 05:25:35.000000000 +0100
-@@ -1,40 +1,40 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: rtmp_wep.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * PaulW 28th Sep 02 Initial code
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: rtmp_wep.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * PaulW 28th Sep 02 Initial code
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--ULONG FCSTAB_32[256] =
-+ULONG FCSTAB_32[256] =
- {
- 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
- 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
-@@ -56,57 +56,57 @@
- 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
- 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818,
- 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
-- 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
-- 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
-- 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
-- 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
-- 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
-- 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
-- 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
-- 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
-- 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
-- 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
-- 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
-- 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
-- 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
-- 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
-- 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
-- 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
-- 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
-- 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
-- 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
-- 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
-- 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
-- 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
-- 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
-- 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
-- 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
-- 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
-- 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
-- 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
-- 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
-- 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
-- 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
-- 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
-- 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
-- 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
-- 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
-- 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
-- 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
-- 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
-- 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
-- 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
-- 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
-- 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
-- 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
-- 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
--};
-+ 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
-+ 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
-+ 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
-+ 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
-+ 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
-+ 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
-+ 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
-+ 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
-+ 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
-+ 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
-+ 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
-+ 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
-+ 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
-+ 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
-+ 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
-+ 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
-+ 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
-+ 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
-+ 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
-+ 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
-+ 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
-+ 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
-+ 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
-+ 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
-+ 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
-+ 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
-+ 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
-+ 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
-+ 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
-+ 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
-+ 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
-+ 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
-+ 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
-+ 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
-+ 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
-+ 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
-+ 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
-+ 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
-+ 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
-+ 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
-+ 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
-+ 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
-+ 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
-+ 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
-+};
-
- UCHAR WEPKEY[] = {
- //IV
-- 0x00, 0x11, 0x22,
-+ 0x00, 0x11, 0x22,
- //WEP KEY
-- 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC
-+ 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC
- };
-
-
-@@ -114,27 +114,27 @@
- ========================================================================
-
- Routine Description:
-- Init WEP function.
--
-+ Init WEP function.
-+
- Arguments:
- pAdapter Pointer to our adapter
- pKey Pointer to the WEP KEY
- KeyId WEP Key ID
- KeyLen the length of WEP KEY
- pDest Pointer to the destination which Encryption data will store in.
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPInitWepEngine(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pKey,
- IN UCHAR KeyId,
-- IN UCHAR KeyLen,
-+ IN UCHAR KeyLen,
- IN OUT PUCHAR pDest)
- {
- UINT i;
-@@ -146,32 +146,32 @@
- WEPKEY[i] = RandomByte(pAdapter); //Call mlme RandomByte() function.
- ARCFOUR_INIT(&pAdapter->PrivateInfo.WEPCONTEXT, WEPKEY, KeyLen + 3); //INIT SBOX, KEYLEN+3(IV)
-
-- memcpy(pDest, WEPKEY, 3); //Append Init Vector
-- *(pDest+3) = (KeyId << 6); //Append KEYID
--
-+ memcpy(pDest, WEPKEY, 3); //Append Init Vector
-+ *(pDest+3) = (KeyId << 6); //Append KEYID
-+
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- Encrypt transimitted data
--
-+ Encrypt transimitted data
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to the transimitted source data that will be encrypt
- pDest Pointer to the destination where entryption data will be store in.
- Len Indicate the length of the source data
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPEncryptData(
-- IN PRTMP_ADAPTER pAdapter,
-+ IN PRTMP_ADAPTER pAdapter,
- IN PUCHAR pSrc,
- IN PUCHAR pDest,
- IN UINT Len)
-@@ -184,19 +184,19 @@
- ========================================================================
-
- Routine Description:
-- Decrypt received data
--
-+ Decrypt received data
-+
- Arguments:
- pAdapter Pointer to our adapter
- pSrc Pointer to the received data
- Len the length of the received data
--
-+
- Return Value:
- TRUE Decrypt WEP data success
- FALSE Decrypt WEP data failed
--
-+
- Note:
--
-+
- ========================================================================
- */
- BOOLEAN RTMPDecryptData(
-@@ -209,12 +209,12 @@
- UCHAR KeyIdx;
-
- memcpy(WEPKEY, pSrc, 3); //Get WEP IV
--
-+
- KeyIdx = (*(pSrc + 3) & 0xc0) >> 6;
- if (pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen == 0)
- return (FALSE);
--
-- memcpy(WEPKEY + 3, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
-+
-+ memcpy(WEPKEY + 3, pAdapter->PortCfg.SharedKey[KeyIdx].Key, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen);
- ARCFOUR_INIT(&pAdapter->PrivateInfo.WEPCONTEXT, WEPKEY, pAdapter->PortCfg.SharedKey[KeyIdx].KeyLen + 3);
- ARCFOUR_DECRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, pSrc, pSrc + 4, Len - 4);
- memcpy(&trailfcs, pSrc + Len - 8, 4);
-@@ -236,18 +236,18 @@
- ========================================================================
-
- Routine Description:
-- The Stream Cipher Encryption Algorithm "ARCFOUR" initialize
--
-+ The Stream Cipher Encryption Algorithm "ARCFOUR" initialize
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
- pKey Pointer to the WEP KEY
- KeyLen Indicate the length fo the WEP KEY
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID ARCFOUR_INIT(
-@@ -260,7 +260,7 @@
- UINT stateindex;
- PUCHAR state;
- UINT counter;
--
-+
- state = Ctx->STATE;
- Ctx->X = 0;
- Ctx->Y = 0;
-@@ -284,16 +284,16 @@
- ========================================================================
-
- Routine Description:
-- Get bytes from ARCFOUR CONTEXT (S-BOX)
--
-+ Get bytes from ARCFOUR CONTEXT (S-BOX)
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
--
-+
- Return Value:
-- UCHAR - the value of the ARCFOUR CONTEXT (S-BOX)
--
-+ UCHAR - the value of the ARCFOUR CONTEXT (S-BOX)
-+
- Note:
--
-+
- ========================================================================
- */
- UCHAR ARCFOUR_BYTE(
-@@ -303,7 +303,7 @@
- UINT y;
- UCHAR sx, sy;
- PUCHAR state;
--
-+
- state = Ctx->STATE;
- x = (Ctx->X + 1) & 0xff;
- sx = state[x];
-@@ -315,31 +315,31 @@
- state[x] = sy;
-
- return(state[(sx + sy) & 0xff]);
--
-+
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- The Stream Cipher Decryption Algorithm
--
-+ The Stream Cipher Decryption Algorithm
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
-- pDest Pointer to the Destination
-+ pDest Pointer to the Destination
- pSrc Pointer to the Source data
- Len Indicate the length of the Source data
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID ARCFOUR_DECRYPT(
- IN PARCFOURCONTEXT Ctx,
-- IN PUCHAR pDest,
-+ IN PUCHAR pDest,
- IN PUCHAR pSrc,
- IN UINT Len)
- {
-@@ -353,19 +353,19 @@
- ========================================================================
-
- Routine Description:
-- The Stream Cipher Encryption Algorithm
--
-+ The Stream Cipher Encryption Algorithm
-+
- Arguments:
- Ctx Pointer to ARCFOUR CONTEXT (SBOX)
-- pDest Pointer to the Destination
-+ pDest Pointer to the Destination
- pSrc Pointer to the Source data
- Len Indicate the length of the Source dta
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID ARCFOUR_ENCRYPT(
-@@ -385,17 +385,17 @@
-
- Routine Description:
- Calculate a new FCS given the current FCS and the new data.
--
-+
- Arguments:
- Fcs the original FCS value
- Cp pointer to the data which will be calculate the FCS
- Len the length of the data
--
-+
- Return Value:
- ULONG - FCS 32 bits
--
-+
- Note:
--
-+
- ========================================================================
- */
- ULONG RTMP_CALC_FCS32(
-@@ -406,24 +406,24 @@
- while (Len--)
- Fcs = (((Fcs) >> 8) ^ FCSTAB_32[((Fcs) ^ (*Cp++)) & 0xff]);
-
-- return (Fcs);
--}
-+ return (Fcs);
-+}
-
-
- /*
- ========================================================================
-
- Routine Description:
-- Get last FCS and encrypt it to the destination
--
-+ Get last FCS and encrypt it to the destination
-+
- Arguments:
-- pDest Pointer to the Destination
--
-+ pDest Pointer to the Destination
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID RTMPSetICV(
-@@ -431,11 +431,11 @@
- IN PUCHAR pDest)
- {
- pAdapter->PrivateInfo.FCSCRC32 ^= 0xffffffff; /* complement */
--
-+
- #ifdef BIG_ENDIAN
- pAdapter->PrivateInfo.FCSCRC32 = SWAP32(pAdapter->PrivateInfo.FCSCRC32);
- #endif
--
-+
- ARCFOUR_ENCRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, pDest, (PUCHAR) &pAdapter->PrivateInfo.FCSCRC32, 4);
- }
-
-diff -Nur rt2500-1.1.0-b4/Module/sanity.c rt2500-cvs-2007061011/Module/sanity.c
---- rt2500-1.1.0-b4/Module/sanity.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/sanity.c 2007-03-21 05:25:35.000000000 +0100
-@@ -1,41 +1,42 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: sanity.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: sanity.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
--UCHAR WPA_OUI[] = {0x00, 0x50, 0xf2, 0x01};
-+static const UCHAR WPA_OUI[] = {0x00, 0x50, 0xf2, 0x01};
-+static const ie_oui_t wpa2_oui = {0x00, 0x0f, 0xac}; // 802.11i pp. 28, 30
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -44,13 +45,13 @@
- ==========================================================================
- */
- BOOLEAN MlmeScanReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT UCHAR *BssType,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen,
-- OUT UCHAR *ScanType)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT UCHAR *BssType,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen,
-+ OUT UCHAR *ScanType)
- {
- MLME_SCAN_REQ_STRUCT *Info;
-
-@@ -61,16 +62,16 @@
- *ScanType = Info->ScanType;
-
- if ((*BssType == BSS_INFRA || *BssType == BSS_INDEP || *BssType == BSS_ANY) &&
-- (*ScanType == SCAN_ACTIVE || *ScanType == SCAN_PASSIVE))
-+ (*ScanType == SCAN_ACTIVE || *ScanType == SCAN_PASSIVE))
- return TRUE;
-- else
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeScanReqSanity fail - wrong BssType or ScanType\n");
- return FALSE;
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -79,16 +80,16 @@
- ==========================================================================
- */
- BOOLEAN MlmeStartReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen)
- {
- MLME_START_REQ_STRUCT *Info;
-
- Info = (MLME_START_REQ_STRUCT *)(Msg);
--
-+
- if (Info->SsidLen > MAX_LEN_OF_SSID)
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeStartReqSanity fail - wrong SSID length\n");
-@@ -101,7 +102,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -110,13 +111,13 @@
- ==========================================================================
- */
- BOOLEAN MlmeAssocReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *ApAddr,
-- OUT USHORT *CapabilityInfo,
-- OUT ULONG *Timeout,
-- OUT USHORT *ListenIntv)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *ApAddr,
-+ OUT USHORT *CapabilityInfo,
-+ OUT ULONG *Timeout,
-+ OUT USHORT *ListenIntv)
- {
- MLME_ASSOC_REQ_STRUCT *Info;
-
-@@ -129,7 +130,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -138,12 +139,12 @@
- ==========================================================================
- */
- BOOLEAN MlmeAuthReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT ULONG *Timeout,
-- OUT USHORT *Alg)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT ULONG *Timeout,
-+ OUT USHORT *Alg)
- {
- MLME_AUTH_REQ_STRUCT *Info;
-
-@@ -152,18 +153,18 @@
- *Timeout = Info->Timeout;
- *Alg = Info->Alg;
-
-- if ((*Alg == Ndis802_11AuthModeShared || *Alg == Ndis802_11AuthModeOpen) && !MAC_ADDR_IS_GROUP(*Addr))
-+ if ((*Alg == Ndis802_11AuthModeShared || *Alg == Ndis802_11AuthModeOpen) && !MAC_ADDR_IS_GROUP(*Addr))
- {
- return TRUE;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "MlmeAuthReqSanity fail - wrong algorithm\n");
- return FALSE;
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -172,16 +173,16 @@
- ==========================================================================
- */
- BOOLEAN PeerAssocRspSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *CapabilityInfo,
-- OUT USHORT *Status,
-- OUT USHORT *Aid,
-- OUT UCHAR Rates[],
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *CapabilityInfo,
-+ OUT USHORT *Status,
-+ OUT USHORT *Aid,
-+ OUT UCHAR Rates[],
- OUT UCHAR *RatesLen,
-- OUT BOOLEAN *ExtendedRateIeExist)
-+ OUT BOOLEAN *ExtendedRateIeExist)
- {
- CHAR IeType, *Ptr;
- MACFRAME *Fr = (MACFRAME *)Msg;
-@@ -195,7 +196,7 @@
- // Mask out unnecessary capability information
- *CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
-
-- if (*Status == MLME_SUCCESS)
-+ if (*Status == MLME_SUCCESS)
- {
- memcpy(Aid, &Fr->Octet[4], 2);
- *Aid = (*Aid) & 0x3fff; // AID is low 14-bit
-@@ -207,8 +208,8 @@
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAssocRspSanity fail - wrong SupportedRates IE\n");
- return FALSE;
-- }
-- else
-+ }
-+ else
- memcpy(Rates, &Fr->Octet[8], *RatesLen);
-
- // many AP implement proprietary IEs in non-standard order, we'd better
-@@ -235,7 +236,7 @@
- }
- break;
- default:
-- DBGPRINT(RT_DEBUG_TRACE, "PeerAssocRspSanity - ignore unrecognized EID = %d\n", eid_ptr->Eid);
-+ DBGPRINT(RT_DEBUG_TRACE, "PeerAssocRspSanity - ignore unrecognized EID=%d (Len=%d)\n", eid_ptr->Eid, eid_ptr->Len);
- break;
- }
-
-@@ -247,7 +248,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -256,11 +257,11 @@
- ==========================================================================
- */
- BOOLEAN PeerDisassocSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *Reason)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *Reason)
- {
- MACFRAME *Fr = (MACFRAME *)Msg;
-
-@@ -270,7 +271,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -279,11 +280,11 @@
- ==========================================================================
- */
- BOOLEAN PeerDeauthSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT USHORT *Reason)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT USHORT *Reason)
- {
- MACFRAME *Fr = (MACFRAME *)Msg;
-
-@@ -293,7 +294,7 @@
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -302,14 +303,14 @@
- ==========================================================================
- */
- BOOLEAN PeerAuthSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr,
-- OUT USHORT *Alg,
-- OUT USHORT *Seq,
-- OUT USHORT *Status,
-- CHAR *ChlgText)
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr,
-+ OUT USHORT *Alg,
-+ OUT USHORT *Seq,
-+ OUT USHORT *Status,
-+ CHAR *ChlgText)
- {
- MACFRAME *Fr = (MACFRAME *)Msg;
-
-@@ -318,43 +319,43 @@
- memcpy(Seq, &Fr->Octet[2], 2);
- memcpy(Status, &Fr->Octet[4], 2);
-
-- if (*Alg == Ndis802_11AuthModeOpen)
-+ if (*Alg == Ndis802_11AuthModeOpen)
- {
-- if (*Seq == 1 || *Seq == 2)
-+ if (*Seq == 1 || *Seq == 2)
- {
- return TRUE;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAuthSanity fail - wrong Seg#\n");
- return FALSE;
- }
-- }
-- else if (*Alg == Ndis802_11AuthModeShared)
-+ }
-+ else if (*Alg == Ndis802_11AuthModeShared)
- {
-- if (*Seq == 1 || *Seq == 4)
-+ if (*Seq == 1 || *Seq == 4)
- {
- return TRUE;
-- }
-- else if (*Seq == 2 || *Seq == 3)
-+ }
-+ else if (*Seq == 2 || *Seq == 3)
- {
- memcpy(ChlgText, &Fr->Octet[8], CIPHER_TEXT_LEN);
- return TRUE;
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAuthSanity fail - wrong Seg#\n");
- return FALSE;
- }
-- }
-- else
-+ }
-+ else
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerAuthSanity fail - wrong algorithm\n");
- return FALSE;
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -363,14 +364,14 @@
- ==========================================================================
- */
- BOOLEAN PeerProbeReqSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
- OUT MACADDR *Addr2,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen)
--// OUT UCHAR Rates[],
--// OUT UCHAR *RatesLen)
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen)
-+// OUT UCHAR Rates[],
-+// OUT UCHAR *RatesLen)
- {
- UCHAR Idx;
- UCHAR RateLen;
-@@ -379,27 +380,27 @@
-
- COPY_MAC_ADDR(Addr2, &Fr->Hdr.Addr2);
-
-- if ((Fr->Octet[0] != IE_SSID) || (Fr->Octet[1] > MAX_LEN_OF_SSID))
-+ if ((Fr->Octet[0] != IE_SSID) || (Fr->Octet[1] > MAX_LEN_OF_SSID))
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerProbeReqSanity fail - wrong SSID IE(Type=%d,Len=%d)\n",Fr->Octet[0],Fr->Octet[1]);
- return FALSE;
-- }
--
-+ }
-+
- *SsidLen = Fr->Octet[1];
- memcpy(Ssid, &Fr->Octet[2], *SsidLen);
-
--#if 1
-+#if 1
- Idx = *SsidLen + 2;
-
- // -- get supported rates from payload and advance the pointer
- IeType = Fr->Octet[Idx];
- RateLen = Fr->Octet[Idx + 1];
-- if (IeType != IE_SUPP_RATES)
-+ if (IeType != IE_SUPP_RATES)
- {
- DBGPRINT(RT_DEBUG_TRACE, "PeerProbeReqSanity fail - wrong SupportRates IE(Type=%d,Len=%d)\n",Fr->Octet[Idx],Fr->Octet[Idx+1]);
- return FALSE;
- }
-- else
-+ else
- {
- if ((pAd->PortCfg.AdhocMode == 2) && (RateLen < 8))
- return (FALSE);
-@@ -408,7 +409,95 @@
- return TRUE;
- }
-
--/*
-+static inline void handle_country_ie(
-+ country_ie_p p)
-+{
-+ int i;
-+
-+ DBGPRINT(RT_DEBUG_INFO,
-+ " - IE_COUNTRY (ID=%d) (Len=%d) "
-+ "(string=\"%c%c:%c\")\n",
-+ p->eid, p->length, p->cs.co[0], p->cs.co[1], p->cs.env);
-+
-+ // drop malformed elements
-+ if (p->length & 1 || p->length < 6) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY invalid length\n");
-+ return;
-+ }
-+ for (i = 0; i < offsetof(country_string_t, env); i++) {
-+ if (p->cs.co[i] < 'A' || p->cs.co[i] > 'z') {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY invalid co fld\n");
-+ return;
-+ }
-+ }
-+ if (p->cs.env != ' ' && p->cs.env != 'O' && p->cs.env != 'I') {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY invalid env field\n");
-+ return;
-+ }
-+ if (p->length % 3 && *(char *)((char *)p + p->length + 1) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_COUNTRY pad non-null\n");
-+ return;
-+ }
-+#ifdef RT2500_DBG
-+ {
-+ int num_subelements = p->length/3 - 1;
-+ country_subelement_p sep = p->chans;
-+ for (i = 0; i < num_subelements; i++, sep++)
-+ {
-+ DBGPRINT(RT_DEBUG_INFO,
-+ " - Band %d First chan=%d, Num chans=%d, Max Tx Pwr=%d\n",
-+ i, sep->first_chan, sep->num_chans, sep->max_tx_pwr);
-+ }
-+ }
-+#endif /* RT2500_DBG */
-+ /* TODO */
-+
-+} /* End handle_country_ie () */
-+
-+static inline int handle_rsn_ie(
-+ rsn_ie_p p,
-+ PNDIS_802_11_VARIABLE_IEs pVIE)
-+{
-+ DBGPRINT(RT_DEBUG_INFO,
-+ " - IE_RSN (ID=%d, Len=%d)\n",
-+ p->eid, p->length);
-+
-+ // drop malformed elements
-+ if (p->length < 2 || p->length & 1) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid length\n");
-+ return 0;
-+ }
-+ if (wtohs(p->version) != 1) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid version %d\n",
-+ p->version);
-+ return 0;
-+ }
-+ if (p->length >= 6) { // group cipher suite
-+ if (!RTMPEqualMemory(&p->gcsuite.oui, wpa2_oui, sizeof(wpa2_oui)))
-+ {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN invalid oui "
-+ "%02x %02x %02x\n",
-+ p->gcsuite.oui[0], p->gcsuite.oui[1], p->gcsuite.oui[2]);
-+ return 0;
-+ }
-+ }
-+ // Copy to pVIE which will report to microsoft bssid list.
-+ pVIE->ElementID = p->eid;
-+ pVIE->Length = p->length;
-+ memcpy(pVIE->data, &p->version, p->length);
-+
-+ return (p->length + 2);
-+
-+} /* End handle_rsn_ie () */
-+
-+/*
- ==========================================================================
- Description:
- MLME message sanity check
-@@ -417,47 +506,56 @@
- ==========================================================================
- */
- BOOLEAN PeerBeaconAndProbeRspSanity(
-- IN PRTMP_ADAPTER pAd,
-- IN VOID *Msg,
-- IN ULONG MsgLen,
-- OUT MACADDR *Addr2,
-- OUT MACADDR *Bssid,
-- OUT CHAR Ssid[],
-- OUT UCHAR *SsidLen,
-- OUT UCHAR *BssType,
-- OUT USHORT *BeaconPeriod,
-- OUT UCHAR *Channel,
-- OUT LARGE_INTEGER *Timestamp,
-- OUT BOOLEAN *CfExist,
-- OUT CF_PARM *CfParm,
-- OUT USHORT *AtimWin,
-- OUT USHORT *CapabilityInfo,
-- OUT UCHAR Rate[],
-+ IN PRTMP_ADAPTER pAd,
-+ IN VOID *Msg,
-+ IN ULONG MsgLen,
-+ OUT MACADDR *Addr2,
-+ OUT MACADDR *Bssid,
-+ OUT CHAR Ssid[],
-+ OUT UCHAR *SsidLen,
-+ OUT UCHAR *BssType,
-+ OUT USHORT *BeaconPeriod,
-+ OUT UCHAR *Channel,
-+ OUT LARGE_INTEGER *Timestamp,
-+ OUT BOOLEAN *CfExist,
-+ OUT CF_PARM *CfParm,
-+ OUT USHORT *AtimWin,
-+ OUT USHORT *CapabilityInfo,
-+ OUT UCHAR Rate[],
- OUT UCHAR *RateLen,
- OUT BOOLEAN *ExtendedRateIeExist,
- OUT UCHAR *Erp,
-- OUT UCHAR *DtimCount,
-- OUT UCHAR *DtimPeriod,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *MessageToMe,
-+ OUT UCHAR *DtimCount,
-+ OUT UCHAR *DtimPeriod,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *MessageToMe,
- OUT UCHAR *Legacy,
- OUT UCHAR SupRate[],
- OUT UCHAR *SupRateLen,
- OUT UCHAR ExtRate[],
- OUT UCHAR *ExtRateLen,
-- OUT PNDIS_802_11_VARIABLE_IEs pVIE)
-+ OUT USHORT *VarIELen, // Length of all saved IEs.
-+ OUT PNDIS_802_11_VARIABLE_IEs pVIE)
- {
- CHAR *Ptr, TimLen;
- MACFRAME *Fr;
- PBEACON_EID_STRUCT eid_ptr;
- UCHAR SubType;
- UCHAR Sanity;
-+ UCHAR VarIE[MAX_VIE_LEN];
-+
-+ // armor against buffer overflow
-+ UCHAR *vielim = &VarIE[MAX_VIE_LEN];
-+ NDIS_802_11_VARIABLE_IEs *ptVIE = (PNDIS_802_11_VARIABLE_IEs)VarIE;
-+
-+ DBGPRINT(RT_DEBUG_TRACE,"===> %s\n", __FUNCTION__);
-
- // Add for 3 necessary EID field check
- Sanity = 0;
-
- *ExtendedRateIeExist = FALSE;
- *Erp = 0;
-+ *VarIELen = 0;
-
- Fr = (MACFRAME *)Msg;
-
-@@ -481,40 +579,48 @@
- // get capability info from payload and advance the pointer
- memcpy(CapabilityInfo, Ptr, 2);
- Ptr += 2;
-- if (CAP_IS_ESS_ON(*CapabilityInfo))
-+ DBGPRINT(RT_DEBUG_INFO, " - CapabilityInfo=0x%.2x\n", *CapabilityInfo);
-+ if (CAP_IS_ESS_ON(*CapabilityInfo))
- {
- *BssType = BSS_INFRA;
-- }
-- else
-+ }
-+ else
- {
- *BssType = BSS_INDEP;
- }
-
- // Mask out unnecessary capability information
- *CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
--
-+
- eid_ptr = (PBEACON_EID_STRUCT) Ptr;
-
- // get variable fields from payload and advance the pointer
- while(((UCHAR*)eid_ptr + eid_ptr->Len + 1) < ((UCHAR*)Fr + MsgLen))
- {
-+ DBGPRINT(RT_DEBUG_INFO, " - IE #%d len=%d\n",
-+ eid_ptr->Eid, eid_ptr->Len);
- switch(eid_ptr->Eid)
- {
- case IE_SSID:
-- // Already has one SSID EID in this beacon, ignore the second one
-+ // Already have one SSID EID in this beacon, ignore second one
- if (Sanity & 0x1)
- break;
- if(eid_ptr->Len <= MAX_LEN_OF_SSID)
- {
- memcpy(Ssid, eid_ptr->Octet, eid_ptr->Len);
-- memset(Ssid + eid_ptr->Len,0,1);
-+ if (eid_ptr->Len < MAX_LEN_OF_SSID)
-+ memset(Ssid + eid_ptr->Len,0,1);
- *SsidLen = eid_ptr->Len;
- Sanity |= 0x1;
-- //DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - ESSID=%s Len=%d\n",Ssid,eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_INFO, " - SSID=%s Len=%d\n",
-+ Ssid, eid_ptr->Len);
-+ DBGHEXSTR(RT_DEBUG_INFO, " - SSID(hex)=",
-+ Ssid, eid_ptr->Len);
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_SSID (len=%d)\n",eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s - bad IE_SSID len=%d\n",
-+ __FUNCTION__, eid_ptr->Len);
- return FALSE;
- }
- break;
-@@ -546,13 +652,15 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_SUPP_RATES (len=%d)\n",eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<=== %s - wrong IE_SUPP_RATES (len=%d)\n",
-+ __FUNCTION__, eid_ptr->Len);
- return FALSE;
- }
- break;
-
- case IE_FH_PARM:
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity(IE_FH_PARM) \n");
-+ DBGPRINT(RT_DEBUG_INFO, " - (IE_FH_PARM) \n");
- break;
-
- case IE_DS_PARM:
-@@ -561,14 +669,18 @@
- *Channel = *eid_ptr->Octet;
- if (ChannelSanity(pAd, *Channel) == 0)
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_DS_PARM (ch=%d)\n",*Channel);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<=== %s - wrong IE_DS_PARM (ch=%d)\n",
-+ __FUNCTION__, *Channel);
- return FALSE;
- }
- Sanity |= 0x4;
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_DS_PARM (len=%d)\n",eid_ptr->Len);
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<=== %s - wrong IE_DS_PARM (len=%d)\n",
-+ __FUNCTION__, eid_ptr->Len);
- return FALSE;
- }
- break;
-@@ -581,7 +693,8 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_CF_PARM\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s - wrong IE_CF_PARM\n",
-+ __FUNCTION__);
- return FALSE;
- }
- break;
-@@ -593,7 +706,8 @@
- }
- else
- {
-- DBGPRINT(RT_DEBUG_TRACE, "PeerBeaconAndProbeRspSanity - wrong IE_IBSS_PARM\n");
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s - wrong IE_IBSS_PARM\n",
-+ __FUNCTION__);
- return FALSE;
- }
- break;
-@@ -605,18 +719,45 @@
- }
- break;
-
-+ case IE_COUNTRY:
-+ handle_country_ie((country_ie_p)eid_ptr);
-+ break;
-+
- // New for WPA
- case IE_WPA:
-- // Check the OUI version, filter out non-standard usage
-- if (RTMPEqualMemory(eid_ptr->Octet, WPA_OUI, 4))
-- {
-- // Copy to pVIE which will report to microsoft bssid list.
-- pVIE->ElementID = eid_ptr->Eid;
-- pVIE->Length = eid_ptr->Len;
-- memcpy(pVIE->data, eid_ptr->Octet, eid_ptr->Len);
-- }
-- DBGPRINT(RT_DEBUG_INFO, "PeerBeaconAndProbeRspSanity - Receive IE_WPA\n");
-- break;
-+ if (vielim >= (UCHAR *)ptVIE + eid_ptr->Len + 2)
-+ {
-+ // ptVIE will report to microsoft bssid list.
-+ ptVIE->ElementID = eid_ptr->Eid;
-+ ptVIE->Length = eid_ptr->Len;
-+ memcpy(ptVIE->data, eid_ptr->Octet, eid_ptr->Len);
-+ ptVIE = (PNDIS_802_11_VARIABLE_IEs)((UCHAR *)ptVIE +
-+ ptVIE->Length + 2);
-+ DBGPRINT(RT_DEBUG_INFO, " - OUI (%02x:%02x:%02x:%02x)\n",
-+ eid_ptr->Octet[0], eid_ptr->Octet[1],
-+ eid_ptr->Octet[2], eid_ptr->Octet[3]);
-+ }
-+ else
-+ {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_WPA rcv area needs %d bytes: has %d left\n",
-+ eid_ptr->Len + 2, vielim - (UCHAR *)ptVIE);
-+ }
-+ break;
-+
-+ case IE_RSN:
-+ if (vielim >= (UCHAR *)ptVIE + eid_ptr->Len + 2)
-+ {
-+ ptVIE = (PNDIS_802_11_VARIABLE_IEs)((UCHAR *)ptVIE +
-+ handle_rsn_ie((rsn_ie_p)eid_ptr, ptVIE));
-+ }
-+ else
-+ {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ " - IE_RSN rcv area needs %d bytes: has %d left\n",
-+ eid_ptr->Len + 2, vielim - (UCHAR *)ptVIE);
-+ }
-+ break;
-
- case IE_EXT_SUPP_RATES:
- // concatenate all extended rates to Rates[] and RateLen
-@@ -654,15 +795,20 @@
- *Erp = (UCHAR)eid_ptr->Octet[0];
- }
- break;
--
-+
- default:
-- DBGPRINT(RT_DEBUG_INFO, "PeerBeaconAndProbeRspSanity - unrecognized EID = %d\n", eid_ptr->Eid);
-+ DBGPRINT(RT_DEBUG_ERROR, " - EID=%d (Len=%d) unrecognized\n",
-+ eid_ptr->Eid, eid_ptr->Len);
- break;
- }
--
-+
- eid_ptr = (PBEACON_EID_STRUCT)((UCHAR*)eid_ptr + 2 + eid_ptr->Len);
- }
--
-+ if ((UCHAR *)ptVIE > VarIE) {
-+ int vielen = (UCHAR *)ptVIE - VarIE;
-+ *VarIELen = vielen;
-+ memcpy(pVIE, VarIE, vielen);
-+ }
-
- // in 802.11a band, AP may skip this DS IE in their BEACON
- if ((pAd->PortCfg.Channel > 14) && ((Sanity & 0x04)==0))
-@@ -670,7 +816,8 @@
- *Channel = pAd->PortCfg.Channel;
- Sanity |= 0x04;
- }
--
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "<=== %s: Sanity=0x%02x\n", __FUNCTION__, Sanity);
- if (Sanity != 0x7)
- {
- DBGPRINT(RT_DEBUG_WARN, "PeerBeaconAndProbeRspSanity - missing field, Sanity=0x%02x\n", Sanity);
-@@ -683,19 +830,19 @@
-
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- BOOLEAN GetTimBit(
-- IN CHAR *Ptr,
-- IN USHORT Aid,
-- OUT UCHAR *TimLen,
-- OUT UCHAR *BcastFlag,
-- OUT UCHAR *DtimCount,
-+ IN CHAR *Ptr,
-+ IN USHORT Aid,
-+ OUT UCHAR *TimLen,
-+ OUT UCHAR *BcastFlag,
-+ OUT UCHAR *DtimCount,
- OUT UCHAR *DtimPeriod,
-- OUT UCHAR *MessageToMe)
-+ OUT UCHAR *MessageToMe)
- {
- UCHAR BitCntl, N1, N2, MyByte, MyBit;
- CHAR *IdxPtr;
-@@ -717,11 +864,11 @@
- IdxPtr++;
- BitCntl = *IdxPtr;
-
-- if ((*DtimCount == 0) && (BitCntl & 0x01))
-+ if ((*DtimCount == 0) && (BitCntl & 0x01))
- *BcastFlag = TRUE;
-- else
-+ else
- *BcastFlag = FALSE;
--
-+
- #if 1
- // Parse Partial Virtual Bitmap from TIM element
- N1 = BitCntl & 0xfe; // N1 is the first bitmap byte#
-@@ -738,10 +885,10 @@
-
- //if (*IdxPtr)
- // DBGPRINT(RT_DEBUG_WARN, ("TIM bitmap = 0x%02x\n", *IdxPtr));
--
-+
- if (*IdxPtr & (0x01 << MyBit))
- *MessageToMe = TRUE;
-- else
-+ else
- *MessageToMe = FALSE;
- }
- #else
-@@ -760,15 +907,15 @@
- * \post
- */
- BOOLEAN GetLegacy(
-- IN CHAR *Ptr,
-- OUT UCHAR *Legacy)
-+ IN CHAR *Ptr,
-+ OUT UCHAR *Legacy)
- {
- *Legacy = 0;
- return TRUE;
- }
-
- UCHAR ChannelSanity(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR channel)
- {
- UCHAR index;
-@@ -780,52 +927,52 @@
- }
- return 0;
-
--#if 0
-+#if 0
- switch (pAd->PortCfg.CountryRegion)
- {
- case REGION_FCC: // 1 - 11
- if ((channel > 0) && (channel < 12))
- return 1;
- break;
--
-+
- case REGION_IC: // 1 -11
- if ((channel > 0) && (channel < 12))
- return 1;
- break;
--
-+
- case REGION_ETSI: // 1 - 13
- if ((channel > 0) && (channel < 14))
- return 1;
- break;
--
-+
- case REGION_SPAIN: // 10 - 11
- if ((channel > 9) && (channel < 12))
- return 1;
- break;
--
-+
- case REGION_FRANCE: // 10 -13
- if ((channel > 9) && (channel < 14))
- return 1;
- break;
--
-+
- case REGION_MKK: // 14
-- if (channel == 14)
-+ if (channel == 14)
- return 1;
- break;
--
-+
- case REGION_MKK1: // 1 - 14
- if ((channel > 0) && (channel < 15))
- return 1;
- break;
--
-+
- case REGION_ISRAEL: // 3 - 9
- if ((channel > 2) && (channel < 10))
- return 1;
- break;
--
-+
- default: // Error
-- return 0;
-- }
-+ return 0;
-+ }
- return (0);
--#endif
-+#endif
- }
-diff -Nur rt2500-1.1.0-b4/Module/sync.c rt2500-cvs-2007061011/Module/sync.c
---- rt2500-1.1.0-b4/Module/sync.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/sync.c 2007-05-15 21:41:35.000000000 +0200
-@@ -1,37 +1,37 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: sync.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: sync.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
- * MarkW 10th Dec 04 Rolled in Ralink 1.4.5.0
- * MarkW 5th Jun 05 Fix no-SSID broadcasting assoc.
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -59,7 +59,7 @@
- /*
- ==========================================================================
- Description:
-- The sync state machine,
-+ The sync state machine,
- Parameters:
- Sm - pointer to the state machine
- Note:
-@@ -93,9 +93,9 @@
- ==========================================================================
- */
- VOID SyncStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *Sm,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *Sm,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(Sm, (STATE_MACHINE_FUNC*)Trans, MAX_SYNC_STATE, MAX_SYNC_MSG, (STATE_MACHINE_FUNC)Drop, SYNC_IDLE, SYNC_MACHINE_BASE);
-
-@@ -105,7 +105,7 @@
- StateMachineSetAction(Sm, SYNC_IDLE, MT2_MLME_START_REQ, (STATE_MACHINE_FUNC)MlmeStartReqAction);
- StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_BEACON, (STATE_MACHINE_FUNC)PeerBeacon);
- // StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_PROBE_RSP, (STATE_MACHINE_FUNC)PeerBeacon);
-- StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_PROBE_REQ, (STATE_MACHINE_FUNC)PeerProbeReqAction);
-+ StateMachineSetAction(Sm, SYNC_IDLE, MT2_PEER_PROBE_REQ, (STATE_MACHINE_FUNC)PeerProbeReqAction);
-
- //column 2
- StateMachineSetAction(Sm, JOIN_WAIT_BEACON, MT2_MLME_SCAN_REQ, (STATE_MACHINE_FUNC)InvalidStateWhenScan);
-@@ -127,14 +127,14 @@
- RTMPInitTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, ScanTimeout);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Becaon timeout handler, executed in timer thread
- ==========================================================================
- */
- VOID BeaconTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
-
-@@ -143,30 +143,30 @@
- MlmeHandler(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ATIM timeout handler, executed in timer thread
- ==========================================================================
- */
- VOID AtimTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
--
-+
- DBGPRINT(RT_DEBUG_TRACE,"SYNC - AtimTimeout \n");
- MlmeEnqueue(&pAd->Mlme.Queue, SYNC_STATE_MACHINE, MT2_ATIM_TIMEOUT, 0, NULL);
- MlmeHandler(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Scan timeout handler, executed in timer thread
- ==========================================================================
- */
- VOID ScanTimeout(
-- IN unsigned long data)
-+ IN unsigned long data)
- {
- RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)data;
-
-@@ -175,15 +175,15 @@
- MlmeHandler(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME SCAN req state machine procedure
- ==========================================================================
- */
- VOID MlmeScanReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen, ScanType, BssType;
- ULONG Now;
-@@ -192,13 +192,13 @@
- RTMPSuspendMsduTransmission(pAd);
-
- // first check the parameter sanity
-- if (MlmeScanReqSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &BssType,
-- Ssid,
-- &SsidLen,
-- &ScanType))
-+ if (MlmeScanReqSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &BssType,
-+ Ssid,
-+ &SsidLen,
-+ &ScanType))
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - MlmeScanReqAction\n");
- Now = jiffies;
-@@ -212,12 +212,12 @@
- pAd->Mlme.SyncAux.ScanType = ScanType;
- pAd->Mlme.SyncAux.SsidLen = SsidLen;
- memcpy(pAd->Mlme.SyncAux.Ssid, Ssid, SsidLen);
--
-+
- // start from the first channel
- pAd->Mlme.SyncAux.Channel = FirstChannel(pAd);
- ScanNextChannel(pAd);
-- }
-- else
-+ }
-+ else
- {
- printk(KERN_ERR DRV_NAME "SYNC - MlmeScanReqAction() sanity check fail. BUG!!!\n");
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
-@@ -225,15 +225,15 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME JOIN req state machine procedure
- ==========================================================================
- */
- VOID MlmeJoinReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- BSS_ENTRY *pBss;
- MLME_JOIN_REQ_STRUCT *Info = (MLME_JOIN_REQ_STRUCT *)(Elem->Msg);
-@@ -255,7 +255,7 @@
- AsicSwitchChannel(pAd, pBss->Channel);
- AsicLockChannel(pAd, pBss->Channel);
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - Switch to channel %d, SSID %s \n", pBss->Channel, pAd->Mlme.SyncAux.Ssid);
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - Wait BEACON from %02x:%02x:%02x:%02x:%02x:%02x ...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - Wait BEACON from %02x:%02x:%02x:%02x:%02x:%02x ...\n",
- pAd->Mlme.SyncAux.Bssid.Octet[0], pAd->Mlme.SyncAux.Bssid.Octet[1],
- pAd->Mlme.SyncAux.Bssid.Octet[2], pAd->Mlme.SyncAux.Bssid.Octet[3],
- pAd->Mlme.SyncAux.Bssid.Octet[4], pAd->Mlme.SyncAux.Bssid.Octet[5]);
-@@ -264,17 +264,17 @@
- pAd->Mlme.SyncMachine.CurrState = JOIN_WAIT_BEACON;
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- MLME START Request state machine procedure, starting an IBSS
- ==========================================================================
- */
- VOID MlmeStartReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
-- UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen;
-+ UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen;
-
- // New for WPA security suites
- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-@@ -293,20 +293,20 @@
- TimeStamp.vv.LowPart = 0;
- TimeStamp.vv.HighPart = 0;
-
-- if (MlmeStartReqSanity(pAd, Elem->Msg, Elem->MsgLen, Ssid, &SsidLen))
-+ if (MlmeStartReqSanity(pAd, Elem->Msg, Elem->MsgLen, Ssid, &SsidLen))
- {
- // reset all the timers
- RTMPCancelTimer(&pAd->Mlme.SyncAux.ScanTimer);
- RTMPCancelTimer(&pAd->Mlme.SyncAux.BeaconTimer);
-
-- // PortCfg.PrivacyInvoked should have been set via OID_802_11_WEP_STATUS.
-+ // PortCfg.PrivacyInvoked should have been set via OID_802_11_WEP_STATUS.
- // pAd->PortCfg.PrivacyInvoked = FALSE;
-
-- memcpy(pAd->PortCfg.Ssid, Ssid, SsidLen);
-+ memcpy(pAd->PortCfg.Ssid, Ssid, SsidLen);
- pAd->PortCfg.SsidLen = SsidLen;
- pAd->PortCfg.BssType = BSS_INDEP;
-- Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-- (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
-+ Privacy = (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled) ||
-+ (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) ||
- (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled);
- pAd->PortCfg.CapabilityInfo = CAP_GENERATE(0,1,0,0,Privacy, (pAd->PortCfg.WindowsTxPreamble == Rt802_11PreambleShort));
- pAd->PortCfg.BeaconPeriod = pAd->PortCfg.IbssConfig.BeaconPeriod;
-@@ -328,7 +328,7 @@
-
- // generate a radom number as BSSID
- MacAddrRandomBssid(pAd, &pAd->PortCfg.Bssid);
-- AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
-+ AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
- AsicSwitchChannel(pAd, pAd->PortCfg.Channel);
- AsicLockChannel(pAd, pAd->PortCfg.Channel);
-
-@@ -341,17 +341,17 @@
- if (Bssidx == BSS_NOT_FOUND)
- {
- Bssidx = BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &pAd->PortCfg.Bssid,
-- Ssid, SsidLen, pAd->PortCfg.BssType, pAd->PortCfg.BeaconPeriod,
-- CfExist, &CfParm, pAd->PortCfg.AtimWin, pAd->PortCfg.CapabilityInfo,
-+ Ssid, SsidLen, pAd->PortCfg.BssType, pAd->PortCfg.BeaconPeriod,
-+ CfExist, &CfParm, pAd->PortCfg.AtimWin, pAd->PortCfg.CapabilityInfo,
- pAd->PortCfg.SupportedRates, pAd->PortCfg.SupportedRatesLen, TRUE,
-- pAd->PortCfg.Channel, Elem->Rssi, TimeStamp, pVIE);
-+ pAd->PortCfg.Channel, Elem->Rssi, TimeStamp, 0, pVIE);
- }
- #endif
-
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_START_CONF, (USHORT)MLME_SUCCESS);
-- }
-- else
-+ }
-+ else
- {
- printk(KERN_ERR DRV_NAME "SYNC - MlmeStartReqAction() sanity check fail. BUG!!!\n");
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
-@@ -359,18 +359,18 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- peer sends beacon back when scanning
- ==========================================================================
- */
- VOID PeerBeaconAtScanAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Bssid, Addr2;
-- UCHAR Ssid[MAX_LEN_OF_SSID], BssType, Channel, Rates[MAX_LEN_OF_SUPPORTED_RATES], RatesLen,
-+ UCHAR Ssid[MAX_LEN_OF_SSID], BssType, Channel, Rates[MAX_LEN_OF_SUPPORTED_RATES], RatesLen,
- SsidLen, DtimCount, DtimPeriod, BcastFlag, MessageToMe, Legacy;
- CF_PARM CfParm;
- USHORT BeaconPeriod, AtimWin, CapabilityInfo;
-@@ -383,54 +383,55 @@
- UCHAR SupRateLen, ExtRateLen;
-
- // New for WPA security suites
-- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-+ USHORT VarIELen; // Length of all saved IEs.
-+ UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
- NDIS_802_11_VARIABLE_IEs *pVIE = NULL;
-
- // NdisFillMemory(Ssid, MAX_LEN_OF_SSID, 0x00);
- Fr = (MACFRAME *) Elem->Msg;
- // Init Variable IE structure
- pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
-- pVIE->Length = 0;
-- if (PeerBeaconAndProbeRspSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &Addr2,
-- &Bssid, Ssid,
-- &SsidLen,
-- &BssType,
-- &BeaconPeriod,
-- &Channel,
-- &TimeStamp,
-- &CfExist,
-- &CfParm,
-- &AtimWin,
-- &CapabilityInfo,
-- Rates,
-+ if (PeerBeaconAndProbeRspSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &Addr2,
-+ &Bssid, Ssid,
-+ &SsidLen,
-+ &BssType,
-+ &BeaconPeriod,
-+ &Channel,
-+ &TimeStamp,
-+ &CfExist,
-+ &CfParm,
-+ &AtimWin,
-+ &CapabilityInfo,
-+ Rates,
- &RatesLen,
- &ExtendedRateIeExist,
- &Erp,
-- &DtimCount,
-- &DtimPeriod,
-- &BcastFlag,
-- &MessageToMe,
-+ &DtimCount,
-+ &DtimPeriod,
-+ &BcastFlag,
-+ &MessageToMe,
- &Legacy,
- SupRate,
- &SupRateLen,
- ExtRate,
- &ExtRateLen,
-- pVIE))
-+ &VarIELen,
-+ pVIE))
- {
- ULONG Idx;
- UCHAR Rssi = 0;
- UCHAR Noise = 0;
-
- // This correct im-proper RSSI indication during SITE SURVEY issue.
-- // Always report bigger RSSI during SCANNING when receiving multiple BEACONs from the same AP.
-- // This case happens because BEACONs come from adjacent channels, so RSSI become weaker as we
-+ // Always report bigger RSSI during SCANNING when receiving multiple BEACONs from the same AP.
-+ // This case happens because BEACONs come from adjacent channels, so RSSI become weaker as we
- // switch to more far away channels.
- Idx = BssTableSearch(&pAd->PortCfg.BssTab, &Bssid);
- if (Idx != BSS_NOT_FOUND)
-- {
-+ {
- Rssi = pAd->PortCfg.BssTab.BssEntry[Idx].Rssi;
- Noise = pAd->PortCfg.BssTab.BssEntry[Idx].Noise;
- }
-@@ -445,25 +446,25 @@
-
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
-- BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen, BssType,
-- BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo, Rates,
-- RatesLen, ExtendedRateIeExist, Channel, Rssi, Noise, TimeStamp, pVIE);
-+ BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen, BssType,
-+ BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo, Rates,
-+ RatesLen, ExtendedRateIeExist, Channel, Rssi, Noise, TimeStamp, VarIELen, pVIE);
- }
- // sanity check fail, ignored
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- When waiting joining the (I)BSS, beacon received from external
- ==========================================================================
- */
- VOID PeerBeaconAtJoinAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Bssid, Addr2;
-- UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen, BssType, Channel, RatesLen, MessageToMe,
-+ UCHAR Ssid[MAX_LEN_OF_SSID], SsidLen, BssType, Channel, RatesLen, MessageToMe,
- Rates[MAX_LEN_OF_SUPPORTED_RATES], DtimCount, DtimPeriod, BcastFlag, Legacy;
- LARGE_INTEGER TimeStamp;
- USHORT BeaconPeriod, AtimWin, CapabilityInfo;
-@@ -474,46 +475,48 @@
- UCHAR SupRateLen, ExtRateLen;
-
- // New for WPA security suites
-- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-+ USHORT VarIELen; // Length of all saved IEs.
-+ UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
- NDIS_802_11_VARIABLE_IEs *pVIE = NULL;
-
- // Init Variable IE structure
- pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
- pVIE->Length = 0;
-- if (PeerBeaconAndProbeRspSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &Addr2,
-- &Bssid,
-- Ssid,
-- &SsidLen,
-- &BssType,
-- &BeaconPeriod,
-- &Channel,
-- &TimeStamp,
-- &CfExist,
-- &Cf,
-- &AtimWin,
-- &CapabilityInfo,
-- Rates,
-+ if (PeerBeaconAndProbeRspSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &Addr2,
-+ &Bssid,
-+ Ssid,
-+ &SsidLen,
-+ &BssType,
-+ &BeaconPeriod,
-+ &Channel,
-+ &TimeStamp,
-+ &CfExist,
-+ &Cf,
-+ &AtimWin,
-+ &CapabilityInfo,
-+ Rates,
- &RatesLen,
- &ExtendedRateIeExist,
- &Erp,
-- &DtimCount,
-- &DtimPeriod,
-- &BcastFlag,
-- &MessageToMe,
-+ &DtimCount,
-+ &DtimPeriod,
-+ &BcastFlag,
-+ &MessageToMe,
- &Legacy,
- SupRate,
- &SupRateLen,
- ExtRate,
- &ExtRateLen,
-- pVIE))
-+ &VarIELen,
-+ pVIE))
- {
- // Disqualify 11b only adhoc when we are in 11g only adhoc mode
- if ((BssType == BSS_INDEP) && (pAd->PortCfg.AdhocMode == 2) && (RatesLen < 12))
- return;
--
-+
- if (MAC_ADDR_EQUAL(&pAd->Mlme.SyncAux.Bssid, &Bssid))
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - receive desired BEACON at JoinWaitBeacon...\n");
-@@ -522,7 +525,7 @@
- // Update RSSI to prevent No signal display when cards first initialized
- pAd->PortCfg.LastRssi = Elem->Rssi;
- pAd->PortCfg.AvgRssi = Elem->Rssi;
--
-+
- if (pAd->Mlme.SyncAux.SsidLen > 0)
- {
- memcpy(pAd->PortCfg.Ssid, pAd->Mlme.SyncAux.Ssid, pAd->Mlme.SyncAux.SsidLen);
-@@ -533,7 +536,7 @@
- memcpy(pAd->PortCfg.Ssid, Ssid, SsidLen);
- pAd->PortCfg.SsidLen = SsidLen;
- }
--
-+
- COPY_MAC_ADDR(&pAd->PortCfg.Bssid, &Bssid);
- AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
-
-@@ -620,22 +623,22 @@
- {
- pAd->PortCfg.ExtRateLen = 0;
- }
--
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP's SupportedRatesLen=%d, set STA's SupportedRateLen=%d\n",
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP's SupportedRatesLen=%d, set STA's SupportedRateLen=%d\n",
- RatesLen, pAd->PortCfg.SupportedRatesLen);
--
-+
- // Mask out unnecessary capability information
- CapabilityInfo &= SUPPORTED_CAPABILITY_INFO;
--
-+
- // Check for 802.11g information, if 802.11 b/g mixed mode.
- // We can't support its short preamble for now.
- pAd->PortCfg.CapabilityInfo = CapabilityInfo;
-
-- if ((BssType == BSS_INDEP) && (CAP_IS_IBSS_ON(CapabilityInfo)))
-+ if ((BssType == BSS_INDEP) && (CAP_IS_IBSS_ON(CapabilityInfo)))
- {
- pAd->PortCfg.AtimWin = AtimWin;
-- }
-- else if (BssType == BSS_INFRA)
-+ }
-+ else if (BssType == BSS_INFRA)
- {
- pAd->PortCfg.CfpPeriod = Cf.CfpPeriod;
- pAd->PortCfg.CfpMaxDuration = Cf.CfpMaxDuration;
-@@ -650,19 +653,19 @@
- MlmeCntlConfirm(pAd, MT2_JOIN_CONF, MLME_SUCCESS);
- }
- // not to me BEACON, ignored
-- }
-+ }
- // sanity check fail, ignore this frame
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- receive BEACON from peer
- ==========================================================================
- */
- VOID PeerBeacon(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Bssid, Addr2;
- CHAR Ssid[MAX_LEN_OF_SSID];
-@@ -679,7 +682,8 @@
- UCHAR SupRateLen, ExtRateLen;
-
- // New for WPA security suites
-- UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
-+ USHORT VarIELen; // Length of all saved IEs.
-+ UCHAR VarIE[MAX_VIE_LEN]; // Total VIE length = MAX_VIE_LEN - -5
- NDIS_802_11_VARIABLE_IEs *pVIE = NULL;
-
- if (!INFRA_ON(pAd) && !ADHOC_ON(pAd))
-@@ -688,35 +692,36 @@
- // Init Variable IE structure
- pVIE = (PNDIS_802_11_VARIABLE_IEs) VarIE;
- pVIE->Length = 0;
-- if (PeerBeaconAndProbeRspSanity(pAd,
-- Elem->Msg,
-- Elem->MsgLen,
-- &Addr2,
-- &Bssid,
-- Ssid,
-- &SsidLen,
-- &BssType,
-- &BeaconPeriod,
-- &Channel,
-- &TimeStamp,
-- &CfExist,
-- &CfParm,
-- &AtimWin,
-- &CapabilityInfo,
-- Rates,
-+ if (PeerBeaconAndProbeRspSanity(pAd,
-+ Elem->Msg,
-+ Elem->MsgLen,
-+ &Addr2,
-+ &Bssid,
-+ Ssid,
-+ &SsidLen,
-+ &BssType,
-+ &BeaconPeriod,
-+ &Channel,
-+ &TimeStamp,
-+ &CfExist,
-+ &CfParm,
-+ &AtimWin,
-+ &CapabilityInfo,
-+ Rates,
- &RatesLen,
- &ExtendedRateIeExist,
- &Erp,
-- &DtimCount,
-- &DtimPeriod,
-- &BcastFlag,
-- &MessageToMe,
-+ &DtimCount,
-+ &DtimPeriod,
-+ &BcastFlag,
-+ &MessageToMe,
- &Legacy,
- SupRate,
- &SupRateLen,
- ExtRate,
- &ExtRateLen,
-- pVIE))
-+ &VarIELen,
-+ pVIE))
- {
- BOOLEAN is_my_bssid, is_my_ssid;
- ULONG Bssidx, Now;
-@@ -732,7 +737,7 @@
- return;
-
- //
-- // Housekeeping "SsidBssTab" table for later-on ROAMing usage.
-+ // Housekeeping "SsidBssTab" table for later-on ROAMing usage.
- //
- Bssidx = BssTableSearch(&pAd->Mlme.CntlAux.SsidBssTab, &Bssid);
- if (Bssidx == BSS_NOT_FOUND)
-@@ -743,24 +748,24 @@
- return;
- if (!RTMPEqualMemory(pAd->PortCfg.Ssid, pAd->Mlme.CntlAux.Ssid, pAd->PortCfg.SsidLen))
- return;
--
-+
- // discover new AP of this network, create BSS entry
-- Bssidx = BssTableSetEntry(pAd, &pAd->Mlme.CntlAux.SsidBssTab, &Bssid, Ssid, SsidLen,
-- BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-- Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, pVIE);
-+ Bssidx = BssTableSetEntry(pAd, &pAd->Mlme.CntlAux.SsidBssTab, &Bssid, Ssid, SsidLen,
-+ BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-+ Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, VarIELen, pVIE);
-
- if (Bssidx == BSS_NOT_FOUND) // return if BSS table full
-- return;
-+ return;
-
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - New AP added to SsidBssTab[%d], RSSI=%d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-- Bssidx, Elem->Rssi, Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - New AP added to SsidBssTab[%d], RSSI=%d, MAC=%02x:%02x:%02x:%02x:%02x:%02x\n",
-+ Bssidx, Elem->Rssi, Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
- Bssid.Octet[3], Bssid.Octet[4], Bssid.Octet[5]);
- }
-
- // if the ssid matched & bssid unmatched, we should select the bssid with large value.
- // This might happened when two STA start at the same time
-- if (is_my_ssid && (! is_my_bssid) && ADHOC_ON(pAd))
-- {
-+ if (is_my_ssid && (! is_my_bssid) && ADHOC_ON(pAd)
-+ && (BssType == BSS_INDEP)) {
- INT i;
- // Add to safe guard adhoc wep status mismatch
- if (pAd->PortCfg.WepStatus != pAd->Mlme.CntlAux.SsidBssTab.BssEntry[Bssidx].WepStatus)
-@@ -773,7 +778,7 @@
- {
- AsicDisableSync(pAd);
- memcpy(&pAd->PortCfg.Bssid, &Bssid, 6);
-- AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
-+ AsicSetBssid(pAd, &pAd->PortCfg.Bssid);
- MakeIbssBeacon(pAd);
- AsicEnableIbssSync(pAd);
- break;
-@@ -781,9 +786,9 @@
- }
- }
-
-- DBGPRINT(RT_DEBUG_INFO, "SYNC - PeerBeacon from %02x:%02x:%02x:%02x:%02x:%02x - Dtim=%d/%d, Rssi=%02x\n",
-- Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
-- Bssid.Octet[3], Bssid.Octet[4], Bssid.Octet[5],
-+ DBGPRINT(RT_DEBUG_INFO, "SYNC - PeerBeacon from %02x:%02x:%02x:%02x:%02x:%02x - Dtim=%d/%d, Rssi=%02x\n",
-+ Bssid.Octet[0], Bssid.Octet[1], Bssid.Octet[2],
-+ Bssid.Octet[3], Bssid.Octet[4], Bssid.Octet[5],
- DtimCount, DtimPeriod, Elem->Rssi);
-
- Now = jiffies;
-@@ -793,24 +798,24 @@
-
- //
- // BEACON from my BSSID - either IBSS or INFRA network
-- //
-+ //
- if (is_my_bssid)
- {
-- // 2002/12/06 - patch Abocom AP bug, which forgets to set "Privacy" bit in
-- // AssocRsp even though this bit is ON in Beacon. So we update according
-+ // 2002/12/06 - patch Abocom AP bug, which forgets to set "Privacy" bit in
-+ // AssocRsp even though this bit is ON in Beacon. So we update according
- // to following Beacon frame.
- // pAd->PortCfg.PrivacyInvoked = CAP_IS_PRIVACY_ON(CapabilityInfo);
--
-+
- pAd->PortCfg.LastBeaconRxTime = Now;
- #if 1
- // at least one 11b peer joined. downgrade the MaxTxRate to 11Mbps
- // after last 11b peer left for several seconds, we'll auto switch back to 11G rate
- // in MlmePeriodicExec()
-- if (ADHOC_ON(pAd) && (RatesLen <= 4))
-+ if (ADHOC_ON(pAd) && (RatesLen <= 4))
- {
- // this timestamp is for MlmePeriodicExec() to check if all 11B peers have left
- pAd->PortCfg.Last11bBeaconRxTime = Now;
--
-+
- if (pAd->PortCfg.MaxTxRate > RATE_11)
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - 11b peer joined. down-grade to 11b TX rates \n");
-@@ -828,22 +833,22 @@
- (pAd->PortCfg.LastRssi < pAd->PortCfg.RssiTrigger))
- {
- // NDIS_802_11_RSSI Dbm = pAd->PortCfg.LastRssi - RSSI_TO_DBM_OFFSET;
-- // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, less than threshold %d dBm\n",
-+ // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, less than threshold %d dBm\n",
- // Dbm, pAd->PortCfg.RssiTrigger - RSSI_TO_DBM_OFFSET);
- }
- else if ((pAd->PortCfg.RssiTriggerMode == RSSI_TRIGGERED_UPON_EXCCEED_THRESHOLD) &&
- (pAd->PortCfg.LastRssi > pAd->PortCfg.RssiTrigger))
- {
- // NDIS_802_11_RSSI Dbm = pAd->PortCfg.LastRssi - RSSI_TO_DBM_OFFSET;
-- // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, greater than threshold %d dBm\n",
-+ // DBGPRINT(RT_DEBUG_TRACE, "SYNC - NdisMIndicateStatus *** RSSI %d dBm, greater than threshold %d dBm\n",
- // Dbm, pAd->PortCfg.RssiTrigger - RSSI_TO_DBM_OFFSET);
- }
-
- if (INFRA_ON(pAd)) // && (pAd->PortCfg.PhyMode == PHY_11BG_MIXED))
- {
- BOOLEAN bUseShortSlot, bUseBGProtection;
--
-- // decide to use/change to -
-+
-+ // decide to use/change to -
- // 1. long slot (20 us) or short slot (9 us) time
- // 2. turn on/off RTS/CTS and/or CTS-to-self protection
- // 3. short preamble
-@@ -867,7 +872,7 @@
- }
-
- // only INFRASTRUCTURE mode support power-saving feature
-- if (INFRA_ON(pAd) && (pAd->PortCfg.Psm == PWR_SAVE))
-+ if (INFRA_ON(pAd) && (pAd->PortCfg.Psm == PWR_SAVE))
- {
- // 1. AP has backlogged unicast-to-me frame, stay AWAKE, send PSPOLL
- // 2. AP has backlogged broadcast/multicast frame and we want those frames, stay AWAKE
-@@ -882,17 +887,17 @@
- else if (BcastFlag && (DtimCount == 0) && pAd->PortCfg.RecvDtim)
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - AP backlog broadcast/multicast, stay AWAKE\n");
-- }
-+ }
- else if ((RTMPFreeDescriptorRequest(pAd, TX_RING, TX_RING_SIZE) != NDIS_STATUS_SUCCESS) ||
- (RTMPFreeDescriptorRequest(pAd, PRIO_RING, PRIO_RING_SIZE) != NDIS_STATUS_SUCCESS))
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - outgoing frame in TxRing/PrioRing, stay AWAKE\n");
- }
-- else
-+ else
- {
- USHORT NextDtim = DtimCount;
-
-- if (NextDtim == 0)
-+ if (NextDtim == 0)
- NextDtim = DtimPeriod;
-
- TbttNumToNextWakeUp = pAd->PortCfg.DefaultListenCount;
-@@ -906,20 +911,21 @@
-
- #ifndef SINGLE_ADHOC_LINKUP
- // At least another peer in this IBSS, declare MediaState as CONNECTED
-- if (ADHOC_ON(pAd) && (pAd->MediaState == NdisMediaStateDisconnected))
-- {
-+ if (ADHOC_ON(pAd)
-+ && (pAd->MediaState == NdisMediaStateDisconnected)
-+ && (BssType == BSS_INDEP)) {
- pAd->MediaState = NdisMediaStateConnected;
-
- // 2003/03/12 - john
- // Make sure this entry in "PortCfg.BssTab" table, thus complies to Microsoft's policy that
-- // "site survey" result should always include the current connected network.
-+ // "site survey" result should always include the current connected network.
- //
- Bssidx = BssTableSearch(&pAd->PortCfg.BssTab, &Bssid);
- if (Bssidx == BSS_NOT_FOUND)
- {
-- Bssidx = BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen,
-- BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-- Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, pVIE);
-+ Bssidx = BssTableSetEntry(pAd, &pAd->PortCfg.BssTab, &Bssid, Ssid, SsidLen,
-+ BssType, BeaconPeriod, CfExist, &CfParm, AtimWin, CapabilityInfo,
-+ Rates, RatesLen, ExtendedRateIeExist, Channel, Elem->Rssi, Elem->Noise, TimeStamp, VarIELen, pVIE);
- }
- }
- #endif
-@@ -929,15 +935,15 @@
- // sanity check fail, ignore this frame
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Receive PROBE REQ from remote peer when operating in IBSS mode
- ==========================================================================
- */
- VOID PeerProbeReqAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- MACADDR Addr2;
- CHAR Ssid[MAX_LEN_OF_SSID];
-@@ -947,13 +953,13 @@
- UCHAR *OutBuffer = NULL;
- ULONG FrameLen = 0;
- LARGE_INTEGER FakeTimestamp;
-- UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
-+ UCHAR SsidIe = IE_SSID, DsIe = IE_DS_PARM, IbssIe = IE_IBSS_PARM, SuppIe = IE_SUPP_RATES,
- DsLen = 1, IbssLen = 2;
- UCHAR SupportedRatesLen;
- UCHAR SupportedRates[MAX_LEN_OF_SUPPORTED_RATES];
- UCHAR ExtRateIe = IE_EXT_SUPP_RATES, ExtRatesLen;
- UCHAR ErpIe[3] = {IE_ERP, 1, 0};
--
-+
- if (! ADHOC_ON(pAd))
- return;
-
-@@ -962,8 +968,8 @@
- if ((SsidLen == 0) || RTMPEqualMemory(Ssid, pAd->PortCfg.Ssid, (ULONG) SsidLen))
- {
- CSR15_STRUC Csr15;
--
-- // we should respond a ProbeRsp only when we're the last BEACON transmitter
-+
-+ // we should respond a ProbeRsp only when we're the last BEACON transmitter
- // in this ADHOC network.
- RTMP_IO_READ32(pAd, CSR15, &Csr15.word);
- if (Csr15.field.BeaconSent == 0)
-@@ -1016,28 +1022,28 @@
- return;
-
- pAd->PortCfg.AtimWin = 0; // ??????
-- DBGPRINT(RT_DEBUG_TRACE, "SYNC - Send PROBE_RSP to %02x:%02x:%02x:%02x:%02x:%02x...\n",
-+ DBGPRINT(RT_DEBUG_TRACE, "SYNC - Send PROBE_RSP to %02x:%02x:%02x:%02x:%02x:%02x...\n",
- Addr2.Octet[0],Addr2.Octet[1],Addr2.Octet[2],Addr2.Octet[3],Addr2.Octet[4],Addr2.Octet[5] );
- MgtMacHeaderInit(pAd, &ProbeRspHdr, SUBTYPE_PROBE_RSP, 0, &Addr2, &pAd->PortCfg.Bssid);
-
- if (SupportedRatesLen <= 8)
- {
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &ProbeRspHdr,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &ProbeRspHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &pAd->PortCfg.CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- END_OF_ARGS);
- }
-@@ -1045,22 +1051,22 @@
- {
- ExtRatesLen = SupportedRatesLen - 8;
- SupportedRatesLen = 8;
-- MakeOutgoingFrame(OutBuffer, &FrameLen,
-- MAC_HDR_LEN, &ProbeRspHdr,
-+ MakeOutgoingFrame(OutBuffer, &FrameLen,
-+ MAC_HDR_LEN, &ProbeRspHdr,
- TIMESTAMP_LEN, &FakeTimestamp,
- 2, &pAd->PortCfg.BeaconPeriod,
- 2, &pAd->PortCfg.CapabilityInfo,
-- 1, &SsidIe,
-- 1, &pAd->PortCfg.SsidLen,
-+ 1, &SsidIe,
-+ 1, &pAd->PortCfg.SsidLen,
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
-- 1, &SuppIe,
-+ 1, &SuppIe,
- 1, &SupportedRatesLen,
-- SupportedRatesLen, SupportedRates,
-- 1, &DsIe,
-- 1, &DsLen,
-+ SupportedRatesLen, SupportedRates,
-+ 1, &DsIe,
-+ 1, &DsLen,
- 1, &pAd->PortCfg.Channel,
-- 1, &IbssIe,
-- 1, &IbssLen,
-+ 1, &IbssIe,
-+ 1, &IbssLen,
- 2, &pAd->PortCfg.AtimWin,
- 3, ErpIe,
- 1, &ExtRateIe,
-@@ -1073,7 +1079,7 @@
- {
- ULONG tmp;
- UCHAR WpaIe = IE_WPA;
--
-+
- if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled) // Tkip
- {
- MakeOutgoingFrame(OutBuffer + FrameLen, &tmp,
-@@ -1092,43 +1098,43 @@
- END_OF_ARGS);
- FrameLen += tmp;
- }
-- }
-+ }
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
- }
- }
-
- VOID BeaconTimeoutAtJoinAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "SYNC - BeaconTimeoutAtJoinAction\n");
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_JOIN_CONF, MLME_REJ_TIMEOUT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Scan timeout procedure. basically add channel index by 1 and rescan
- ==========================================================================
- */
- VOID ScanTimeoutAction(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- pAd->Mlme.SyncAux.Channel = NextChannel(pAd, pAd->Mlme.SyncAux.Channel);
- ScanNextChannel(pAd);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Scan next channel
- ==========================================================================
- */
- VOID ScanNextChannel(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- MACHDR Hdr;
- UCHAR SsidIe = IE_SSID, SuppRateIe = IE_SUPP_RATES;
-@@ -1138,36 +1144,36 @@
- ULONG FrameLen = 0;
- UCHAR SsidLen = 0;
-
-- if (pAd->Mlme.SyncAux.Channel == 0)
-+ if (pAd->Mlme.SyncAux.Channel == 0)
- {
- DBGPRINT(RT_DEBUG_INFO, "SYNC - End of SCAN, restore to channel %d\n",pAd->PortCfg.Channel);
- AsicSwitchChannel(pAd, pAd->PortCfg.Channel);
- AsicLockChannel(pAd, pAd->PortCfg.Channel);
--
-+
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_SCAN_CONF, MLME_SUCCESS);
-- }
-- else
-+ }
-+ else
- {
- AsicSwitchChannel(pAd, pAd->Mlme.SyncAux.Channel);
-
-- // Total SCAN time still limits within 3 sec (DDK constraint).
-+ // Total SCAN time still limits within 3 sec (DDK constraint).
- // TODO: We need more intelligent rules here to further improve out-of-service issue.
- // e.g. temporary stop copying NDIS packet to TxRing until SCAN complete
- // if (INFRA_ON(pAd) || ADHOC_ON(pAd))
-
- // We need to shorten active scan time in order for WZC connect issue
-- if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
-- RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, ACTIVE_SCAN_TIME);
-+ if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
-+ RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, ACTIVE_SCAN_TIME);
- else if (pAd->PortCfg.PhyMode == PHY_11ABG_MIXED)
-- RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, MIN_CHANNEL_TIME);
-+ RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, MIN_CHANNEL_TIME);
- else
- RTMPSetTimer(pAd, &pAd->Mlme.SyncAux.ScanTimer, MAX_CHANNEL_TIME);
-
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_PROBE_REQ, 0, &pAd->PortCfg.Broadcast, &pAd->PortCfg.Broadcast);
- // There is no need to send broadcast probe request if active scan is in effect.
- // The same rulr should apply to passive scan also.
-- if (pAd->Mlme.SyncAux.ScanType == SCAN_PASSIVE)
-+ if (pAd->Mlme.SyncAux.ScanType == SCAN_PASSIVE)
- {
- // Send the first probe request with empty SSID
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-@@ -1184,15 +1190,15 @@
- MakeOutgoingFrame(OutBuffer, &FrameLen,
- sizeof(MACHDR), (UCHAR*)&Hdr,
- 1, &SsidIe,
-- 1, &SsidLen,
-+ 1, &SsidLen,
- 1, &SuppRateIe,
- 1, &pAd->PortCfg.SupportedRatesLen,
-- pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
-+ pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
- END_OF_ARGS);
--
-+
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
-- else if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
-+ else if (pAd->Mlme.SyncAux.ScanType == SCAN_ACTIVE)
- {
- // Allocate another for probe scan with SSID
- NStatus = MlmeAllocateMemory(pAd, (PVOID)&OutBuffer2); //Get an unused nonpaged memory
-@@ -1212,9 +1218,9 @@
- SsidLen, pAd->PortCfg.Ssid,
- 1, &SuppRateIe,
- 1, &pAd->PortCfg.SupportedRatesLen,
-- pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
-+ pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
- END_OF_ARGS);
--
-+
- MiniportMMRequest(pAd, OutBuffer2, FrameLen);
-
- DBGPRINT(RT_DEBUG_INFO, "SYNC - send active ProbeReq @ channel=%d with essid=%s\n", pAd->Mlme.SyncAux.Channel, pAd->PortCfg.Ssid);
-@@ -1224,55 +1230,55 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID InvalidStateWhenScan(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "AYNC - InvalidStateWhenScan(state=%d). Reset SYNC machine\n", pAd->Mlme.SyncMachine.CurrState);
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_SCAN_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID InvalidStateWhenJoin(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "InvalidStateWhenJoin(state=%d). Reset SYNC machine\n", pAd->Mlme.SyncMachine.CurrState);
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_JOIN_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID InvalidStateWhenStart(
-- IN PRTMP_ADAPTER pAd,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAd,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- DBGPRINT(RT_DEBUG_TRACE, "InvalidStateWhenStart(state=%d). Reset SYNC machine\n", pAd->Mlme.SyncMachine.CurrState);
- pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;
- MlmeCntlConfirm(pAd, MT2_START_CONF, MLME_STATE_MACHINE_REJECT);
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
- */
- VOID EnqueuePsPoll(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- NDIS_STATUS NState;
- PSPOLL_FRAME *PsFr;
-@@ -1291,10 +1297,10 @@
- // driver force send out a BEACON frame to cover ADHOC mode BEACON starving issue
- // that is, in ADHOC mode, driver guarantee itself can send out at least a BEACON
- // per a specified duration, even the peer's clock is faster than us and win all the
--// hardware-based BEACON TX oppertunity.
-+// hardware-based BEACON TX oppertunity.
- // we may remove this software feature once 2560 IC fix this problem in ASIC.
- VOID EnqueueBeaconFrame(
-- IN PRTMP_ADAPTER pAd)
-+ IN PRTMP_ADAPTER pAd)
- {
- NDIS_STATUS NState;
- PTXD_STRUC pTxD = (PTXD_STRUC)pAd->BeaconRing.va_addr;
-@@ -1313,10 +1319,10 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
-- Send out a NULL frame to AP. The prpose is to inform AP this client
-+ Send out a NULL frame to AP. The prpose is to inform AP this client
- current PSM bit.
- NOTE:
- This routine should only be used in infrastructure mode.
-@@ -1324,7 +1330,7 @@
- */
- VOID EnqueueNullFrame(
- IN PRTMP_ADAPTER pAd,
-- IN UCHAR TxRate)
-+ IN UCHAR TxRate)
- {
- NDIS_STATUS NState;
- MACHDR *NullFr;
-@@ -1339,7 +1345,7 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- ==========================================================================
-@@ -1359,7 +1365,7 @@
- if (NState == NDIS_STATUS_SUCCESS)
- {
- MgtMacHeaderInit(pAd, &Hdr, SUBTYPE_PROBE_REQ, 0, &pAd->PortCfg.Broadcast, &pAd->PortCfg.Broadcast);
--
-+
- // this ProbeRequest explicitly specify SSID to reduce unwanted ProbeResponse
- MakeOutgoingFrame(OutBuffer, &FrameLen,
- sizeof(MACHDR), &Hdr,
-@@ -1368,13 +1374,13 @@
- pAd->PortCfg.SsidLen, pAd->PortCfg.Ssid,
- 1, &SuppRateIe,
- 1, &pAd->PortCfg.SupportedRatesLen,
-- pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
-+ pAd->PortCfg.SupportedRatesLen, pAd->PortCfg.SupportedRates,
- END_OF_ARGS);
- MiniportMMRequest(pAd, OutBuffer, FrameLen);
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- Update PortCfg->ChannelList[] according to 1) Country Region 2) RF IC type,
-@@ -1464,7 +1470,7 @@
- }
-
- pAd->PortCfg.ChannelListNum = index;
-- DBGPRINT(RT_DEBUG_TRACE,"country code=%d, RFIC=%d, PHY mode=%d, support %d channels\n",
-+ DBGPRINT(RT_DEBUG_TRACE,"country code=%d, RFIC=%d, PHY mode=%d, support %d channels\n",
- pAd->PortCfg.CountryRegion, pAd->PortCfg.RfType, pAd->PortCfg.PhyMode, pAd->PortCfg.ChannelListNum);
- for (i=0;i<index;i++)
- {
-@@ -1472,10 +1478,10 @@
- }
- }
-
--/*
-+/*
- ==========================================================================
- Description:
-- This routine return the first channel number according to the country
-+ This routine return the first channel number according to the country
- code selection and RF IC selection (signal band or dual band). It is called
- whenever driver need to start a site survey of all supported channels.
- Return:
-@@ -1488,7 +1494,7 @@
- return pAd->PortCfg.ChannelList[0];
- }
-
--/*
-+/*
- ==========================================================================
- Description:
- This routine returns the next channel number. This routine is called
-@@ -1500,12 +1506,12 @@
- ==========================================================================
- */
- UCHAR NextChannel(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- IN UCHAR channel)
- {
- int i;
- UCHAR next_channel = 0;
--
-+
- for (i = 0; i < (pAd->PortCfg.ChannelListNum - 1); i++)
- if (channel == pAd->PortCfg.ChannelList[i])
- {
-diff -Nur rt2500-1.1.0-b4/Module/unload rt2500-cvs-2007061011/Module/unload
---- rt2500-1.1.0-b4/Module/unload 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/unload 1970-01-01 01:00:00.000000000 +0100
-@@ -1,2 +0,0 @@
--/sbin/ifconfig ra0 down
--/sbin/rmmod rt2500
-\ Kein Zeilenumbruch am Dateiende.
-diff -Nur rt2500-1.1.0-b4/Module/wpa.c rt2500-cvs-2007061011/Module/wpa.c
---- rt2500-1.1.0-b4/Module/wpa.c 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/wpa.c 2007-05-15 21:41:35.000000000 +0200
-@@ -1,37 +1,37 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: wpa.c
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * JanL 22nd Jul 03 Initial code
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: wpa.c
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * JanL 22nd Jul 03 Initial code
- * PaulL 28th Nov 03 Modify for supplicant
- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+ ***************************************************************************/
-
- #include "rt_config.h"
-
-@@ -47,6 +47,7 @@
- };
- UCHAR CipherWpaPskTkipLen = (sizeof(CipherWpaPskTkip) / sizeof(UCHAR));
-
-+// Needed for APs using WPA1 IEs (#221) to indicate CCMP encryption
- UCHAR CipherWpaPskAes[] = {
- 0xDD, 0x16, // RSN IE
- 0x00, 0x50, 0xf2, 0x01, // oui
-@@ -59,16 +60,19 @@
- };
- UCHAR CipherWpaPskAesLen = (sizeof(CipherWpaPskAes) / sizeof(UCHAR));
-
-+static UCHAR MSOUI[] = {0x00, 0x50, 0xf2, 0x01}; // Microsoft OUI
-+static UCHAR WGOUI[] = {0x00, 0x0f, 0xac}; // 802.11i Working Group OUI
-+
- /*
- ========================================================================
--
-+
- Routine Description:
- Classify WPA EAP message type
-
- Arguments:
- EAPType Value of EAP message type
- MsgType Internal Message definition for MLME state machine
--
-+
- Return Value:
- TRUE Found appropriate message type
- FALSE No appropriate message type
-@@ -76,12 +80,12 @@
- Note:
- All these constants are defined in wpa.h
- For supplicant, there is only EAPOL Key message avaliable
--
-+
- ========================================================================
- */
- BOOLEAN WpaMsgTypeSubst(
- IN UCHAR EAPType,
-- OUT ULONG *MsgType)
-+ OUT ULONG *MsgType)
- {
- switch (EAPType)
- {
-@@ -102,23 +106,23 @@
- break;
- default:
- DBGPRINT(RT_DEBUG_INFO, "WpaMsgTypeSubst : return FALSE; \n");
-- return FALSE;
-- }
-+ return FALSE;
-+ }
- return TRUE;
- }
-
--/*
-+/*
- ==========================================================================
-- Description:
-+ Description:
- association state machine init, including state transition and timer init
-- Parameters:
-+ Parameters:
- S - pointer to the association state machine
- ==========================================================================
- */
- VOID WpaPskStateMachineInit(
-- IN PRTMP_ADAPTER pAd,
-- IN STATE_MACHINE *S,
-- OUT STATE_MACHINE_FUNC Trans[])
-+ IN PRTMP_ADAPTER pAd,
-+ IN STATE_MACHINE *S,
-+ OUT STATE_MACHINE_FUNC Trans[])
- {
- StateMachineInit(S, (STATE_MACHINE_FUNC*)Trans, MAX_WPA_PSK_STATE, MAX_WPA_PSK_MSG, (STATE_MACHINE_FUNC)Drop, WPA_PSK_IDLE, WPA_MACHINE_BASE);
- StateMachineSetAction(S, WPA_PSK_IDLE, EAP_MSG_TYPE_EAPOLKey, (STATE_MACHINE_FUNC)WpaEAPOLKeyAction);
-@@ -127,10 +131,10 @@
- /*
- ==========================================================================
- Description:
-- This is state machine function.
-- When receiving EAPOL packets which is for 802.1x key management.
-- Use both in WPA, and WPAPSK case.
-- In this function, further dispatch to different functions according to the received packet. 3 categories are :
-+ This is state machine function.
-+ When receiving EAPOL packets which is for 802.1x key management.
-+ Use both in WPA, and WPAPSK case.
-+ In this function, further dispatch to different functions according to the received packet. 3 categories are :
- 1. normal 4-way pairwisekey and 2-way groupkey handshake
- 2. MIC error (Countermeasures attack) report packet from STA.
- 3. Request for pairwise/group key update from STA
-@@ -138,13 +142,13 @@
- ==========================================================================
- */
- VOID WpaEAPOLKeyAction(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- INT MsgType;
- UCHAR ZeroReplay[LEN_KEY_DESC_REPLAY];
- PKEY_DESCRIPTER pKeyDesc;
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "-----> WpaEAPOLKeyAction\n");
- // Get 802.11 header first
- pKeyDesc = (PKEY_DESCRIPTER) &Elem->Msg[(LENGTH_802_11 + LENGTH_802_1_H + LENGTH_EAPOL_H)];
-@@ -153,9 +157,12 @@
- *(USHORT *)((UCHAR *)pKeyDesc+1) = SWAP16(*(USHORT *)((UCHAR *)pKeyDesc+1));
- #endif
- // Sanity check, this should only happen in WPA-PSK mode
-- if (pAdapter->PortCfg.AuthMode != Ndis802_11AuthModeWPAPSK)
-+ if (pAdapter->PortCfg.AuthMode != Ndis802_11AuthModeWPAPSK) {
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "<----- WpaEAPOLKeyAction - AuthMode (%d) != WPPSK\n",
-+ pAdapter->PortCfg.AuthMode);
- return;
--
-+ }
- // 0. Debug print all bit information
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Key Description Version %d\n", pKeyDesc->KeyInfo.KeyDescVer);
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Key Type %d\n", pKeyDesc->KeyInfo.KeyType);
-@@ -167,7 +174,7 @@
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Error %d\n", pKeyDesc->KeyInfo.Error);
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo Request %d\n", pKeyDesc->KeyInfo.Request);
- DBGPRINT(RT_DEBUG_INFO, "KeyInfo DL %d\n", pKeyDesc->KeyInfo.DL);
--
-+
- // 1. Check EAPOL frame version and type
- if ((Elem->Msg[LENGTH_802_11+LENGTH_802_1_H] != EAPOL_VER) || (pKeyDesc->Type != RSN_KEY_DESC))
- {
-@@ -190,9 +197,18 @@
- // First validate replay counter, only accept message with larger replay counter
- // Let equal pass, some AP start with all zero replay counter
- memset(ZeroReplay, 0, LEN_KEY_DESC_REPLAY);
-- if ((RTMPCompareMemory(pKeyDesc->ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1) &&
-- (RTMPCompareMemory(pKeyDesc->ReplayCounter, ZeroReplay, LEN_KEY_DESC_REPLAY) != 0))
-+ if ((RTMPCompareMemory(pKeyDesc->ReplayCounter,
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1) &&
-+ (RTMPCompareMemory(pKeyDesc->ReplayCounter,
-+ ZeroReplay, LEN_KEY_DESC_REPLAY) != 0)) {
-+ DBGPRINT(RT_DEBUG_TRACE, "<----- %s: Replay count error\n",
-+ __FUNCTION__);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " AP replay = ",
-+ pKeyDesc->ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " our replay = ",
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
- return;
-+ }
-
- // Classify message Type, either pairwise message 1, 3, or group message 1 for supplicant
- MsgType = EAPOL_MSG_INVALID;
-@@ -228,12 +244,13 @@
- {
- MsgType = EAPOL_GROUP_MSG_1;
- DBGPRINT(RT_DEBUG_TRACE, "Receive EAPOL Key Group Message 1\n");
-- }
--
-+ } else
-+ DBGPRINT(RT_DEBUG_TRACE, "Receive INVALID EAPOL Key Message\n");
-+
- #ifdef BIG_ENDIAN
- *(USHORT *)((UCHAR *)pKeyDesc+1) = SWAP16(*(USHORT *)((UCHAR *)pKeyDesc+1));
- #endif
--
-+
- // We will assume link is up (assoc suceess and port not secured).
- // All state has to be able to process message from previous state
- switch (pAdapter->PortCfg.WpaState)
-@@ -245,7 +262,7 @@
- pAdapter->PortCfg.WpaState = SS_WAIT_MSG_3;
- }
- break;
--
-+
- case SS_WAIT_MSG_3:
- if (MsgType == EAPOL_PAIR_MSG_1)
- {
-@@ -258,7 +275,7 @@
- pAdapter->PortCfg.WpaState = SS_WAIT_GROUP;
- }
- break;
--
-+
- case SS_WAIT_GROUP: // When doing group key exchange
- case SS_FINISH: // This happened when update group key
- if (MsgType == EAPOL_PAIR_MSG_1)
-@@ -281,34 +298,34 @@
- pAdapter->PortCfg.WpaState = SS_FINISH;
- }
- break;
--
-+
- default:
-- break;
-+ break;
- }
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "<----- WpaEAPOLKeyAction\n");
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Process Pairwise key 4-way handshaking
-
- Arguments:
- pAdapter Pointer to our adapter
- Elem Message body
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaPairMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- PHEADER_802_11 pHeader;
- UCHAR PTK[80];
-@@ -321,39 +338,39 @@
- UCHAR EAPHEAD[8] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00,0x88,0x8e};
- PEAPOL_PACKET pMsg1;
- EAPOL_PACKET Packet;
-- UCHAR Mic[16];
--
-+ UCHAR Mic[16];
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg1Action ----->\n");
--
-+
- pHeader = (PHEADER_802_11) Elem->Msg;
--
-+
- // Save Data Length to pDesc for receiving packet, then put in outgoing frame Data Len fields.
- pMsg1 = (PEAPOL_PACKET) &Elem->Msg[LENGTH_802_11 + LENGTH_802_1_H];
--
-+
- // Process message 1 from authenticator
- // Key must be Pairwise key, already verified at callee.
- // 1. Save Replay counter, it will use to verify message 3 and construct message 2
-- memcpy(pAdapter->PortCfg.ReplayCounter, pMsg1->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ memcpy(pAdapter->PortCfg.ReplayCounter, pMsg1->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-
- // 2. Save ANonce
- memcpy(pAdapter->PortCfg.ANonce, pMsg1->KeyDesc.KeyNonce, LEN_KEY_DESC_NONCE);
--
-+
- // TSNonce <--- SNonce
- // Generate random SNonce
-- GenRandom(pAdapter, pAdapter->PortCfg.SNonce);
-+ GenRandom(pAdapter, pAdapter->PortCfg.SNonce);
-
- // TPTK <--- Calc PTK(ANonce, TSNonce)
-- WpaCountPTK(pAdapter->PortCfg.PskKey.Key,
-+ WpaCountPTK(pAdapter->PortCfg.PskKey.Key,
- pAdapter->PortCfg.ANonce,
-- pAdapter->PortCfg.Bssid.Octet,
-- pAdapter->PortCfg.SNonce,
-- pAdapter->CurrentAddress,
-- PTK,
-- LEN_PTK);
-+ pAdapter->PortCfg.Bssid.Octet,
-+ pAdapter->PortCfg.SNonce,
-+ pAdapter->CurrentAddress,
-+ PTK,
-+ LEN_PTK);
-
- // Save key to PTK entry
- memcpy(pAdapter->PortCfg.PTK, PTK, LEN_PTK);
--
-+
- // =====================================
- // Use Priority Ring & MiniportMMRequest
- // =====================================
-@@ -364,7 +381,7 @@
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
- Header_802_11.Controlhead.Duration = pAdapter->PortCfg.Dsifs + AckDuration;
--
-+
- // Zero message 2 body
- memset(&Packet, 0, sizeof(Packet));
- Packet.Version = EAPOL_VER;
-@@ -399,17 +416,17 @@
- memcpy(Packet.KeyDesc.KeyNonce, pAdapter->PortCfg.SNonce, LEN_KEY_DESC_NONCE);
-
- // 5. Key Replay Count
-- memcpy(Packet.KeyDesc.ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
--
-+ memcpy(Packet.KeyDesc.ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(Packet.KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(Packet.KeyDesc.KeyInfo)));
- #endif
--
-+
- // Send EAPOL(0, 1, 0, 0, 0, K, 0, TSNonce, 0, MIC(TPTK), 0)
-- // Out buffer for transmitting message 2
-+ // Out buffer for transmitting message 2
- NStatus = MlmeAllocateMemory(pAdapter, (PVOID)&OutBuffer); //Get an unused nonpaged memory
-- if (NStatus != NDIS_STATUS_SUCCESS)
-- return;
-+ if (NStatus != NDIS_STATUS_SUCCESS)
-+ return;
-
- // Prepare EAPOL frame for MIC calculation
- // Be careful, only EAPOL frame is counted for MIC calculation
-@@ -423,7 +440,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1(OutBuffer, FrameLen, PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -433,12 +450,12 @@
- DBGPRINT(RT_DEBUG_INFO, " PMK = ");
- for (i = 0; i < 16; i++)
- DBGPRINT(RT_DEBUG_INFO, "%2x-", pAdapter->PortCfg.PskKey.Key[i]);
--
-+
- DBGPRINT(RT_DEBUG_INFO, "\n PTK = ");
- for (i = 0; i < 64; i++)
- DBGPRINT(RT_DEBUG_INFO, "%2x-", pAdapter->PortCfg.PTK[i]);
- DBGPRINT(RT_DEBUG_INFO, "\n FrameLen = %d\n", FrameLen);
--
-+
- hmac_md5(PTK, LEN_EAP_MICK, OutBuffer, FrameLen, Mic);
- }
- memcpy(Packet.KeyDesc.KeyMic, Mic, LEN_KEY_DESC_MIC);
-@@ -446,36 +463,202 @@
- FrameLen = 0;
- // Make Transmitting frame
- MakeOutgoingFrame(OutBuffer, &FrameLen, sizeof(MACHDR), &Header_802_11,
-- sizeof(EAPHEAD), EAPHEAD,
-+ sizeof(EAPHEAD), EAPHEAD,
- Packet.Len[1] + 4, &Packet,
- END_OF_ARGS);
-
- // Send using priority queue
- MiniportMMRequest(pAdapter, OutBuffer, FrameLen);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg1Action <-----\n");
- }
-
- /*
-+ ========================================================================
-+
-+ Description:
-+ Check the information element packaged in the KeyData field of the
-+ EAPOL packet. At least one of the AP's offerings in each of
-+
-+ 1) the group cipher suite
-+ 2) the pairwise master key cipher(s), and
-+ 3) the authentication and key management suite
-+
-+ need to match the configuration for the corresponding attribute
-+ in the driver.
-+
-+ Arguments:
-+ pAd Pointer to our adapter
-+ pie Pointer to the "logical" IE
-+ pie_len Value of the real IE length field.
-+ poui Pointer to the WPA1/WPA2 OUI
-+
-+ Return Value:
-+ 0 -> OK: At least one of the offerings in each category
-+ matches what is configured in the driver.
-+
-+ Note:
-+ On entry, it is known that the length of the RSN IE is consistent
-+ with the length specification of the EAPOL KeyData field, and that
-+ the IE is at least long enough to contain one group cipher suite
-+ selection, one PMK cipher suite selection,
-+ and one AKM suite selection.
-+ ========================================================================
-+*/
-+static int checkEAPIE(
-+ IN RTMP_ADAPTER *pAd,
-+ IN rsn_ie_t *pie, // (not really, if we're WPA 1)
-+ IN u8 pie_len, // ... so we provide the length separately.
-+ IN ie_oui_t *poui)
-+{
-+ suite_list_t *suite_list_p;
-+ suite_sel_t *suite_sel_p;
-+ int i, j;
-+ int needs = 7;
-+ suite_sel_t *limit = (suite_sel_t *)((void *)pie + pie_len + 2);
-+
-+ if (wtohs(pie->version) != 1) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid ver %d (sb 1)\n",
-+ wtohs(pie->version));
-+ return needs;
-+ }
-+ if (memcmp(pie->gcsuite.oui, poui, sizeof(ie_oui_t)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid Grp Cipher OUI %02x:%02x:%02x\n",
-+ pie->gcsuite.oui[0], pie->gcsuite.oui[1], pie->gcsuite.oui[2]);
-+ return needs;
-+ }
-+ switch (pie->gcsuite.type) {
-+ case CIPHER_TYPE_WEP40:
-+ case CIPHER_TYPE_WEP104:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled)
-+ needs &= 6;
-+ break;
-+ case CIPHER_TYPE_TKIP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
-+ needs &= 6;
-+ break;
-+ case CIPHER_TYPE_CCMP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-+ needs &= 6;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid Grp Cipher Type %d\n",
-+ pie->gcsuite.type);
-+ return needs;
-+ } /* End switch (group cipher suite type) */
-+
-+ suite_list_p = (suite_list_t *)((void *)&pie->gcsuite+sizeof(suite_sel_t));
-+
-+ // Search the PMK list
-+ for (suite_sel_p = suite_list_p->suite,
-+ i = 0, j = wtohs(suite_list_p->count);
-+ suite_sel_p + 1 <= limit && i < j;
-+ suite_sel_p++, i++) {
-+ if (memcmp(suite_sel_p->oui, poui, sizeof(ie_oui_t)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid PMK Cipher OUI "
-+ "%02x:%02x:%02x\n",
-+ suite_sel_p->oui[0], suite_sel_p->oui[1],
-+ suite_sel_p->oui[2]);
-+ break; // Keep going. We may also have a valid one.
-+ }
-+ switch (suite_sel_p->type) {
-+ case CIPHER_TYPE_WEP40:
-+ case CIPHER_TYPE_WEP104:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption1Enabled)
-+ needs &= 5;
-+ break;
-+ case CIPHER_TYPE_TKIP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption2Enabled)
-+ needs &= 5;
-+ break;
-+ case CIPHER_TYPE_CCMP:
-+ if (pAd->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-+ needs &= 5;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid PMK Cipher Type %d\n",
-+ suite_sel_p->type);
-+ break; // Keep going. We may also have a valid one.
-+ } /* End switch (PMK type) */
-+ } /* End search PMK list */
-+
-+ if (suite_sel_p >= limit && i < j) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Too many PMK suites in EAPOL pkt "
-+ "(have %d, room for %d) (need=%d)\n",
-+ j, i, needs);
-+ return needs;
-+ }
-+ if (j == 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Zero count PMK list in EAPOL pkt "
-+ "(need=%d)\n", needs);
-+ return needs;
-+ }
-+
-+ suite_list_p = (suite_list_t *)suite_sel_p;
-+
-+ //Search the Authentication and Key Management (AKM) list
-+ for (suite_sel_p = suite_list_p->suite,
-+ i = 0, j = wtohs(suite_list_p->count);
-+ suite_sel_p + 1 <= limit && i < j;
-+ suite_sel_p++, i++) {
-+ if (memcmp(suite_sel_p->oui, poui, sizeof(ie_oui_t)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid AKM OUI %02x:%02x:%02x\n",
-+ suite_sel_p->oui[0], suite_sel_p->oui[1],
-+ suite_sel_p->oui[2]);
-+ break; // Keep going. We may also have a valid one.
-+ }
-+ switch (suite_sel_p->type) {
-+ case AKM_TYPE_802_1X:
-+ if (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA)
-+ needs &= 3;
-+ break;
-+ case AKM_TYPE_PSK:
-+ if (pAd->PortCfg.AuthMode >= Ndis802_11AuthModeWPAPSK)
-+ needs &= 3;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "Invalid PMK Cipher Type %d\n",
-+ suite_sel_p->type);
-+ break; // Keep going. We may also have a valid one.
-+ } /* End switch (AKM type) */
-+ } /* End search AKM list */
-+
-+ if (suite_sel_p >= limit && i < j) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Too many AKM suites in EAPOL pkt "
-+ "(have %d, room for %d) (need=%d)\n",
-+ j, i, needs);
-+ return needs; // NB. May still have met all needs.
-+ }
-+ if (j == 0) {
-+ DBGPRINT(RT_DEBUG_ERROR, "Zero count AKM list in EAPOL pkt "
-+ "(need=%d)\n", needs);
-+ return needs;
-+ }
-+
-+ return needs;
-+
-+} /* End checkEAPIE () */
-+
-+/*
- ========================================================================
--
-+
- Routine Description:
- Process Pairwise key 4-way handshaking
-
- Arguments:
- pAdapter Pointer to our adapter
- Elem Message body
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaPairMsg3Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- PHEADER_802_11 pHeader;
- UCHAR *OutBuffer = NULL;
-@@ -487,46 +670,74 @@
- UCHAR EAPHEAD[8] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00,0x88,0x8e};
- EAPOL_PACKET Packet;
- PEAPOL_PACKET pMsg3;
-- PUCHAR pTmp;
-- UCHAR Mic[16], OldMic[16];
-+ UCHAR Mic[16], OldMic[16];
- NDIS_802_11_KEY PeerKey;
--
--
-+
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg3Action ----->\n");
--
-+
- pHeader = (PHEADER_802_11) Elem->Msg;
--
-+
- // Process message 3 frame.
- pMsg3 = (PEAPOL_PACKET) &Elem->Msg[LENGTH_802_11 + LENGTH_802_1_H];
-
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)));
- #endif
-+ #define pie ((rsn_ie_t *)(void *)pMsg3->KeyDesc.KeyData)
-+ if (wtohs(pie->length) + 2 != pMsg3->KeyDesc.KeyDataLen[1]) {
-+ DBGPRINT(RT_DEBUG_ERROR, "RSN IE len %d != KeyDataLen %d)\n",
-+ pie->length + 2, pMsg3->KeyDesc.KeyDataLen[1]);
-+ return;
-+ }
-+ else {
-+ switch (pie->eid) {
-+ case IE_RSN:
-+ if (wtohs(pie->length) < MIN_RSN_KEYDATA_LEN) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "RSN IE msg 3 too short (sb >= %d, is %d)\n",
-+ MIN_RSN_KEYDATA_LEN, wtohs(pie->length));
-+ DBGHEXSTR(RT_DEBUG_ERROR, "KeyData ",
-+ pMsg3->KeyDesc.KeyData,
-+ pMsg3->KeyDesc.KeyDataLen[1]);
-+ return;
-+ }
-+ if (checkEAPIE(pAdapter, pie, pie->length,
-+ (ie_oui_t *)WGOUI) != 0) return;
-+ break;
-+ case IE_WPA:
-+ #undef pie
-+ #define pie ((RSN_EID_STRUCT *)(void *)pMsg3->KeyDesc.KeyData)
-+ if (wtohs(pie->Length) < MIN_WPA_KEYDATA_LEN) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "WPA IE msg 3 too short (sb >= %d, is %d)\n",
-+ MIN_WPA_KEYDATA_LEN, wtohs(pie->Length));
-+ DBGHEXSTR(RT_DEBUG_ERROR, "KeyData ",
-+ pMsg3->KeyDesc.KeyData,
-+ pMsg3->KeyDesc.KeyDataLen[1]);
-+ return;
-+ }
-+ if (memcmp(pie->Oui, MSOUI, sizeof(pie->Oui)) != 0) {
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "Invalid WPA 1 OUI %02x:%02x:%02x:%02x\n",
-+ pie->Oui[0], pie->Oui[1], pie->Oui[2], pie->Oui[3]);
-+ return;
-+ }
-+ if (checkEAPIE(pAdapter, (rsn_ie_t *)&pie->Oui[2], pie->Length,
-+ (ie_oui_t *)MSOUI) != 0) return;
-+ break;
-+ default:
-+ DBGPRINT(RT_DEBUG_ERROR, "RSN IE type %d invalid)\n",
-+ pie->Eid);
-+ return;
-+ } /* End switch (element ID) */
-+ } /* End if (packet length sane) */
-+ #undef pie
-+
-+ DBGPRINT(RT_DEBUG_TRACE, "RSN IE matched msg 3 of 4-way handshake "
-+ "KeyDataLen=%d)\n",
-+ pMsg3->KeyDesc.KeyDataLen[1]);
-
-- // 1. Verify RSN IE & cipher type match
-- if (pAdapter->PortCfg.WepStatus == Ndis802_11Encryption3Enabled)
-- {
-- if (pMsg3->KeyDesc.KeyInfo.KeyDescVer != 2)
-- return;
-- pTmp = (PUCHAR) &CipherWpaPskAes;
-- }
-- else // TKIP
-- {
-- if (pMsg3->KeyDesc.KeyInfo.KeyDescVer != 1)
-- return;
-- pTmp = (PUCHAR) &CipherWpaPskTkip;
-- }
--
-- // Fix compatibility issue, when AP append nonsense data after auth mode with different size.
-- // We should qualify this kind of RSN as acceptable
-- if (!NdisEqualMemory((PUCHAR) &pMsg3->KeyDesc.KeyData[2], pTmp + 2, CipherWpaPskTkipLen - 2))
-- {
-- DBGPRINT(RT_DEBUG_ERROR, " RSN IE mismatched msg 3 of 4-way handshake!!!!!!!!!! \n");
-- return;
-- }
-- else
-- DBGPRINT(RT_DEBUG_TRACE, " RSN IE matched in msg 3 of 4-way handshake!!!!!!!!!! \n");
--
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)));
- #endif
-@@ -539,7 +750,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1((PUCHAR) pMsg3, pMsg3->Len[1] + 4, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -547,7 +758,7 @@
- {
- hmac_md5(pAdapter->PortCfg.PTK, LEN_EAP_MICK, (PUCHAR) pMsg3, pMsg3->Len[1] + 4, Mic);
- }
--
-+
- if (!NdisEqualMemory(OldMic, Mic, LEN_KEY_DESC_MIC))
- {
- DBGPRINT(RT_DEBUG_ERROR, " MIC Different in msg 3 of 4-way handshake!!!!!!!!!! \n");
-@@ -556,17 +767,32 @@
- else
- DBGPRINT(RT_DEBUG_TRACE, " MIC VALID in msg 3 of 4-way handshake!!!!!!!!!! \n");
-
-- // 3. Check Replay Counter, it has to be larger than last one. No need to be exact one larger
-- if (RTMPCompareMemory(pMsg3->KeyDesc.ReplayCounter, pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1)
-+ // 3. Check Replay Counter, it has to be larger than last one.
-+ // No need to be exact one larger
-+ if (RTMPCompareMemory(pMsg3->KeyDesc.ReplayCounter,
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY) != 1) {
-+ DBGPRINT(RT_DEBUG_TRACE, " Replay count error\n");
-+ DBGHEXSTR(RT_DEBUG_TRACE, " AP replay = ",
-+ pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " our replay = ",
-+ pAdapter->PortCfg.ReplayCounter, LEN_KEY_DESC_REPLAY);
- return;
--
-+ }
- // Update new replay counter
-- memcpy(pAdapter->PortCfg.ReplayCounter, pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ memcpy(pAdapter->PortCfg.ReplayCounter, pMsg3->KeyDesc.ReplayCounter,
-+ LEN_KEY_DESC_REPLAY);
-
- // 4. Double check ANonce
-- if (!NdisEqualMemory(pAdapter->PortCfg.ANonce, pMsg3->KeyDesc.KeyNonce, LEN_KEY_DESC_NONCE))
-+ if (!NdisEqualMemory(pAdapter->PortCfg.ANonce, pMsg3->KeyDesc.KeyNonce,
-+ LEN_KEY_DESC_NONCE)) {
-+ DBGPRINT(RT_DEBUG_TRACE, " Nonce error\n");
-+ DBGHEXSTR(RT_DEBUG_TRACE, " AP Nonce = ",
-+ pMsg3->KeyDesc.KeyNonce, LEN_KEY_DESC_NONCE);
-+ DBGHEXSTR(RT_DEBUG_TRACE, " our Nonce = ",
-+ pAdapter->PortCfg.ANonce, LEN_KEY_DESC_NONCE);
- return;
--
-+ }
-+
- // 5. Construct Message 4
- // =====================================
- // Use Priority Ring & MiniportMMRequest
-@@ -578,22 +804,22 @@
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
- Header_802_11.Controlhead.Duration = pAdapter->PortCfg.Dsifs + AckDuration;
--
-+
- // Zero message 4 body
- memset(&Packet, 0, sizeof(Packet));
- Packet.Version = EAPOL_VER;
- Packet.Type = EAPOLKey;
- Packet.Len[1] = sizeof(KEY_DESCRIPTER) - MAX_LEN_OF_RSNIE; // No data field
--
-+
- //
- // Message 4 as EAPOL-Key(0,1,0,0,0,P,0,0,MIC,0)
- //
- Packet.KeyDesc.Type = RSN_KEY_DESC;
--
-+
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(pMsg3->KeyDesc.KeyInfo)));
- #endif
--
-+
- // Key descriptor version and appropriate RSN IE
- Packet.KeyDesc.KeyInfo.KeyDescVer = pMsg3->KeyDesc.KeyInfo.KeyDescVer;
-
-@@ -603,16 +829,16 @@
- // KeyMic field presented
- Packet.KeyDesc.KeyInfo.KeyMic = 1;
-
-- // Key Replay count
-- memcpy(Packet.KeyDesc.ReplayCounter, pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ // Key Replay count
-+ memcpy(Packet.KeyDesc.ReplayCounter, pMsg3->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
- #ifdef BIG_ENDIAN
- *(USHORT *)&Packet.KeyDesc.KeyInfo = SWAP16(*(USHORT *)&Packet.KeyDesc.KeyInfo);
- #endif
-
-- // Out buffer for transmitting message 4
-+ // Out buffer for transmitting message 4
- NStatus = MlmeAllocateMemory(pAdapter, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if (NStatus != NDIS_STATUS_SUCCESS)
-- return;
-+ return;
-
- // Prepare EAPOL frame for MIC calculation
- // Be careful, only EAPOL frame is counted for MIC calculation
-@@ -626,7 +852,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1(OutBuffer, FrameLen, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -637,10 +863,10 @@
- memcpy(Packet.KeyDesc.KeyMic, Mic, LEN_KEY_DESC_MIC);
-
- FrameLen = 0;
--
-+
- // Make Transmitting frame
- MakeOutgoingFrame(OutBuffer, &FrameLen, sizeof(MACHDR), &Header_802_11,
-- sizeof(EAPHEAD), EAPHEAD,
-+ sizeof(EAPHEAD), EAPHEAD,
- Packet.Len[1] + 4, &Packet,
- END_OF_ARGS);
-
-@@ -651,38 +877,38 @@
- // 7. Update PTK
- memset(&PeerKey, 0, sizeof(PeerKey));
- PeerKey.Length = sizeof(PeerKey);
-- PeerKey.KeyIndex = 0xe0000000;
-+ PeerKey.KeyIndex = 0xe0000000;
- PeerKey.KeyLength = 16;
- memcpy(PeerKey.BSSID, pAdapter->PortCfg.Bssid.Octet, 6);
- memcpy(&PeerKey.KeyRSC, pMsg3->KeyDesc.KeyRsc, LEN_KEY_DESC_RSC);
- memcpy(PeerKey.KeyMaterial, &pAdapter->PortCfg.PTK[32], 32);
- // Call Add peer key function
- RTMPWPAAddKeyProc(pAdapter, &PeerKey);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaPairMsg3Action <-----\n");
- }
-
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Process Group key 2-way handshaking
-
- Arguments:
- pAdapter Pointer to our adapter
- Elem Message body
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaGroupMsg1Action(
-- IN PRTMP_ADAPTER pAdapter,
-- IN MLME_QUEUE_ELEM *Elem)
-+ IN PRTMP_ADAPTER pAdapter,
-+ IN MLME_QUEUE_ELEM *Elem)
- {
- PHEADER_802_11 pHeader;
- UCHAR *OutBuffer = NULL;
-@@ -697,12 +923,12 @@
- UCHAR Mic[16], OldMic[16];
- UCHAR GTK[32], Key[32];
- NDIS_802_11_KEY GroupKey;
--
--
-+
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaGroupMsg1Action ----->\n");
--
-+
- pHeader = (PHEADER_802_11) Elem->Msg;
--
-+
- // Process Group message 1 frame.
- pGroup = (PEAPOL_PACKET) &Elem->Msg[LENGTH_802_11 + LENGTH_802_1_H];
-
-@@ -712,7 +938,7 @@
- return;
-
- // Update new replay counter
-- memcpy(pAdapter->PortCfg.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+ memcpy(pAdapter->PortCfg.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-
- // 2. Verify MIC is valid
- // Save the MIC and replace with zero
-@@ -722,7 +948,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1((PUCHAR) pGroup, pGroup->Len[1] + 4, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -730,7 +956,7 @@
- {
- hmac_md5(pAdapter->PortCfg.PTK, LEN_EAP_MICK, (PUCHAR) pGroup, pGroup->Len[1] + 4, Mic);
- }
--
-+
- if (!NdisEqualMemory(OldMic, Mic, LEN_KEY_DESC_MIC))
- {
- DBGPRINT(RT_DEBUG_ERROR, " MIC Different in group msg 1 of 2-way handshake!!!!!!!!!! \n");
-@@ -749,12 +975,12 @@
- if (pGroup->KeyDesc.KeyInfo.KeyDescVer != 2)
- return;
- // Decrypt AES GTK
-- AES_GTK_KEY_UNWRAP(&pAdapter->PortCfg.PTK[16], GTK, pGroup->KeyDesc.KeyData);
-+ AES_GTK_KEY_UNWRAP(&pAdapter->PortCfg.PTK[16], GTK, pGroup->KeyDesc.KeyData);
- }
- else // TKIP
- {
- INT i;
--
-+
- if (pGroup->KeyDesc.KeyInfo.KeyDescVer != 1)
- return;
- // Decrypt TKIP GTK
-@@ -766,9 +992,9 @@
- for (i = 0; i < 256; i++)
- ARCFOUR_BYTE(&pAdapter->PrivateInfo.WEPCONTEXT);
- // Decrypt GTK. Becareful, there is no ICV to check the result is correct or not
-- ARCFOUR_DECRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, GTK, pGroup->KeyDesc.KeyData, 32);
-+ ARCFOUR_DECRYPT(&pAdapter->PrivateInfo.WEPCONTEXT, GTK, pGroup->KeyDesc.KeyData, 32);
- }
--
-+
- // 4. Construct Group Message 2
- pAdapter->Sequence = ((pAdapter->Sequence) + 1) & (MAX_SEQ_NUMBER);
- WpaMacHeaderInit(pAdapter, &Header_802_11, 1, &pAdapter->PortCfg.Bssid);
-@@ -777,18 +1003,18 @@
- AckRate = pAdapter->PortCfg.ExpectedACKRate[pAdapter->PortCfg.TxRate];
- AckDuration = RTMPCalcDuration(pAdapter, AckRate, 14);
- Header_802_11.Controlhead.Duration = pAdapter->PortCfg.Dsifs + AckDuration;
--
-+
- // Zero Group message 1 body
- memset(&Packet, 0, sizeof(Packet));
- Packet.Version = EAPOL_VER;
- Packet.Type = EAPOLKey;
- Packet.Len[1] = sizeof(KEY_DESCRIPTER) - MAX_LEN_OF_RSNIE; // No data field
--
-+
- //
- // Group Message 2 as EAPOL-Key(1,0,0,0,G,0,0,MIC,0)
- //
- Packet.KeyDesc.Type = RSN_KEY_DESC;
--
-+
- // Key descriptor version and appropriate RSN IE
- Packet.KeyDesc.KeyInfo.KeyDescVer = pGroup->KeyDesc.KeyInfo.KeyDescVer;
-
-@@ -800,18 +1026,18 @@
-
- // Secure bit is 1
- Packet.KeyDesc.KeyInfo.Secure = 1;
--
-- // Key Replay count
-- memcpy(Packet.KeyDesc.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-+
-+ // Key Replay count
-+ memcpy(Packet.KeyDesc.ReplayCounter, pGroup->KeyDesc.ReplayCounter, LEN_KEY_DESC_REPLAY);
-
- #ifdef BIG_ENDIAN
- *(USHORT *)(&(Packet.KeyDesc.KeyInfo)) = SWAP16(*(USHORT *)(&(Packet.KeyDesc.KeyInfo)));
- #endif
-
-- // Out buffer for transmitting group message 2
-+ // Out buffer for transmitting group message 2
- NStatus = MlmeAllocateMemory(pAdapter, (PVOID)&OutBuffer); //Get an unused nonpaged memory
- if (NStatus != NDIS_STATUS_SUCCESS)
-- return;
-+ return;
-
- // Prepare EAPOL frame for MIC calculation
- // Be careful, only EAPOL frame is counted for MIC calculation
-@@ -825,7 +1051,7 @@
- {
- // AES
- UCHAR digest[80];
--
-+
- HMAC_SHA1(OutBuffer, FrameLen, pAdapter->PortCfg.PTK, LEN_EAP_MICK, digest);
- memcpy(Mic, digest, LEN_KEY_DESC_MIC);
- }
-@@ -836,15 +1062,15 @@
- for (i = 0; i < 64; i++)
- DBGPRINT(RT_DEBUG_INFO, "%2x-", pAdapter->PortCfg.PTK[i]);
- DBGPRINT(RT_DEBUG_INFO, "\n FrameLen = %d\n", FrameLen);
--
-+
- hmac_md5(pAdapter->PortCfg.PTK, LEN_EAP_MICK, OutBuffer, FrameLen, Mic);
- }
- memcpy(Packet.KeyDesc.KeyMic, Mic, LEN_KEY_DESC_MIC);
-
-- FrameLen = 0;
-+ FrameLen = 0;
- // Make Transmitting frame
- MakeOutgoingFrame(OutBuffer, &FrameLen, sizeof(MACHDR), &Header_802_11,
-- sizeof(EAPHEAD), EAPHEAD,
-+ sizeof(EAPHEAD), EAPHEAD,
- Packet.Len[1] + 4, &Packet,
- END_OF_ARGS);
-
-@@ -853,72 +1079,72 @@
-
- // 6 Free allocated memory
- MlmeFreeMemory(pAdapter, OutBuffer);
--
-+
- // 6. Update GTK
- memset(&GroupKey, 0, sizeof(GroupKey));
- GroupKey.Length = sizeof(GroupKey);
-- GroupKey.KeyIndex = 0x20000000 | pGroup->KeyDesc.KeyInfo.KeyIndex;
-+ GroupKey.KeyIndex = 0x20000000 | pGroup->KeyDesc.KeyInfo.KeyIndex;
- GroupKey.KeyLength = 16;
- memcpy(GroupKey.BSSID, pAdapter->PortCfg.Bssid.Octet, 6);
- memcpy(GroupKey.KeyMaterial, GTK, 32);
- // Call Add peer key function
- RTMPWPAAddKeyProc(pAdapter, &GroupKey);
--
-+
- DBGPRINT(RT_DEBUG_TRACE, "WpaGroupMsg1Action <-----\n");
- }
- /*
- ========================================================================
--
-+
- Routine Description:
- Init WPA MAC header
-
- Arguments:
- pAdapter Pointer to our adapter
--
-+
- Return Value:
- None
--
-+
- Note:
--
-+
- ========================================================================
- */
- VOID WpaMacHeaderInit(
-- IN PRTMP_ADAPTER pAd,
-- IN OUT PHEADER_802_11 Hdr,
-- IN UCHAR wep,
-- IN PMACADDR pAddr1)
-+ IN PRTMP_ADAPTER pAd,
-+ IN OUT PHEADER_802_11 Hdr,
-+ IN UCHAR wep,
-+ IN PMACADDR pAddr1)
- {
- memset(Hdr, 0, sizeof(HEADER_802_11));
-- Hdr->Controlhead.Frame.Type = BTYPE_DATA;
-+ Hdr->Controlhead.Frame.Type = BTYPE_DATA;
- Hdr->Controlhead.Frame.ToDs = 1;
- if (wep == 1)
- Hdr->Controlhead.Frame.Wep = 1;
--
-+
- // Addr1: DA, Addr2: BSSID, Addr3: SA
- COPY_MAC_ADDR(&Hdr->Controlhead.Addr1, pAddr1);
- COPY_MAC_ADDR(&Hdr->Controlhead.Addr2, &pAd->CurrentAddress);
- COPY_MAC_ADDR(&Hdr->Addr3, &pAd->PortCfg.Bssid);
-- Hdr->Sequence = pAd->Sequence;
-+ Hdr->Sequence = pAd->Sequence;
- }
-
- /*
- ========================================================================
-
- Routine Description:
-- Copy frame from waiting queue into relative ring buffer and set
-+ Copy frame from waiting queue into relative ring buffer and set
- appropriate ASIC register to kick hardware encryption before really
- sent out to air.
--
-+
- Arguments:
- pAdapter Pointer to our adapter
- PNDIS_PACKET Pointer to outgoing Ndis frame
- NumberOfFrag Number of fragment required
--
-+
- Return Value:
- None
-
- Note:
--
-+
- ========================================================================
- */
- VOID WpaHardEncrypt(
-@@ -938,38 +1164,58 @@
- #endif
- ULONG Iv16;
- ULONG Iv32;
-- PWPA_KEY pWpaKey;
-+ PWPA_KEY pWpaKey = NULL;
- UCHAR RetryMode = SHORT_RETRY;
- static UCHAR Priority[4] = {"\x00\x00\x00\x00"};
-+ INT idx;
-+ PHEADER_802_11 pHeader;
-+ unsigned long flags;
-
- // Make sure Tx ring resource won't be used by other threads
-- spin_lock_irq(&pAdapter->TxRingLock);
-+ spin_lock_irqsave(&pAdapter->TxRingLock, flags);
-
- FrameGap = IFS_BACKOFF; // Default frame gap mode
--
-- // outgoing frame always wakeup PHY to prevent frame lost and
-+
-+ // outgoing frame always wakeup PHY to prevent frame lost and
- // turn off PSM bit to improve performance
- if (pAdapter->PortCfg.Psm == PWR_SAVE)
- {
- MlmeSetPsmBit(pAdapter, PWR_ACTIVE);
- }
- AsicForceWakeup(pAdapter);
--
-+
- pAdapter->TxRing[pAdapter->CurEncryptIndex].FrameType = BTYPE_DATA;
-
- pSrc = pPacket; // Point to start of MSDU
--
-+
-+#if 0
- pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.PairwiseKey[0];
- pWpaKey->Type = PAIRWISE_KEY;
-+#else
-+ pHeader = (PHEADER_802_11) pSrc;
-+
-+ for (idx = 0; idx < PAIRWISE_KEY_NO; idx++) {
-+ if ((memcmp(&pHeader->Controlhead.Addr1,
-+ pAdapter->PortCfg.PairwiseKey[idx].BssId, 6) == 0)
-+ && (pAdapter->PortCfg.PairwiseKey[idx].KeyLen != 0)) {
-+ pWpaKey = (PWPA_KEY) &pAdapter->PortCfg.PairwiseKey[idx];
-+ pWpaKey->Type = PAIRWISE_KEY;
-+ DBGPRINT(RT_DEBUG_TRACE,
-+ "WpaHardEncrypt:(U) Tx Use Pairwise Key(%d)\n", idx);
-+ break;
-+ }
-+ }
-+#endif
- if (pWpaKey == NULL)
- {
- // No pairwise key, this should not happen
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ DBGPRINT(RT_DEBUG_ERROR, "WpaHardEncrypt: No pairwise key!!!!!\n");
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- return;
- }
--
-+
- // Get the Tx Ring descriptor & Dma Buffer address
-- pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
-+ pDest = (PUCHAR) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_data_addr;
- #ifndef BIG_ENDIAN
- pTxD = (PTXD_STRUC) pAdapter->TxRing[pAdapter->CurEncryptIndex].va_addr;
- #else
-@@ -979,14 +1225,16 @@
- pTxD = &TxD;
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- #endif
--
-+
- if ((pTxD->Owner == DESC_OWN_NIC) || (pTxD->CipherOwn == DESC_OWN_NIC))
- {
- // Descriptor owned by NIC. No descriptor avaliable
- // This should not happen since caller guaranteed.
- // Make sure to release Tx ring resource
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "WpaHardEncrypt: Descriptor ownedby NIC. No descriptor available!!!!!!\n");
- pAdapter->RalinkCounters.TxRingErrCount++;
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- return;
- }
- if (pTxD->Valid == TRUE)
-@@ -995,17 +1243,19 @@
- // This should not happen since caller guaranteed.
- // Make sure to release Tx ring resource
- pTxD->Valid = FALSE;
--
-+
- #ifdef BIG_ENDIAN
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
- *pDestTxD = TxD;
- #endif
-
-+ DBGPRINT(RT_DEBUG_ERROR,
-+ "WpaHardEncrypt: Ndis packet of last round did not cleared!!!!!\n");
- pAdapter->RalinkCounters.TxRingErrCount++;
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- return;
- }
--
-+
- // Copy whole frame to Tx ring buffer
- memcpy(pDest, pPacket, Len);
- pDest += Len;
-@@ -1026,16 +1276,21 @@
- tkipIv.IV16.field.Rsvd = 0;
- tkipIv.IV16.field.ExtIV = 1;// 0: non-extended IV, 1: extended IV
- tkipIv.IV16.field.KeyID = 0;
-- tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
-+ //tkipIv.IV32 = *(PULONG)(pWpaKey->TxTsc + 2);
-+ memcpy(&tkipIv.IV32, &pWpaKey->TxTsc[2], 4);
-
-+#ifdef BIG_ENDIAN
-+ pTxD-Iv = SWAP32(tipIv.IV16.word);
-+#else
- pTxD->Iv = tkipIv.IV16.word;
-+#endif
-
- *((PUCHAR) &pTxD->Eiv) = *((PUCHAR) &tkipIv.IV32 + 3);
- *((PUCHAR) &pTxD->Eiv + 1) = *((PUCHAR) &tkipIv.IV32 + 2);
- *((PUCHAR) &pTxD->Eiv + 2) = *((PUCHAR) &tkipIv.IV32 + 1);
- *((PUCHAR) &pTxD->Eiv + 3) = *((PUCHAR) &tkipIv.IV32);
- }
--
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -1043,13 +1298,13 @@
- if (i == 6)
- break;
- }
--
-+
- // Set IV offset
- pTxD->IvOffset = LENGTH_802_11;
-
- // Copy TKey
- memcpy(pTxD->Key, pWpaKey->Key, 16);
--
-+
- // Set Cipher suite
- CipherAlg = CIPHER_TKIP;
-
-@@ -1059,10 +1314,10 @@
- pAdapter->PrivateInfo.Tx.R = RTMPTkipGetUInt32(pWpaKey->TxMic + 4);
- pAdapter->PrivateInfo.Tx.nBytesInM = 0;
- pAdapter->PrivateInfo.Tx.M = 0;
--
-+
- // DA & SA field
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, pSrc + 4, 12);
--
-+
- // Priority + 3 bytes of 0
- RTMPTkipAppend(&pAdapter->PrivateInfo.Tx, Priority, 4);
-
-@@ -1086,9 +1341,9 @@
- *(pTmp + 1) = pWpaKey->TxTsc[1];
- *(pTmp + 2) = 0;
- *(pTmp + 3) = 0x20;
--
-+
- Iv32 = *(PULONG)(&pWpaKey->TxTsc[2]);
--
-+
- // Increase TxTsc value for next transmission
- while (++pWpaKey->TxTsc[i] == 0x0)
- {
-@@ -1096,13 +1351,13 @@
- if (i == 6)
- break;
- }
--
-+
- // Copy IV
- memcpy(&pTxD->Iv, &Iv16, 4);
--
-+
- // Copy EIV
- memcpy(&pTxD->Eiv, &Iv32, 4);
--
-+
- // Set IV offset
- pTxD->IvOffset = LENGTH_802_11;
-
-@@ -1111,11 +1366,11 @@
-
- // Set Cipher suite
- CipherAlg = CIPHER_AES;
--
-+
- // IV + EIV + HW MIC
- Len += 16;
-- }
--
-+ }
-+
- #ifdef BIG_ENDIAN
- RTMPFrameEndianChange(pAdapter, pOriginDest, DIR_WRITE, FALSE);
- RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);
-@@ -1123,7 +1378,7 @@
- pTxD = pDestTxD;
- #endif
-
-- RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
-+ RTMPWriteTxDescriptor(pTxD, TRUE, CipherAlg, TRUE, FALSE, FALSE, RetryMode, FrameGap,
- pAdapter->PortCfg.TxRate, 4, Len, pAdapter->PortCfg.TxPreambleInUsed, 0);
-
- // Increase & maintain Tx Ring Index
-@@ -1131,28 +1386,28 @@
- if (pAdapter->CurEncryptIndex >= TX_RING_SIZE)
- {
- pAdapter->CurEncryptIndex = 0;
-- }
-- pAdapter->RalinkCounters.EncryptCount++;
--
-+ }
-+ pAdapter->RalinkCounters.EncryptCount++;
-+
- // Kick Encrypt Control Register at the end of all ring buffer preparation
- RTMP_IO_WRITE32(pAdapter, SECCSR1, 0x1);
--
-+
- // Make sure to release Tx ring resource
-- spin_unlock_irq(&pAdapter->TxRingLock);
-+ spin_unlock_irqrestore(&pAdapter->TxRingLock, flags);
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
-- SHA1 function
-+ SHA1 function
-
- Arguments:
--
-+
- Return Value:
-
- Note:
--
-+
- ========================================================================
- */
- VOID HMAC_SHA1(
-@@ -1167,8 +1422,8 @@
- UCHAR k_opad[65]; /* outer padding - key XORd with opad */
- INT i;
-
-- // if key is longer than 64 bytes reset it to key=SHA1(key)
-- if (key_len > 64)
-+ // if key is longer than 64 bytes reset it to key=SHA1(key)
-+ if (key_len > 64)
- {
- SHA_CTX tctx;
- SHAInit(&tctx);
-@@ -1181,20 +1436,20 @@
- memcpy(k_ipad, key, key_len);
- memcpy(k_opad, key, key_len);
-
-- // XOR key with ipad and opad values
-- for (i = 0; i < 64; i++)
-- {
-+ // XOR key with ipad and opad values
-+ for (i = 0; i < 64; i++)
-+ {
- k_ipad[i] ^= 0x36;
- k_opad[i] ^= 0x5c;
- }
-
-- // perform inner SHA1
-+ // perform inner SHA1
- SHAInit(&context); /* init context for 1st pass */
- SHAUpdate(&context, k_ipad, 64); /* start with inner pad */
- SHAUpdate(&context, text, text_len); /* then text of datagram */
- SHAFinal(&context, digest); /* finish up 1st pass */
-
-- //perform outer SHA1
-+ //perform outer SHA1
- SHAInit(&context); /* init context for 2nd pass */
- SHAUpdate(&context, k_opad, 64); /* start with outer pad */
- SHAUpdate(&context, digest, 20); /* then results of 1st hash */
-@@ -1203,17 +1458,17 @@
-
- /*
- ========================================================================
--
-+
- Routine Description:
-- PRF function
-+ PRF function
-
- Arguments:
--
-+
- Return Value:
-
- Note:
- 802.1i Annex F.9
--
-+
- ========================================================================
- */
- VOID PRF(
-@@ -1230,7 +1485,7 @@
- UCHAR input[1024];
- INT currentindex = 0;
- INT total_len;
--
-+
- memcpy(input, prefix, prefix_len);
- input[prefix_len] = 0;
- memcpy(&input[prefix_len + 1], data, data_len);
-@@ -1242,22 +1497,22 @@
- HMAC_SHA1(input, total_len, key, key_len, &output[currentindex]);
- currentindex += 20;
- input[total_len - 1]++;
-- }
-+ }
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Count TPTK from PMK
-
- Arguments:
--
-+
- Return Value:
- Output Store the TPTK
-
- Note:
--
-+
- ========================================================================
- */
- VOID WpaCountPTK(
-@@ -1268,11 +1523,11 @@
- IN UCHAR *SA,
- OUT UCHAR *output,
- IN UINT len)
--{
-+{
- UCHAR concatenation[76];
- UINT CurrPos = 0;
- UCHAR temp[32];
-- UCHAR Prefix[] = {'P', 'a', 'i', 'r', 'w', 'i', 's', 'e', ' ', 'k', 'e', 'y', ' ',
-+ UCHAR Prefix[] = {'P', 'a', 'i', 'r', 'w', 'i', 's', 'e', ' ', 'k', 'e', 'y', ' ',
- 'e', 'x', 'p', 'a', 'n', 's', 'i', 'o', 'n'};
-
- memset(temp, 0, sizeof(temp));
-@@ -1281,52 +1536,52 @@
- if (RTMPCompareMemory(SA, AA, 6) == 1)
- memcpy(concatenation, AA, 6);
- else
-- memcpy(concatenation, SA, 6);
-+ memcpy(concatenation, SA, 6);
- CurrPos += 6;
-
- // Get larger address
- if (RTMPCompareMemory(SA, AA, 6) == 1)
- memcpy(&concatenation[CurrPos], SA, 6);
- else
-- memcpy(&concatenation[CurrPos], AA, 6);
-+ memcpy(&concatenation[CurrPos], AA, 6);
- CurrPos += 6;
-
- // Get smaller address
-- if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
-+ if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
- memcpy(&concatenation[CurrPos], SNonce, 32);
-- else
-+ else
- memcpy(&concatenation[CurrPos], ANonce, 32);
- CurrPos += 32;
-
- // Get larger address
-- if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
-+ if (RTMPCompareMemory(ANonce, SNonce, 32) == 1)
- memcpy(&concatenation[CurrPos], ANonce, 32);
-- else
-+ else
- memcpy(&concatenation[CurrPos], SNonce, 32);
- CurrPos += 32;
--
-+
- PRF(PMK, LEN_MASTER_KEY, Prefix, 22, concatenation, 76 , output, len);
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Misc function to Generate random number
-
- Arguments:
--
-+
- Return Value:
-
- Note:
- 802.1i Annex F.9
--
-+
- ========================================================================
- */
- VOID GenRandom(
-- IN PRTMP_ADAPTER pAd,
-+ IN PRTMP_ADAPTER pAd,
- OUT UCHAR *random)
--{
-+{
- INT i, curr;
- UCHAR local[80], KeyCounter[32];
- UCHAR result[80];
-@@ -1337,9 +1592,9 @@
- memset(local, 0, 80);
- memset(KeyCounter, 0, 32);
- memcpy(local, pAd->CurrentAddress, ETH_ALEN);
--
-+
- for (i = 0; i < 32; i++)
-- {
-+ {
- curr = ETH_ALEN;
- CurrentTime = jiffies;
- memcpy(local, pAd->CurrentAddress, ETH_ALEN);
-@@ -1348,29 +1603,29 @@
- curr += sizeof(CurrentTime);
- memcpy(&local[curr], result, 32);
- curr += 32;
-- memcpy(&local[curr], &i, 2);
-+ memcpy(&local[curr], &i, 2);
- curr += 2;
-- PRF(KeyCounter, 32, prefix,12, local, curr, result, 32);
-+ PRF(KeyCounter, 32, prefix,12, local, curr, result, 32);
- }
-- memcpy(random, result, 32);
-+ memcpy(random, result, 32);
- }
-
- /*
- ========================================================================
--
-+
- Routine Description:
- Misc function to decrypt AES body
--
-+
- Arguments:
--
-+
- Return Value:
--
-+
- Note:
- This function references to RFC 3394 for aes key unwrap algorithm.
--
-+
- ========================================================================
- */
--VOID AES_GTK_KEY_UNWRAP(
-+VOID AES_GTK_KEY_UNWRAP(
- IN UCHAR *key,
- OUT UCHAR *plaintext,
- IN UCHAR *ciphertext)
-@@ -1381,7 +1636,7 @@
- INT num_blocks = 2;
- INT j;
- aes_context aesctx;
--
-+
- // Initialize
- // A = C[0]
- memcpy(A, ciphertext, 8);
-@@ -1391,7 +1646,7 @@
- memcpy(R2, &ciphertext[16], 8);
-
- aes_set_key(&aesctx, key, 128);
--
-+
- for (j = 5; j >= 0; j--)
- {
- xor = num_blocks * j + 2;
-@@ -1401,7 +1656,7 @@
- aes_decrypt(&aesctx, BIN, BOUT);
- memcpy(A, &BOUT[0], 8);
- memcpy(R2, &BOUT[8], 8);
--
-+
- xor = num_blocks * j + 1;
- memcpy(BIN, A, 8);
- BIN[7] = A[7] ^ xor;
-diff -Nur rt2500-1.1.0-b4/Module/wpa.h rt2500-cvs-2007061011/Module/wpa.h
---- rt2500-1.1.0-b4/Module/wpa.h 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/Module/wpa.h 2007-03-21 05:25:35.000000000 +0100
-@@ -1,35 +1,35 @@
--/***************************************************************************
-- * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-- * *
-- * This program is free software; you can redistribute it and/or modify *
-- * it under the terms of the GNU General Public License as published by *
-- * the Free Software Foundation; either version 2 of the License, or *
-- * (at your option) any later version. *
-- * *
-- * This program is distributed in the hope that it will be useful, *
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-- * GNU General Public License for more details. *
-- * *
-- * You should have received a copy of the GNU General Public License *
-- * along with this program; if not, write to the *
-- * Free Software Foundation, Inc., *
-- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-- * *
-- * Licensed under the GNU GPL *
-- * Original code supplied under license from RaLink Inc, 2004. *
-- ***************************************************************************/
--
-- /***************************************************************************
-- * Module Name: wpa.h
-- *
-- * Abstract:
-- *
-- * Revision History:
-- * Who When What
-- * -------- ----------- -----------------------------
-- * MarkW 8th Dec 04 Baseline code
-- ***************************************************************************/
-+/***************************************************************************
-+ * RT2400/RT2500 SourceForge Project - http://rt2x00.serialmonkey.com *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) any later version. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
-+ * *
-+ * Licensed under the GNU GPL *
-+ * Original code supplied under license from RaLink Inc, 2004. *
-+ ***************************************************************************/
-+
-+ /***************************************************************************
-+ * Module Name: wpa.h
-+ *
-+ * Abstract:
-+ *
-+ * Revision History:
-+ * Who When What
-+ * -------- ----------- -----------------------------
-+ * MarkW 8th Dec 04 Baseline code
-+ ***************************************************************************/
-
- #ifndef __WPA_H__
- #define __WPA_H__
-@@ -57,7 +57,7 @@
- #define DESC_TYPE_AES 2
- #define RSN_KEY_DESC 0xfe
-
--#define LEN_MASTER_KEY 32
-+#define LEN_MASTER_KEY 32
-
- // EAPOL EK, MK
- #define LEN_EAP_EK 16
-@@ -131,7 +131,7 @@
- UCHAR KeyRsc[LEN_KEY_DESC_RSC];
- UCHAR KeyId[LEN_KEY_DESC_ID];
- UCHAR KeyMic[LEN_KEY_DESC_MIC];
-- UCHAR KeyDataLen[2];
-+ UCHAR KeyDataLen[2];
- UCHAR KeyData[MAX_LEN_OF_RSNIE];
- } KEY_DESCRIPTER, *PKEY_DESCRIPTER;
-
-diff -Nur rt2500-1.1.0-b4/THANKS rt2500-cvs-2007061011/THANKS
---- rt2500-1.1.0-b4/THANKS 2006-06-17 22:12:58.000000000 +0200
-+++ rt2500-cvs-2007061011/THANKS 2007-05-05 19:48:18.000000000 +0200
-@@ -8,6 +8,7 @@
- * Mark Wallis - mwallis@serialmonkey.com
- * Robin Cornelius - robin@cornelius.demon.co.uk
- * Gertjan van Wingerde - gwingerde@users.sourceforge.net
-+* Olivier Cornu - o.cornu@gmail.com
-
- And Special thanks to those that have contributed to the project
-
diff --git a/abs/core-testing/rt2500/kernel-2.6.24.patch b/abs/core-testing/rt2500/kernel-2.6.24.patch
deleted file mode 100644
index 113573f..0000000
--- a/abs/core-testing/rt2500/kernel-2.6.24.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- rt2500-1.1.0-b4/Module/rtmp_main.c~ 2008-01-25 11:13:14.000000000 +0100
-+++ rt2500-1.1.0-b4/Module/rtmp_main.c 2008-01-25 11:17:57.000000000 +0100
-@@ -251,8 +251,6 @@
- goto err_out;
- }
-
-- SET_MODULE_OWNER(net_dev);
--
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
- SET_NETDEV_DEV(net_dev, &(pPci_Dev->dev));
- #endif
-@@ -392,7 +390,7 @@
- NICDisableInterrupt(pAd);
- }
-
-- status = request_irq(pAd->pPci_Dev->irq, &RTMPIsr, SA_SHIRQ, net_dev->name, net_dev);
-+ status = request_irq(pAd->pPci_Dev->irq, &RTMPIsr, IRQF_SHARED, net_dev->name, net_dev);
- if (status)
- {
- goto out_module_put;
diff --git a/abs/core-testing/rt2500/kernel-2.6.27.patch b/abs/core-testing/rt2500/kernel-2.6.27.patch
deleted file mode 100644
index 22abd35..0000000
--- a/abs/core-testing/rt2500/kernel-2.6.27.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -Nur rt2500-1.1.0-b4.orig/Module/rtmp_info.c rt2500-1.1.0-b4/Module/rtmp_info.c
---- rt2500-1.1.0-b4.orig/Module/rtmp_info.c 2008-10-10 16:55:27.000000000 +0200
-+++ rt2500-1.1.0-b4/Module/rtmp_info.c 2008-10-10 16:57:27.000000000 +0200
-@@ -481,7 +481,7 @@
- iwe.cmd = SIOCGIWAP;
- iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
- memcpy(iwe.u.ap_addr.sa_data, &pAdapter->PortCfg.BssTab.BssEntry[i].Bssid, ETH_ALEN);
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_ADDR_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_ADDR_LEN);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = SIOCGIWMODE;
-@@ -499,13 +499,13 @@
- }
-
- iwe.len = IW_EV_UINT_LEN;
-- current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_UINT_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_UINT_LEN);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = SIOCGIWESSID;
- iwe.u.data.length = pAdapter->PortCfg.BssTab.BssEntry[i].SsidLen;
- iwe.u.data.flags = 1;
-- current_ev = iwe_stream_add_point(current_ev,end_buf, &iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
-+ current_ev = iwe_stream_add_point(info, current_ev,end_buf, &iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = SIOCGIWENCODE;
-@@ -513,7 +513,7 @@
- iwe.u.data.flags =IW_ENCODE_ENABLED | IW_ENCODE_NOKEY;
- else
- iwe.u.data.flags = IW_ENCODE_DISABLED;
-- current_ev = iwe_stream_add_point(current_ev, end_buf,&iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
-+ current_ev = iwe_stream_add_point(info, current_ev, end_buf,&iwe, pAdapter->PortCfg.BssTab.BssEntry[i].Ssid);
-
- //================================
- memset(&iwe, 0, sizeof(iwe));
-@@ -524,7 +524,7 @@
- {
- iwe.u.bitrate.value = RateIdToMbps[pAdapter->PortCfg.BssTab.BssEntry[i].Rates[i]/2] * 1000000;
- iwe.u.bitrate.disabled = 0;
-- current_val = iwe_stream_add_value(current_ev,
-+ current_val = iwe_stream_add_value(info, current_ev,
- current_val, end_buf, &iwe,
- IW_EV_PARAM_LEN);
- }
-@@ -537,7 +537,7 @@
- iwe.u.freq.m = pAdapter->PortCfg.BssTab.BssEntry[i].Channel;
- iwe.u.freq.e = 0;
- iwe.u.freq.i = 0;
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_FREQ_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_FREQ_LEN);
- //================================
- memset(&iwe, 0, sizeof(iwe));
- iwe.cmd = IWEVQUAL;
-@@ -549,7 +549,7 @@
- iwe.u.qual.noise = pAdapter->PortCfg.BssTab.BssEntry[i].Noise;
- //iwe.u.qual.noise = (pAdapter->PortCfg.LastR17Value > BBP_R17_DYNAMIC_UP_BOUND) ? BBP_R17_DYNAMIC_UP_BOUND : ((ULONG) pAdapter->PortCfg.LastR17Value); // // noise level (dBm)
-
-- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-+ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_QUAL_LEN);
-
-
- //================================
diff --git a/abs/core-testing/rt2500/rt2500.install b/abs/core-testing/rt2500/rt2500.install
deleted file mode 100644
index e58aa37..0000000
--- a/abs/core-testing/rt2500/rt2500.install
+++ /dev/null
@@ -1,26 +0,0 @@
-# arg 1: the new package version
-post_install()
-{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade()
-{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-# arg 1: the old package version
-post_remove()
-{
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core-testing/rt2x00-rt61-fw/PKGBUILD b/abs/core-testing/rt2x00-rt61-fw/PKGBUILD
deleted file mode 100644
index 0224fcc..0000000
--- a/abs/core-testing/rt2x00-rt61-fw/PKGBUILD
+++ /dev/null
@@ -1,18 +0,0 @@
-# $Id: PKGBUILD 15101 2008-10-12 16:24:41Z tpowa $
-# Maintainer: Tom Killian <tom@archlinux.org>
-
-pkgname=rt2x00-rt61-fw
-pkgver=1.2
-pkgrel=3
-pkgdesc="Firmware for the rt2x00 wireless drivers"
-arch=(i686 x86_64)
-url="http://www.ralinktech.com/ralink/Home/Support/Linux.html"
-license=('RALINK')
-source=(http://www.ralinktech.com.tw/data/RT61_Firmware_V${pkgver}.zip)
-
-build() {
- cd $startdir/src/RT61_Firmware_V${pkgver}
- mkdir -p $startdir/pkg/lib/firmware
- install -m644 rt2* $startdir/pkg/lib/firmware || return 1
-}
-md5sums=('d4c690c93b470bc9a681297c2adc6281')
diff --git a/abs/core-testing/rt2x00-rt71w-fw/PKGBUILD b/abs/core-testing/rt2x00-rt71w-fw/PKGBUILD
deleted file mode 100644
index 890d3a6..0000000
--- a/abs/core-testing/rt2x00-rt71w-fw/PKGBUILD
+++ /dev/null
@@ -1,17 +0,0 @@
-# $Id: PKGBUILD 15104 2008-10-12 16:35:52Z tpowa $
-# Maintainer: Tom Killian <tom@archlinux.org>
-
-pkgname=rt2x00-rt71w-fw
-pkgver=1.8
-pkgrel=3
-pkgdesc="Firmware for the rt2x00 wireless drivers"
-arch=(i686 x86_64)
-url="http://www.ralinktech.com/ralink/Home/Support/Linux.html"
-license=('RALINK')
-source=(http://www.ralinktech.com.tw/data/RT71W_Firmware_V${pkgver}.zip)
-
-build() {
- cd $startdir/src/RT71W_Firmware_V${pkgver}
- install -Dm644 rt73.bin $startdir/pkg/lib/firmware/rt73.bin || return 1
-}
-md5sums=('1e7a5dc574e0268574fcda3fd5cf52f7')
diff --git a/abs/core-testing/sqlite3/PKGBUILD b/abs/core-testing/sqlite3/PKGBUILD
index acf7a94..0a6fc93 100644
--- a/abs/core-testing/sqlite3/PKGBUILD
+++ b/abs/core-testing/sqlite3/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 22976 2008-12-30 11:35:01Z andyrtr $
+# $Id: PKGBUILD 86812 2010-08-04 21:15:20Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=sqlite3
-pkgver=3.6.10
-pkgrel=5
+pkgver=3.7.0.1
+pkgrel=1
pkgdesc="A C library that implements an SQL database engine"
arch=('i686' 'x86_64')
license=('custom')
url="http://www.sqlite.org/"
-depends=('readline')
+depends=('readline>=6.0.00')
makedepends=('tcl')
conflicts=('sqlite')
replaces=('sqlite')
source=(http://www.sqlite.org/sqlite-$pkgver.tar.gz
license.txt)
-md5sums=('a03bdc86df4025b6881d58557e4b5bd3'
- 'c1cdbc5544034d9012e421e75a5e4890')
options=(!libtool)
+md5sums=('d25d7551ba6bb310362cb0e7d4906f25'
+ 'c1cdbc5544034d9012e421e75a5e4890')
build() {
cd ${srcdir}/sqlite-${pkgver}
@@ -25,8 +25,15 @@ build() {
export CFLAGS="$CFLAGS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1"
./configure --prefix=/usr \
--enable-threadsafe \
+ --enable-threads-override-locks \
+ --enable-cross-thread-connections \
--disable-static \
--enable-load-extension || return 1
+
+ # rpath removal
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
make || return 1
make DESTDIR=${pkgdir} install || return 1
install -Dm0644 sqlite3.1 ${pkgdir}/usr/share/man/man1/sqlite3.1
diff --git a/abs/core-testing/squashfs-tools/PKGBUILD b/abs/core-testing/squashfs-tools/PKGBUILD
index dd17001..fb99564 100644
--- a/abs/core-testing/squashfs-tools/PKGBUILD
+++ b/abs/core-testing/squashfs-tools/PKGBUILD
@@ -1,24 +1,25 @@
-# $Id: PKGBUILD 3162 2008-06-20 23:18:11Z simo $
+# $Id: PKGBUILD 70339 2010-02-26 03:50:39Z dgriffiths $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Original TU: Jeff Mickey <j@codemac.net>
# Contributor: ciccio.a
pkgname=squashfs-tools
-pkgver=3.3
-_realver=3.3
-pkgrel=1
+pkgver=4.0
+pkgrel=3
pkgdesc="Tools for squashfs, a highly compressed read-only filesystem for Linux."
url="http://squashfs.sourceforge.net"
-license="GPL"
+license=("GPL")
arch=('i686' 'x86_64')
depends=('zlib' 'glibc')
-source=(http://easynews.dl.sourceforge.net/sourceforge/squashfs/squashfs$_realver.tar.gz)
-md5sums=('62d3ff7c067a5aa82f57711b3a4ab86a')
+source=(http://downloads.sourceforge.net/sourceforge/squashfs/squashfs${pkgver}.tar.gz mksquashfs-fix-race.patch)
build()
{
- cd $startdir/src/squashfs$_realver/$pkgname
+ cd ${srcdir}/squashfs${pkgver}/${pkgname}
+ patch < ${srcdir}/mksquashfs-fix-race.patch || return 1
make || return 1
- mkdir -p $startdir/pkg/sbin
- cp -a mksquashfs unsquashfs $startdir/pkg/sbin
+ install -Dm755 mksquashfs ${pkgdir}/sbin/mksquashfs || return 1
+ install -m755 unsquashfs ${pkgdir}/sbin/unsquashfs || return 1
}
+md5sums=('a3c23391da4ebab0ac4a75021ddabf96'
+ '116b8a285ff8d61d59c48eb80c0ff564')
diff --git a/abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch b/abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch
new file mode 100644
index 0000000..e483c93
--- /dev/null
+++ b/abs/core-testing/squashfs-tools/mksquashfs-fix-race.patch
@@ -0,0 +1,23 @@
+--- squashfs-tools/mksquashfs.c 2009-04-05 18:22:48.000000000 -0300
++++ squashfs-tools/mksquashfs.c 2010-02-10 17:04:29.303757175 -0300
+@@ -1733,9 +1733,7 @@
+ entry->buffer->block = bytes;
+ bytes += compressed_size;
+ fragments_outstanding --;
+- pthread_mutex_unlock(&fragment_mutex);
+ queue_put(to_writer, entry->buffer);
+- pthread_mutex_lock(&fragment_mutex);
+ TRACE("fragment_locked writing fragment %d, compressed size %d"
+ "\n", entry->fragment, compressed_size);
+ free(entry);
+@@ -2426,8 +2424,8 @@
+ write_buffer->block = bytes;
+ bytes += compressed_size;
+ fragments_outstanding --;
+- pthread_mutex_unlock(&fragment_mutex);
+ queue_put(to_writer, write_buffer);
++ pthread_mutex_unlock(&fragment_mutex);
+ TRACE("Writing fragment %lld, uncompressed size %d, "
+ "compressed size %d\n", file_buffer->block,
+ file_buffer->size, compressed_size);
+
diff --git a/abs/core-testing/tiacx-firmware/PKGBUILD b/abs/core-testing/tiacx-firmware/PKGBUILD
index d16c818..1479cf5 100644
--- a/abs/core-testing/tiacx-firmware/PKGBUILD
+++ b/abs/core-testing/tiacx-firmware/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: James Rayner <iphitus@gmail.com>
+# $Id: PKGBUILD 59442 2009-11-23 23:27:25Z giovanni $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=tiacx-firmware
pkgver=2
-pkgrel=1
+pkgrel=2
pkgdesc="Firmware for Texas Instruments ACX100/ACX111 wireless chips."
-arch=('i686' 'x86_64')
+arch=('any')
url="http://acx100.sourceforge.net/"
license=('MPL')
install=tiacx-firmware.install
-source=(http://www.kazer.org/acx-firmware-20060207.tar.bz2)
+depends=()
+source=(ftp://ftp.archlinux.org/other/tiacx-firmware/acx-firmware-20060207.tar.bz2)
+md5sums=('b8efea38c2c598190604dfa297cc9675')
build() {
- mkdir -p $startdir/pkg/usr/share
- cp -r fw $startdir/pkg/usr/share/tiacx
- find $startdir/pkg -type d -exec chmod 755 {} \;
- find $startdir/pkg -type f -exec chmod 644 {} \;
+ install -d ${pkgdir}/usr/share
+ cp -r fw "${pkgdir}/usr/share/tiacx"
+ find ${pkgdir} -type d -exec chmod 755 {} \;
+ find ${pkgdir} -type f -exec chmod 644 {} \;
}
-md5sums=('b8efea38c2c598190604dfa297cc9675')
diff --git a/abs/core-testing/tiacx-firmware/tiacx-firmware.install b/abs/core-testing/tiacx-firmware/tiacx-firmware.install
index b1ebb62..b83d6fd 100644
--- a/abs/core-testing/tiacx-firmware/tiacx-firmware.install
+++ b/abs/core-testing/tiacx-firmware/tiacx-firmware.install
@@ -16,7 +16,3 @@ EOM
post_upgrade() {
post_install
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core-testing/tiacx/PKGBUILD b/abs/core-testing/tiacx/PKGBUILD
index a55fb12..43b77db 100644
--- a/abs/core-testing/tiacx/PKGBUILD
+++ b/abs/core-testing/tiacx/PKGBUILD
@@ -1,26 +1,35 @@
-# $Id: PKGBUILD 22506 2008-12-26 22:54:41Z tpowa $
+# $Id: PKGBUILD 80410 2010-05-17 07:53:48Z tpowa $
# Maintainer: James Rayner <iphitus@gmail.com>
pkgname=tiacx
pkgver=20080210
-pkgrel=10
+pkgrel=15
pkgdesc="OpenSource module for Texas Instruments ACX100/ACX111 wireless chips. For stock arch 2.6 kernel"
arch=(i686 x86_64)
url="http://acx100.sourceforge.net/"
license=('MPL')
-depends=('wireless_tools' 'kernel26>=2.6.28' 'kernel26<2.6.29' 'tiacx-firmware')
+depends=('wireless_tools' 'kernel26>=2.6.34' 'kernel26<2.6.35' 'tiacx-firmware')
+makedepends=('kernel26-headers>=2.6.34' 'kernel26-headers<2.6.35')
install=acx.install
source=(http://downloads.sourceforge.net/sourceforge/acx100/acx-$pkgver.tar.bz2
- kernel-2.6.27.patch)
-md5sums=('7d5ce3215708e4e9f95cf567a9ee3a12'
- '9895f72f8d0c84956b0f6c3b16df0fe8')
-
-_kernver=2.6.28-LinHES
+ kernel-2.6.27.patch
+ kernel-2.6.30.patch
+ kernel-2.6.31.patch
+ kernel-2.6.33.patch)
+_kernver=2.6.34-LinHES
build() {
cd $startdir/src/acx-$pkgver
patch -Np1 -i ../kernel-2.6.27.patch || return 1
+ patch -Np0 -i ../kernel-2.6.30.patch || return 1
+ patch -Np1 -i ../kernel-2.6.31.patch || return 1
+ patch -Np0 -i ../kernel-2.6.33.patch || return 1
make -C /lib/modules/${_kernver}/build M=`pwd` || return 1
install -D acx.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/net/wireless/tiacx/acx.ko
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
}
+md5sums=('7d5ce3215708e4e9f95cf567a9ee3a12'
+ '9895f72f8d0c84956b0f6c3b16df0fe8'
+ 'e2900aee839ce711a7f7606b3e3de36e'
+ 'dbcb276d77df7801cef58a85c18dfe94'
+ '9cd35ea33b8abdd2e4efec485b05477e')
diff --git a/abs/core-testing/tiacx/acx.install b/abs/core-testing/tiacx/acx.install
index 8d11348..b858f58 100644
--- a/abs/core-testing/tiacx/acx.install
+++ b/abs/core-testing/tiacx/acx.install
@@ -1,23 +1,19 @@
# arg 1: the new package version
post_install() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
}
# arg 1: the old package version
post_remove() {
- KERNEL_VERSION='2.6.28-LinHES'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ KERNEL_VERSION='2.6.34-LinHES'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core-testing/tiacx/kernel-2.6.30.patch b/abs/core-testing/tiacx/kernel-2.6.30.patch
new file mode 100644
index 0000000..b5d94a1
--- /dev/null
+++ b/abs/core-testing/tiacx/kernel-2.6.30.patch
@@ -0,0 +1,16 @@
+--- wlan_compat.h~ 2009-06-12 09:17:30.000000000 +0200
++++ wlan_compat.h 2009-06-12 09:17:30.000000000 +0200
+@@ -217,13 +217,6 @@
+ /*=============================================================*/
+ #define WLAN_PACKED __attribute__ ((packed))
+
+-/* Interrupt handler backwards compatibility stuff */
+-#ifndef IRQ_NONE
+-#define IRQ_NONE
+-#define IRQ_HANDLED
+-typedef void irqreturn_t;
+-#endif
+-
+ #ifndef ARPHRD_IEEE80211_PRISM
+ #define ARPHRD_IEEE80211_PRISM 802
+ #endif
diff --git a/abs/core-testing/tiacx/kernel-2.6.31.patch b/abs/core-testing/tiacx/kernel-2.6.31.patch
new file mode 100644
index 0000000..2a89e3c
--- /dev/null
+++ b/abs/core-testing/tiacx/kernel-2.6.31.patch
@@ -0,0 +1,88 @@
+--- acx-20080210/pci.c 2008-02-10 21:06:42.000000000 +0100
++++ acx-20080210/pci.c 2009-09-11 22:27:28.000000000 +0200
+@@ -1437,6 +1437,19 @@
+
+ static void dummy_netdev_init(struct net_device *ndev) {}
+
++static const struct net_device_ops acx_netdev_ops = {
++ .ndo_open = &acxpci_e_open,
++ .ndo_stop = &acxpci_e_close,
++ .ndo_start_xmit = &acx_i_start_xmit,
++ .ndo_get_stats = &acx_e_get_stats,
++#if IW_HANDLER_VERSION <= 5
++ .ndo_get_wireless_stats = &acx_e_get_wireless_stats,
++#endif
++ .ndo_set_multicast_list = &acxpci_i_set_multicast_list,
++ .ndo_tx_timeout = &acxpci_i_tx_timeout,
++ .ndo_change_mtu = &acx_e_change_mtu,
++};
++
+ #ifdef CONFIG_PCI
+ static int __devinit acxpci_e_probe(struct pci_dev *pdev, const struct pci_device_id *id)
+ {
+@@ -1547,17 +1560,8 @@
+ }
+
+ ether_setup(ndev);
+- ndev->open = &acxpci_e_open;
+- ndev->stop = &acxpci_e_close;
+- ndev->hard_start_xmit = &acx_i_start_xmit;
+- ndev->get_stats = &acx_e_get_stats;
+-#if IW_HANDLER_VERSION <= 5
+- ndev->get_wireless_stats = &acx_e_get_wireless_stats;
+-#endif
+- ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
+- ndev->set_multicast_list = &acxpci_i_set_multicast_list;
+- ndev->tx_timeout = &acxpci_i_tx_timeout;
+- ndev->change_mtu = &acx_e_change_mtu;
++ ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
++ ndev->netdev_ops = &acx_netdev_ops;
+ ndev->watchdog_timeo = 4 * HZ;
+ ndev->irq = pdev->irq;
+ ndev->base_addr = pci_resource_start(pdev, 0);
+--- acx-20080210/usb.c 2008-02-10 21:06:42.000000000 +0100
++++ acx-20080210/usb.c 2009-09-11 22:38:42.000000000 +0200
+@@ -778,6 +778,21 @@
+ static void
+ dummy_netdev_init(struct net_device *ndev) {}
+
++static const struct net_device_ops acxusb_netdev_ops = {
++ .ndo_open = &acxusb_e_open,
++ .ndo_stop = &acxusb_e_close,
++ .ndo_start_xmit = (void *)&acx_i_start_xmit,
++ .ndo_get_stats = (void *)&acx_e_get_stats,
++#if IW_HANDLER_VERSION <= 5
++ .ndo_get_wireless_stats = (void *)&acx_e_get_wireless_stats,
++#endif
++ .ndo_set_multicast_list = (void *)&acxusb_i_set_rx_mode,
++#ifdef HAVE_TX_TIMEOUT
++ .ndo_tx_timeout = &acxusb_i_tx_timeout,
++#endif
++ .ndo_change_mtu = &acx_e_change_mtu,
++};
++
+ static int
+ acxusb_e_probe(struct usb_interface *intf, const struct usb_device_id *devID)
+ {
+@@ -845,20 +860,11 @@
+ /* Register the callbacks for the network device functions */
+
+ ether_setup(ndev);
+- ndev->open = &acxusb_e_open;
+- ndev->stop = &acxusb_e_close;
+- ndev->hard_start_xmit = (void *)&acx_i_start_xmit;
+- ndev->get_stats = (void *)&acx_e_get_stats;
+-#if IW_HANDLER_VERSION <= 5
+- ndev->get_wireless_stats = (void *)&acx_e_get_wireless_stats;
+-#endif
+ ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
+- ndev->set_multicast_list = (void *)&acxusb_i_set_rx_mode;
++ ndev->netdev_ops = &acxusb_netdev_ops;
+ #ifdef HAVE_TX_TIMEOUT
+- ndev->tx_timeout = &acxusb_i_tx_timeout;
+ ndev->watchdog_timeo = 4 * HZ;
+ #endif
+- ndev->change_mtu = &acx_e_change_mtu;
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) && defined(SET_MODULE_OWNER)
+ SET_MODULE_OWNER(ndev);
+ #endif
diff --git a/abs/core-testing/tiacx/kernel-2.6.33.patch b/abs/core-testing/tiacx/kernel-2.6.33.patch
new file mode 100644
index 0000000..f486009
--- /dev/null
+++ b/abs/core-testing/tiacx/kernel-2.6.33.patch
@@ -0,0 +1,11 @@
+--- pci.c~ 2010-02-27 19:30:54.000000000 +0100
++++ pci.c 2010-02-27 19:30:54.000000000 +0100
+@@ -35,7 +35,7 @@
+
+ /* Linux 2.6.18+ uses <linux/utsrelease.h> */
+ #ifndef UTS_RELEASE
+-#include <linux/utsrelease.h>
++#include <generated/utsrelease.h>
+ #endif
+
+ #include <linux/compiler.h> /* required for Lx 2.6.8 ?? */
diff --git a/abs/core-testing/udev/81-arch.rules b/abs/core-testing/udev/81-arch.rules
index 933cbc4..40e0a7c 100644
--- a/abs/core-testing/udev/81-arch.rules
+++ b/abs/core-testing/udev/81-arch.rules
@@ -1,8 +1,6 @@
# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
# do not edit this file, it will be overwritten on update
#
-# This ruleset should provide a DevFS-compatible device tree.
-#
# There are a number of modifiers that are allowed to be used in some
# of the different fields. They provide the following subsitutions:
#
@@ -36,10 +34,8 @@ SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-seq-oss"
#PNP addon modules
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0800", RUN+="/lib/udev/load-modules.sh pcspkr"
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0510*", RUN+="/lib/udev/load-modules.sh irtty-sir"
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0511*", RUN+="/lib/udev/load-modules.sh irtty-sir"
+SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP051[01]*", RUN+="/lib/udev/load-modules.sh irtty-sir"
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNPb02f", RUN+="/lib/udev/load-modules.sh analog"
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0501", RUN+="/lib/udev/load-modules.sh ppp-generic"
# PARPORT addon modules
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh lp"
@@ -56,16 +52,16 @@ LABEL="drivers_end"
#####################################
###### CD/DVD symlinks - begin
#####################################
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="cdrom_id --export $tempnode"
+ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="cdrom_id --export $tempnode"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="cdrom_id --export $tempnode"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="cdrom_id --export $tempnode"
ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
-ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvd-%b"
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
+ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvdrw-%b"
+ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="cdsymlinks.sh"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
+ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="cdsymlinks.sh"
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="cdsymlinks.sh"
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="cdsymlinks.sh"
ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="cdsymlinks.sh"
@@ -80,6 +76,9 @@ ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="cdsymlinks.sh"
# fix /dev/root symlink
SUBSYSTEM=="block", RUN+="root-link.sh"
+# permission for sg devices
+KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
+
# permissions for IDE CD devices
SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
@@ -88,7 +87,7 @@ SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROU
SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical"
# permissions for removable devices like cardreaders or sticks
-KERNEL=="sd*", ATTRS{scsi_level}=="0", ATTRS{type}=="0", GROUP="storage"
+KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage"
# permissions for firewire external drives
KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage"
@@ -107,69 +106,38 @@ LABEL="pcmcia_end"
# permissions for SCSI scanners
SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner"
-# md block devices
-KERNEL=="md[0-9]*", NAME="md%n", SYMLINK+="md/%n"
+# mem
+KERNEL=="ram0", SYMLINK+="ramdisk"
+KERNEL=="ram1", SYMLINK+="ram"
+
+# video4linux
+
+KERNEL=="vbi0", SYMLINK+="vbi"
+KERNEL=="radio0", SYMLINK+="radio"
+KERNEL=="radio[0-9]*", GROUP="video"
+KERNEL=="video0", SYMLINK+="video"
+KERNEL=="vtx0", SYMLINK+="vtx"
# video devices
-SUBSYSTEM=="video4linux", GROUP="video"
### xorg resets those permissions, adjust your xorg.conf!
-KERNEL=="nvidia*", GROUP="video"
KERNEL=="3dfx*", GROUP="video"
-
-# i2c devices
-KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k"
-
-# loop devices
-KERNEL=="loop[0-9]*", NAME="loop/%n", SYMLINK+="%k"
+KERNEL=="fb[0-9]*", GROUP="video"
# misc
-KERNEL=="nvram", NAME="misc/%k", SYMLINK+="%k", GROUP="kmem", MODE="0640"
-KERNEL=="psaux", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="uinput", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-KERNEL=="inotify", NAME="misc/%k", SYMLINK+="%k", MODE="0666"
-
-# sound devices
-# alsa devices
-SUBSYSTEM=="sound", GROUP="audio"
-# oss devices
-KERNEL=="audio*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dmmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="admmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="adsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="midi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="amidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="mixer*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="sequencer*", NAME="sound/%k", SYMLINK+="%k"
+KERNEL=="sgi_fetchop", MODE="0666"
+KERNEL=="sonypi", MODE="0666"
# USB devices
-KERNEL=="hiddev*", NAME="usb/%k"
-KERNEL=="legousbtower*", NAME="usb/%k", MODE="0666"
-KERNEL=="dabusb*", NAME="usb/%k"
-
-# netlink devices
-KERNEL=="route", NAME="netlink/%k"
-KERNEL=="skip", NAME="netlink/%k"
-KERNEL=="usersock", NAME="netlink/%k"
-KERNEL=="fwmonitor", NAME="netlink/%k"
-KERNEL=="tcpdiag", NAME="netlink/%k"
-KERNEL=="nflog", NAME="netlink/%k"
-KERNEL=="xfrm", NAME="netlink/%k"
-KERNEL=="arpd", NAME="netlink/%k"
-KERNEL=="route6", NAME="netlink/%k"
-KERNEL=="ip6_fw", NAME="netlink/%k"
-KERNEL=="dnrtmsg", NAME="netlink/%k"
-### ! disabled seems to break device creation !
-# KERNEL=="tap*", NAME="netlink/%k"
+KERNEL=="legousbtower*", MODE="0666"
# IEEE1394 (firewire) devices
-KERNEL=="raw1394", NAME="%k", GROUP="video"
+KERNEL=="raw1394", GROUP="video"
# kbd devices
-KERNEL=="kbd", MODE="0664"
+KERNEL=="kbd", MODE="0664"
+# miscellaneous
+KERNEL=="rtc|rtc0", GROUP="audio", MODE="0664"
#######################################
# Permissions and Symlinks - end
#######################################
diff --git a/abs/core-testing/udev/PKGBUILD b/abs/core-testing/udev/PKGBUILD
index c22b10b..2f71d28 100644
--- a/abs/core-testing/udev/PKGBUILD
+++ b/abs/core-testing/udev/PKGBUILD
@@ -1,96 +1,127 @@
-# $Id: PKGBUILD 22190 2008-12-22 18:25:11Z tpowa $
+# $Id: PKGBUILD 85315 2010-07-12 05:13:37Z tpowa $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Bächler <thomas@archlinux.org>
-pkgname=udev
-pkgver=135
-pkgrel=7
-pkgdesc="The userspace dev tools (udev)"
+
+pkgbase="udev"
+pkgname=('udev' 'udev-compat')
+pkgver=160
+pkgrel=1
arch=(i686 x86_64)
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
license=('GPL')
groups=('base')
-depends=('glibc' 'coreutils' 'util-linux')
-makedepends=('kernel26') #needed to build framebuffer blacklist
-install=udev.install
-backup=(etc/udev/udev.conf
- etc/scsi_id.config
- etc/udev/cdsymlinks.conf
- etc/modprobe.d/framebuffer_blacklist)
-conflicts=('pcmcia-cs' 'hotplug')
-replaces=('devfsd')
# older initscripts versions required start_udev
-conflicts=('initscripts<2008.02')
-options=(!makeflags)
+options=(!makeflags !libtool)
+makedepends=('glibc' 'coreutils' 'util-linux' 'libusb' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection')
source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.bz2
- 81-arch.rules load-modules.sh resolve-modalias.c cdsymlinks.sh root-link.sh
- arch-udev-rules.patch readme-udev-arch.txt usb-storage.rules udev-ntfs-3g.patch mount-usb)
-md5sums=('661b9df34e1304dad10f595d95b472bb'
- '3a955ca8e2122a48a223f9d8adf87b70'
- 'f4951f61438d69894b728212dac7318b'
- 'fca04a608009069beb786e26338a783b'
- '8424b78e9dd772e75b4ef90814807815'
+ 81-arch.rules load-modules.sh cdsymlinks.sh root-link.sh
+ arch-udev-rules.patch
+ logitech-rules.patch)
+md5sums=('65459a1f090082c0471bf4e5112208d7'
+ '6393ee81993f8b9beb776ca904005864'
+ 'f91fddc67609b45b244a624977c4247b'
+ '2e808ee78d237c478b57af2a68d43769'
'2d6dc6842464f107bccc68cd505a6c31'
- 'ae216c26a6a5cae4a3ef9c0e1f7bfaa6'
- '7fc6d33bb218e752302eef0a80ff0a89'
- '11eaec41b77746f50975d4ef834c8f83')
+ '70198227b7bbe3852e1cd2299693af66'
+ '817537bdcfc1a4fa79e853fd38df4528')
build() {
cd $srcdir/$pkgname-$pkgver
- patch -p1 < ../udev-ntfs-3g.patch || return 1
- ./configure --prefix="" --mandir=/usr/share/man --includedir=/usr/include
- make || return 1
- make DESTDIR=$startdir/pkg install
-
+ # fix logitech rules
+ patch -Np0 -i $srcdir/logitech-rules.patch
+ ./configure --prefix="" --mandir=/usr/share/man\
+ --includedir=/usr/include\
+ --libexecdir=/lib/udev\
+ --datarootdir=/usr/share
+ make
+}
+
+package_udev() {
+ pkgdesc="The userspace dev tools (udev)"
+ depends=('glibc' 'coreutils' 'util-linux' 'libusb' 'glib2'
+ 'module-init-tools>=3.11')
+ install=udev.install
+ backup=(etc/udev/udev.conf
+ etc/modprobe.d/framebuffer_blacklist.conf)
+ conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07')
+ replaces=('devfsd')
+
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=${pkgdir} install
# Fix pkgconfig path
install -d -m755 $pkgdir/usr/lib
mv $pkgdir/lib/pkgconfig $pkgdir/usr/lib
-
- # Non-stock rules still go in /etc
- install -D -m644 $srcdir/81-arch.rules $pkgdir/etc/udev/rules.d/81-arch.rules
- install -D -m644 $srcdir/usb-storage.rules $pkgdir/etc/udev/rules.d/usb-storage.rules
-
- # Scripts needed
- mkdir $pkgdir/etc/udev/scripts
- install -D -m744 $srcdir/mount-usb $pkgdir/etc/udev/scripts
-
+ # Fix ConsoleKit path
+ mv $pkgdir/lib/ConsoleKit $pkgdir/usr/lib
+ # Install our rule for permissions and symlinks
+ install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules
# install our module loading subsystem
install -D -m755 $srcdir/load-modules.sh $pkgdir/lib/udev/load-modules.sh
- install -d -m755 $pkgdir/bin
- gcc -Wall $CFLAGS -o $pkgdir/bin/resolve-modalias $srcdir/resolve-modalias.c
# install cdsymlinks.sh
install -D -m755 $srcdir/cdsymlinks.sh $pkgdir/lib/udev/cdsymlinks.sh
# install root-link.sh
install -D -m755 $srcdir/root-link.sh $pkgdir/lib/udev/root-link.sh
-
- # install instructions
- # NOTE: We should delete this file
- install -D -m644 $srcdir/readme-udev-arch.txt $pkgdir/usr/share/udev/readme-udev-arch.txt
-
- # add devices dir
- mkdir $pkgdir/lib/udev/devices
# disable error logging to prevent startup failures printed to vc on boot
sed -i -e 's|udev_log="err"|udev_log="0"|g' $pkgdir/etc/udev/udev.conf
- # install additional rules files
- for rule in $srcdir/$pkgname-$pkgver/rules/packages/*.rules; do
- install -D -m 644 $rule $pkgdir/lib/udev/rules.d/
- done
# fix standard udev rules to fit to arch
cd $pkgdir/lib/udev/rules.d/
- patch -Np1 -i $srcdir/arch-udev-rules.patch || return 1
-
- # remove the md-raid rules which are now provided by the mdadm package
- rm -f $pkgdir/lib/udev/rules.d/64-md-raid.rules
-
+ patch -Np1 -i $srcdir/arch-udev-rules.patch
+ # remove .orig files
+ rm -f $pkgdir/lib/udev/rules.d/*.orig
# disable persistent cdromsymlinks and network by default
# and move it to /etc/udev/rules.d
mv $pkgdir/lib/udev/rules.d/75-persistent-net-generator.rules \
$pkgdir/etc/udev/rules.d/75-persistent-net-generator.rules.optional
mv $pkgdir/lib/udev/rules.d/75-cd-aliases-generator.rules \
$pkgdir/etc/udev/rules.d/75-cd-aliases-generator.rules.optional
+
# create framebuffer blacklist
mkdir -p $pkgdir/etc/modprobe.d/
for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko' -exec basename {} .ko \;); do
- echo "blacklist $mod" >> $pkgdir/etc/modprobe.d/framebuffer_blacklist
+ echo "blacklist $mod" >> $pkgdir/etc/modprobe.d/framebuffer_blacklist.conf
done
+
+ # create static devices in /lib/udev/devices/
+ mkdir ${pkgdir}/lib/udev/devices/pts
+ mkdir ${pkgdir}/lib/udev/devices/shm
+
+ mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3
+ mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11
+
+ ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd
+ ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin
+ ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout
+ ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr
+ ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
+
+ # these static devices are created for convenience, to autoload the modules if necessary
+ # /dev/loop0
+ mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0
+ chgrp disk ${pkgdir}/lib/udev/devices/loop0
+ # /dev/net/tun
+ mkdir ${pkgdir}/lib/udev/devices/net
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
+ # /dev/fuse
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229
+ # /dev/ppp
+ mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
+
+ # Replace dialout group in rules with uucp group
+ for i in $pkgdir/lib/udev/rules.d/*.rules; do
+ sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g' $i
+ done
+
+ mv "${pkgdir}/lib/girepository-1.0" "${pkgdir}/usr/lib/"
+}
+
+package_udev-compat() {
+ pkgdesc="The userspace dev tools (udev) - additional rules for older kernels"
+ depends=('udev')
+ groups=('')
+ cd $srcdir/$pkgname-$pkgver
+ install -d -m755 ${pkgdir}/lib/${pkgname}/rules.d
+ install -D -m644 ${srcdir}/${pkgname}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules
}
diff --git a/abs/core-testing/udev/__changelog b/abs/core-testing/udev/__changelog
deleted file mode 100644
index 7e00323..0000000
--- a/abs/core-testing/udev/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-Added usb-storage.rule and script to un/mount USB drives.
diff --git a/abs/core-testing/udev/arch-udev-rules.patch b/abs/core-testing/udev/arch-udev-rules.patch
index b672731..ce00c85 100644
--- a/abs/core-testing/udev/arch-udev-rules.patch
+++ b/abs/core-testing/udev/arch-udev-rules.patch
@@ -1,136 +1,50 @@
-diff -Nur rules.d/60-persistent-storage.rules rules.d.arch/60-persistent-storage.rules
---- rules.d/60-persistent-storage.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/60-persistent-storage.rules 2008-09-12 16:00:50.000000000 +0200
-@@ -10,7 +10,7 @@
- SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
- # skip rules for inappropriate block devices
--KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-*|md*|btibm*", GOTO="persistent_storage_end"
-+KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*|btibm*", GOTO="persistent_storage_end"
-
- # never access non-cdrom removable ide devices, the drivers are causing event loops on open()
- KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
+diff -Nur rules.d/50-udev-default.rules rules.d.arch/50-udev-default.rules
+--- rules.d/50-udev-default.rules 2009-03-07 22:22:48.200242883 +0100
++++ rules.d.arch/50-udev-default.rules 2009-03-07 22:23:26.134434516 +0100
+@@ -59,15 +59,15 @@
+ KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
+
+ # cdrom
+-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="cdrom"
+-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
+-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
+-KERNEL=="pktcdvd", GROUP="cdrom"
++SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="optical", MODE="0660"
++SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="optical", MODE="0660"
++KERNEL=="pktcdvd[0-9]*", GROUP="optical", MODE="0660"
++KERNEL=="pktcdvd", GROUP="optical", MODE="0660"
+
+ # tape
+-KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape"
+-KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape"
+-SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
++KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="storage", MODE="0660"
++KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="storage", MODE="0660"
++SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="storage", MODE="0660"
+
+ # block-related
+ KERNEL=="sch[0-9]*", GROUP="disk"
diff -Nur rules.d/80-drivers.rules rules.d.arch/80-drivers.rules
---- rules.d/80-drivers.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/80-drivers.rules 2008-09-12 16:01:56.000000000 +0200
-@@ -2,14 +2,16 @@
-
- ACTION!="add", GOTO="drivers_end"
-
--DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/sbin/modprobe $env{MODALIAS}"
--SUBSYSTEM=="tifm", RUN+="/sbin/modprobe --all tifm_sd tifm_ms"
--SUBSYSTEM=="memstick", RUN+="/sbin/modprobe --all ms_block mspro_block"
--SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc_block"
--SUBSYSTEM=="i2o", RUN+="/sbin/modprobe i2o_block"
--SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="/sbin/modprobe ide-scsi"
--SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe sg"
--SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe ppdev"
-+DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-+SUBSYSTEM=="tifm", RUN+="/lib/udev/load-modules.sh tifm_sd"
-+SUBSYSTEM=="tifm", RUN+="/lib/udev/load-modules.sh tifm_ms"
+--- rules.d/80-drivers.rules 2010-06-03 11:55:08.978720002 +0200
++++ rules.d.arch/80-drivers.rules 2010-06-03 11:58:41.207865142 +0200
+@@ -2,12 +2,13 @@
+
+ ACTION=="remove", GOTO="drivers_end"
+
+-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe -bv $env{MODALIAS}"
+-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe -bv tifm_sd"
+-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe -bv tifm_ms"
+-SUBSYSTEM=="memstick", RUN+="/sbin/modprobe -bv --all ms_block mspro_block"
+-SUBSYSTEM=="i2o", RUN+="/sbin/modprobe -bv i2o_block"
+-SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/sbin/modprobe -bv sg"
+-SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/sbin/modprobe -bv ppdev"
++DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/lib/udev/load-modules.sh $env{MODALIAS}"
++SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/lib/udev/load-modules.sh tifm_sd"
++SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/lib/udev/load-modules.sh tifm_ms"
+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh ms_block"
+SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh mspro_block"
-+SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
-+SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
-+SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="/lib/udev/load-modules.sh ide-scsi"
++SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
+SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
+SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/lib/udev/load-modules.sh ppdev"
LABEL="drivers_end"
-
-diff -Nur rules.d/50-udev-default.rules rules.d.arch/50-udev-default.rules
---- rules.d/50-udev-default.rules 2008-09-12 15:59:57.000000000 +0200
-+++ rules.d.arch/50-udev-default.rules 2008-09-12 16:00:50.000000000 +0200
-@@ -4,12 +4,17 @@
- KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS+="last_rule"
- KERNEL=="ptmx", GROUP="tty", MODE="0666", OPTIONS+="last_rule"
- KERNEL=="tty", GROUP="tty", MODE="0666", OPTIONS+="last_rule"
--KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620", OPTIONS+="last_rule"
--KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty", OPTIONS+="last_rule"
-+KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620", NAME="vc/%n", SYMLINK+="%k" OPTIONS+="last_rule"
-+KERNEL=="vcs", GROUP="tty", NAME="vcc/0", OPTIONS+="last_rule"
-+KERNEL=="vcs[0-9]*", GROUP="tty", NAME="vcc/%n", OPTIONS+="last_rule"
-+KERNEL=="vcsa", GROUP="tty", NAME="vcc/a0", OPTIONS+="last_rule"
-+KERNEL=="vcsa[0-9]*", GROUP="tty", NAME="vcc/a%n", OPTIONS+="last_rule"
- KERNEL=="console", MODE="0600", OPTIONS+="last_rule"
-
- # serial
- KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp"
-+KERNEL=="ttyS[0-9]*", NAME="tts/%n", SYMLINK+="ttyS%n"
-+KERNEL=="ttyUSB[0-9]*", NAME="tts/USB%n", SYMLINK+="%k"
- KERNEL=="ppp", MODE="0600", OPTIONS+="ignore_remove"
- KERNEL=="mwave", NAME="modems/mwave", GROUP="uucp"
- KERNEL=="hvc*|hvsi*", GROUP="uucp"
-@@ -21,6 +26,7 @@
- KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640"
- KERNEL=="ram0", SYMLINK+="ramdisk"
- KERNEL=="ram1", SYMLINK+="ram"
-+KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k"
-
- # input
- KERNEL=="mouse*|mice|event*", NAME="input/%k", MODE="0640"
-@@ -36,13 +36,18 @@
- KERNEL=="vtx*|vbi*", GROUP="video"
- KERNEL=="winradio*", GROUP="video"
- KERNEL=="vbi0", SYMLINK+="vbi"
--KERNEL=="radio0", SYMLINK+="radio"
-+KERNEL=="vbi[0-9]*", NAME="v4l/vbi%n", SYMLINK+="%k"
-+KERNEL=="radio0", SYMLINK+="video"
-+KERNEL=="radio[0-9]*", NAME="v4l/radio%n", SYMLINK+="radio%n", GROUP="video"
- KERNEL=="video0", SYMLINK+="video"
-+KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="%k"
-+KERNEL=="vtx0", SYMLINK+="vtx"
-+KERNEL=="vtx[0-9]*", NAME="v4l/vtx%n", SYMLINK+="%k"
-
- # graphics
--KERNEL=="agpgart", MODE="0600", GROUP="video"
--KERNEL=="card[0-9]*", NAME="dri/%k", MODE="0666"
--KERNEL=="fb0", SYMLINK+="fb"
-+KERNEL=="agpgart", NAME="misc/%k", SYMLINK+="%k", GROUP="video", MODE="0600"
-+KERNEL=="card[0-9]*", NAME="dri/%k", GROUP="video", MODE="0666"
-+KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video"
- KERNEL=="pmu", GROUP="video"
- KERNEL=="nvidia*|nvidiactl*", GROUP="video"
- SUBSYSTEM=="graphics", GROUP="video"
-@@ -62,19 +73,19 @@
- # block, tapes, block-releated
- SUBSYSTEM=="block", GROUP="disk"
- SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n"
--KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions"
-+KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions", GROUP="floppy"
- KERNEL=="fd[0-9]", GROUP="floppy"
--KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k"
-+KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0660 -G floppy $root/%k"
- KERNEL=="sch[0-9]*", GROUP="disk"
--KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0640"
-+KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
- KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="disk"
- KERNEL=="pg[0-9]*", GROUP="disk"
- KERNEL=="pt[0-9]*|npt[0-9]*", GROUP="disk"
- KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
- KERNEL=="rawctl", NAME="raw/%k", GROUP="disk"
- SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk"
--KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k"
--KERNEL=="pktcdvd", NAME="pktcdvd/control"
-+KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k", GROUP="optical", MODE="0660"
-+KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="optical", MODE="0660"
- KERNEL=="qft0", SYMLINK+="ftape"
- SUBSYSTEM=="bsg", NAME="bsg/%k"
- SUBSYSTEM=="aoe", NAME="etherd/%k", GROUP="disk"
-@@ -83,13 +94,13 @@
- KERNEL=="tun", NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove"
-
- # CPU
--KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
--KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
-+KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid", SYMLINK="%k"
-+KERNEL=="msr[0-9]*", NAME="cpu/%n/msr", SYMLINK="%k"
- KERNEL=="microcode", NAME="cpu/microcode", MODE="0600"
-
- # miscellaneous
- KERNEL=="fuse", MODE="0666"
--KERNEL=="rtc|rtc0", MODE="0644"
-+KERNEL=="rtc|rtc0", NAME="misc/%k", SYMLINK+="%k", GROUP="audio", MODE="0664"
- KERNEL=="rtc0", SYMLINK+="rtc"
- KERNEL=="auer[0-9]*", NAME="usb/%k"
- KERNEL=="hw_random", NAME="hwrng", SYMLINK+="%k"
diff --git a/abs/core-testing/udev/cdsymlinks.sh b/abs/core-testing/udev/cdsymlinks.sh
index c4185ac..498abda 100755
--- a/abs/core-testing/udev/cdsymlinks.sh
+++ b/abs/core-testing/udev/cdsymlinks.sh
@@ -1,11 +1,15 @@
#! /bin/sh
# Creates cdsymlinks in /dev
# for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-if [ -d /dev/cd ]; then
+
+# check on cd/dvd drives and if persistant rules file is used
+if [ -d /dev/cd -a ! -e /etc/udev/rules.d/75-persistent-cd.rules ]; then
+ # remove existing device files
rm /dev/cdrom*
rm /dev/cdrw*
rm /dev/dvd*
rm /dev/dvdrw*
+ # start creating symlinks
for i in /dev/cd/cdrom-*; do
if [ -h $i ]; then
[ "$CD_NUMBER" = "" ] && ln -s $i /dev/cdrom
@@ -37,9 +41,4 @@ if [ -d /dev/cd ]; then
! [ "$DVDRW_NUMBER" = "" ] && DVDRW_NUMBER="$((DVDRW_NUMBER+1))" && ln -s $i /dev/dvdrw$DVDRW_NUMBER
fi
done
-else
- rm /dev/cdrom*
- rm /dev/cdrw*
- rm /dev/dvd*
- rm /dev/dvdrw*
fi
diff --git a/abs/core-testing/udev/load-modules.sh b/abs/core-testing/udev/load-modules.sh
index a42d376..1e2af91 100755
--- a/abs/core-testing/udev/load-modules.sh
+++ b/abs/core-testing/udev/load-modules.sh
@@ -9,7 +9,7 @@
BLACKLIST="${MOD_BLACKLIST[@]}"
MODPROBE="/sbin/modprobe"
LOGGER="/usr/bin/logger"
-RESOLVEALIAS="/bin/resolve-modalias"
+RESOLVEALIAS="${MODPROBE} --resolve-alias"
USEBLACKLIST="--use-blacklist"
if [ -f /proc/cmdline ]; then
@@ -42,11 +42,11 @@ if [ "$MOD_AUTOLOAD" = "yes" -o "$MOD_AUTOLOAD" = "YES" ]; then
#sanitize the blacklist
BLACKLIST="$(echo "$BLACKLIST" | sed -e 's|-|_|g')"
# Try to find all modules for the alias
- mods=$($RESOLVEALIAS /lib/modules/$(uname -r)/modules.alias $1)
+ mods=$($RESOLVEALIAS $1)
# If no modules could be found, try if the alias name is a module name
# In that case, omit the --use-blacklist parameter to imitate normal modprobe behaviour
[ -z "${mods}" ] && $MODPROBE -qni $1 && mods="$1" && USEBLACKLIST=""
- [ -z "${mods}" ] && $LOGGER -p info -t "$(basename $0)" "'$1' is not a valid module or alias name"
+ [ -z "${mods}" ] && $LOGGER -p local0.debug -t "$(basename $0)" "'$1' is not a valid module or alias name"
for mod in ${mods}; do
# Find the module and all its dependencies
deps="$($MODPROBE -i --show-depends ${mod})"
@@ -61,9 +61,9 @@ if [ "$MOD_AUTOLOAD" = "yes" -o "$MOD_AUTOLOAD" = "YES" ]; then
for dep in $deps; do
if echo "${BLACKLIST}" | /bin/grep -q -e " ${dep} " -e "^${dep} " -e " ${dep}\$"; then
if [ "${dep}" = "${mod}" ]; then
- $LOGGER -p info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because it is blacklisted"
+ $LOGGER -p local0.info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because it is blacklisted"
else
- $LOGGER -p info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because its dependency '${dep}' is blacklisted"
+ $LOGGER -p local0.info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because its dependency '${dep}' is blacklisted"
fi
continue 2
fi
@@ -74,7 +74,7 @@ if [ "$MOD_AUTOLOAD" = "yes" -o "$MOD_AUTOLOAD" = "YES" ]; then
$MODPROBE $USEBLACKLIST ${mod}
done
else
- $MODPROBE $1
+ $MODPROBE $USEBLACKLIST $1
fi
fi
# vim: set et ts=4:
diff --git a/abs/core-testing/udev/logitech-rules.patch b/abs/core-testing/udev/logitech-rules.patch
new file mode 100644
index 0000000..fd0aea4
--- /dev/null
+++ b/abs/core-testing/udev/logitech-rules.patch
@@ -0,0 +1,14 @@
+--- - 2010-07-04 14:50:15.979139552 +0200
++++ extras/hid2hci/70-hid2hci.rules 2010-07-03 21:03:40.685341704 +0200
+@@ -11,9 +11,9 @@
+ RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1"
+
+ # Logitech devices (hidraw)
+-KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345bce]|c71[34bc]", \
++KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345e]|c71[34]", \
+ RUN+="hid2hci --method=logitech-hid --devpath=%p"
+-KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70a", \
++KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[abc]|c71[bc]", \
+ RUN+="hid2hci --method=logitech-hid --devpath=%p"
+
+ ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
diff --git a/abs/core-testing/udev/mount-usb b/abs/core-testing/udev/mount-usb
deleted file mode 100644
index 2d3b3f5..0000000
--- a/abs/core-testing/udev/mount-usb
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-
-
-DIR=/media
-DEVICE=$2
-LABEL=`/lib/udev/vol_id -L /dev/$DEVICE`
-FS=`/lib/udev/vol_id -t /dev/$DEVICE`
-
-
-mount_device () {
- if [ "$LABEL" == "" ];
- then
- mkdir -p $DIR/usb-$DEVICE
- case $FS in
- vfat) /bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/$DEVICE $DIR/usb-$DEVICE
- ;;
- *) /bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/$DEVICE $DIR/usb-$DEVICE
- ;;
- esac
- else
- mkdir -p $DIR/$LABEL
- echo $LABEL >$DIR/.$DEVICE
- case $FS in
- vfat) /bin/mount -t vfat -o rw,noauto,flush,quiet,nodev,nosuid,noexec,noatime,dmask=000,fmask=111 /dev/$DEVICE $DIR/$LABEL
- ;;
- *) /bin/mount -t auto -o rw,noauto,sync,dirsync,noexec,nodev,noatime /dev/$DEVICE $DIR/$LABEL
- ;;
- esac
- fi
-}
-
-umount_device () {
- if [ -e $DIR/usb-$DEVICE ];
- then
- umount -l $DIR/usb-$DEVICE
- rmdir $DIR/usb-$DEVICE;
- else
- ULABEL=`cat $DIR/.$DEVICE`
- umount -l $DIR/$ULABEL
- rmdir $DIR/$ULABEL
- rm $DIR/.$DEVICE;
- fi
-}
-
-case $1 in
- mount) mount_device
- ;;
- umount) umount_device
- ;;
- *) echo "Usage: mount-usb mount/umount sdxY"
-esac
diff --git a/abs/core-testing/udev/readme-udev-arch.txt b/abs/core-testing/udev/readme-udev-arch.txt
deleted file mode 100644
index e903a6b..0000000
--- a/abs/core-testing/udev/readme-udev-arch.txt
+++ /dev/null
@@ -1,266 +0,0 @@
-==========================
-Cold/Hotplugging with Udev
-==========================
-Version 1.1.6
-written by Tobias Powalowski <tpowa@archlinux.org>
-
----------------
-* Requirements:
----------------
-- recommended kernel >=2.6.18 for this udev to work properly.
-- No more DevFS device paths! If you have them, update /etc/fstab:
- /dev/discs/... etc. has been deprecated in favor of the old style:
- /dev/discs/disc0/part1 -> /dev/hda1
- /dev/discs/disc1/part2 -> /dev/hdb2
-- /etc/modprobe.conf should be cleaned from old install entries (see below).
-
----------------
-* Udev Changes:
----------------
-- The syntax of udev rules has been changed in >=098 release, please update your rules.
- --- Snip Changelog Udev 098
- Renaming of some key names:
- BUS -> SUBSYSTEMS
- ID -> KERNELS
- SYSFS -> ATTRS
- DRIVER -> DRIVERS
- ATTR{file}="value" can be used now, to write to a sysfs file of the
- event device. Instead of:
- ..., SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'"
- we now can do:
- ..., ATTR{type}=="0|7|14", ATTR{timeout}="60"
- All the PHYSDEV* keys are deprecated and will be removed from a
- future kernel:
- PHYDEVPATH - is the path of a parent device and should not be
- needed at all.
- PHYSDEVBUS - is just a SUBSYSTEM value of a parent, and can be
- matched with SUBSYSTEMS==
- PHYSDEVDRIVER - for bus devices it is available as ENV{DRIVER}.
- Newer kernels will have DRIVER in the environment,
- for older kernels udev puts in. Class device will
- no longer carry this property of a parent and
- DRIVERS== can be used to match such a parent value.
- Note that ENV{DRIVER} is only available for a few bus devices, where
- the driver is already bound at device event time. On coldplug, the
- events for a lot devices are already bound to a driver, and they will have
- that value set. But on hotplug, at the time the kernel creates the device,
- it can't know what driver may claim the device after that, therefore
- in most cases it will be empty.
- --- snap Changelog Udev 098
-- optional udev >= 099 Persistent rules generator for network and cd/dvd devices was added.
-- default udev rules are installed to /lib/udev/rules.d/, they can be overriden by placing
- own rules files to /etc/udev/rules.d/ .
-
----------------
-* How it works:
----------------
-- Udev replaces the functionality of hotplug and hwdetect scripts.
-- Udev does autoloading of modules and coldplugging.
-- Udev loads the modules simultaneously, which is much faster,
- but can cause some troubles with multiple network/sound/etc devices
- (see below).
-- To reload your rules please use '/sbin/udevadm trigger'.
-
-======================
-* Autoloading modules:
-======================
-
--------------------------------------------------------------------------
-* Module autoloading is controlled by MOD_AUTOLOAD="" in /etc/rc.conf
--------------------------------------------------------------------------
-MOD_AUTOLOAD="yes" in /etc/rc.conf is necessary:
-- if you want module autodetection
-- if you want modules be loaded by udev (hotplugging and coldplugging)
-
-MOD_AUTOLOAD="no" is necessary:
-- if you want to load modules strictly using 'modprobe <module>'
-- if you want to load only the modules listed in the MODULES=() array
- in /etc/rc.conf
-
----------------
-* Blacklisting:
----------------
-- means udev will never try to load the module, even if MOD_AUTOLOAD="yes"
- is set.
-
-You can do this in 2 ways:
-- MOD_BLACKLIST=(moduleA moduleB)
-- MODULES=(!moduleA !moduleB)
-
-Both entries mean the same thing to udev. MOD_BLACKLIST was used by hwdetect.
-hwdetect does not understand the MODULES= syntax, but it doesn't have to -- it
-is only used in mkinitrd now.
-
-==================================
-* Boot parameter: load_modules=off
-==================================
-
-- No modules are loaded during boot using udev autoloading or the MODULES array
-- Useful for repairing your system if something goes wrong during udev startup
- and/or during loading modules
-
-==================================
-* Boot parameter: disablemodules=
-==================================
-
-- list modules there that shouldn't be loaded by udev
-- Syntax: disablemodules=module1,module2,module3,...
-- Useful for repairing your system if something goes wrong during udev startup
- and/or during loading modules and you know the module that causes the trouble.
-
-========================================
-* Persistent CD/DVD symlinks (optional):
-========================================
-
-- To enable this feature copy in /etc/udev/rules.d
- 75-cd-aliases-generator.rules.optinal
- to 75-cd-aliases-generator.rules
- Also disable this part in /lib/udev/rules.d/81-arch.rules by putting a # in front:
- --- snip
- ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
- ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
---- snap
-
-- To get the same device name for CD/DVD symlinks each time you boot,
- a rule will be generated during bootup or by executing '/sbin/udevadm trigger'.
-- Examples: dvd, cdrom ,cdrw etc.
-- If you want to change those links,
- modify '/etc/udev/rules.d/70-peristent-cd.rules' to your needs.
-
-Known issues:
-The symlink name is then bound to the hardware pci adress,
-if you change your CD/DVD device, you have to check the
-/etc/udev/rules.d/70-peristent-net.rules file for correctness.
-
-======================================
-* Persistent Network names (optional):
-======================================
-
-- To enable this feature copy in /etc/udev/rules.d
- 75-persistent-net-generator.rules.optional
- to 75-persistent-net-generator.rules
-- To get the same network device name each time you boot,
- a rule will be generated during bootup or by executing '/sbin/udevadm trigger'.
-- Examples: eth0, eth1, wlan0 etc.
-- If you want to change those names,
- modify '/etc/udev/rules.d/70-peristent-net.rules' to your needs.
-- NAME= determines the name of your network card. Use these names in your
- network configuration in rc.conf as well.
-
-Known issues:
-The interface name is then bound to the hardware mac adress,
-if you change your network card, you have to check the
-/etc/udev/rules.d/70-peristent-net.rules file for correctness.
-
-====================================
-* Known Problems Hardware:
-====================================
-
-- BusLogic devices are broken and will cause a freeze during startup
-Solution:
-This is a kernel bug and no fix has been provided yet.
-
-- PCMCIA Card readers are not treated as removabel devices.
-Solution:
-To get access to them with hal's pmount backend add them to /etc/pmount.allow
-
-====================================
-* Known Problems MOD_AUTOLOAD="yes":
-====================================
-
------------------------------------------------------------------------------
-* Sound is not working or modules (eg. parport) are not loaded automatically:
------------------------------------------------------------------------------
-Solution:
-- Do you have a clean /etc/modprobe.conf?
- - A clean /etc/modprobe.conf is empty. The stock modprobe.conf file
- contains nothing
-- alsaconf can write output to modprobe.conf. Please keep that in mind.
-
----------------------------------------------
-* Devices get mixed up eg. Network/Soundcards
----------------------------------------------
-- Because udev loads all the modules at once, sometimes devices are initialized
- in different orders (eg. network cards switch eth0 and eth1, sound cards
- the same)
-
-Solution:
-- Load them in MODULES=() array in the order you need them
-- eg: MODULES=(moduleA moduleB)
-
-Second solution for network:
-- The "proper" way to configure net interfaces to hold static names within
- udev rules. Add lines like these to a custom rules file such as
- /etc/udev/rules.d/01-network.rules:
- SUBSYSTEM=="net", SYSFS{address}=="aa:bb:cc:dd:ee:ff", NAME="lan0"
- SUBSYSTEM=="net", SYSFS{address}=="ff:ee:dd:cc:bb:aa", NAME="wlan0"
-
-- To get the right mac address use this command:
- udevinfo -a -p /sys/class/net/<yourdevice>
-- Make sure you use lower-case hex values in your udev rules.
-- NAME= determines the name of your network card. Use these names in your
- network configuration in rc.conf as well.
-
-Third solution for network:
-- check Persistent Network part
-
------------------------------------
-* Network 8139too & 8139cp problem:
------------------------------------
-- Both modules have the same kernel entry, which can cause problems.
-Solution:
-- Enter the one you need in MODULES=() and blacklist the other one
-- eg: MODULES=(!8139cp 8139too)
-- The example tells udev to ignore 8139cp module and load 8139too afterwards.
-
---------------------------------------------------------
-* You need a special loading order to get devices going:
---------------------------------------------------------
-- Kernel loads modules in wrong order.
-Solution:
-- Load them in the correct order in MODULES=()
-
------------------------------
-* Module is not autodetected:
------------------------------
-- If your device does not provide a modalias in /sys it cannot be autodetected.
-- If modalias is not combined to a kernel module it cannot be autodetected.
-Known modules that are not autodetected:
-- SCSI CONTROLLER:
- scsi_transport_sas ultrastor qlogicfas eata BusLogic pas16 wd7000 sym53c416
- g_NCR5380_mmio fdomain u14-34f dtc initio in2000 imm t128 aha1542 aha152x
- atp870u g_NCR5380 NCR53c406a qlogicfas408 megaraid_mm advansys
-- NETWORK CARDS:
- hp ne de4x5 wd cs89x0 eepro smc9194 seeq8005 ni52 ni65 ac3200 smc-ultra
- at1700 hp-plus depca eexpress 82596 de600 eth16i de620 lance ewrk3 e2100
- lp486e 3c501 3c503 3c505 3c507 3c509 3c515 myri10ge
-Solution:
-- Enter the one you need in MODULES=()
-
-=======================================
-* Known Problems with MOD_AUTOLOAD="no"
-=======================================
-
------------------------------------------------------------------
-* Modules are not loaded anymore during coldplug or hotplug event
------------------------------------------------------------------
-- Udev is usually responsible for this, but the MOD_AUTOLOAD switch will
- now disable it. If you want automatic hot/cold-plugging, turn on
- MOD_AUTOLOAD. Otherwise you will have to load all your modules manually,
- either with /sbin/modprobe or entries in the MODULES=() array.
-Solution:
-- For bootup (coldplug) enter this in rc.conf: MODULES=(moduleA moduleB)
-- After bootup (hotplug) use this: modprobe <moduleA>
-
-=========================================
-* Known problems for custom kernel users:
-=========================================
-
-----------------------------
-* Udev doesn't start at all:
-----------------------------
-- Check Requirements list
diff --git a/abs/core-testing/udev/resolve-modalias.c b/abs/core-testing/udev/resolve-modalias.c
deleted file mode 100644
index d1680b1..0000000
--- a/abs/core-testing/udev/resolve-modalias.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include <stdio.h>
-#include <fnmatch.h>
-#include <string.h>
-#include <malloc.h>
-
-static char *getline(FILE *file) {
- static size_t size = 1024;
- static char *buf = NULL;
- static unsigned int i = 0, r = 0;;
-
- if(buf == NULL)
- buf = (char*)malloc(size);
-
- if(i) {
- memmove(buf, buf+i, size-i);
- r -= i;
- i = 0;
- }
-
- while(1) {
- if(i == size) {
- size *= 2;
- buf = (char*)realloc(buf, size);
- }
-
- if(i==r)
- r += fread(buf+i, 1, size-i, file);
-
- if(i==r && i == 0) {
- free(buf);
- buf = NULL;
- r = 0;
- return NULL;
- }
-
- if(i==r || buf[i] == '\n') {
- buf[i++] = '\0';
- return buf;
- }
- i++;
- }
-}
-
-int main(int argc, char *argv[]) {
- FILE *f=fopen(argv[1], "r");
- char *line, *pattern, *module;
- char *pos1, *pos2;
-
- while((line=getline(f))!=NULL) {
- if(!strncmp(line, "alias", strlen("alias"))) {
- pos1 = index(line, ' ');
- pos2 = index(pos1+1, ' ');
- pattern = pos1+1;
- *pos2 = '\0';
- module = pos2+1;
-
- if(!fnmatch(pattern, argv[2], 0))
- printf("%s\n", module);
- }
- }
- return 0;
-}
diff --git a/abs/core-testing/udev/start_udev b/abs/core-testing/udev/start_udev
deleted file mode 100755
index 03c38fd..0000000
--- a/abs/core-testing/udev/start_udev
+++ /dev/null
@@ -1,137 +0,0 @@
-#! /bin/sh
-#
-# start_udev
-# script to initialize /dev by using udev.
-#
-# Modified for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# Inspired by:
-#
-# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
-#
-# Released under the GPL v2 only.
-#
-# This needs to be run at the earliest possible point in the boot
-# process.
-#
-# Based on the udev init.d script
-#
-# Thanks go out to the Gentoo developers for proving
-# that this is possible to do.
-#
-# Yes, it's very verbose, feel free to turn off all of the echo calls,
-# they were there to make me feel better that everything was working
-# properly during development...
-#
-
-prog=udev
-sysfs_dir=/sys
-bin=/sbin/udev
-udevd=/sbin/udevd
-udev_root="/dev"
-
-starttime=$(date +%s)
-
-
-function trigger_builtin_events() {
- list="$(echo /sys/class/tty/ttyS*/uevent)"
- for i in $list; do
- case "$i" in
- */class/uevent|*\**)
- continue
- ;;
- */class/tty/ttyS*)
- echo "add" > "$i"
- ;;
- esac
- done
- }
-
-function trigger_device_events() {
- /sbin/udevtrigger
-}
-
-function wait_for_queue() {
-# loop=20
-# while ! [ "$loop" -gt 0 -a -d /dev/.udev/queue ]; do
-# sleep 0.1;
-# loop=$(($loop - 1))
-# done
- /sbin/udevsettle
-}
-
-make_extra_nodes () {
- # there are a few things that sysfs does not export for us.
- # these things go here (and remember to remove them in
- # remove_extra_nodes()
- #
- # Thanks to Gentoo for the initial list of these.
- ln -snf /proc/self/fd $udev_root/fd
- ln -snf /proc/self/fd/0 $udev_root/stdin
- ln -snf /proc/self/fd/1 $udev_root/stdout
- ln -snf /proc/self/fd/2 $udev_root/stderr
- ln -snf /proc/kcore $udev_root/core
-
- mkdir $udev_root/pts
- mkdir $udev_root/shm
-}
-
-udev_init () {
-# don't use udev if sysfs is not mounted.
-if [ ! -d $sysfs_dir/block ]; then
- exit 1
-fi
-
-echo "mounting... ramfs at $udev_root"
-mount -n -t ramfs none $udev_root
-
-# propogate /udev from /sys
-echo "Creating initial udev device nodes:"
-
-#echo "making extra nodes"
-make_extra_nodes
-
-# check if udevd is already running
-if [ `pidof -o %PPID /sbin/udevd` ]; then
- grep -v "/dev/shm" /etc/mtab | grep -v "/dev/pts" > /etc/mtab
- mount /dev/pts
- mount /dev/shm
-else
- echo "start udev daemon"
- /sbin/udevd --daemon
-fi
-case "$(uname -r)" in
- 2.6.[0-9]|2.6.[0-9][!0-9]*) ;;
- *) if [ -f "/sys/class/tty/console/uevent" ]; then
- echo "Kernel >= 2.6.15 and supports uevents"
- # trigger the sorted events
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- # catch events that are real fast
- mkdir -p /dev/.udev/queue
- trigger_builtin_events
- else
- # for older kernels without uevents will be removed when udevstart dies in udev
- echo "Kernel does not support uevents, you need a kernel >= 2.6.15!"
- exit 1
- fi
- ;;
-esac
-}
-
-udev_uevents () {
-# configure all devices
-trigger_device_events
-# until we know how to do better, just wait for _all_ events to finish
-wait_for_queue
-}
-
-if [ $# -eq 0 ]; then
-udev_init
-udev_uevents
-fi
-
-[ "$1" = "init" ] && udev_init
-[ "$1" = "uevents" ] && udev_uevents
-
-echo "udev startup is finished! - time = $(( `date +%s` - $starttime ))"
-exit 0
diff --git a/abs/core-testing/udev/udev-ntfs-3g.patch b/abs/core-testing/udev/udev-ntfs-3g.patch
deleted file mode 100644
index 366c41f..0000000
--- a/abs/core-testing/udev/udev-ntfs-3g.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-diff -ruaN udev-135.orig/extras/volume_id/lib/ntfs.c udev-135/extras/volume_id/lib/ntfs.c
---- udev-135.orig/extras/volume_id/lib/ntfs.c 2008-11-13 20:42:56.000000000 +0000
-+++ udev-135/extras/volume_id/lib/ntfs.c 2009-06-28 23:31:01.000000000 +0000
-@@ -194,7 +194,7 @@
- }
-
- volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
-- id->type = "ntfs";
-+ id->type = "ntfs-3g";
- /* we think this is ntfs, but we make sure no other signatures are found */
- id->force_unique_result = 1;
- return 0;
-diff -ruaN udev-135.orig/extras/volume_id/lib/ntfs.c~ udev-135/extras/volume_id/lib/ntfs.c~
---- udev-135.orig/extras/volume_id/lib/ntfs.c~ 1970-01-01 00:00:00.000000000 +0000
-+++ udev-135/extras/volume_id/lib/ntfs.c~ 2008-11-13 20:42:56.000000000 +0000
-@@ -0,0 +1,201 @@
-+/*
-+ * volume_id - reads filesystem label and uuid
-+ *
-+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
-+ *
-+ * This program is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation, either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <errno.h>
-+#include <ctype.h>
-+
-+#include "libvolume_id.h"
-+#include "libvolume_id-private.h"
-+
-+static struct ntfs_super_block {
-+ uint8_t jump[3];
-+ uint8_t oem_id[8];
-+ uint16_t bytes_per_sector;
-+ uint8_t sectors_per_cluster;
-+ uint16_t reserved_sectors;
-+ uint8_t fats;
-+ uint16_t root_entries;
-+ uint16_t sectors;
-+ uint8_t media_type;
-+ uint16_t sectors_per_fat;
-+ uint16_t sectors_per_track;
-+ uint16_t heads;
-+ uint32_t hidden_sectors;
-+ uint32_t large_sectors;
-+ uint16_t unused[2];
-+ uint64_t number_of_sectors;
-+ uint64_t mft_cluster_location;
-+ uint64_t mft_mirror_cluster_location;
-+ int8_t cluster_per_mft_record;
-+ uint8_t reserved1[3];
-+ int8_t cluster_per_index_record;
-+ uint8_t reserved2[3];
-+ uint8_t volume_serial[8];
-+ uint16_t checksum;
-+} PACKED *ns;
-+
-+static struct master_file_table_record {
-+ uint8_t magic[4];
-+ uint16_t usa_ofs;
-+ uint16_t usa_count;
-+ uint64_t lsn;
-+ uint16_t sequence_number;
-+ uint16_t link_count;
-+ uint16_t attrs_offset;
-+ uint16_t flags;
-+ uint32_t bytes_in_use;
-+ uint32_t bytes_allocated;
-+} PACKED *mftr;
-+
-+static struct file_attribute {
-+ uint32_t type;
-+ uint32_t len;
-+ uint8_t non_resident;
-+ uint8_t name_len;
-+ uint16_t name_offset;
-+ uint16_t flags;
-+ uint16_t instance;
-+ uint32_t value_len;
-+ uint16_t value_offset;
-+} PACKED *attr;
-+
-+static struct volume_info {
-+ uint64_t reserved;
-+ uint8_t major_ver;
-+ uint8_t minor_ver;
-+} PACKED *info;
-+
-+#define MFT_RECORD_VOLUME 3
-+#define MFT_RECORD_ATTR_VOLUME_NAME 0x60
-+#define MFT_RECORD_ATTR_VOLUME_INFO 0x70
-+#define MFT_RECORD_ATTR_OBJECT_ID 0x40
-+#define MFT_RECORD_ATTR_END 0xffffffffu
-+
-+int volume_id_probe_ntfs(struct volume_id *id, uint64_t off, uint64_t size)
-+{
-+ unsigned int sector_size;
-+ unsigned int cluster_size;
-+ uint64_t mft_cluster;
-+ uint64_t mft_off;
-+ unsigned int mft_record_size;
-+ unsigned int attr_type;
-+ unsigned int attr_off;
-+ unsigned int attr_len;
-+ unsigned int val_off;
-+ unsigned int val_len;
-+ const uint8_t *buf;
-+ const uint8_t *val;
-+
-+ info("probing at offset 0x%" PRIx64 "\n", off);
-+
-+ ns = (struct ntfs_super_block *) volume_id_get_buffer(id, off, 0x200);
-+ if (ns == NULL)
-+ return -1;
-+
-+ if (memcmp(ns->oem_id, "NTFS", 4) != 0)
-+ return -1;
-+
-+ volume_id_set_uuid(id, ns->volume_serial, 0, UUID_64BIT_LE);
-+
-+ sector_size = le16_to_cpu(ns->bytes_per_sector);
-+ if (sector_size < 0x200)
-+ return -1;
-+
-+ cluster_size = ns->sectors_per_cluster * sector_size;
-+ mft_cluster = le64_to_cpu(ns->mft_cluster_location);
-+ mft_off = mft_cluster * cluster_size;
-+
-+ if (ns->cluster_per_mft_record < 0)
-+ /* size = -log2(mft_record_size); normally 1024 Bytes */
-+ mft_record_size = 1 << -ns->cluster_per_mft_record;
-+ else
-+ mft_record_size = ns->cluster_per_mft_record * cluster_size;
-+
-+ dbg("sectorsize 0x%x\n", sector_size);
-+ dbg("clustersize 0x%x\n", cluster_size);
-+ dbg("mftcluster %" PRIu64 "\n", mft_cluster);
-+ dbg("mftoffset 0x%" PRIx64 "\n", mft_off);
-+ dbg("cluster per mft_record %i\n", ns->cluster_per_mft_record);
-+ dbg("mft record size %i\n", mft_record_size);
-+
-+ buf = volume_id_get_buffer(id, off + mft_off + (MFT_RECORD_VOLUME * mft_record_size),
-+ mft_record_size);
-+ if (buf == NULL)
-+ return -1;
-+
-+ mftr = (struct master_file_table_record*) buf;
-+ dbg("mftr->magic '%c%c%c%c'\n", mftr->magic[0], mftr->magic[1], mftr->magic[2], mftr->magic[3]);
-+ if (memcmp(mftr->magic, "FILE", 4) != 0)
-+ return -1;
-+
-+ attr_off = le16_to_cpu(mftr->attrs_offset);
-+ dbg("file $Volume's attributes are at offset %i\n", attr_off);
-+
-+ while (1) {
-+ attr = (struct file_attribute*) &buf[attr_off];
-+ attr_type = le32_to_cpu(attr->type);
-+ attr_len = le16_to_cpu(attr->len);
-+ val_off = le16_to_cpu(attr->value_offset);
-+ val_len = le32_to_cpu(attr->value_len);
-+ attr_off += attr_len;
-+
-+ if (attr_len == 0)
-+ break;
-+
-+ if (attr_off >= mft_record_size)
-+ break;
-+
-+ if (attr_type == MFT_RECORD_ATTR_END)
-+ break;
-+
-+ dbg("found attribute type 0x%x, len %i, at offset %i\n",
-+ attr_type, attr_len, attr_off);
-+
-+ if (attr_type == MFT_RECORD_ATTR_VOLUME_INFO) {
-+ dbg("found info, len %i\n", val_len);
-+ info = (struct volume_info*) (((uint8_t *) attr) + val_off);
-+ snprintf(id->type_version, sizeof(id->type_version)-1,
-+ "%u.%u", info->major_ver, info->minor_ver);
-+ }
-+
-+ if (attr_type == MFT_RECORD_ATTR_VOLUME_NAME) {
-+ dbg("found label, len %i\n", val_len);
-+ if (val_len > VOLUME_ID_LABEL_SIZE)
-+ val_len = VOLUME_ID_LABEL_SIZE;
-+
-+ val = ((uint8_t *) attr) + val_off;
-+ volume_id_set_label_raw(id, val, val_len);
-+ volume_id_set_label_unicode16(id, val, LE, val_len);
-+ }
-+ }
-+
-+ volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
-+ id->type = "ntfs";
-+ /* we think this is ntfs, but we make sure no other signatures are found */
-+ id->force_unique_result = 1;
-+ return 0;
-+}
diff --git a/abs/core-testing/udev/udev.install b/abs/core-testing/udev/udev.install
index bb8b166..b4ce3c8 100644
--- a/abs/core-testing/udev/udev.install
+++ b/abs/core-testing/udev/udev.install
@@ -1,15 +1,16 @@
# arg 1: the new package version
# arg 2: the old package version
+
post_upgrade() {
-if [ "$(vercmp $2 100)" -lt 0 ]; then
- echo "ATTENTION UDEV:"
- echo "----------"
- echo "udev >=098 rules syntax has changed, please update your own rules."
- echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
- echo "Please read the instructions carefully before reboot."
- echo "They are located in /etc/udev/readme-udev-arch.txt"
- echo "----------"
-fi
+ if [ "$(vercmp $2 100)" -lt 0 ]; then
+ echo "ATTENTION UDEV:"
+ echo "----------"
+ echo "udev >=098 rules syntax has changed, please update your own rules."
+ echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
+ echo "Please read the instructions carefully before reboot."
+ echo "They are located in /etc/udev/readme-udev-arch.txt"
+ echo "----------"
+ fi
}
post_install() {
@@ -26,7 +27,3 @@ post_install() {
rmdir ${ROOTDIR}
fi
}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core-testing/udev/udev.rules b/abs/core-testing/udev/udev.rules
deleted file mode 100644
index f789e50..0000000
--- a/abs/core-testing/udev/udev.rules
+++ /dev/null
@@ -1,456 +0,0 @@
-# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-#
-# This ruleset should provide a DevFS-compatible device tree.
-#
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %k the kernel name for the device.
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute.
-# %% the '%' char itself.
-#
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-# global stuff
-#
-
-#####################################
-# Early rules - begin
-#####################################
-# wait for sysfs
-ACTION=="add", KERNEL=="[0-9]*:[0-9]*", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
-# Setting timeout for tape-devices (type 1) to 900 seconds
-# and 60 seconds for device types 0, 7 and 14
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60"
-SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900"
-#####################################
-# Early rules -end
-#####################################
-
-#####################################
-###### Hotplug rules - begin
-#####################################
-# check if the device has already been claimed by a driver
-ENV{DRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded"
-ACTION!="add", GOTO="hotplug_not_add_event"
-
-#Skip auto-loading of framebuffer devices
-KERNEL=="fb[0-9]*", GOTO="hotplug_driver_loaded"
-
-# Modaliases to load
-ENV{MODALIAS}=="?*", RUN{ignore_error}+="/lib/udev/load-modules.sh $env{MODALIAS}"
-
-# SCSI addon modules
-SUBSYSTEM=="scsi", ATTRS{type}=="[07]", RUN+="/lib/udev/load-modules.sh sd_mod"
-SUBSYSTEM=="scsi", ATTRS{type}=="14", RUN+="/lib/udev/load-modules.sh sd_mod"
-SUBSYSTEM=="scsi", ATTRS{type}=="[45]", RUN+="/lib/udev/load-modules.sh sr_mod"
-SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}!="ADR*", RUN+="/lib/udev/load-modules.sh osst"
-SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}=="Onstream", ATTRS{model}=="ADR*", RUN+="/lib/udev/load-modules.sh st"
-SUBSYSTEM=="scsi", ATTRS{type}=="1", ATTRS{vendor}!="Onstream", RUN+="/lib/udev/load-modules.sh st"
-SUBSYSTEM=="scsi", ATTRS{type}=="[235689]", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
-
-# load sg module for burners
-SUBSYSTEM=="block", ATTRS{type}=="[45]", RUN+="/lib/udev/load-modules.sh sg"
-
-# MMC block devices
-SUBSYSTEM=="mmc", RUN+="/lib/udev/load-modules.sh mmc_block"
-
-# I2O block devices
-SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
-
-# Skip already claimed drivers
-DRIVERS=="?*", GOTO="hotplug_driver_loaded"
-
-# PNP modules
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN{ignore_error}+="/bin/sh -c 'while read id; do /lib/udev/load-modules.sh pnp:d$$id; /lib/udev/load-modules.sh pnp:c$$id ; done < /sys$devpath/id'"
-
-# SOUND addon modules
-SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-pcm-oss"
-SUBSYSTEM=="sound", RUN+="/lib/udev/load-modules.sh snd-seq-oss"
-
-LABEL="hotplug_driver_loaded"
-
-#PNP addon modules
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0800", RUN+="/lib/udev/load-modules.sh pcspkr"
-# not needed anymore with kernel >= 2.6.21
-#ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0b00", RUN+="/lib/udev/load-modules.sh rtc"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0b00", RUN+="/lib/udev/load-modules.sh rtc_cmos"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0510*", RUN+="/lib/udev/load-modules.sh irtty-sir"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="*PNP0511*", RUN+="/lib/udev/load-modules.sh irtty-sir"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNPb02f", RUN+="/lib/udev/load-modules.sh analog"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP0501", RUN+="/lib/udev/load-modules.sh ppp-generic"
-
-# PARPORT addon modules
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh lp"
-ACTION=="add", SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", ATTRS{id}=="PNP040*", RUN+="/lib/udev/load-modules.sh ppdev"
-
-# fix ide cdrom detection on old proliant servers
-ACTION=="add", SUBSYSTEM=="pci", ENV{MODALIAS}=="pci:v00000E11d00000001sv00000000sd00000000bc06sc02i00", RUN+="/lib/udev/load-modules.sh ide-generic"
-
-# FIRMWARE
-ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="?*", RUN+="/lib/udev/firmware.sh"
-LABEL="hotplug_not_add_event"
-#####################################
-##### Hotplug rules - end
-#####################################
-
-#####################################
-###### CD/DVD symlinks - begin
-#####################################
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="/lib/udev/cdrom_id --export $tempnode"
-ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
-ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
-ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
-ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvd-%b"
-ACTION=="add", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="add", SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="hd[a-z]", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sr[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
-ACTION=="remove", SUBSYSTEMS=="block", KERNEL=="sg[0-9]*", RUN+="/lib/udev/cdsymlinks.sh"
-#####################################
-###### CD/DVD symlinks - end
-#####################################
-
-# fix /dev/root symlink
-SUBSYSTEM=="block", RUN+="/lib/udev/root-link.sh"
-
-#####################################
-# Permissions and Symlinks - begin
-#####################################
-# default permissions for all block devices
-SUBSYSTEM=="block", GROUP="disk"
-
-# permissions for IDE CD devices
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
-
-# permissions for SCSI CD devices
-SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROUP="optical"
-SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical"
-
-# permissions for IDE floppy devices
-SUBSYSTEMS=="ide", KERNEL=="hd*", ATTRS{media}=="floppy*", NAME{all_partitions}="%k", GROUP="floppy"
-
-# permissions for removable devices like cardreaders or sticks
-KERNEL=="sd*", ATTRS{scsi_level}=="0", ATTRS{type}=="0", GROUP="storage"
-
-# permissions for firewire external drives
-KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage"
-
-# permissions for usb to scsi external adapters
-KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="7", GROUP="storage"
-
-# permissions for ide storage like pcmcia card readers
-ACTION!="add", GOTO="pcmcia_end"
-SUBSYSTEM!="block", GOTO="pcmcia_end"
-KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
-KERNEL=="hd*", IMPORT{parent}=="ID_*"
-KERNEL=="hd*", ENV{ID_TYPE}=="generic", GROUP="storage"
-LABEL="pcmcia_end"
-
-# permissions for SCSI scanners
-SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner"
-
-# pty and tty legacy devices
-KERNEL=="pty[a-z][a-z,0-9]*", NAME="legacy/%k", OPTIONS="last_rule"
-KERNEL=="tty[a-z][a-z,0-9]*", NAME="legacy/%k", OPTIONS="last_rule"
-
-# md block devices
-KERNEL=="md[0-9]*", NAME="md%n", SYMLINK+="md/%n"
-
-# device-mapper
-KERNEL=="device-mapper", NAME="mapper/control"
-
-# floppy devices
-KERNEL=="fd[0-9]*", NAME="fd%n", SYMLINK+="floppy/%n fd%nu1440 fd%nu720 fd%nh1200 fd%nu360", GROUP="floppy"
-
-# tty devices
-SUBSYSTEM=="tty", GROUP="tty"
-KERNEL=="tty[0-9]*", NAME="vc/%n", SYMLINK+="%k"
-KERNEL=="ttyS[0-9]*", NAME="tts/%n", SYMLINK+="ttyS%n"
-KERNEL=="ttyUSB[0-9]*", NAME="tts/USB%n", SYMLINK+="%k"
-
-# vc devices
-KERNEL=="vcs", NAME="vcc/0", OPTIONS="last_rule"
-KERNEL=="vcs[0-9]*", NAME="vcc/%n", OPTIONS="last_rule"
-KERNEL=="vcsa", NAME="vcc/a0", OPTIONS="last_rule"
-KERNEL=="vcsa[0-9]*", NAME="vcc/a%n", OPTIONS="last_rule"
-KERNEL=="ptmx", MODE="0666", OPTIONS="last_rule"
-KERNEL=="tty", MODE="0666", OPTIONS="last_rule"
-
-# video devices
-SUBSYSTEM=="video4linux", GROUP="video"
-KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; A=$${K%%%%.*}; D=$${K#*.}; echo dvb/adapter$$A/$$D'", \
- NAME="%c", GROUP="video"
-### xorg resets those permissions, adjust your xorg.conf!
-KERNEL=="nvidia*", GROUP="video"
-KERNEL=="card[0-9]*", NAME="dri/%k", GROUP="video"
-KERNEL=="3dfx*", GROUP="video"
-
-# v4l devices
-KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="%k", GROUP="video"
-KERNEL=="video0", SYMLINK+="video"
-KERNEL=="radio[0-9]*", NAME="v4l/radio%n", SYMLINK+="radio%n", GROUP="video"
-KERNEL=="radio0", SYMLINK+="radio"
-KERNEL=="vbi[0-9]*", NAME="v4l/vbi%n", SYMLINK+="%k", GROUP="video"
-KERNEL=="vbi0", SYMLINK+="vbi"
-KERNEL=="vtx[0-9]*", NAME="v4l/vtx%n", SYMLINK+="%k", GROUP="video"
-KERNEL=="vtx0", SYMLINK+="vtx"
-
-# i2c devices
-KERNEL=="i2c-[0-9]*", NAME="i2c/%n", SYMLINK+="%k"
-
-# loop devices
-KERNEL=="loop[0-9]*", NAME="loop/%n", SYMLINK+="%k"
-
-# ramdisks
-KERNEL=="ram[0-9]*", NAME="rd/%n", SYMLINK+="%k"
-
-# framebuffer devices
-KERNEL=="fb[0-9]*", NAME="fb/%n", SYMLINK+="%k", GROUP="video"
-
-# misc
-KERNEL=="rtc*", NAME="misc/%k", SYMLINK+="%k", GROUP="audio", MODE="0664"
-KERNEL=="rtc0", SYMLINK+="rtc"
-KERNEL=="nvram", NAME="misc/%k", SYMLINK+="%k", GROUP="kmem", MODE="0640"
-KERNEL=="psaux", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="agpgart", NAME="misc/%k", SYMLINK+="%k" GROUP="video"
-KERNEL=="uinput", NAME="misc/%k", SYMLINK+="%k"
-KERNEL=="random", MODE="0666"
-KERNEL=="urandom", MODE="0666"
-KERNEL=="mem", MODE="0640", GROUP="kmem"
-KERNEL=="kmem", MODE="0640", GROUP="kmem"
-KERNEL=="port", MODE="0640", GROUP="kmem"
-KERNEL=="full", MODE="0666"
-KERNEL=="null", MODE="0666"
-KERNEL=="zero", MODE="0666"
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-KERNEL=="inotify", NAME="misc/%k", SYMLINK+="%k", MODE="0666"
-KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid", SYMLINK="%k"
-KERNEL=="msr[0-9]*", NAME="cpu/%n/msr", SYMLINK="%k"
-
-# sound devices
-# alsa devices
-SUBSYSTEM=="sound", GROUP="audio"
-KERNEL=="controlC[0-9]*", NAME="snd/%k"
-KERNEL=="hw[CD0-9]*", NAME="snd/%k"
-KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k"
-KERNEL=="midi[CD0-9]*", NAME="snd/%k"
-KERNEL=="timer", NAME="snd/%k"
-KERNEL=="seq", NAME="snd/%k"
-# oss devices
-KERNEL=="audio*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dmmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="admmidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="dsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="adsp*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="midi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="amidi*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="mixer*", NAME="sound/%k", SYMLINK+="%k"
-KERNEL=="sequencer*", NAME="sound/%k", SYMLINK+="%k"
-
-# input devices
-KERNEL=="mice", NAME="input/%k", MODE="0644"
-KERNEL=="mouse*", NAME="input/%k", MODE="0644"
-KERNEL=="event*", NAME="input/%k"
-KERNEL=="js*", NAME="input/%k", MODE="0664"
-KERNEL=="ts*", NAME="input/%k"
-KERNEL=="uinput", NAME="input/%k"
-
-# USB devices
-KERNEL=="hiddev*", NAME="usb/%k"
-KERNEL=="auer*", NAME="usb/%k"
-KERNEL=="legousbtower*", NAME="usb/%k", MODE="0666"
-KERNEL=="dabusb*", NAME="usb/%k"
-SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k", GROUP="lp"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{product}=="Palm Handheld*", SYMLINK+="pilot"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{product}=="palmOne Handheld*", SYMLINK+="pilot"
-SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{product}=="Handspring Visor*", SYMLINK+="pilot"
-
-# printer devices
-SUBSYSTEM=="printer", GROUP="lp"
-
-# netlink devices
-KERNEL=="route", NAME="netlink/%k"
-KERNEL=="skip", NAME="netlink/%k"
-KERNEL=="usersock", NAME="netlink/%k"
-KERNEL=="fwmonitor", NAME="netlink/%k"
-KERNEL=="tcpdiag", NAME="netlink/%k"
-KERNEL=="nflog", NAME="netlink/%k"
-KERNEL=="xfrm", NAME="netlink/%k"
-KERNEL=="arpd", NAME="netlink/%k"
-KERNEL=="route6", NAME="netlink/%k"
-KERNEL=="ip6_fw", NAME="netlink/%k"
-KERNEL=="dnrtmsg", NAME="netlink/%k"
-### ! disabled seems to break device creation !
-# KERNEL=="tap*", NAME="netlink/%k"
-
-# CAPI devices
-KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
-KERNEL=="capi*", NAME="capi/%n"
-
-# Network devices
-KERNEL=="tun", NAME="net/%k", OPTIONS+="ignore_remove"
-KERNEL=="ppp", OPTIONS+="ignore_remove"
-
-# IEEE1394 (firewire) devices
-KERNEL=="raw1394", NAME="%k", GROUP="video"
-KERNEL=="dv1394*", NAME="dv1394/%n", GROUP="video"
-KERNEL=="video1394*", NAME="video1394/%n", GROUP="video"
-
-# raw devices
-KERNEL=="raw[0-9]*", NAME="raw/%k"
-
-# kbd devices
-KERNEL=="kbd", MODE="0664"
-
-# packet devices
-KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="optical", MODE="0660"
-KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/pktcdvd%n", GROUP="optical", MODE="0660"
-
-# usbfs-like device nodes, libusb device access
-# for kernel 2.6.21 and below
-SUBSYSTEM=="usb_device", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev};printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0664"
-# starting from kernel 2.6.22 use this rule
-SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664"
-#######################################
-# Permissions and Symlinks - end
-#######################################
-
-#######################################
-# Persistant block device stuff - begin
-#######################################
-# persistent storage links: /dev/{disk,tape}/{by-id,by-uuid,by-label,by-path,by-name}
-# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-
-# needed like this!!!
-ACTION!="add|change", GOTO="persistent_storage_end"
-KERNEL=="nst[0-9]", SUBSYSTEMS=="scsi", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}-nst"
-
-# type 8 devices are "Medium Changers"
-KERNEL=="sg*", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
-# skip rules for inappropriate block devices
-# don't add dm-*!!!
-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|md*", GOTO="persistent_storage_end"
-
-# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end"
-
-# ignore partitions that span the entire disk
-ATTR{whole_disk}=="*", GOTO="persistent_storage_end"
-
-# /sys/class/block will export this
-ENV{DEVTYPE}!="?*", ATTR{range}=="?*", ENV{DEVTYPE}="disk"
-ENV{DEVTYPE}!="?*", ATTR{start}=="?*", ENV{DEVTYPE}="partition"
-
-# for partitions import parent information
-ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
-
-# by-id (hardware serial number)
-KERNEL=="hd*[!0-9]", IMPORT{program}="/lib/udev/ata_id --export $tempnode"
-KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
-KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"
-
-KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_SUBSYSTEMS}="ieee1394"
-KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="/lib/udev/usb_id --export %p"
-KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode"
-KERNEL=="cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="/lib/udev/scsi_id --export --whitelisted --ignore-sysfs -s %p -d $tempnode", ENV{ID_BUS}="cciss"
-KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-KERNEL=="sd*[0-9]|cciss*p[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
-KERNEL=="st*", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-
-# libata compat (links like hd*)
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="/lib/udev/ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
-KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
-
-KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}"
-KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
-
-# by-path (shortest physical path)
-ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/path_id %p"
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
-ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
-KERNEL=="st*", ENV{ID_PATH}=="?*", SYMLINK+="tape/by-path/$env{ID_PATH}"
-
-KERNEL=="sr*|st*", GOTO="persistent_storage_end"
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end"
-
-# by-label/by-uuid (filesystem properties)
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-# BIOS Enhanced Disk Device
-ENV{DEVTYPE}=="disk", IMPORT{program}="/lib/udev/edd_id --export $tempnode"
-ENV{DEVTYPE}=="disk", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
-ENV{DEVTYPE}=="partition", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"
-LABEL="persistent_storage_end"
-
-# md links hook into "change" events, when the array becomes available
-KERNEL!="md[0-9]*", GOTO="md_end"
-ACTION!="add|change", GOTO="md_end"
-
-ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
-IMPORT{program}="/lib/udev/vol_id --export $tempnode"
-OPTIONS="link_priority=100"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-LABEL="md_end"
-# Persistant block device stuff - end
-#####################################
-
-#######################################
-# Persistant input stuff - begin
-#######################################
-SUBSYSTEM!="input", GOTO="persistent_input_end"
-ACTION!="add", GOTO="persistent_input_end"
-# ignore the mid-level drivers
-KERNEL=="input[0-9]*", GOTO="persistent_input_end"
-
-# usb devices
-SUBSYSTEMS=="usb", IMPORT{program}="/lib/udev/usb_id --export"
-SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", ENV{ID_CLASS}="kbd"
-SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", ENV{ID_CLASS}="mouse"
-
-# other devices
-DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr"
-DRIVERS=="atkbd", ENV{ID_CLASS}="kbd"
-DRIVERS=="psmouse", ENV{ID_CLASS}="mouse"
-ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir"
-ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", ATTRS{modalias}!="input:*-*k*14A,*r*", ENV{ID_CLASS}="joystick"
-
-# fill empty serial number
-ENV{ID_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
-
-# by-id links, generic and for the event devices
-KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
-KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{ID_CLASS}"
-
-
-# by-path links
-IMPORT{program}="/lib/udev/path_id %p"
-KERNEL=="mouse*|js*", ENV{ID_PATH}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"
-KERNEL=="event*", ENV{ID_PATH}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"
-
-LABEL="persistent_input_end"
-#####################################
-# Persistant input stuff - end
-#####################################
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
-
-# debugging monitor
-RUN+="socket:/org/kernel/udev/monitor"
diff --git a/abs/core-testing/udev/usb-storage.rules b/abs/core-testing/udev/usb-storage.rules
deleted file mode 100644
index a7e0726..0000000
--- a/abs/core-testing/udev/usb-storage.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-SUBSYSTEMS=="usb", KERNEL=="sd[b-z]", NAME="%k", SYMLINK+="usb-%k", GROUP="users", OPTIONS="last_rule"
-ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb-%k", GROUP="users", NAME="%k"
-ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd[b-z][0-9]", RUN+="/etc/udev/scripts/mount-usb mount %k", OPTIONS="last_rule"
-ACTION=="remove", SUBSYSTEMS=="block", RUN+="/etc/udev/scripts/mount-usb umount %k", OPTIONS="last_rule"#
diff --git a/abs/core-testing/unichrome-dri/PKGBUILD b/abs/core-testing/unichrome-dri/PKGBUILD
deleted file mode 100644
index 2870c39..0000000
--- a/abs/core-testing/unichrome-dri/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 13002 2008-09-25 18:36:29Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=unichrome-dri
-pkgver=7.2
-pkgrel=1
-pkgdesc="DRI drivers for Unichrome-based videochipsets"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'expat>=2.0.1' 'libgl>=7.1-2')
-makedepends=('dri2proto>=1.1' 'glproto>=1.4.9' 'pkgconfig' 'libxfixes' 'libxdamage' 'libxxf86vm' 'libxext')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
-
-build() {
- cd ${srcdir}/Mesa-${pkgver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch
- export CFLAGS="${CFLAGS} -ffast-math"
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=unichrome \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- rm -rf ${pkgdir}/usr/include
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
-}
diff --git a/abs/core-testing/unichrome-dri/mesa-7.1-link-shared.patch b/abs/core-testing/unichrome-dri/mesa-7.1-link-shared.patch
deleted file mode 100644
index 7fdbf14..0000000
--- a/abs/core-testing/unichrome-dri/mesa-7.1-link-shared.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.dricore mesa-20080814/src/mesa/drivers/dri/Makefile
---- mesa-20080814/src/mesa/drivers/dri/Makefile.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile 2008-08-14 16:18:20.000000000 +1000
-@@ -6,12 +6,17 @@ include $(TOP)/configs/current
-
-
-
--default: $(TOP)/$(LIB_DIR) subdirs
-+default: $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/libdricore.so subdirs
-
-
- $(TOP)/$(LIB_DIR):
- -mkdir $(TOP)/$(LIB_DIR)
-
-+libdricore.so:
-+ gcc -shared -o libdricore.so -Wl,--whole-archive ../../libmesa.a -Wl,--no-whole-archive -lm -lpthread -lc
-+
-+$(TOP)/$(LIB_DIR)/libdricore.so: $(TOP)/$(LIB_DIR) libdricore.so
-+ $(INSTALL) libdricore.so $(TOP)/$(LIB_DIR)
-
- subdirs:
- @for dir in $(DRI_DIRS) ; do \
-@@ -31,12 +36,14 @@ dri.pc: dri.pc.in
- $(pcedit) $< > $@
-
-
--install: dri.pc
-+install: dri.pc $(TOP)/$(LIB_DIR)/libdricore.so
- @for dir in $(DRI_DIRS) ; do \
- if [ -d $$dir ] ; then \
- (cd $$dir && $(MAKE) install) || exit 1 ; \
- fi \
- done
-+ $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
-+ $(INSTALL) -m 755 $(TOP)/$(LIB_DIR)/libdricore.so $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR)
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
- $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/GL/internal
-@@ -52,5 +59,6 @@ clean:
- (cd $$dir && $(MAKE) clean) ; \
- fi \
- done
-+ -rm -f libdricore.so $(TOP)/$(LIB_DIR)/libdricore.so
- -rm -f common/*.o
- -rm -f *.pc
-diff -up mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore mesa-20080814/src/mesa/drivers/dri/Makefile.template
---- mesa-20080814/src/mesa/drivers/dri/Makefile.template.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/drivers/dri/Makefile.template 2008-08-14 16:19:37.000000000 +1000
-@@ -1,6 +1,6 @@
- # -*-makefile-*-
-
--MESA_MODULES = $(TOP)/src/mesa/libmesa.a
-+MESA_MODULES = $(TOP)/$(LIB_DIR)/libdricore.so
-
- COMMON_SOURCES = \
- ../common/utils.c \
-@@ -64,7 +64,9 @@ default: symlinks depend $(LIBNAME) $(TO
-
- $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template
- $(MKLIB) -o $@ -noprefix -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-- $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS)
-+ $(OBJECTS) $(WINOBJ) \
-+ -L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore \
-+ $(DRI_LIB_DEPS)
-
-
- $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
-diff -up mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore mesa-20080814/src/mesa/x86/read_rgba_span_x86.S
---- mesa-20080814/src/mesa/x86/read_rgba_span_x86.S.dricore 2008-08-14 02:28:38.000000000 +1000
-+++ mesa-20080814/src/mesa/x86/read_rgba_span_x86.S 2008-08-14 16:16:49.000000000 +1000
-@@ -77,7 +77,6 @@
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_MMX
--.hidden _generic_read_RGBA_span_BGRA8888_REV_MMX
- .type _generic_read_RGBA_span_BGRA8888_REV_MMX, @function
- _generic_read_RGBA_span_BGRA8888_REV_MMX:
- pushl %ebx
-@@ -172,7 +171,6 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX
- */
-
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE:
- pushl %esi
-@@ -335,7 +333,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_BGRA8888_REV_SSE2
--.hidden _generic_read_RGBA_span_BGRA8888_REV_SSE2
- .type _generic_read_RGBA_span_BGRA8888_REV_SSE2, @function
- _generic_read_RGBA_span_BGRA8888_REV_SSE2:
- pushl %esi
-@@ -494,7 +491,6 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE
-
- .text
- .globl _generic_read_RGBA_span_RGB565_MMX
-- .hidden _generic_read_RGBA_span_RGB565_MMX
- .type _generic_read_RGBA_span_RGB565_MMX, @function
-
- _generic_read_RGBA_span_RGB565_MMX:
diff --git a/abs/core-testing/util-linux-ng/PKGBUILD b/abs/core-testing/util-linux-ng/PKGBUILD
index 3d72cbc..ef003b1 100644
--- a/abs/core-testing/util-linux-ng/PKGBUILD
+++ b/abs/core-testing/util-linux-ng/PKGBUILD
@@ -1,39 +1,41 @@
-# $Id: PKGBUILD 29509 2009-03-09 17:25:09Z tpowa $
+# $Id: PKGBUILD 84963 2010-07-05 23:24:20Z thomas $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=util-linux-ng
-pkgver=2.14.2
-_loop_date=20090214
-pkgrel=1
+pkgver=2.18
+pkgrel=2
pkgdesc="Miscellaneous system utilities for Linux"
url="http://userweb.kernel.org/~kzak/util-linux-ng/"
arch=('i686' 'x86_64')
groups=('base')
-depends=('bash' 'ncurses>=5.7' 'zlib' 'e2fsprogs')
+depends=('bash' 'ncurses>=5.7' 'zlib' 'filesystem')
replaces=('linux32' 'util-linux')
-conflicts=('linux32' 'util-linux')
+conflicts=('linux32' 'util-linux' 'e2fsprogs<1.41.8-2')
provides=('linux32' 'util-linux')
license=('GPL2')
-source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.14/${pkgname}-${pkgver}.tar.bz2
- http://loop-aes.sourceforge.net/updates/${pkgname}-${pkgver}-${_loop_date}.diff.bz2)
+options=('!libtool')
+source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.18/${pkgname}-${pkgver}.tar.bz2
+ fix-findmnt.patch)
+optdepends=('perl: for chkdupexe support')
install=util-linux-ng.install
-md5sums=('b9d0053a22cfcbf0b9c0aa6d6eccfbc8'
- '72c5b3e961efc1bda2750dbad019e414')
+md5sums=('2f5f71e6af969d041d73ab778c141a77'
+ '7346673932b165faadde2fa2a9c1cd3a')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # cryptoloop support
- patch -Np1 -i ${srcdir}/${pkgname}-${pkgver}-${_loop_date}.diff || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
# hardware clock
- sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i hwclock/hwclock.c
- mkdir -p ${startdir}/pkg/var/lib/hwclock
- ./configure --enable-arch --enable-write --enable-raw --disable-wall --enable-rdev
+ sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i hwclock/hwclock.c || return 1
+ mkdir -p "${pkgdir}/var/lib/hwclock" || return 1
+ # fix findmnt
+ patch -p1 -i "${srcdir}/fix-findmnt.patch"
+
+ autoreconf || return 1
+ automake || return 1
+ ./configure --enable-arch --enable-write --enable-raw --disable-wall --enable-rdev --enable-partx || return 1
make HAVE_SLN=yes ADD_RAW=yes || return 1
- make HAVE_SLN=yes ADD_RAW=yes DESTDIR=${startdir}/pkg install || return 1
+ make HAVE_SLN=yes ADD_RAW=yes DESTDIR="${pkgdir}" install || return 1
# remove files
- rm -f ${pkgdir}/bin/kill
- rm -f ${pkgdir}/usr/share/man/man1/kill.1
- rm -f ${pkgdir}/usr/share/man/man5/nfs.5
- rm -f ${pkgdir}/usr/share/info/dir
+ rm -f "${pkgdir}/bin/kill"
+ rm -f "${pkgdir}/usr/share/man/man1/kill.1"
+ rm -f "${pkgdir}/usr/share/man/man5/nfs.5"
+ rm -f "${pkgdir}/usr/share/info/dir"
}
-
diff --git a/abs/core-testing/util-linux-ng/fix-findmnt.patch b/abs/core-testing/util-linux-ng/fix-findmnt.patch
new file mode 100644
index 0000000..bf6574c
--- /dev/null
+++ b/abs/core-testing/util-linux-ng/fix-findmnt.patch
@@ -0,0 +1,24 @@
+commit a6c90fe597944f68fe49f45f1d8bc0d2e35104d4
+Author: Petr Uzel <petr.uzel-aRb0bU7PRFPrBKCeMvbIDA@public.gmane.org>
+Date: Sun Jul 4 20:02:57 2010 +0200
+
+ libmount: fix merge_optstr (do not truncate 3 trailing characters)
+
+ I believe this is the correct fix.
+
+ Signed-off-by: Petr Uzel <petr.uzel-aRb0bU7PRFPrBKCeMvbIDA@public.gmane.org>
+
+diff --git a/shlibs/mount/src/tab_parse.c b/shlibs/mount/src/tab_parse.c
+index 5dbcfa6..680e1fc 100644
+--- a/shlibs/mount/src/tab_parse.c
++++ b/shlibs/mount/src/tab_parse.c
+@@ -254,7 +254,8 @@ static char *merge_optstr(const char *vfs, const char *fs)
+ if (!strcmp(vfs, fs))
+ return strdup(vfs); /* e.g. "aaa" and "aaa" */
+
+- sz = strlen(vfs) + strlen(fs) + 2;
++ /* leave space for leading "r[ow],", "," and trailing zero */
++ sz = strlen(vfs) + strlen(fs) + 5;
+ res = malloc(sz);
+ if (!res)
+ return NULL;
diff --git a/abs/core-testing/util-linux-ng/util-linux-ng.install b/abs/core-testing/util-linux-ng/util-linux-ng.install
index 22d38db..b057db9 100644
--- a/abs/core-testing/util-linux-ng/util-linux-ng.install
+++ b/abs/core-testing/util-linux-ng/util-linux-ng.install
@@ -1,5 +1,5 @@
infodir=/usr/share/info
-filelist=(ipc.info)
+filelist=(ipc.info.gz)
post_install() {
[ -x usr/bin/install-info ] || return 0
diff --git a/abs/core-testing/wpa_supplicant/PKGBUILD b/abs/core-testing/wpa_supplicant/PKGBUILD
index 3ecc4a8..0e709fb 100644
--- a/abs/core-testing/wpa_supplicant/PKGBUILD
+++ b/abs/core-testing/wpa_supplicant/PKGBUILD
@@ -1,13 +1,12 @@
-# $Id: PKGBUILD 32196 2009-03-29 14:55:53Z thomas $
+# $Id: PKGBUILD 75193 2010-04-01 02:03:01Z pierre $
# Maintainer: Thomas Baechler <thomas@archlinux.org>
pkgname=wpa_supplicant
-pkgver=0.6.9
-#_madwifi_ver=0.9.4
-pkgrel=1
+pkgver=0.6.10
+pkgrel=2
pkgdesc="A utility providing key negotiation for WPA wireless networks"
arch=('i686' 'x86_64')
-depends=('openssl' 'dbus-core>=1.2.4' 'readline' 'libnl')
+depends=('openssl' 'dbus-core>=1.2.4' 'readline>=6.0' 'libnl')
optdepends=('wpa_supplicant_gui: wpa_gui program')
license=('GPL')
groups=('base')
@@ -15,18 +14,18 @@ backup=('etc/wpa_supplicant.conf')
url="http://hostap.epitest.fi/wpa_supplicant"
source=(http://hostap.epitest.fi/releases/wpa_supplicant-$pkgver.tar.gz
config)
- #http://downloads.sourceforge.net/sourceforge/madwifi/madwifi-${_madwifi_ver}.tar.gz)
-md5sums=('0efb8fcedf0a8acf6f423dfdb0658fdd'
- 'd472554904cca44e1090e25dea7b03c9')
- #'399d20de8d855a59f20058857c2178ad')
+md5sums=('8985b1030d753e5f74f8acfc34e591bb'
+ '6577abc7060ed2d45dba14bf8934e850')
build() {
- cd "${srcdir}"
- #mv madwifi-${_madwifi_ver} madwifi
cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}"
cp ${srcdir}/config ./.config
sed -i 's@/usr/local@$(PREFIX)@g' Makefile
make || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}"
make PREFIX=/usr DESTDIR="${pkgdir}" install || return 1
install -m755 -d "${pkgdir}/etc"
install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant.conf" || return 1
diff --git a/abs/core-testing/wpa_supplicant/config b/abs/core-testing/wpa_supplicant/config
index e3582bf..e5c8cc7 100644
--- a/abs/core-testing/wpa_supplicant/config
+++ b/abs/core-testing/wpa_supplicant/config
@@ -50,6 +50,7 @@
#CFLAGS += -I../../include/wireless
# Driver interface for madwifi driver
+# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
#CONFIG_DRIVER_MADWIFI=y
# Set include directory to the madwifi source tree
#CFLAGS += -I../../madwifi
@@ -60,10 +61,11 @@
#CONFIG_DRIVER_PRISM54=y
# Driver interface for ndiswrapper
-CONFIG_DRIVER_NDISWRAPPER=y
+# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
+#CONFIG_DRIVER_NDISWRAPPER=y
# Driver interface for Atmel driver
-CONFIG_DRIVER_ATMEL=y
+#CONFIG_DRIVER_ATMEL=y
# Driver interface for old Broadcom driver
# Please note that the newer Broadcom driver ("hybrid Linux driver") supports
@@ -74,6 +76,7 @@ CONFIG_DRIVER_ATMEL=y
#CFLAGS += -I/opt/WRT54GS/release/src/include
# Driver interface for Intel ipw2100/2200 driver
+# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
#CONFIG_DRIVER_IPW=y
# Driver interface for Ralink driver
@@ -372,7 +375,7 @@ CONFIG_CTRL_IFACE_DBUS=y
#CONFIG_IEEE80211R=y
# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
-#CONFIG_DEBUG_FILE=y
+CONFIG_DEBUG_FILE=y
# Enable privilege separation (see README 'Privilege separation' for details)
#CONFIG_PRIVSEP=y
diff --git a/abs/core-testing/xcb-proto/PKGBUILD b/abs/core-testing/xcb-proto/PKGBUILD
index b80602a..c95c2c5 100644
--- a/abs/core-testing/xcb-proto/PKGBUILD
+++ b/abs/core-testing/xcb-proto/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 27497 2009-02-22 09:20:47Z andyrtr $
+# $Id: PKGBUILD 61568 2009-12-19 19:52:55Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=xcb-proto
-pkgver=1.4
+pkgver=1.6
pkgrel=1
pkgdesc="XML-XCB protocol descriptions"
-arch=(i686 x86_64)
+arch=(any)
url="http://xcb.freedesktop.org/"
license=('custom')
makedepends=('python' 'libxml2')
source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('45a599289a81189b9812ccb00911eed8')
+sha1sums=('e82418557c7f59f29da9ec18e0906d6d78e3a164')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/xcb-util/LICENSE b/abs/core-testing/xcb-util/LICENSE
new file mode 100644
index 0000000..5e3822c
--- /dev/null
+++ b/abs/core-testing/xcb-util/LICENSE
@@ -0,0 +1,267 @@
+/* Copyright (C) 2007 Bart Massey
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008-2009 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright (C) 2008 Arnaud Fontaine <arnau@debian.org>
+ * Copyright (C) 2007-2008 Vincent Torri <vtorri@univ-evry.fr>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ * Copyright © 2008 Julien Danjou <julien@danjou.info>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Keith Packard <keithp@keithp.com>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Bart Massey <bart@cs.pdx.edu>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/*
+ * Copyright © 2008 Ian Osgood <iano@quirkster.com>
+ * Copyright © 2008 Jamey Sharp <jamey@minilop.net>
+ * Copyright © 2008 Josh Triplett <josh@freedesktop.org>
+ * Copyright © 2008 Ulrich Eckhardt <doomster@knuut.de>
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or
+ * their institutions shall not be used in advertising or otherwise to
+ * promote the sale, use or other dealings in this Software without
+ * prior written authorization from the authors.
+ */
+
+/* Copyright © 2006 Jamey Sharp.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2006 Ian Osgood
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the names of the authors or their
+ * institutions shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the authors.
+ */
+
+/* Copyright © 2000 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/abs/core-testing/xcb-util/PKGBUILD b/abs/core-testing/xcb-util/PKGBUILD
index 734f57d..6d1ccd2 100644
--- a/abs/core-testing/xcb-util/PKGBUILD
+++ b/abs/core-testing/xcb-util/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: $
+# $Id: PKGBUILD 50451 2009-08-27 10:03:32Z andrea $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Andrea Scarpino <bash.lnx@gmail.com>
pkgname=xcb-util
-pkgver=0.3.2
+pkgver=0.3.6
pkgrel=1
pkgdesc="Utility libraries for XC Binding"
arch=('i686' 'x86_64')
-license=('GPL')
url="http://xcb.freedesktop.org"
-depends=('libxcb>=1.1.90.1')
+license=('custom')
+depends=('libxcb>=1.4')
makedepends=('gperf')
options=('!libtool')
-source=(http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('fa41a147f5a63b01207cfd975fecc45c')
+source=(http://xcb.freedesktop.org/dist/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('dd8968b8ee613cb027a8ef1fcbdc8fc9'
+ '2672c2e72dedb40f773e989dd622f298')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xcursor-themes/LICENSE b/abs/core-testing/xcursor-themes/LICENSE
new file mode 100644
index 0000000..787374a
--- /dev/null
+++ b/abs/core-testing/xcursor-themes/LICENSE
@@ -0,0 +1,24 @@
+Copyright 1996-2002 Software in the Public Interest, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+SOFTWARE IN THE PUBLIC INTEREST, INC. 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 Software in the Public
+Interest, Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from Software in the Public Interest, Inc.
diff --git a/abs/core-testing/xcursor-themes/PKGBUILD b/abs/core-testing/xcursor-themes/PKGBUILD
index 6bc9ddc..7d3f1a8 100644
--- a/abs/core-testing/xcursor-themes/PKGBUILD
+++ b/abs/core-testing/xcursor-themes/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 55317 2009-10-12 17:17:21Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xcursor-themes
-pkgver=1.0.1
+pkgver=1.0.2
pkgrel=1
pkgdesc="X.org Cursor themes"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('MIT')
makedepends=('pkgconfig' 'xorg-apps')
-source=(${url}/releases/individual/data/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('014bad415e64c49994679cdb71a97e37')
+source=(${url}/releases/individual/data/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+md5sums=('e8929a1bb4d98d1a3991fd340d0b5f09'
+ '31eccf56949504b5ce33110068948cf2')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
-
diff --git a/abs/core-testing/xextproto/PKGBUILD b/abs/core-testing/xextproto/PKGBUILD
index a22207c..41e5bbb 100644
--- a/abs/core-testing/xextproto/PKGBUILD
+++ b/abs/core-testing/xextproto/PKGBUILD
@@ -1,17 +1,15 @@
-# $Id: PKGBUILD 26846 2009-02-13 15:23:45Z andyrtr $
+# $Id: PKGBUILD 54536 2009-10-11 09:34:38Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xextproto
-pkgver=7.0.5
+pkgver=7.1.1
pkgrel=1
pkgdesc="X11 various extension wire protocol"
-arch=(i686 x86_64)
+arch=('any')
license=('custom')
-depends=('inputproto>=1.5')
url="http://xorg.freedesktop.org/"
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('e6841018a7c64983b0954aa2c564d115')
-sha1sums=('d62e704039e7c647da66c9a6531ebdede37dace8')
+md5sums=('fb6ccaae76db7a35e49b12aea60ca6ff')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/xf86-input-calcomp/PKGBUILD b/abs/core-testing/xf86-input-calcomp/PKGBUILD
deleted file mode 100644
index 2792455..0000000
--- a/abs/core-testing/xf86-input-calcomp/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11000 2008-08-31 13:46:51Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-calcomp
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.Org CalComp Drawing Board input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('ebc9a64dc72ae3015c16011bbd2d3557')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-citron/PKGBUILD b/abs/core-testing/xf86-input-citron/PKGBUILD
deleted file mode 100644
index 1cd8713..0000000
--- a/abs/core-testing/xf86-input-citron/PKGBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-citron
-pkgver=2.2.1
-pkgrel=1
-pkgdesc="X.Org Citron Infrared Touch input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --build=${CHOST} --host=${CHOST}
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
-md5sums=('4e254fcefb3bea55772e63c12570f6d9')
diff --git a/abs/core-testing/xf86-input-digitaledge/PKGBUILD b/abs/core-testing/xf86-input-digitaledge/PKGBUILD
deleted file mode 100644
index fcdfd1a..0000000
--- a/abs/core-testing/xf86-input-digitaledge/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11039 2008-08-31 13:50:33Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-digitaledge
-pkgver=1.1.1
-pkgrel=1
-pkgdesc="X.Org Digital Edge Tablet input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('4c27e0f3c6447e76df39a837fd46a00f')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-dmc/PKGBUILD b/abs/core-testing/xf86-input-dmc/PKGBUILD
deleted file mode 100644
index afc4e86..0000000
--- a/abs/core-testing/xf86-input-dmc/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11060 2008-08-31 13:52:40Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-dmc
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.Org DMC FIT10 serial input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('91021ea8f3593221c0d9ee9cc14deb48')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-dynapro/PKGBUILD b/abs/core-testing/xf86-input-dynapro/PKGBUILD
deleted file mode 100644
index 4043a9f..0000000
--- a/abs/core-testing/xf86-input-dynapro/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11063 2008-08-31 13:54:38Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-dynapro
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.org DynaPro Touch Screen input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('ceb5efbd3d62e24ab3a5f9f180777f7c')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-elo2300/PKGBUILD b/abs/core-testing/xf86-input-elo2300/PKGBUILD
deleted file mode 100644
index da91799..0000000
--- a/abs/core-testing/xf86-input-elo2300/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 3251 2008-06-21 18:19:51Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-elo2300
-pkgver=1.1.2
-pkgrel=1
-pkgdesc="X.org ELOGraphics 2300 TouchScreen input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('611d0a77a80286bc926dd3c414e59555')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-evdev/PKGBUILD b/abs/core-testing/xf86-input-evdev/PKGBUILD
index 1ff72c5..3b43991 100644
--- a/abs/core-testing/xf86-input-evdev/PKGBUILD
+++ b/abs/core-testing/xf86-input-evdev/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 26856 2009-02-13 15:54:01Z andyrtr $
-# Maintainer: Alexander Baldeck <Alexander@archlinux.org
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 76112 2010-04-07 19:40:40Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <Alexander@archlinux.org
pkgname=xf86-input-evdev
-pkgver=2.1.2
+pkgver=2.4.0
pkgrel=1
pkgdesc="X.org evdev input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'inputproto>=1.5.0' 'randrproto>=1.2.1')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'inputproto>=2.0' 'randrproto>=1.3.1')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-input-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('c27944124b31fa08ac13f244eb42c3fa')
+sha1sums=('875dd3c35f8d0f409337b932d82a46da0e9570e7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/xf86-input-jamstudio/PKGBUILD b/abs/core-testing/xf86-input-jamstudio/PKGBUILD
deleted file mode 100644
index 35036e2..0000000
--- a/abs/core-testing/xf86-input-jamstudio/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11114 2008-08-31 14:00:38Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-jamstudio
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.Org KB-Gear JamStudio pentablet input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('8011f90d7dd801d26e8c3dd058633978')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-magellan/PKGBUILD b/abs/core-testing/xf86-input-magellan/PKGBUILD
deleted file mode 100644
index 9ed417a..0000000
--- a/abs/core-testing/xf86-input-magellan/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11137 2008-08-31 14:03:11Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-magellan
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.Org Magellan Space mouse input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('9801ba10f15f8be2420dfb3f3b5d5d27')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-magictouch/PKGBUILD b/abs/core-testing/xf86-input-magictouch/PKGBUILD
deleted file mode 100644
index 70c417e..0000000
--- a/abs/core-testing/xf86-input-magictouch/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 20562 2008-12-05 20:36:01Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-magictouch
-pkgver=1.0.0.5
-pkgrel=5
-pkgdesc="X.org magictouch input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.1.1')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('d23f2791cd634ef85b7cc5e9da8f8407')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/core-testing/xf86-input-microtouch/PKGBUILD b/abs/core-testing/xf86-input-microtouch/PKGBUILD
deleted file mode 100644
index 5984af1..0000000
--- a/abs/core-testing/xf86-input-microtouch/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11144 2008-08-31 14:03:49Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-microtouch
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org microtouch input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('1ad1aee7d8df84b9ea832d1e75963257')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-palmax/PKGBUILD b/abs/core-testing/xf86-input-palmax/PKGBUILD
deleted file mode 100644
index 45c4da1..0000000
--- a/abs/core-testing/xf86-input-palmax/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11159 2008-08-31 14:05:43Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-palmax
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org palmax input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('9655d2235569c5a6ac321c6fb89a6f3b')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-spaceorb/PKGBUILD b/abs/core-testing/xf86-input-spaceorb/PKGBUILD
deleted file mode 100644
index 7291085..0000000
--- a/abs/core-testing/xf86-input-spaceorb/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=xf86-input-spaceorb
-pkgver=1.1.1
-pkgrel=1
-pkgdesc="X.org spaceorb input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --build=${CHOST} --host=${CHOST}
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
-md5sums=('c7fb96281874733480ba86a5a0a3b5af')
diff --git a/abs/core-testing/xf86-input-summa/PKGBUILD b/abs/core-testing/xf86-input-summa/PKGBUILD
deleted file mode 100644
index abbae8a..0000000
--- a/abs/core-testing/xf86-input-summa/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11181 2008-08-31 14:11:07Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-summa
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org summa input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-options=('!libtool')
-groups=('xorg-input-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('7e17468c0d90dcbbb6202a8242efff4b')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-tek4957/PKGBUILD b/abs/core-testing/xf86-input-tek4957/PKGBUILD
deleted file mode 100644
index afa4498..0000000
--- a/abs/core-testing/xf86-input-tek4957/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 11210 2008-08-31 14:13:46Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-tek4957
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="X.org tek4957 input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('8103db1ca5c55726e0b58148e4b1fc06')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/abs/core-testing/xf86-input-ur98/PKGBUILD b/abs/core-testing/xf86-input-ur98/PKGBUILD
deleted file mode 100644
index 6c1ec76..0000000
--- a/abs/core-testing/xf86-input-ur98/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 20489 2008-12-05 10:09:15Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-input-ur98
-pkgver=1.1.0
-pkgrel=4
-pkgdesc="X.org ur98 input driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.1.1')
-groups=('xorg-input-drivers')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('3cf8928411458baaa9e726e51772c550')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/core-testing/xf86-video-apm/LICENSE b/abs/core-testing/xf86-video-apm/LICENSE
new file mode 100644
index 0000000..d8b6af7
--- /dev/null
+++ b/abs/core-testing/xf86-video-apm/LICENSE
@@ -0,0 +1,92 @@
+# Copyright 2005 Adam Jackson.
+#
+# 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
+# on the rights to use, copy, modify, merge, publish, distribute, sub
+# license, 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 (including the next
+# paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+# ADAM JACKSON 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.
+
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the copyright holders shall
+# not be used in advertising or otherwise to promote the sale, use or
+# other dealings in this Software without prior written authorization
+# from the copyright holders.
+#
+
+/*
+ * Copyright 2007 George Sapountzis
+ *
+ * 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 (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished 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, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.
diff --git a/abs/core-testing/xf86-video-apm/PKGBUILD b/abs/core-testing/xf86-video-apm/PKGBUILD
index 4ed1cff..42b11a4 100644
--- a/abs/core-testing/xf86-video-apm/PKGBUILD
+++ b/abs/core-testing/xf86-video-apm/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 22289 2008-12-25 17:19:55Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75949 2010-04-04 20:19:39Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-apm
-pkgver=1.2.1
-pkgrel=1
+pkgver=1.2.2
+pkgrel=3
pkgdesc="X.org Alliance ProMotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('673c93df004bb857dc89ae9c78ccf907')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('48441a19aaf015570b267f2a8e67d8ab'
+ '2b3c2bcfb649de50646172064bc02b14')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-ark/LICENSE b/abs/core-testing/xf86-video-ark/LICENSE
new file mode 100644
index 0000000..aa45556
--- /dev/null
+++ b/abs/core-testing/xf86-video-ark/LICENSE
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2000 Ani Joshi <ajoshi@unixbox.com>
+ *
+ * XFree86 4.x driver for ARK Logic chipset
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation and
+ * that the name of Ani Joshi not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. Ani Joshi makes no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as-is" without express or implied warranty.
+ *
+ * ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ *
+ *
+ * Based on the 3.3.x driver by:
+ * Harm Hanemaayer <H.Hanemaayer@inter.nl.net>
+ *
+ */
+
+# Copyright 2005 Adam Jackson.
+#
+# 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
+# on the rights to use, copy, modify, merge, publish, distribute, sub
+# license, 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 (including the next
+# paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+# ADAM JACKSON 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.
diff --git a/abs/core-testing/xf86-video-ark/PKGBUILD b/abs/core-testing/xf86-video-ark/PKGBUILD
index 288686c..c9d5ba4 100644
--- a/abs/core-testing/xf86-video-ark/PKGBUILD
+++ b/abs/core-testing/xf86-video-ark/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 22271 2008-12-25 16:54:52Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75952 2010-04-04 20:22:19Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-ark
-pkgver=0.7.1
-pkgrel=1
+pkgver=0.7.2
+pkgrel=2
pkgdesc="X.org ark video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('be91391f061863617018403cdbd2944f')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+md5sums=('4745f5c722b030962cc56eb2443894a0'
+ 'cd9575e3812a060f316b98ca7e91bc7a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core-testing/xf86-video-ati/PKGBUILD b/abs/core-testing/xf86-video-ati/PKGBUILD
index 1a7f5fe..d4d2114 100644
--- a/abs/core-testing/xf86-video-ati/PKGBUILD
+++ b/abs/core-testing/xf86-video-ati/PKGBUILD
@@ -1,25 +1,28 @@
-# $Id: PKGBUILD 24044 2009-01-12 11:44:28Z giovanni $
+# $Id: PKGBUILD 85331 2010-07-12 17:11:18Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
pkgname=xf86-video-ati
-pkgver=6.10.0
+pkgver=6.13.1
pkgrel=1
pkgdesc="X.org ati video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libpciaccess' 'ati-dri>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'fontsproto'
- 'glproto>=1.4.9' 'xf86driproto' 'diffutils' 'xorg-util-macros')
-conflicts=('xorg-server<1.5.3')
+license=('custom')
+depends=('libdrm>=2.4.20' 'libpciaccess' 'ati-dri>=7.8.1' 'pixman>=0.18.0')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'fontsproto' 'glproto>=1.4.11' 'xf86driproto' 'diffutils' 'xorg-util-macros' 'xineramaproto' 'mesa>=7.8.1')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
-options=('!libtool')
+options=('!libtool' 'force')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6445815b12ffa4ccd1aafd43640f466d')
+sha1sums=('74a8e647e3149af0b1eb1baf58ef1b69b44f0228')
+
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make "DESTDIR=${pkgdir}" install || return 1
+ ./configure --prefix=/usr --enable-dri
+ make
+ make "DESTDIR=${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xf86-video-chips/LICENSE b/abs/core-testing/xf86-video-chips/LICENSE
new file mode 100644
index 0000000..312a710
--- /dev/null
+++ b/abs/core-testing/xf86-video-chips/LICENSE
@@ -0,0 +1,89 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1993 by Jon Block <block@frc.com>
+Modified by Mike Hollick <hollick@graphics.cis.upenn.edu>
+Modified 1994 by Régis Cridlig <cridlig@dmi.ens.fr>
+
+Major Contributors to XFree86 3.2
+Modified 1995/6 by Nozomi Ytow
+Modified 1996 by Egbert Eich <eich@xfree86.org>
+Modified 1996 by David Bateman <dbateman@club-internet.fr>
+Modified 1996 by Xavier Ducoin <xavier@rd.lectra.fr>
+
+Contributors to XFree86 3.2
+Modified 1995/6 by Ken Raeburn <raeburn@raeburn.org>
+Modified 1996 by Shigehiro Nomura <nomura@sm.sony.co.jp>
+Modified 1996 by Marc de Courville <marc@courville.org>
+Modified 1996 by Adam Sulmicki <adam@cfar.umd.edu>
+Modified 1996 by Jens Maurer <jmaurer@cck.uni-kl.de>
+
+Large parts rewritten for XFree86 4.0
+Modified 1998 by David Bateman <dbateman@club-internet.fr>
+Modified 1998 by Egbert Eich <eich@xfree86.org>
+Modified 1998 by Nozomi Ytow
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the authors not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. The authors makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 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.
+
+Copyright 1994 The XFree86 Project
+
+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.
diff --git a/abs/core-testing/xf86-video-chips/PKGBUILD b/abs/core-testing/xf86-video-chips/PKGBUILD
index f63366d..242dcf3 100644
--- a/abs/core-testing/xf86-video-chips/PKGBUILD
+++ b/abs/core-testing/xf86-video-chips/PKGBUILD
@@ -1,23 +1,29 @@
-# $Id: PKGBUILD 22287 2008-12-25 17:17:00Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75943 2010-04-04 20:08:36Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-chips
-pkgver=1.2.1
-pkgrel=1
+pkgver=1.2.2
+pkgrel=3
pkgdesc="X.org Chips and Technologies video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=(glibc)
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('2f2643fca6335f18024bffa6c4e0c12f')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+sha1sums=('3990bc1cf4e8963164b3a38b15f92bc87da9278c'
+ '89ef876d4e3913775190f39902da6421d808eed2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+ ./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+
}
diff --git a/abs/core-testing/xf86-video-cirrus/LICENSE b/abs/core-testing/xf86-video-cirrus/LICENSE
new file mode 100644
index 0000000..bb283cf
--- /dev/null
+++ b/abs/core-testing/xf86-video-cirrus/LICENSE
@@ -0,0 +1,22 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 2000 by Egbert Eich
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Alan Hourihane not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Alan Hourihane makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+EGBERT EICH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core-testing/xf86-video-cirrus/PKGBUILD b/abs/core-testing/xf86-video-cirrus/PKGBUILD
index 4527182..df16e93 100644
--- a/abs/core-testing/xf86-video-cirrus/PKGBUILD
+++ b/abs/core-testing/xf86-video-cirrus/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 11420 2008-08-31 15:22:15Z jgc $
+# $Id: PKGBUILD 75940 2010-04-04 20:06:47Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-cirrus
-pkgver=1.2.1
-pkgrel=2
+pkgver=1.3.2
+pkgrel=3
pkgdesc="X.org Cirrus Logic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('bc28fdedaee9059180e2534f9dbcd2f6')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('8195d03ed0be0975c03441e66a9f53b3'
+ 'b9b570ac5c03f1fbe3e0cee5fe884b82')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-dummy/PKGBUILD b/abs/core-testing/xf86-video-dummy/PKGBUILD
index b060c9c..66a6369 100644
--- a/abs/core-testing/xf86-video-dummy/PKGBUILD
+++ b/abs/core-testing/xf86-video-dummy/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11419 2008-08-31 15:22:13Z jgc $
+# $Id: PKGBUILD 85378 2010-07-12 17:43:44Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-dummy
-pkgver=0.3.0
+pkgver=0.3.4
pkgrel=1
pkgdesc="X.org dummy video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('3d96297556846bee02a74166ffb5d052')
+sha1sums=('876ed7165ea2821bbddd73232a1ce0b79c1f14ff')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xf86-video-fbdev/PKGBUILD b/abs/core-testing/xf86-video-fbdev/PKGBUILD
index 05bcbca..8fd3a88 100644
--- a/abs/core-testing/xf86-video-fbdev/PKGBUILD
+++ b/abs/core-testing/xf86-video-fbdev/PKGBUILD
@@ -1,26 +1,26 @@
-# $Id: PKGBUILD 11425 2008-08-31 15:24:08Z jgc $
+# $Id: PKGBUILD 75934 2010-04-04 20:02:12Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-fbdev
-pkgver=0.4.0
+pkgver=0.4.2
pkgrel=1
pkgdesc="X.org framebuffer video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6572b39fec77b8e6de1c858a93992924')
+sha1sums=('c8562f997d56c9fec50df6ca9892f39f43ff4c2c')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xf86-video-geode/PKGBUILD b/abs/core-testing/xf86-video-geode/PKGBUILD
new file mode 100644
index 0000000..efcca1c
--- /dev/null
+++ b/abs/core-testing/xf86-video-geode/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 55526 2009-10-13 18:33:58Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-geode
+pkgver=2.11.6
+pkgrel=1
+pkgdesc="X.org AMD/Geode LX & NX video driver"
+# there is no 64bit geode yet! (does not build either, i386 ASM)
+arch=(i686)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('glibc')
+makedepends=('pkgconfig' 'xorg-server>=1.7.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.7.0')
+options=('!libtool')
+conflicts=('xf86-video-amd')
+replaces=('xf86-video-amd')
+groups=('xorg-video-drivers')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('3ff0dfb4b3bd8872c6efb70371cb6b98')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --enable-visibility || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+}
diff --git a/abs/core-testing/xf86-video-glint/LICENSE b/abs/core-testing/xf86-video-glint/LICENSE
new file mode 100644
index 0000000..b4ca2d4
--- /dev/null
+++ b/abs/core-testing/xf86-video-glint/LICENSE
@@ -0,0 +1,84 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1998-2001 by Alan Hourihane, Wigan, England.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Alan Hourihane not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Alan Hourihane makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, 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 (including the
+next paragraph) 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 NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
+
+Copyright (C) 1998-2000 Michael H. Schimek <m.schimek@netway.at>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
+Copyright 2000-2001 by Sven Luther <luther@dpt-info.u-strasbg.fr>.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Sven Luther not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Sven Luther makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+SVEN LUTHER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL SVEN LUTHER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core-testing/xf86-video-glint/PKGBUILD b/abs/core-testing/xf86-video-glint/PKGBUILD
index f52d528..46e6f4d 100644
--- a/abs/core-testing/xf86-video-glint/PKGBUILD
+++ b/abs/core-testing/xf86-video-glint/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 22285 2008-12-25 17:13:14Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75931 2010-04-04 20:00:07Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-glint
-pkgver=1.2.2
-pkgrel=1
+pkgver=1.2.4
+pkgrel=3
pkgdesc="X.org GLINT/Permedia video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('4295a46a75fa98470c6dfb0e1a4f7e9f')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('960df34e129faa411e58c0d6b56d79a3'
+ '996937b1e1d13f721b0e467fb8824780')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
+ ./configure --prefix=/usr --disable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-i128/LICENSE b/abs/core-testing/xf86-video-i128/LICENSE
new file mode 100644
index 0000000..485a648
--- /dev/null
+++ b/abs/core-testing/xf86-video-i128/LICENSE
@@ -0,0 +1,23 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1995-2000 by Robin Cutshaw <robin@XFree86.Org>
+Copyright 1998 by Number Nine Visual Technology, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Robin Cutshaw not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Robin Cutshaw and Number Nine make no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+ROBIN CUTSHAW AND NUMBER NINE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL ROBIN CUTSHAW OR NUMBER NINE BE LIABLE FOR
+ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core-testing/xf86-video-i128/PKGBUILD b/abs/core-testing/xf86-video-i128/PKGBUILD
index 2c98984..a0d40f8 100644
--- a/abs/core-testing/xf86-video-i128/PKGBUILD
+++ b/abs/core-testing/xf86-video-i128/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 11431 2008-08-31 15:26:32Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75928 2010-04-04 19:57:09Z jgc $
+# Maintainer:Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-i128
-pkgver=1.3.0
-pkgrel=1
+pkgver=1.3.3
+pkgrel=3
pkgdesc="X.org Number 9 I128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('aff4922d2f02bad7e0d8649358edbcee')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('a597e8efeec6ab8bc6ba6d87fceb2dba'
+ '5254db2a1bea032ff22e86446d8e573a')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-i740/LICENSE b/abs/core-testing/xf86-video-i740/LICENSE
new file mode 100644
index 0000000..1aace06
--- /dev/null
+++ b/abs/core-testing/xf86-video-i740/LICENSE
@@ -0,0 +1,47 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, 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 (including the
+next paragraph) 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 NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
+
+
+Copyright 2001 by Patrick LERDA
+Portions Copyright by Stephen Blackheath
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Patrick LERDA not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Patrick LERDA makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+PATRICK LERDA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL PATRICK LERDA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core-testing/xf86-video-i740/PKGBUILD b/abs/core-testing/xf86-video-i740/PKGBUILD
index 3e0fd57..b3af79f 100644
--- a/abs/core-testing/xf86-video-i740/PKGBUILD
+++ b/abs/core-testing/xf86-video-i740/PKGBUILD
@@ -1,22 +1,27 @@
-# $Id: PKGBUILD 11440 2008-08-31 15:37:53Z jgc $
+# $Id: PKGBUILD 75925 2010-04-04 19:55:01Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-i740
-pkgver=1.2.0
-pkgrel=1
+pkgver=1.3.2
+pkgrel=3
pkgdesc="X.org Intel i740 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('d0e5a805c546b29b1dd3b55a68d16dc4')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('4ac1318788f62159965f15131c869e7a'
+ '23a6d421e7529393969df8b65e88d607')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-intel/LICENSE b/abs/core-testing/xf86-video-intel/LICENSE
new file mode 100644
index 0000000..a4c83af
--- /dev/null
+++ b/abs/core-testing/xf86-video-intel/LICENSE
@@ -0,0 +1,440 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+This copyright file is based on xf86-video-intel 2.3.1.
+
+The files under src/modes/ and src/parser/ are stolen from the xorg-server
+source.
+
+The authors of this core are, see below for copyright declarations.
+
+* Alan Hourihane <alanh@fairlite.demon.co.uk> / <alanh@tungstengraphics.com>
+* Bob Paauwe <bob.j.paauwe@intel.com>
+* Dave Airlie <airlied@linux.ie>
+* Dave Mueller <dave.mueller@gmx.ch>
+* David Dawes <dawes@xfree86.org>
+* Eric Anholt <eric@anholt.net>
+* Jens Owen <jens@tungstengraphics.com>
+* Jesse Barnes <jbarnes@virtuousgeek.org>
+* Jonathan Bian <jonathan.bian@intel.com>
+* Keith Packard <keithp@keithp.com>
+* Keith Whitwell <keith@tungstengraphics.com>
+* Kevin E. Martin <kevin@precisioninsight.com> / <martin@valinux.com>
+* Kristian Høgsberg <krh@redhat.com>
+* Luc Verhaegen
+* Matt Sottek <matthew.j.sottek@intel.com>
+* Rickard E. (Rik) Faith <faith@valinux.com>
+* Thomas Hellstrom
+* Wang Zhenyu <zhenyu.z.wang@intel.com>
+* Xiang Haihao <haihao.xiang@intel.com>
+
+====
+
+Most of the code is covered by the MIT/X11 license:
+
+-
+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, sub license, 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 (including the
+next paragraph) 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 NON-INFRINGEMENT.
+IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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.
+-
+
+The copyright holders are:
+
+* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas:
+src/i810_accel.c
+src/i810_wmark.c
+src/i810_reg.h
+src/i810_driver.c
+src/i810_memory.c
+src/i810_io.c
+src/i810_cursor.c
+src/i830_accel.c
+src/i830_xaa.c
+src/i830_exa.c
+
+* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+* Copyright 2000 VA Linux Systems, Inc.
+src/xvmc/xf86dri.h
+src/xvmc/xf86dri.c
+
+* Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+* Copyright 2002 David Dawes
+src/i830_memory.c
+src/i830.h
+src/i830_ring.h
+src/i830_cursor.c
+src/i810_ring.h
+src/i810.h
+src/common.h
+src/xvmc/xf86dristr.h
+
+* Copyright 2000 Intel Corporation. All Rights Reserved:
+src/i810_hwmc.c
+src/i830_video.h
+src/i810_video.c
+src/i830_video.c
+
+* Copyright 2001 Intel Corporation. All Rights Reserved.
+src/xvmc/I810XvMC.h
+src/xvmc/I810XvMC.c
+
+* Copyright 2001 VA Linux Systems Inc., Fremont, California.
+* Copyright 2002 by David Dawes
+src/i830_dri.c
+src/i830_driver.c
+
+* Copyright 2001 VA Linux Systems Inc., Fremont, California.
+* Copyright 2002 Tungsten Graphics Inc., Cedar Park, Texas.
+src/i830_common.h
+
+* Copyright 2002 David Dawes
+* Copyright 2006 Intel Corporation
+src/i830_modes.c
+
+* Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
+src/i810_common.h
+
+* Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
+src/i830_reg.h
+src/i830_3d.c
+src/i915_3d.c
+src/i915_reg.h
+src/xvmc/intel_batchbuffer.c
+
+* Copyright 2005 Tungsten Graphics, Inc., Cedar Park, Texas.
+src/brw_structs.h
+src/brw_defines.h
+
+* Copyright 2005 Red Hat, Inc.
+src/i830_io.c
+
+* Copyright 2005 Adam Jackson:
+src/Makefile.am
+
+* Copyright (c) 2005 Jesse Barnes
+src/i830_exa.c
+
+* Copyright 2005 Thomas Hellstrom. All rights reserved.
+src/xvmc/driDrawable.c
+src/xvmc/driDrawable.h
+
+* Copyright 2005-2006 Luc Verhaegen.
+src/modes/xf86cvt.c
+
+* Copyright 2006 Luc Verhaegen.
+src/modes/xf86EdidModes.c
+
+* Copyright 2006 Dave Airlie <airlied@linux.ie>
+src/i830_i2c.c
+src/i830_sdvo.c
+src/i830_dvo.c
+src/sil164/sil164.c
+src/sil164/sil164.h
+src/sil164/sil164_reg.h
+src/ch7xxx/ch7xxx_reg.h
+src/ch7xxx/ch7xxx.c
+src/ch7xxx/ch7xxx.h
+
+* Copyright 2006 Intel Corporation:
+src/xvmc/i915_xvmc.c
+src/xvmc/i915_xvmc.h
+src/xvmc/i915_structs.h
+src/i915_hwmc.h
+src/i915_hwmc.c
+src/i915_video.c
+src/i915_render.c
+src/i915_3d.h
+src/exa_wm.g4i
+src/exa_wm_src_sample_argb.g4a
+src/exa_wm_mask_affine.g4a
+src/exa_wm_projective.g4i
+src/exa_sf.g4a
+src/exa_wm_affine.g4i
+src/exa_wm_mask_sample_a.g4a
+src/exa_sf_mask.g4a
+src/exa_wm_write.g4a
+src/exa_wm_mask_sample_argb.g4a
+src/exa_wm_ca.g4a
+src/exa_wm_src_affine.g4a
+src/exa_wm_xy.g4a
+src/exa_wm_noca.g4a
+src/exa_wm_ca_srcalpha.g4a
+src/exa_wm_mask_projective.g4a
+src/exa_wm_src_sample_a.g4a
+src/exa_wm_src_projective.g4a
+src/i830_lvds.c
+src/i830_sdvo.h
+src/i830_bios.c
+src/i830_bios.h
+src/i830_debug.c
+src/i830_crt.c
+src/i830_display.c
+src/i830_sdvo_regs.h
+src/i830_render.c
+src/i830_tv.c
+src/i830_display.h
+src/i830_debug.h
+src/packed_yuv_sf.g4a
+src/packed_yuv_wm.g4a
+src/i965_video.c
+src/i965_render.c
+src/ch7017/ch7017.c
+src/ch7017/ch7017_reg.h
+src/sil164/Makefile.am
+src/modes/xf86Modes.h
+src/ivch/ivch.c
+src/ivch/ivch_reg.h
+src/ivch/ivch_module.c
+
+* Copyright 2007 Intel Corporation:
+src/bios_reader/bios_dumper.c
+src/bios_reader/bios_reader.c
+src/i830_hwmc.h
+src/i830_hwmc.c
+src/i830_quirks.c
+src/xvmc/intel_xvmc.c
+src/xvmc/intel_xvmc.h
+src/reg_dumper/idle.c
+src/reg_dumper/stepping.c
+src/reg_dumper/main.c
+src/reg_dumper/reg_dumper.h
+
+* Copyright 2007 Dave Mueller
+src/tfp410/tfp410.c
+src/tfp410/tfp410.h
+src/tfp410/tfp410_reg.h
+
+====
+
+src/i810_dga.c is Copyright 2000 by Alan Hourihane, Sychdyn, North Wales, UK
+and covered by the following license:
+
+-
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Alan Hourihane not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Alan Hourihane makes no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as is" without express or implied warranty.
+ *
+ * ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+-
+
+====
+A few files a covered by the following license:
+
+-
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+-
+
+The copyright holders are:
+
+* Copyright 2002 Keith Packard, member of The XFree86 Project, Inc.
+src/modes/xf86RandR12.c
+
+* Copyright 2006 Keith Packard
+src/modes/xf86Crtc.c
+src/modes/xf86RandR12.h
+src/modes/xf86Rename.h
+src/local_xf86Rename.h
+src/modes/xf86DiDGA.c
+src/modes/xf86Rotate.c
+src/modes/xf86Crtc.h
+
+* Copyright 2006 Eric Anholt
+src/i2c_vid.h
+
+* Copyright 2007 Keith Packard
+src/modes/xf86Cursors.c
+
+====
+
+src/parser/xf86Parser.h and src/parser/xf86Optrec.h are covered by a license
+similar to the MIT/X11 license, but with an additional advertising clause:
+
+* Copyright (c) 1997 Metro Link Incorporated
+* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
+* Copyright (c) 1997-2001 by The XFree86 Project, Inc.
+
+-
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the Metro Link shall not be
+ * used in advertising or otherwise to promote the sale, use or other dealings
+ * in this Software without prior written authorization from Metro Link.
+-
+
+====
+
+src/modes/xf86Modes.c is covered by a license similar to the MIT/X11 license,
+but with an additional advertising clause:
+
+-
+ * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the copyright holder(s)
+ * and author(s) shall not be used in advertising or otherwise to promote
+ * the sale, use or other dealings in this Software without prior written
+ * authorization from the copyright holder(s) and author(s).
+ */
+-
+
+====
+
+src/reg_dumper/xprintf.c is covered by a license similar to the MIT/X11 license,
+but with an additional advertising clause:
+
+-
+ * Copyright (c) 2004 Alexander Gottwald
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written authorization.
+ */
+-
+
+====
+
+All files generated by the buildsystem toolchain (e.g. autogen.sh) remain
+under the copyright of their authors from the respective tools.
+
+====
+
+
+A couple of files are without explicit copyright:
+
+Some tiny Makefile.am:
+src/reg_dumper/Makefile.am
+src/xvmc/Makefile.am
+src/ch7017/Makefile.am
+src/tfp410/Makefile.am
+src/ivch/Makefile.am
+src/ch7xxx/Makefile.am
+
+
+src/exa_wm_write.g4b
+src/exa_sf.g4b
+src/exa_wm_xy.g4b
+src/packed_yuv_sf.g4b
+src/exa_wm_src_sample_argb.g4b
+src/exa_sf_mask.g4b
+src/exa_wm_src_sample_a.g4b
+src/exa_wm_src_affine.g4b
+src/packed_yuv_wm.g4b
+src/exa_wm_mask_sample_argb.g4b
+src/exa_wm_ca.g4b
+src/exa_wm_mask_affine.g4b
+src/exa_wm_ca_srcalpha.g4b
+src/exa_wm_nomask.g4a
+src/exa_wm_mask_projective.g4b
+src/exa_wm_noca.g4b
+src/exa_wm_mask_sample_a.g4b
+src/exa_wm_src_projective.g4b
+
+
+src/tfp410/tfp410_module.c
+src/ch7xxx/ch7xxx_module.c
+src/ch7017/ch7017_module.c
+src/xvmc/i915_program.h
+src/xvmc/intel_batchbuffer.h
+src/scripts/clock-graph.5c
+src/scripts/clock.5c
+src/scripts/fix.5c
+src/scripts/tv.5c
+src/sil164/sil164_module.c
+src/i810_dri.h
+src/i810_dri.c
+src/i830_dri.h
diff --git a/abs/core-testing/xf86-video-intel/PKGBUILD b/abs/core-testing/xf86-video-intel/PKGBUILD
index 3530b90..f417cdd 100644
--- a/abs/core-testing/xf86-video-intel/PKGBUILD
+++ b/abs/core-testing/xf86-video-intel/PKGBUILD
@@ -1,43 +1,31 @@
-# $Id: PKGBUILD 19083 2008-11-14 21:09:00Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# $Id: PKGBUILD 85324 2010-07-12 17:03:09Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-intel
-pkgver=2.4.3
+pkgver=2.12.0
pkgrel=1
pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('intel-dri>=7.2' 'libpciaccess>=0.10.5' 'libdrm>=2.3.1')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'xf86driproto>=2.0.4' 'glproto>=1.4.9' 'mesa>=7.2' 'libdrm=2.3.1')
-conflicts=('xorg-server<1.5.3' 'xf86-video-i810')
-replaces=('xf86-video-i810')
-options=('!libtool' 'force')
+license=('custom')
+depends=('intel-dri>=7.8' 'libpciaccess>=0.10.9' 'libdrm>=2.4.20' 'libxvmc>=1.0.5' 'libxcb>=1.5' 'xcb-util>=0.3.6')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86driproto>=2.1.0' 'glproto>=1.4.11' 'mesa>=7.8' 'xineramaproto>=1.2' 'inputproto')
+conflicts=('xorg-server<1.8.0' 'xf86-video-i810' 'xf86-video-intel-legacy')
+options=('!libtool')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- 20_thinkpad_g40_quirk.patch
- 21_quirk_lenovo.patch
- 23_quirks_studiohybrid_eeepc_and_w251u.patch
- 25_quirk_nc6110.patch
- 26_i830-use-lfp-data-ptrs.patch
- 27_disable_fbc_on_965.patch)
-md5sums=('a664819288b98a37f77ab6ae1e14c9d9'
- '68a362a168ffa4f37d9f722f43855468'
- '2d617364ac2e47ca366901d0b849b1a1'
- '3d0f8e593e8eac3000154feb6b0f45b8'
- '3deb800906e6845e8576d4e9d0f22b12'
- 'cb7ee7a68858c038020e0cd991143d8e'
- 'd215e428585c6e55aefd9f525ebfbe7b')
+ intel-2.11-no-pageflipping.patch
+ LICENSE)
+md5sums=('8314def847dcdc4f2970e2d193054f96'
+ 'dfc9f59fe048b412726c87fe3d45f4f5'
+ 'b924480931774dec14515e270db4924d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/20_thinkpad_g40_quirk.patch" || return 1
- patch -Np1 -i "${srcdir}/21_quirk_lenovo.patch" || return 1
- patch -Np1 -i "${srcdir}/23_quirks_studiohybrid_eeepc_and_w251u.patch" || return 1
- patch -Np1 -i "${srcdir}/25_quirk_nc6110.patch" || return 1
- patch -Np1 -i "${srcdir}/26_i830-use-lfp-data-ptrs.patch" || return 1
- patch -Np1 -i "${srcdir}/27_disable_fbc_on_965.patch" || return 1
- ./configure --prefix=/usr \
- --enable-dri || return 1
+ patch -Np1 -i "${srcdir}/intel-2.11-no-pageflipping.patch" || return 1
+ ./configure --prefix=/usr --enable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xf86-video-intel/intel-2.11-no-pageflipping.patch b/abs/core-testing/xf86-video-intel/intel-2.11-no-pageflipping.patch
new file mode 100644
index 0000000..39500e2
--- /dev/null
+++ b/abs/core-testing/xf86-video-intel/intel-2.11-no-pageflipping.patch
@@ -0,0 +1,33 @@
+diff -up xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip xf86-video-intel-2.11.0/src/drmmode_display.c
+--- xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip 2010-05-03 15:30:19.000000000 -0400
++++ xf86-video-intel-2.11.0/src/drmmode_display.c 2010-05-03 15:30:59.000000000 -0400
+@@ -1504,10 +1504,15 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn,
+ gp.value = &has_flipping;
+ (void)drmCommandWriteRead(intel->drmSubFD, DRM_I915_GETPARAM, &gp,
+ sizeof(gp));
++
++ xf86DrvMsg(scrn->scrnIndex, X_INFO,
++ "Pageflipping %s in kernel, %s disabled in X\n",
++ has_flipping ? "enabled" : "disabled",
++ has_flipping ? "but" : "and");
+ if (has_flipping) {
+ xf86DrvMsg(scrn->scrnIndex, X_INFO,
+- "Kernel page flipping support detected, enabling\n");
+- intel->use_pageflipping = TRUE;
++ "Don't panic: https://bugzilla.redhat.com/588421\n");
++ intel->use_pageflipping = FALSE;
+ drmmode->flip_count = 0;
+ drmmode->event_context.version = DRM_EVENT_CONTEXT_VERSION;
+ drmmode->event_context.vblank_handler = drmmode_vblank_handler;
+diff -up xf86-video-intel-2.11.0/src/i830_dri.c.no-flip xf86-video-intel-2.11.0/src/i830_dri.c
+--- xf86-video-intel-2.11.0/src/i830_dri.c.no-flip 2010-03-29 14:23:02.000000000 -0400
++++ xf86-video-intel-2.11.0/src/i830_dri.c 2010-05-03 15:30:19.000000000 -0400
+@@ -1013,7 +1013,7 @@ Bool I830DRI2ScreenInit(ScreenPtr screen
+
+ info.CopyRegion = I830DRI2CopyRegion;
+ #if DRI2INFOREC_VERSION >= 4
+- if (intel->use_pageflipping) {
++ if (intel->use_pageflipping || 1) {
+ info.version = 4;
+ info.ScheduleSwap = I830DRI2ScheduleSwap;
+ info.GetMSC = I830DRI2GetMSC;
diff --git a/abs/core-testing/xf86-video-mach64/LICENSE b/abs/core-testing/xf86-video-mach64/LICENSE
new file mode 100644
index 0000000..1aa2df6
--- /dev/null
+++ b/abs/core-testing/xf86-video-mach64/LICENSE
@@ -0,0 +1,209 @@
+Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of Marc Aurele La France not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Marc Aurele La France makes no representations
+about the suitability of this software for any purpose. It is provided
+"as-is" without express or implied warranty.
+
+MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 2000 Gareth Hughes
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) 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
+GARETH HUGHES 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.
+
+(c) 2004 Adam Jackson. Standard MIT license applies.
+
+Copyright 1999-2000 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
+
+Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
+Precision Insight, Inc., Cedar Park, Texas, and
+VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on 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 (including the
+next paragraph) 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
+NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
+SYSTEMS AND/OR THEIR SUPPLIERS 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.
+
+Copyright 2003 Alex Deucher.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on 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 (including the
+next paragraph) 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
+NON-INFRINGEMENT. IN NO EVENT SHALL ALEX DEUCHER, OR ANY OTHER
+CONTRIBUTORS 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.
+
+/*
+ * Copyright 2000 Gareth Hughes
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) 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
+ * GARETH HUGHES 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.
+ */
+
+/*
+ * Authors:
+ * Gareth Hughes <gareth@valinux.com>
+ * Leif Delgass <ldelgass@retinalburn.net>
+ * José Fonseca <j_r_fonseca@yahoo.co.uk>
+ */
+
+/*
+ * Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
+ * Cedar Park, Texas.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, 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 (including the next
+ * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+ * ATI, PRECISION INSIGHT AND/OR THEIR SUPPLIERS 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.
+ */
+
+/*
+ * Authors:
+ * Gareth Hughes <gareth@valinux.com>
+ * Leif Delgass <ldelgass@retinalburn.net>
+ * Jose Fonseca <j_r_fonseca@yahoo.co.uk>
+ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.5
+ *
+ * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL 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.
+ *
+ * Authors:
+ * Keith Whitwell <keithw@valinux.com>
+ *
+ * Modified for mach64 by:
+ * Leif Delgass <ldelgass@retinalburn.net>
+ * José Fonseca <j_r_fonseca@yahoo.co.uk>
+ */
diff --git a/abs/core-testing/xf86-video-mach64/PKGBUILD b/abs/core-testing/xf86-video-mach64/PKGBUILD
index ed91461..64fe5d9 100644
--- a/abs/core-testing/xf86-video-mach64/PKGBUILD
+++ b/abs/core-testing/xf86-video-mach64/PKGBUILD
@@ -1,48 +1,27 @@
-# $Id: PKGBUILD 13016 2008-09-25 18:54:26Z jgc $
+# $Id: PKGBUILD 75922 2010-04-04 19:52:27Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-mach64
-pkgver=6.8.0
-pkgrel=2
-_mesaver="7.2"
+pkgver=6.8.2
+pkgrel=3
pkgdesc="X.org mach64 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'mesa>=7.2' 'dri2proto'
- 'glproto>=1.4.9' 'xf86driproto' 'diffutils')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'mach64-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xineramaproto' 'xf86driproto' 'mesa>=7.8' 'glproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('6081b8fa50c689d51f85c2fbaf93867e'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('6c0522b2b72a0a47c48d718443616651'
+ '901824dae8053c63ef9d313cdaa129a0')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --enable-dri || return 1
+ --enable-dri || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-
- cd ${srcdir}/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=mach64 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-mga/PKGBUILD b/abs/core-testing/xf86-video-mga/PKGBUILD
index 5681868..ebe0c71 100644
--- a/abs/core-testing/xf86-video-mga/PKGBUILD
+++ b/abs/core-testing/xf86-video-mga/PKGBUILD
@@ -1,48 +1,26 @@
-# $Id: PKGBUILD 13014 2008-09-25 18:53:21Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 80849 2010-05-22 15:00:10Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-mga
-pkgver=1.4.9
-pkgrel=3
+pkgver=1.4.12
+pkgrel=1
pkgdesc="X.org mga video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2' 'expat>=2.0.1')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'imake' 'mesa>=7.2'
- 'xf86driproto' 'glproto>=1.4.9')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'mga-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' "mesa>=7.8" 'xf86driproto' 'glproto>=1.4.11')
+conflicts=('xorg-server<1.8.0')
options=('!libtool' 'force')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('11066b84b949cd04300ec819c9c51532'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('ff84e9035a375dde76d789f5bbc4efbbca8a33fc')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- cd ${srcdir}/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=mga \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
+ --enable-dri || return 1
make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-neomagic/PKGBUILD b/abs/core-testing/xf86-video-neomagic/PKGBUILD
index 7d47807..c4c5bf6 100644
--- a/abs/core-testing/xf86-video-neomagic/PKGBUILD
+++ b/abs/core-testing/xf86-video-neomagic/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 22283 2008-12-25 17:06:50Z jgc $
+# $Id: PKGBUILD 85347 2010-07-12 17:26:15Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-neomagic
-pkgver=1.2.2
+pkgver=1.2.5
pkgrel=1
pkgdesc="X.org neomagic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('896864e1a2d7333c16333a24eac17d00')
+sha1sums=('02c994e2eae191b50a8cd556e5b52d82725073b3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xf86-video-nouveau/PKGBUILD b/abs/core-testing/xf86-video-nouveau/PKGBUILD
new file mode 100644
index 0000000..998d823
--- /dev/null
+++ b/abs/core-testing/xf86-video-nouveau/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 80482 2010-05-17 17:42:28Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: buddabrod <buddabrod@gmail.com>
+
+pkgname=xf86-video-nouveau
+_gitdate=20100517
+pkgver=0.0.16_git${_gitdate} # see configure.ac
+pkgrel=1
+pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)"
+arch=('i686' 'x86_64')
+url="http://nouveau.freedesktop.org/wiki/"
+license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop.org/wiki/FAQ#head-09f75d03eb30011c754038a3893119a70745de4e
+depends=('libdrm>=2.4.19' 'udev')
+optdepends=('nouveau-dri: highly experimental gallium3d features')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'mesa>=7.8.1' 'glproto>=1.4.11' 'xorg-util-macros' 'xf86driproto' 'autoconf' 'nouveau-dri>=7.8.1')
+conflicts=('xorg-server<1.8.0')
+options=('!libtool') # 'force'
+install=${pkgname}.install
+source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2)
+md5sums=('787f5cbba1f14f4ffcafbb00516abdad')
+
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/${pkgname}-${_gitdate}
+ pushd /tmp/${pkgname}-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/nouveau/xf86-video-nouveau
+ cd xf86-video-nouveau
+ git archive --prefix=xf86-video-nouveau-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2
+ popd
+}
+
+build() {
+ cd ${srcdir}/xf86-video-nouveau-${_gitdate}
+ ./autogen.sh --prefix=/usr || return 1
+ make || return 1
+}
+
+package() {
+ cd ${srcdir}/xf86-video-nouveau-${_gitdate}
+ make DESTDIR=${pkgdir} install || return 1
+}
diff --git a/abs/core-testing/xf86-video-nouveau/xf86-video-nouveau.install b/abs/core-testing/xf86-video-nouveau/xf86-video-nouveau.install
new file mode 100644
index 0000000..027154f
--- /dev/null
+++ b/abs/core-testing/xf86-video-nouveau/xf86-video-nouveau.install
@@ -0,0 +1,16 @@
+post_install () {
+ cat << _EOF
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+}
+
+post_upgrade() {
+ if [ "`vercmp $2 0.0.15_git20100117-1`" -lt 0 ]; then
+ cat << _EOF
+ ==> ATTENTION: Usermode support has been dropped
+ ==> make sure you use KernelModeSetting (KMS)
+ ==> see http://wiki.archlinux.org/index.php/Nouveau#KMS for more
+_EOF
+ fi
+}
diff --git a/abs/core-testing/xf86-video-nv/PKGBUILD b/abs/core-testing/xf86-video-nv/PKGBUILD
index 7c74343..09bdb51 100644
--- a/abs/core-testing/xf86-video-nv/PKGBUILD
+++ b/abs/core-testing/xf86-video-nv/PKGBUILD
@@ -1,28 +1,27 @@
-# $Id: PKGBUILD 11446 2008-08-31 15:40:39Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75913 2010-04-04 19:43:19Z jgc $
+# Maintainer:Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-nv
-pkgver=2.1.12
-pkgrel=1
+pkgver=2.1.17
+pkgrel=2
pkgdesc="X.org nv video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xorg-util-macros')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('9f165c085e6420470191a544404066524f2f1c61')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-md5sums=('42f12a36d7afc26c817e8e8f5c8b7274')
diff --git a/abs/core-testing/xf86-video-openchrome/PKGBUILD b/abs/core-testing/xf86-video-openchrome/PKGBUILD
index 235dba8..320aaac 100644
--- a/abs/core-testing/xf86-video-openchrome/PKGBUILD
+++ b/abs/core-testing/xf86-video-openchrome/PKGBUILD
@@ -1,29 +1,35 @@
-# $Id: PKGBUILD 11506 2008-08-31 18:01:45Z jgc $
+# $Id: PKGBUILD 75910 2010-04-04 19:38:56Z jgc $
# Contributor: Paul Mattal <paul@mattal.com>
# Maintainer: Juergen Hoetzel <juergen@hoetzel.info>
pkgname=xf86-video-openchrome
-pkgver=0.2.903
-pkgrel=1
+pkgver=0.2.904
+pkgrel=3
pkgdesc="X.Org Openchrome drivers"
arch=(i686 x86_64)
license=('custom')
url="http://www.openchrome.org"
-depends=('unichrome-dri>=7.1')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906' 'xf86driproto' 'xorg-util-macros' 'libxvmc' 'glproto' 'mesa>=7.1')
+depends=('unichrome-dri>=7.6')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86driproto' 'xorg-util-macros' 'libxvmc' 'glproto' 'mesa>=7.8' 'inputproto')
replaces=('openchrome' 'xf86-video-via')
options=('!libtool' 'force' '!makeflags')
-conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.4.99.906')
-source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.gz
- LICENSE.txt)
-md5sums=('bcb3ba67e89824c132790c3a0365c6a5'
+conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.8.0')
+source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ drm_stdint.patch
+ svn-r839.patch
+ LICENSE.txt)
+md5sums=('f2481d98ef54febf5bffbb88a2a2426d'
+ 'bc516400ffc3df5d0dfe604f6245dd32'
+ '5aed4aa44dd5a6d3e2da9baad73ac0ab'
'addb3cf2671f4cf7e91156952de1627f')
build() {
- cd ${startdir}/src/${pkgname}-$pkgver || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}" || return 1
+ patch -Np1 -i "${srcdir}/svn-r839.patch" || return 1
+ patch -Np0 -i "${srcdir}/drm_stdint.patch" || return 1
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 ${srcdir}/LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/COPYING || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" || return 1
}
diff --git a/abs/core-testing/xf86-video-openchrome/drm_stdint.patch b/abs/core-testing/xf86-video-openchrome/drm_stdint.patch
new file mode 100644
index 0000000..226a015
--- /dev/null
+++ b/abs/core-testing/xf86-video-openchrome/drm_stdint.patch
@@ -0,0 +1,10 @@
+--- src/via_xvmc.h.orig 2010-03-07 01:46:34.000000000 +0100
++++ src/via_xvmc.h 2010-03-07 01:46:45.000000000 +0100
+@@ -26,6 +26,7 @@
+ #ifndef _VIA_XVMC_H
+ #define _VIA_XVMC_H 1
+
++#include <stdint.h>
+ #include "via_drm.h"
+
+ /*
diff --git a/abs/core-testing/xf86-video-openchrome/svn-r839.patch b/abs/core-testing/xf86-video-openchrome/svn-r839.patch
new file mode 100644
index 0000000..8e5f056
--- /dev/null
+++ b/abs/core-testing/xf86-video-openchrome/svn-r839.patch
@@ -0,0 +1,1447 @@
+diff -ruN xf86-video-openchrome-0.2.904/ChangeLog ../openchrome/xf86-video-openchrome-0.2.904/ChangeLog
+--- xf86-video-openchrome-0.2.904/ChangeLog 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/ChangeLog 2010-03-07 01:09:00.000000000 +0100
+@@ -1,3 +1,52 @@
++2010-02-10 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Fix bug with suspend and VT switch on VX800 and 64bit systems
++
++ * src/via_driver.h:
++ * src/via_video.c: (viaResetVideo), (viaSaveVideo),
++ (viaRestoreVideo), (viaExitVideo):
++ * src/via_video.h:
++
++2010-01-24 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Fix starting address restore and save (initial 64-bit support)
++
++ * src/via_crtc.c: (ViaFirstCRTCSetMode),
++ (ViaFirstCRTCSetStartingAddress):
++ * src/via_dri.c: (VIADRIAgpInit):
++ * src/via_driver.c: (VIASave), (VIARestore):
++ * src/via_driver.h:
++
++2009-12-04 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Enable new mode switch for VM800 chipsets
++
++ * src/via_driver.c: (VIASetupDefaultOptions):
++
++2009-11-21 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Add option to enable unaccelerated RandR rotation ("SWRandR").
++ The accelerated option "HWRandR" is currently not implemented.
++
++ * src/openchrome.man:
++ * src/via_driver.c: (VIAPreInit):
++
++2009-11-20 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Enabled new mode switch for PM800 chipset,
++ to resolve many bugs with resolution detecting and changing
++ (eg. switching to console)
++
++ * src/via_driver.c: (VIASetupDefaultOptions), (VIAPreInit):
++
++2009-11-07 Bartosz Kosiorek <gang65@poczta.onet.pl>
++
++ Add more comments to ViaSetSecondaryFIFO, add panel scale support for
++ CLE266 and KM400, fix bug with malloc.
++
++ * src/via_bandwidth.c: (ViaSetSecondaryFIFO):
++ * src/via_panel.c: (ViaPanelScale), (ViaPanelGetNativeDisplayMode):
++
+ 2009-09-26 Bartosz Kosiorek <gang65@poczta.onet.pl>
+
+ Save/restore ECK Clock Synthesizer
+diff -ruN xf86-video-openchrome-0.2.904/man/openchrome.man ../openchrome/xf86-video-openchrome-0.2.904/man/openchrome.man
+--- xf86-video-openchrome-0.2.904/man/openchrome.man 2009-10-09 01:12:41.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/man/openchrome.man 2010-03-07 01:09:00.000000000 +0100
+@@ -59,7 +59,7 @@
+ .BI "Option \*qAccelMethod\*q \*q" string \*q
+ The driver supports "XAA" and "EXA" acceleration methods. The default
+ method is XAA, since EXA is still experimental. Contrary to XAA, EXA
+-implements acceleration for screen uploads and downlads (if DRI is
++implements acceleration for screen uploads and downloads (if DRI is
+ enabled) and for the Render/Composite extension.
+ .TP
+ .BI "Option \*qActiveDevice\*q \*q" string \*q
+@@ -81,7 +81,7 @@
+ no room for DRI textures, they will be allocated from the DRI part of
+ VRAM (see the option "MaxDRIMem"). The default amount of AGP is
+ 32768 kB. Note that the AGP aperture set in the BIOS must be able
+-to accomodate the amount of AGP memory specified here. Otherwise no
++to accommodate the amount of AGP memory specified here. Otherwise no
+ AGP memory will be available. It is safe to set a very large AGP
+ aperture in the BIOS.
+ .TP
+@@ -159,9 +159,16 @@
+ system. The sizes 640x480, 800x600, 1024x768, 1280x1024, and 1400x1050
+ are supported.
+ .TP
++.BI "Option \*qRotationType\*q \*q" string \*q
++Enabled rotation by using RandR. The driver only support unaccelerated
++RandR rotations "SWRandR". Hardware rotations "HWRandR" is currently
++unimplemented.
++.TP
+ .BI "Option \*qRotate\*q \*q" string \*q
+ Rotates the display either clockwise ("CW"), counterclockwise ("CCW") and
+-upside-down ("UD"). Rotation is only supported unaccelerated.
++upside-down ("UD"). Rotation is only supported unaccelerated. Adding
++option "Rotate", enables RandR rotation feature. The RandR allows
++clients to dynamically change X screens.
+ .TP
+ .BI "Option \*qShadowFB\*q \*q" boolean \*q
+ Enables the use of a shadow frame buffer. This is required when
+diff -ruN xf86-video-openchrome-0.2.904/src/svnversion.h ../openchrome/xf86-video-openchrome-0.2.904/src/svnversion.h
+--- xf86-video-openchrome-0.2.904/src/svnversion.h 2009-10-09 01:19:04.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/svnversion.h 2010-03-07 01:09:15.000000000 +0100
+@@ -1 +1 @@
+-#define BUILDCOMMENT "(openchrome 0.2.904 release)"
++#define BUILDCOMMENT "(development build, at svn revision 839)"
+diff -ruN xf86-video-openchrome-0.2.904/src/via_accel.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_accel.c
+--- xf86-video-openchrome-0.2.904/src/via_accel.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_accel.c 2010-03-07 01:09:00.000000000 +0100
+@@ -1210,7 +1210,8 @@
+
+ /* General acceleration flags. */
+ xaaptr->Flags = (PIXMAP_CACHE |
+- OFFSCREEN_PIXMAPS | LINEAR_FRAMEBUFFER |
++ OFFSCREEN_PIXMAPS |
++ LINEAR_FRAMEBUFFER |
+ MICROSOFT_ZERO_LINE_BIAS | 0);
+
+ if (pScrn->bitsPerPixel == 8)
+@@ -1228,14 +1229,17 @@
+
+ xaaptr->Sync = viaAccelSync;
+
++ /* ScreenToScreen copies */
+ xaaptr->SetupForScreenToScreenCopy = viaSetupForScreenToScreenCopy;
+ xaaptr->SubsequentScreenToScreenCopy = viaSubsequentScreenToScreenCopy;
+ xaaptr->ScreenToScreenCopyFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
+
++ /* Solid filled rectangles */
+ xaaptr->SetupForSolidFill = viaSetupForSolidFill;
+ xaaptr->SubsequentSolidFillRect = viaSubsequentSolidFillRect;
+ xaaptr->SolidFillFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
+
++ /* Mono 8x8 pattern fills */
+ xaaptr->SetupForMono8x8PatternFill = viaSetupForMono8x8PatternFill;
+ xaaptr->SubsequentMono8x8PatternFillRect =
+ viaSubsequentMono8x8PatternFillRect;
+@@ -1244,6 +1248,7 @@
+ HARDWARE_PATTERN_PROGRAMMED_ORIGIN |
+ BIT_ORDER_IN_BYTE_MSBFIRST | 0);
+
++ /* Color 8x8 pattern fills */
+ xaaptr->SetupForColor8x8PatternFill = viaSetupForColor8x8PatternFill;
+ xaaptr->SubsequentColor8x8PatternFillRect =
+ viaSubsequentColor8x8PatternFillRect;
+@@ -1252,12 +1257,14 @@
+ HARDWARE_PATTERN_PROGRAMMED_BITS |
+ HARDWARE_PATTERN_PROGRAMMED_ORIGIN | 0);
+
++ /* Solid lines */
+ xaaptr->SetupForSolidLine = viaSetupForSolidLine;
+ xaaptr->SubsequentSolidTwoPointLine = viaSubsequentSolidTwoPointLine;
+ xaaptr->SubsequentSolidHorVertLine = viaSubsequentSolidHorVertLine;
+ xaaptr->SolidBresenhamLineErrorTermBits = 14;
+ xaaptr->SolidLineFlags = NO_PLANEMASK | ROP_NEEDS_SOURCE;
+
++ /* Dashed line */
+ xaaptr->SetupForDashedLine = viaSetupForDashedLine;
+ xaaptr->SubsequentDashedTwoPointLine = viaSubsequentDashedTwoPointLine;
+ xaaptr->DashPatternMaxLength = 8;
+@@ -1266,35 +1273,42 @@
+ LINE_PATTERN_POWER_OF_2_ONLY |
+ LINE_PATTERN_MSBFIRST_LSBJUSTIFIED | 0);
+
++ /* CPU to Screen color expansion */
+ xaaptr->ScanlineCPUToScreenColorExpandFillFlags = NO_PLANEMASK |
+- CPU_TRANSFER_PAD_DWORD |
+- SCANLINE_PAD_DWORD |
+- BIT_ORDER_IN_BYTE_MSBFIRST |
+- LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE | 0;
++ CPU_TRANSFER_PAD_DWORD |
++ SCANLINE_PAD_DWORD |
++ BIT_ORDER_IN_BYTE_MSBFIRST |
++ LEFT_EDGE_CLIPPING |
++ ROP_NEEDS_SOURCE | 0;
+
+ xaaptr->SetupForScanlineCPUToScreenColorExpandFill =
+ viaSetupForCPUToScreenColorExpandFill;
+ xaaptr->SubsequentScanlineCPUToScreenColorExpandFill =
+ viaSubsequentScanlineCPUToScreenColorExpandFill;
+ xaaptr->ColorExpandBase = pVia->BltBase;
+- xaaptr->ColorExpandRange = VIA_MMIO_BLTSIZE;
++ if (pVia->Chipset == VIA_VX800 || pVia->Chipset == VIA_VX855)
++ xaaptr->ColorExpandRange = VIA_MMIO_BLTSIZE;
++ else
++ xaaptr->ColorExpandRange = (64 * 1024);
+
++ /* ImageWrite */
+ xaaptr->ImageWriteFlags = (NO_PLANEMASK |
+ CPU_TRANSFER_PAD_DWORD |
+ SCANLINE_PAD_DWORD |
+ BIT_ORDER_IN_BYTE_MSBFIRST |
+- LEFT_EDGE_CLIPPING | ROP_NEEDS_SOURCE | 0);
++ LEFT_EDGE_CLIPPING |
++ ROP_NEEDS_SOURCE | 0);
+ // SYNC_AFTER_IMAGE_WRITE | 0);
+
+ /*
+ * Most Unichromes are much faster using processor-to-framebuffer writes
+ * than when using the 2D engine for this.
+- * test with x11perf -shmput500!
++ * test with "x11perf -shmput500"
++ * Example: K8M890 chipset; with GPU=86.3/sec; without GPU=132.0/sec
++ * TODO Check speed for other chipsets
+ */
+
+ switch (pVia->Chipset) {
+- case VIA_K8M800:
+- case VIA_K8M890:
+ case VIA_P4M900:
+ case VIA_VX800:
+ case VIA_VX855:
+diff -ruN xf86-video-openchrome-0.2.904/src/via_bandwidth.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_bandwidth.c
+--- xf86-video-openchrome-0.2.904/src/via_bandwidth.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_bandwidth.c 2010-03-07 01:09:00.000000000 +0100
+@@ -194,6 +194,7 @@
+ else
+ ViaSeqMask(hwp, 0x22, 0x00, 0x1F); /* 128/4 = overflow = 0 */
+ break;
++ /* PM800/PM880/CN400 */
+ case VIA_PM800:
+ hwp->writeSeq(hwp, 0x17, 0x5F); /* 95 */
+ ViaSeqMask(hwp, 0x16, 0x20, 0xBF); /* 32 */
+@@ -204,9 +205,10 @@
+ else
+ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 31 */
+ break;
++ /* P4M800Pro/VN800/CN700 */
+ case VIA_VM800:
+ hwp->writeSeq(hwp, 0x17, 0x2F);
+- ViaSeqMask(hwp, 0x16, 0x14, 0xBF);
++ ViaSeqMask(hwp, 0x16, 0x14, 0xBF); /* 80/4 = 20 = 0x14 */
+ ViaSeqMask(hwp, 0x18, 0x08, 0xBF);
+
+ if ((mode->HDisplay >= 1400) && (pScrn->bitsPerPixel == 32))
+@@ -215,40 +217,51 @@
+ ViaSeqMask(hwp, 0x22, 0x00, 0x1F);
+ break;
+ case VIA_K8M890:
+- hwp->writeSeq(hwp, 0x16, 0x92);
+- hwp->writeSeq(hwp, 0x17, 0xB3);
+- hwp->writeSeq(hwp, 0x18, 0x8A);
++ /* depth location: {SR17,0,7} */
++ hwp->writeSeq(hwp, 0x17, 0xB3); /* 360/2-1 = 179 = 0xB3 */
++ /* Formula (x & 0x3F) | ((x & 0x40) << 1) */
++ /* threshold location: {SR16,0,5},{SR16,7,7} */
++ ViaSeqMask(hwp, 0x16, 0x92, 0xBF); /* 328/4 = 82 = 0x52 */
++ /* high threshold location: {SR18,0,5},{SR18,7,7} */
++ ViaSeqMask(hwp, 0x18, 0x8A, 0xBF); /* 296/4 = 74 = 0x4A */
++ /* display queue expire num location: {SR22,0,4}. */
++ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 124/4 = 31 = 0x1F */
+ break;
+ case VIA_P4M900:
+- ViaSeqMask(hwp, 0x17, 0x2F, 0xFF);
+- ViaSeqMask(hwp, 0x16, 0x13, 0x3F);
+- ViaSeqMask(hwp, 0x16, 0x00, 0x80);
+- ViaSeqMask(hwp, 0x18, 0x13, 0x3F);
+- ViaSeqMask(hwp, 0x18, 0x00, 0x80);
++ /* location: {SR17,0,7} */
++ hwp->writeSeq(hwp, 0x17, 0x2F); /* 96/2-1 = 47 = 0x2F */
++ /* location: {SR16,0,5},{SR16,7,7} */
++ ViaSeqMask(hwp, 0x16, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
++ /* location: {SR18,0,5},{SR18,7,7} */
++ ViaSeqMask(hwp, 0x18, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
++ /* location: {SR22,0,4}. */
++ ViaSeqMask(hwp, 0x22, 0x08, 0x1F); /* 32/4 = 8 = 0x08 */
+ break;
+ case VIA_P4M890:
+- hwp->writeSeq(hwp, 0x16, 0x13);
+- hwp->writeSeq(hwp, 0x17, 0x2F);
+- hwp->writeSeq(hwp, 0x18, 0x53);
+- hwp->writeSeq(hwp, 0x22, 0x10);
++ hwp->writeSeq(hwp, 0x17, 0x2F); /* 96/2-1 = 47 = 0x2F */
++ ViaSeqMask(hwp, 0x16, 0x13, 0xBF); /* 76/4 = 19 = 0x13 */
++ ViaSeqMask(hwp, 0x18, 0x10, 0xBF); /* 64/4 = 16 = 0x10 */
++ ViaSeqMask(hwp, 0x22, 0x08, 0x1F); /* 32/4 = 8 = 0x08 */
+ break;
+ case VIA_CX700:
+- hwp->writeSeq(hwp, 0x16, 0x26);
+ hwp->writeSeq(hwp, 0x17, 0x5F);
+- hwp->writeSeq(hwp, 0x18, 0x66);
+- hwp->writeSeq(hwp, 0x22, 0x1F);
++ ViaSeqMask(hwp, 0x16, 0x20, 0xBF); /* 128/4 = 32 = 0x20 */
++ ViaSeqMask(hwp, 0x18, 0x20, 0xBF); /* 128/4 = 32 = 0x20 */
++ ViaSeqMask(hwp, 0x22, 0x1F, 0x1F); /* 124/4 = 31 = 0x1F */
+ break;
+ case VIA_VX800:
+- hwp->writeSeq(hwp, 0x16, 0x26); /* 152/4 = 38 */
+- hwp->writeSeq(hwp, 0x17, 0x5F); /* 192/2-1 = 95 */
++ hwp->writeSeq(hwp, 0x17, 0x5F); /* 192/2-1 = 95 = 0x5F */
++ hwp->writeSeq(hwp, 0x16, 0x26); /* 152/4 = 38 = 0x26 */
+ hwp->writeSeq(hwp, 0x18, 0x26); /* 152/4 = 38 */
+ hwp->writeSeq(hwp, 0x22, 0x10); /* 64/4 = 16 */
+ break;
+ case VIA_VX855:
+- hwp->writeSeq(hwp, 0x16, 0x50); /* 320/4 = 80 */
+- hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 */
+- hwp->writeSeq(hwp, 0x18, 0x50); /* 320/4 = 80 */
+- hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 */
++ hwp->writeSeq(hwp, 0x17, 0xC7); /* 400/2-1 = 199 = 0xC7 */
++ /* TODO Formula for SR16 is: (0x50 & 0x3F) | ((0x50 & 0x40) << 1) = 0x90 */
++ hwp->writeSeq(hwp, 0x16, 0x50); /* 320/4 = 80 = 0x50 */
++ hwp->writeSeq(hwp, 0x18, 0x50); /* 320/4 = 80 = 0x50 */
++ hwp->writeSeq(hwp, 0x22, 0x28); /* 160/4 = 40 = 0x28 */
++ break;
+ default:
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "ViaSetPrimaryFIFO: "
+ "Chipset %d not implemented\n", pVia->Chipset);
+@@ -371,7 +384,38 @@
+ ViaCrtcMask(hwp, 0x94, 0x20, 0x7F);
+ break;
+ case VIA_P4M890:
++ /* depth location: {CR68,4,7},{CR94,7,7},{CR95,7,7} */
++ ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0); /* 96/8-1 = 11 = 0x0B */
++ ViaCrtcMask(hwp, 0x94, 0x00, 0x80);
++ ViaCrtcMask(hwp, 0x95, 0x00, 0x80);
++
++ /* location: {CR68,0,3},{CR95,4,6} */
++ ViaCrtcMask(hwp, 0x68, 0x03, 0x0F); /* 76/4 = 19 = 0x13 */
++ ViaCrtcMask(hwp, 0x95, 0x10, 0x70);
++
++ /* location: {CR92,0,3},{CR95,0,2} */
++ ViaCrtcMask(hwp, 0x92, 0x00, 0x0F); /* 64/4 = 16 = 0x10 */
++ ViaCrtcMask(hwp, 0x95, 0x01, 0x07);
++
++ /* location: {CR94,0,6} */
++ ViaCrtcMask(hwp, 0x94, 0x08, 0x7F); /* 32/4 = 8 = 0x08 */
++ break;
+ case VIA_K8M890:
++ /* Display Queue Depth, location: {CR68,4,7},{CR94,7,7},{CR95,7,7} */
++ ViaCrtcMask(hwp, 0x68, 0xC0, 0xF0); /* 360/8-1 = 44 = 0x2C; 0x2C << 4 = 0xC0 */
++ ViaCrtcMask(hwp, 0x94, 0x00, 0x80); /* 0x2C << 3 = 0x00 */
++ ViaCrtcMask(hwp, 0x95, 0x80, 0x80); /* 0x2C << 2 = 0x80 */
++
++ /* Display Queue Read Threshold 1, location: {CR68,0,3},{CR95,4,6} */
++ ViaCrtcMask(hwp, 0x68, 0x02, 0x0F); /* 328/4 = 82 = 0x52 */
++ ViaCrtcMask(hwp, 0x95, 0x50, 0x70);
++
++ /* location: {CR92,0,3},{CR95,0,2} */
++ ViaCrtcMask(hwp, 0x92, 0x0A, 0x0F); /* 296/4 = 74 = 0x4A */
++ ViaCrtcMask(hwp, 0x95, 0x04, 0x07); /* 0x4A >> 4 = 0x04 */
++
++ /* Display Expire Number Bits, location: {CR94,0,6} */
++ ViaCrtcMask(hwp, 0x94, 0x1F, 0x7F); /* 124/4 = 31 = 0x1F */
+ break;
+ case VIA_P4M900:
+ ViaCrtcMask(hwp, 0x68, 0xB0, 0xF0);
+diff -ruN xf86-video-openchrome-0.2.904/src/via_crtc.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_crtc.c
+--- xf86-video-openchrome-0.2.904/src/via_crtc.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_crtc.c 2010-03-07 01:09:00.000000000 +0100
+@@ -234,8 +234,8 @@
+ /* Primary starting address -> 0x00, adjustframe does the rest */
+ hwp->writeCrtc(hwp, 0x0C, 0x00);
+ hwp->writeCrtc(hwp, 0x0D, 0x00);
+- hwp->writeCrtc(hwp, 0x34, 0x00);
+ ViaCrtcMask(hwp, 0x48, 0x00, 0x03); /* is this even possible on CLE266A ? */
++ hwp->writeCrtc(hwp, 0x34, 0x00);
+
+ /* vertical sync start : 2047 */
+ temp = mode->CrtcVSyncStart;
+@@ -331,15 +331,20 @@
+ CARD32 Base;
+ CARD32 tmp;
+
++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "ViaFirstCRTCSetStartingAddress\n"));
++
+ Base = (y * pScrn->displayWidth + x) * (pScrn->bitsPerPixel / 8);
+ Base = Base >> 1;
+
+ hwp->writeCrtc(hwp, 0x0C, (Base & 0xFF00) >> 8);
+ hwp->writeCrtc(hwp, 0x0D, Base & 0xFF);
+- hwp->writeCrtc(hwp, 0x34, (Base & 0xFF0000) >> 16);
+-
++ /* FIXME The proper starting address for CR48 is 0x1F - Bits[28:24] */
+ if (!(pVia->Chipset == VIA_CLE266 && CLE266_REV_IS_AX(pVia->ChipRev)))
+ ViaCrtcMask(hwp, 0x48, Base >> 24, 0x0F);
++ /* CR34 are fire bits. Must be writed after CR0C CR0D CR48. */
++ hwp->writeCrtc(hwp, 0x34, (Base & 0xFF0000) >> 16);
++
++
+ }
+
+ void
+diff -ruN xf86-video-openchrome-0.2.904/src/via_cursor.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_cursor.c
+--- xf86-video-openchrome-0.2.904/src/via_cursor.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_cursor.c 2010-03-07 01:09:00.000000000 +0100
+@@ -145,9 +145,12 @@
+ infoPtr->ShowCursor = viaShowCursor;
+ infoPtr->UseHWCursor = viaUseHWCursor;
+
++ /* ARGB Cursor init */
+ infoPtr->UseHWCursorARGB = viaUseHWCursorARGB;
+- if (pVia->CursorARGBSupported)
++ if (pVia->CursorARGBSupported) {
++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "HWCursor ARGB enabled\n"));
+ infoPtr->LoadCursorARGB = viaLoadCursorARGB;
++ }
+
+ /* Set cursor location in frame buffer. */
+ VIASETREG(VIA_REG_CURSOR_MODE, pVia->cursorOffset);
+@@ -284,7 +287,7 @@
+ }
+
+ /*
+- * ARGB Cursor
++ * display the current cursor
+ */
+
+ void
+@@ -319,13 +322,19 @@
+ */
+
+ /* Duoview */
+- if (pVia->CursorPipe)
++ if (pVia->CursorPipe) {
++ /* Mono Cursor Display Path [bit31]: Secondary */
++ /* FIXME For CLE266 nad KM400 try to enable 32x32 cursor size [bit1] */
+ VIASETREG(VIA_REG_ALPHA_CONTROL, 0xF6000005);
+- else
++ } else {
++ /* Mono Cursor Display Path [bit31]: Primary */
+ VIASETREG(VIA_REG_ALPHA_CONTROL, 0x76000005);
++ }
+ }
+ }
+
++
++/* hide the current cursor */
+ void
+ viaHideCursor(ScrnInfoPtr pScrn)
+ {
+@@ -350,10 +359,16 @@
+
+ default:
+ temp = VIAGETREG(VIA_REG_ALPHA_CONTROL);
++ /* Hardware cursor disable [bit0] */
+ VIASETREG(VIA_REG_ALPHA_CONTROL, temp & 0xFFFFFFFA);
+ }
+ }
+
++/*
++ Set the cursor position to (x,y). X and/or y may be negative
++ indicating that the cursor image is partially offscreen on
++ the left and/or top edges of the screen.
++*/
+ static void
+ viaSetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
+ {
+@@ -409,6 +424,15 @@
+ && pCurs->bits->height <= pVia->CursorMaxHeight);
+ }
+
++/*
++ If the driver is unable to use a hardware cursor for reasons
++ other than the cursor being larger than the maximum specified
++ in the MaxWidth or MaxHeight field below, it can supply the
++ UseHWCursor function. If UseHWCursor is provided by the driver,
++ it will be called whenever the cursor shape changes or the video
++ mode changes. This is useful for when the hardware cursor cannot
++ be used in interlaced or doublescan modes.
++*/
+ static Bool
+ viaUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
+ {
+@@ -423,8 +447,11 @@
+ && pCurs->bits->height <= pVia->CursorMaxHeight);
+ }
+
++/*
++ Load Mono Cursor Image
++*/
+ static void
+-viaLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *s)
++viaLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src)
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+ CARD32 temp;
+@@ -439,7 +466,7 @@
+ if (pVia->CursorARGBSupported) {
+ #define ARGB_PER_CHUNK (8 * sizeof (chunk) / 2)
+ for (i = 0; i < (pVia->CursorMaxWidth * pVia->CursorMaxHeight / ARGB_PER_CHUNK); i++) {
+- chunk = *s++;
++ chunk = *src++;
+ for (j = 0; j < ARGB_PER_CHUNK; j++, chunk >>= 2)
+ *dst++ = mono_cursor_color[chunk & 3];
+ }
+@@ -447,7 +474,7 @@
+ pVia->CursorFG = mono_cursor_color[3];
+ pVia->CursorBG = mono_cursor_color[2];
+ } else {
+- memcpy(dst, (CARD8*)s, pVia->CursorSize);
++ memcpy(dst, (CARD8*)src, pVia->CursorSize);
+ }
+ switch(pVia->Chipset) {
+ case VIA_CX700:
+@@ -471,11 +498,17 @@
+ }
+ }
+
++/*
++ Set the cursor foreground and background colors. In 8bpp, fg and
++ bg are indicies into the current colormap unless the
++ HARDWARE_CURSOR_TRUECOLOR_AT_8BPP flag is set. In that case
++ and in all other bpps the fg and bg are in 8-8-8 RGB format.
++*/
++
+ static void
+ viaSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+- CARD32 control = pVia->CursorRegControl;
+ CARD32 pixel;
+ CARD32 temp;
+ CARD32 *dst;
+@@ -487,12 +520,10 @@
+ fg |= 0xff000000;
+ bg |= 0xff000000;
+
++ /* Don't recolour the image if we don't have to. */
+ if (fg == pVia->CursorFG && bg == pVia->CursorBG)
+ return;
+
+- temp = VIAGETREG(control);
+- VIASETREG(control, temp & 0xFFFFFFFE);
+-
+ dst = (CARD32*)pVia->cursorMap;
+ for (i = 0; i < pVia->CursorMaxWidth * pVia->CursorMaxHeight; i++, dst++)
+ if ((pixel = *dst))
+@@ -517,7 +548,8 @@
+ }
+ break;
+ default:
+- VIASETREG(control, temp);
++ temp = VIAGETREG(VIA_REG_ALPHA_CONTROL);
++ VIASETREG(VIA_REG_ALPHA_CONTROL, temp & 0xFFFFFFFE);
+ }
+ }
+
+diff -ruN xf86-video-openchrome-0.2.904/src/via_dri.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_dri.c
+--- xf86-video-openchrome-0.2.904/src/via_dri.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_dri.c 2010-03-07 01:09:00.000000000 +0100
+@@ -267,6 +267,11 @@
+ pVIADRI = pDRIInfo->devPrivate;
+ pVia->agpSize = 0;
+
++/* For AMD64 */
++#ifdef __x86_64__
++ return FALSE;
++#endif
++
+ if (drmAgpAcquire(pVia->drmFD) < 0) {
+ xf86DrvMsg(pScreen->myNum, X_ERROR, "[drm] drmAgpAcquire failed %d\n",
+ errno);
+diff -ruN xf86-video-openchrome-0.2.904/src/via_driver.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.c
+--- xf86-video-openchrome-0.2.904/src/via_driver.c 2009-10-09 00:46:15.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.c 2010-03-07 01:09:00.000000000 +0100
+@@ -178,8 +178,8 @@
+ {VIA_P4M900, "P4M900/VN896/CN896"},
+ {VIA_CX700, "CX700/VX700"},
+ {VIA_P4M890, "P4M890"},
+- {VIA_VX800, "VX800"},
+- {VIA_VX855, "VX855"},
++ {VIA_VX800, "VX800/VX820"},
++ {VIA_VX855, "VX855/VX875"},
+ {-1, NULL }
+ };
+
+@@ -215,6 +215,7 @@
+ OPTION_EXA_SCRATCH_SIZE,
+ OPTION_SWCURSOR,
+ OPTION_SHADOW_FB,
++ OPTION_ROTATION_TYPE,
+ OPTION_ROTATE,
+ OPTION_VIDEORAM,
+ OPTION_ACTIVEDEVICE,
+@@ -253,6 +254,7 @@
+ {OPTION_EXA_SCRATCH_SIZE, "ExaScratchSize", OPTV_INTEGER, {0}, FALSE},
+ {OPTION_SWCURSOR, "SWCursor", OPTV_BOOLEAN, {0}, FALSE},
+ {OPTION_SHADOW_FB, "ShadowFB", OPTV_BOOLEAN, {0}, FALSE},
++ {OPTION_ROTATION_TYPE, "RotationType", OPTV_ANYSTR, {0}, FALSE},
+ {OPTION_ROTATE, "Rotate", OPTV_ANYSTR, {0}, FALSE},
+ {OPTION_VIDEORAM, "VideoRAM", OPTV_INTEGER, {0}, FALSE},
+ {OPTION_ACTIVEDEVICE, "ActiveDevice", OPTV_ANYSTR, {0}, FALSE},
+@@ -307,6 +309,7 @@
+ {
+ static Bool setupDone = FALSE;
+
++ /* Only be loaded once */
+ if (!setupDone) {
+ setupDone = TRUE;
+ xf86AddDriver(&VIA, module,
+@@ -339,6 +342,7 @@
+ if (pScrn->driverPrivate)
+ return TRUE;
+
++ /* allocate VIARec */
+ pScrn->driverPrivate = xnfcalloc(sizeof(VIARec), 1);
+ VIAPtr pVia = ((VIARec *) (pScrn->driverPrivate));
+
+@@ -455,7 +459,6 @@
+ {
+ ScrnInfoPtr scrn = NULL;
+ EntityInfoPtr entity;
+- DevUnion *private;
+
+ scrn = xf86ConfigPciEntity(scrn, 0, entity_num, VIAPciChipsets,
+ NULL, NULL, NULL, NULL, NULL);
+@@ -652,6 +655,12 @@
+ vbeInfoPtr pVbe;
+
+ if (xf86LoadSubModule(pScrn, "vbe")) {
++ /* FIXME This line should be replaced to:
++
++ pVbe = VBEExtendedInit(NULL, index, 0);
++
++ for XF86 version > 4.2.99
++ */
+ pVbe = VBEInit(NULL, index);
+ ConfiguredMonitor = vbeDoEDID(pVbe, NULL);
+ vbeFree(pVbe);
+@@ -664,7 +673,7 @@
+ VIAPtr pVia = VIAPTR(pScrn);
+ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
+
+- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetupDefaultOptions\n"));
++ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIASetupDefaultOptions - Setting up default chipset options.\n"));
+
+ pVia->shadowFB = FALSE;
+ pVia->NoAccel = FALSE;
+@@ -688,6 +697,9 @@
+ #ifdef HAVE_DEBUG
+ pVia->PrintVGARegs = FALSE;
+ #endif
++
++ /* Disable vertical interpolation because the size of */
++ /* line buffer (limited to 800) is too small to do interpolation. */
+ pVia->swov.maxWInterp = 800;
+ pVia->swov.maxHInterp = 600;
+ pVia->useLegacyVBE = TRUE;
+@@ -713,11 +725,14 @@
+ pVia->UseLegacyModeSwitch = TRUE;
+ break;
+ case VIA_PM800:
++ /* Use new mode switch to resolve many resolution and display bugs (switch to console) */
++ /* FIXME The video playing (XV) is not working correctly after turn on new mode switch */
+ pVia->VideoEngine = VIDEO_ENGINE_CME;
+- pVia->UseLegacyModeSwitch = TRUE;
+ break;
+ case VIA_VM800:
+- pVia->UseLegacyModeSwitch = TRUE;
++ /* New mode switch resolve bug with gamma set #282 */
++ /* and with Xv after hibernate #240 */
++ /* FIXME Add panel support for this chipset */
+ break;
+ case VIA_K8M890:
+ pVia->VideoEngine = VIDEO_ENGINE_CME;
+@@ -1050,19 +1065,13 @@
+ xf86DrvMsg(pScrn->scrnIndex, from,
+ "Probed amount of VideoRAM = %d kB\n", pScrn->videoRam);
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "Setting up default chipset options.\n");
+ if (!VIASetupDefaultOptions(pScrn)) {
+ VIAFreeRec(pScrn);
+ return FALSE;
+ }
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Reading config file...\n");
+ xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, VIAOptions);
+
+- xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "Starting to parse config file options...\n");
+-
+ if (xf86GetOptValInteger(VIAOptions, OPTION_VIDEORAM, &pScrn->videoRam))
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "Setting amount of VideoRAM to %d kB\n", pScrn->videoRam);
+@@ -1100,6 +1109,31 @@
+ }
+
+ /* When rotating, switch shadow framebuffer on and acceleration off. */
++ if ((s = xf86GetOptValString(VIAOptions, OPTION_ROTATION_TYPE))) {
++ if (!xf86NameCmp(s, "SWRandR")) {
++ pVia->shadowFB = TRUE;
++ pVia->NoAccel = TRUE;
++ pVia->RandRRotation = TRUE;
++ pVia->rotate = RR_Rotate_0;
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Rotating screen "
++ "RandR enabled, acceleration disabled\n");
++ } else if (!xf86NameCmp(s, "HWRandR")) {
++ pVia->shadowFB = TRUE;
++ pVia->NoAccel = TRUE;
++ pVia->RandRRotation = TRUE;
++ pVia->rotate = RR_Rotate_0;
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Hardware accelerated "
++ "rotating screen is not implemented. Using SW RandR.\n");
++ } else {
++ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "\"%s\" is not a valid"
++ "value for Option \"RotationType\".\n", s);
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
++ "Valid options are \"SWRandR\" and \"HWRandR\".\n");
++ }
++ }
++
++
++ /* When rotating, switch shadow framebuffer on and acceleration off. */
+ if ((s = xf86GetOptValString(VIAOptions, OPTION_ROTATE))) {
+ if (!xf86NameCmp(s, "CW")) {
+ pVia->shadowFB = TRUE;
+@@ -1498,6 +1532,7 @@
+ }
+ }
+
++ /* Initialize the colormap */
+ Gamma zeros = { 0.0, 0.0, 0.0 };
+ if (!xf86SetGamma(pScrn, zeros)) {
+ VIAFreeRec(pScrn);
+@@ -1561,9 +1596,8 @@
+
+ if (pBIOSInfo->Panel->IsActive &&
+ ((pVia->Chipset == VIA_K8M800) ||
+- (pVia->Chipset == VIA_PM800) ||
+ (pVia->Chipset == VIA_VM800))) {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Panel on K8M800, PM800 and "
++ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Panel on K8M800 and "
+ "VM800 is currently not supported.\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Using VBE to set modes to work around this.\n");
+@@ -1621,7 +1655,7 @@
+ *
+ * CLE266A: primary AdjustFrame can use only 24 bits, so we are limited
+ * to 12x11 bits; 4080x2048 (~2:1), 3344x2508 (4:3), or 2896x2896 (1:1).
+- * Test CLE266Cx, KM400, KM400A, K8M800, PM800, CN400 please.
++ * TODO Test CLE266Cx, KM400, KM400A, K8M800, CN400 please.
+ *
+ * We should be able to limit the memory available for a mode to 32 MB,
+ * but xf86ValidateModes (or miScanLineWidth) fails to catch this
+@@ -1629,13 +1663,14 @@
+ */
+
+ /* Select valid modes from those available. */
+- i = xf86ValidateModes(pScrn, pScrn->monitor->Modes, /* availModes */
+- pScrn->display->modes, /* modeNames */
+- clockRanges, /* list of clock ranges */
++ i = xf86ValidateModes(pScrn,
++ pScrn->monitor->Modes, /* List of modes available for the monitor */
++ pScrn->display->modes, /* List of mode names that the screen is requesting */
++ clockRanges, /* list of clock ranges */
+ NULL, /* list of line pitches */
+ 256, /* minimum line pitch */
+ 3344, /* maximum line pitch */
+- 32 * 8, /* pitch inc (bits) */
++ 16 * 8, /* pitch increment (in bits), we just want 16 bytes alignment */
+ 128, /* min height */
+ 2508, /* max height */
+ pScrn->display->virtualX, /* virtual width */
+@@ -1650,6 +1685,7 @@
+ return FALSE;
+ }
+
++ /* This function deletes modes in the modes field of the ScrnInfoRec that have been marked as invalid. */
+ xf86PruneDriverModes(pScrn);
+
+ if (i == 0 || pScrn->modes == NULL) {
+@@ -1662,9 +1698,17 @@
+ /* Set up screen parameters. */
+ pVia->Bpp = pScrn->bitsPerPixel >> 3;
+ pVia->Bpl = pScrn->displayWidth * pVia->Bpp;
++
++ /* This function fills in the Crtc fields for all the modes in the modes field of the ScrnInfoRec. */
+ xf86SetCrtcForModes(pScrn, INTERLACE_HALVE_V);
++
++ /* Set the current mode to the first in the list */
+ pScrn->currentMode = pScrn->modes;
++
++ /* Print the list of modes being used */
+ xf86PrintModes(pScrn);
++
++ /* Set display resolution */
+ xf86SetDpi(pScrn, 0, 0);
+
+ #ifdef USE_FB
+@@ -1935,7 +1979,9 @@
+ Regs->SR17 = hwp->readSeq(hwp, 0x17);
+ Regs->SR18 = hwp->readSeq(hwp, 0x18);
+ Regs->SR19 = hwp->readSeq(hwp, 0x19);
++ /* PCI Bus Control */
+ Regs->SR1A = hwp->readSeq(hwp, 0x1A);
++
+ Regs->SR1B = hwp->readSeq(hwp, 0x1B);
+ Regs->SR1C = hwp->readSeq(hwp, 0x1C);
+ Regs->SR1D = hwp->readSeq(hwp, 0x1D);
+@@ -1977,40 +2023,56 @@
+ Regs->SR4C = hwp->readSeq(hwp, 0x4C);
+ break;
+ }
+- DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+- "Non-Primary Adapter! saving VGA_SR_MODE only !!\n"));
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Crtc...\n"));
+
+ Regs->CR13 = hwp->readCrtc(hwp, 0x13);
+
+ Regs->CR32 = hwp->readCrtc(hwp, 0x32);
+ Regs->CR33 = hwp->readCrtc(hwp, 0x33);
+- Regs->CR34 = hwp->readCrtc(hwp, 0x34);
++
+ Regs->CR35 = hwp->readCrtc(hwp, 0x35);
+ Regs->CR36 = hwp->readCrtc(hwp, 0x36);
+
++
++
++ /* Starting Address */
++ /* Start Address High */
++ Regs->CR0C = hwp->readCrtc(hwp, 0x0C);
++ /* Start Address Low */
++ Regs->CR0D = hwp->readCrtc(hwp, 0x0D);
++ /* Starting Address Overflow Bits[28:24] */
+ Regs->CR48 = hwp->readCrtc(hwp, 0x48);
++ /* CR34 are fire bits. Must be writed after CR0C CR0D CR48. */
++ /* Starting Address Overflow Bits[23:16] */
++ Regs->CR34 = hwp->readCrtc(hwp, 0x34);
++
++
+ Regs->CR49 = hwp->readCrtc(hwp, 0x49);
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "TVSave...\n"));
+ if (pBIOSInfo->TVI2CDev)
+ ViaTVSave(pScrn);
+
+- /* Save LCD control registers. */
++ /* Save LCD control registers (from CR 0x50 to 0x93). */
+ for (i = 0; i < 68; i++)
+ Regs->CRTCRegs[i] = hwp->readCrtc(hwp, i + 0x50);
+
+ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
+-
+- Regs->CRA0 = hwp->readCrtc(hwp, 0xA0);
+- Regs->CRA1 = hwp->readCrtc(hwp, 0xA1);
+- Regs->CRA2 = hwp->readCrtc(hwp, 0xA2);
+-
++ /* LVDS Channel 2 Function Select 0 / DVI Function Select */
+ Regs->CR97 = hwp->readCrtc(hwp, 0x97);
++ /* LVDS Channel 1 Function Select 0 */
+ Regs->CR99 = hwp->readCrtc(hwp, 0x99);
++ /* Digital Video Port 1 Function Select 0 */
+ Regs->CR9B = hwp->readCrtc(hwp, 0x9B);
++ /* Power Now Control 4 */
+ Regs->CR9F = hwp->readCrtc(hwp, 0x9F);
+
++ /* Horizontal Scaling Initial Value */
++ Regs->CRA0 = hwp->readCrtc(hwp, 0xA0);
++ /* Vertical Scaling Initial Value */
++ Regs->CRA1 = hwp->readCrtc(hwp, 0xA1);
++ /* Scaling Enable Bit */
++ Regs->CRA2 = hwp->readCrtc(hwp, 0xA2);
+ }
+
+ /* Save TMDS status */
+@@ -2098,11 +2160,19 @@
+ hwp->writeSeq(hwp, 0x45, Regs->SR45);
+ hwp->writeSeq(hwp, 0x46, Regs->SR46);
+
++ /* Reset VCK PLL */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x02); /* Set SR40[1] to 1 */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFD); /* Set SR40[1] to 0 */
++
+ /* ECK Clock Synthesizer: */
+ hwp->writeSeq(hwp, 0x47, Regs->SR47);
+ hwp->writeSeq(hwp, 0x48, Regs->SR48);
+ hwp->writeSeq(hwp, 0x49, Regs->SR49);
+
++ /* Reset ECK PLL */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x01); /* Set SR40[0] to 1 */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFE); /* Set SR40[0] to 0 */
++
+ switch (pVia->Chipset) {
+ case VIA_CLE266:
+ case VIA_KM400:
+@@ -2112,6 +2182,10 @@
+ hwp->writeSeq(hwp, 0x4A, Regs->SR4A);
+ hwp->writeSeq(hwp, 0x4B, Regs->SR4B);
+ hwp->writeSeq(hwp, 0x4C, Regs->SR4C);
++
++ /* Reset LCK PLL */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) | 0x04); /* Set SR40[2] to 1 */
++ hwp->writeSeq(hwp, 0x40, hwp->readSeq(hwp, 0x40) & 0xFB); /* Set SR40[2] to 0 */
+ break;
+ }
+
+@@ -2127,14 +2201,23 @@
+ hwp->writeCrtc(hwp, 0x32, Regs->CR32);
+ /* HSYNCH Adjuster */
+ hwp->writeCrtc(hwp, 0x33, Regs->CR33);
+- /* Starting Address Overflow */
+- hwp->writeCrtc(hwp, 0x34, Regs->CR34);
+ /* Extended Overflow */
+ hwp->writeCrtc(hwp, 0x35, Regs->CR35);
+ /*Power Management 3 (Monitor Control) */
+ hwp->writeCrtc(hwp, 0x36, Regs->CR36);
+
++ /* Starting Address */
++ /* Start Address High */
++ hwp->writeCrtc(hwp, 0x0C, Regs->CR0C);
++ /* Start Address Low */
++ hwp->writeCrtc(hwp, 0x0D, Regs->CR0D);
++ /* Starting Address Overflow Bits[28:24] */
+ hwp->writeCrtc(hwp, 0x48, Regs->CR48);
++ /* CR34 are fire bits. Must be writed after CR0C CR0D CR48. */
++ /* Starting Address Overflow Bits[23:16] */
++ hwp->writeCrtc(hwp, 0x34, Regs->CR34);
++
++
+ hwp->writeCrtc(hwp, 0x49, Regs->CR49);
+
+ /* Restore LCD control registers. */
+@@ -2453,7 +2536,6 @@
+ VIALoadRgbLut(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
+ VisualPtr pVisual)
+ {
+- VIAPtr pVia = VIAPTR(pScrn);
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+
+ int i, j, index;
+@@ -2880,7 +2962,6 @@
+ VIAWriteMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+- VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAWriteMode\n"));
+
+@@ -3033,9 +3114,7 @@
+ VIAAdjustFrame(int scrnIndex, int x, int y, int flags)
+ {
+ ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+- vgaHWPtr hwp = VGAHWPTR(pScrn);
+ VIAPtr pVia = VIAPTR(pScrn);
+- CARD32 Base;
+
+ DEBUG(xf86DrvMsg(scrnIndex, X_INFO, "VIAAdjustFrame %dx%d\n", x, y));
+
+@@ -3173,7 +3252,6 @@
+ static void
+ VIADPMS(ScrnInfoPtr pScrn, int mode, int flags)
+ {
+- vgaHWPtr hwp = VGAHWPTR(pScrn);
+ VIAPtr pVia = VIAPTR(pScrn);
+ VIABIOSInfoPtr pBIOSInfo = pVia->pBIOSInfo;
+
+diff -ruN xf86-video-openchrome-0.2.904/src/via_driver.h ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.h
+--- xf86-video-openchrome-0.2.904/src/via_driver.h 2009-10-09 01:09:22.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_driver.h 2010-03-07 01:09:00.000000000 +0100
+@@ -130,6 +130,7 @@
+ CARD8 SR4A, SR4B, SR4C;
+
+ /* extended CRTC registers */
++ CARD8 CR0C, CR0D;
+ CARD8 CR13, CR30, CR31, CR32, CR33, CR34, CR35, CR36;
+ CARD8 CR37, CR38, CR39, CR3A, CR40, CR41, CR42, CR43;
+ CARD8 CR44, CR45, CR46, CR47, CR48, CR49, CR4A;
+@@ -418,10 +419,10 @@
+ Bool PrintVGARegs;
+ Bool PrintTVRegs;
+ Bool I2CScan;
++#endif /* HAVE_DEBUG */
+
+ Bool UseLegacyModeSwitch ;
+ video_via_regs* VideoRegs ;
+-#endif /* HAVE_DEBUG */
+ } VIARec, *VIAPtr;
+
+ #define VIAPTR(p) ((VIAPtr)((p)->driverPrivate))
+diff -ruN xf86-video-openchrome-0.2.904/src/via_id.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_id.c
+--- xf86-video-openchrome-0.2.904/src/via_id.c 2009-10-07 23:30:39.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_id.c 2010-03-07 01:09:00.000000000 +0100
+@@ -152,6 +152,7 @@
+ {"MSI PM8PM", VIA_VM800, 0x1462, 0x7222, VIA_DEVICE_CRT},
+ {"Twinhead M6", VIA_VM800, 0x14FF, 0xA007, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"RoverBook Partner W500", VIA_VM800, 0x1509, 0x4330, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++ {"FIC PTM800Pro LF", VIA_VM800, 0x1509, 0x601A, VIA_DEVICE_CRT},
+ {"Clevo/RoverBook Voyager V511L", VIA_VM800, 0x1558, 0x0662, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Clevo M5xxS", VIA_VM800, 0x1558, 0x5406, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Biostar P4M80-M4 / P4VMA-M", VIA_VM800, 0x1565, 0x1202, VIA_DEVICE_CRT},
+@@ -170,6 +171,7 @@
+ {"Asustek M2V-MX SE", VIA_K8M890, 0x1043, 0x8297, VIA_DEVICE_CRT},
+ {"Foxconn K8M890M2MA-RS2H", VIA_K8M890, 0x105B, 0x0C84, VIA_DEVICE_CRT},
+ {"Shuttle FX22V1", VIA_K8M890, 0x1297, 0x3080, VIA_DEVICE_CRT},
++ {"MSI K8M890M2-V", VIA_K8M890, 0x1462, 0x7139, VIA_DEVICE_CRT},
+ {"MSI K9VGM-V", VIA_K8M890, 0x1462, 0x7253, VIA_DEVICE_CRT},
+ {"Averatec 226x", VIA_K8M890, 0x14FF, 0xA002, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Fujitsu/Siemens Amilo La 1703", VIA_K8M890, 0x1734, 0x10D9, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+@@ -189,6 +191,7 @@
+ {"MSI P4M900M / P4M900M2-F/L", VIA_P4M900, 0x1462, 0x7255, VIA_DEVICE_CRT},
+ {"MSI P4M900M3-L", VIA_P4M900, 0x1462, 0x7387, VIA_DEVICE_CRT},
+ {"Twinhead H12V", VIA_P4M900, 0x14FF, 0xA00F, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
++ {"Twinhead K15V", VIA_P4M900, 0x14FF, 0xA012, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Everex NC1501/NC1503", VIA_P4M900, 0x1509, 0x1E30, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Clevo M660SE", VIA_P4M900, 0x1558, 0x0664, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Clevo M660SR", VIA_P4M900, 0x1558, 0x0669, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+@@ -224,6 +227,7 @@
+
+ /*** VX800 ***/
+ {"VIA Epia M700", VIA_VX800, 0x1106, 0x1122, VIA_DEVICE_CRT},
++ {"Guillemot-Hercules ECafe EC900B", VIA_VX800, 0x1106, 0x3349, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"VIA OpenBook", VIA_VX800, 0x1170, 0x0311, VIA_DEVICE_CRT | VIA_DEVICE_LCD}, /* VIA OpenBook eNote VBE8910 */
+ {"Samsung NC20", VIA_VX800, 0x144d, 0xc04e, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+ {"Quanta DreamBook Light IL1", VIA_VX800, 0x152d, 0x0771, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
+@@ -231,6 +235,7 @@
+
+ /*** VX855 ***/
+ {"VIA VT8562C", VIA_VX855, 0x1106, 0x5122, VIA_DEVICE_CRT},
++ {"OLPC XO 1.5", VIA_VX855, 0x152D, 0x0833, VIA_DEVICE_LCD},
+
+ /* keep this */
+ {NULL, VIA_UNKNOWN, 0x0000, 0x0000, VIA_DEVICE_NONE}
+diff -ruN xf86-video-openchrome-0.2.904/src/via_mode.h ../openchrome/xf86-video-openchrome-0.2.904/src/via_mode.h
+--- xf86-video-openchrome-0.2.904/src/via_mode.h 2009-10-07 23:31:47.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_mode.h 2010-03-07 01:09:00.000000000 +0100
+@@ -54,50 +54,50 @@
+ CARD16 UniChrome;
+ union pllparams UniChromePro;
+ } ViaDotClocks[] = {
+- { 25200, 0x513C, /* 0xa79004 */ { 1, 4, 6, 169 } },
+- { 25312, 0xC763, /* 0xc49005 */ { 1, 4, 7, 198 } },
+- { 26591, 0x471A, /* 0xce9005 */ { 1, 4, 7, 208 } },
+- { 31500, 0xC558, /* 0xae9003 */ { 1, 4, 5, 176 } },
+- { 31704, 0x471F, /* 0xaf9002 */ { 1, 4, 4, 177 } },
+- { 32663, 0xC449, /* 0x479000 */ { 1, 4, 2, 73 } },
+- { 33750, 0x4721, /* 0x959002 */ { 1, 4, 4, 151 } },
+- { 35500, 0x5877, /* 0x759001 */ { 1, 4, 3, 119 } },
+- { 36000, 0x5879, /* 0x9f9002 */ { 1, 4, 4, 161 } },
+- { 39822, 0xC459, /* 0x578c02 */ { 1, 3, 4, 89 } },
+- { 40000, 0x515F, /* 0x848c04 */ { 1, 3, 6, 134 } },
+- { 41164, 0x4417, /* 0x2c8c00 */ { 1, 3, 2, 46 } },
+- { 46981, 0x5069, /* 0x678c02 */ { 1, 3, 4, 105 } },
+- { 49500, 0xC353, /* 0xa48c04 */ { 3, 3, 5, 138 } },
+- { 50000, 0xC354, /* 0x368c00 */ { 1, 3, 2, 56 } },
+- { 56300, 0x4F76, /* 0x3d8c00 */ { 1, 3, 2, 63 } },
+- { 57275, 0, /* 0x3e8c00 */ { 1, 3, 5, 157 } }, /* For XO 1.5 no need for a unichrome clock */
+- { 57284, 0x4E70, /* 0x3e8c00 */ { 1, 3, 2, 64 } },
+- { 64995, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
+- { 65000, 0x0D3B, /* 0x6b8c01 */ { 1, 3, 3, 109 } }, /* Slightly unstable on PM800 */
+- { 65028, 0x866D, /* 0x6b8c01 */ { 1, 3, 3, 109 } },
+- { 74480, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
+- { 75000, 0x156E, /* 0x288800 */ { 1, 2, 2, 42 } },
+- { 78800, 0x442C, /* 0x2a8800 */ { 1, 2, 2, 44 } },
+- { 81135, 0x0622, /* 0x428801 */ { 1, 2, 3, 68 } },
+- { 81613, 0x4539, /* 0x708803 */ { 1, 2, 5, 114 } },
+- { 94500, 0x4542, /* 0x4d8801 */ { 1, 2, 3, 79 } },
+- { 108000, 0x0B53, /* 0x778802 */ { 1, 2, 4, 121 } },
+- { 108280, 0x4879, /* 0x778802 */ { 1, 2, 4, 121 } },
+- { 122000, 0x0D6F, /* 0x428800 */ { 1, 2, 2, 68 } },
+- { 122726, 0x073C, /* 0x878802 */ { 1, 2, 4, 137 } },
+- { 135000, 0x0742, /* 0x6f8801 */ { 1, 2, 3, 113 } },
+- { 148500, 0x0853, /* 0x518800 */ { 1, 2, 2, 83 } },
+- { 155800, 0x0857, /* 0x558402 */ { 1, 1, 4, 87 } },
+- { 157500, 0x422C, /* 0x2a8400 */ { 1, 1, 2, 44 } },
+- { 161793, 0x4571, /* 0x6f8403 */ { 1, 1, 5, 113 } },
+- { 162000, 0x0A71, /* 0x6f8403 */ { 1, 1, 5, 113 } },
+- { 175500, 0x4231, /* 0x2f8400 */ { 1, 1, 2, 49 } },
+- { 189000, 0x0542, /* 0x4d8401 */ { 1, 1, 3, 79 } },
+- { 202500, 0x0763, /* 0x6F8402 */ { 1, 1, 4, 113 } },
+- { 204800, 0x0764, /* 0x548401 */ { 1, 1, 3, 86 } },
+- { 218300, 0x043D, /* 0x3b8400 */ { 1, 1, 2, 61 } },
+- { 229500, 0x0660, /* 0x3e8400 */ { 1, 1, 2, 64 } }, /* Not tested on Pro } */
+- { 0, 0, { 0, 0, 0, 0 } }
++ { 25200, 0x513C, /* 0xa79004 */ { { 1, 4, 6, 169 } } },
++ { 25312, 0xC763, /* 0xc49005 */ { { 1, 4, 7, 198 } } },
++ { 26591, 0x471A, /* 0xce9005 */ { { 1, 4, 7, 208 } } },
++ { 31500, 0xC558, /* 0xae9003 */ { { 1, 4, 5, 176 } } },
++ { 31704, 0x471F, /* 0xaf9002 */ { { 1, 4, 4, 177 } } },
++ { 32663, 0xC449, /* 0x479000 */ { { 1, 4, 2, 73 } } },
++ { 33750, 0x4721, /* 0x959002 */ { { 1, 4, 4, 151 } } },
++ { 35500, 0x5877, /* 0x759001 */ { { 1, 4, 3, 119 } } },
++ { 36000, 0x5879, /* 0x9f9002 */ { { 1, 4, 4, 161 } } },
++ { 39822, 0xC459, /* 0x578c02 */ { { 1, 3, 4, 89 } } },
++ { 40000, 0x515F, /* 0x848c04 */ { { 1, 3, 6, 134 } } },
++ { 41164, 0x4417, /* 0x2c8c00 */ { { 1, 3, 2, 46 } } },
++ { 46981, 0x5069, /* 0x678c02 */ { { 1, 3, 4, 105 } } },
++ { 49500, 0xC353, /* 0xa48c04 */ { { 3, 3, 5, 138 } } },
++ { 50000, 0xC354, /* 0x368c00 */ { { 1, 3, 2, 56 } } },
++ { 56300, 0x4F76, /* 0x3d8c00 */ { { 1, 3, 2, 63 } } },
++ { 57275, 0, /* 0x3e8c00 */ { { 1, 3, 5, 157 } } }, /* For XO 1.5 no need for a unichrome clock */
++ { 57284, 0x4E70, /* 0x3e8c00 */ { { 1, 3, 2, 64 } } },
++ { 64995, 0x0D3B, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } },
++ { 65000, 0x0D3B, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } }, /* Slightly unstable on PM800 */
++ { 65028, 0x866D, /* 0x6b8c01 */ { { 1, 3, 3, 109 } } },
++ { 74480, 0x156E, /* 0x288800 */ { { 1, 2, 2, 42 } } },
++ { 75000, 0x156E, /* 0x288800 */ { { 1, 2, 2, 42 } } },
++ { 78800, 0x442C, /* 0x2a8800 */ { { 1, 2, 2, 44 } } },
++ { 81135, 0x0622, /* 0x428801 */ { { 1, 2, 3, 68 } } },
++ { 81613, 0x4539, /* 0x708803 */ { { 1, 2, 5, 114 } } },
++ { 94500, 0x4542, /* 0x4d8801 */ { { 1, 2, 3, 79 } } },
++ { 108000, 0x0B53, /* 0x778802 */ { { 1, 2, 4, 121 } } },
++ { 108280, 0x4879, /* 0x778802 */ { { 1, 2, 4, 121 } } },
++ { 122000, 0x0D6F, /* 0x428800 */ { { 1, 2, 2, 68 } } },
++ { 122726, 0x073C, /* 0x878802 */ { { 1, 2, 4, 137 } } },
++ { 135000, 0x0742, /* 0x6f8801 */ { { 1, 2, 3, 113 } } },
++ { 148500, 0x0853, /* 0x518800 */ { { 1, 2, 2, 83 } } },
++ { 155800, 0x0857, /* 0x558402 */ { { 1, 1, 4, 87 } } },
++ { 157500, 0x422C, /* 0x2a8400 */ { { 1, 1, 2, 44 } } },
++ { 161793, 0x4571, /* 0x6f8403 */ { { 1, 1, 5, 113 } } },
++ { 162000, 0x0A71, /* 0x6f8403 */ { { 1, 1, 5, 113 } } },
++ { 175500, 0x4231, /* 0x2f8400 */ { { 1, 1, 2, 49 } } },
++ { 189000, 0x0542, /* 0x4d8401 */ { { 1, 1, 3, 79 } } },
++ { 202500, 0x0763, /* 0x6F8402 */ { { 1, 1, 4, 113 } } },
++ { 204800, 0x0764, /* 0x548401 */ { { 1, 1, 3, 86 } } },
++ { 218300, 0x043D, /* 0x3b8400 */ { { 1, 1, 2, 61 } } },
++ { 229500, 0x0660, /* 0x3e8400 */ { { 1, 1, 2, 64 } } }, /* Not tested on Pro } */
++ { 0, 0, { { 0, 0, 0, 0 } } }
+ };
+
+ /*
+diff -ruN xf86-video-openchrome-0.2.904/src/via_panel.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_panel.c
+--- xf86-video-openchrome-0.2.904/src/via_panel.c 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_panel.c 2010-03-07 01:09:00.000000000 +0100
+@@ -171,12 +171,18 @@
+ resWidth, resHeight, panelWidth, panelHeight));
+
+ if (resWidth < panelWidth) {
+- /* FIXME: It is different for chipset < K8M800 */
+- horScalingFactor = ((resWidth - 1) * 4096) / (panelWidth - 1);
++ /* Load Horizontal Scaling Factor */
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ horScalingFactor = ((resWidth - 1) * 4096) / (panelWidth - 1);
++
++ /* Horizontal scaling enabled */
++ cra2 = 0xC0;
++ cr9f = horScalingFactor & 0x0003; /* HSCaleFactor[1:0] at CR9F[1:0] */
++ } else {
++ /* TODO: Need testing */
++ horScalingFactor = ((resWidth - 1) * 1024) / (panelWidth - 1);
++ }
+
+- /* Horizontal scaling enabled */
+- cra2 = 0xC0;
+- cr9f = horScalingFactor & 0x0003; /* HSCaleFactor[1:0] at CR9F[1:0] */
+ cr77 = (horScalingFactor & 0x03FC) >> 2; /* HSCaleFactor[9:2] at CR77[7:0] */
+ cr79 = (horScalingFactor & 0x0C00) >> 10; /* HSCaleFactor[11:10] at CR79[5:4] */
+ cr79 <<= 4;
+@@ -184,11 +190,18 @@
+ }
+
+ if (resHeight < panelHeight) {
+- verScalingFactor = ((resHeight - 1) * 2048) / (panelHeight - 1);
++ /* Load Vertical Scaling Factor */
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ verScalingFactor = ((resHeight - 1) * 2048) / (panelHeight - 1);
++
++ /* Vertical scaling enabled */
++ cra2 |= 0x08;
++ cr79 |= ((verScalingFactor & 0x0001) << 3); /* VSCaleFactor[0] at CR79[3] */
++ } else {
++ /* TODO: Need testing */
++ verScalingFactor = ((resHeight - 1) * 1024) / (panelHeight - 1);
++ }
+
+- /* Vertical scaling enabled */
+- cra2 |= 0x08;
+- cr79 |= ((verScalingFactor & 0x0001) << 3); /* VSCaleFactor[0] at CR79[3] */
+ cr78 |= (verScalingFactor & 0x01FE) >> 1; /* VSCaleFactor[8:1] at CR78[7:0] */
+ cr79 |= ((verScalingFactor & 0x0600) >> 9) << 6; /* VSCaleFactor[10:9] at CR79[7:6] */
+ scaling = TRUE;
+@@ -203,12 +216,18 @@
+ ViaCrtcMask(hwp, 0x77, cr77, 0xFF);
+ ViaCrtcMask(hwp, 0x78, cr78, 0xFF);
+ ViaCrtcMask(hwp, 0x79, cr79, 0xF8);
+- ViaCrtcMask(hwp, 0x9F, cr9f, 0x03);
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ ViaCrtcMask(hwp, 0x9F, cr9f, 0x03);
++ }
+ ViaCrtcMask(hwp, 0x79, 0x03, 0x03);
+- } else
++ } else {
++ /* Disable panel scale */
+ ViaCrtcMask(hwp, 0x79, 0x00, 0x01);
+-
+- ViaCrtcMask(hwp, 0xA2, cra2, 0xC8);
++ }
++
++ if (pVia->Chipset != VIA_CLE266 && pVia->Chipset != VIA_KM400) {
++ ViaCrtcMask(hwp, 0xA2, cra2, 0xC8);
++ }
+
+ /* Horizontal scaling selection: interpolation */
+ // ViaCrtcMask(hwp, 0x79, 0x02, 0x02);
+@@ -233,14 +252,14 @@
+
+ if (panelMode->Width && panelMode->Height) {
+
+- /* TODO: fix refresh rate and check malloc */
++ /* TODO: fix refresh rate */
+ DisplayModePtr p = malloc( sizeof(DisplayModeRec) ) ;
+- memset(p, 0, sizeof(DisplayModeRec));
++ if (p) {
++ memset(p, 0, sizeof(DisplayModeRec));
+
+- float refresh = 60.0f ;
++ float refresh = 60.0f ;
+
+- /* The following code is borrowed from xf86SetModeCrtc. */
+- if (p) {
++ /* The following code is borrowed from xf86SetModeCrtc. */
+ viaTimingCvt(p, panelMode->Width, panelMode->Height, refresh, FALSE, TRUE);
+ p->CrtcHDisplay = p->HDisplay;
+ p->CrtcHSyncStart = p->HSyncStart;
+@@ -256,9 +275,13 @@
+ p->CrtcVBlankEnd = max(p->CrtcVSyncEnd, p->CrtcVTotal);
+ p->CrtcHBlankStart = min(p->CrtcHSyncStart, p->CrtcHDisplay);
+ p->CrtcHBlankEnd = max(p->CrtcHSyncEnd, p->CrtcHTotal);
+-
++
++ pVia->pBIOSInfo->Panel->NativeDisplayMode = p;
++ } else {
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++ "Out of memory. Size: %d bytes\n", sizeof(DisplayModeRec));
+ }
+- pVia->pBIOSInfo->Panel->NativeDisplayMode = p;
++
+ } else {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Invalid panel dimension (%dx%d)\n", panelMode->Width,
+@@ -339,22 +362,22 @@
+ ViaPanelGetSizeFromEDID(ScrnInfoPtr pScrn, xf86MonPtr pMon,
+ int *width, int *height)
+ {
+- int i, max = 0, vsize;
++ int i, max_hsize = 0, vsize = 0;
+
+ DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VIAGetPanelSizeFromEDID\n"));
+
+ /* !!! Why are we not checking VESA modes? */
+
+ /* checking standard timings */
+- for (i = 0; i < 8; i++)
++ for (i = 0; i < STD_TIMINGS; i++)
+ if ((pMon->timings2[i].hsize > 256)
+- && (pMon->timings2[i].hsize > max)) {
+- max = pMon->timings2[i].hsize;
++ && (pMon->timings2[i].hsize > max_hsize)) {
++ max_hsize = pMon->timings2[i].hsize;
+ vsize = pMon->timings2[i].vsize;
+ }
+
+- if (max != 0) {
+- *width = max;
++ if (max_hsize != 0) {
++ *width = max_hsize;
+ *height = vsize;
+ return TRUE;
+ }
+@@ -369,14 +392,14 @@
+ struct detailed_timings timing = pMon->det_mon[i].section.d_timings;
+
+ /* ignore v_active for now */
+- if ((timing.clock > 15000000) && (timing.h_active > max)) {
+- max = timing.h_active;
++ if ((timing.clock > 15000000) && (timing.h_active > max_hsize)) {
++ max_hsize = timing.h_active;
+ vsize = timing.v_active;
+ }
+ }
+
+- if (max != 0) {
+- *width = max;
++ if (max_hsize != 0) {
++ *width = max_hsize;
+ *height = vsize;
+ return TRUE;
+ }
+diff -ruN xf86-video-openchrome-0.2.904/src/via_video.c ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.c
+--- xf86-video-openchrome-0.2.904/src/via_video.c 2009-10-08 01:39:13.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.c 2010-03-07 01:09:00.000000000 +0100
+@@ -466,8 +466,8 @@
+
+ viaVidEng->video1_ctl = 0;
+ viaVidEng->video3_ctl = 0;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+ viaVidEng->color_key = 0x821;
+ viaVidEng->snd_color_key = 0x821;
+
+@@ -479,16 +479,16 @@
+ VIAPtr pVia = VIAPTR(pScrn);
+ vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
+
++ DBG_DD(ErrorF(" via_video.c : viaSaveVideo : \n"));
+ /* Save video registers */
+- /* TODO: Identify which registers should be saved and restored */
+ memcpy(pVia->VideoRegs, (void*)viaVidEng, sizeof(video_via_regs));
+
+ pVia->dwV1 = ((vmmtr) viaVidEng)->video1_ctl;
+ pVia->dwV3 = ((vmmtr) viaVidEng)->video3_ctl;
+ viaVidEng->video1_ctl = 0;
+ viaVidEng->video3_ctl = 0;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+ }
+
+ void
+@@ -496,16 +496,65 @@
+ {
+ VIAPtr pVia = VIAPTR(pScrn);
+ vmmtr viaVidEng = (vmmtr) pVia->VidMapBase;
++ video_via_regs *localVidEng = pVia->VideoRegs;
++
+
++ DBG_DD(ErrorF(" via_video.c : viaRestoreVideo : \n"));
+ /* Restore video registers */
+- /* TODO: Identify which registers should be saved and restored */
+- memcpy((void*)viaVidEng, pVia->VideoRegs, sizeof(video_via_regs));
+-
++ /* flush restored video engines' setting to VidMapBase */
++
++ viaVidEng->alphawin_hvstart = localVidEng->alphawin_hvstart;
++ viaVidEng->alphawin_size = localVidEng->alphawin_size;
++ viaVidEng->alphawin_ctl = localVidEng->alphawin_ctl;
++ viaVidEng->alphafb_stride = localVidEng->alphafb_stride;
++ viaVidEng->color_key = localVidEng->color_key;
++ viaVidEng->alphafb_addr = localVidEng->alphafb_addr;
++ viaVidEng->chroma_low = localVidEng->chroma_low;
++ viaVidEng->chroma_up = localVidEng->chroma_up;
++
++ if (pVia->ChipId != PCI_CHIP_VT3314)
++ {
++ /*VT3314 only has V3*/
++ viaVidEng->video1_ctl = localVidEng->video1_ctl;
++ viaVidEng->video1_fetch = localVidEng->video1_fetch;
++ viaVidEng->video1y_addr1 = localVidEng->video1y_addr1;
++ viaVidEng->video1_stride = localVidEng->video1_stride;
++ viaVidEng->video1_hvstart = localVidEng->video1_hvstart;
++ viaVidEng->video1_size = localVidEng->video1_size;
++ viaVidEng->video1y_addr2 = localVidEng->video1y_addr2;
++ viaVidEng->video1_zoom = localVidEng->video1_zoom;
++ viaVidEng->video1_mictl = localVidEng->video1_mictl;
++ viaVidEng->video1y_addr0 = localVidEng->video1y_addr0;
++ viaVidEng->video1_fifo = localVidEng->video1_fifo;
++ viaVidEng->video1y_addr3 = localVidEng->video1y_addr3;
++ viaVidEng->v1_source_w_h = localVidEng->v1_source_w_h ;
++ viaVidEng->video1_CSC1 = localVidEng->video1_CSC1;
++ viaVidEng->video1_CSC2 = localVidEng->video1_CSC2;
++ }
++ viaVidEng->snd_color_key = localVidEng->snd_color_key;
++ viaVidEng->v3alpha_prefifo = localVidEng->v3alpha_prefifo;
++ viaVidEng->v3alpha_fifo = localVidEng->v3alpha_fifo;
++ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
++ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
++ viaVidEng->v3_source_width = localVidEng->v3_source_width;
++ viaVidEng->video3_ctl = localVidEng->video3_ctl;
++ viaVidEng->video3_addr0 = localVidEng->video3_addr0;
++ viaVidEng->video3_addr1 = localVidEng->video3_addr1;
++ viaVidEng->video3_stride = localVidEng->video3_stride;
++ viaVidEng->video3_hvstart = localVidEng->video3_hvstart;
++ viaVidEng->video3_size = localVidEng->video3_size;
++ viaVidEng->v3alpha_fetch = localVidEng->v3alpha_fetch;
++ viaVidEng->video3_zoom = localVidEng->video3_zoom;
++ viaVidEng->video3_mictl = localVidEng->video3_mictl;
++ viaVidEng->video3_CSC1 = localVidEng->video3_CSC1;
++ viaVidEng->video3_CSC2 = localVidEng->video3_CSC2;
++ viaVidEng->compose = localVidEng->compose;
++
+ viaVidEng->video1_ctl = pVia->dwV1;
+ viaVidEng->video3_ctl = pVia->dwV3;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
+-
++ if (pVia->ChipId != PCI_CHIP_VT3314)
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+ }
+
+ void
+@@ -524,8 +573,8 @@
+
+ viaVidEng->video1_ctl = 0;
+ viaVidEng->video3_ctl = 0;
+- viaVidEng->compose = 0x80000000;
+- viaVidEng->compose = 0x40000000;
++ viaVidEng->compose = V1_COMMAND_FIRE;
++ viaVidEng->compose = V3_COMMAND_FIRE;
+
+ /*
+ * Free all adaptor info allocated in viaInitVideo.
+@@ -561,7 +610,7 @@
+ XF86VideoAdaptorPtr *adaptors, *newAdaptors;
+ int num_adaptors, num_new;
+
+- DBG_DD(ErrorF(" via_video.c : viaInitVideo : \n"));
++ DBG_DD(ErrorF(" via_video.c : viaInitVideo, Screen[%d]\n", pScrn->scrnIndex));
+
+ allAdaptors = NULL;
+ newAdaptors = NULL;
+@@ -832,7 +881,7 @@
+ DevUnion *pdevUnion;
+ int i, j, usedPorts, numPorts;
+
+- DBG_DD(ErrorF(" via_video.c : viaSetupImageVideo: \n"));
++ DBG_DD(ErrorF(" via_video.c : viaSetupAdaptors (viaSetupImageVideo): \n"));
+
+ xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
+ xvContrast = MAKE_ATOM("XV_CONTRAST");
+@@ -1042,6 +1091,8 @@
+ }
+
+ } else {
++ DBG_DD(ErrorF(" via_video.c : viaGetPortAttribute : is not supported the attribute\n"));
++
+ /*return BadMatch */;
+ }
+ return Success;
+@@ -1498,6 +1549,7 @@
+
+ DBG_DD(ErrorF(" via_video.c : viaQueryImageAttributes : FourCC=0x%x, ",
+ id));
++ DBG_DD(ErrorF(" via_video.c : Screen[%d], w=%d, h=%d\n", pScrn->scrnIndex, *w, *h));
+
+ if ((!w) || (!h))
+ return 0;
+@@ -1513,6 +1565,7 @@
+
+ switch (id) {
+ case FOURCC_YV12: /*Planar format : YV12 -4:2:0 */
++ case FOURCC_I420:
+ *h = (*h + 1) & ~1;
+ size = *w;
+ if (pVia->useDmaBlit)
+diff -ruN xf86-video-openchrome-0.2.904/src/via_video.h ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.h
+--- xf86-video-openchrome-0.2.904/src/via_video.h 2009-10-03 22:48:55.000000000 +0200
++++ ../openchrome/xf86-video-openchrome-0.2.904/src/via_video.h 2010-03-07 01:09:00.000000000 +0100
+@@ -44,6 +44,10 @@
+
+ #define VIDEO_BPP 2
+
++
++#define V1_COMMAND_FIRE 0x80000000 /* V1 commands fire */
++#define V3_COMMAND_FIRE 0x40000000 /* V3 commands fire */
++
+ typedef struct
+ {
+ CARD32 interruptflag; /* 200 */
+@@ -89,7 +93,7 @@
+ CARD32 video3_ctl; /* 2a0 */
+ CARD32 video3_addr0; /* 2a4 */
+ CARD32 video3_addr1; /* 2a8 */
+- CARD32 video3_stribe; /* 2ac */
++ CARD32 video3_stride; /* 2ac */
+ CARD32 video3_hvstart; /* 2b0 */
+ CARD32 video3_size; /* 2b4 */
+ CARD32 v3alpha_fetch; /* 2b8 */
diff --git a/abs/core-testing/xf86-video-r128/LICENSE b/abs/core-testing/xf86-video-r128/LICENSE
new file mode 100644
index 0000000..229a261
--- /dev/null
+++ b/abs/core-testing/xf86-video-r128/LICENSE
@@ -0,0 +1,219 @@
+
+Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of Marc Aurele La France not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Marc Aurele La France makes no representations
+about the suitability of this software for any purpose. It is provided
+"as-is" without express or implied warranty.
+
+MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
+EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 2000 Gareth Hughes
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) 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
+GARETH HUGHES 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.
+
+(c) 2004 Adam Jackson. Standard MIT license applies.
+
+Copyright 1999-2000 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
+
+Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
+Precision Insight, Inc., Cedar Park, Texas, and
+VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on 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 (including the
+next paragraph) 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
+NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
+SYSTEMS AND/OR THEIR SUPPLIERS 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.
+
+Copyright 2003 Alex Deucher.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on 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 (including the
+next paragraph) 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
+NON-INFRINGEMENT. IN NO EVENT SHALL ALEX DEUCHER, OR ANY OTHER
+CONTRIBUTORS 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.
+
+
+/**************************************************************************
+
+Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
+ Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, 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 (including the next
+paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+ATI, PRECISION INSIGHT AND/OR THEIR SUPPLIERS 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.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Gareth Hughes <gareth@valinux.com>
+ *
+ */
+
+/**************************************************************************
+
+Copyright 2000, 2001 ATI Technologies Inc., Ontario, Canada, and
+ VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, 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 (including the next
+paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS 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.
+
+**************************************************************************/
+
+/*
+ * Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
+ * Precision Insight, Inc., Cedar Park, Texas, and
+ * VA Linux Systems Inc., Fremont, California.
+ *
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation on 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 (including the
+ * next paragraph) 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
+ * NON-INFRINGEMENT. IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
+ * SYSTEMS AND/OR THEIR SUPPLIERS 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.
+ */
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Rickard E. Faith <faith@valinux.com>
+ * Daryll Strauss <daryll@valinux.com>
+ * Gareth Hughes <gareth@valinux.com>
+ *
+ */
+
diff --git a/abs/core-testing/xf86-video-r128/PKGBUILD b/abs/core-testing/xf86-video-r128/PKGBUILD
index 9339f9a..3cd21c3 100644
--- a/abs/core-testing/xf86-video-r128/PKGBUILD
+++ b/abs/core-testing/xf86-video-r128/PKGBUILD
@@ -1,48 +1,27 @@
-# $Id: PKGBUILD 13012 2008-09-25 18:50:04Z jgc $
+# $Id: PKGBUILD 75907 2010-04-04 19:33:21Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-r128
-pkgver=6.8.0
-pkgrel=2
-_mesaver="7.2"
+pkgver=6.8.1
+pkgrel=3
pkgdesc="X.org ati Rage128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libdrm>=2.3.1' 'libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'imake' 'mesa>=7.2'
- 'glproto>=1.4.9' 'xf86driproto' 'diffutils')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'r128-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' "mesa>=7.8" 'glproto>=1.4.11' 'xf86driproto' 'xineramaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('007bec0c6b07d9d3aeca4da18e561efb'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('2b90854a62a4d45d652062f582dc8d13'
+ '97ad034bea2a153f4418a6bb0c77acf4')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--enable-dri || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-
- cd ${srcdir}/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=r128 \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
- rm -rf ${pkgdir}/usr/include
- rm -rf ${pkgdir}/usr/lib/pkgconfig
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-radeonhd/PKGBUILD b/abs/core-testing/xf86-video-radeonhd/PKGBUILD
index ce29874..11ca3e5 100644
--- a/abs/core-testing/xf86-video-radeonhd/PKGBUILD
+++ b/abs/core-testing/xf86-video-radeonhd/PKGBUILD
@@ -1,21 +1,20 @@
-# $Id: PKGBUILD 22422 2008-12-26 19:30:38Z jgc $
-# Maintainer: <juergen@archlinux.org>
+# $Id: PKGBUILD 75904 2010-04-04 19:30:10Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-radeonhd
-pkgver=1.2.4
-pkgrel=1
+pkgver=1.3.0
+pkgrel=2
pkgdesc="Experimental Radeon HD video driver for r500 and r600 ATI cards"
arch=(i686 x86_64)
url="http://wiki.x.org/wiki/radeonhd"
license=('custom')
-depends=('glibc' 'ati-dri>=7.2' 'libdrm' 'libpciaccess')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'diffutils')
-conflicts=('xorg-server<1.5.3')
+depends=('glibc' 'ati-dri>=7.8' 'libdrm>=2.4.20' 'libpciaccess')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'diffutils')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
-conflicts=('xf86-video-radeonhd-git')
-replaces=('xf86-video-radeonhd-git')
groups=('xorg-video-drivers')
source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('3c9cfffe7e3d795dde59ea0eef7361b1')
+md5sums=('7b6641aa9d836f1621b9b220ad6771b8')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core-testing/xf86-video-rendition/PKGBUILD b/abs/core-testing/xf86-video-rendition/PKGBUILD
index 6bb78d2..1b7ae1c 100644
--- a/abs/core-testing/xf86-video-rendition/PKGBUILD
+++ b/abs/core-testing/xf86-video-rendition/PKGBUILD
@@ -1,23 +1,28 @@
-# $Id: PKGBUILD 11462 2008-08-31 15:55:46Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85341 2010-07-12 17:20:08Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-rendition
-pkgver=4.2.0
+pkgver=4.2.4
pkgrel=1
pkgdesc="X.org Rendition video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
-options=('!libtool')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
+options=('!libtool' '!strip')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('7c03de3804d4c4f6ff59f74050d24b2b')
+sha1sums=('16148c25183f7829c22bc9dfdb588c1a16bf4565')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ strip --strip-unneeded "${pkgdir}/usr/lib/xorg/modules/drivers/rendition_drv.so"
}
diff --git a/abs/core-testing/xf86-video-s3/LICENSE b/abs/core-testing/xf86-video-s3/LICENSE
new file mode 100644
index 0000000..a4c8d5d
--- /dev/null
+++ b/abs/core-testing/xf86-video-s3/LICENSE
@@ -0,0 +1,25 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+ Copyright 2001 Ani Joshi <ajoshi@unixbox.com>
+
+ XFree86 4.x driver for S3 chipsets
+
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation and
+that the name of Ani Joshi not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. Ani Joshi makes no representations
+about the suitability of this software for any purpose. It is provided
+"as-is" without express or implied warranty.
+
+ANI JOSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL ANI JOSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/abs/core-testing/xf86-video-s3/PKGBUILD b/abs/core-testing/xf86-video-s3/PKGBUILD
index f294fe9..479e7e7 100644
--- a/abs/core-testing/xf86-video-s3/PKGBUILD
+++ b/abs/core-testing/xf86-video-s3/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 22275 2008-12-25 16:57:57Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75898 2010-04-04 19:22:33Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-s3
-pkgver=0.6.1
-pkgrel=1
+pkgver=0.6.3
+pkgrel=2
pkgdesc="X.org S3 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('a5f1f2f93a50e56bd3aeed009c407337')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('5eb06d88533fb327d067928faeb20860'
+ '6b2bea29522da7cbb81cadde3235024d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-s3virge/LICENSE b/abs/core-testing/xf86-video-s3virge/LICENSE
new file mode 100644
index 0000000..23c2aea
--- /dev/null
+++ b/abs/core-testing/xf86-video-s3virge/LICENSE
@@ -0,0 +1,25 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, 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, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
diff --git a/abs/core-testing/xf86-video-s3virge/PKGBUILD b/abs/core-testing/xf86-video-s3virge/PKGBUILD
index 18391fb..2428ac4 100644
--- a/abs/core-testing/xf86-video-s3virge/PKGBUILD
+++ b/abs/core-testing/xf86-video-s3virge/PKGBUILD
@@ -1,24 +1,26 @@
-# $Id: PKGBUILD 22269 2008-12-25 16:53:28Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75895 2010-04-04 19:17:15Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-s3virge
-pkgver=1.10.2
-pkgrel=1
+pkgver=1.10.4
+pkgrel=2
pkgdesc="X.org S3 Virge video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=(!libtool)
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('69784e4964d75487d81be4eae3d467dd')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+md5sums=('6517bbbf808c700502d51acdc44662f8' 'c0a38dfcd6288eff39322f7c584b8d1e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --disable-dri || return 1
+ ./configure --prefix=/usr || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-savage/LICENSE b/abs/core-testing/xf86-video-savage/LICENSE
new file mode 100644
index 0000000..72598e8
--- /dev/null
+++ b/abs/core-testing/xf86-video-savage/LICENSE
@@ -0,0 +1,97 @@
+Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, 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, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
+
+
+Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
+Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sub license,
+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 (including the
+next paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS 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.
+
+/*
+ * Copyright 2005 Felix Kuehling
+ * All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sub license,
+ * 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 (including the
+ * next paragraph) 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
+ * NON-INFRINGEMENT. IN NO EVENT SHALL FELIX KUEHLING 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.
+ */
+
+/**************************************************************************
+
+Copyright 2000, 2001 ATI Technologies Inc., Ontario, Canada, and
+ VA Linux Systems Inc., Fremont, California.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+on the rights to use, copy, modify, merge, publish, distribute, sub
+license, 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 (including the next
+paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS 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.
+
+**************************************************************************/
diff --git a/abs/core-testing/xf86-video-savage/PKGBUILD b/abs/core-testing/xf86-video-savage/PKGBUILD
index 0cdb7c7..2dd4f38 100644
--- a/abs/core-testing/xf86-video-savage/PKGBUILD
+++ b/abs/core-testing/xf86-video-savage/PKGBUILD
@@ -1,48 +1,29 @@
-# $Id: PKGBUILD 13010 2008-09-25 18:47:39Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75892 2010-04-04 19:10:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-savage
-pkgver=2.2.1
-pkgrel=2
+pkgver=2.3.1
+pkgrel=3
pkgdesc="X.org savage video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.1' 'imake' 'mesa>=7.2' 'xf86driproto' 'glproto>=1.4.9')
-conflicts=('xorg-server<1.5.1')
-options=(!libtool)
+license=('custom')
+depends=('glibc' 'savage-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' "mesa>=7.8" 'xf86driproto' 'glproto>=1.4.10')
+conflicts=('xorg-server<1.8.0')
+options=(!libtool !makeflags)
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('62b8aba48b54eaefeae87df502bf219c'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('66c319f610e3699c3de0f3ef630abb32'
+ '0f485840d3cee0a8d9952c0cd34f64c3')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--enable-dri || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
- cd ${startdir}/src/Mesa-${_mesaver}
- patch -Np1 -i ${srcdir}/mesa-7.1-link-shared.patch
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=savage \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/usr/lib/pkgconfig
- rm -rf ${pkgdir}/usr/include
- rm -f ${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-siliconmotion/PKGBUILD b/abs/core-testing/xf86-video-siliconmotion/PKGBUILD
index 3518f94..1590595 100644
--- a/abs/core-testing/xf86-video-siliconmotion/PKGBUILD
+++ b/abs/core-testing/xf86-video-siliconmotion/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 23018 2009-01-01 16:25:18Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 79857 2010-05-08 12:49:29Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-siliconmotion
-pkgver=1.7.0
+pkgver=1.7.4
pkgrel=1
pkgdesc="X.org siliconmotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('f9acffba89d8be200f91bab3d1df80da')
+sha1sums=('3c0fd42fbd301e66104e4b9190796d102a034787')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xf86-video-sis/PKGBUILD b/abs/core-testing/xf86-video-sis/PKGBUILD
index dfb0625..f1d7aad 100644
--- a/abs/core-testing/xf86-video-sis/PKGBUILD
+++ b/abs/core-testing/xf86-video-sis/PKGBUILD
@@ -1,48 +1,27 @@
-# $Id: PKGBUILD 22281 2008-12-25 17:05:24Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85368 2010-07-12 17:35:43Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-sis
-pkgver=0.10.1
+pkgver=0.10.3
pkgrel=1
pkgdesc="X.org SiS video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'xf86driproto' 'mesa>=7.1' 'glproto>=1.4.9')
-conflicts=('xorg-server<1.5.1')
+license=('custom')
+depends=('glibc' 'sis-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86driproto' 'mesa>=7.8' 'glproto>=1.4.10' 'xf86dgaproto' 'xineramaproto')
+conflicts=('xorg-server<1.8.0')
options=('!libtool')
groups=('xorg-video-drivers')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('9f57c2f5ccbd8340db32da1c74083771'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('158673747e240b0c33499685a32d46bdaead7cd5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr --enable-dri
+ make
+ make DESTDIR="${pkgdir}" install
- cd "${srcdir}/Mesa-${_mesaver}"
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=sis \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
- rm -rf "${pkgdir}/usr/include"
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xf86-video-sisusb/PKGBUILD b/abs/core-testing/xf86-video-sisusb/PKGBUILD
index 0d205b1..d4814df 100644
--- a/abs/core-testing/xf86-video-sisusb/PKGBUILD
+++ b/abs/core-testing/xf86-video-sisusb/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11481 2008-08-31 16:45:57Z jgc $
+# $Id: PKGBUILD 85336 2010-07-12 17:15:23Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-sisusb
-pkgver=0.9.0
+pkgver=0.9.4
pkgrel=1
pkgdesc="X.org SiS USB video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xineramaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('7b1f5465f423a859f306f4f1d6306a1b')
+sha1sums=('600fd49dffe00121f9042555fea55948653d1a7e')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xf86-video-tdfx/LICENSE b/abs/core-testing/xf86-video-tdfx/LICENSE
new file mode 100644
index 0000000..08b1add
--- /dev/null
+++ b/abs/core-testing/xf86-video-tdfx/LICENSE
@@ -0,0 +1,160 @@
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, 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 (including the
+next paragraph) 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 NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
+
+
+/*
+ * Copyright 2000 VA Linux Systems Inc., Fremont, California.
+ *
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) 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
+ * VA LINUX SYSTEMS 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.
+ */
+
+
+/*
+ * GLX Hardware Device Driver for Intel i810
+ * Copyright (C) 1999 Keith Whitwell
+ *
+ * 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
+ * KEITH WHITWELL, OR ANY OTHER CONTRIBUTORS 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.
+ *
+ *
+ */
+
+
+/*
+ * GLX Hardware Device Driver for Intel tdfx
+ * Copyright (C) 1999 Keith Whitwell
+ *
+ * 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
+ * KEITH WHITWELL, OR ANY OTHER CONTRIBUTORS 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.
+ *
+ *
+ */
+
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 4.1
+ *
+ * Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL 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.
+ */
+
+/* Authors:
+ * Keith Whitwell <keith@tungstengraphics.com>
+ * Daniel Borca <dborca@users.sourceforge.net>
+ */
+
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 5.1
+ *
+ * Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL 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.
+ */
+
+/* Authors:
+ * Keith Whitwell
+ * Daniel Borca
+ */
diff --git a/abs/core-testing/xf86-video-tdfx/PKGBUILD b/abs/core-testing/xf86-video-tdfx/PKGBUILD
index 0f62948..7c59244 100644
--- a/abs/core-testing/xf86-video-tdfx/PKGBUILD
+++ b/abs/core-testing/xf86-video-tdfx/PKGBUILD
@@ -1,48 +1,29 @@
-# $Id: PKGBUILD 22277 2008-12-25 17:00:41Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75883 2010-04-04 18:58:53Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-tdfx
-pkgver=1.4.1
-pkgrel=1
+pkgver=1.4.3
+pkgrel=3
pkgdesc="X.org tdfx video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'mesa>=7.2')
-conflicts=('xorg-server<1.5.3')
+license=('custom')
+depends=('glibc' 'tdfx-dri>=7.8')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'mesa>=7.8' 'xf86driproto' 'glproto')
+conflicts=('xorg-server<1.8.0')
options=(!libtool)
groups=('xorg-video-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('59acf2a4f721f9b7abbd121748467b16'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+ LICENSE)
+md5sums=('8161bbf2b100c21b609163f0010766b3'
+ '978e9486ffd4e4164c12dc68c84186e1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --enable-dri || return 1
+ --enable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
- cd "${srcdir}/Mesa-${_mesaver}"
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=tdfx \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
- rm -rf "${pkgdir}/usr/include"
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-trident/PKGBUILD b/abs/core-testing/xf86-video-trident/PKGBUILD
index 874f185..cb71f71 100644
--- a/abs/core-testing/xf86-video-trident/PKGBUILD
+++ b/abs/core-testing/xf86-video-trident/PKGBUILD
@@ -1,49 +1,27 @@
-# $Id: PKGBUILD 22291 2008-12-25 17:22:27Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85363 2010-07-12 17:31:57Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-trident
-pkgver=1.3.1
+pkgver=1.3.4
pkgrel=1
pkgdesc="X.org Trident video driver"
-_mesaver="7.2"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libgl>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'mesa>=7.2' 'xf86driproto')
-conflicts=('xorg-server<1.5.3')
+license=('custom')
+depends=('glibc')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'mesa>=7.8' 'xf86driproto' 'xf86dgaproto' 'glproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=(!libtool)
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/sourceforge/mesa3d/MesaLib-${_mesaver}.tar.bz2
- mesa-7.1-link-shared.patch)
-md5sums=('9f280bef235426394013cb5e1854b823'
- '04d379292e023df0b0266825cb0dbde5'
- 'f0baa948d9810f268413111ee439d24b')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('7c40f5c02bddf399862782b708941e79302318af')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --enable-dri || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
- cd "${srcdir}/Mesa-${_mesaver}"
- cd ${srcdir}/Mesa-${pkgver}
- patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
- ./configure --prefix=/usr \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-dri-drivers=trident \
- --enable-glx-tls \
- --disable-ttm-api \
- --with-driver=dri \
- --enable-xcb \
- --disable-glu \
- --disable-glut \
- --disable-glw || return 1
- make || return 1
- cd src/mesa/drivers/dri || return 1
- make DESTDIR="${pkgdir}" install || return 1
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
- rm -rf "${pkgdir}/usr/include"
- rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xf86-video-tseng/PKGBUILD b/abs/core-testing/xf86-video-tseng/PKGBUILD
index f5909d7..805c447 100644
--- a/abs/core-testing/xf86-video-tseng/PKGBUILD
+++ b/abs/core-testing/xf86-video-tseng/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 22279 2008-12-25 17:02:55Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85373 2010-07-12 17:40:41Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-tseng
-pkgver=1.2.1
+pkgver=1.2.4
pkgrel=1
pkgdesc="X.org tseng video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('2f687eddae5dafa5dcc05116561e267c')
+sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xf86-video-unichrome/LICENSE b/abs/core-testing/xf86-video-unichrome/LICENSE
new file mode 100644
index 0000000..f400766
--- /dev/null
+++ b/abs/core-testing/xf86-video-unichrome/LICENSE
@@ -0,0 +1,23 @@
+Copyright (c) 2004-2007 Luc Verhaegen. All Rights Reserved.
+Copyright (c) 2004-2005 The Unichrome Project. All Rights Reserved.
+Copyright (c) 1998-2003 VIA Technologies, Inc. All Rights Reserved.
+Copyright (c) 2001-2003 S3 Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sub license,
+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 (including the
+next paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/abs/core-testing/xf86-video-unichrome/PKGBUILD b/abs/core-testing/xf86-video-unichrome/PKGBUILD
index 7f3bc57..65e9338 100644
--- a/abs/core-testing/xf86-video-unichrome/PKGBUILD
+++ b/abs/core-testing/xf86-video-unichrome/PKGBUILD
@@ -1,23 +1,29 @@
-# $Id: PKGBUILD 22301 2008-12-25 18:28:12Z jgc $
+# $Id: PKGBUILD 79919 2010-05-09 14:20:58Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-unichrome
pkgver=0.2.7
-pkgrel=0.1
-_gitversion=1464eb9ecb178163af0e85443c3e591755c8c320
+pkgrel=3
+_gitversion=cd12cce88ff886031c23c743569fba97eccace4e
pkgdesc="Unichrome video drivers for X.Org"
arch=(i686 x86_64)
url="http://unichrome.sf.net/"
-depends=('unichrome-dri>=7.2')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3' 'xorg-util-macros' 'xf86driproto' 'glproto' 'mesa>=7.2' 'autoconf' 'automake' 'libtool')
+license=('custom')
+depends=('unichrome-dri>=7.8.1')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xorg-util-macros' 'xf86driproto' 'glproto' 'mesa>=7.8.1' 'autoconf' 'automake' 'libtool')
options=('!libtool')
-conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.5.3')
-source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2)
-md5sums=('dfef1e3b9ed24d50938ea5ee6f708457')
+conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.8.0')
+source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2
+ drm-include.patch
+ LICENSE)
+md5sums=('c64332e6c386ed9a580116e131f288f4'
+ '4a9bf2e3ef338c170a2f58988ebb97dc'
+ '6ea7d64c87c5c32201a1e38e3336e44a')
build() {
cd "${srcdir}/${pkgname}-${_gitversion}"
- ./autogen.sh --prefix=/usr \
- --enable-dri
+ patch -Np0 -i "${srcdir}/drm-include.patch" || return 1
+ ./autogen.sh --prefix=/usr --enable-dri || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" || return 1
}
diff --git a/abs/core-testing/xf86-video-unichrome/drm-include.patch b/abs/core-testing/xf86-video-unichrome/drm-include.patch
new file mode 100644
index 0000000..edfe9a8
--- /dev/null
+++ b/abs/core-testing/xf86-video-unichrome/drm-include.patch
@@ -0,0 +1,11 @@
+--- src/via_memory.h.orig 2010-05-09 16:17:00.143352805 +0200
++++ src/via_memory.h 2010-05-09 16:17:14.433351301 +0200
+@@ -30,7 +30,7 @@
+
+ /* don't include local via_drm.h when using modular */
+ #ifdef HAVE_CONFIG_H
+-#include "drm/via_drm.h"
++#include <via_drm.h>
+ #else
+ #include "via_drm.h"
+ #endif
diff --git a/abs/core-testing/xf86-video-v4l/LICENSE b/abs/core-testing/xf86-video-v4l/LICENSE
new file mode 100644
index 0000000..535595b
--- /dev/null
+++ b/abs/core-testing/xf86-video-v4l/LICENSE
@@ -0,0 +1,826 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+ Licenses
+
+ The X.Org Foundation
+
+ March 2004
+
+1. Introduction
+
+The X.org Foundation X Window System distribution is a compilation of code
+and documentation from many sources. This document is intended primarily as
+a guide to the licenses used in the distribution: you must check each file
+and/or package for precise redistribution terms. None-the-less, this summary
+may be useful to many users. No software incorporating the XFree86 1.1
+license has been incorporated.
+
+This document is based on the compilation from XFree86.
+
+2. XFree86 License
+
+XFree86 code without an explicit copyright is covered by the following copy-
+right/license:
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished 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, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.
+
+3. Other Licenses
+
+Portions of code are covered by the following licenses/copyrights. See indi-
+vidual files for the copyright dates.
+
+3.1 X/MIT Copyrights
+
+3.1.1 X Consortium
+
+Copyright (C) <date> X Consortium
+
+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 fur-
+nished 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, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X
+CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+X Window System is a trademark of X Consortium, Inc.
+
+3.1.2 The Open Group
+
+Copyright <date> The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+3.2 Berkeley-based copyrights:
+
+o
+
+3.2.1 General
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.2 UCB/LBL
+
+Copyright (c) 1993 The Regents of the University of California. All rights
+reserved.
+
+This software was developed by the Computer Systems Engineering group at
+Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and contributed to
+Berkeley.
+
+All advertising materials mentioning features or use of this software must
+display the following acknowledgement: This product includes software devel-
+oped by the University of California, Lawrence Berkeley Laboratory.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes soft-
+ ware developed by the University of California, Berkeley and its con-
+ tributors.
+
+ 4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+CLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.3 The NetBSD Foundation, Inc.
+
+Copyright (c) 2003 The NetBSD Foundation, Inc. All rights reserved.
+
+This code is derived from software contributed to The NetBSD Foundation by
+Ben Collver <collver1@attbi.com>
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes soft-
+ ware developed by the NetBSD Foundation, Inc. and its contributors.
+
+ 4. Neither the name of The NetBSD Foundation nor the names of its con-
+ tributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSE-
+QUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAM-
+AGE.
+
+3.2.4 Theodore Ts'o.
+
+Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights
+reserved.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ and the entire permission notice in its entirety, including the dis-
+ claimer of warranties.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. he name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE HEREBY DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF NOT
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.5 Theo de Raadt and Damien Miller
+
+Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. Copyright (c)
+2001-2002 Damien Miller. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.2.6 Todd C. Miller
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MER-
+CHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR ANY
+SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CON-
+TRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+3.2.7 Thomas Winischhofer
+
+Copyright (C) 2001-2004 Thomas Winischhofer
+
+Redistribution and use in source and binary forms, with or without modifica-
+tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE-
+CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH-
+ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
+
+3.3 NVIDIA Corp
+
+Copyright (c) 1996 NVIDIA, Corp. All rights reserved.
+
+NOTICE TO USER: The source code is copyrighted under U.S. and international
+laws. NVIDIA, Corp. of Sunnyvale, California owns the copyright and as
+design patents pending on the design and interface of the NV chips. Users
+and possessors of this source code are hereby granted a nonexclusive, roy-
+alty-free copyright and design patent license to use this code in individual
+and commercial software.
+
+Any use of this source code must include, in the user documentation and
+internal comments to the code, notices to the end user as follows:
+
+Copyright (c) 1996 NVIDIA, Corp. NVIDIA design patents pending in the U.S.
+and foreign countries.
+
+NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
+CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WAR-
+RANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE
+FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAM-
+AGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.
+
+3.4 GLX Public License
+
+GLX PUBLIC LICENSE (Version 1.0 (2/11/99)) ("License")
+
+Subject to any third party claims, Silicon Graphics, Inc. ("SGI") hereby
+grants permission to Recipient (defined below), under Recipient's copyrights
+in the Original Software (defined below), to use, copy, modify, merge, pub-
+lish, distribute, sublicense and/or sell copies of Subject Software (defined
+below), and to permit persons to whom the Subject Software is furnished in
+accordance with this License to do the same, subject to all of the following
+terms and conditions, which Recipient accepts by engaging in any such use,
+copying, modifying, merging, publishing, distributing, sublicensing or sell-
+ing:
+
+1. Definitions.
+
+ (a) "Original Software" means source code of computer software code
+ which is described in Exhibit A as Original Software.
+
+ (b) "Modifications" means any addition to or deletion from the sub-
+ stance or structure of either the Original Software or any previous
+ Modifications. When Subject Software is released as a series of
+ files, a Modification means (i) any addition to or deletion from
+ the contents of a file containing Original Software or previous
+ Modifications and (ii) any new file that contains any part of the
+ Original Code or previous Modifications.
+
+ (c) "Subject Software" means the Original Software or Modifications
+ or the combination of the Original Software and Modifications, or
+ portions of any of the foregoing.
+
+ (d) "Recipient" means an individual or a legal entity exercising
+ rights under, and complying with all of the terms of, this License.
+ For legal entities, "Recipient" includes any entity which controls,
+ is controlled by, or is under common control with Recipient. For
+ purposes of this definition, "control" of an entity means (a) the
+ power, direct or indirect, to direct or manage such entity, or (b)
+ ownership of fifty percent (50%) or more of the outstanding shares
+ or beneficial ownership of such entity.
+
+2. Redistribution of Source Code Subject to These Terms. Redistributions of
+Subject Software in source code form must retain the notice set forth in
+Exhibit A, below, in every file. A copy of this License must be included in
+any documentation for such Subject Software where the recipients' rights
+relating to Subject Software are described. Recipient may distribute the
+source code version of Subject Software under a license of Recipient's
+choice, which may contain terms different from this License, provided that
+(i) Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 2 and Sections 3, 4, 7, 8, 10, 12 and 13
+of this License, which terms may not be modified or superseded by any other
+terms of such license. If Recipient distributes the source code version under
+a different license Recipient must make it absolutely clear that any terms
+which differ from this License are offered by Recipient alone, not by SGI.
+Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as
+a result of any such terms Recipient offers.
+
+3. Redistribution in Executable Form. The notice set forth in Exhibit A must
+be conspicuously included in any notice in an executable version of Subject
+Software, related documentation or collateral in which Recipient describes
+the user's rights relating to the Subject Software. Recipient may distribute
+the executable version of Subject Software under a license of Recipient's
+choice, which may contain terms different from this License, provided that
+(i) Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 3 and Sections 4, 7, 8, 10, 12 and 13 of
+this License, which terms may not be modified or superseded by any other
+terms of such license. If Recipient distributes the executable version under
+a different license Recipient must make it absolutely clear that any terms
+which differ from this License are offered by Recipient alone, not by SGI.
+Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as
+a result of any such terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to
+cure such breach within 30 days of the breach. Any sublicense to the Subject
+Software which is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+5. No Trademark Rights. This License does not grant any rights to use any
+trade name, trademark or service mark whatsoever. No trade name, trademark or
+service mark of SGI may be used to endorse or promote products derived from
+the Subject Software without prior written permission of SGI.
+
+6. No Other Rights. This License does not grant any rights with respect to
+the OpenGL API or to any software or hardware implementation thereof or to
+any other software whatsoever, nor shall any other rights or licenses not
+expressly granted hereunder arise by implication, estoppel or otherwise with
+respect to the Subject Software. Title to and ownership of the Original Soft-
+ware at all times remains with SGI. All rights in the Original Software not
+expressly granted under this License are reserved.
+
+7. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of
+the Subject Software, including but not limited to, all export and import
+control laws and regulations of the U.S. government and other countries.
+Recipient may not distribute Subject Software that (i) in any way infringes
+(directly or contributorily) the rights (including patent, copyright, trade
+secret, trademark or other intellectual property rights of any kind) of any
+other person or entity or (ii) breaches any representation or warranty,
+express, implied or statutory, which under any applicable law it might be
+deemed to have been distributed.
+
+8. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribu-
+tion, import or sale of Subject Software (including particular functionality
+or code incorporated in Subject Software) infringes the third party's intel-
+lectual property rights, Recipient must place in a well-identified web page
+bearing the title "LEGAL" a description of each such claim and a description
+of the party making each such claim in sufficient detail that a user of the
+Subject Software will know whom to contact regarding the claim. Also, upon
+gaining such knowledge of any such claim, Recipient must conspicuously
+include the URL for such web page in the Exhibit A notice required under Sec-
+tions 2 and 3, above, and in the text of any related documentation, license
+agreement or collateral in which Recipient describes end user's rights relat-
+ing to the Subject Software. If Recipient obtains such knowledge after it
+makes Subject Software available to any other person or entity, Recipient
+shall take other steps (such as notifying appropriate mailing lists or news-
+groups) reasonably calculated to inform those who received the Subject Soft-
+ware that new knowledge has been obtained.
+
+9. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER-
+CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER-
+VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THE-
+ORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIA-
+BILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR
+ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
+STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF
+THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY
+TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO
+THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES,
+SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc.
+from and against any loss, liability, damages, costs or expenses (including
+the payment of reasonable attorneys fees) arising out of Recipient's use,
+modification, reproduction and distribution of the Subject Software or out of
+any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End
+Users acquire only the rights set forth in this License and are subject to
+the terms of this License.
+
+13. Miscellaneous. This License represents the complete agreement concerning
+subject matter hereof. If any provision of this License is held to be unen-
+forceable, such provision shall be reformed so as to achieve as nearly as
+possible the same economic effect as the original provision and the remainder
+of this License will remain in effect. This License shall be governed by and
+construed in accordance with the laws of the United States and the State of
+California as applied to agreements entered into and to be performed entirely
+within California between California residents. Any litigation relating to
+this License shall be subject to the exclusive jurisdiction of the Federal
+Courts of the Northern District of California (or, absent subject matter
+jurisdiction in such courts, the courts of the State of California), with
+venue lying exclusively in Santa Clara County, California, with the losing
+party responsible for costs, including without limitation, court costs and
+reasonable attorneys fees and expenses. The application of the United Nations
+Convention on Contracts for the International Sale of Goods is expressly
+excluded. Any law or regulation which provides that the language of a con-
+tract shall be construed against the drafter shall not apply to this License.
+
+Exhibit A
+
+The contents of this file are subject to Sections 2, 3, 4, 7, 8, 10, 12 and
+13 of the GLX Public License Version 1.0 (the "License"). You may not use
+this file except in compliance with those sections of the License. You may
+obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services,
+2011 N. Shoreline Blvd., Mountain View, CA 94043 or at
+http://www.sgi.com/software/opensource/glx/license.html.
+
+Software distributed under the License is distributed on an "AS IS" basis.
+ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
+INFRINGEMENT. See the License for the specific language governing rights and
+limitations under the License.
+
+The Original Software is GLX version 1.2 source code, released February,
+1999. The developer of the Original Software is Silicon Graphics, Inc. Those
+portions of the Subject Software created by Silicon Graphics, Inc. are Copy-
+right (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
+
+3.5 CID Font Code Public License
+
+CID FONT CODE PUBLIC LICENSE (Version 1.0 (3/31/99))("License")
+
+Subject to any applicable third party claims, Silicon Graphics, Inc. ("SGI")
+hereby grants permission to Recipient (defined below), under SGI's copyrights
+in the Original Software (defined below), to use, copy, modify, merge, pub-
+lish, distribute, sublicense and/or sell copies of Subject Software (defined
+below) in both source code and executable form, and to permit persons to whom
+the Subject Software is furnished in accordance with this License to do the
+same, subject to all of the following terms and conditions, which Recipient
+accepts by engaging in any such use, copying, modifying, merging, publica-
+tion, distributing, sublicensing or selling:
+
+1. Definitions.
+
+ a. "Original Software" means source code of computer software code
+ that is described in Exhibit A as Original Software.
+
+ b. "Modifications" means any addition to or deletion from the sub-
+ stance or structure of either the Original Software or any previous
+ Modifications. When Subject Software is released as a series of
+ files, a Modification means (i) any addition to or deletion from
+ the contents of a file containing Original Software or previous
+ Modifications and (ii) any new file that contains any part of the
+ Original Code or previous Modifications.
+
+ c. "Subject Software" means the Original Software or Modifications
+ or the combination of the Original Software and Modifications, or
+ portions of any of the foregoing.
+
+ d. "Recipient" means an individual or a legal entity exercising
+ rights under the terms of this License. For legal entities, "Recip-
+ ient" includes any entity that controls, is controlled by, or is
+ under common control with Recipient. For purposes of this defini-
+ tion, "control" of an entity means (i) the power, direct or indi-
+ rect, to direct or manage such entity, or (ii) ownership of fifty
+ percent (50%) or more of the outstanding shares or beneficial own-
+ ership of such entity.
+
+ e. "Required Notice" means the notice set forth in Exhibit A to
+ this License.
+
+ f. "Accompanying Technology" means any software or other technology
+ that is not a Modification and that is distributed or made publicly
+ available by Recipient with the Subject Software. Separate soft-
+ ware files that do not contain any Original Software or any previ-
+ ous Modification shall not be deemed a Modification, even if such
+ software files are aggregated as part of a product, or in any
+ medium of storage, with any file that does contain Original Soft-
+ ware or any previous Modification.
+
+2. License Terms. All distribution of the Subject Software must be made sub-
+ject to the terms of this License. A copy of this License and the Required
+Notice must be included in any documentation for Subject Software where
+Recipient's rights relating to Subject Software and/or any Accompanying Tech-
+nology are described. Distributions of Subject Software in source code form
+must also include the Required Notice in every file distributed. In addition,
+a ReadMe file entitled "Important Legal Notice" must be distributed with each
+distribution of one or more files that incorporate Subject Software. That
+file must be included with distributions made in both source code and exe-
+cutable form. A copy of the License and the Required Notice must be included
+in that file. Recipient may distribute Accompanying Technology under a
+license of Recipient's choice, which may contain terms different from this
+License, provided that (i) Recipient is in compliance with the terms of this
+License, (ii) such other license terms do not modify or supersede the terms
+of this License as applicable to the Subject Software, (iii) Recipient hereby
+indemnifies SGI for any liability incurred by SGI as a result of the distri-
+bution of Accompanying Technology or the use of other license terms.
+
+3. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to
+cure such breach within 30 days of the breach. Any sublicense to the Subject
+Software that is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+4. Trademark Rights. This License does not grant any rights to use any trade
+name, trademark or service mark whatsoever. No trade name, trademark or ser-
+vice mark of SGI may be used to endorse or promote products derived from or
+incorporating any Subject Software without prior written permission of SGI.
+
+5. No Other Rights. No rights or licenses not expressly granted hereunder
+shall arise by implication, estoppel or otherwise. Title to and ownership of
+the Original Software at all times remains with SGI. All rights in the Origi-
+nal Software not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of
+the Subject Software, including but not limited to, all export and import
+control laws and regulations of the U.S. government and other countries.
+Recipient may not distribute Subject Software that (i) in any way infringes
+(directly or contributorily) the rights (including patent, copyright, trade
+secret, trademark or other intellectual property rights of any kind) of any
+other person or entity, or (ii) breaches any representation or warranty,
+express, implied or statutory, which under any applicable law it might be
+deemed to have been distributed.
+
+7. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribu-
+tion, import or sale of Subject Software (including particular functionality
+or code incorporated in Subject Software) infringes the third party's intel-
+lectual property rights, Recipient must place in a well-identified web page
+bearing the title "LEGAL" a description of each such claim and a description
+of the party making each such claim in sufficient detail that a user of the
+Subject Software will know whom to contact regarding the claim. Also, upon
+gaining such knowledge of any such claim, Recipient must conspicuously
+include the URL for such web page in the Required Notice, and in the text of
+any related documentation, license agreement or collateral in which Recipient
+describes end user's rights relating to the Subject Software. If Recipient
+obtains such knowledge after it makes Subject Software available to any other
+person or entity, Recipient shall take other steps (such as notifying appro-
+priate mailing lists or newsgroups) reasonably calculated to provide such
+knowledge to those who received the Subject Software.
+
+8. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MER-
+CHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY SER-
+VICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
+WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY),
+CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR 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 SUBJECT SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SUBJECT SOFTWARE. SOME JURISDICTIONS DO NOT
+ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THIS EXCLUSION AND
+LIMITATION MAY NOT APPLY TO RECIPIENT TO THE EXTENT SO DISALLOWED.
+
+10. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold SGI and its successors and assigns
+harmless from and against any loss, liability, damages, costs or expenses
+(including the payment of reasonable attorneys fees) arising out of (Recipi-
+ent's use, modification, reproduction and distribution of the Subject Soft-
+ware or out of any representation or warranty made by Recipient.
+
+11. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End Users
+acquire only the rights set forth in this License and are subject to the
+terms of this License.
+
+12. Miscellaneous. This License represents the complete agreement concerning
+subject matter hereof. If any provision of this License is held to be unen-
+forceable by any judicial or administrative authority having proper jurisdic-
+tion with respect thereto, such provision shall be reformed so as to achieve
+as nearly as possible the same economic effect as the original provision and
+the remainder of this License will remain in effect. This License shall be
+governed by and construed in accordance with the laws of the United States
+and the State of California as applied to agreements entered into and to be
+performed entirely within California between California residents. Any liti-
+gation relating to this License shall be subject to the exclusive jurisdic-
+tion of the Federal Courts of the Northern District of California (or, absent
+subject matter jurisdiction in such courts, the courts of the State of Cali-
+fornia), with venue lying exclusively in Santa Clara County, California, with
+the losing party responsible for costs, including without limitation, court
+costs and reasonable attorneys fees and expenses. The application of the
+United Nations Convention on Contracts for the International Sale of Goods is
+expressly excluded. Any law or regulation that provides that the language of
+a contract shall be construed against the drafter shall not apply to this
+License.
+
+Exhibit A
+
+Copyright (c) 1994-1999 Silicon Graphics, Inc.
+
+The contents of this file are subject to the CID Font Code Public License
+Version 1.0 (the "License"). You may not use this file except in compliance
+with the License. You may obtain a copy of the License at Silicon Graphics,
+Inc., attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
+or at http://www.sgi.com/software/opensource/cid/license.html
+
+Software distributed under the License is distributed on an "AS IS" basis.
+ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
+INFRINGEMENT. See the License for the specific language governing rights and
+limitations under the License.
+
+The Original Software (as defined in the License) is CID font code that was
+developed by Silicon Graphics, Inc. Those portions of the Subject Software
+(as defined in the License) that were created by Silicon Graphics, Inc. are
+Copyright (c) 1994-1999 Silicon Graphics, Inc. All Rights Reserved.
+
+[NOTE: When using this text in connection with Subject Software delivered
+solely in object code form, Recipient may replace the words "this file" with
+"this software" in both the first and second sentences.]
+
+3.6 Bitstream Vera Fonts Copyright
+
+The fonts have a generous copyright, allowing derivative works (as long as
+"Bitstream" or "Vera" are not in the names), and full redistribution (so long
+as they are not *sold* by themselves). They can be be bundled, redistributed
+and sold with any software.
+
+The fonts are distributed under the following copyright:
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated documentation
+files (the "Font Software"), to reproduce and distribute the Font Software,
+including without limitation the rights to use, copy, merge, publish, dis-
+tribute, and/or sell copies of the Font Software, and to permit persons to
+whom the Font Software is furnished to do so, subject to the following condi-
+tions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and addi-
+tional glyphs or characters may be added to the Fonts, only if the fonts are
+renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream Vera"
+names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDA-
+TION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN-
+ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT-
+WARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome Foundation,
+and Bitstream Inc., shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Font Software without prior written
+authorization from the Gnome Foundation or Bitstream Inc., respectively. For
+further information, contact: fonts at gnome dot org.
+
+3.7 Bigelow & Holmes Inc and URW++ GmbH Luxi font license
+
+Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font instruction
+code copyright (c) 2001 by URW++ GmbH. All Rights Reserved. Luxi is a regis-
+tered trademark of Bigelow & Holmes Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of these Fonts and associated documentation files (the "Font Software"), to
+deal in the Font Software, including without limitation the rights to use,
+copy, merge, publish, distribute, sublicense, and/or sell copies of the Font
+Software, and to permit persons to whom the Font Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software.
+
+The Font Software may not be modified, altered, or added to, and in particu-
+lar the designs of glyphs or characters in the Fonts may not be modified nor
+may additional glyphs or characters be added to the Fonts. This License
+becomes null and void when the Fonts or Font Software have been modified.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW & HOLMES INC. OR URW++
+GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GEN-
+ERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFT-
+WARE.
+
+Except as contained in this notice, the names of Bigelow & Holmes Inc. and
+URW++ GmbH. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Font Software without prior written
+authorization from Bigelow & Holmes Inc. and URW++ GmbH.
+
+For further information, contact:
+
+info@urwpp.de or design@bigelowandholmes.com
+
+ $Id: LICENSE,v 1.3 2004/09/03 23:41:21 kem Exp $
diff --git a/abs/core-testing/xf86-video-v4l/PKGBUILD b/abs/core-testing/xf86-video-v4l/PKGBUILD
index 518e267..bf3cb08 100644
--- a/abs/core-testing/xf86-video-v4l/PKGBUILD
+++ b/abs/core-testing/xf86-video-v4l/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11496 2008-08-31 16:52:37Z jgc $
+# $Id: PKGBUILD 75874 2010-04-04 18:49:03Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-v4l
pkgver=0.2.0
-pkgrel=1
+pkgrel=5
pkgdesc="X.org v4l video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('2251ae2a0a905764941cd7b098e85ad1')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+md5sums=('2251ae2a0a905764941cd7b098e85ad1'
+ '7d4d018f6bbff7e42672d1aabc75c5cf')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core-testing/xf86-video-vesa/PKGBUILD b/abs/core-testing/xf86-video-vesa/PKGBUILD
index bbccb88..4f8f83a 100644
--- a/abs/core-testing/xf86-video-vesa/PKGBUILD
+++ b/abs/core-testing/xf86-video-vesa/PKGBUILD
@@ -1,26 +1,26 @@
-# $Id: PKGBUILD 22267 2008-12-25 16:51:23Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75871 2010-04-04 18:46:26Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-vesa
-pkgver=2.1.0
-pkgrel=1
+pkgver=2.3.0
+pkgrel=2
pkgdesc="X.org vesa video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.3')
-conflicts=('xorg-server<1.5.3')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0')
+conflicts=('xorg-server<1.8.0')
groups=('xorg' 'xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('d813269613b4d63ff6dbfbfbd104cc84')
+sha1sums=('4689b7c295d7a8d7326302dafecb812739617134')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- install -d -m755 ${pkgdir}/usr/share/licenses/${pkgname}
- install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xf86-video-vga/PKGBUILD b/abs/core-testing/xf86-video-vga/PKGBUILD
deleted file mode 100644
index 034c440..0000000
--- a/abs/core-testing/xf86-video-vga/PKGBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# $Id: PKGBUILD 15043 2008-10-12 12:14:52Z jgc $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-video-vga
-pkgver=4.1.0
-pkgrel=6
-pkgdesc="X.org VGA 16 color video driver"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.5.2')
-conflicts=('xorg-server<1.5.2')
-options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- pciaccess.patch)
-md5sums=('b93e5fe9757db779a75cd3ce97b9613d'
- 'fe3a45179f51fb86215f6fd2b5ac0747')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/pciaccess.patch" || return 1
- libtoolize --force || return 1
- aclocal || return 1
- autoconf || return 1
- automake || return 1
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/abs/core-testing/xf86-video-vga/pciaccess.patch b/abs/core-testing/xf86-video-vga/pciaccess.patch
deleted file mode 100644
index 141701f..0000000
--- a/abs/core-testing/xf86-video-vga/pciaccess.patch
+++ /dev/null
@@ -1,371 +0,0 @@
-From: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
-Date: Fri, 18 Jul 2008 21:27:26 +0000 (-0300)
-Subject: Add libpciaccess and remove xf1bpp and xf4bpp support.
-X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-vga.git;a=commitdiff;h=97e2d12548921d92b6dc2dcce8abee48f25981d2
-
-Add libpciaccess and remove xf1bpp and xf4bpp support.
-
- The driver is not fully functional, starts at 320x200, but may require
-running something like vbetool post before starting the X Server, and does
-not restore console as usually linux consoles use vesafb, but should work
-correctly if console is in a "standard vga mode".
----
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -57,6 +57,22 @@ PKG_CHECK_MODULES(XORG, [xorg-server >=
- sdkdir=$(pkg-config --variable=sdkdir xorg-server)
-
- # Checks for libraries.
-+SAVE_CPPFLAGS="$CPPFLAGS"
-+CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
-+AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
-+ [XSERVER_LIBPCIACCESS=yes], [XSERVER_LIBPCIACCESS=no],
-+ [#include "xorg-server.h"])
-+AC_CHECK_HEADER(xf1bpp.h,[AC_DEFINE(HAVE_XF1BPP, 1, [Have 1bpp support])],[])
-+AC_CHECK_HEADER(xf4bpp.h,[AC_DEFINE(HAVE_XF4BPP, 1, [Have 4bpp support])],[])
-+CPPFLAGS="$SAVE_CPPFLAGS"
-+
-+if test "x$XSERVER_LIBPCIACCESS" = xyes; then
-+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
-+ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
-+fi
-+AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
-+
-+# Checks for libraries.
-
- # Checks for header files.
- AC_HEADER_STDC
---- a/src/generic.c
-+++ b/src/generic.c
-@@ -50,8 +50,13 @@
-
- #include "fb.h"
-
-+#if HAVE_XF4BPP
- #include "xf4bpp.h"
-+#endif
-+
-+#if HAVE_XF1BPP
- #include "xf1bpp.h"
-+#endif
-
- #include "shadowfb.h"
-
-@@ -62,6 +67,10 @@
- #include "xf86Resources.h"
- #include "xf86int10.h"
-
-+#ifdef XSERVER_LIBPCIACCESS
-+#include <pciaccess.h>
-+#endif
-+
- /* Some systems #define VGA for their own purposes */
- #undef VGA
-
-@@ -79,10 +88,31 @@
- #define CLOCK_TOLERANCE 2000 /* Clock matching tolerance (2MHz) */
- #endif
-
-+/*
-+ * This structure is used to wrap the screen's CloseScreen vector.
-+ */
-+typedef struct _GenericRec
-+{
-+ Bool ShadowFB;
-+ Bool KGAUniversal;
-+ CARD8 * ShadowPtr;
-+ CARD32 ShadowPitch;
-+ CloseScreenProcPtr CloseScreen;
-+ OptionInfoPtr Options;
-+#ifdef XSERVER_LIBPCIACCESS
-+ struct pci_device *pciInfo;
-+#endif
-+} GenericRec, *GenericPtr;
-+
-+
- /* Forward definitions */
- static const OptionInfoRec *GenericAvailableOptions(int chipid, int busid);
- static void GenericIdentify(int);
- static Bool GenericProbe(DriverPtr, int);
-+#ifdef XSERVER_LIBPCIACCESS
-+static Bool GenericPciProbe(DriverPtr drv, int entity_num,
-+ struct pci_device *dev, intptr_t match_data);
-+#endif
- static Bool GenericPreInit(ScrnInfoPtr, int);
- static Bool GenericScreenInit(int, ScreenPtr, int, char **);
- static Bool GenericSwitchMode(int, DisplayModePtr, int);
-@@ -97,6 +127,24 @@ static Bool GenericMapMe
-
- static ModeStatus GenericValidMode(int, DisplayModePtr, Bool, int);
-
-+static GenericPtr GenericGetRec(ScrnInfoPtr pScreenInfo);
-+
-+enum GenericTypes
-+{
-+ CHIP_VGA_GENERIC
-+};
-+
-+#ifdef XSERVER_LIBPCIACCESS
-+static const struct pci_id_match generic_device_match[] = {
-+ {
-+ PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
-+ 0x00030000, 0x00ffffff, CHIP_VGA_GENERIC
-+ },
-+
-+ { 0, 0, 0 },
-+};
-+#endif
-+
- /* The root of all evil... */
- _X_EXPORT DriverRec VGA =
- {
-@@ -106,7 +154,13 @@ _X_EXPORT DriverRec VGA =
- GenericProbe,
- GenericAvailableOptions,
- NULL,
-- 0
-+ 0,
-+ NULL,
-+
-+#ifdef XSERVER_LIBPCIACCESS
-+ generic_device_match,
-+ GenericPciProbe
-+#endif
- };
-
- typedef enum
-@@ -146,8 +200,12 @@ static const char *vgahwSymbols[] =
- #ifdef XFree86LOADER
- static const char *miscfbSymbols[] =
- {
-+#if HAVE_XF1BPP
- "xf1bppScreenInit",
-+#endif
-+#if HAVE_XF4BPP
- "xf4bppScreenInit",
-+#endif
- NULL
- };
- #endif
-@@ -210,7 +268,13 @@ GenericSetup(pointer Module, pointer Opt
- if (!Initialised)
- {
- Initialised = TRUE;
-- xf86AddDriver(&VGA, Module, 0);
-+ xf86AddDriver(&VGA, Module,
-+#ifdef XSERVER_LIBPCIACCESS
-+ HaveDriverFuncs
-+#else
-+ 0
-+#endif
-+ );
- LoaderRefSymLists(vgahwSymbols, miscfbSymbols, fbSymbols,
- shadowfbSymbols, int10Symbols, NULL);
- return (pointer)TRUE;
-@@ -224,11 +288,6 @@ GenericSetup(pointer Module, pointer Opt
- #endif
-
-
--enum GenericTypes
--{
-- CHIP_VGA_GENERIC
--};
--
- /* Supported chipsets */
- static SymTabRec GenericChipsets[] =
- {
-@@ -236,11 +295,13 @@ static SymTabRec GenericChipsets[] =
- {-1, NULL}
- };
-
-+#ifndef XSERVER_LIBPCIACCESS
- static PciChipsets GenericPCIchipsets[] =
- {
- {CHIP_VGA_GENERIC, PCI_CHIP_VGA, RES_SHARED_VGA},
- {-1, -1, RES_UNDEFINED},
- };
-+#endif
-
- static IsaChipsets GenericISAchipsets[] =
- {
-@@ -267,6 +328,37 @@ GenericAvailableOptions(int chipid, int
- * do a minimal probe for supported hardware.
- */
-
-+#ifdef XSERVER_LIBPCIACCESS
-+static Bool
-+GenericPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
-+ intptr_t match_data)
-+{
-+ ScrnInfoPtr pScrn;
-+
-+ pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
-+ NULL, NULL, NULL, NULL, NULL);
-+ if (pScrn != NULL) {
-+ GenericPtr pGeneric = GenericGetRec(pScrn);
-+
-+ pScrn->driverVersion = VGA_VERSION_CURRENT;
-+ pScrn->driverName = VGA_DRIVER_NAME;
-+ pScrn->name = VGA_NAME;
-+ pScrn->Probe = GenericProbe;
-+ pScrn->PreInit = GenericPreInit;
-+ pScrn->ScreenInit = GenericScreenInit;
-+ pScrn->SwitchMode = GenericSwitchMode;
-+ pScrn->AdjustFrame = GenericAdjustFrame;
-+ pScrn->EnterVT = GenericEnterVT;
-+ pScrn->LeaveVT = GenericLeaveVT;
-+ pScrn->FreeScreen = GenericFreeScreen;
-+
-+ pGeneric->pciInfo = dev;
-+ }
-+
-+ return (pScrn != NULL);
-+}
-+#endif
-+
- static Bool
- GenericProbe(DriverPtr drv, int flags)
- {
-@@ -283,6 +375,7 @@ GenericProbe(DriverPtr drv, int flags)
- if ((numDevSections = xf86MatchDevice(VGA_NAME, &devSections)) <= 0)
- return FALSE;
-
-+#ifndef XSERVER_LIBPCIACCESS
- /* PCI BUS */
- if (xf86GetPciVideoInfo())
- {
-@@ -324,6 +417,7 @@ GenericProbe(DriverPtr drv, int flags)
- xfree(usedChips);
- }
- }
-+#endif
-
- /* Isa Bus */
- numUsed = xf86MatchIsaInstances(VGA_NAME, GenericChipsets,
-@@ -391,20 +485,6 @@ VGAFindIsaDevice(GDevPtr dev)
- return (int)CHIP_VGA_GENERIC;
- }
-
--/*
-- * This structure is used to wrap the screen's CloseScreen vector.
-- */
--typedef struct _GenericRec
--{
-- Bool ShadowFB;
-- Bool KGAUniversal;
-- CARD8 * ShadowPtr;
-- CARD32 ShadowPitch;
-- CloseScreenProcPtr CloseScreen;
-- OptionInfoPtr Options;
--} GenericRec, *GenericPtr;
--
--
- static GenericPtr
- GenericGetRec(ScrnInfoPtr pScreenInfo)
- {
-@@ -509,8 +589,14 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
-
- switch (pScreenInfo->depth)
- {
-- case 1: Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
-- case 4: Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
-+ case 1:
-+#if HAVE_XF1BPP
-+ Module = "xf1bpp"; Sym = "xf1bppScreenInit"; break;
-+#endif
-+ case 4:
-+#if HAVE_XF4BPP
-+ Module = "xf4bpp"; Sym = "xf4bppScreenInit"; break;
-+#endif
- case 8: Module = "fb"; break;
-
- default:
-@@ -673,6 +759,8 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- /* Set display resolution */
- xf86SetDpi(pScreenInfo, 0, 0);
-
-+
-+#if HAVE_XF1BPP && HAVE_XF4BPP
- if (xf86ReturnOptValBool(pGenericPriv->Options, OPTION_SHADOW_FB, FALSE))
- {
- pGenericPriv->ShadowFB = TRUE;
-@@ -688,7 +776,7 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- "Enabling universal \"KGA\" treatment.\n");
- }
-
--#ifdef SPECIAL_FB_BYTE_ACCESS
-+# ifdef SPECIAL_FB_BYTE_ACCESS
- if (!pGenericPriv->ShadowFB && (pScreenInfo->depth == 4))
- {
- xf86DrvMsg(pScreenInfo->scrnIndex, X_INFO,
-@@ -696,8 +784,13 @@ GenericPreInit(ScrnInfoPtr pScreenInfo,
- " ShadowFB enabled.\n");
- pGenericPriv->ShadowFB = TRUE;
- }
-+# endif
-+
-+#else
-+ pGenericPriv->ShadowFB = TRUE;
- #endif
-
-+
- if (pGenericPriv->ShadowFB)
- {
- pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
-@@ -1378,6 +1471,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- #endif
- ShadowFBInit(pScreen, GenericRefreshArea1bpp);
- }
-+#if HAVE_XF1BPP
- else
- {
- Inited = xf1bppScreenInit(pScreen, pvgaHW->Base,
-@@ -1386,6 +1480,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- pScreenInfo->xDpi, pScreenInfo->yDpi,
- pScreenInfo->displayWidth);
- }
-+#endif
- break;
- case 4:
- if (pGenericPriv->ShadowFB)
-@@ -1410,6 +1505,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- #endif
- ShadowFBInit(pScreen, GenericRefreshArea4bpp);
- }
-+#if HAVE_XF4BPP
- else
- {
- Inited = xf4bppScreenInit(pScreen, pvgaHW->Base,
-@@ -1418,6 +1514,7 @@ GenericScreenInit(int scrnIndex, ScreenP
- pScreenInfo->xDpi, pScreenInfo->yDpi,
- pScreenInfo->displayWidth);
- }
-+#endif
- break;
- case 8:
- Inited = fbScreenInit(pScreen, pvgaHW->Base,
-@@ -1579,6 +1676,9 @@ GenericMapMem(ScrnInfoPtr scrp)
- {
- vgaHWPtr hwp = VGAHWPTR(scrp);
- int scr_index = scrp->scrnIndex;
-+#ifdef XSERVER_LIBPCIACCESS
-+ GenericPtr pPriv = GenericGetRec(scrp);
-+#endif
-
- if (hwp->Base)
- return TRUE;
-@@ -1589,7 +1689,12 @@ GenericMapMem(ScrnInfoPtr scrp)
- if (hwp->MapPhys == 0)
- hwp->MapPhys = VGA_DEFAULT_PHYS_ADDR;
-
-- hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO, hwp->Tag,
-+ hwp->Base = xf86MapDomainMemory(scr_index, VIDMEM_MMIO,
-+#ifdef XSERVER_LIBPCIACCESS
-+ pPriv->pciInfo,
-+#else
-+ hwp->Tag,
-+#endif
- hwp->MapPhys, hwp->MapSize);
- return hwp->Base != NULL;
- }
diff --git a/abs/core-testing/xf86-video-vmware/LICENSE b/abs/core-testing/xf86-video-vmware/LICENSE
new file mode 100644
index 0000000..7934272
--- /dev/null
+++ b/abs/core-testing/xf86-video-vmware/LICENSE
@@ -0,0 +1,27 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/driver/
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+Copyright (C) 1998-2002 VMware, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is fur-
+nished 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, FIT-
+NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other deal-
+ings in this Software without prior written authorization from the XFree86
+Project.
diff --git a/abs/core-testing/xf86-video-vmware/PKGBUILD b/abs/core-testing/xf86-video-vmware/PKGBUILD
index f259c2e..8c7a752 100644
--- a/abs/core-testing/xf86-video-vmware/PKGBUILD
+++ b/abs/core-testing/xf86-video-vmware/PKGBUILD
@@ -1,23 +1,28 @@
-# $Id: PKGBUILD 11487 2008-08-31 16:48:39Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 75868 2010-04-04 18:42:20Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-vmware
-pkgver=10.16.5
+pkgver=11.0.1
pkgrel=1
pkgdesc="X.org vmware video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906' 'randrproto' 'renderproto' 'xextproto' 'xineramaproto' 'videoproto')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'randrproto' 'renderproto' 'xextproto' 'xineramaproto' 'videoproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6d78c82ea7c2bb0fcb587d7bb4e8f60a')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+sha1sums=('cc82cbacaa90c28b42440f6a197f5167595c8417'
+ 'f7fad008ca63b6862056f9d1123a81aef053d586')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/" || return 1
}
diff --git a/abs/core-testing/xf86-video-vmware/abi2.patch b/abs/core-testing/xf86-video-vmware/abi2.patch
new file mode 100644
index 0000000..29e8dde
--- /dev/null
+++ b/abs/core-testing/xf86-video-vmware/abi2.patch
@@ -0,0 +1,38 @@
+diff -up xf86-video-vmware-10.16.7/src/vmware.c.jx xf86-video-vmware-10.16.7/src/vmware.c
+--- xf86-video-vmware-10.16.7/src/vmware.c.jx 2009-08-07 16:31:33.000000000 -0400
++++ xf86-video-vmware-10.16.7/src/vmware.c 2009-08-07 16:32:10.000000000 -0400
+@@ -640,8 +640,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int fla
+ return FALSE;
+ }
+
+- xf86LoaderReqSymLists(vgahwSymbols, NULL);
+-
+ if (!vgaHWGetHWRec(pScrn)) {
+ return FALSE;
+ }
+@@ -959,7 +957,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int fla
+ VMWAREFreeRec(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(fbSymbols, shadowfbSymbols, NULL);
+
+ /* Need ramdac for hwcursor */
+ if (pVMWARE->hwCursor) {
+@@ -967,7 +964,6 @@ VMWAREPreInit(ScrnInfoPtr pScrn, int fla
+ VMWAREFreeRec(pScrn);
+ return FALSE;
+ }
+- xf86LoaderReqSymLists(ramdacSymbols, NULL);
+ }
+
+ return TRUE;
+@@ -2051,9 +2047,6 @@ vmwareSetup(pointer module, pointer opts
+ setupDone = TRUE;
+ xf86AddDriver(&VMWARE, module, VMWARE_DRIVER_FUNC);
+
+- LoaderRefSymLists(vgahwSymbols, fbSymbols, ramdacSymbols,
+- shadowfbSymbols, NULL);
+-
+ return (pointer)1;
+ }
+ if (errmaj) {
diff --git a/abs/core-testing/xf86-video-voodoo/PKGBUILD b/abs/core-testing/xf86-video-voodoo/PKGBUILD
index d35e2ac..ac7655a 100644
--- a/abs/core-testing/xf86-video-voodoo/PKGBUILD
+++ b/abs/core-testing/xf86-video-voodoo/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 11484 2008-08-31 16:48:17Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 85358 2010-07-12 17:29:34Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-voodoo
-pkgver=1.2.0
+pkgver=1.2.4
pkgrel=1
-pkgdesc="X.org voodoo video driver"
+pkgdesc="X.org 3dfx Voodoo1/Voodoo2 2D video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.4.99.906')
-conflicts=('xorg-server<1.4.99.906')
+makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'xf86dgaproto')
+conflicts=('xorg-server<1.8.0')
groups=('xorg-video-drivers')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('7ecd232cc0b7fe507e18e08799791eefa9fdaf48')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
-md5sums=('7c681d9b57f5e1f798263fc1a9d99245')
diff --git a/abs/core-testing/xf86dgaproto/PKGBUILD b/abs/core-testing/xf86dgaproto/PKGBUILD
index b24270f..ff665d0 100644
--- a/abs/core-testing/xf86dgaproto/PKGBUILD
+++ b/abs/core-testing/xf86dgaproto/PKGBUILD
@@ -1,18 +1,23 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 56536 2009-10-22 16:45:57Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
pkgname=xf86dgaproto
-pkgver=2.0.3
+pkgver=2.1
pkgrel=1
pkgdesc="X11 Direct Graphics Access extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('a036dc2fcbf052ec10621fd48b68dbb1')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}" || return 1
}
-md5sums=('42fdcebc66efac02ab4beec2b1b0ad6e')
diff --git a/abs/core-testing/xf86driproto/LICENSE b/abs/core-testing/xf86driproto/LICENSE
new file mode 100644
index 0000000..07a911b
--- /dev/null
+++ b/abs/core-testing/xf86driproto/LICENSE
@@ -0,0 +1,50 @@
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+
+
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, 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 (including the
+next paragraph) 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 NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
+
+**************************************************************************/
diff --git a/abs/core-testing/xf86driproto/PKGBUILD b/abs/core-testing/xf86driproto/PKGBUILD
index 120c7f4..197c37f 100644
--- a/abs/core-testing/xf86driproto/PKGBUILD
+++ b/abs/core-testing/xf86driproto/PKGBUILD
@@ -1,19 +1,23 @@
-# $Id: PKGBUILD 1886 2008-05-22 17:47:52Z jgc $
+# $Id: PKGBUILD 50995 2009-09-04 12:48:43Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=xf86driproto
-pkgver=2.0.4
+pkgver=2.1.0
pkgrel=1
pkgdesc="X11 DRI extension wire protocol"
+arch=(any)
url="http://xorg.freedesktop.org/"
-arch=(i686 x86_64)
-source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+license=('custom')
+source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2
+ LICENSE)
+sha1sums=('0dfc6616ffc68ca3c3b5decb1e365aaa93be8548'
+ '32bab65dd9c0b49333146abf16602967041b0d92')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
-
-md5sums=('01470d088da3a8a3deefa8e1f45d69cb')
diff --git a/abs/core-testing/xf86vidmodeproto/PKGBUILD b/abs/core-testing/xf86vidmodeproto/PKGBUILD
index 378f02d..c2e310e 100644
--- a/abs/core-testing/xf86vidmodeproto/PKGBUILD
+++ b/abs/core-testing/xf86vidmodeproto/PKGBUILD
@@ -1,19 +1,21 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 56538 2009-10-22 16:47:03Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86vidmodeproto
-pkgver=2.2.2
+pkgver=2.3
pkgrel=1
pkgdesc="X11 Video Mode extension wire protocol"
-arch=(i686 x86_64)
+arch=(any)
url="http://xorg.freedesktop.org/"
+license=('custom')
source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('f00844a63d6e76b69eb0eb5e41eed843')
-sha1sums=('4a228958879eb06206d13f4f09ec902f837fb8dd')
+md5sums=('4434894fc7d4eeb4a22e6b876d56fdaa')
build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr || return 1
make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xfsprogs/PKGBUILD b/abs/core-testing/xfsprogs/PKGBUILD
index 4043caf..d6bd6bd 100644
--- a/abs/core-testing/xfsprogs/PKGBUILD
+++ b/abs/core-testing/xfsprogs/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 26327 2009-02-06 16:24:28Z paul $
+# $Id: PKGBUILD 80259 2010-05-14 07:23:36Z tpowa $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=xfsprogs
-pkgver=3.0.0
+pkgver=3.1.2
pkgrel=1
pkgdesc="XFS filesystem utilities"
arch=(i686 x86_64)
license=('LGPL')
url="http://oss.sgi.com/projects/xfs/"
groups=('base')
-depends=(e2fsprogs)
+depends=('util-linux-ng>=2.16')
options=('!makeflags' '!libtool')
-source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsprogs-${pkgver}.tar.gz)
-md5sums=('ec734f935ec87ebb8be890d29380a3e6')
+source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/${pkgname}-${pkgver}.tar.gz)
+md5sums=('86d10178ee6897cb099c97303e6d9da0')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- export OPTIMIZER="-march=$(echo ${CARCH} -O1 | sed -e 's/_/-/g')"
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ export OPTIMIZER="-march=${CARCH/_/-} -O1"
export DEBUG=-DNDEBUG
make || return 1
- make DIST_ROOT=${pkgdir} install install-dev
+ make DIST_ROOT="${pkgdir}" install install-dev || return 1
}
diff --git a/abs/core-testing/xkeyboard-config/PKGBUILD b/abs/core-testing/xkeyboard-config/PKGBUILD
index abac013..740c544 100644
--- a/abs/core-testing/xkeyboard-config/PKGBUILD
+++ b/abs/core-testing/xkeyboard-config/PKGBUILD
@@ -1,28 +1,26 @@
-# $Id: PKGBUILD 22425 2008-12-26 19:55:49Z jgc $
+# $Id: PKGBUILD 65515 2010-01-30 15:59:03Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xkeyboard-config
-pkgver=1.4
-pkgrel=2
+pkgver=1.8
+pkgrel=1
pkgdesc="X keyboard configuration files"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://www.freedesktop.org/wiki/Software/XKeyboardConfig"
depends=('xorg-xkb-utils')
-makedepends=('perlxml' 'pkgconfig')
+makedepends=('intltool' 'pkgconfig')
provides=('xkbdata')
replaces=('xkbdata')
conflicts=('xkbdata')
-source=(http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-${pkgver}.tar.bz2
- fix-abnt2.patch)
-md5sums=('a9fe7efbc67a6966c4d4501f0cf88073' '5af20ec00a42a051cf0d7bcb572471df')
+source=(http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-${pkgver}.tar.bz2)
+md5sums=('37ae41628cd2ce35d202d30b1820c8ba')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/fix-abnt2.patch" || return 1
./configure --prefix=/usr \
- --with-xkb-base=/usr/share/X11/xkb \
- --with-xkb-rules-symlink=xorg \
- --enable-compat-rules=yes || return 1
+ --with-xkb-base=/usr/share/X11/xkb \
+ --with-xkb-rules-symlink=xorg \
+ --enable-compat-rules=yes || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
rm -f "${pkgdir}/usr/share/X11/xkb/compiled" || return 1
diff --git a/abs/core-testing/xmltv/PKGBUILD b/abs/core-testing/xmltv/PKGBUILD
index e16f791..98ddf75 100755
--- a/abs/core-testing/xmltv/PKGBUILD
+++ b/abs/core-testing/xmltv/PKGBUILD
@@ -1,25 +1,24 @@
-# $Id: PKGBUILD,v 1.7 2009/01/28 12:14:17 allan Exp $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=xmltv
-pkgver=0.5.54
+pkgver=0.5.57
pkgrel=1
pkgdesc="Set of utilities to download tv listings and format them in xml"
-arch=('i686' 'x86_64')
+arch=('any')
url="http://xmltv.org/wiki/"
license=('GPL')
-depends=('perl-archive-zip' 'perl-date-manip' 'perl-file-slurp' \
- 'perl-http-cache-transparent' 'perl-html-tree' 'perl-io-stringy' \
- 'perl-lingua-en-numbers-ordinate' 'perl-lingua-preferred' 'perl-soap-lite' \
- 'perl-term-progressbar' 'perl-term-readkey' 'perl-text-kakasi' \
- 'perl-timedate' 'perl-tk-tablematrix' 'perl-unicode-string' \
- 'perl-unicode-utf8simple' 'perl-www-mechanize' 'perl-xml-dom' 'libxml2' \
- 'perl-xml-libxml' 'perl-xml-libxslt' 'perl-xml-simple' 'perl-xml-twig' \
- 'perl-xml-writer')
-
+depends=('perl-archive-zip' 'perl-date-manip' 'perl-file-slurp'
+ 'perl-http-cache-transparent' 'perl-http-response-encoding'
+ 'perl-html-tree' 'perl-io-stringy' 'perl-lingua-en-numbers-ordinate'
+ 'perl-lingua-preferred' 'perl-soap-lite' 'perl-term-progressbar'
+ 'perl-term-readkey' 'perl-timedate' 'perl-tk-tablematrix'
+ 'perl-unicode-string' 'perl-unicode-utf8simple' 'perl-www-mechanize'
+ 'perl-xml-dom' 'perl-xml-libxml' 'perl-xml-libxslt' 'perl-xml-simple'
+ 'perl-xml-twig' 'perl-xml-writer')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('b006f72f45a3e7be3e64f88813275403')
+md5sums=('c8396db9f823ba43d42ca3f4662b816b')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -31,4 +30,4 @@ build() {
# remove perllocal.pod and .packlist
find ${pkgdir} -name perllocal.pod -delete
find ${pkgdir} -name .packlist -delete
-} \ No newline at end of file
+}
diff --git a/abs/core-testing/xorg-apps/LICENSE b/abs/core-testing/xorg-apps/LICENSE
new file mode 100644
index 0000000..e188a3b
--- /dev/null
+++ b/abs/core-testing/xorg-apps/LICENSE
@@ -0,0 +1,1354 @@
+
+luit:
+
+Copyright (c) 2001 by Juliusz Chroboczek
+Copyright (c) 2002 by Tomohiro KUBOTA
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+oclock:
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+x11perf:
+
+Copyright 1988, 1989 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xbiff:
+
+Copyright (c) 1988 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xcalc:
+Copyright (c) 1989, 1994 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+------------------------------------------------------------------------------
+
+Copyright 2005 Red Hat, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Red Hat not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Red Hat makes no
+representations about the suitability of this software for any
+purpose. It is provided "as is" without express or implied warranty.
+
+RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+
+xclipboard:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xclock:
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of Sun Microsystems, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any kind.
+ *
+ * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED.
+ * SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES OR
+ * LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR RELATING TO USE,
+ * MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS DERIVATIVES.
+ * IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE,
+ * PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
+ * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE
+ * THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE
+ * SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ *
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xconsole:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1990, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xcursorgen:
+Copyright (C) 2002 Manish Singh
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Manish Singh not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Manish Singh makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+MANISH SINGH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL MANISH SINGH BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+xedit:
+
+Copyright (c) 1987, 1993
+ The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+
+Copyright (c) 1994
+ The Regents of the University of California. All rights reserved.
+
+This code is derived from software contributed to Berkeley by
+Jan-Simon Pendry.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+
+
+ COPYRIGHT 1987
+ DIGITAL EQUIPMENT CORPORATION
+ MAYNARD, MASSACHUSETTS
+ ALL RIGHTS RESERVED.
+
+THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
+SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
+DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR
+ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+
+IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT RIGHTS,
+APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN ADDITION TO THAT
+SET FORTH ABOVE.
+
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Digital Equipment Corporation not be
+used in advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+Copyright 2004 Roland Mainz <roland.mainz@nrubsig.org>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright (c) 1999-2002 by The XFree86 Project, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from the
+XFree86 Project.
+
+
+Copyright (c) 2007 Paulo Cesar Pereira de Andrade
+
+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 (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+
+xeyes:
+Copyright (c) 1991 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xkill:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+xload:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1989 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+xlogo:
+
+Copyright 1988, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 2004 Roland Mainz <roland.mainz@nrubsig.org>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xmag:
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+ * Copyright (C) 1999 The XFree86 Project, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the XFree86 Project shall
+ * not be used in advertising or otherwise to promote the sale, use or other
+ * dealings in this Software without prior written authorization from the
+ * XFree86 Project.
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+
+xman:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1987, 1988 X Consortium
+Copyright (c) 1991 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+Copyright 2004 Roland Mainz <roland.mainz@nrubsig.org>
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+xmessage:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+ * Copyright (C) 2003 The XFree86 Project, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE
+ * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the XFree86 Project
+ * shall not be used in advertising or otherwise to promote the sale,
+ * use or other dealings in this Software without prior written
+ * authorization from the XFree86 Project.
+
+Copyright (c) 1988, 1991, 1994 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+xmh:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1989 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+ *
+ * COPYRIGHT 1987, 1989
+ * DIGITAL EQUIPMENT CORPORATION
+ * MAYNARD, MASSACHUSETTS
+ * ALL RIGHTS RESERVED.
+ *
+ * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
+ * SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
+ * DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR
+ * ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ *
+ * IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT
+ * RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN
+ * ADDITION TO THAT SET FORTH ABOVE.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Digital Equipment Corporation not be
+ * used in advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission.
+
+Copyright (c) 1987, 1988 X Consortium
+Copyright (c) 1993 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+xpr:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright (c) 1985 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+Copyright (c) 1988 by Hewlett-Packard Company
+
+Permission to use, copy, modify, and distribute this software
+and its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation, and that
+Hewlett-Packard not be used in advertising or publicity
+pertaining to distribution of the software without specific, written
+prior permission.
+
+Copyright (c) 1988 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+
+xwd:
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+ * Copyright 2007 Kim woelders
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+
+Copyright 1993, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+Copyright 1994 Hewlett-Packard Co.
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+xwud:
+
+ Copyright 2005 Red Hat, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Red Hat not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Red Hat makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1985, 1986, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
diff --git a/abs/core-testing/xorg-apps/PKGBUILD b/abs/core-testing/xorg-apps/PKGBUILD
index adaccd2..b36c4f3 100644
--- a/abs/core-testing/xorg-apps/PKGBUILD
+++ b/abs/core-testing/xorg-apps/PKGBUILD
@@ -1,56 +1,57 @@
-# $Id: PKGBUILD 19081 2008-11-14 21:07:55Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 65057 2010-01-24 04:35:40Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xorg-apps
-pkgver=7.4
-pkgrel=1
+pkgver=7.5
+pkgrel=3
pkgdesc="Various X.Org applications"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=(libxcursor libxkbfile libpng libxft libfontenc libxaw)
+license=('custom')
+depends=(libxcursor libxkbfile 'libpng>=1.4.0' libxft libfontenc libxaw)
makedepends=(pkgconfig xbitmaps)
source=(${url}/releases/individual/app/oclock-1.0.1.tar.bz2
- ${url}/releases/individual/app/luit-1.0.3.tar.bz2
- ${url}/releases/individual/app/xclock-1.0.3.tar.bz2
- ${url}/releases/individual/app/xpr-1.0.2.tar.bz2
- ${url}/releases/individual/app/xwd-1.0.2.tar.bz2
- ${url}/releases/individual/app/xwud-1.0.1.tar.bz2
- ${url}/releases/individual/app/x11perf-1.5.tar.bz2
- ${url}/releases/individual/app/xbiff-1.0.1.tar.bz2
- ${url}/releases/individual/app/xclipboard-1.0.1.tar.bz2
+ ${url}/releases/individual/app/luit-1.0.4.tar.bz2
+ ${url}/releases/individual/app/xclock-1.0.4.tar.bz2
+ ${url}/releases/individual/app/xpr-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xwd-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xwud-1.0.2.tar.bz2
+ ${url}/releases/individual/app/x11perf-1.5.1.tar.bz2
+ ${url}/releases/individual/app/xbiff-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xclipboard-1.1.0.tar.bz2
${url}/releases/individual/app/xconsole-1.0.3.tar.bz2
- ${url}/releases/individual/app/xcursorgen-1.0.2.tar.bz2
- ${url}/releases/individual/app/xeyes-1.0.1.tar.bz2
- ${url}/releases/individual/app/xkill-1.0.1.tar.bz2
+ ${url}/releases/individual/app/xcursorgen-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xeyes-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xkill-1.0.2.tar.bz2
${url}/releases/individual/app/xload-1.0.2.tar.bz2
- ${url}/releases/individual/app/xlogo-1.0.1.tar.bz2
- ${url}/releases/individual/app/xmag-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xlogo-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xmag-1.0.3.tar.bz2
${url}/releases/individual/app/xmessage-1.0.2.tar.bz2
- ${url}/releases/individual/app/xcalc-1.0.2.tar.bz2
- ${url}/releases/individual/app/xman-1.0.3.tar.bz2
- ${url}/releases/individual/app/xedit-1.1.2.tar.bz2
- ${url}/releases/individual/app/xmh-1.0.1.tar.bz2)
+ ${url}/releases/individual/app/xcalc-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xman-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xedit-1.1.2.tar.bz2
+ LICENSE)
md5sums=('91f49547f9ed3cd0137c8b7c3183e360'
- 'b01e4f71c20fc1c79ed727759c1df40c'
- '2b1a3d030d87e62a591db8ee4c0072e6'
- '6b3a6896081f628bf5a2c9129417c86f'
- '0a6ef08a2ac08ad5c4dd1522eb3788a3'
- '6e3c5d0297d88e890b6f5df31f73dd60'
- '31283bfc3c78718ac1bd71e510d4e774'
- '404f5add4537d22dd109c33e518a5190'
- '2c6ecedb10dc51adbb64c95f22fd99c2'
+ '4e45233e310d72dce307709761cf241b'
+ 'bb9fd5e00d39c348a0078b97fdf8258f'
+ '1c2c540d240def3ea65ff2030f059f8a'
+ '007cea1f389abde5c93162dcd5541351'
+ '20bc5d85634964d4ceee77cdfcd131ed'
+ '66e4aa4645f83809071eb69553ed0222'
+ '1d4ad06725f9dc4b877ecd210b7b1607'
+ '113eccea3ee73a1ef7b43d2291ca1e09'
'0e1a3110bebabecc2897d67a973526b0'
- '6fc90896b8c786cb1a2100b4167f7874'
- '033f14f7c4e30d1f4edbb22d5ef86883'
- 'f66d76abb0f75514ca32272e23cca757'
+ '69df079b3950a0db4e5f4e6f0e00ddee'
+ '933f6d2b132d14f707f1f3c87b39ebe2'
+ 'dca031355b4afcf8517a8258eeb730c3'
'b41ed6b4bcfc9897366c27a94d2bf150'
- '4c5482552f38a7d42398a694cc9b2ee6'
- '7c6a783e42c88360ac31d259a864a19d'
+ '7365c0852750134119734bc1879f60ca'
+ '32f7ed4c089365cadb9382f6fbd750a9'
'b4b561ef11fd184989a6062962e86748'
- 'd31a99795b9668f047aa11bf36df6df0'
- '3d3a4b310a65ccce82472ef83acbbf97'
+ '0b981e360b54584fcb6dc2ec4658c406'
+ '5e5b3351bac26cc1f8490faf1c1402bb'
'67193be728414d45a1922911e6437991'
- '656bcbdd41818a8b5a9f7dba77a3eeba')
+ '1a3977bcff6dc0fc1086e0650fcea31a')
build() {
cd "${srcdir}"
@@ -60,18 +61,22 @@ build() {
case "${i}" in
x11perf*)
sed -e 's|^LIBPATH = $(libdir)|LIBPATH = $(datadir)|' \
- -i Makefile.* || return 1
- ;;
- xedit*)
- sed -e 's|^XEDITDIR = ${libdir}|XEDITDIR = ${datadir}|' \
- -i Makefile.* || return 1
- ;;
+ -i Makefile.* || return 1
+ ;;
+ xedit*)
+ sed -e 's|^XEDITDIR = ${libdir}|XEDITDIR = ${datadir}|' \
+ -i Makefile.* || return 1
+ ;;
+ xcursorgen*)
+ sed -e 's/libpng12/libpng14/g' -i configure
+ ;;
esac
./configure --prefix=/usr --disable-xprint --mandir=/usr/share/man \
- --with-localealiasfile=/usr/share/X11/locale/locale.alias
+ --with-localealiasfile=/usr/share/X11/locale/locale.alias
make || return 1
make DESTDIR="${pkgdir}" install || return 1
popd
fi
done
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core-testing/xorg-server-utils/LICENSE.iceauth b/abs/core-testing/xorg-server-utils/LICENSE.iceauth
new file mode 100644
index 0000000..06941b3
--- /dev/null
+++ b/abs/core-testing/xorg-server-utils/LICENSE.iceauth
@@ -0,0 +1,25 @@
+ Copyright 1989, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ * *
+ * Original Author of "xauth" : Jim Fulton, MIT X Consortium
+ * Modified into "iceauth" : Ralph Mor, X Consortium
+ */
diff --git a/abs/core-testing/xorg-server-utils/LICENSE.xcmsdb b/abs/core-testing/xorg-server-utils/LICENSE.xcmsdb
new file mode 100644
index 0000000..132ace6
--- /dev/null
+++ b/abs/core-testing/xorg-server-utils/LICENSE.xcmsdb
@@ -0,0 +1,18 @@
+ (c) Copyright 1990 Tektronix Inc.
+ All Rights Reserved
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in
+ supporting documentation, and that the name of Tektronix not be used
+ in advertising or publicity pertaining to distribution of the software
+ without specific, written prior permission.
+
+ Tektronix disclaims all warranties with regard to this software, including
+ all implied warranties of merchantability and fitness, in no event shall
+ Tektronix be liable for any special, indirect or consequential damages or
+ any damages whatsoever resulting from loss of use, data or profits,
+ whether in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of this
+ software.
diff --git a/abs/core-testing/xorg-server-utils/PKGBUILD b/abs/core-testing/xorg-server-utils/PKGBUILD
index 84b4d12..6dd9138 100644
--- a/abs/core-testing/xorg-server-utils/PKGBUILD
+++ b/abs/core-testing/xorg-server-utils/PKGBUILD
@@ -1,59 +1,73 @@
-# $Id: PKGBUILD 19183 2008-11-16 22:56:53Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 81980 2010-06-07 13:43:18Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xorg-server-utils
-pkgver=7.4
-pkgrel=2
+pkgver=7.5
+pkgrel=4
pkgdesc="X.Org utilities required by xorg-server"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
-depends=('libxfontcache' 'libxi' 'libxmu' 'libxxf86misc' 'libxrandr' 'libxxf86vm' 'mcpp>=2.6')
+license=('custom')
+depends=('libxfontcache>=1.0.5' 'libxi>=1.3' 'libxaw>=1.0.6' 'libxxf86misc>=1.0.2' 'libxrandr>=1.3.0' 'libxxf86vm>=1.1.0' 'mcpp>=2.7.2')
makedepends=('pkgconfig' 'xbitmaps' 'bigreqsproto' 'xtrans')
-source=(${url}/releases/individual/app/iceauth-1.0.2.tar.bz2
+groups=('xorg')
+source=(${url}/releases/individual/app/iceauth-1.0.3.tar.bz2
${url}/releases/individual/app/rgb-1.0.3.tar.bz2
- ${url}/releases/individual/app/sessreg-1.0.4.tar.bz2
- ${url}/releases/individual/app/xcmsdb-1.0.1.tar.bz2
- ${url}/releases/individual/app/xbacklight-1.1.tar.bz2
- ${url}/releases/individual/app/xgamma-1.0.2.tar.bz2
- ${url}/releases/individual/app/xhost-1.0.2.tar.bz2
- ${url}/releases/individual/app/xmodmap-1.0.3.tar.bz2
- ${url}/releases/individual/app/xrandr-1.2.3.tar.bz2
- ${url}/releases/individual/app/xrdb-1.0.5.tar.bz2
- ${url}/releases/individual/app/xrefresh-1.0.2.tar.bz2
- ${url}/releases/individual/app/xset-1.0.4.tar.bz2
+ ${url}/releases/individual/app/sessreg-1.0.6.tar.bz2
+ ${url}/releases/individual/app/xcmsdb-1.0.2.tar.bz2
+ ${url}/releases/individual/app/xbacklight-1.1.1.tar.bz2
+ ${url}/releases/individual/app/xgamma-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xhost-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xinput-1.5.2.tar.bz2
+ ${url}/releases/individual/app/xmodmap-1.0.4.tar.bz2
+ ${url}/releases/individual/app/xrandr-1.3.2.tar.bz2
+ ${url}/releases/individual/app/xrdb-1.0.6.tar.bz2
+ ${url}/releases/individual/app/xrefresh-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xset-1.1.0.tar.bz2
${url}/releases/individual/app/xsetmode-1.0.0.tar.bz2
- ${url}/releases/individual/app/xsetroot-1.0.2.tar.bz2)
-md5sums=('7ab8b64edf0212a9d9a3c8129901a450'
+ ${url}/releases/individual/app/xsetroot-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xvidtune-1.0.2.tar.bz2
+ LICENSE.iceauth
+ LICENSE.xcmsdb)
+md5sums=('975ade3f238c1eb10705da0a91e6e8e7'
'44ea16cc3104de6401bc74035f642357'
- '839e968d7197b9563f0fd8a5a3aac2e3'
- '8579d5f50ba7f0c4a5bf16b9670fea01'
- '51b4a1c0ae2b3bd77417306fd78a3e94'
- 'f13ddedaa63a608d3b025d326f4f5b5d'
- 'f746aba36f075ae4cae313d849a94f4e'
- '626731003ec22a74ecf9e44ed098bbdf'
- '41a9d0cc073fa6165a31fbf9e85f68a6'
- '9c30b8e1709d5367beb7706146640c07'
- '1228f890f86148e4e6ae22aa73118cbb'
- '2f41fd983ba4d89419204854936025e2'
+ '8c8fcda19f4cffe573d43ec9b8255f8e'
+ '7f2bed9f4dd3301d18d83eb296c3be0d'
+ '3e39eec6d0fd5c587ca6d55aa7bb8fe1'
+ 'e8a88bf1a18f35b724619849dca97f4f'
+ 'c7f91b4a750d297f269c2a0a3206a1b2'
+ '8cec6023f90180cb8e4be31d98c43fda'
+ 'bbe021f812e0014a8ee3692317788119'
+ '2cb19bb1c19ccf77c40032b03dbe06f0'
+ '8dd881cd5a7dcb6e456549817f0fb475'
+ '8f4fafcfb77b3c6972cc44bb3f1c899c'
+ 'eeb0d02f69c76bd40470dede99b4bd49'
'd074e79d380b031d2f60e4cd56538c93'
- '9af7db9f3052aef0b11636720b3101dd')
+ 'cbda9b9b8da5af4614110883d5a276b8'
+ 'e40eeb4454f2a7cdde3a14f5dfd3aadd'
+ '65695dc24c24958190724a23655ffda7'
+ 'b6235416dca2205f0ba83c0c4b3ddeb8')
build() {
- cd ${startdir}/src
+ cd "${srcdir}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
for i in *; do
if [ -d "${i}" ]; then
pushd "${i}"
case "${i}" in
xrdb*)
- ./configure --prefix=/usr --mandir=/usr/share/man --with-cpp=/usr/bin/mcpp\ -@old || return 1
- ;;
- *)
- ./configure --prefix=/usr --mandir=/usr/share/man || return 1
- ;;
+ ./configure --prefix=/usr --mandir=/usr/share/man --with-cpp=/usr/bin/mcpp || return 1
+ ;;
+ *)
+ ./configure --prefix=/usr --mandir=/usr/share/man || return 1
+ ;;
esac
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE.${i%-*} || return 1
popd
fi
done
+# Replacing stub license files
+ install -m644 "${srcdir}"/LICENSE.* "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xorg-server/10-evdev.conf b/abs/core-testing/xorg-server/10-evdev.conf
new file mode 100644
index 0000000..877aa4a
--- /dev/null
+++ b/abs/core-testing/xorg-server/10-evdev.conf
@@ -0,0 +1,39 @@
+# Catchall classes for input devices
+# We don't simply match on any device since that also adds accelerometers
+# and other devices that we don't really want to use. The list below
+# matches everything but joysticks.
+
+Section "InputClass"
+ Identifier "evdev pointer catchall"
+ MatchIsPointer "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev keyboard catchall"
+ MatchIsKeyboard "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev touchpad catchall"
+ MatchIsTouchpad "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev tablet catchall"
+ MatchIsTablet "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
+
+Section "InputClass"
+ Identifier "evdev touchscreen catchall"
+ MatchIsTouchscreen "on"
+ MatchDevicePath "/dev/input/event*"
+ Driver "evdev"
+EndSection
diff --git a/abs/core-testing/xorg-server/10-quirks.conf b/abs/core-testing/xorg-server/10-quirks.conf
new file mode 100644
index 0000000..7afad22
--- /dev/null
+++ b/abs/core-testing/xorg-server/10-quirks.conf
@@ -0,0 +1,10 @@
+# Collection of quirks and blacklist/whitelists for specific devices.
+
+
+# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
+# http://bugs.freedesktop.org/show_bug.cgi?id=22442
+Section "InputClass"
+ Identifier "ThinkPad HDAPS accelerometer blacklist"
+ MatchProduct "ThinkPad HDAPS accelerometer data"
+ Option "Ignore" "on"
+EndSection
diff --git a/abs/core-testing/xorg-server/PKGBUILD b/abs/core-testing/xorg-server/PKGBUILD
index 51f75f8..ae28da3 100644
--- a/abs/core-testing/xorg-server/PKGBUILD
+++ b/abs/core-testing/xorg-server/PKGBUILD
@@ -1,105 +1,88 @@
-# $Id: PKGBUILD 21903 2008-12-17 20:32:54Z jgc $
-# Maintainer: Alexander Baldeck <kth5@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 83339 2010-06-21 12:03:15Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-server
-pkgver=1.5.3
-pkgrel=5
+pkgver=1.8.1.902
+pkgrel=1
pkgdesc="X.Org X servers"
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
-depends=('libx11>=1.1.5' 'libxkbui>=1.0.2' 'libgl' 'libxfont>=1.3.3' 'openssl>=0.9.8h' 'libxxf86misc>=1.0.1' 'libpciaccess>=0.10.5' 'libxv>=1.0.4' 'libxaw>=1.0.4' 'pixman>=0.11.10' 'hal>=0.5.11' 'xcursor-themes' 'xkeyboard-config>=1.3' 'xorg-server-utils' 'xorg-utils' 'xorg-fonts-misc' 'xbitmaps' 'libdrm>=2.3.1' 'diffutils' 'xf86-input-evdev')
-makedepends=('glproto>=1.4.9' 'xf86driproto>=2.0.4' 'mesa>=7.2' 'randrproto>=1.2.2' 'renderproto>=0.9.3' 'scrnsaverproto>=1.1.0' 'fontsproto>=2.0.2' 'videoproto>=2.2.2' 'compositeproto>=0.4' 'trapproto>=3.4.3' 'resourceproto>=1.0.2' 'xineramaproto>=1.1.2' 'evieext>=1.0.2' 'libxkbfile>=1.0.5' 'libxmu>=1.0.4' 'libxpm>=3.5.7' 'libxxf86dga>=1.0.2' 'inputproto>=1.4.4' 'xcmiscproto>=1.1.2' 'bigreqsproto' 'libdrm=2.3.1' 'xtrans')
+depends=('libgl' 'libxfont>=1.4.1' 'libgcrypt>=1.4.5' 'udev>=151' 'libpciaccess>=0.10.9' 'libxv>=1.0.5' 'pixman>=0.18.0' 'xcursor-themes>=1.0.2' 'xkeyboard-config>=1.8' 'xorg-server-utils' 'xorg-fonts-misc' 'xbitmaps' 'diffutils' 'xf86-input-evdev>=2.3.2-2' 'inputproto>=2.0')
+makedepends=('libx11>=1.3.3' 'mesa>=7.8.2' 'xf86driproto>=2.1.0' 'xtrans>=1.2.5' 'libxkbfile>=1.0.6' 'randrproto>=1.3.1' 'renderproto>=0.11' 'xcmiscproto>=1.2.0' 'bigreqsproto>=1.1.0' 'resourceproto>=1.1.0' 'videoproto>=2.3.0' 'compositeproto>=0.4.1' 'scrnsaverproto>=1.2.0' 'xf86dgaproto>=2.1' 'libgl>=7.8.2' 'glproto>=1.4.11' 'xorg-util-macros>=1.6.1' 'xineramaproto>=1.2' 'recordproto')
+conflicts=('catalyst-utils<=9.2' 'xf86-input-calcomp' 'xf86-input-citron' 'xf86-input-digitaledge' 'xf86-input-dmc' 'xf86-input-dynapro' 'xf86-input-elo2300'
+ 'xf86-input-jamstudio' 'xf86-input-magellan' 'xf86-input-magictouch' 'xf86-input-microtouch' 'xf86-input-palmax' 'xf86-input-spaceorb' 'xf86-input-summa' 'xf86-input-tek4957' 'xf86-input-ur98' 'xf86-video-vga' 'xf86-video-intel-legacy' 'nvidia-96xx-utils<96.43.14' 'nvidia-173xx-utils<173.14.21')
options=('!libtool')
provides=('x-server')
groups=('xorg')
install=xorg-server.install
+backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
- xserver-1.5-branch-4970d.patch
- 001_fedora_extramodes.patch
- xorg-redhat-die-ugly-pattern-die-die-die.patch
- xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
- xserver-1.5.3-AEI-on-by-default.patch)
-md5sums=('308971036e25250e7fe3cccfd5a120f8'
- '61f9bb524501247dce647b218ad14347'
- '033427f2b406cba8dd6103ff374e7156'
+ xorg-redhat-die-ugly-pattern-die-die-die.patch
+ xvfb-run
+ xvfb-run.1
+ 10-evdev.conf
+ 10-quirks.conf)
+md5sums=('8a851466d13e4ee527cc782308532119'
'1a336eb22e27cbf443ec5a2ecddfa93c'
- '7b03ba9b75d795e4f7fdfaa550d97159'
- '63d1d61d217005db7c23c4a98fc3e7eb')
+ '52fd3effd80d7bc6c1660d4ecf23d31c'
+ '376c70308715cd2643f7bff936d9934b'
+ 'e930e153d69968a795fe4e2ef5d9a5dc'
+ 'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- # Upstream commits from server-1.5 branch
- patch -Np1 -i "${srcdir}/xserver-1.5-branch-4970d.patch" || return 1
-
- # extramodes
- patch -Np1 -i "${srcdir}/001_fedora_extramodes.patch" || return 1
# Get rid of the ugly pattern
- patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return 1
-
- # Patch from Fedora to fix FS#12248
- patch -Np1 -i "${srcdir}/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch" || return 1
-
- # Upstream patch to fix evdev issues with >=2.1.0
- patch -Np1 -i "${srcdir}/xserver-1.5.3-AEI-on-by-default.patch" || return 1
+ patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch"
- # Fix dbus config path
- sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.* || return 1
+ sed -i -e 's/\$(prefix)\/etc/\/etc/g' config/Makefile.*
+ autoreconf
./configure --prefix=/usr \
- --enable-ipv6 \
- --enable-dri \
- --disable-dmx \
- --enable-xvfb \
- --enable-xnest \
- --enable-composite \
- --enable-xcsecurity \
- --enable-xorg \
- --enable-xtrap \
- --enable-xevie \
- --enable-xephyr \
- --enable-glx-tls \
- --enable-xorgcfg \
- --enable-kdrive \
- --enable-install-setuid \
- --enable-config-hal \
- --enable-config-dbus \
- --disable-xfbdev \
- --disable-xfake \
- --disable-xsdl \
- --disable-kdrive-vesa \
- --disable-dri2 \
- --disable-xprint \
- --disable-static \
- --sysconfdir=/etc/X11 \
- --localstatedir=/var \
- --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
- --with-xkb-path=/usr/share/X11/xkb \
- --with-xkb-output=/var/lib/xkb \
- --with-dri-driver-path=/usr/lib/xorg/modules/dri --enable-null-root-cursor || return 1
+ --enable-ipv6 \
+ --enable-dri \
+ --disable-dmx \
+ --enable-xvfb \
+ --enable-xnest \
+ --enable-composite \
+ --enable-xcsecurity \
+ --enable-xorg \
+ --enable-xephyr \
+ --enable-glx-tls \
+ --enable-kdrive \
+ --enable-install-setuid \
+ --enable-config-udev \
+ --disable-config-dbus \
+ --enable-record \
+ --disable-xfbdev \
+ --disable-xfake \
+ --disable-static \
+ --sysconfdir=/etc/X11 \
+ --localstatedir=/var \
+ --with-xkb-path=/usr/share/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ --with-dri-driver-path=/usr/lib/xorg/modules/dri
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ make
+ make DESTDIR="${pkgdir}" install
- rm -rf "${pkgdir}/var/log" || return 1
+ install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
+ install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
- install -m755 -d "${pkgdir}/etc/X11" || return 1
- install -m755 -d "${pkgdir}/var/lib/xkb" || return 1
+ rm -rf "${pkgdir}/var/log"
- # No longer needed, but as nvidia-utils mangles these files,
- # keep them like this so they can be restored
- mv "${pkgdir}/usr/lib/xorg/modules/libwfb.so" \
- "${pkgdir}/usr/lib/xorg/modules/libwfb.so.1.4" || return 1
+ install -m755 -d "${pkgdir}/var/lib/xkb"
+
+ # Install sane config files in /etc. I don't see the need for config files in /usr/share here, users will edit them anyways.
+ install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
+ install -m644 "${srcdir}/10-evdev.conf" "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+ rm -rf "${pkgdir}/usr/share/X11"
# Needed for non-mesa drivers, libgl will restore it
mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
- "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg" || return 1
-
- mv "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.so" \
- "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.xorg" || return 1
+ "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xorg-server/xorg-server.install b/abs/core-testing/xorg-server/xorg-server.install
index c67438d..89cfec0 100644
--- a/abs/core-testing/xorg-server/xorg-server.install
+++ b/abs/core-testing/xorg-server/xorg-server.install
@@ -1,33 +1,14 @@
post_install() {
- rm -f usr/lib/xorg/modules/libwfb.so
- ln -sf libwfb.so.1.4 usr/lib/xorg/modules/libwfb.so
+cat << _EOF
- cmp usr/lib/xorg/modules/extensions/libdri.so usr/lib/xorg/modules/extensions/libglx.xorg >/dev/null 2>&1 && rm -f usr/lib/xorg/modules/extensions/libdri.so
-
- # If the symlink is dead or non-existent, remove it and make a new one
- if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then
- rm -f usr/lib/xorg/modules/extensions/libdri.so
- ln -sf libdri.xorg usr/lib/xorg/modules/extensions/libdri.so
- fi
-}
-
-post_upgrade() {
- if [ "`vercmp $2 1.4.99.906`" -lt 0 ]; then
- cat << _EOF
-
- Input device handling has changed in xorg-server 1.5.
+ Input device handling has changed since xorg-server 1.5.
Please read http://wiki.archlinux.org/index.php/Xorg_input_hotplugging.
_EOF
- fi
- post_install
}
-post_remove() {
- rm -f /usr/lib/xorg/modules/libwfb.so
-
- # If the symlink is dead, remove it
- if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then
- rm -f usr/lib/xorg/modules/extensions/libdri.so
+post_upgrade() {
+ if [ "`vercmp $2 1.4.99.906`" -lt 0 ]; then
+ post_install
fi
}
diff --git a/abs/core-testing/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch b/abs/core-testing/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch
new file mode 100644
index 0000000..c62837e
--- /dev/null
+++ b/abs/core-testing/xorg-server/xserver-1.7.1-gamma-kdm-fix.patch
@@ -0,0 +1,34 @@
+From acc64ce5be7383c09e88a23aab06ebc2403f2ca3 Mon Sep 17 00:00:00 2001
+From: Bill Nottingham <notting@redhat.com>
+Date: Fri, 6 Nov 2009 10:32:27 +1000
+Subject: [PATCH] fix KDM gamma issue on vt switch
+
+---
+ hw/xfree86/modes/xf86RandR12.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
+index 6ea9d26..ece12b9 100644
+--- a/hw/xfree86/modes/xf86RandR12.c
++++ b/hw/xfree86/modes/xf86RandR12.c
+@@ -1761,6 +1761,7 @@ xf86RandR12Init12 (ScreenPtr pScreen)
+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ rrScrPrivPtr rp = rrGetScrPriv(pScreen);
+ XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
++ int i;
+
+ rp->rrGetInfo = xf86RandR12GetInfo12;
+ rp->rrScreenSetSize = xf86RandR12ScreenSetSize;
+@@ -1790,6 +1791,9 @@ xf86RandR12Init12 (ScreenPtr pScreen)
+ */
+ if (!xf86RandR12SetInfo12 (pScreen))
+ return FALSE;
++ for (i = 0; i < rp->numCrtcs; i++) {
++ xf86RandR12CrtcGetGamma(pScreen, rp->crtcs[i]);
++ }
+ return TRUE;
+ }
+
+--
+1.6.5.1
+
diff --git a/abs/core-testing/xorg-server/xserver-1.7.1-libcrypto.patch b/abs/core-testing/xorg-server/xserver-1.7.1-libcrypto.patch
new file mode 100644
index 0000000..ea33ea9
--- /dev/null
+++ b/abs/core-testing/xorg-server/xserver-1.7.1-libcrypto.patch
@@ -0,0 +1,32 @@
+From 8875112f5c57ec5d575e717c5638fbc919145efb Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 16 Nov 2009 18:01:26 -0500
+Subject: [PATCH] configure: Only link against libcrypto
+
+openssl.pc will link you against libssl, which we don't need, and which
+brings in another seven libraries we also don't need. This is still
+bogus, we're really only trying to get a SHA1 routine, we could link it
+statically and be even better off.
+---
+ configure.ac | 6 ------
+ 1 files changed, 0 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f69f97e..254d33d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1297,14 +1297,8 @@ if test "x$SHA1_LIB" = "x" ; then
+ fi
+
+ if test "x$SHA1_LIB" = "x" ; then
+- PKG_CHECK_EXISTS([OPENSSL], [openssl], [HAVE_OPENSSL_PKC=yes],
+- [HAVE_OPENSSL_PKC=no])
+- if test "x$HAVE_OPENSSL_PKC" = xyes; then
+- REQUIRED_LIBS="$REQUIRED_LIBS openssl"
+- else
+ AC_CHECK_LIB([crypto], [SHA1_Init], [SHA1_LIB="-lcrypto"],
+ [AC_MSG_ERROR([OpenSSL must be installed in order to build the X server.])])
+- fi
+ fi
+
+ PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS])
diff --git a/abs/core-testing/xorg-server/xvfb-run b/abs/core-testing/xorg-server/xvfb-run
new file mode 100644
index 0000000..4c2f4e0
--- /dev/null
+++ b/abs/core-testing/xorg-server/xvfb-run
@@ -0,0 +1,180 @@
+#!/bin/sh
+
+# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $
+
+# This script starts an instance of Xvfb, the "fake" X server, runs a command
+# with that server available, and kills the X server when done. The return
+# value of the command becomes the return value of this script.
+#
+# If anyone is using this to build a Debian package, make sure the package
+# Build-Depends on xvfb, xbase-clients, and xfonts-base.
+
+set -e
+
+PROGNAME=xvfb-run
+SERVERNUM=99
+AUTHFILE=
+ERRORFILE=/dev/null
+STARTWAIT=3
+XVFBARGS="-screen 0 640x480x8"
+LISTENTCP="-nolisten tcp"
+XAUTHPROTO=.
+
+# Query the terminal to establish a default number of columns to use for
+# displaying messages to the user. This is used only as a fallback in the event
+# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
+# script is running, and this cannot, only being calculated once.)
+DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
+if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
+ DEFCOLUMNS=80
+fi
+
+# Display a message, wrapping lines at the terminal width.
+message () {
+ echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
+}
+
+# Display an error message.
+error () {
+ message "error: $*" >&2
+}
+
+# Display a usage message.
+usage () {
+ if [ -n "$*" ]; then
+ message "usage error: $*"
+ fi
+ cat <<EOF
+Usage: $PROGNAME [OPTION ...] COMMAND
+Run COMMAND (usually an X client) in a virtual X server environment.
+Options:
+-a --auto-servernum try to get a free server number, starting at
+ --server-num
+-e FILE --error-file=FILE file used to store xauth errors and Xvfb
+ output (default: $ERRORFILE)
+-f FILE --auth-file=FILE file used to store auth cookie
+ (default: ./.Xauthority)
+-h --help display this usage message and exit
+-n NUM --server-num=NUM server number to use (default: $SERVERNUM)
+-l --listen-tcp enable TCP port listening in the X server
+-p PROTO --xauth-protocol=PROTO X authority protocol name to use
+ (default: xauth command's default)
+-s ARGS --server-args=ARGS arguments (other than server number and
+ "-nolisten tcp") to pass to the Xvfb server
+ (default: "$XVFBARGS")
+-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start
+ before running COMMAND (default: $STARTWAIT)
+EOF
+}
+
+# Find a free server number by looking at .X*-lock files in /tmp.
+find_free_servernum() {
+ # Sadly, the "local" keyword is not POSIX. Leave the next line commented in
+ # the hope Debian Policy eventually changes to allow it in /bin/sh scripts
+ # anyway.
+ #local i
+
+ i=$SERVERNUM
+ while [ -f /tmp/.X$i-lock ]; do
+ i=$(($i + 1))
+ done
+ echo $i
+}
+
+# Clean up files
+clean_up() {
+ if [ -e "$AUTHFILE" ]; then
+ XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1
+ fi
+ if [ -n "$XVFB_RUN_TMPDIR" ]; then
+ if ! rm -r "$XVFB_RUN_TMPDIR"; then
+ error "problem while cleaning up temporary directory"
+ exit 5
+ fi
+ fi
+}
+
+# Parse the command line.
+ARGS=$(getopt --options +ae:f:hn:lp:s:w: \
+ --long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \
+ --name "$PROGNAME" -- "$@")
+GETOPT_STATUS=$?
+
+if [ $GETOPT_STATUS -ne 0 ]; then
+ error "internal error; getopt exited with status $GETOPT_STATUS"
+ exit 6
+fi
+
+eval set -- "$ARGS"
+
+while :; do
+ case "$1" in
+ -a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;;
+ -e|--error-file) ERRORFILE="$2"; shift ;;
+ -f|--auth-file) AUTHFILE="$2"; shift ;;
+ -h|--help) SHOWHELP="yes" ;;
+ -n|--server-num) SERVERNUM="$2"; shift ;;
+ -l|--listen-tcp) LISTENTCP="" ;;
+ -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;;
+ -s|--server-args) XVFBARGS="$2"; shift ;;
+ -w|--wait) STARTWAIT="$2"; shift ;;
+ --) shift; break ;;
+ *) error "internal error; getopt permitted \"$1\" unexpectedly"
+ exit 6
+ ;;
+ esac
+ shift
+done
+
+if [ "$SHOWHELP" ]; then
+ usage
+ exit 0
+fi
+
+if [ -z "$*" ]; then
+ usage "need a command to run" >&2
+ exit 2
+fi
+
+if ! which xauth >/dev/null; then
+ error "xauth command not found"
+ exit 3
+fi
+
+# tidy up after ourselves
+trap clean_up EXIT
+
+# If the user did not specify an X authorization file to use, set up a temporary
+# directory to house one.
+if [ -z "$AUTHFILE" ]; then
+ XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)"
+ AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority"
+fi
+
+# Start Xvfb.
+MCOOKIE=$(mcookie)
+XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
+add :$SERVERNUM $XAUTHPROTO $MCOOKIE
+EOF
+XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
+ 2>&1 &
+XVFBPID=$!
+sleep "$STARTWAIT"
+if ! kill -0 $XVFBPID 2>/dev/null; then
+ echo "Xvfb failed to start" >&2
+ exit 1
+fi
+
+# Start the command and save its exit status.
+set +e
+DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
+RETVAL=$?
+set -e
+
+# Kill Xvfb now that the command has exited.
+kill $XVFBPID
+
+# Return the executed command's exit status.
+exit $RETVAL
+
+# vim:set ai et sts=4 sw=4 tw=80:
diff --git a/abs/core-testing/xorg-server/xvfb-run.1 b/abs/core-testing/xorg-server/xvfb-run.1
new file mode 100644
index 0000000..137d3a1
--- /dev/null
+++ b/abs/core-testing/xorg-server/xvfb-run.1
@@ -0,0 +1,282 @@
+.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
+.\"
+.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
+.\"
+.\" This is free software; you may redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2,
+.\" or (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License with
+.\" the Debian operating system, in /usr/share/common-licenses/GPL; if
+.\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
+.\" Suite 330, Boston, MA 02111-1307 USA
+.\"
+.\" We need the URL macro from groff's www macro package, but also want
+.\" things to work all right for people who don't have it. So we define
+.\" our own URL macro and let the www macro package override it if it's
+.\" available.
+.de URL
+\\$2 \(laURL: \\$1 \(ra\\$3
+..
+.if \n[.g] .mso www.tmac
+.TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
+.SH NAME
+xvfb\-run \- run specified X client or command in a virtual X server environment
+.SH SYNOPSIS
+.B xvfb\-run
+[
+.I options
+]
+.I command
+.SH DESCRIPTION
+.B xvfb\-run
+is a wrapper for the
+.BR Xvfb (1x)
+command which simplifies the task of running commands (typically an X
+client, or a script containing a list of clients to be run) within a virtual
+X server environment.
+.PP
+.B xvfb\-run
+sets up an X authority file (or uses an existing user\-specified one),
+writes a cookie to it (see
+.BR xauth (1x))
+and then starts the
+.B Xvfb
+X server as a background process.
+The process ID of
+.B Xvfb
+is stored for later use.
+The specified
+.I command
+is then run using the X display corresponding to the
+.B Xvfb
+server
+just started and the X authority file created earlier.
+.PP
+When the
+.I command
+exits, its status is saved, the
+.B Xvfb
+server is killed (using the process ID stored earlier), the X authority
+cookie removed, and the authority file deleted (if the user did not specify
+one to use).
+.B xvfb\-run
+then exits with the exit status of
+.IR command .
+.PP
+.B xvfb\-run
+requires the
+.B xauth
+command to function.
+.SH OPTIONS
+.TP
+.B \-a\fR,\fB \-\-auto\-servernum
+Try to get a free server number, starting at 99, or the argument to
+.BR \-\-server\-num .
+.TP
+.BI \-e\ file \fR,\fB\ \-\-error\-file= file
+Store output from
+.B xauth
+and
+.B Xvfb
+in
+.IR file .
+The default is
+.IR /dev/null .
+.TP
+.BI \-f\ file \fR,\fB\ \-\-auth\-file= file
+Store X authentication data in
+.IR file .
+By default, a temporary directory called
+.IR xvfb\-run. PID
+(where PID is the process ID of
+.B xvfb\-run
+itself) is created in the directory specified by the environment variable
+.B TMPDIR
+(or
+.I /tmp
+if that variable is null or unset), and the
+.BR tempfile (1)
+command is used to create a file in that temporary directory called
+.IR Xauthority .
+.TP
+.B \-h\fR,\fB \-\-help
+Display a usage message and exit.
+.TP
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+Use
+.I servernumber
+as the server number (but see the
+.B \-a\fR,\fB \-\-auto\-servernum
+option above).
+The default is 99.
+.TP
+.B \-l\fR,\fB \-\-listen\-tcp
+Enable TCP port listening in the X server.
+For security reasons (to avoid denial\-of\-service attacks or exploits),
+TCP port listening is disabled by default.
+.TP
+.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
+Use
+.I protocolname
+as the X authority protocol to use.
+The default is \(oq.\(cq, which
+.B xauth
+interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
+.TP
+.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
+Pass
+.I arguments
+to the
+.B Xvfb
+server.
+Be careful to quote any whitespace characters that may occur within
+.I arguments
+to prevent them from regarded as separators for
+.BR xvfb\-run 's
+own arguments.
+Also, note that specification of \(oq\-nolisten tcp\(cq in
+.I arguments
+may override the function of
+.BR xvfb\-run 's
+own
+.B \-l\fR,\fB \-\-listen\-tcp
+option, and that specification of the server number (e.g., \(oq:1\(cq) may
+be ignored because of the way the X server parses its argument list.
+Use the
+.B xvfb\-run
+option
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+to achieve the latter function.
+The default is \(oq\-screen 0 640x480x8\(cq.
+.TP
+.BI \-w\ delay \fR,\fB\ \-\-wait= delay
+Wait
+.I delay
+seconds after launching
+.B Xvfb
+before attempting to start the specified command.
+The default is 3.
+.SH ENVIRONMENT
+.TP
+.B COLUMNS
+indicates the width of the terminal device in character cells.
+This value is used for formatting diagnostic messages.
+If not set, the terminal is queried using
+.BR stty (1)
+to determine its width.
+If that fails, a value of \(oq80\(cq is assumed.
+.TP
+.B TMPDIR
+specifies the directory in which to place
+.BR xvfb\-run 's
+temporary directory for storage of the X authority file; only used if the
+.B \-f
+or
+.B \-\-auth\-file
+options are not specified.
+.SH "OUTPUT FILES"
+.PP
+Unless the
+.B \-f
+or
+.B \-\-auth\-file
+options are specified, a temporary
+directory and file within it are created (and deleted) to store the X
+authority cookies used by the
+.B Xvfb
+server and client(s) run under it.
+See
+.BR tempfile (1).
+If \-f or \-\-auth\-file are used, then the specified X authority file is
+only written to, not created or deleted (though
+.B xauth
+creates an authority file itself if told to use use that does not already
+exist).
+.PP
+An error file with a user\-specified name is also created if the
+.B \-e
+or
+.B \-\-error\-file
+options are specifed; see above.
+.SH "EXIT STATUS"
+.B xvfb\-run
+uses its exit status as well as output to standard error to communicate
+diagnostics.
+The exit status of \(oq1\(cq is not used, and should be interpreted as failure
+of the specified command.
+.TP
+0
+.B xvfb\-run
+only uses this exit status if the
+.B \-h\fR,\fB \-\-help
+option is given.
+In all other situations, this may be interpreted as success of the specified
+command.
+.TP
+2
+No command to run was specified.
+.TP
+3
+The
+.B xauth
+command is not available.
+.TP
+4
+The temporary directory that was going to be used already exists; since
+.B xvfb\-run
+produces a uniquely named directory, this may indicate an attempt by another
+process on the system to exploit a temporary file race condition.
+.TP
+5
+A problem was encountered while cleaning up the temporary directory.
+.TP
+6
+A problem was encountered while using
+.BR getopt (1)
+to parse the command\-line arguments.
+.SH EXAMPLES
+.TP
+.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
+runs the
+.BR xlogo (1x)
+demonstration client inside the
+.B Xvfb
+X server on the first available server number greater than or equal to 1.
+.TP
+.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
+runs the
+.BR ico (1x)
+demonstration client (and passes it the
+.B \-faces
+argument) inside the
+.B Xvfb
+X server, configured with a root window of 1024 by 768 pixels and a color
+depth of 24 bits.
+.PP
+Note that the demo X clients used in the above examples will not exit on
+their own, so they will have to be killed before
+.B xvfb\-run
+will exit.
+.SH BUGS
+See
+.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
+If you wish to report a bug in
+.BR xvfb\-run ,
+please use the
+.BR reportbug (1)
+command.
+.SH AUTHOR
+.B xfvb\-run
+was written by Branden Robinson and Jeff Licquia with sponsorship from
+Progeny Linux Systems.
+.SH "SEE ALSO"
+.BR Xvfb (1x),
+.BR xauth (1x)
+.\" vim:set et tw=80:
diff --git a/abs/core-testing/xorg-util-macros/PKGBUILD b/abs/core-testing/xorg-util-macros/PKGBUILD
index af3786a..3ca4dfa 100644
--- a/abs/core-testing/xorg-util-macros/PKGBUILD
+++ b/abs/core-testing/xorg-util-macros/PKGBUILD
@@ -1,21 +1,23 @@
-# $Id: PKGBUILD 21902 2008-12-17 20:27:32Z jgc $
+# $Id: PKGBUILD 85383 2010-07-12 17:45:37Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-util-macros
-pkgver=1.2.1
+pkgver=1.10.0
pkgrel=1
pkgdesc="X.Org Autotools macros"
-arch=(i686 x86_64)
+arch=(any)
license=('custom')
url="http://xorg.freedesktop.org/"
source=(${url}/releases/individual/util/util-macros-${pkgver}.tar.bz2)
-md5sums=('dc7ddaf9bea8b341510efe4dac125af4')
+sha1sums=('01bd26de7f76907ad502b430a5d18f64a896dc81')
build() {
cd "${srcdir}/util-macros-${pkgver}"
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/lib"
+ mv "${pkgdir}/usr/share/pkgconfig" "${pkgdir}/usr/lib/"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xorg-utils/LICENSE.xdpyinfo b/abs/core-testing/xorg-utils/LICENSE.xdpyinfo
new file mode 100644
index 0000000..495dd2b
--- /dev/null
+++ b/abs/core-testing/xorg-utils/LICENSE.xdpyinfo
@@ -0,0 +1,26 @@
+ Copyright 1988, 1998 The Open Group
+ Copyright 2005 Hitachi, Ltd.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ *
+ * Author: Jim Fulton, MIT X Consortium
+ */
+
diff --git a/abs/core-testing/xorg-utils/LICENSE.xfd b/abs/core-testing/xorg-utils/LICENSE.xfd
new file mode 100644
index 0000000..2ac6c9d
--- /dev/null
+++ b/abs/core-testing/xorg-utils/LICENSE.xfd
@@ -0,0 +1,25 @@
+ Copyright 1989, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+ * *
+ * Author: Jim Fulton, MIT X Consortium
+ */
+
diff --git a/abs/core-testing/xorg-utils/LICENSE.xlsfonts b/abs/core-testing/xorg-utils/LICENSE.xlsfonts
new file mode 100644
index 0000000..a9a4bd3
--- /dev/null
+++ b/abs/core-testing/xorg-utils/LICENSE.xlsfonts
@@ -0,0 +1,22 @@
+ Copyright 1989, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+
diff --git a/abs/core-testing/xorg-utils/LICENSE.xprop b/abs/core-testing/xorg-utils/LICENSE.xprop
new file mode 100644
index 0000000..b94017f
--- /dev/null
+++ b/abs/core-testing/xorg-utils/LICENSE.xprop
@@ -0,0 +1,45 @@
+ Copyright 1990, 1998 The Open Group
+ Copyright (c) 2000 The XFree86 Project, Inc.
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall
+ not be used in advertising or otherwise to promote the sale, use or
+ other dealings in this Software without prior written authorization
+ from The Open Group.
+
+ Copyright 2007 Kim woelders
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that copyright
+ notice and this permission notice appear in supporting documentation, and
+ that the name of the copyright holders not be used in advertising or
+ publicity pertaining to distribution of the software without specific,
+ written prior permission. The copyright holders make no representations
+ about the suitability of this software for any purpose. It is provided "as
+ is" without express or implied warranty.
+
+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ OF THIS SOFTWARE.
+
diff --git a/abs/core-testing/xorg-utils/PKGBUILD b/abs/core-testing/xorg-utils/PKGBUILD
index 61a55ce..cef7e9e 100644
--- a/abs/core-testing/xorg-utils/PKGBUILD
+++ b/abs/core-testing/xorg-utils/PKGBUILD
@@ -1,42 +1,60 @@
-# $Id: PKGBUILD 18946 2008-11-12 04:14:33Z eric $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 81985 2010-06-07 13:58:47Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xorg-utils
-pkgver=7.4
+pkgver=7.6
pkgrel=2
pkgdesc="Collection of client utilities used to query the X server"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
+license=('custom')
depends=('libxxf86dga' 'libxi' 'libxxf86misc' 'libxtst' 'libxinerama' 'libxv'
- 'libdmx' 'libxft' 'libxaw>=1.0.5')
-makedepends=('pkgconfig' 'mesa')
-source=(${url}/releases/individual/app/xdpyinfo-1.0.3.tar.bz2
- ${url}/releases/individual/app/xdriinfo-1.0.2.tar.bz2
- ${url}/releases/individual/app/xev-1.0.3.tar.bz2
+ 'libdmx' 'libxft' 'libxaw>=1.0.6' 'libgl' 'libxcomposite' 'xcb-util')
+makedepends=('pkgconfig' 'mesa' 'glproto' 'xorg-util-macros')
+groups=('xorg')
+source=(${url}/releases/individual/app/xdpyinfo-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xdriinfo-1.0.3.tar.bz2
+ ${url}/releases/individual/app/xev-1.0.4.tar.bz2
${url}/releases/individual/app/xfd-1.0.1.tar.bz2
${url}/releases/individual/app/xfontsel-1.0.2.tar.bz2
- ${url}/releases/individual/app/xlsatoms-1.0.1.tar.bz2
- ${url}/releases/individual/app/xlsclients-1.0.1.tar.bz2
+ ${url}/releases/individual/app/xlsatoms-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xlsclients-1.1.0.tar.bz2
${url}/releases/individual/app/xlsfonts-1.0.2.tar.bz2
- ${url}/releases/individual/app/xprop-1.0.4.tar.bz2
- ${url}/releases/individual/app/xvinfo-1.0.2.tar.bz2
- ${url}/releases/individual/app/xwininfo-1.0.4.tar.bz2)
-md5sums=('b7cbab6cbcd12bf7ad65dbc12d86e104' 'a5ec51ed9f0a55dc3462d90d52ff899c'\
- 'a9532c3d1683c99bb5df1895cb3a60b1' 'c72abd90f50ef459bc14b39ec9fcc7f8'\
- '288fe4cf8a990e4e602aac16dd9109fb' '69adcda848479acc3b82b3928812d191'\
- '44473b880d26bfbe8b3d4d72b183cba7' '28958248590ff60ecd70e8f590d977b7'\
- '48aa8fd78802f477dcbf9ef0dfd9f783' 'e1e318436f49e2f0f3764593dadd9ad2'\
- 'e2a9bf5ab7f2a0866700a3b49dd8c6bf')
+ ${url}/releases/individual/app/xprop-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xvinfo-1.1.0.tar.bz2
+ ${url}/releases/individual/app/xwininfo-1.0.5.tar.bz2
+ LICENSE.xdpyinfo
+ LICENSE.xfd
+ LICENSE.xprop
+ LICENSE.xlsfonts)
+md5sums=('d1d516610316138105cd07064b257c5c'
+ 'cb304d1ce562ac48b68eedeba38c662f'
+ '5f98c0a2725a33d60ef4956befe078fb'
+ 'c72abd90f50ef459bc14b39ec9fcc7f8'
+ '288fe4cf8a990e4e602aac16dd9109fb'
+ 'c543ccb6489b629d427810d9a57d0724'
+ '550a0fee047c5043f2cbf190b41f8a1b'
+ '28958248590ff60ecd70e8f590d977b7'
+ 'f0bacbd30f0dd1c1e9ccafe97687b7a4'
+ '8cc299b2cb636b5f7fe672610789d3d4'
+ '908f8bc3255f639effa9780fb1c19ea4'
+ 'b43f731a9e2684728230ce8e33f63228'
+ '9e8a82b7e9898f36c378b80509f170a6'
+ '801f9850b29dad506e995d011efe2914'
+ '345d6e65d71fdde292cc27f93c15e4a1')
build() {
cd "${srcdir}"
for i in *; do
if [ -d "${i}" ]; then
pushd "${i}"
- ./configure --prefix=/usr --mandir=/usr/share/man || return 1
+ ./configure --prefix=/usr --mandir=/usr/share/man --without-xprint || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
+ install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE.${i%-*} || return 1
popd
fi
done
+# Replacing stub license files
+ install -D -m644 "${srcdir}"/LICENSE.* "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
diff --git a/abs/core-testing/xterm/LICENSE b/abs/core-testing/xterm/LICENSE
new file mode 100644
index 0000000..518a2cc
--- /dev/null
+++ b/abs/core-testing/xterm/LICENSE
@@ -0,0 +1,73 @@
+/***********************************************************
+
+Copyright 2002-2008,2009 by Thomas E. Dickey
+
+ All Rights Reserved
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name(s) of the above copyright
+holders shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization.
+
+Copyright 1987, 1988 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
diff --git a/abs/core-testing/xterm/PKGBUILD b/abs/core-testing/xterm/PKGBUILD
index f3ac735..d1d375a 100644
--- a/abs/core-testing/xterm/PKGBUILD
+++ b/abs/core-testing/xterm/PKGBUILD
@@ -1,44 +1,57 @@
-# $Id: PKGBUILD 18684 2008-11-08 16:46:33Z jgc $
-# ppc Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# i686 Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 82810 2010-06-17 14:34:10Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xterm
-pkgver=237
+pkgver=259
pkgrel=1
pkgdesc="X Terminal Emulator"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://invisible-island.net/xterm/"
-depends=('libxft' 'libxaw>=1.0.5' 'ncurses' 'xorg-apps')
+license=('custom')
+depends=('libxft' 'libxaw' 'ncurses' 'xorg-apps')
groups=('xorg')
-source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz)
-md5sums=('6d5f9e124fd3e09487f47c66da8c7345')
+source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz
+ LICENSE)
+md5sums=('22037e1b794d749072310cb142800f05'
+ '10ecc3f8ee91e3189863a172f68282d2')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
- --libdir=/etc \
- --mandir=/usr/share/man \
- --with-app-defaults=/usr/share/X11/app-defaults/ \
- --with-x \
- --disable-full-tgetent \
- --disable-imake \
- --enable-ansi-color \
- --enable-88-color \
- --enable-256-color \
- --enable-broken-osc \
- --enable-broken-st \
- --enable-load-vt-fonts \
- --enable-i18n \
- --enable-wide-chars \
- --enable-doublechars \
- --enable-warnings \
- --enable-tcap-query \
- --enable-logging \
- --enable-dabbrev \
- --enable-freetype \
- --enable-luit \
- --enable-mini-luit \
- --enable-narrowproto || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
- chmod 0755 "${pkgdir}/usr/bin/xterm" || return 1
+ --libdir=/etc \
+ --mandir=/usr/share/man \
+ --with-app-defaults=/usr/share/X11/app-defaults/ \
+ --with-x \
+ --disable-full-tgetent \
+ --disable-imake \
+ --enable-ansi-color \
+ --enable-88-color \
+ --enable-256-color \
+ --enable-broken-osc \
+ --enable-broken-st \
+ --enable-load-vt-fonts \
+ --enable-i18n \
+ --enable-wide-chars \
+ --enable-doublechars \
+ --enable-warnings \
+ --enable-tcap-query \
+ --enable-logging \
+ --enable-dabbrev \
+ --enable-freetype \
+ --enable-luit \
+ --enable-mini-luit \
+ --enable-narrowproto \
+ --enable-exec-xterm \
+ --with-tty-group=tty
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ chmod 0755 "${pkgdir}/usr/bin/xterm"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core-testing/xz-utils/PKGBUILD b/abs/core-testing/xz-utils/PKGBUILD
deleted file mode 100644
index 540187e..0000000
--- a/abs/core-testing/xz-utils/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Maintainer: Pierre Schmitz <pierre@archlinux.de>
-# Contributor: François Charette <firmicus@gmx.net>
-
-pkgname=xz-utils
-pkgver=4.999.9beta
-pkgrel=2
-pkgdesc='utils for managing LZMA and XZ compressed files'
-arch=('i686' 'x86_64')
-url='http://tukaani.org/xz/'
-license=('GPL' 'LGPL')
-depends=('bash')
-provides=('lzma' 'lzma-utils')
-replaces=('lzma' 'lzma-utils')
-conflicts=('lzma' 'lzma-utils')
-options=('!libtool')
-source=("http://tukaani.org/xz/xz-${pkgver}.tar.gz")
-md5sums=('f2073579b6da2fe35d453adee1aaf1b2')
-
-build() {
- cd $srcdir/xz-$pkgver
-
- ./configure --prefix=/usr \
- --enable-static \
- --enable-dynamic \
- --disable-rpath
- sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
- sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
- make
- make DESTDIR=$pkgdir install
-}
diff --git a/abs/core-testing/xz/PKGBUILD b/abs/core-testing/xz/PKGBUILD
new file mode 100644
index 0000000..a776a63
--- /dev/null
+++ b/abs/core-testing/xz/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 82447 2010-06-11 08:40:21Z pierre $
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: François Charette <firmicus@gmx.net>
+
+pkgname=xz
+pkgver=4.999.9beta
+_snapshot=143-g3e49
+pkgrel=5
+pkgdesc='Library and command line tools for XZ and LZMA compressed files'
+arch=('i686' 'x86_64')
+url='http://tukaani.org/xz/'
+license=('GPL' 'LGPL' 'custom')
+depends=('sh')
+provides=('lzma' 'lzma-utils' 'xz-utils')
+replaces=('lzma' 'lzma-utils' 'xz-utils')
+conflicts=('lzma' 'lzma-utils' 'xz-utils')
+options=('!libtool')
+source=("http://tukaani.org/${pkgname}/${pkgname}-${pkgver}-${_snapshot}.tar.gz")
+md5sums=('9e5a42d2b5277d8d71405d065120bd4e')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
+
+build() {
+ cd ${srcdir}/${pkgname}-$pkgver-${_snapshot}
+
+ ./configure --prefix=/usr \
+ --enable-dynamic \
+ --disable-rpath \
+ --enable-werror
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-$pkgver-${_snapshot}
+ make DESTDIR=${pkgdir} install
+ install -d -m755 ${pkgdir}/usr/share/licenses/xz/
+ ln -sf /usr/share/doc/xz/COPYING ${pkgdir}/usr/share/licenses/xz/
+ ln -sf /usr/share/licenses/common/GPL2/license.txt ${pkgdir}/usr/share/doc/xz/COPYING.GPLv2
+}
diff --git a/abs/core-testing/zd1211-firmware/PKGBUILD b/abs/core-testing/zd1211-firmware/PKGBUILD
index 179a8ca..a583f8e 100644
--- a/abs/core-testing/zd1211-firmware/PKGBUILD
+++ b/abs/core-testing/zd1211-firmware/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 59439 2009-11-23 22:50:09Z giovanni $
# Maintainer: Dan McGee <dan@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=zd1211-firmware
pkgver=1.4
-pkgrel=2
+pkgrel=3
pkgdesc="Firmware for the in-kernel26 zd1211rw wireless driver"
-arch=(i686 x86_64)
+arch=('any')
url="http://zd1211.wiki.sourceforge.net/"
-# firmware files are here:
-# http://sourceforge.net/project/showfiles.php?group_id=129083
license=('GPL')
provides=('zd1211')
-source=(http://downloads.sourceforge.net/zd1211/zd1211-firmware-$pkgver.tar.bz2)
+source=(http://downloads.sourceforge.net/zd1211/${pkgname}-${pkgver}.tar.bz2)
md5sums=('19f28781d76569af8551c9d11294c870')
build() {
- cd $startdir/src/zd1211-firmware
- mkdir -p $startdir/pkg/lib/firmware/zd1211/
- # just unpack the files to the firmware directory
- install -m644 * $startdir/pkg/lib/firmware/zd1211/ || return 1
+ cd "${srcdir}/${pkgname}"
+ # Install firmware
+ for i in zd1211* WS11U*
+ do
+ install -D -m 644 $i "${pkgdir}/lib/firmware/zd1211/$i" || return 1
+ done
}
diff --git a/abs/core-testing/zlib/PKGBUILD b/abs/core-testing/zlib/PKGBUILD
index 70d4b2d..f320d37 100644
--- a/abs/core-testing/zlib/PKGBUILD
+++ b/abs/core-testing/zlib/PKGBUILD
@@ -1,25 +1,33 @@
-# $Id: PKGBUILD 4237 2008-07-05 19:17:35Z pierre $
+# $Id: PKGBUILD 80715 2010-05-20 20:58:22Z pierre $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=zlib
-pkgver=1.2.3.3
-pkgrel=14
-pkgdesc="A compression/decompression Library"
+pkgver=1.2.5
+pkgrel=2
+pkgdesc='Compression library implementing the deflate compression method found in gzip and PKZIP'
arch=('i686' 'x86_64')
-license=('custom:zlib')
-url="http://www.gzip.org/zlib"
-groups=('base')
+license=('custom')
+url="http://www.zlib.net/"
depends=('glibc')
-source=("ftp://ftp.archlinux.org/other/zlib/zlib-${pkgver}.tar.gz")
-md5sums=('c444cf020e5f0e3323b11f5a2d8af8d3')
+options=('!makeflags')
+source=("http://zlib.net/zlib-${pkgver}.tar.gz"
+ 'zlib-1.2.5-lfs-decls.patch')
+md5sums=('c735eab2d659a96e5a594c9e8541ad63'
+ '4cb279ea3beab621f3526bf7b7ab99e5')
build() {
cd ${srcdir}/zlib-$pkgver
-
- ./configure --prefix=/usr --shared
+ # see http://bugs.archlinux.org/task/19280
+ patch -p1 -i ${srcdir}/zlib-1.2.5-lfs-decls.patch || return 1
+ export CFLAGS="${CFLAGS/-O2/-O3} -DUNALIGNED_OK"
+ ./configure --prefix=/usr
make || return 1
- make install prefix=${pkgdir}/usr || return 1
- grep -A 24 '^ Copyright' zlib.h > license.txt
- install -D license.txt ${pkgdir}/usr/share/licenses/zlib/license.txt
+ grep -A 24 '^ Copyright' zlib.h > LICENSE
+}
+
+package() {
+ cd ${srcdir}/zlib-$pkgver
+ make install DESTDIR=${pkgdir} || return 1
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/zlib/LICENSE
}
diff --git a/abs/core-testing/zlib/zlib-1.2.5-lfs-decls.patch b/abs/core-testing/zlib/zlib-1.2.5-lfs-decls.patch
new file mode 100644
index 0000000..36e26af
--- /dev/null
+++ b/abs/core-testing/zlib/zlib-1.2.5-lfs-decls.patch
@@ -0,0 +1,13 @@
+Index: zlib-1.2.5/zlib.h
+===================================================================
+--- zlib-1.2.5.orig/zlib.h
++++ zlib-1.2.5/zlib.h
+@@ -1578,7 +1578,7 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF(
+ # define gzoffset gzoffset64
+ # define adler32_combine adler32_combine64
+ # define crc32_combine crc32_combine64
+-# ifdef _LARGEFILE64_SOURCE
++# ifndef _LARGEFILE64_SOURCE
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
+ ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));