removed catalyst-legacy

This commit is contained in:
AlmAck 2014-07-22 21:29:52 +02:00
parent 49a6aa6a25
commit 22ea1df238
21 changed files with 0 additions and 1373 deletions

View File

@ -1,90 +0,0 @@
#
# Chakra Packages for Chakra, part of chakra-project.org
#
_kernver="3.2.51-1-lts"
pkgname=catalyst-legacy-lts
pkgver=13.1
pkgrel=3
pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only"
arch=('x86_64')
url="http://www.ati.amd.com"
screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg"
license=('custom')
depends=('linux-lts>=3.2' 'linux-lts<3.4' 'catalyst-legacy-utils')
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'linux-lts-headers')
conflicts=('catalyst-test' 'nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'catalyst')
install=catalyst.install
source=("http://www2.ati.com/drivers/legacy/amd-driver-installer-catalyst-${pkgver}-legacy-linux-x86.x86_64.zip"
'ati_make.sh'
'makefile_compat.patch')
md5sums=('c07fd1332abe4c742a9a0d0e0d0a90de'
'660396540b0ceaff71d6155c986734de'
'3e1b82bd69774ea808da69c983d6a43b')
build() {
msg "Setting compilation variables ..."
# include ati_make.sh and use _ati_check function from it
. ati_make.sh
_ati_check
msg "Unpacking archive ..."
/bin/sh ./amd-driver-installer-catalyst-${pkgver}-legacy-linux-x86.x86_64.run --extract archive_files
BUILDARCH=x86_64
_archdir=x86_64
cd "${srcdir}/archive_files/"
msg "Applying patch(es) ..."
# makefile patch to choose arch_compat_alloc_user_space or older compat_alloc_user_space
# works only in combination with ati_make.sh script
patch -p1 -i ../makefile_compat.patch
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod"
cp "${srcdir}/archive_files/arch/${_archdir}/lib/modules/fglrx/build_mod/libfglrx_ip.a" .
cp 2.6.x/Makefile .
msg "Compiling fglrx module ..."
# Compile module using _ati_check variables
make -C /lib/modules/${_kernver}/build SUBDIRS="`pwd`" ARCH=${BUILDARCH} \
MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \
PAGE_ATTR_FIX=$PAGE_ATTR_FIX COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE modules
}
package() {
# here we are checking kernel's extramodules dir
for r in /lib/modules/*; do
s=${r:13}
if [[ ${s:0:3} = "ext" ]]; then
if [[ `cat ${r}/version | grep -c ${_kernver}` != 0 ]]; then
_destidir=${s}
sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${s}/" $startdir/catalyst.install
fi
elif [[ ${s} = ${_kernver} ]] && [[ ! -e ${r}/extramodules ]]; then
_destidir=${_kernver}/video
sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=null/" $startdir/catalyst.install
fi
done
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod"
install -m755 -d "${pkgdir}/lib/modules/${_destidir}/"
install -m644 fglrx.ko "${pkgdir}/lib/modules/${_destidir}/"
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/catalyst.install
# License
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 "${srcdir}/archive_files/LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/"
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
}

View File

@ -1,145 +0,0 @@
#!/bin/bash
### Vi0L0: it is ati's code from their make.sh file, modified a bit to fit our arch linux system, used inside PKGBUILD
# Copyright 1999-2005 ATI Technologies Inc., Markham, Ontario, CANADA.
# All Rights Reserved.
#
# Your use and or redistribution of this software in source and \ or
# binary form, with or without modification, is subject to: (i) your
# ongoing acceptance of and compliance with the terms and conditions of
# the ATI Technologies Inc. software End User License Agreement; and (ii)
# your inclusion of this notice in any version of this software that you
# use or redistribute. A copy of the ATI Technologies Inc. software End
# User License Agreement is included with this software and is also
# available by contacting ATI Technologies Inc. at http://www.ati.com
function _ati_check()
{
# ==============================================================
# resolve if we are running a SMP enabled kernel
SMP=0
# 1
# grep in OsVersion string for SMP specific keywords
OsVersion=`uname -v`
if [ `echo $OsVersion | grep [sS][mM][pP] -c` -ne 0 ]; then
SMP=1
echo "OsVersion says: SMP=$SMP"
fi
# 2
# grep in /proc/ksyms for SMP specific kernel symbols
# use triggerlevel of 10 occurences
# (UP kernels might have 0-1, SMP kernels might have 32-45 or much more)
src_file=/proc/kallsyms
if [ -e $src_file ]; then
if [ `fgrep smp $src_file -c` -gt 10 ]; then
SMP=1
echo "file $src_file says: SMP=$SMP"
fi
fi
# 3
# linux/autoconf.h may contain this: #define CONFIG_SMP 1
# Before 2.6.33 autoconf.h is under linux/.
# For 2.6.33 and later autoconf.h is under generated/.
if [ -f /lib/modules/${_kernver}/build/include/generated/autoconf.h ]; then
autoconf_h=/lib/modules/${_kernver}/build/include/generated/autoconf.h
else
autoconf_h=/lib/modules/${_kernver}/build/include/linux/autoconf.h
fi
src_file=$autoconf_h
if [ ! -e $src_file ]; then
echo "Warning:"
echo "kernel includes at /lib/modules/${_kernver}/build/include not found or incomplete"
echo "file: $src_file"
echo ""
else
if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then
SMP=`cat $src_file | grep CONFIG_SMP | cut -d' ' -f3`
echo "file $src_file says: SMP=$SMP"
fi
fi
if [ "$SMP" = 0 ]; then
echo "assuming default: SMP=$SMP"
fi
# act on final result
if [ ! "$SMP" = 0 ]; then
smp="-SMP"
def_smp=-D__SMP__
fi
# ==============================================================
# resolve whether we need to set PAGE_ATTR_FIX
PAGE_ATTR_FIX=0
src_file=/proc/kallsyms
if [ -e $src_file ]; then
if [ `fgrep " change_page_attr\$" $src_file -c` -gt 0 ]; then
PAGE_ATTR_FIX=1
echo "file $src_file says: PAGE_ATTR_FIX=$PAGE_ATTR_FIX"
fi
fi
# ==============================================================
# resolve if we are running a MODVERSIONS enabled kernel
MODVERSIONS=0
# autoconf.h may contain this: #define CONFIG_MODVERSIONS 1
src_file=$autoconf_h
if [ ! -e $src_file ];
then
echo "Warning:"
echo "kernel includes at /lib/modules/${_kernver}/build/include not found or incomplete"
echo "file: $src_file"
echo ""
else
if [ `cat $src_file | grep "#undef" | grep "CONFIG_MODVERSIONS" -c` = 0 ]
then
MODVERSIONS=`cat $src_file | grep CONFIG_MODVERSIONS | cut -d' ' -f3`
echo "file $src_file says: MODVERSIONS=$MODVERSIONS"
fi
fi
if [ "$MODVERSIONS" = 0 ]
then
echo "assuming default: MODVERSIONS=$MODVERSIONS"
fi
# act on final result
if [ ! "$MODVERSIONS" = 0 ]
then
def_modversions="-DMODVERSIONS"
fi
# ==============================================================
# resolve if we are building for a kernel with a fix for CVE-2010-3081
# On kernels with the fix, use arch_compat_alloc_user_space instead
# of compat_alloc_user_space since the latter is GPL-only
COMPAT_ALLOC_USER_SPACE=compat_alloc_user_space
src_file=/lib/modules/${_kernver}/build/arch/x86/include/asm/compat.h
if [ ! -e $src_file ];
then
echo "Warning:"
echo "kernel includes at /lib/modules/${_kernver}/build/include not found or incomplete"
echo "file: $src_file"
echo ""
else
if [ `cat $src_file | grep -c arch_compat_alloc_user_space` -gt 0 ]
then
COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
fi
echo "file $src_file says: COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE"
fi
}

View File

@ -1,28 +0,0 @@
KERNEL_VERSION=3.2.51-1-lts
remove_hook(){
##removing hook's entries
# remove hook fglrx
sed '/^HOOKS/s/ *fglrx//' -i etc/mkinitcpio.conf
# remove heads
sed '/^SyncFirst/s/ *linux-headers//' -i etc/pacman.conf
}
post_install() {
EXTRAMODULES=extramodules-3.2-lts
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_upgrade() {
remove_hook
EXTRAMODULES=extramodules-3.2-lts
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_remove() {
EXTRAMODULES=extramodules-3.2-lts
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}

View File

@ -1,10 +0,0 @@
--- 10.10/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2010-09-22 09:15:33.000000000 +0200
+++ 10.10/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2010-10-01 17:57:21.057820899 +0200
@@ -66,6 +66,7 @@
-DFGL_GART_RESERVED_SLOT \
-DFGL_LINUX253P1_VMA_API \
-DPAGE_ATTR_FIX=$(PAGE_ATTR_FIX) \
+ -DCOMPAT_ALLOC_USER_SPACE=$(COMPAT_ALLOC_USER_SPACE) \
ifeq ($(KERNELRELEASE),)
# on first call from remote location we get into this path

View File

@ -1,16 +0,0 @@
--- cat11.2/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-02-02 19:39:49.000000000 +0100
+++ cat11.2/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-02-17 14:45:38.197914622 +0100
@@ -1894,13 +1894,11 @@
/** \brief Grab global kernel lock */
void ATI_API_CALL KCL_GlobalKernelLock(void)
{
- lock_kernel();
}
/** \brief Release global kernel lock */
void ATI_API_CALL KCL_GlobalKernelUnlock(void)
{
- unlock_kernel();
}
/*****************************************************************************/

View File

@ -1,157 +0,0 @@
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer abveritas@chakra-project.org
pkgname=catalyst-legacy-utils
# Edit chakra-hardware-detection/hooks/hwdetect_7_graphics on version jump from 1x.x
pkgver=13.1
pkgrel=2
pkgdesc="AMD/ATI Catalyst drivers utilities and libraries."
arch=('x86_64')
url="http://www.ati.amd.com"
license=('custom')
depends=('xorg-server>=1.11.0' 'xorg-server<1.13.0' 'netkit-bsd-finger' 'libxrandr' 'libsm' 'fontconfig' 'libxcursor' 'libxi' 'gcc-libs' 'libxinerama')
optdepends=('qt: to run ATi Catalyst Control Center (amdcccle)'
'libxxf86vm: to run ATi Catalyst Control Center (amdcccle)')
conflicts=('catalyst-test' 'nvidia-utils' 'libgl' 'catalystpxp-utils' 'catalyst-utils' 'libcl')
provides=('libgl' "libatical=${pkgver}" 'libcl')
#replaces=('catalyst-utils-legacy')
install=${pkgname}.install
source=("http://www2.ati.com/drivers/legacy/amd-driver-installer-catalyst-${pkgver}-legacy-linux-x86.x86_64.zip"
'catalyst.sh'
'amdcccle.desktop'
'atieventsd.sh'
'signature')
md5sums=('c07fd1332abe4c742a9a0d0e0d0a90de'
'bdafe749e046bfddee2d1c5e90eabd83'
'4efa8414a8fe9eeb50da38b5522ef81d'
'f729bf913613f49b0b9759c246058a87'
'7df4e6c408d3191736f05706469e5caa')
build() {
## Unpack archive
/bin/sh ./amd-driver-installer-catalyst-${pkgver}-legacy-linux-x86.x86_64.run --extract archive_files
}
package() {
## Install userspace tools and libraries
# Create directories
install -m755 -d "${pkgdir}/etc/ati"
install -m755 -d "${pkgdir}/etc/rc.d"
install -m755 -d "${pkgdir}/etc/profile.d"
install -m755 -d "${pkgdir}/etc/acpi/events"
install -m755 -d "${pkgdir}/etc/security/console.apps"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/dri"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/drivers"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx" # since 11.4
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/linux"
install -m755 -d "${pkgdir}/usr/lib/dri"
install -m755 -d "${pkgdir}/usr/lib/fglrx" # since 11.4
install -m755 -d "${pkgdir}/usr/bin"
install -m755 -d "${pkgdir}/usr/sbin"
install -m755 -d "${pkgdir}/usr/include/X11/extensions"
install -m755 -d "${pkgdir}/usr/include/GL"
install -m755 -d "${pkgdir}/usr/share/applications"
install -m755 -d "${pkgdir}/usr/share/ati/amdcccle"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m755 -d "${pkgdir}/usr/share/man/man8"
install -m755 -d "${pkgdir}/usr/share/pixmaps"
# X.org driver
cd "${srcdir}/archive_files/xpic_64a/usr/X11R6/lib64/modules"
# *.a added in 11.2, and removed in 11.3...
#install -m644 *.a "${pkgdir}/usr/lib/xorg/modules/"
install -m755 *.so "${pkgdir}/usr/lib/xorg/modules/"
install -m755 drivers/*.so "${pkgdir}/usr/lib/xorg/modules/drivers/"
install -m755 linux/*.so "${pkgdir}/usr/lib/xorg/modules/linux/"
#install -m755 extensions/libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/" #before 11.4
install -m755 extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so" # since 11.5
ln -snf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" # since 11.4
#install -m755 extensions/libdri.so "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.ati"
# Controlcenter / libraries
cd "${srcdir}/archive_files/arch/x86_64/usr"
_lib=lib64
install -m755 X11R6/bin/* "${pkgdir}/usr/bin/"
install -m755 sbin/* "${pkgdir}/usr/sbin/"
#install -m755 X11R6/${_lib}/*.so* "${pkgdir}/usr/lib/" || return #before 11.4
install -m755 X11R6/${_lib}/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx" # since 11.5
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx/libGL.so.1.2" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx-libGL.so.1.2" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1.2" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" # since 11.4
install -m755 X11R6/${_lib}/libAMDXvBA.so.1.0 "${pkgdir}/usr/lib/" # since 11.4
ln -snf libAMDXvBA.so.1.0 "${pkgdir}/usr/lib/libAMDXvBA.so.1" # since 11.4
ln -snf libAMDXvBA.so.1.0 "${pkgdir}/usr/lib/libAMDXvBA.so" # since 11.4
install -m755 X11R6/${_lib}/libatiadlxx.so "${pkgdir}/usr/lib/" # since 11.4
install -m755 X11R6/${_lib}/libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/" # since 11.4
install -m755 X11R6/${_lib}/libXvBAW.so.1.0 "${pkgdir}/usr/lib/" # since 11.4
ln -snf libXvBAW.so.1.0 "${pkgdir}/usr/lib/libXvBAW.so.1" # since 11.4
ln -snf libXvBAW.so.1.0 "${pkgdir}/usr/lib/libXvBAW.so" # since 11.4
install -m644 X11R6/${_lib}/*.a "${pkgdir}/usr/lib/" # really needed?
install -m644 X11R6/${_lib}/*.cap "${pkgdir}/usr/lib/"
install -m755 X11R6/${_lib}/modules/dri/*.so "${pkgdir}/usr/lib/xorg/modules/dri/"
install -m755 ${_lib}/*.so* "${pkgdir}/usr/lib/"
## QT libs (only 2 files) - un-comment 2 lines below if you don't want to install qt package
# install -m755 -d "${pkgdir}/usr/share/ati/${_lib}"
# install -m755 share/ati/${_lib}/*.so* "${pkgdir}/usr/share/ati/${_lib}/"
ln -snf /usr/lib/xorg/modules/dri/fglrx_dri.so ${pkgdir}/usr/lib/dri/fglrx_dri.so
ln -snf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so.1"
ln -snf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so"
#ln -sf libfglrx_pp.so.1.0 "${pkgdir}/usr/lib/libfglrx_pp.so.1"
#ln -sf libfglrx_tvout.so.1.0 "${pkgdir}/usr/lib/libfglrx_tvout.so.1"
#ln -sf libfglrx_gamma.so.1.0 "${pkgdir}/usr/lib/libfglrx_gamma.so.1"
#ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" #before 11.4
#ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" #before 11.4
ln -snf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so.1"
ln -snf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so"
cd "${srcdir}"/archive_files/common
install -m644 etc/ati/* "${pkgdir}/etc/ati/"
chmod 755 "${pkgdir}/etc/ati/authatieventsd.sh"
#security provided with 10.9, is it working fine?
install -m644 etc/security/console.apps/amdcccle-su "${pkgdir}/etc/security/console.apps/"
# *.h removed in 11.3...
#install -m644 usr/X11R6/include/X11/extensions/*.h "${pkgdir}/usr/include/X11/extensions/"
install -m644 usr/X11R6/bin/amdupdaterandrconfig "${pkgdir}/usr/bin/"
install -m644 usr/include/GL/*.h "${pkgdir}/usr/include/GL/"
install -m755 usr/sbin/*.sh "${pkgdir}/usr/sbin/"
install -m644 usr/share/ati/amdcccle/* "${pkgdir}/usr/share/ati/amdcccle/"
install -m644 usr/share/icons/*.xpm "${pkgdir}/usr/share/pixmaps/"
install -m644 usr/share/man/man8/*.8 "${pkgdir}/usr/share/man/man8/"
install -m644 "${srcdir}/amdcccle.desktop" "${pkgdir}/usr/share/applications/"
# ACPI example files
install -m755 usr/share/doc/fglrx/examples/etc/acpi/*.sh "${pkgdir}/etc/acpi/"
sed -i -e 's/usr\/X11R6/usr/g' "${pkgdir}/etc/acpi/ati-powermode.sh"
install -m644 usr/share/doc/fglrx/examples/etc/acpi/events/* "${pkgdir}/etc/acpi/events/"
# Add ATI Events Daemon launcher
install -m755 "${srcdir}/atieventsd.sh" "${pkgdir}/etc/rc.d/atieventsd"
# thanks to cerebral, we dont need that damned symlink
install -m755 "${srcdir}/catalyst.sh" "${pkgdir}/etc/profile.d/"
# License
install -m644 "${srcdir}/archive_files/LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/"
# Signature file
# rm "${srcdir}/archive_files/common/etc/ati/signature"
# install -m644 "${srcdir}/signature" "${pkgdir}/etc/ati/"
}

View File

@ -1,11 +0,0 @@
[Desktop Entry]
Name=ATI Catalyst Control Center
Comment=ATI graphics adapter settings
Name[de]=ATI Catalyst Control Center
Comment[de]=ATI grafics adapter settings
Icon=ccc_large
MiniIcon=ccc_small
Exec=amdcccle
Type=Application
Terminal=false
Categories=Settings;DesktopSettings;

View File

@ -1,41 +0,0 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
ATID_PID=`pidof -o %PPID /usr/sbin/atieventsd`
case "$1" in
start)
rc=0
stat_busy "Starting ATI Events Daemon"
[ -z "$ATID_PID" ] && /usr/sbin/atieventsd
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
else
add_daemon atieventsd
stat_done
fi
;;
stop)
rc=0
stat_busy "Stopping ATI Events Daemon"
kill $ATID_PID &>/dev/null
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
else
rm_daemon atieventsd
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View File

@ -1,37 +0,0 @@
whisperer(){
echo "----------------------------------------------------------------"
echo "PLEASE NOTE:"
echo "----------------------------------------------------------------"
echo "You can use the tool 'aticonfig' to generate an xorg.conf file."
echo "--------------------- ^^^^^^^^^ --------------------------------"
echo "Add nomodeset to your kernel line in /boot/grub/grub.cfg , ie.:"
echo "kernel /boot/vmlinuz-linux root=/dev/sda1 ro nomodeset"
echo "----------------------------------------------------------------"
echo "For more info and troubleshooting visit:"
echo "http://chakra-linux.org/wiki/index.php/Switching_Between_Free_and_Non-free_Video-Drivers"
echo "----------------------------------------------------------------"
}
check_libdri_so(){
if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then
ln -sf usr/lib/xorg/modules/extensions/libdri.xorg usr/lib/xorg/modules/extensions/libdri.so
fi
}
post_install(){
check_libdri_so
whisperer
}
post_upgrade(){
check_libdri_so
whisperer
}
post_remove(){
# If the symlink is dead, remove it
check_libdri_so
echo "NOTE: Don't forget to recover your original xorg.conf file."
}

View File

@ -1,11 +0,0 @@
if [ $LIBGL_DRIVERS_PATH ]
then
if ! set | grep LIBGL_DRIVERS_PATH | grep /usr/lib/xorg/modules/dri/ > /dev/null
then
LIBGL_DRIVERS_PATH=$LIBGL_DRIVERS_PATH:/usr/lib/xorg/modules/dri/
export LIBGL_DRIVERS_PATH
fi
else
LIBGL_DRIVERS_PATH=/usr/lib/xorg/modules/dri/
export LIBGL_DRIVERS_PATH
fi

View File

@ -1 +0,0 @@
5da725748a98681ea0dd5ee8eeeff730:65891c4ca7a95a2e96ec6f89c3dec30169961537a7d93c5780ea66d8dddfc2:6b921d4dbbfb5c7dc1ea3fd1db8ec55564914017bcfe5027c3ee3a8d8ddcc7016b9e1c42bbad5b29c1ea3ad1dd8cc20765974015bcae0c26c4b93a8e8ddd

View File

@ -1,49 +0,0 @@
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-15 18:30:13.483762070 +0200
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-06-17 17:47:36.543041869 +0200
@@ -2106,6 +2106,12 @@
}
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+# define NO_DO_MMAP
+# define do_mmap(a,b,c,d,e,f) vm_mmap(a, b, c, d, e, f)
+# define do_munmap(a,b,c) vm_munmap(b, c)
+#endif
+
unsigned long ATI_API_CALL KCL_MEM_AllocLinearAddrInterval(
KCL_IO_FILE_Handle file,
unsigned long addr,
@@ -2117,10 +2123,13 @@
flags = MAP_SHARED;
prot = PROT_READ|PROT_WRITE;
-
+#ifdef NO_DO_MMAP
+ vaddr = (void *) vm_mmap(file, 0, len, prot, flags, pgoff);
+#else
down_write(&current->mm->mmap_sem);
vaddr = (void *) do_mmap(file, 0, len, prot, flags, pgoff);
up_write(&current->mm->mmap_sem);
+#endif
if (IS_ERR(vaddr))
return 0;
else
@@ -2131,7 +2140,9 @@
{
int retcode = 0;
+#ifndef NO_DO_MMAP
down_write(&current->mm->mmap_sem);
+#endif
#ifdef FGL_LINUX_RHEL_MUNMAP_API
retcode = do_munmap(current->mm,
addr,
@@ -2142,7 +2153,9 @@
addr,
len);
#endif
+#ifndef NO_DO_MMAP
up_write(&current->mm->mmap_sem);
+#endif
return retcode;
}

View File

@ -1,116 +0,0 @@
#
# Chakra Packages for Chakra, part of chakra-project.org
_kernver="3.10.18-1-CHAKRA"
pkgname=('catalyst-legacy' 'chd-catalyst-legacy')
pkgver=13.1
pkgrel=9
arch=('x86_64')
url="http://www.ati.amd.com"
license=('custom')
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'linux-headers' 'catalyst-legacy-utils')
source=("http://www2.ati.com/drivers/legacy/amd-driver-installer-catalyst-${pkgver}-legacy-linux-x86.x86_64.zip"
'ati_make.sh'
'makefile_compat.patch'
'fglrx_supported'
'3.5-do_mmap.patch'
'arch-fglrx-3.8.patch'
'kcl_acpi.patch'
'gentoo_linux-3.10-proc.diff')
md5sums=('c07fd1332abe4c742a9a0d0e0d0a90de'
'660396540b0ceaff71d6155c986734de'
'3e1b82bd69774ea808da69c983d6a43b'
'9adef6e20662d5e486e15bc5ec40751f'
'83b8d2063458cc9e8b6679567b280e36'
'cff482b58c9090a66cb82159a2170654'
'cbb8c2f388a8ad617656c412e3a6690f'
'5872d95907a93ada44982e355e91e59d')
build() {
msg "Setting compilation variables ..."
# include ati_make.sh and use _ati_check function from it
. ati_make.sh
_ati_check
msg "Unpacking archive ..."
/bin/sh ./amd-driver-installer-catalyst-${pkgver}-legacy-linux-x86.x86_64.run --extract archive_files
BUILDARCH=x86_64
_archdir=x86_64
cd "${srcdir}/archive_files/"
msg "Applying patch(es) ..."
# makefile patch to choose arch_compat_alloc_user_space or older compat_alloc_user_space
# works only in combination with ati_make.sh script
patch -p1 -i ../makefile_compat.patch
# kernel fixes
patch -p1 -i ../3.5-do_mmap.patch
patch -p1 -i ../arch-fglrx-3.8.patch
patch -p0 -i ../kcl_acpi.patch
patch -Np0 -i ../gentoo_linux-3.10-proc.diff
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod"
cp "${srcdir}/archive_files/arch/${_archdir}/lib/modules/fglrx/build_mod/libfglrx_ip.a" .
cp 2.6.x/Makefile .
msg "Compiling fglrx module ..."
# Compile module using _ati_check variables
make -C /lib/modules/${_kernver}/build SUBDIRS="`pwd`" ARCH=${BUILDARCH} \
MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \
PAGE_ATTR_FIX=$PAGE_ATTR_FIX COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE modules
}
package_catalyst-legacy() {
pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only"
screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg"
depends=('linux>=3.10' 'linux<3.11' 'catalyst-legacy-utils')
conflicts=('catalyst-test' 'nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'catalyst')
install=catalyst.install
# here we are checking kernel's extramodules dir
for r in /lib/modules/*; do
s=${r:13}
if [[ ${s:0:3} = "ext" ]]; then
if [[ `cat ${r}/version | grep -c ${_kernver}` != 0 ]]; then
_destidir=${s}
sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${s}/" $startdir/catalyst.install
fi
elif [[ ${s} = ${_kernver} ]] && [[ ! -e ${r}/extramodules ]]; then
_destidir=${_kernver}/video
sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=null/" $startdir/catalyst.install
fi
done
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod"
install -m755 -d "${pkgdir}/lib/modules/${_destidir}/"
install -m644 fglrx.ko "${pkgdir}/lib/modules/${_destidir}/"
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/catalyst.install
# License
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 "${srcdir}/archive_files/LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/"
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
}
package_chd-catalyst-legacy() {
pkgdesc="CHD ids for catalyst $pkgver"
arch=('x86_64')
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod/"
install -dm755 "${pkgdir}/opt/chakra/hwdb"
sh -e "${srcdir}/fglrx_supported" fglrxko_pci_ids.h \
> "${pkgdir}/opt/chakra/hwdb/hw_ati_legacy_hwdb"
}

View File

@ -1,132 +0,0 @@
--- 12.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-09-26 15:04:28.000000000 +0200
+++ 12.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-10-16 20:30:42.146523753 +0200
@@ -3892,7 +3892,11 @@
KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n");
return -EAGAIN;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
vma->vm_ops = &vm_ops;
break;
@@ -3922,14 +3926,22 @@
KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n");
return -EAGAIN;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
vma->vm_ops = &vm_ops;
}
break;
#endif
case __KE_SHM:
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
vma->vm_ops = &vm_shm_ops;
break;
@@ -3937,7 +3949,11 @@
pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_RESERVED;
+#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
//vma->vm_flags |= VM_SHM | VM_LOCKED; /* DDDDDDDDDDon't swap */
//vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */
@@ -3946,14 +3962,22 @@
case __KE_CTX:
pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */
vma->vm_ops = &vm_ctx_ops;
break;
case __KE_PCI_BQS:
pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */
vma->vm_ops = &vm_pci_bq_ops;
break;
@@ -3984,9 +4008,17 @@
return -EAGAIN;
}
#ifdef __x86_64__
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_RESERVED;
#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
+#else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
#endif
vma->vm_ops = &vm_ops;
}
@@ -4015,9 +4047,17 @@
return -EAGAIN;
}
#ifdef __x86_64__
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_RESERVED;
#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
+#else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
#endif
vma->vm_ops = &vm_agp_bq_ops;
}
@@ -4025,7 +4065,11 @@
#endif /* __AGP__BUILTIN__ */
case __KE_KMAP:
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_SHM | VM_RESERVED;
+#else
+ vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
vma->vm_ops = &vm_kmap_ops;
if (readonly && (vma->vm_flags & VM_WRITE))
{
@@ -4046,7 +4090,11 @@
#endif
// fall through
case __KE_GART_CACHEABLE:
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
vma->vm_flags |= VM_RESERVED;
+#else
+ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
vma->vm_ops = &vm_gart_ops;
break;
default:

View File

@ -1,145 +0,0 @@
#!/bin/bash
### Vi0L0: it is ati's code from their make.sh file, modified a bit to fit our arch linux system, used inside PKGBUILD
# Copyright 1999-2005 ATI Technologies Inc., Markham, Ontario, CANADA.
# All Rights Reserved.
#
# Your use and or redistribution of this software in source and \ or
# binary form, with or without modification, is subject to: (i) your
# ongoing acceptance of and compliance with the terms and conditions of
# the ATI Technologies Inc. software End User License Agreement; and (ii)
# your inclusion of this notice in any version of this software that you
# use or redistribute. A copy of the ATI Technologies Inc. software End
# User License Agreement is included with this software and is also
# available by contacting ATI Technologies Inc. at http://www.ati.com
function _ati_check()
{
# ==============================================================
# resolve if we are running a SMP enabled kernel
SMP=0
# 1
# grep in OsVersion string for SMP specific keywords
OsVersion=`uname -v`
if [ `echo $OsVersion | grep [sS][mM][pP] -c` -ne 0 ]; then
SMP=1
echo "OsVersion says: SMP=$SMP"
fi
# 2
# grep in /proc/ksyms for SMP specific kernel symbols
# use triggerlevel of 10 occurences
# (UP kernels might have 0-1, SMP kernels might have 32-45 or much more)
src_file=/proc/kallsyms
if [ -e $src_file ]; then
if [ `fgrep smp $src_file -c` -gt 10 ]; then
SMP=1
echo "file $src_file says: SMP=$SMP"
fi
fi
# 3
# linux/autoconf.h may contain this: #define CONFIG_SMP 1
# Before 2.6.33 autoconf.h is under linux/.
# For 2.6.33 and later autoconf.h is under generated/.
if [ -f /lib/modules/${_kernver}/build/include/generated/autoconf.h ]; then
autoconf_h=/lib/modules/${_kernver}/build/include/generated/autoconf.h
else
autoconf_h=/lib/modules/${_kernver}/build/include/linux/autoconf.h
fi
src_file=$autoconf_h
if [ ! -e $src_file ]; then
echo "Warning:"
echo "kernel includes at /lib/modules/${_kernver}/build/include not found or incomplete"
echo "file: $src_file"
echo ""
else
if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then
SMP=`cat $src_file | grep CONFIG_SMP | cut -d' ' -f3`
echo "file $src_file says: SMP=$SMP"
fi
fi
if [ "$SMP" = 0 ]; then
echo "assuming default: SMP=$SMP"
fi
# act on final result
if [ ! "$SMP" = 0 ]; then
smp="-SMP"
def_smp=-D__SMP__
fi
# ==============================================================
# resolve whether we need to set PAGE_ATTR_FIX
PAGE_ATTR_FIX=0
src_file=/proc/kallsyms
if [ -e $src_file ]; then
if [ `fgrep " change_page_attr\$" $src_file -c` -gt 0 ]; then
PAGE_ATTR_FIX=1
echo "file $src_file says: PAGE_ATTR_FIX=$PAGE_ATTR_FIX"
fi
fi
# ==============================================================
# resolve if we are running a MODVERSIONS enabled kernel
MODVERSIONS=0
# autoconf.h may contain this: #define CONFIG_MODVERSIONS 1
src_file=$autoconf_h
if [ ! -e $src_file ];
then
echo "Warning:"
echo "kernel includes at /lib/modules/${_kernver}/build/include not found or incomplete"
echo "file: $src_file"
echo ""
else
if [ `cat $src_file | grep "#undef" | grep "CONFIG_MODVERSIONS" -c` = 0 ]
then
MODVERSIONS=`cat $src_file | grep CONFIG_MODVERSIONS | cut -d' ' -f3`
echo "file $src_file says: MODVERSIONS=$MODVERSIONS"
fi
fi
if [ "$MODVERSIONS" = 0 ]
then
echo "assuming default: MODVERSIONS=$MODVERSIONS"
fi
# act on final result
if [ ! "$MODVERSIONS" = 0 ]
then
def_modversions="-DMODVERSIONS"
fi
# ==============================================================
# resolve if we are building for a kernel with a fix for CVE-2010-3081
# On kernels with the fix, use arch_compat_alloc_user_space instead
# of compat_alloc_user_space since the latter is GPL-only
COMPAT_ALLOC_USER_SPACE=compat_alloc_user_space
src_file=/lib/modules/${_kernver}/build/arch/x86/include/asm/compat.h
if [ ! -e $src_file ];
then
echo "Warning:"
echo "kernel includes at /lib/modules/${_kernver}/build/include not found or incomplete"
echo "file: $src_file"
echo ""
else
if [ `cat $src_file | grep -c arch_compat_alloc_user_space` -gt 0 ]
then
COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
fi
echo "file $src_file says: COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE"
fi
}

View File

@ -1,28 +0,0 @@
KERNEL_VERSION=3.10.10-1-CHAKRA
remove_hook(){
##removing hook's entries
# remove hook fglrx
sed '/^HOOKS/s/ *fglrx//' -i etc/mkinitcpio.conf
# remove heads
sed '/^SyncFirst/s/ *linux-headers//' -i etc/pacman.conf
}
post_install() {
EXTRAMODULES=extramodules-3.10-CHAKRA
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_upgrade() {
remove_hook
EXTRAMODULES=extramodules-3.10-CHAKRA
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
post_remove() {
EXTRAMODULES=extramodules-3.10-CHAKRA
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}

View File

@ -1,21 +0,0 @@
#!/bin/sh
# copy this needed file from the catalyst build dir /pkgbuilds/catalyst/src/archive_files/common/lib/modules/fglrx/build_mod/fglrxko_pci_ids.h
# and place in the same dir as this script
set -e
filename="$1"
[ -e "$filename" ] || {
echo "USAGE: $0 path/to/fglrxko_pci_ids.h" >&2
exit 1
}
echo "# Listing generated by fglrx_supported_chakra-20120703."
echo "# Do not edit manually."
echo "# (C) 2012 The Chakra Project Team"
grep "0x" "$filename" | \
sed -n 's/FGL_ASIC_ID(0x\([0-9A-F]\{4\}\)),$/0x\1/p' | \
sort | uniq | sed -e 's/^[ \t]*//'

View File

@ -1,293 +0,0 @@
diff -Nur common/lib/modules/fglrx/build_mod/drmP.h common-r1/lib/modules/fglrx/build_mod/drmP.h
--- common/lib/modules/fglrx/build_mod/drmP.h 2013-05-15 09:26:23.555752577 +0300
+++ common-r1/lib/modules/fglrx/build_mod/drmP.h 2013-05-16 10:39:17.496212055 +0300
@@ -901,10 +901,6 @@
int DRM(stub_unregister)(int minor);
/* Proc support (drm_proc.h) */
-extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev,
- int minor,
- struct proc_dir_entry *root,
- struct proc_dir_entry **dev_root);
extern int DRM(proc_cleanup)(int minor,
struct proc_dir_entry *root,
struct proc_dir_entry *dev_root);
diff -Nur common/lib/modules/fglrx/build_mod/drm_proc.h common-r1/lib/modules/fglrx/build_mod/drm_proc.h
--- common/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-15 09:26:23.555752577 +0300
+++ common-r1/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-19 02:16:16.584406160 +0300
@@ -75,61 +75,6 @@
#define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0]))
/**
- * Initialize the DRI proc filesystem for a device.
- *
- * \param dev DRM device.
- * \param minor device minor number.
- * \param root DRI proc dir entry.
- * \param dev_root resulting DRI device proc dir entry.
- * \return root entry pointer on success, or NULL on failure.
- *
- * Create the DRI proc root entry "/proc/ati", the device proc root entry
- * "/proc/ati/%minor%/", and each entry in proc_list as
- * "/proc/ati/%minor%/%name%".
- */
-struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor,
- struct proc_dir_entry *root,
- struct proc_dir_entry **dev_root)
-{
- struct proc_dir_entry *ent;
- int i, j;
- char name[64];
-
- if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL);
- if (!root) {
- DRM_ERROR("Cannot create /proc/ati\n");
- return NULL;
- }
-
- sprintf(name, "%d", minor);
- *dev_root = create_proc_entry(name, S_IFDIR, root);
- if (!*dev_root) {
- DRM_ERROR("Cannot create /proc/ati/%s\n", name);
- return NULL;
- }
-
- for (i = 0; i < DRM_PROC_ENTRIES; i++) {
- ent = create_proc_entry(DRM(proc_list)[i].name,
- S_IFREG|S_IRUGO, *dev_root);
- if (!ent) {
- DRM_ERROR("Cannot create /proc/ati/%s/%s\n",
- name, DRM(proc_list)[i].name);
- for (j = 0; j < i; j++)
- remove_proc_entry(DRM(proc_list)[i].name,
- *dev_root);
- remove_proc_entry(name, root);
- if (!minor) remove_proc_entry("dri", NULL);
- return NULL;
- }
- ent->read_proc = DRM(proc_list)[i].f;
- ent->data = dev;
- }
-
- return root;
-}
-
-
-/**
* Cleanup the proc filesystem resources.
*
* \param minor device minor number.
diff -Nur common/lib/modules/fglrx/build_mod/firegl_public.c common-r1/lib/modules/fglrx/build_mod/firegl_public.c
--- common/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-15 09:26:23.545752925 +0300
+++ common-r1/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-19 03:07:10.236552522 +0300
@@ -583,6 +583,202 @@
{ "NULL", NULL, NULL} // Terminate List!!!
};
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data);
+typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data);
+#else
+#define PDE_DATA(inode) (PDE((inode))->data)
+#endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+typedef struct {
+ read_proc_t *read_func;
+ write_proc_t *write_func;
+ void *data;
+} gentoo_proc_wrapper_t;
+
+#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305
+
+static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) {
+ int is_eof=0, retval;
+ char *start, *usebuffer=NULL;
+ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
+ if (PAGE_SIZE<*offset) {
+ printk(KERN_ERR "Trying to read beyond 4k on proc\n");
+ return -EIO;
+ }
+ //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func);
+
+ usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL);
+ if (!usebuffer)
+ return -ENOMEM;
+ ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC;
+
+ retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data);
+
+ BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]);
+
+ if (0 > retval)
+ {
+ printk(KERN_ERR "Proc read failed with %d", retval);
+ goto out;
+ }
+
+ if (copy_to_user(buffer, start, retval)) {
+ printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n");
+ retval=-EFAULT;
+ goto out;
+ }
+ *offset+=retval;
+
+out:
+ if (usebuffer)
+ kfree(usebuffer);
+ return retval;
+}
+static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) {
+ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
+ int retval=0;
+ void *usebuffer=NULL;
+
+ BUG_ON(*offset);
+ if (!wrapper_data->write_func)
+ return -EPERM;
+
+ usebuffer=kmalloc(count, GFP_KERNEL);
+ if (!usebuffer)
+ return -ENOMEM;
+ if (copy_from_user(usebuffer, buffer, count)) {
+ printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n");
+ retval=-EFAULT;
+ goto out;
+ }
+
+ retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data);
+ *offset+=retval;
+out:
+ if (usebuffer)
+ kfree(usebuffer);
+ return retval;
+}
+static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) {
+ myfile->private_data=PDE_DATA(myinode);
+ return generic_file_open(myinode, myfile);
+}
+struct file_operations gentoo_proc_fops = {
+ .read=gentoo_proc_wrapper_read,
+ .write=gentoo_proc_wrapper_write,
+ .open=gentoo_proc_wrapper_open,
+};
+
+static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) {
+ gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL);
+ if (!retval)
+ return retval;
+ retval->read_func=reader;
+ retval->write_func=writer;
+ retval->data=mydata;
+ return retval;
+}
+
+static struct proc_dir_entry *firegl_proc_init( device_t *dev,
+ int minor,
+ struct proc_dir_entry *root,
+ struct proc_dir_entry **dev_root,
+ kcl_proc_list_t *proc_list ) // proc_list must be terminated!
+{
+ struct proc_dir_entry *ent;
+ char name[64];
+ kcl_proc_list_t *list = proc_list;
+ void *tempdata;
+ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list);
+ if (!minor)
+ {
+ root = proc_mkdir("ati", NULL);
+ }
+
+ if (!root)
+ {
+ KCL_DEBUG_ERROR("Cannot create /proc/ati\n");
+ return NULL;
+ }
+
+ if (minor == 0)
+ {
+ // Global major debice number entry
+ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL);
+ if (!tempdata)
+ return NULL;
+ ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
+ if (!ent)
+ {
+ remove_proc_entry("ati", NULL);
+ KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n");
+ return NULL;
+ }
+ }
+
+ sprintf(name, "%d", minor);
+ *dev_root = proc_mkdir(name, root);
+ if (!*dev_root) {
+ remove_proc_entry("major", root);
+ remove_proc_entry("ati", NULL);
+ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name);
+ return NULL;
+ }
+
+ while (list->f || list->fops)
+ {
+ struct file_operations *my_fops = &gentoo_proc_fops;
+ if (list->fops)
+ {
+ my_fops = (struct file_operations*)list->fops;
+ tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev);
+ }
+ else {
+ BUG_ON(!list->f);
+ tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) );
+ if (!tempdata)
+ return NULL;
+ }
+ //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata);
+ ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata);
+
+ if (!ent)
+ {
+ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name);
+ while (proc_list != list)
+ {
+ remove_proc_entry(proc_list->name, *dev_root);
+ proc_list++;
+ }
+ remove_proc_entry(name, root);
+ if (!minor)
+ {
+ remove_proc_entry("major", root);
+ remove_proc_entry("ati", NULL);
+ }
+ return NULL;
+ }
+
+ list++;
+ }
+
+ if (minor == 0)
+ {
+ // Global debug entry, only create it once
+ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev);
+ if (!tempdata)
+ return NULL;
+ ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
+ if (!ent)
+ return NULL;
+ }
+
+ return root;
+}
+#else
static struct proc_dir_entry *firegl_proc_init( device_t *dev,
int minor,
struct proc_dir_entry *root,
@@ -677,6 +873,7 @@
return root;
}
+#endif
static int firegl_proc_cleanup( int minor,
struct proc_dir_entry *root,

View File

@ -1,16 +0,0 @@
# diff -u kcl.acpi.c kcl.acpi.ckcl_acpi.c_20130221 kcl.acpi.c
kcl_acpi.c
--- common/lib/modules/fglrx/build_mod/kcl_acpi.c_20130221 2012-03-24 05:38:48.000000000 +0900
+++ common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-02-21 20:20:12.000000000 +0900
@@ -776,7 +776,11 @@
{
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
+ pInfo->video_handle = ACPI_HANDLE(&pInfo->pcidev->dev);
+ #else
pInfo->video_handle = pInfo->pcidev->dev.archdata.acpi_handle;
+ #endif
#else
pInfo->video_handle = pInfo->pcidev->dev.firmware_data;
#endif

View File

@ -1,10 +0,0 @@
--- 10.10/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2010-09-22 09:15:33.000000000 +0200
+++ 10.10/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2010-10-01 17:57:21.057820899 +0200
@@ -66,6 +66,7 @@
-DFGL_GART_RESERVED_SLOT \
-DFGL_LINUX253P1_VMA_API \
-DPAGE_ATTR_FIX=$(PAGE_ATTR_FIX) \
+ -DCOMPAT_ALLOC_USER_SPACE=$(COMPAT_ALLOC_USER_SPACE) \
ifeq ($(KERNELRELEASE),)
# on first call from remote location we get into this path

View File

@ -1,16 +0,0 @@
--- cat11.2/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-02-02 19:39:49.000000000 +0100
+++ cat11.2/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-02-17 14:45:38.197914622 +0100
@@ -1894,13 +1894,11 @@
/** \brief Grab global kernel lock */
void ATI_API_CALL KCL_GlobalKernelLock(void)
{
- lock_kernel();
}
/** \brief Release global kernel lock */
void ATI_API_CALL KCL_GlobalKernelUnlock(void)
{
- unlock_kernel();
}
/*****************************************************************************/