From 986ad0fc138fcb956c5a0b5b50805e9b120bcba6 Mon Sep 17 00:00:00 2001 From: Zero_Chaos Date: Wed, 14 Mar 2012 02:42:33 +0000 Subject: [PATCH] ati-driver: drop, we are horribly out of date anyway --- x11-drivers/ati-drivers/Manifest | 12 - .../ati-drivers/ati-drivers-8.602.ebuild | 446 ----- .../ati-drivers/ati-drivers-8.612.ebuild | 446 ----- .../ati-drivers/ati-drivers-9.5.ebuild | 446 ----- .../files/ati-drivers-2.6.29.patch | 100 - .../ati-drivers/files/ati-drivers-xen.patch | 62 - .../files/ati-powermode-opt-path-2.patch | 42 - x11-drivers/ati-drivers/files/atieventsd.init | 20 - x11-drivers/ati-drivers/files/atieventsd.rc6 | 22 - .../files/fglrx-2.6.29-9.2-5.patch | 1753 ----------------- x11-drivers/ati-drivers/files/libGL.la.in | 32 - 11 files changed, 3381 deletions(-) delete mode 100644 x11-drivers/ati-drivers/Manifest delete mode 100644 x11-drivers/ati-drivers/ati-drivers-8.602.ebuild delete mode 100644 x11-drivers/ati-drivers/ati-drivers-8.612.ebuild delete mode 100644 x11-drivers/ati-drivers/ati-drivers-9.5.ebuild delete mode 100644 x11-drivers/ati-drivers/files/ati-drivers-2.6.29.patch delete mode 100644 x11-drivers/ati-drivers/files/ati-drivers-xen.patch delete mode 100644 x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch delete mode 100644 x11-drivers/ati-drivers/files/atieventsd.init delete mode 100644 x11-drivers/ati-drivers/files/atieventsd.rc6 delete mode 100644 x11-drivers/ati-drivers/files/fglrx-2.6.29-9.2-5.patch delete mode 100644 x11-drivers/ati-drivers/files/libGL.la.in diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest deleted file mode 100644 index 6fab542ec..000000000 --- a/x11-drivers/ati-drivers/Manifest +++ /dev/null @@ -1,12 +0,0 @@ -AUX ati-drivers-2.6.29.patch 3100 RMD160 de5b5bfde76db36c38f23a661ae9b0d47e9474d6 SHA1 f5cca133c14f0ecf26adb8f3f8202500b2f9cf27 SHA256 2121d1b1f2b4812f474aaab7c183228394491816f8ccd5fd59e73f11ff238bb5 -AUX ati-drivers-xen.patch 1994 RMD160 45fe1a96bfaec597214c2b058c720c5f71797085 SHA1 4fd6da4c726c67feed8a6484af484ea525f3a112 SHA256 514dad9629fc689ec0344875a29d713f9d8de7ccbb0a22a2b80ede11bbbc6c58 -AUX ati-powermode-opt-path-2.patch 1634 RMD160 a9c4ecc90a748f94282521a555ad7b64db242249 SHA1 3f61d804710bd88ee45cd3a9e3672b356359dd73 SHA256 e7749e04a3aa24132b13d0c694563a45c0d38e238f7412a75bd89aa9f9e9ead1 -AUX atieventsd.init 533 RMD160 b9b95a8a3f32dcafba3e5fa08d6d1053e831291a SHA1 982ffdb8064785c8b96fb0213ad7892ac918b5d7 SHA256 20010ebc5cb286149f3c4c9c099b6470463ccdb8fd47cea054b783dc2ad1fff3 -AUX atieventsd.rc6 590 RMD160 fbf8aba7ada36aed666d506d6b0f7146e1b2f4ad SHA1 b2b457a4122f0a3a5db785df46880351d795fb25 SHA256 a00aa241e53b21872218bd247bfdb6292a075d9ef641f36198d8f4e399cc025e -AUX fglrx-2.6.29-9.2-5.patch 63808 RMD160 d8602018350e2273cca4541fb6f8502a34bf2714 SHA1 e21decf341fc20318f16373e6ef0e5cca834975e SHA256 293ce17371cad50454c9aae64d719a356d34332b70c6043f785d0da35dc6a19d -AUX libGL.la.in 749 RMD160 b2eb11cd123cb0e789adb1e22dffdbfc03542f69 SHA1 be41cc2eb1754a44134a95475be5f0cb894e24bc SHA256 a7b4b58b1311f8e1caf83222cb020dfbc48e2881a8deef21eddefa23b3992f13 -DIST ati-driver-installer-9-4-x86.x86_64.run 86701799 RMD160 d5382fecc2da11f4628cb4b64e306aef10ddc7f4 SHA1 730e9e78e4bb20994549c8f7eb539fe223bb1a69 SHA256 779287fc6f8656bddd17e1619121000583cbff440ef05e987dae604927baa497 -DIST ati-driver-installer-9-5-x86.x86_64.run 88376064 RMD160 fd44818c05148835e39b733df4f715271205ec01 SHA1 d31b7b246edcbe50fc3bbbf2d36eddf14d57cc61 SHA256 c03e9a9fb9327884f1692376c2f555d0a87a0dab9bfab073652cb3a31638b9ae -EBUILD ati-drivers-8.602.ebuild 14903 RMD160 8e15ed8252b9a71b59e61ad67ff2b7bcd701c13a SHA1 63d6d29a5d28faa9b67f40c4c787c5f8184e09c9 SHA256 da866c4273ef485ddcd3365865783d9303fbaecfea8fc6e1f8a02ea19511f2ce -EBUILD ati-drivers-8.612.ebuild 14903 RMD160 69fb6f4b8a5369d48799cff27d3a5eb760f44c2c SHA1 cf555ad2f92530f0d82e515e901711f2bbb4e0ce SHA256 6774ba68083d7a19a6d43f3db658b104e29599cf61b5d41c144875d8544026e0 -EBUILD ati-drivers-9.5.ebuild 14903 RMD160 69fb6f4b8a5369d48799cff27d3a5eb760f44c2c SHA1 cf555ad2f92530f0d82e515e901711f2bbb4e0ce SHA256 6774ba68083d7a19a6d43f3db658b104e29599cf61b5d41c144875d8544026e0 diff --git a/x11-drivers/ati-drivers/ati-drivers-8.602.ebuild b/x11-drivers/ati-drivers/ati-drivers-8.602.ebuild deleted file mode 100644 index b5abef235..000000000 --- a/x11-drivers/ati-drivers/ati-drivers-8.602.ebuild +++ /dev/null @@ -1,446 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild,v 1.3 2009/03/14 23:28:20 mr_bones_ Exp $ - -IUSE="acpi debug" - -inherit eutils multilib linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for recent chipsets" -HOMEPAGE="http://www.ati.com" -ATI_URL="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/" -SRC_URI="${ATI_URL}/ati-driver-installer-9-4-x86.x86_64.run" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" - -# The portage dep is for COLON_SEPARATED support in env-update. -# The eselect dep (>=1.0.9) is for COLON_SEPARATED in eselect env update. -RDEPEND=">=x11-base/xorg-server-1.5 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-1.0.9 - app-admin/eselect-opengl - sys-libs/libstdc++-v3 - amd64? ( app-emulation/emul-linux-x86-xlibs ) - acpi? ( - x11-apps/xauth - sys-power/acpid - ) - x11-libs/libXrandr - >=sys-apps/portage-2.1.1-r1" - -DEPEND="${RDEPEND} - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/inputproto - !" - eerror " [ ] Paravirtualization support (EXPERIMENTAL)" - eerror "in 'menuconfig'" - die "CONFIG_PARAVIRT enabled" - fi - - if ! linux_chkconfig_present MAGIC_SYSRQ; then - eerror "You need MAGIC_SYSRQ enabled in order to build ati-drivers" - die "CONFIG_MAGIC_SYSRQ disabled" - fi - - # Only support xorg-server >=1.5 - BASE_DIR="${S}/x740" - - if ! linux_chkconfig_present PCI_MSI; then - eerror "You need PCI_MSI enabled in order to build ati-drivers" - die "CONFIG_PCI_MSI disabled" - fi - - # This is used like $(get_libdir) for paths in ati's package. - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi -} - -src_unpack() { - #Switching to a standard way to extract the files since otherwise no signature file - #would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - cd "${S}" - - if kernel_is ge 2 6 29; then - epatch "${FILESDIR}/ati-drivers-2.6.29.patch" - fi - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/{fgl_glxgears,fglrx_xgamma} \ - "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR}/libfglrx_gamma* \ - || die "bin rm failed" - - if use debug; then - # Enable debug mode in the Source Code. - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - - if use acpi; then - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/common/etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add funktion to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch - fi - - pushd ${MODULE_DIR} >/dev/null - ln -s "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \ - || die "symlinking precompiled core failed" - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - popd >/dev/null - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../common/usr/src/ati/fglrx_sample_source.tgz - sed -i -e 's:include/extensions/extutil.h:X11/extensions/extutil.h:' \ - lib/fglrx_gamma/fglrx_gamma.c || die "include fixup failed" - # Add a category. - mv programs/fglrx_gamma/fglrx_xgamma.{man,1} || die "man mv failed" - cd .. -} - -src_compile() { - linux-mod_src_compile - - einfo "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/common/usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - - einfo "Building fglrx_gamma lib" - cd "${S}"/extra/lib/fglrx_gamma - "$(tc-getCC)" -shared -fpic -o libfglrx_gamma.so.1.0 ${CFLAGS} ${LDFLAGS} \ - -DXF86MISC -Wl,-soname,libfglrx_gamma.so.1.0 fglrx_gamma.c \ - -lXext || die "fglrx_gamma lib build failed" - ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so || die "ln failed" - ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so.1 || die "ln failed" - - einfo "Building fglrx_gamma util" - cd "${S}"/extra/programs/fglrx_gamma - "$(tc-getCC)" -o fglrx_xgamma ${CFLAGS} ${LDFLAGS} \ - -I../../../common/usr/X11R6/include -L../../lib/fglrx_gamma \ - fglrx_xgamma.c -lm -lfglrx_gamma -lX11 \ - || die "fglrx_gamma util build failed" - -} - -src_install() { - linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - if has_multilib_profile; then - local OABI=${ABI} - for ABI in $(get_install_abis); do - src_install-libs - done - ABI=${OABI} - unset OABI - else - src_install-libs - fi - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{esut.a,glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - if use acpi; then - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - fi - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # lib. - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed in src_install-libs. - doexe $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -name '*.so*' -not -name 'libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -not -name '*.so*') - - # Common files. - # etc. - insinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins common/etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - if use acpi; then - insopts -m0755 - doins common/etc/ati/authatieventsd.sh - fi - - # include. - insinto /usr - doins -r common/usr/include - insinto /usr/include/X11/extensions - doins common/usr/X11R6/include/X11/extensions/fglrx_gamma.h - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin common/usr/sbin/* - - # data files for the control panel. - insinto /usr/share - doins -r common/usr/share/ati - insinto /usr/share/pixmaps - doins common/usr/share/icons/ccc_{large,small}.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - - # doc. - dohtml -r common/usr/share/doc/fglrx - - if use acpi; then - doman common/usr/share/man/man8/atieventsd.8 - - pushd common/usr/share/doc/fglrx/examples/etc/acpi >/dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd >/dev/null - fi - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - dolib extra/lib/fglrx_gamma/*so* - newdoc extra/lib/fglrx_gamma/README README.libfglrx_gamma - - dobin extra/programs/fglrx_gamma/fglrx_xgamma - doman extra/programs/fglrx_gamma/fglrx_xgamma.1 - newdoc extra/programs/fglrx_gamma/README README.fglrx_gamma - - # Gentoo-specific stuff: - if use acpi; then - newinitd "${FILESDIR}"/atieventsd.init atieventsd \ - || die "Failed to install atieventsd.init.d" - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - fi -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/* - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/*.so - - # Make up a libGL.la. Ati does not provide one, but mesa does. If - # a (libtool-based) libfoo is built with libGL.la present a - # reference to it is put into libfoo.la, and compiling - # (libtool-based) things that link too libfoo.la will complain if - # libGL.la disappears. So if we do not make up a libGL.la - # switching between mesa and ati becomes painful. - local revision=$(printf '%d%02d%02d' $(get_version_components)) - sed -e "s:\${libmajor}:${libmajor}:g" \ - -e "s:\${libminor}:${libminor}:g" \ - -e "s:\${libdir}:$(get_libdir):g" \ - -e "s:\${revision}:${revision}:g" \ - "${FILESDIR}"/libGL.la.in > "${D}"/${ATI_ROOT}/lib/libGL.la \ - || die "sed failed to make libGL.la" - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" -} - -pkg_postinst() { - /usr/bin/eselect opengl set --use-old ati - - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "You will have to source /etc/profile (or logout and back in) for dri" - elog "to work, unless you previously had ati-drivers installed." - - # Workaroud screen corruption - ewarn "If you experience screen corruption with this driver, try putting" - ewarn ' Option "XAANoOffscreenPixmaps" "true"' - ewarn "in the Device Section of /etc/X11/xorg.conf." - - linux-mod_pkg_postinst -} - -pkg_prerm() { - /usr/bin/eselect opengl set xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-8.612.ebuild b/x11-drivers/ati-drivers/ati-drivers-8.612.ebuild deleted file mode 100644 index b3b2b3da0..000000000 --- a/x11-drivers/ati-drivers/ati-drivers-8.612.ebuild +++ /dev/null @@ -1,446 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild,v 1.3 2009/03/14 23:28:20 mr_bones_ Exp $ - -IUSE="acpi debug" - -inherit eutils multilib linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for recent chipsets" -HOMEPAGE="http://www.ati.com" -ATI_URL="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/" -SRC_URI="${ATI_URL}/ati-driver-installer-9-5-x86.x86_64.run" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" - -# The portage dep is for COLON_SEPARATED support in env-update. -# The eselect dep (>=1.0.9) is for COLON_SEPARATED in eselect env update. -RDEPEND=">=x11-base/xorg-server-1.5 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-1.0.9 - app-admin/eselect-opengl - sys-libs/libstdc++-v3 - amd64? ( app-emulation/emul-linux-x86-xlibs ) - acpi? ( - x11-apps/xauth - sys-power/acpid - ) - x11-libs/libXrandr - >=sys-apps/portage-2.1.1-r1" - -DEPEND="${RDEPEND} - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/inputproto - !" - eerror " [ ] Paravirtualization support (EXPERIMENTAL)" - eerror "in 'menuconfig'" - die "CONFIG_PARAVIRT enabled" - fi - - if ! linux_chkconfig_present MAGIC_SYSRQ; then - eerror "You need MAGIC_SYSRQ enabled in order to build ati-drivers" - die "CONFIG_MAGIC_SYSRQ disabled" - fi - - # Only support xorg-server >=1.5 - BASE_DIR="${S}/x740" - - if ! linux_chkconfig_present PCI_MSI; then - eerror "You need PCI_MSI enabled in order to build ati-drivers" - die "CONFIG_PCI_MSI disabled" - fi - - # This is used like $(get_libdir) for paths in ati's package. - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi -} - -src_unpack() { - #Switching to a standard way to extract the files since otherwise no signature file - #would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - cd "${S}" - - if kernel_is ge 2 6 29; then - epatch "${FILESDIR}/ati-drivers-2.6.29.patch" - fi - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/{fgl_glxgears,fglrx_xgamma} \ - "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR}/libfglrx_gamma* \ - || die "bin rm failed" - - if use debug; then - # Enable debug mode in the Source Code. - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - - if use acpi; then - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/common/etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add funktion to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch - fi - - pushd ${MODULE_DIR} >/dev/null - ln -s "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \ - || die "symlinking precompiled core failed" - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - popd >/dev/null - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../common/usr/src/ati/fglrx_sample_source.tgz - sed -i -e 's:include/extensions/extutil.h:X11/extensions/extutil.h:' \ - lib/fglrx_gamma/fglrx_gamma.c || die "include fixup failed" - # Add a category. - mv programs/fglrx_gamma/fglrx_xgamma.{man,1} || die "man mv failed" - cd .. -} - -src_compile() { - linux-mod_src_compile - - einfo "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/common/usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - - einfo "Building fglrx_gamma lib" - cd "${S}"/extra/lib/fglrx_gamma - "$(tc-getCC)" -shared -fpic -o libfglrx_gamma.so.1.0 ${CFLAGS} ${LDFLAGS} \ - -DXF86MISC -Wl,-soname,libfglrx_gamma.so.1.0 fglrx_gamma.c \ - -lXext || die "fglrx_gamma lib build failed" - ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so || die "ln failed" - ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so.1 || die "ln failed" - - einfo "Building fglrx_gamma util" - cd "${S}"/extra/programs/fglrx_gamma - "$(tc-getCC)" -o fglrx_xgamma ${CFLAGS} ${LDFLAGS} \ - -I../../../common/usr/X11R6/include -L../../lib/fglrx_gamma \ - fglrx_xgamma.c -lm -lfglrx_gamma -lX11 \ - || die "fglrx_gamma util build failed" - -} - -src_install() { - linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - if has_multilib_profile; then - local OABI=${ABI} - for ABI in $(get_install_abis); do - src_install-libs - done - ABI=${OABI} - unset OABI - else - src_install-libs - fi - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{esut.a,glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - if use acpi; then - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - fi - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # lib. - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed in src_install-libs. - doexe $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -name '*.so*' -not -name 'libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -not -name '*.so*') - - # Common files. - # etc. - insinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins common/etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - if use acpi; then - insopts -m0755 - doins common/etc/ati/authatieventsd.sh - fi - - # include. - insinto /usr - doins -r common/usr/include - insinto /usr/include/X11/extensions - doins common/usr/X11R6/include/X11/extensions/fglrx_gamma.h - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin common/usr/sbin/* - - # data files for the control panel. - insinto /usr/share - doins -r common/usr/share/ati - insinto /usr/share/pixmaps - doins common/usr/share/icons/ccc_{large,small}.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - - # doc. - dohtml -r common/usr/share/doc/fglrx - - if use acpi; then - doman common/usr/share/man/man8/atieventsd.8 - - pushd common/usr/share/doc/fglrx/examples/etc/acpi >/dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd >/dev/null - fi - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - dolib extra/lib/fglrx_gamma/*so* - newdoc extra/lib/fglrx_gamma/README README.libfglrx_gamma - - dobin extra/programs/fglrx_gamma/fglrx_xgamma - doman extra/programs/fglrx_gamma/fglrx_xgamma.1 - newdoc extra/programs/fglrx_gamma/README README.fglrx_gamma - - # Gentoo-specific stuff: - if use acpi; then - newinitd "${FILESDIR}"/atieventsd.init atieventsd \ - || die "Failed to install atieventsd.init.d" - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - fi -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/* - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/*.so - - # Make up a libGL.la. Ati does not provide one, but mesa does. If - # a (libtool-based) libfoo is built with libGL.la present a - # reference to it is put into libfoo.la, and compiling - # (libtool-based) things that link too libfoo.la will complain if - # libGL.la disappears. So if we do not make up a libGL.la - # switching between mesa and ati becomes painful. - local revision=$(printf '%d%02d%02d' $(get_version_components)) - sed -e "s:\${libmajor}:${libmajor}:g" \ - -e "s:\${libminor}:${libminor}:g" \ - -e "s:\${libdir}:$(get_libdir):g" \ - -e "s:\${revision}:${revision}:g" \ - "${FILESDIR}"/libGL.la.in > "${D}"/${ATI_ROOT}/lib/libGL.la \ - || die "sed failed to make libGL.la" - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" -} - -pkg_postinst() { - /usr/bin/eselect opengl set --use-old ati - - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "You will have to source /etc/profile (or logout and back in) for dri" - elog "to work, unless you previously had ati-drivers installed." - - # Workaroud screen corruption - ewarn "If you experience screen corruption with this driver, try putting" - ewarn ' Option "XAANoOffscreenPixmaps" "true"' - ewarn "in the Device Section of /etc/X11/xorg.conf." - - linux-mod_pkg_postinst -} - -pkg_prerm() { - /usr/bin/eselect opengl set xorg-x11 -} diff --git a/x11-drivers/ati-drivers/ati-drivers-9.5.ebuild b/x11-drivers/ati-drivers/ati-drivers-9.5.ebuild deleted file mode 100644 index b3b2b3da0..000000000 --- a/x11-drivers/ati-drivers/ati-drivers-9.5.ebuild +++ /dev/null @@ -1,446 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild,v 1.3 2009/03/14 23:28:20 mr_bones_ Exp $ - -IUSE="acpi debug" - -inherit eutils multilib linux-mod toolchain-funcs versionator - -DESCRIPTION="Ati precompiled drivers for recent chipsets" -HOMEPAGE="http://www.ati.com" -ATI_URL="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/" -SRC_URI="${ATI_URL}/ati-driver-installer-9-5-x86.x86_64.run" - -LICENSE="AMD GPL-2 QPL-1.0 as-is" -KEYWORDS="~amd64 ~x86" - -# The portage dep is for COLON_SEPARATED support in env-update. -# The eselect dep (>=1.0.9) is for COLON_SEPARATED in eselect env update. -RDEPEND=">=x11-base/xorg-server-1.5 - !x11-apps/ati-drivers-extra - >=app-admin/eselect-1.0.9 - app-admin/eselect-opengl - sys-libs/libstdc++-v3 - amd64? ( app-emulation/emul-linux-x86-xlibs ) - acpi? ( - x11-apps/xauth - sys-power/acpid - ) - x11-libs/libXrandr - >=sys-apps/portage-2.1.1-r1" - -DEPEND="${RDEPEND} - x11-proto/xf86miscproto - x11-proto/xf86vidmodeproto - x11-proto/inputproto - !" - eerror " [ ] Paravirtualization support (EXPERIMENTAL)" - eerror "in 'menuconfig'" - die "CONFIG_PARAVIRT enabled" - fi - - if ! linux_chkconfig_present MAGIC_SYSRQ; then - eerror "You need MAGIC_SYSRQ enabled in order to build ati-drivers" - die "CONFIG_MAGIC_SYSRQ disabled" - fi - - # Only support xorg-server >=1.5 - BASE_DIR="${S}/x740" - - if ! linux_chkconfig_present PCI_MSI; then - eerror "You need PCI_MSI enabled in order to build ati-drivers" - die "CONFIG_PCI_MSI disabled" - fi - - # This is used like $(get_libdir) for paths in ati's package. - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi -} - -src_unpack() { - #Switching to a standard way to extract the files since otherwise no signature file - #would be created - local src="${DISTDIR}/${A}" - sh "${src}" --extract "${S}" 2&>1 /dev/null - cd "${S}" - - if kernel_is ge 2 6 29; then - epatch "${FILESDIR}/ati-drivers-2.6.29.patch" - fi - # These are the userspace utilities that we also have source for. - # We rebuild these later. - rm \ - "${ARCH_DIR}"/usr/X11R6/bin/{fgl_glxgears,fglrx_xgamma} \ - "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR}/libfglrx_gamma* \ - || die "bin rm failed" - - if use debug; then - # Enable debug mode in the Source Code. - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - - if use acpi; then - sed -i \ - -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ - -e "s:/var/lib/gdm/:/var/gdm/:" \ - "${S}/common/etc/ati/authatieventsd.sh" \ - || die "sed failed." - - # Since "who" is in coreutils, we're using that one instead of "finger". - sed -i -e 's:finger:who:' \ - "${S}/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ - || die "Replacing 'finger' with 'who' failed." - # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and - # add funktion to detect default state. - epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch - fi - - pushd ${MODULE_DIR} >/dev/null - ln -s "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \ - || die "symlinking precompiled core failed" - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - popd >/dev/null - - mkdir extra || die "mkdir failed" - cd extra - unpack ./../common/usr/src/ati/fglrx_sample_source.tgz - sed -i -e 's:include/extensions/extutil.h:X11/extensions/extutil.h:' \ - lib/fglrx_gamma/fglrx_gamma.c || die "include fixup failed" - # Add a category. - mv programs/fglrx_gamma/fglrx_xgamma.{man,1} || die "man mv failed" - cd .. -} - -src_compile() { - linux-mod_src_compile - - einfo "Building fgl_glxgears" - cd "${S}"/extra/fgl_glxgears - # These extra libs/utils either have an Imakefile that does not - # work very well without tweaking or a Makefile ignoring CFLAGS - # and the like. We bypass those. - - # The -DUSE_GLU is needed to compile using nvidia headers - # according to a comment in ati-drivers-extra-8.33.6.ebuild. - "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ - -I"${S}"/common/usr/include fgl_glxgears.c \ - -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" - - einfo "Building fglrx_gamma lib" - cd "${S}"/extra/lib/fglrx_gamma - "$(tc-getCC)" -shared -fpic -o libfglrx_gamma.so.1.0 ${CFLAGS} ${LDFLAGS} \ - -DXF86MISC -Wl,-soname,libfglrx_gamma.so.1.0 fglrx_gamma.c \ - -lXext || die "fglrx_gamma lib build failed" - ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so || die "ln failed" - ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so.1 || die "ln failed" - - einfo "Building fglrx_gamma util" - cd "${S}"/extra/programs/fglrx_gamma - "$(tc-getCC)" -o fglrx_xgamma ${CFLAGS} ${LDFLAGS} \ - -I../../../common/usr/X11R6/include -L../../lib/fglrx_gamma \ - fglrx_xgamma.c -lm -lfglrx_gamma -lX11 \ - || die "fglrx_gamma util build failed" - -} - -src_install() { - linux-mod_src_install - - # We can do two things here, and neither of them is very nice. - - # For direct rendering libGL has to be able to load one or more - # dri modules (files ending in _dri.so, like fglrx_dri.so). - # Gentoo's mesa looks for these files in the location specified by - # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded - # location /usr/$(get_libdir)/dri. Ati's libGL does the same - # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri - # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 - # 64bit. So we can either put the .so files in that (unusual, - # compared to "normal" mesa libGL) location or set - # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug - # 101539. - - # The problem with this approach is that LIBGL_DRIVERS_PATH - # *overrides* the default hardcoded location, it does not extend - # it. So if ati-drivers is merged but a non-ati libGL is selected - # and its hardcoded path does not match our LIBGL_DRIVERS_PATH - # (because it changed in a newer mesa or because it was compiled - # for a different set of multilib abis than we are) stuff breaks. - - # We create one file per ABI to work with "native" multilib, see - # below. - - echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" - doenvd "${T}/03ati-colon-sep" - - # All libraries that we have a 32 bit and 64 bit version of on - # amd64 are installed in src_install-libs. Everything else - # (including libraries only available in native 64bit on amd64) - # goes in here. - - # There used to be some code here that tried to detect running - # under a "native multilib" portage ((precursor of) - # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it - # should just work (only doing some duplicate work). --marienz - if has_multilib_profile; then - local OABI=${ABI} - for ABI in $(get_install_abis); do - src_install-libs - done - ABI=${OABI} - unset OABI - else - src_install-libs - fi - - # This is sorted by the order the files occur in the source tree. - - # X modules. - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so - exeinto /usr/$(get_libdir)/xorg/modules/linux - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so - exeinto /usr/$(get_libdir)/xorg/modules - doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{esut.a,glesx.so,amdxmm.so} - - # Arch-specific files. - # (s)bin. - into /opt - if use acpi; then - dosbin "${ARCH_DIR}"/usr/sbin/atieventsd - fi - # We cleaned out the compilable stuff in src_unpack - dobin "${ARCH_DIR}"/usr/X11R6/bin/* - - # lib. - exeinto /usr/$(get_libdir) - # Everything except for the libGL.so installed in src_install-libs. - doexe $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -name '*.so*' -not -name 'libGL.so*') - insinto /usr/$(get_libdir) - doins $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ - -maxdepth 1 -type f -not -name '*.so*') - - # Common files. - # etc. - insinto /etc/ati - # Everything except for the authatieventsd.sh script. - doins common/etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} - if use acpi; then - insopts -m0755 - doins common/etc/ati/authatieventsd.sh - fi - - # include. - insinto /usr - doins -r common/usr/include - insinto /usr/include/X11/extensions - doins common/usr/X11R6/include/X11/extensions/fglrx_gamma.h - - # Just the atigetsysteminfo.sh script. - into /usr - dosbin common/usr/sbin/* - - # data files for the control panel. - insinto /usr/share - doins -r common/usr/share/ati - insinto /usr/share/pixmaps - doins common/usr/share/icons/ccc_{large,small}.xpm - make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ - ccc_large System - - # doc. - dohtml -r common/usr/share/doc/fglrx - - if use acpi; then - doman common/usr/share/man/man8/atieventsd.8 - - pushd common/usr/share/doc/fglrx/examples/etc/acpi >/dev/null - - exeinto /etc/acpi - doexe ati-powermode.sh - insinto /etc/acpi/events - doins events/* - - popd >/dev/null - fi - - # Done with the "source" tree. Install tools we rebuilt: - dobin extra/fgl_glxgears/fgl_glxgears - newdoc extra/fgl_glxgears/README README.fgl_glxgears - - dolib extra/lib/fglrx_gamma/*so* - newdoc extra/lib/fglrx_gamma/README README.libfglrx_gamma - - dobin extra/programs/fglrx_gamma/fglrx_xgamma - doman extra/programs/fglrx_gamma/fglrx_xgamma.1 - newdoc extra/programs/fglrx_gamma/README README.fglrx_gamma - - # Gentoo-specific stuff: - if use acpi; then - newinitd "${FILESDIR}"/atieventsd.init atieventsd \ - || die "Failed to install atieventsd.init.d" - echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf - newconfd "${T}"/atieventsd.conf atieventsd - fi -} - -src_install-libs() { - if [[ "${ABI}" == "amd64" ]]; then - local EX_BASE_DIR="${BASE_DIR}_64a" - local pkglibdir=lib64 - local MY_ARCH_DIR="${S}/arch/x86_64" - else - local EX_BASE_DIR="${BASE_DIR}" - local pkglibdir=lib - local MY_ARCH_DIR="${S}/arch/x86" - fi - einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" - - local ATI_ROOT=/usr/$(get_libdir)/opengl/ati - # To make sure we do not miss a spot when these change. - local libmajor=1 libminor=2 - local libver=${libmajor}.${libminor} - - # The GLX libraries - # (yes, this really is "lib" even on amd64/multilib --marienz) - exeinto ${ATI_ROOT}/lib - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/libGL.so.${libver} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} - dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so - - exeinto ${ATI_ROOT}/extensions - doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/* - - # DRI modules, installed into the path used by recent versions of mesa. - exeinto /usr/$(get_libdir)/dri - doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so - - # AMD Cal libraries - exeinto /usr/$(get_libdir) - doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/*.so - - # Make up a libGL.la. Ati does not provide one, but mesa does. If - # a (libtool-based) libfoo is built with libGL.la present a - # reference to it is put into libfoo.la, and compiling - # (libtool-based) things that link too libfoo.la will complain if - # libGL.la disappears. So if we do not make up a libGL.la - # switching between mesa and ati becomes painful. - local revision=$(printf '%d%02d%02d' $(get_version_components)) - sed -e "s:\${libmajor}:${libmajor}:g" \ - -e "s:\${libminor}:${libminor}:g" \ - -e "s:\${libdir}:$(get_libdir):g" \ - -e "s:\${revision}:${revision}:g" \ - "${FILESDIR}"/libGL.la.in > "${D}"/${ATI_ROOT}/lib/libGL.la \ - || die "sed failed to make libGL.la" - - local envname="${T}"/04ati-dri-path - if [[ -n ${ABI} ]]; then - envname="${envname}-${ABI}" - fi - echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" - doenvd "${envname}" -} - -pkg_postinst() { - /usr/bin/eselect opengl set --use-old ati - - elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" - elog "To change your xorg.conf you can use the bundled \"aticonfig\"" - elog - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - elog - elog "You will have to source /etc/profile (or logout and back in) for dri" - elog "to work, unless you previously had ati-drivers installed." - - # Workaroud screen corruption - ewarn "If you experience screen corruption with this driver, try putting" - ewarn ' Option "XAANoOffscreenPixmaps" "true"' - ewarn "in the Device Section of /etc/X11/xorg.conf." - - linux-mod_pkg_postinst -} - -pkg_prerm() { - /usr/bin/eselect opengl set xorg-x11 -} diff --git a/x11-drivers/ati-drivers/files/ati-drivers-2.6.29.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.29.patch deleted file mode 100644 index d8c1a8942..000000000 --- a/x11-drivers/ati-drivers/files/ati-drivers-2.6.29.patch +++ /dev/null @@ -1,100 +0,0 @@ -Quick-and-dirty fixes to build on 2.6.29-rcX kernels. - -diff -Nparu build_mod/firegl_public.c fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.c ---- build_mod/firegl_public.c 2009-01-23 20:00:26.000000000 -0200 -+++ fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.c 2009-02-13 15:25:00.000000000 -0200 -@@ -1460,7 +1460,11 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(vo - */ - KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void) - { -+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28) -+ return current->cred->euid; -+#else - return current->euid; -+#endif - } - - /** /brief Delay execution for the specified number of microseconds -@@ -1832,15 +1836,30 @@ int ATI_API_CALL KCL_PosixSecurityCapChe - */ - void ATI_API_CALL KCL_PosixSecurityCapSetIPCLock(unsigned int lock) - { -+ -+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28) -+ struct cred *new = prepare_creds(); -+ if (!new) { -+ printk(KERN_ERR "fglrx: could not allocate memory\n"); -+ return; -+ } -+#else -+#define new current -+#endif - if (lock == 0 ) - { -- cap_lower(current->cap_effective, CAP_IPC_LOCK); -+ cap_lower(new->cap_effective, CAP_IPC_LOCK); - } - else - { -- cap_raise(current->cap_effective, CAP_IPC_LOCK); -+ cap_raise(new->cap_effective, CAP_IPC_LOCK); - } -- return; -+ -+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28) -+ commit_creds(new); -+#else -+#undef new -+#endif - } - - /** \brief Get number of available RAM pages -diff -Nparu build_mod/firegl_public.h fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.h ---- build_mod/firegl_public.h 2009-01-23 20:00:26.000000000 -0200 -+++ fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.h 2009-02-16 14:02:50.000000000 -0300 -@@ -18,6 +18,7 @@ - #define _FIREGL_PUBLIC_H_ - - #include -+#include - #include "kcl_pci.h" - #include "kcl_io.h" - -@@ -590,6 +591,11 @@ extern unsigned long KCL_SYSINFO_ - #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability) - #endif - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28) -+#undef pgprot_writecombine -+#undef pgprot_noncached -+#endif -+ - #ifndef pgprot_writecombine - #define pgprot_writecombine(prot) __pgprot((pgprot_val(prot) & ~(_PAGE_PCD)) | _PAGE_PWT) - #endif -@@ -598,6 +604,7 @@ extern unsigned long KCL_SYSINFO_ - #define pgprot_noncached(prot) __pgprot(pgprot_val(prot) | _PAGE_PCD | _PAGE_PWT) - #endif - -+ - #endif //FIREGL_USWC_SUPPORT - - -diff -Nparu build_mod/kcl_acpi.c fglrx-8.573-new/common/lib/modules/fglrx/build_mod/kcl_acpi.c ---- build_mod/kcl_acpi.c 2009-01-23 20:00:26.000000000 -0200 -+++ fglrx-8.573-new/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2009-02-13 15:25:00.000000000 -0200 -@@ -18,6 +18,12 @@ - #include - #include - -+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28) -+#include <../drivers/acpi/acpica/acconfig.h> -+#include <../drivers/acpi/acpica/aclocal.h> -+#include <../drivers/acpi/acpica/acobject.h> -+#endif -+ - #include "kcl_config.h" - #include "kcl_type.h" - #include "kcl_acpi.h" - #include "kcl_acpi.h" - diff --git a/x11-drivers/ati-drivers/files/ati-drivers-xen.patch b/x11-drivers/ati-drivers/files/ati-drivers-xen.patch deleted file mode 100644 index a1b88df7f..000000000 --- a/x11-drivers/ati-drivers/files/ati-drivers-xen.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- common/lib/modules/fglrx/build_mod/firegl_public.c 2008-12-09 15:17:27.000000000 +0000 -+++ common/lib/modules/fglrx/build_mod/firegl_public.c 2008-12-09 15:12:34.000000000 +0000 -@@ -31,6 +31,9 @@ - #include - - #if !defined(CONFIG_X86_PC) -+#if !defined(CONFIG_X86_PC_XEN) -+#if !defined(CONFIG_X86_XEN) -+#if !defined(CONFIG_X86_64_XEN) - #if !defined(CONFIG_X86_64) - #if !defined(CONFIG_X86_VOYAGER) - #if !defined(CONFIG_X86_NUMAQ) -@@ -47,6 +50,9 @@ - #endif - #endif - #endif -+#endif -+#endif -+#endif - - /* The dirty-page-tracking patch included in NLD 9 SMP kernels defines - * a static inline function that uses a GPL-only symbol in a header ---- common/lib/modules/fglrx/build_mod/firegl_public.h 2008-12-09 15:17:27.000000000 +0000 -+++ common/lib/modules/fglrx/build_mod/firegl_public.h 2008-12-09 15:15:45.000000000 +0000 -@@ -30,9 +30,13 @@ - #endif - - #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) -- -+#ifdef CONFIG_XEN -+#define REMAP_PAGE_RANGE_FN io_remap_pfn_range -+#define REMAP_PAGE_RANGE_STR "io_remap_pfn_range" -+#else - #define REMAP_PAGE_RANGE_FN remap_pfn_range - #define REMAP_PAGE_RANGE_STR "remap_pfn_range" -+#endif - #define REMAP_PAGE_RANGE_OFF(offset) ((offset) >> PAGE_SHIFT) - - #else /* LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,9) */ -@@ -43,13 +47,21 @@ - - #endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) */ - -+#ifdef CONFIG_XEN -+#define REMAP_PAGE_RANGE(vma,offset) \ -+ REMAP_PAGE_RANGE_FN((vma), \ -+ (vma)->vm_start, \ -+ REMAP_PAGE_RANGE_OFF(offset), \ -+ (vma)->vm_end - (vma)->vm_start, \ -+ (vma)->vm_page_prot) -+#else - #define REMAP_PAGE_RANGE(vma,offset) \ - REMAP_PAGE_RANGE_FN(FGL_VMA_API_PASS \ - (vma)->vm_start, \ - REMAP_PAGE_RANGE_OFF(offset), \ - (vma)->vm_end - (vma)->vm_start, \ - (vma)->vm_page_prot) -- -+#endif - - /* Page table macros */ - diff --git a/x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch b/x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch deleted file mode 100644 index f5a35a304..000000000 --- a/x11-drivers/ati-drivers/files/ati-powermode-opt-path-2.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -ur common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh ---- common.orig/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-07-28 04:22:36.000000000 +0100 -+++ common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-08-04 12:19:42.000000000 +0100 -@@ -4,6 +4,8 @@ - # Control script for ACPI lid state and AC adapter state - # - -+aticonfig='/opt/bin/aticonfig' -+ - getXuser() { - user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'` - if [ x"$user" = x"" ]; then -@@ -47,7 +49,7 @@ - done - - #If PPLIB is enabled --su $user -c '/usr/bin/aticonfig --pplib-cmd="get version"' | grep PPLIB -+su $user -c '$aticonfig --pplib-cmd="get version"' | grep PPLIB - if [ $? = 0 ]; then - echo "Has PPLIB" - has_pplib=1 -@@ -61,15 +63,15 @@ - if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then - echo "Low power" - if [ ${has_pplib} -eq 1 ]; then -- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc dc"' -+ su $user -c '$aticonfig --pplib-cmd="notify psrc dc"' - else -- su $user -c "/usr/bin/aticonfig --set-powerstate=1 --effective=now" -+ su $user -c "$aticonfig --set-powerstate=1" - fi - else - echo "high power" - if [ ${has_pplib} -eq 1 ]; then -- su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc ac"' -+ su $user -c '$aticonfig --pplib-cmd="notify psrc ac"' - else -- su $user -c "/usr/bin/aticonfig --set-powerstate=3 --effective=now" -+ su $user -c "$aticonfig --set-powerstate=$($aticonfig --lsp | grep 'default state' | cut -c 3)" - fi - fi - diff --git a/x11-drivers/ati-drivers/files/atieventsd.init b/x11-drivers/ati-drivers/files/atieventsd.init deleted file mode 100644 index 73139ce39..000000000 --- a/x11-drivers/ati-drivers/files/atieventsd.init +++ /dev/null @@ -1,20 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/files/atieventsd.init,v 1.3 2007/05/18 23:58:01 marienz Exp $ - -depend() { - need acpid -} - -start() { - ebegin "Starting ${SVCNAME}" - start-stop-daemon --start --exec /opt/sbin/atieventsd -- ${ATIEVENTSDOPTS} - eend $? -} - -stop() { - ebegin "Stopping ${SVCNAME}" - start-stop-daemon --stop --quiet --exec /opt/sbin/atieventsd - eend $? -} \ No newline at end of file diff --git a/x11-drivers/ati-drivers/files/atieventsd.rc6 b/x11-drivers/ati-drivers/files/atieventsd.rc6 deleted file mode 100644 index 2180e0eb1..000000000 --- a/x11-drivers/ati-drivers/files/atieventsd.rc6 +++ /dev/null @@ -1,22 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/files/atieventsd.rc6,v 1.2 2006/08/04 12:20:19 chrb Exp $ - -depend() { - need acpid -} - -start() { - start-stop-daemon --start --pidfile /var/run/atieventsd.pid \ - --exec /opt/ati/sbin/atieventsd -- ${ATIEVENTSDOPTS} - local pid=`pidof atieventsd` - echo $pid > /var/run/atieventsd.pid - eend $? -} - -stop() { - start-stop-daemon --stop --quiet --pidfile /var/run/atieventsd.pid - eend $? -} - diff --git a/x11-drivers/ati-drivers/files/fglrx-2.6.29-9.2-5.patch b/x11-drivers/ati-drivers/files/fglrx-2.6.29-9.2-5.patch deleted file mode 100644 index 1f6dbb471..000000000 --- a/x11-drivers/ati-drivers/files/fglrx-2.6.29-9.2-5.patch +++ /dev/null @@ -1,1753 +0,0 @@ - patch fglrx 9-2 aka 8.582 to work with linux 2.6.29 - **** new version **** - - contains files from acpica.org - - USE AT YOUR OWN RISK - -diff -Naurp a/common/lib/modules/fglrx/build_mod/common/lib/common/lib/modules/fglrx/build_mod/modules/fglrx/build_mod/2.6.x/Makefile b/common/lib/modules/fglrx/build_mod/2.6.x/Makefile ---- a/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2009-02-28 21:53:58.000000000 +0100 -+++ b/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2009-02-28 22:24:38.000000000 +0100 -@@ -55,7 +55,10 @@ fglrx-hdrs += firegl_public.h - kcl_pci.h \ - kcl_str.h \ - kcl_type.h \ -- kcl_wait.h -+ kcl_wait.h \ -+ acpica-acconfig.h \ -+ acpica-aclocal.h \ -+ acpica-acobject.h - - drm-hdrs += drm.h drmP.h drm_os_linux.h drm_proc.h drm_compat.h - -diff -Naurp a/common/lib/modules/fglrx/build_mod/common/lib/common/lib/modules/fglrx/build_mod/modules/fglrx/build_mod/acpica-acconfig.h b/common/lib/modules/fglrx/build_mod/acpica-acconfig.h ---- a/common/lib/modules/fglrx/build_mod/acpica-acconfig.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/common/lib/modules/fglrx/build_mod/acpica-acconfig.h 2009-02-28 22:24:01.000000000 +0100 -@@ -0,0 +1,217 @@ -+/****************************************************************************** -+ * -+ * Name: acconfig.h - Global configuration constants -+ * -+ *****************************************************************************/ -+ -+/* -+ * Copyright (C) 2000 - 2008, Intel Corp. -+ * 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, -+ * without modification. -+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer -+ * substantially similar to the "NO WARRANTY" disclaimer below -+ * ("Disclaimer") and any redistribution must be conditioned upon -+ * including a substantially similar Disclaimer requirement for further -+ * binary redistribution. -+ * 3. Neither the names of the above-listed copyright holders nor the names -+ * of any contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * Alternatively, this software may be distributed under the terms of the -+ * GNU General Public License ("GPL") version 2 as published by the Free -+ * Software Foundation. -+ * -+ * NO WARRANTY -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR -+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES. -+ */ -+ -+#ifndef _ACCONFIG_H -+#define _ACCONFIG_H -+ -+/****************************************************************************** -+ * -+ * Configuration options -+ * -+ *****************************************************************************/ -+ -+/* -+ * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the -+ * ACPI subsystem. This includes the DEBUG_PRINT output -+ * statements. When disabled, all DEBUG_PRINT -+ * statements are compiled out. -+ * -+ * ACPI_APPLICATION - Use this switch if the subsystem is going to be run -+ * at the application level. -+ * -+ */ -+ -+/* -+ * OS name, used for the _OS object. The _OS object is essentially obsolete, -+ * but there is a large base of ASL/AML code in existing machines that check -+ * for the string below. The use of this string usually guarantees that -+ * the ASL will execute down the most tested code path. Also, there is some -+ * code that will not execute the _OSI method unless _OS matches the string -+ * below. Therefore, change this string at your own risk. -+ */ -+#define ACPI_OS_NAME "Microsoft Windows NT" -+ -+/* Maximum objects in the various object caches */ -+ -+#define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */ -+#define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ -+#define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */ -+#define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */ -+#define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ -+ -+/* -+ * Should the subsystem abort the loading of an ACPI table if the -+ * table checksum is incorrect? -+ */ -+#define ACPI_CHECKSUM_ABORT FALSE -+ -+/****************************************************************************** -+ * -+ * Subsystem Constants -+ * -+ *****************************************************************************/ -+ -+/* Version of ACPI supported */ -+ -+#define ACPI_CA_SUPPORT_LEVEL 3 -+ -+/* Maximum count for a semaphore object */ -+ -+#define ACPI_MAX_SEMAPHORE_COUNT 256 -+ -+/* Maximum object reference count (detects object deletion issues) */ -+ -+#define ACPI_MAX_REFERENCE_COUNT 0x1000 -+ -+/* Size of cached memory mapping for system memory operation region */ -+ -+#define ACPI_SYSMEM_REGION_WINDOW_SIZE 4096 -+ -+/* owner_id tracking. 8 entries allows for 255 owner_ids */ -+ -+#define ACPI_NUM_OWNERID_MASKS 8 -+ -+/* Size of the root table array is increased by this increment */ -+ -+#define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 -+ -+/* Maximum number of While() loop iterations before forced abort */ -+ -+#define ACPI_MAX_LOOP_ITERATIONS 0xFFFF -+ -+/****************************************************************************** -+ * -+ * ACPI Specification constants (Do not change unless the specification changes) -+ * -+ *****************************************************************************/ -+ -+/* Number of distinct GPE register blocks and register width */ -+ -+#define ACPI_MAX_GPE_BLOCKS 2 -+#define ACPI_GPE_REGISTER_WIDTH 8 -+ -+/* Method info (in WALK_STATE), containing local variables and argumetns */ -+ -+#define ACPI_METHOD_NUM_LOCALS 8 -+#define ACPI_METHOD_MAX_LOCAL 7 -+ -+#define ACPI_METHOD_NUM_ARGS 7 -+#define ACPI_METHOD_MAX_ARG 6 -+ -+/* Length of _HID, _UID, _CID, and UUID values */ -+ -+#define ACPI_DEVICE_ID_LENGTH 0x09 -+#define ACPI_MAX_CID_LENGTH 48 -+#define ACPI_UUID_LENGTH 16 -+ -+/* -+ * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG -+ */ -+#define ACPI_OBJ_NUM_OPERANDS 8 -+#define ACPI_OBJ_MAX_OPERAND 7 -+ -+/* Number of elements in the Result Stack frame, can be an arbitrary value */ -+ -+#define ACPI_RESULTS_FRAME_OBJ_NUM 8 -+ -+/* -+ * Maximal number of elements the Result Stack can contain, -+ * it may be an arbitray value not exceeding the types of -+ * result_size and result_count (now u8). -+ */ -+#define ACPI_RESULTS_OBJ_NUM_MAX 255 -+ -+/* Names within the namespace are 4 bytes long */ -+ -+#define ACPI_NAME_SIZE 4 -+#define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ -+#define ACPI_PATH_SEPARATOR '.' -+ -+/* Sizes for ACPI table headers */ -+ -+#define ACPI_OEM_ID_SIZE 6 -+#define ACPI_OEM_TABLE_ID_SIZE 8 -+ -+/* Constants used in searching for the RSDP in low memory */ -+ -+#define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ -+#define ACPI_EBDA_PTR_LENGTH 2 -+#define ACPI_EBDA_WINDOW_SIZE 1024 -+#define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ -+#define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 -+#define ACPI_RSDP_SCAN_STEP 16 -+ -+/* Operation regions */ -+ -+#define ACPI_NUM_PREDEFINED_REGIONS 8 -+#define ACPI_USER_REGION_BEGIN 0x80 -+ -+/* Maximum space_ids for Operation Regions */ -+ -+#define ACPI_MAX_ADDRESS_SPACE 255 -+ -+/* Array sizes. Used for range checking also */ -+ -+#define ACPI_MAX_MATCH_OPCODE 5 -+ -+/* RSDP checksums */ -+ -+#define ACPI_RSDP_CHECKSUM_LENGTH 20 -+#define ACPI_RSDP_XCHECKSUM_LENGTH 36 -+ -+/* SMBus bidirectional buffer size */ -+ -+#define ACPI_SMBUS_BUFFER_SIZE 34 -+ -+/****************************************************************************** -+ * -+ * ACPI AML Debugger -+ * -+ *****************************************************************************/ -+ -+#define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ -+ -+#define ACPI_DEBUGGER_COMMAND_PROMPT '-' -+#define ACPI_DEBUGGER_EXECUTE_PROMPT '%' -+ -+#endif /* _ACCONFIG_H */ -diff -Naurp a/common/lib/modules/fglrx/build_mod/common/lib/common/lib/modules/fglrx/build_mod/modules/fglrx/build_mod/acpica-aclocal.h b/common/lib/modules/fglrx/build_mod/acpica-aclocal.h ---- a/common/lib/modules/fglrx/build_mod/acpica-aclocal.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/common/lib/modules/fglrx/build_mod/acpica-aclocal.h 2009-02-28 21:35:32.000000000 +0100 -@@ -0,0 +1,990 @@ -+/****************************************************************************** -+ * -+ * Name: aclocal.h - Internal data types used across the ACPI subsystem -+ * -+ *****************************************************************************/ -+ -+/* -+ * Copyright (C) 2000 - 2008, Intel Corp. -+ * 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, -+ * without modification. -+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer -+ * substantially similar to the "NO WARRANTY" disclaimer below -+ * ("Disclaimer") and any redistribution must be conditioned upon -+ * including a substantially similar Disclaimer requirement for further -+ * binary redistribution. -+ * 3. Neither the names of the above-listed copyright holders nor the names -+ * of any contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * Alternatively, this software may be distributed under the terms of the -+ * GNU General Public License ("GPL") version 2 as published by the Free -+ * Software Foundation. -+ * -+ * NO WARRANTY -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR -+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES. -+ */ -+ -+#ifndef __ACLOCAL_H__ -+#define __ACLOCAL_H__ -+ -+/* acpisrc:struct_defs -- for acpisrc conversion */ -+ -+#define ACPI_SERIALIZED 0xFF -+ -+typedef u32 acpi_mutex_handle; -+#define ACPI_GLOBAL_LOCK (acpi_semaphore) (-1) -+ -+/* Total number of aml opcodes defined */ -+ -+#define AML_NUM_OPCODES 0x7F -+ -+/* Forward declarations */ -+ -+struct acpi_walk_state; -+struct acpi_obj_mutex; -+union acpi_parse_object; -+ -+/***************************************************************************** -+ * -+ * Mutex typedefs and structs -+ * -+ ****************************************************************************/ -+ -+/* -+ * Predefined handles for the mutex objects used within the subsystem -+ * All mutex objects are automatically created by acpi_ut_mutex_initialize. -+ * -+ * The acquire/release ordering protocol is implied via this list. Mutexes -+ * with a lower value must be acquired before mutexes with a higher value. -+ * -+ * NOTE: any changes here must be reflected in the acpi_gbl_mutex_names -+ * table below also! -+ */ -+#define ACPI_MTX_INTERPRETER 0 /* AML Interpreter, main lock */ -+#define ACPI_MTX_NAMESPACE 1 /* ACPI Namespace */ -+#define ACPI_MTX_TABLES 2 /* Data for ACPI tables */ -+#define ACPI_MTX_EVENTS 3 /* Data for ACPI events */ -+#define ACPI_MTX_CACHES 4 /* Internal caches, general purposes */ -+#define ACPI_MTX_MEMORY 5 /* Debug memory tracking lists */ -+#define ACPI_MTX_DEBUG_CMD_COMPLETE 6 /* AML debugger */ -+#define ACPI_MTX_DEBUG_CMD_READY 7 /* AML debugger */ -+ -+#define ACPI_MAX_MUTEX 7 -+#define ACPI_NUM_MUTEX ACPI_MAX_MUTEX+1 -+ -+#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) -+#ifdef DEFINE_ACPI_GLOBALS -+ -+/* Debug names for the mutexes above */ -+ -+static char *acpi_gbl_mutex_names[ACPI_NUM_MUTEX] = { -+ "ACPI_MTX_Interpreter", -+ "ACPI_MTX_Namespace", -+ "ACPI_MTX_Tables", -+ "ACPI_MTX_Events", -+ "ACPI_MTX_Caches", -+ "ACPI_MTX_Memory", -+ "ACPI_MTX_CommandComplete", -+ "ACPI_MTX_CommandReady" -+}; -+ -+#endif -+#endif -+ -+/* -+ * Predefined handles for spinlocks used within the subsystem. -+ * These spinlocks are created by acpi_ut_mutex_initialize -+ */ -+#define ACPI_LOCK_GPES 0 -+#define ACPI_LOCK_HARDWARE 1 -+ -+#define ACPI_MAX_LOCK 1 -+#define ACPI_NUM_LOCK ACPI_MAX_LOCK+1 -+ -+/* This Thread ID means that the mutex is not in use (unlocked) */ -+ -+#define ACPI_MUTEX_NOT_ACQUIRED (acpi_thread_id) 0 -+ -+/* Table for the global mutexes */ -+ -+struct acpi_mutex_info { -+ acpi_mutex mutex; -+ u32 use_count; -+ acpi_thread_id thread_id; -+}; -+ -+/* Lock flag parameter for various interfaces */ -+ -+#define ACPI_MTX_DO_NOT_LOCK 0 -+#define ACPI_MTX_LOCK 1 -+ -+/* Field access granularities */ -+ -+#define ACPI_FIELD_BYTE_GRANULARITY 1 -+#define ACPI_FIELD_WORD_GRANULARITY 2 -+#define ACPI_FIELD_DWORD_GRANULARITY 4 -+#define ACPI_FIELD_QWORD_GRANULARITY 8 -+ -+#define ACPI_ENTRY_NOT_FOUND NULL -+ -+/***************************************************************************** -+ * -+ * Namespace typedefs and structs -+ * -+ ****************************************************************************/ -+ -+/* Operational modes of the AML interpreter/scanner */ -+ -+typedef enum { -+ ACPI_IMODE_LOAD_PASS1 = 0x01, -+ ACPI_IMODE_LOAD_PASS2 = 0x02, -+ ACPI_IMODE_EXECUTE = 0x03 -+} acpi_interpreter_mode; -+ -+/* -+ * The Namespace Node describes a named object that appears in the AML. -+ * descriptor_type is used to differentiate between internal descriptors. -+ * -+ * The node is optimized for both 32-bit and 64-bit platforms: -+ * 20 bytes for the 32-bit case, 32 bytes for the 64-bit case. -+ * -+ * Note: The descriptor_type and Type fields must appear in the identical -+ * position in both the struct acpi_namespace_node and union acpi_operand_object -+ * structures. -+ */ -+struct acpi_namespace_node { -+ union acpi_operand_object *object; /* Interpreter object */ -+ u8 descriptor_type; /* Differentiate object descriptor types */ -+ u8 type; /* ACPI Type associated with this name */ -+ u8 flags; /* Miscellaneous flags */ -+ acpi_owner_id owner_id; /* Node creator */ -+ union acpi_name_union name; /* ACPI Name, always 4 chars per ACPI spec */ -+ struct acpi_namespace_node *child; /* First child */ -+ struct acpi_namespace_node *peer; /* Peer. Parent if ANOBJ_END_OF_PEER_LIST set */ -+ -+ /* -+ * The following fields are used by the ASL compiler and disassembler only -+ */ -+#ifdef ACPI_LARGE_NAMESPACE_NODE -+ union acpi_parse_object *op; -+ u32 value; -+ u32 length; -+#endif -+}; -+ -+/* Namespace Node flags */ -+ -+#define ANOBJ_END_OF_PEER_LIST 0x01 /* End-of-list, Peer field points to parent */ -+#define ANOBJ_TEMPORARY 0x02 /* Node is create by a method and is temporary */ -+#define ANOBJ_METHOD_ARG 0x04 /* Node is a method argument */ -+#define ANOBJ_METHOD_LOCAL 0x08 /* Node is a method local */ -+#define ANOBJ_SUBTREE_HAS_INI 0x10 /* Used to optimize device initialization */ -+#define ANOBJ_EVALUATED 0x20 /* Set on first evaluation of node */ -+ -+#define ANOBJ_IS_EXTERNAL 0x08 /* i_aSL only: This object created via External() */ -+#define ANOBJ_METHOD_NO_RETVAL 0x10 /* i_aSL only: Method has no return value */ -+#define ANOBJ_METHOD_SOME_NO_RETVAL 0x20 /* i_aSL only: Method has at least one return value */ -+#define ANOBJ_IS_BIT_OFFSET 0x40 /* i_aSL only: Reference is a bit offset */ -+#define ANOBJ_IS_REFERENCED 0x80 /* i_aSL only: Object was referenced */ -+ -+/* One internal RSDT for table management */ -+ -+struct acpi_internal_rsdt { -+ struct acpi_table_desc *tables; -+ u32 count; -+ u32 size; -+ u8 flags; -+}; -+ -+/* Flags for above */ -+ -+#define ACPI_ROOT_ORIGIN_UNKNOWN (0) /* ~ORIGIN_ALLOCATED */ -+#define ACPI_ROOT_ORIGIN_ALLOCATED (1) -+#define ACPI_ROOT_ALLOW_RESIZE (2) -+ -+/* Predefined (fixed) table indexes */ -+ -+#define ACPI_TABLE_INDEX_DSDT (0) -+#define ACPI_TABLE_INDEX_FACS (1) -+ -+struct acpi_find_context { -+ char *search_for; -+ acpi_handle *list; -+ u32 *count; -+}; -+ -+struct acpi_ns_search_data { -+ struct acpi_namespace_node *node; -+}; -+ -+/* Object types used during package copies */ -+ -+#define ACPI_COPY_TYPE_SIMPLE 0 -+#define ACPI_COPY_TYPE_PACKAGE 1 -+ -+/* Info structure used to convert external<->internal namestrings */ -+ -+struct acpi_namestring_info { -+ const char *external_name; -+ const char *next_external_char; -+ char *internal_name; -+ u32 length; -+ u32 num_segments; -+ u32 num_carats; -+ u8 fully_qualified; -+}; -+ -+/* Field creation info */ -+ -+struct acpi_create_field_info { -+ struct acpi_namespace_node *region_node; -+ struct acpi_namespace_node *field_node; -+ struct acpi_namespace_node *register_node; -+ struct acpi_namespace_node *data_register_node; -+ u32 bank_value; -+ u32 field_bit_position; -+ u32 field_bit_length; -+ u8 field_flags; -+ u8 attribute; -+ u8 field_type; -+}; -+ -+typedef -+acpi_status(*ACPI_INTERNAL_METHOD) (struct acpi_walk_state * walk_state); -+ -+/* -+ * Bitmapped ACPI types. Used internally only -+ */ -+#define ACPI_BTYPE_ANY 0x00000000 -+#define ACPI_BTYPE_INTEGER 0x00000001 -+#define ACPI_BTYPE_STRING 0x00000002 -+#define ACPI_BTYPE_BUFFER 0x00000004 -+#define ACPI_BTYPE_PACKAGE 0x00000008 -+#define ACPI_BTYPE_FIELD_UNIT 0x00000010 -+#define ACPI_BTYPE_DEVICE 0x00000020 -+#define ACPI_BTYPE_EVENT 0x00000040 -+#define ACPI_BTYPE_METHOD 0x00000080 -+#define ACPI_BTYPE_MUTEX 0x00000100 -+#define ACPI_BTYPE_REGION 0x00000200 -+#define ACPI_BTYPE_POWER 0x00000400 -+#define ACPI_BTYPE_PROCESSOR 0x00000800 -+#define ACPI_BTYPE_THERMAL 0x00001000 -+#define ACPI_BTYPE_BUFFER_FIELD 0x00002000 -+#define ACPI_BTYPE_DDB_HANDLE 0x00004000 -+#define ACPI_BTYPE_DEBUG_OBJECT 0x00008000 -+#define ACPI_BTYPE_REFERENCE 0x00010000 -+#define ACPI_BTYPE_RESOURCE 0x00020000 -+ -+#define ACPI_BTYPE_COMPUTE_DATA (ACPI_BTYPE_INTEGER | ACPI_BTYPE_STRING | ACPI_BTYPE_BUFFER) -+ -+#define ACPI_BTYPE_DATA (ACPI_BTYPE_COMPUTE_DATA | ACPI_BTYPE_PACKAGE) -+#define ACPI_BTYPE_DATA_REFERENCE (ACPI_BTYPE_DATA | ACPI_BTYPE_REFERENCE | ACPI_BTYPE_DDB_HANDLE) -+#define ACPI_BTYPE_DEVICE_OBJECTS (ACPI_BTYPE_DEVICE | ACPI_BTYPE_THERMAL | ACPI_BTYPE_PROCESSOR) -+#define ACPI_BTYPE_OBJECTS_AND_REFS 0x0001FFFF /* ARG or LOCAL */ -+#define ACPI_BTYPE_ALL_OBJECTS 0x0000FFFF -+ -+/* -+ * Information structure for ACPI predefined names. -+ * Each entry in the table contains the following items: -+ * -+ * Name - The ACPI reserved name -+ * param_count - Number of arguments to the method -+ * expected_return_btypes - Allowed type(s) for the return value -+ */ -+struct acpi_name_info { -+ char name[ACPI_NAME_SIZE]; -+ u8 param_count; -+ u8 expected_btypes; -+}; -+ -+/* -+ * Secondary information structures for ACPI predefined objects that return -+ * package objects. This structure appears as the next entry in the table -+ * after the NAME_INFO structure above. -+ * -+ * The reason for this is to minimize the size of the predefined name table. -+ */ -+ -+/* -+ * Used for ACPI_PTYPE1_FIXED, ACPI_PTYPE1_VAR, ACPI_PTYPE2, -+ * ACPI_PTYPE2_MIN, ACPI_PTYPE2_PKG_COUNT, ACPI_PTYPE2_COUNT -+ */ -+struct acpi_package_info { -+ u8 type; -+ u8 object_type1; -+ u8 count1; -+ u8 object_type2; -+ u8 count2; -+ u8 reserved; -+}; -+ -+/* Used for ACPI_PTYPE2_FIXED */ -+ -+struct acpi_package_info2 { -+ u8 type; -+ u8 count; -+ u8 object_type[4]; -+}; -+ -+/* Used for ACPI_PTYPE1_OPTION */ -+ -+struct acpi_package_info3 { -+ u8 type; -+ u8 count; -+ u8 object_type[2]; -+ u8 tail_object_type; -+ u8 reserved; -+}; -+ -+union acpi_predefined_info { -+ struct acpi_name_info info; -+ struct acpi_package_info ret_info; -+ struct acpi_package_info2 ret_info2; -+ struct acpi_package_info3 ret_info3; -+}; -+ -+/* -+ * Bitmapped return value types -+ * Note: the actual data types must be contiguous, a loop in nspredef.c -+ * depends on this. -+ */ -+#define ACPI_RTYPE_ANY 0x00 -+#define ACPI_RTYPE_NONE 0x01 -+#define ACPI_RTYPE_INTEGER 0x02 -+#define ACPI_RTYPE_STRING 0x04 -+#define ACPI_RTYPE_BUFFER 0x08 -+#define ACPI_RTYPE_PACKAGE 0x10 -+#define ACPI_RTYPE_REFERENCE 0x20 -+#define ACPI_RTYPE_ALL 0x3F -+ -+#define ACPI_NUM_RTYPES 5 /* Number of actual object types */ -+ -+/***************************************************************************** -+ * -+ * Event typedefs and structs -+ * -+ ****************************************************************************/ -+ -+/* Dispatch info for each GPE -- either a method or handler, cannot be both */ -+ -+struct acpi_handler_info { -+ acpi_event_handler address; /* Address of handler, if any */ -+ void *context; /* Context to be passed to handler */ -+ struct acpi_namespace_node *method_node; /* Method node for this GPE level (saved) */ -+}; -+ -+union acpi_gpe_dispatch_info { -+ struct acpi_namespace_node *method_node; /* Method node for this GPE level */ -+ struct acpi_handler_info *handler; -+}; -+ -+/* -+ * Information about a GPE, one per each GPE in an array. -+ * NOTE: Important to keep this struct as small as possible. -+ */ -+struct acpi_gpe_event_info { -+ union acpi_gpe_dispatch_info dispatch; /* Either Method or Handler */ -+ struct acpi_gpe_register_info *register_info; /* Backpointer to register info */ -+ u8 flags; /* Misc info about this GPE */ -+ u8 gpe_number; /* This GPE */ -+}; -+ -+/* Information about a GPE register pair, one per each status/enable pair in an array */ -+ -+struct acpi_gpe_register_info { -+ struct acpi_generic_address status_address; /* Address of status reg */ -+ struct acpi_generic_address enable_address; /* Address of enable reg */ -+ u8 enable_for_wake; /* GPEs to keep enabled when sleeping */ -+ u8 enable_for_run; /* GPEs to keep enabled when running */ -+ u8 base_gpe_number; /* Base GPE number for this register */ -+}; -+ -+/* -+ * Information about a GPE register block, one per each installed block -- -+ * GPE0, GPE1, and one per each installed GPE Block Device. -+ */ -+struct acpi_gpe_block_info { -+ struct acpi_namespace_node *node; -+ struct acpi_gpe_block_info *previous; -+ struct acpi_gpe_block_info *next; -+ struct acpi_gpe_xrupt_info *xrupt_block; /* Backpointer to interrupt block */ -+ struct acpi_gpe_register_info *register_info; /* One per GPE register pair */ -+ struct acpi_gpe_event_info *event_info; /* One for each GPE */ -+ struct acpi_generic_address block_address; /* Base address of the block */ -+ u32 register_count; /* Number of register pairs in block */ -+ u8 block_base_number; /* Base GPE number for this block */ -+}; -+ -+/* Information about GPE interrupt handlers, one per each interrupt level used for GPEs */ -+ -+struct acpi_gpe_xrupt_info { -+ struct acpi_gpe_xrupt_info *previous; -+ struct acpi_gpe_xrupt_info *next; -+ struct acpi_gpe_block_info *gpe_block_list_head; /* List of GPE blocks for this xrupt */ -+ u32 interrupt_number; /* System interrupt number */ -+}; -+ -+struct acpi_gpe_walk_info { -+ struct acpi_namespace_node *gpe_device; -+ struct acpi_gpe_block_info *gpe_block; -+}; -+ -+struct acpi_gpe_device_info { -+ u32 index; -+ u32 next_block_base_index; -+ acpi_status status; -+ struct acpi_namespace_node *gpe_device; -+}; -+ -+typedef acpi_status(*acpi_gpe_callback) (struct acpi_gpe_xrupt_info *gpe_xrupt_info, -+ struct acpi_gpe_block_info *gpe_block, void *context); -+ -+/* Information about each particular fixed event */ -+ -+struct acpi_fixed_event_handler { -+ acpi_event_handler handler; /* Address of handler. */ -+ void *context; /* Context to be passed to handler */ -+}; -+ -+struct acpi_fixed_event_info { -+ u8 status_register_id; -+ u8 enable_register_id; -+ u16 status_bit_mask; -+ u16 enable_bit_mask; -+}; -+ -+/* Information used during field processing */ -+ -+struct acpi_field_info { -+ u8 skip_field; -+ u8 field_flag; -+ u32 pkg_length; -+}; -+ -+/***************************************************************************** -+ * -+ * Generic "state" object for stacks -+ * -+ ****************************************************************************/ -+ -+#define ACPI_CONTROL_NORMAL 0xC0 -+#define ACPI_CONTROL_CONDITIONAL_EXECUTING 0xC1 -+#define ACPI_CONTROL_PREDICATE_EXECUTING 0xC2 -+#define ACPI_CONTROL_PREDICATE_FALSE 0xC3 -+#define ACPI_CONTROL_PREDICATE_TRUE 0xC4 -+ -+#define ACPI_STATE_COMMON \ -+ void *next; \ -+ u8 descriptor_type; /* To differentiate various internal objs */\ -+ u8 flags; \ -+ u16 value; \ -+ u16 state; -+ -+ /* There are 2 bytes available here until the next natural alignment boundary */ -+ -+struct acpi_common_state { -+ACPI_STATE_COMMON}; -+ -+/* -+ * Update state - used to traverse complex objects such as packages -+ */ -+struct acpi_update_state { -+ ACPI_STATE_COMMON union acpi_operand_object *object; -+}; -+ -+/* -+ * Pkg state - used to traverse nested package structures -+ */ -+struct acpi_pkg_state { -+ ACPI_STATE_COMMON u16 index; -+ union acpi_operand_object *source_object; -+ union acpi_operand_object *dest_object; -+ struct acpi_walk_state *walk_state; -+ void *this_target_obj; -+ u32 num_packages; -+}; -+ -+/* -+ * Control state - one per if/else and while constructs. -+ * Allows nesting of these constructs -+ */ -+struct acpi_control_state { -+ ACPI_STATE_COMMON u16 opcode; -+ union acpi_parse_object *predicate_op; -+ u8 *aml_predicate_start; /* Start of if/while predicate */ -+ u8 *package_end; /* End of if/while block */ -+ u32 loop_count; /* While() loop counter */ -+}; -+ -+/* -+ * Scope state - current scope during namespace lookups -+ */ -+struct acpi_scope_state { -+ ACPI_STATE_COMMON struct acpi_namespace_node *node; -+}; -+ -+struct acpi_pscope_state { -+ ACPI_STATE_COMMON u32 arg_count; /* Number of fixed arguments */ -+ union acpi_parse_object *op; /* Current op being parsed */ -+ u8 *arg_end; /* Current argument end */ -+ u8 *pkg_end; /* Current package end */ -+ u32 arg_list; /* Next argument to parse */ -+}; -+ -+/* -+ * Thread state - one per thread across multiple walk states. Multiple walk -+ * states are created when there are nested control methods executing. -+ */ -+struct acpi_thread_state { -+ ACPI_STATE_COMMON u8 current_sync_level; /* Mutex Sync (nested acquire) level */ -+ struct acpi_walk_state *walk_state_list; /* Head of list of walk_states for this thread */ -+ union acpi_operand_object *acquired_mutex_list; /* List of all currently acquired mutexes */ -+ acpi_thread_id thread_id; /* Running thread ID */ -+}; -+ -+/* -+ * Result values - used to accumulate the results of nested -+ * AML arguments -+ */ -+struct acpi_result_values { -+ ACPI_STATE_COMMON -+ union acpi_operand_object *obj_desc[ACPI_RESULTS_FRAME_OBJ_NUM]; -+}; -+ -+typedef -+acpi_status(*acpi_parse_downwards) (struct acpi_walk_state * walk_state, -+ union acpi_parse_object ** out_op); -+ -+typedef acpi_status(*acpi_parse_upwards) (struct acpi_walk_state * walk_state); -+ -+/* -+ * Notify info - used to pass info to the deferred notify -+ * handler/dispatcher. -+ */ -+struct acpi_notify_info { -+ ACPI_STATE_COMMON struct acpi_namespace_node *node; -+ union acpi_operand_object *handler_obj; -+}; -+ -+/* Generic state is union of structs above */ -+ -+union acpi_generic_state { -+ struct acpi_common_state common; -+ struct acpi_control_state control; -+ struct acpi_update_state update; -+ struct acpi_scope_state scope; -+ struct acpi_pscope_state parse_scope; -+ struct acpi_pkg_state pkg; -+ struct acpi_thread_state thread; -+ struct acpi_result_values results; -+ struct acpi_notify_info notify; -+}; -+ -+/***************************************************************************** -+ * -+ * Interpreter typedefs and structs -+ * -+ ****************************************************************************/ -+ -+typedef acpi_status(*ACPI_EXECUTE_OP) (struct acpi_walk_state * walk_state); -+ -+/***************************************************************************** -+ * -+ * Parser typedefs and structs -+ * -+ ****************************************************************************/ -+ -+/* -+ * AML opcode, name, and argument layout -+ */ -+struct acpi_opcode_info { -+#if defined(ACPI_DISASSEMBLER) || defined(ACPI_DEBUG_OUTPUT) -+ char *name; /* Opcode name (disassembler/debug only) */ -+#endif -+ u32 parse_args; /* Grammar/Parse time arguments */ -+ u32 runtime_args; /* Interpret time arguments */ -+ u16 flags; /* Misc flags */ -+ u8 object_type; /* Corresponding internal object type */ -+ u8 class; /* Opcode class */ -+ u8 type; /* Opcode type */ -+}; -+ -+union acpi_parse_value { -+ acpi_integer integer; /* Integer constant (Up to 64 bits) */ -+ struct uint64_struct integer64; /* Structure overlay for 2 32-bit Dwords */ -+ u32 size; /* bytelist or field size */ -+ char *string; /* NULL terminated string */ -+ u8 *buffer; /* buffer or string */ -+ char *name; /* NULL terminated string */ -+ union acpi_parse_object *arg; /* arguments and contained ops */ -+}; -+ -+#ifdef ACPI_DISASSEMBLER -+#define ACPI_DISASM_ONLY_MEMBERS(a) a; -+#else -+#define ACPI_DISASM_ONLY_MEMBERS(a) -+#endif -+ -+#define ACPI_PARSE_COMMON \ -+ union acpi_parse_object *parent; /* Parent op */\ -+ u8 descriptor_type; /* To differentiate various internal objs */\ -+ u8 flags; /* Type of Op */\ -+ u16 aml_opcode; /* AML opcode */\ -+ u32 aml_offset; /* Offset of declaration in AML */\ -+ union acpi_parse_object *next; /* Next op */\ -+ struct acpi_namespace_node *node; /* For use by interpreter */\ -+ union acpi_parse_value value; /* Value or args associated with the opcode */\ -+ u8 arg_list_length; /* Number of elements in the arg list */\ -+ ACPI_DISASM_ONLY_MEMBERS (\ -+ u8 disasm_flags; /* Used during AML disassembly */\ -+ u8 disasm_opcode; /* Subtype used for disassembly */\ -+ char aml_op_name[16]) /* Op name (debug only) */ -+ -+#define ACPI_DASM_BUFFER 0x00 -+#define ACPI_DASM_RESOURCE 0x01 -+#define ACPI_DASM_STRING 0x02 -+#define ACPI_DASM_UNICODE 0x03 -+#define ACPI_DASM_EISAID 0x04 -+#define ACPI_DASM_MATCHOP 0x05 -+#define ACPI_DASM_LNOT_PREFIX 0x06 -+#define ACPI_DASM_LNOT_SUFFIX 0x07 -+#define ACPI_DASM_IGNORE 0x08 -+ -+/* -+ * Generic operation (for example: If, While, Store) -+ */ -+struct acpi_parse_obj_common { -+ACPI_PARSE_COMMON}; -+ -+/* -+ * Extended Op for named ops (Scope, Method, etc.), deferred ops (Methods and op_regions), -+ * and bytelists. -+ */ -+struct acpi_parse_obj_named { -+ ACPI_PARSE_COMMON u8 *path; -+ u8 *data; /* AML body or bytelist data */ -+ u32 length; /* AML length */ -+ u32 name; /* 4-byte name or zero if no name */ -+}; -+ -+/* This version is used by the i_aSL compiler only */ -+ -+#define ACPI_MAX_PARSEOP_NAME 20 -+ -+struct acpi_parse_obj_asl { -+ ACPI_PARSE_COMMON union acpi_parse_object *child; -+ union acpi_parse_object *parent_method; -+ char *filename; -+ char *external_name; -+ char *namepath; -+ char name_seg[4]; -+ u32 extra_value; -+ u32 column; -+ u32 line_number; -+ u32 logical_line_number; -+ u32 logical_byte_offset; -+ u32 end_line; -+ u32 end_logical_line; -+ u32 acpi_btype; -+ u32 aml_length; -+ u32 aml_subtree_length; -+ u32 final_aml_length; -+ u32 final_aml_offset; -+ u32 compile_flags; -+ u16 parse_opcode; -+ u8 aml_opcode_length; -+ u8 aml_pkg_len_bytes; -+ u8 extra; -+ char parse_op_name[ACPI_MAX_PARSEOP_NAME]; -+}; -+ -+union acpi_parse_object { -+ struct acpi_parse_obj_common common; -+ struct acpi_parse_obj_named named; -+ struct acpi_parse_obj_asl asl; -+}; -+ -+/* -+ * Parse state - one state per parser invocation and each control -+ * method. -+ */ -+struct acpi_parse_state { -+ u8 *aml_start; /* First AML byte */ -+ u8 *aml; /* Next AML byte */ -+ u8 *aml_end; /* (last + 1) AML byte */ -+ u8 *pkg_start; /* Current package begin */ -+ u8 *pkg_end; /* Current package end */ -+ union acpi_parse_object *start_op; /* Root of parse tree */ -+ struct acpi_namespace_node *start_node; -+ union acpi_generic_state *scope; /* Current scope */ -+ union acpi_parse_object *start_scope; -+ u32 aml_size; -+}; -+ -+/* Parse object flags */ -+ -+#define ACPI_PARSEOP_GENERIC 0x01 -+#define ACPI_PARSEOP_NAMED 0x02 -+#define ACPI_PARSEOP_DEFERRED 0x04 -+#define ACPI_PARSEOP_BYTELIST 0x08 -+#define ACPI_PARSEOP_IN_STACK 0x10 -+#define ACPI_PARSEOP_TARGET 0x20 -+#define ACPI_PARSEOP_IN_CACHE 0x80 -+ -+/* Parse object disasm_flags */ -+ -+#define ACPI_PARSEOP_IGNORE 0x01 -+#define ACPI_PARSEOP_PARAMLIST 0x02 -+#define ACPI_PARSEOP_EMPTY_TERMLIST 0x04 -+#define ACPI_PARSEOP_SPECIAL 0x10 -+ -+/***************************************************************************** -+ * -+ * Hardware (ACPI registers) and PNP -+ * -+ ****************************************************************************/ -+ -+struct acpi_bit_register_info { -+ u8 parent_register; -+ u8 bit_position; -+ u16 access_bit_mask; -+}; -+ -+/* -+ * Some ACPI registers have bits that must be ignored -- meaning that they -+ * must be preserved. -+ */ -+#define ACPI_PM1_STATUS_PRESERVED_BITS 0x0800 /* Bit 11 */ -+#define ACPI_PM1_CONTROL_PRESERVED_BITS 0x0200 /* Bit 9 (whatever) */ -+ -+/* -+ * Register IDs -+ * These are the full ACPI registers -+ */ -+#define ACPI_REGISTER_PM1_STATUS 0x01 -+#define ACPI_REGISTER_PM1_ENABLE 0x02 -+#define ACPI_REGISTER_PM1_CONTROL 0x03 -+#define ACPI_REGISTER_PM1A_CONTROL 0x04 -+#define ACPI_REGISTER_PM1B_CONTROL 0x05 -+#define ACPI_REGISTER_PM2_CONTROL 0x06 -+#define ACPI_REGISTER_PM_TIMER 0x07 -+#define ACPI_REGISTER_PROCESSOR_BLOCK 0x08 -+#define ACPI_REGISTER_SMI_COMMAND_BLOCK 0x09 -+ -+/* Masks used to access the bit_registers */ -+ -+#define ACPI_BITMASK_TIMER_STATUS 0x0001 -+#define ACPI_BITMASK_BUS_MASTER_STATUS 0x0010 -+#define ACPI_BITMASK_GLOBAL_LOCK_STATUS 0x0020 -+#define ACPI_BITMASK_POWER_BUTTON_STATUS 0x0100 -+#define ACPI_BITMASK_SLEEP_BUTTON_STATUS 0x0200 -+#define ACPI_BITMASK_RT_CLOCK_STATUS 0x0400 -+#define ACPI_BITMASK_PCIEXP_WAKE_STATUS 0x4000 /* ACPI 3.0 */ -+#define ACPI_BITMASK_WAKE_STATUS 0x8000 -+ -+#define ACPI_BITMASK_ALL_FIXED_STATUS (\ -+ ACPI_BITMASK_TIMER_STATUS | \ -+ ACPI_BITMASK_BUS_MASTER_STATUS | \ -+ ACPI_BITMASK_GLOBAL_LOCK_STATUS | \ -+ ACPI_BITMASK_POWER_BUTTON_STATUS | \ -+ ACPI_BITMASK_SLEEP_BUTTON_STATUS | \ -+ ACPI_BITMASK_RT_CLOCK_STATUS | \ -+ ACPI_BITMASK_WAKE_STATUS) -+ -+#define ACPI_BITMASK_TIMER_ENABLE 0x0001 -+#define ACPI_BITMASK_GLOBAL_LOCK_ENABLE 0x0020 -+#define ACPI_BITMASK_POWER_BUTTON_ENABLE 0x0100 -+#define ACPI_BITMASK_SLEEP_BUTTON_ENABLE 0x0200 -+#define ACPI_BITMASK_RT_CLOCK_ENABLE 0x0400 -+#define ACPI_BITMASK_PCIEXP_WAKE_DISABLE 0x4000 /* ACPI 3.0 */ -+ -+#define ACPI_BITMASK_SCI_ENABLE 0x0001 -+#define ACPI_BITMASK_BUS_MASTER_RLD 0x0002 -+#define ACPI_BITMASK_GLOBAL_LOCK_RELEASE 0x0004 -+#define ACPI_BITMASK_SLEEP_TYPE_X 0x1C00 -+#define ACPI_BITMASK_SLEEP_ENABLE 0x2000 -+ -+#define ACPI_BITMASK_ARB_DISABLE 0x0001 -+ -+/* Raw bit position of each bit_register */ -+ -+#define ACPI_BITPOSITION_TIMER_STATUS 0x00 -+#define ACPI_BITPOSITION_BUS_MASTER_STATUS 0x04 -+#define ACPI_BITPOSITION_GLOBAL_LOCK_STATUS 0x05 -+#define ACPI_BITPOSITION_POWER_BUTTON_STATUS 0x08 -+#define ACPI_BITPOSITION_SLEEP_BUTTON_STATUS 0x09 -+#define ACPI_BITPOSITION_RT_CLOCK_STATUS 0x0A -+#define ACPI_BITPOSITION_PCIEXP_WAKE_STATUS 0x0E /* ACPI 3.0 */ -+#define ACPI_BITPOSITION_WAKE_STATUS 0x0F -+ -+#define ACPI_BITPOSITION_TIMER_ENABLE 0x00 -+#define ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE 0x05 -+#define ACPI_BITPOSITION_POWER_BUTTON_ENABLE 0x08 -+#define ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE 0x09 -+#define ACPI_BITPOSITION_RT_CLOCK_ENABLE 0x0A -+#define ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE 0x0E /* ACPI 3.0 */ -+ -+#define ACPI_BITPOSITION_SCI_ENABLE 0x00 -+#define ACPI_BITPOSITION_BUS_MASTER_RLD 0x01 -+#define ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE 0x02 -+#define ACPI_BITPOSITION_SLEEP_TYPE_X 0x0A -+#define ACPI_BITPOSITION_SLEEP_ENABLE 0x0D -+ -+#define ACPI_BITPOSITION_ARB_DISABLE 0x00 -+ -+/***************************************************************************** -+ * -+ * Resource descriptors -+ * -+ ****************************************************************************/ -+ -+/* resource_type values */ -+ -+#define ACPI_ADDRESS_TYPE_MEMORY_RANGE 0 -+#define ACPI_ADDRESS_TYPE_IO_RANGE 1 -+#define ACPI_ADDRESS_TYPE_BUS_NUMBER_RANGE 2 -+ -+/* Resource descriptor types and masks */ -+ -+#define ACPI_RESOURCE_NAME_LARGE 0x80 -+#define ACPI_RESOURCE_NAME_SMALL 0x00 -+ -+#define ACPI_RESOURCE_NAME_SMALL_MASK 0x78 /* Bits 6:3 contain the type */ -+#define ACPI_RESOURCE_NAME_SMALL_LENGTH_MASK 0x07 /* Bits 2:0 contain the length */ -+#define ACPI_RESOURCE_NAME_LARGE_MASK 0x7F /* Bits 6:0 contain the type */ -+ -+/* -+ * Small resource descriptor "names" as defined by the ACPI specification. -+ * Note: Bits 2:0 are used for the descriptor length -+ */ -+#define ACPI_RESOURCE_NAME_IRQ 0x20 -+#define ACPI_RESOURCE_NAME_DMA 0x28 -+#define ACPI_RESOURCE_NAME_START_DEPENDENT 0x30 -+#define ACPI_RESOURCE_NAME_END_DEPENDENT 0x38 -+#define ACPI_RESOURCE_NAME_IO 0x40 -+#define ACPI_RESOURCE_NAME_FIXED_IO 0x48 -+#define ACPI_RESOURCE_NAME_RESERVED_S1 0x50 -+#define ACPI_RESOURCE_NAME_RESERVED_S2 0x58 -+#define ACPI_RESOURCE_NAME_RESERVED_S3 0x60 -+#define ACPI_RESOURCE_NAME_RESERVED_S4 0x68 -+#define ACPI_RESOURCE_NAME_VENDOR_SMALL 0x70 -+#define ACPI_RESOURCE_NAME_END_TAG 0x78 -+ -+/* -+ * Large resource descriptor "names" as defined by the ACPI specification. -+ * Note: includes the Large Descriptor bit in bit[7] -+ */ -+#define ACPI_RESOURCE_NAME_MEMORY24 0x81 -+#define ACPI_RESOURCE_NAME_GENERIC_REGISTER 0x82 -+#define ACPI_RESOURCE_NAME_RESERVED_L1 0x83 -+#define ACPI_RESOURCE_NAME_VENDOR_LARGE 0x84 -+#define ACPI_RESOURCE_NAME_MEMORY32 0x85 -+#define ACPI_RESOURCE_NAME_FIXED_MEMORY32 0x86 -+#define ACPI_RESOURCE_NAME_ADDRESS32 0x87 -+#define ACPI_RESOURCE_NAME_ADDRESS16 0x88 -+#define ACPI_RESOURCE_NAME_EXTENDED_IRQ 0x89 -+#define ACPI_RESOURCE_NAME_ADDRESS64 0x8A -+#define ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64 0x8B -+#define ACPI_RESOURCE_NAME_LARGE_MAX 0x8B -+ -+/***************************************************************************** -+ * -+ * Miscellaneous -+ * -+ ****************************************************************************/ -+ -+#define ACPI_ASCII_ZERO 0x30 -+ -+/***************************************************************************** -+ * -+ * Debugger -+ * -+ ****************************************************************************/ -+ -+struct acpi_db_method_info { -+ acpi_handle main_thread_gate; -+ acpi_handle thread_complete_gate; -+ u32 *threads; -+ u32 num_threads; -+ u32 num_created; -+ u32 num_completed; -+ -+ char *name; -+ u32 flags; -+ u32 num_loops; -+ char pathname[128]; -+ char **args; -+ -+ /* -+ * Arguments to be passed to method for the command -+ * Threads - -+ * the Number of threads, ID of current thread and -+ * Index of current thread inside all them created. -+ */ -+ char init_args; -+ char *arguments[4]; -+ char num_threads_str[11]; -+ char id_of_thread_str[11]; -+ char index_of_thread_str[11]; -+}; -+ -+struct acpi_integrity_info { -+ u32 nodes; -+ u32 objects; -+}; -+ -+#define ACPI_DB_REDIRECTABLE_OUTPUT 0x01 -+#define ACPI_DB_CONSOLE_OUTPUT 0x02 -+#define ACPI_DB_DUPLICATE_OUTPUT 0x03 -+ -+/***************************************************************************** -+ * -+ * Debug -+ * -+ ****************************************************************************/ -+ -+/* Entry for a memory allocation (debug only) */ -+ -+#define ACPI_MEM_MALLOC 0 -+#define ACPI_MEM_CALLOC 1 -+#define ACPI_MAX_MODULE_NAME 16 -+ -+#define ACPI_COMMON_DEBUG_MEM_HEADER \ -+ struct acpi_debug_mem_block *previous; \ -+ struct acpi_debug_mem_block *next; \ -+ u32 size; \ -+ u32 component; \ -+ u32 line; \ -+ char module[ACPI_MAX_MODULE_NAME]; \ -+ u8 alloc_type; -+ -+struct acpi_debug_mem_header { -+ACPI_COMMON_DEBUG_MEM_HEADER}; -+ -+struct acpi_debug_mem_block { -+ ACPI_COMMON_DEBUG_MEM_HEADER u64 user_space; -+}; -+ -+#define ACPI_MEM_LIST_GLOBAL 0 -+#define ACPI_MEM_LIST_NSNODE 1 -+#define ACPI_MEM_LIST_MAX 1 -+#define ACPI_NUM_MEM_LISTS 2 -+ -+#endif /* __ACLOCAL_H__ */ -diff -Naurp a/common/lib/modules/fglrx/build_mod/common/lib/common/lib/modules/fglrx/build_mod/modules/fglrx/build_mod/acpica-acobject.h b/common/lib/modules/fglrx/build_mod/acpica-acobject.h ---- a/common/lib/modules/fglrx/build_mod/acpica-acobject.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/common/lib/modules/fglrx/build_mod/acpica-acobject.h 2009-02-28 22:24:01.000000000 +0100 -@@ -0,0 +1,446 @@ -+ -+/****************************************************************************** -+ * -+ * Name: acobject.h - Definition of union acpi_operand_object (Internal object only) -+ * -+ *****************************************************************************/ -+ -+/* -+ * Copyright (C) 2000 - 2008, Intel Corp. -+ * 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, -+ * without modification. -+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer -+ * substantially similar to the "NO WARRANTY" disclaimer below -+ * ("Disclaimer") and any redistribution must be conditioned upon -+ * including a substantially similar Disclaimer requirement for further -+ * binary redistribution. -+ * 3. Neither the names of the above-listed copyright holders nor the names -+ * of any contributors may be used to endorse or promote products derived -+ * from this software without specific prior written permission. -+ * -+ * Alternatively, this software may be distributed under the terms of the -+ * GNU General Public License ("GPL") version 2 as published by the Free -+ * Software Foundation. -+ * -+ * NO WARRANTY -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR -+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES. -+ */ -+ -+#ifndef _ACOBJECT_H -+#define _ACOBJECT_H -+ -+/* acpisrc:struct_defs -- for acpisrc conversion */ -+ -+/* -+ * The union acpi_operand_object is used to pass AML operands from the dispatcher -+ * to the interpreter, and to keep track of the various handlers such as -+ * address space handlers and notify handlers. The object is a constant -+ * size in order to allow it to be cached and reused. -+ * -+ * Note: The object is optimized to be aligned and will not work if it is -+ * byte-packed. -+ */ -+#if ACPI_MACHINE_WIDTH == 64 -+#pragma pack(8) -+#else -+#pragma pack(4) -+#endif -+ -+/******************************************************************************* -+ * -+ * Common Descriptors -+ * -+ ******************************************************************************/ -+ -+/* -+ * Common area for all objects. -+ * -+ * descriptor_type is used to differentiate between internal descriptors, and -+ * must be in the same place across all descriptors -+ * -+ * Note: The descriptor_type and Type fields must appear in the identical -+ * position in both the struct acpi_namespace_node and union acpi_operand_object -+ * structures. -+ */ -+#define ACPI_OBJECT_COMMON_HEADER \ -+ union acpi_operand_object *next_object; /* Objects linked to parent NS node */\ -+ u8 descriptor_type; /* To differentiate various internal objs */\ -+ u8 type; /* acpi_object_type */\ -+ u16 reference_count; /* For object deletion management */\ -+ u8 flags; -+ /* -+ * Note: There are 3 bytes available here before the -+ * next natural alignment boundary (for both 32/64 cases) -+ */ -+ -+/* Values for Flag byte above */ -+ -+#define AOPOBJ_AML_CONSTANT 0x01 -+#define AOPOBJ_STATIC_POINTER 0x02 -+#define AOPOBJ_DATA_VALID 0x04 -+#define AOPOBJ_OBJECT_INITIALIZED 0x08 -+#define AOPOBJ_SETUP_COMPLETE 0x10 -+#define AOPOBJ_SINGLE_DATUM 0x20 -+#define AOPOBJ_INVALID 0x40 /* Used if host OS won't allow an op_region address */ -+ -+/****************************************************************************** -+ * -+ * Basic data types -+ * -+ *****************************************************************************/ -+ -+struct acpi_object_common { -+ACPI_OBJECT_COMMON_HEADER}; -+ -+struct acpi_object_integer { -+ ACPI_OBJECT_COMMON_HEADER u8 fill[3]; /* Prevent warning on some compilers */ -+ acpi_integer value; -+}; -+ -+/* -+ * Note: The String and Buffer object must be identical through the Pointer -+ * and length elements. There is code that depends on this. -+ * -+ * Fields common to both Strings and Buffers -+ */ -+#define ACPI_COMMON_BUFFER_INFO(_type) \ -+ _type *pointer; \ -+ u32 length; -+ -+struct acpi_object_string { /* Null terminated, ASCII characters only */ -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(char) /* String in AML stream or allocated string */ -+}; -+ -+struct acpi_object_buffer { -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_BUFFER_INFO(u8) /* Buffer in AML stream or allocated buffer */ -+ u32 aml_length; -+ u8 *aml_start; -+ struct acpi_namespace_node *node; /* Link back to parent node */ -+}; -+ -+struct acpi_object_package { -+ ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Link back to parent node */ -+ union acpi_operand_object **elements; /* Array of pointers to acpi_objects */ -+ u8 *aml_start; -+ u32 aml_length; -+ u32 count; /* # of elements in package */ -+}; -+ -+/****************************************************************************** -+ * -+ * Complex data types -+ * -+ *****************************************************************************/ -+ -+struct acpi_object_event { -+ ACPI_OBJECT_COMMON_HEADER acpi_semaphore os_semaphore; /* Actual OS synchronization object */ -+}; -+ -+struct acpi_object_mutex { -+ ACPI_OBJECT_COMMON_HEADER u8 sync_level; /* 0-15, specified in Mutex() call */ -+ u16 acquisition_depth; /* Allow multiple Acquires, same thread */ -+ acpi_mutex os_mutex; /* Actual OS synchronization object */ -+ acpi_thread_id thread_id; /* Current owner of the mutex */ -+ struct acpi_thread_state *owner_thread; /* Current owner of the mutex */ -+ union acpi_operand_object *prev; /* Link for list of acquired mutexes */ -+ union acpi_operand_object *next; /* Link for list of acquired mutexes */ -+ struct acpi_namespace_node *node; /* Containing namespace node */ -+ u8 original_sync_level; /* Owner's original sync level (0-15) */ -+}; -+ -+struct acpi_object_region { -+ ACPI_OBJECT_COMMON_HEADER u8 space_id; -+ struct acpi_namespace_node *node; /* Containing namespace node */ -+ union acpi_operand_object *handler; /* Handler for region access */ -+ union acpi_operand_object *next; -+ acpi_physical_address address; -+ u32 length; -+}; -+ -+struct acpi_object_method { -+ ACPI_OBJECT_COMMON_HEADER u8 method_flags; -+ u8 param_count; -+ u8 sync_level; -+ union acpi_operand_object *mutex; -+ u8 *aml_start; -+ ACPI_INTERNAL_METHOD implementation; -+ u32 aml_length; -+ u8 thread_count; -+ acpi_owner_id owner_id; -+}; -+ -+/****************************************************************************** -+ * -+ * Objects that can be notified. All share a common notify_info area. -+ * -+ *****************************************************************************/ -+ -+/* -+ * Common fields for objects that support ASL notifications -+ */ -+#define ACPI_COMMON_NOTIFY_INFO \ -+ union acpi_operand_object *system_notify; /* Handler for system notifies */\ -+ union acpi_operand_object *device_notify; /* Handler for driver notifies */\ -+ union acpi_operand_object *handler; /* Handler for Address space */ -+ -+struct acpi_object_notify_common { /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ -+ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; -+ -+struct acpi_object_device { -+ ACPI_OBJECT_COMMON_HEADER -+ ACPI_COMMON_NOTIFY_INFO struct acpi_gpe_block_info *gpe_block; -+}; -+ -+struct acpi_object_power_resource { -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO u32 system_level; -+ u32 resource_order; -+}; -+ -+struct acpi_object_processor { -+ ACPI_OBJECT_COMMON_HEADER -+ /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */ -+ u8 proc_id; -+ u8 length; -+ ACPI_COMMON_NOTIFY_INFO acpi_io_address address; -+}; -+ -+struct acpi_object_thermal_zone { -+ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_NOTIFY_INFO}; -+ -+/****************************************************************************** -+ * -+ * Fields. All share a common header/info field. -+ * -+ *****************************************************************************/ -+ -+/* -+ * Common bitfield for the field objects -+ * "Field Datum" -- a datum from the actual field object -+ * "Buffer Datum" -- a datum from a user buffer, read from or to be written to the field -+ */ -+#define ACPI_COMMON_FIELD_INFO \ -+ u8 field_flags; /* Access, update, and lock bits */\ -+ u8 attribute; /* From access_as keyword */\ -+ u8 access_byte_width; /* Read/Write size in bytes */\ -+ struct acpi_namespace_node *node; /* Link back to parent node */\ -+ u32 bit_length; /* Length of field in bits */\ -+ u32 base_byte_offset; /* Byte offset within containing object */\ -+ u32 value; /* Value to store into the Bank or Index register */\ -+ u8 start_field_bit_offset;/* Bit offset within first field datum (0-63) */\ -+ u8 access_bit_width; /* Read/Write size in bits (8-64) */ -+ -+struct acpi_object_field_common { /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Parent Operation Region object (REGION/BANK fields only) */ -+}; -+ -+struct acpi_object_region_field { -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Containing op_region object */ -+}; -+ -+struct acpi_object_bank_field { -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *region_obj; /* Containing op_region object */ -+ union acpi_operand_object *bank_obj; /* bank_select Register object */ -+}; -+ -+struct acpi_object_index_field { -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO -+ /* -+ * No "RegionObj" pointer needed since the Index and Data registers -+ * are each field definitions unto themselves. -+ */ -+ union acpi_operand_object *index_obj; /* Index register */ -+ union acpi_operand_object *data_obj; /* Data register */ -+}; -+ -+/* The buffer_field is different in that it is part of a Buffer, not an op_region */ -+ -+struct acpi_object_buffer_field { -+ ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *buffer_obj; /* Containing Buffer object */ -+}; -+ -+/****************************************************************************** -+ * -+ * Objects for handlers -+ * -+ *****************************************************************************/ -+ -+struct acpi_object_notify_handler { -+ ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *node; /* Parent device */ -+ acpi_notify_handler handler; -+ void *context; -+}; -+ -+struct acpi_object_addr_handler { -+ ACPI_OBJECT_COMMON_HEADER u8 space_id; -+ u8 handler_flags; -+ acpi_adr_space_handler handler; -+ struct acpi_namespace_node *node; /* Parent device */ -+ void *context; -+ acpi_adr_space_setup setup; -+ union acpi_operand_object *region_list; /* regions using this handler */ -+ union acpi_operand_object *next; -+}; -+ -+/* Flags for address handler (handler_flags) */ -+ -+#define ACPI_ADDR_HANDLER_DEFAULT_INSTALLED 0x01 -+ -+/****************************************************************************** -+ * -+ * Special internal objects -+ * -+ *****************************************************************************/ -+ -+/* -+ * The Reference object is used for these opcodes: -+ * Arg[0-6], Local[0-7], index_op, name_op, ref_of_op, load_op, load_table_op, debug_op -+ * The Reference.Class differentiates these types. -+ */ -+struct acpi_object_reference { -+ ACPI_OBJECT_COMMON_HEADER u8 class; /* Reference Class */ -+ u8 target_type; /* Used for Index Op */ -+ u8 reserved; -+ void *object; /* name_op=>HANDLE to obj, index_op=>union acpi_operand_object */ -+ struct acpi_namespace_node *node; /* ref_of or Namepath */ -+ union acpi_operand_object **where; /* Target of Index */ -+ u32 value; /* Used for Local/Arg/Index/ddb_handle */ -+}; -+ -+/* Values for Reference.Class above */ -+ -+typedef enum { -+ ACPI_REFCLASS_LOCAL = 0, /* Method local */ -+ ACPI_REFCLASS_ARG = 1, /* Method argument */ -+ ACPI_REFCLASS_REFOF = 2, /* Result of ref_of() TBD: Split to Ref/Node and Ref/operand_obj? */ -+ ACPI_REFCLASS_INDEX = 3, /* Result of Index() */ -+ ACPI_REFCLASS_TABLE = 4, /* ddb_handle - Load(), load_table() */ -+ ACPI_REFCLASS_NAME = 5, /* Reference to a named object */ -+ ACPI_REFCLASS_DEBUG = 6, /* Debug object */ -+ -+ ACPI_REFCLASS_MAX = 6 -+} ACPI_REFERENCE_CLASSES; -+ -+/* -+ * Extra object is used as additional storage for types that -+ * have AML code in their declarations (term_args) that must be -+ * evaluated at run time. -+ * -+ * Currently: Region and field_unit types -+ */ -+struct acpi_object_extra { -+ ACPI_OBJECT_COMMON_HEADER struct acpi_namespace_node *method_REG; /* _REG method for this region (if any) */ -+ void *region_context; /* Region-specific data */ -+ u8 *aml_start; -+ u32 aml_length; -+}; -+ -+/* Additional data that can be attached to namespace nodes */ -+ -+struct acpi_object_data { -+ ACPI_OBJECT_COMMON_HEADER acpi_object_handler handler; -+ void *pointer; -+}; -+ -+/* Structure used when objects are cached for reuse */ -+ -+struct acpi_object_cache_list { -+ ACPI_OBJECT_COMMON_HEADER union acpi_operand_object *next; /* Link for object cache and internal lists */ -+}; -+ -+/****************************************************************************** -+ * -+ * union acpi_operand_object Descriptor - a giant union of all of the above -+ * -+ *****************************************************************************/ -+ -+union acpi_operand_object { -+ struct acpi_object_common common; -+ struct acpi_object_integer integer; -+ struct acpi_object_string string; -+ struct acpi_object_buffer buffer; -+ struct acpi_object_package package; -+ struct acpi_object_event event; -+ struct acpi_object_method method; -+ struct acpi_object_mutex mutex; -+ struct acpi_object_region region; -+ struct acpi_object_notify_common common_notify; -+ struct acpi_object_device device; -+ struct acpi_object_power_resource power_resource; -+ struct acpi_object_processor processor; -+ struct acpi_object_thermal_zone thermal_zone; -+ struct acpi_object_field_common common_field; -+ struct acpi_object_region_field field; -+ struct acpi_object_buffer_field buffer_field; -+ struct acpi_object_bank_field bank_field; -+ struct acpi_object_index_field index_field; -+ struct acpi_object_notify_handler notify; -+ struct acpi_object_addr_handler address_space; -+ struct acpi_object_reference reference; -+ struct acpi_object_extra extra; -+ struct acpi_object_data data; -+ struct acpi_object_cache_list cache; -+ -+ /* -+ * Add namespace node to union in order to simplify code that accepts both -+ * ACPI_OPERAND_OBJECTs and ACPI_NAMESPACE_NODEs. The structures share -+ * a common descriptor_type field in order to differentiate them. -+ */ -+ struct acpi_namespace_node node; -+}; -+ -+/****************************************************************************** -+ * -+ * union acpi_descriptor - objects that share a common descriptor identifier -+ * -+ *****************************************************************************/ -+ -+/* Object descriptor types */ -+ -+#define ACPI_DESC_TYPE_CACHED 0x01 /* Used only when object is cached */ -+#define ACPI_DESC_TYPE_STATE 0x02 -+#define ACPI_DESC_TYPE_STATE_UPDATE 0x03 -+#define ACPI_DESC_TYPE_STATE_PACKAGE 0x04 -+#define ACPI_DESC_TYPE_STATE_CONTROL 0x05 -+#define ACPI_DESC_TYPE_STATE_RPSCOPE 0x06 -+#define ACPI_DESC_TYPE_STATE_PSCOPE 0x07 -+#define ACPI_DESC_TYPE_STATE_WSCOPE 0x08 -+#define ACPI_DESC_TYPE_STATE_RESULT 0x09 -+#define ACPI_DESC_TYPE_STATE_NOTIFY 0x0A -+#define ACPI_DESC_TYPE_STATE_THREAD 0x0B -+#define ACPI_DESC_TYPE_WALK 0x0C -+#define ACPI_DESC_TYPE_PARSER 0x0D -+#define ACPI_DESC_TYPE_OPERAND 0x0E -+#define ACPI_DESC_TYPE_NAMED 0x0F -+#define ACPI_DESC_TYPE_MAX 0x0F -+ -+struct acpi_common_descriptor { -+ void *common_pointer; -+ u8 descriptor_type; /* To differentiate various internal objs */ -+}; -+ -+union acpi_descriptor { -+ struct acpi_common_descriptor common; -+ union acpi_operand_object object; -+ struct acpi_namespace_node node; -+ union acpi_parse_object op; -+}; -+ -+#pragma pack() -+ -+#endif /* _ACOBJECT_H */ -diff -Naurp a/common/lib/modules/fglrx/build_mod/common/lib/common/lib/modules/fglrx/build_mod/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c ---- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2009-02-28 22:31:33.000000000 +0100 -+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2009-02-28 22:30:23.000000000 +0100 -@@ -1402,7 +1402,7 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(vo - */ - KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void) - { -- return current->euid; -+ return current->cred->euid; - } - - /** /brief Delay execution for the specified number of microseconds -@@ -1774,14 +1774,15 @@ int ATI_API_CALL KCL_PosixSecurityCapChe - */ - void ATI_API_CALL KCL_PosixSecurityCapSetIPCLock(unsigned int lock) - { -+ struct cred* currentCred = (struct cred*)get_current_cred(); - if (lock == 0 ) - { -- cap_lower(current->cap_effective, CAP_IPC_LOCK); -+ cap_lower(currentCred->cap_effective, CAP_IPC_LOCK); - } - else - { -- cap_raise(current->cap_effective, CAP_IPC_LOCK); -- } -+ cap_raise(currentCred->cap_effective, CAP_IPC_LOCK); -+ } - return; - } - -diff -Naurp a/common/lib/modules/fglrx/build_mod/common/lib/common/lib/modules/fglrx/build_mod/modules/fglrx/build_mod/firegl_public.h b/common/lib/modules/fglrx/build_mod/firegl_public.h ---- a/common/lib/modules/fglrx/build_mod/firegl_public.h 2009-03-01 00:21:56.000000000 +0100 -+++ b/common/lib/modules/fglrx/build_mod/firegl_public.h 2009-03-01 00:21:17.000000000 +0100 -@@ -589,13 +589,13 @@ extern unsigned long KCL_SYSINFO_ - #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability) - #endif - --#ifndef pgprot_writecombine -+/* #ifndef pgprot_writecombine */ - #define pgprot_writecombine(prot) __pgprot((pgprot_val(prot) & ~(_PAGE_PCD)) | _PAGE_PWT) --#endif -+/* #endif */ - --#ifndef pgprot_noncached -+/* #ifndef pgprot_noncached */ - #define pgprot_noncached(prot) __pgprot(pgprot_val(prot) | _PAGE_PCD | _PAGE_PWT) --#endif -+/* #endif */ - - #endif //FIREGL_USWC_SUPPORT - -diff -Naurp a/common/lib/modules/fglrx/build_mod/common/lib/common/lib/modules/fglrx/build_mod/modules/fglrx/build_mod/kcl_acpi.c b/common/lib/modules/fglrx/build_mod/kcl_acpi.c ---- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2009-02-28 21:39:21.000000000 +0100 -+++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2009-02-28 22:25:29.000000000 +0100 -@@ -17,6 +17,9 @@ - #include - #include - #include -+#include "acpica-acconfig.h" -+#include "acpica-aclocal.h" -+#include "acpica-acobject.h" - - #include "kcl_config.h" - #include "kcl_type.h" - diff --git a/x11-drivers/ati-drivers/files/libGL.la.in b/x11-drivers/ati-drivers/files/libGL.la.in deleted file mode 100644 index 7fdc40962..000000000 --- a/x11-drivers/ati-drivers/files/libGL.la.in +++ /dev/null @@ -1,32 +0,0 @@ -# libGL.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libGL.so.1' - -# Names of this library. -library_names='libGL.so.${libmajor}.${libminor} libGL.so.${libmajor} libGL.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs='-L/usr/${libdir} -lX11 -lXext -ldl' - -# Version information for libGL. -current=1 -age=0 -revision=${revision} - -# Is this an already installed library? -installed=yes - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/usr/${libdir}'