diff options
Diffstat (limited to 'system')
4 files changed, 8 insertions, 365 deletions
diff --git a/system/nvidia-legacy71-kernel/doinst.sh b/system/nvidia-legacy71-kernel/doinst.sh index 79891f9acd..57abf59843 100644 --- a/system/nvidia-legacy71-kernel/doinst.sh +++ b/system/nvidia-legacy71-kernel/doinst.sh @@ -1,3 +1,2 @@ - -chroot . /sbin/depmod -a +chroot . /sbin/depmod -ae @KERNEL@ diff --git a/system/nvidia-legacy71-kernel/nvidia-71.86.06-2.6.27.patch b/system/nvidia-legacy71-kernel/nvidia-71.86.06-2.6.27.patch deleted file mode 100644 index 2d346c1765..0000000000 --- a/system/nvidia-legacy71-kernel/nvidia-71.86.06-2.6.27.patch +++ /dev/null @@ -1,352 +0,0 @@ ---- conftest.sh.orig 2008-08-28 00:12:01.000000000 -0300 -+++ conftest.sh 2008-08-28 01:04:19.000000000 -0300 -@@ -40,6 +40,12 @@ if [ -n "$BUILD_PARAMS" ]; then - CFLAGS="$CFLAGS -D$BUILD_PARAMS" - fi - -+CONFTEST_PREAMBLE="#include <linux/autoconf.h> -+ #if defined(CONFIG_XEN) && \ -+ defined(CONFIG_XEN_INTERFACE_VERSION) && !defined(__XEN_INTERFACE_VERSION__) -+ #define __XEN_INTERFACE_VERSION__ CONFIG_XEN_INTERFACE_VERSION -+ #endif" -+ - compile_test() { - case "$1" in - remap_page_range) -@@ -672,6 +678,121 @@ compile_test() { - fi - ;; - -+ smp_call_function) -+ # -+ # Determine if the smp_call_function() function is -+ # present and how many arguments it takes. -+ # -+ echo "$CONFTEST_PREAMBLE -+ #include <linux/smp.h> -+ void conftest_smp_call_function(void) { -+ #ifdef CONFIG_SMP -+ smp_call_function(); -+ #endif -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ rm -f conftest$$.o -+ echo "#undef NV_SMP_CALL_FUNCTION_PRESENT" >> conftest.h -+ return -+ fi -+ -+ echo "$CONFTEST_PREAMBLE -+ #include <linux/smp.h> -+ void conftest_smp_call_function(void) { -+ smp_call_function(NULL, NULL, 0, 0); -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ rm -f conftest$$.o -+ echo "#define NV_SMP_CALL_FUNCTION_PRESENT" >> conftest.h -+ echo "#define NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT 4 " >> conftest.h -+ return -+ fi -+ -+ echo "$CONFTEST_PREAMBLE -+ #include <linux/smp.h> -+ void conftest_smp_call_function(void) { -+ smp_call_function(NULL, NULL, 0); -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ rm -f conftest$$.o -+ echo "#define NV_SMP_CALL_FUNCTION_PRESENT" >> conftest.h -+ echo "#define NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT 3 " >> conftest.h -+ return -+ else -+ echo "#error smp_call_function() conftest failed!" >> conftest.h -+ fi -+ ;; -+ -+ on_each_cpu) -+ # -+ # Determine if the on_each_cpu() function is present -+ # and how many arguments it takes. -+ # -+ echo "$CONFTEST_PREAMBLE -+ #include <linux/smp.h> -+ void conftest_on_each_cpu(void) { -+ #ifdef CONFIG_SMP -+ on_each_cpu(); -+ #endif -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ rm -f conftest$$.o -+ echo "#undef NV_ON_EACH_CPU" >> conftest.h -+ return -+ fi -+ -+ echo "$CONFTEST_PREAMBLE -+ #include <linux/smp.h> -+ void conftest_on_each_cpu(void) { -+ on_each_cpu(NULL, NULL, 0, 0); -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ rm -f conftest$$.o -+ echo "#define NV_ON_EACH_CPU_PRESENT" >> conftest.h -+ echo "#define NV_ON_EACH_CPU_ARGUMENT_COUNT 4 " >> conftest.h -+ return -+ fi -+ -+ echo "$CONFTEST_PREAMBLE -+ #include <linux/smp.h> -+ void conftest_on_each_cpu(void) { -+ on_each_cpu(NULL, NULL, 0); -+ }" > conftest$$.c -+ -+ $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1 -+ rm -f conftest$$.c -+ -+ if [ -f conftest$$.o ]; then -+ rm -f conftest$$.o -+ echo "#define NV_ON_EACH_CPU_PRESENT" >> conftest.h -+ echo "#define NV_ON_EACH_CPU_ARGUMENT_COUNT 3 " >> conftest.h -+ return -+ else -+ echo "#error on_each_cpu() conftest failed!" >> conftest.h -+ fi -+ ;; -+ -+ - esac - } - -@@ -1203,11 +1324,21 @@ case "$5" in - # Run a series of compile tests to determine the set of interfaces - # and features available in the target kernel. - # -+ FILES="linux/semaphore.h" - shift 5 - - rm -f conftest.h - for i in $*; do compile_test $i; done - -+ for FILE in $FILES; do -+ FILE_DEFINE=NV_`echo $FILE | tr '/.' '_' | tr 'a-z' 'A-Z'`_PRESENT -+ if [ -f $HEADERS/$FILE -o -f $OUTPUT/include/$FILE ]; then -+ echo "#define $FILE_DEFINE" >> conftest.h -+ else -+ echo "#undef $FILE_DEFINE" >> conftest.h -+ fi -+ done -+ - if [ -n "$SHOW_COMPILE_TEST_RESULTS" -a -f conftest.h ]; then - cat conftest.h - fi ---- Makefile.kbuild.orig 2008-08-28 00:26:41.000000000 -0300 -+++ Makefile.kbuild 2008-08-28 00:30:01.000000000 -0300 -@@ -186,13 +186,16 @@ ifneq ($(PATCHLEVEL), 4) - BREAKPOINT \ - acpi_device_ops \ - acquire_console_sem \ -- kmem_cache_create -+ kmem_cache_create \ -+ on_each_cpu \ -+ smp_call_function - else - COMPILE_TESTS = \ - remap_page_range \ - vmap \ - change_page_attr \ -- i2c_adapter -+ i2c_adapter \ -+ smp_call_function - endif - - # ---- Makefile.nvidia.orig 2008-08-28 00:30:18.000000000 -0300 -+++ Makefile.nvidia 2008-08-28 00:30:35.000000000 -0300 -@@ -62,7 +62,8 @@ COMPILE_TESTS = \ - remap_page_range \ - vmap \ - change_page_attr \ -- i2c_adapter -+ i2c_adapter \ -+ smp_call_function - - DEFINES+=$(EXTRA_DEFINES) - ---- nv.c.orig 2008-08-28 00:08:18.000000000 -0300 -+++ nv.c 2008-08-28 01:00:05.000000000 -0300 -@@ -832,8 +832,8 @@ static void __nv_setup_pat_entries(void - unsigned long eflags; - - #if defined(CONFIG_HOTPLUG_CPU) -- unsigned int cpu = (NvUPtr)info; -- if ((cpu != 0) && (cpu != smp_processor_id())) -+ int cpu = (NvUPtr)info; -+ if ((cpu != 0) && (cpu != (int)smp_processor_id())) - return; - #endif - -@@ -858,8 +858,8 @@ static void __nv_restore_pat_entries(voi - unsigned long eflags; - - #if defined(CONFIG_HOTPLUG_CPU) -- unsigned int cpu = (NvUPtr)info; -- if ((cpu != 0) && (cpu != smp_processor_id())) -+ int cpu = (NvUPtr)info; -+ if ((cpu != 0) && (cpu != (int)smp_processor_id())) - return; - #endif - -@@ -1179,27 +1179,27 @@ failed: - static int - nv_kern_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) - { -- unsigned int cpu = (NvUPtr)hcpu; -- -+ unsigned int cpu = get_cpu(); -+ - switch (action) - { - case CPU_DOWN_FAILED: - case CPU_ONLINE: -- if (get_cpu() == cpu) -+ if (cpu == (NvUPtr)hcpu) - __nv_setup_pat_entries(NULL); - else -- smp_call_function(__nv_setup_pat_entries, hcpu, 1, 1); -- put_cpu(); -+ NV_SMP_CALL_FUNCTION(__nv_setup_pat_entries, hcpu, 1); - break; - case CPU_DOWN_PREPARE: -- if (get_cpu() == cpu) -+ if (cpu == (NvUPtr)hcpu) - __nv_restore_pat_entries(NULL); - else -- smp_call_function(__nv_restore_pat_entries, hcpu, 1, 1); -- put_cpu(); -+ NV_SMP_CALL_FUNCTION(__nv_restore_pat_entries, hcpu, 1); - break; - } - -+ put_cpu(); -+ - return NOTIFY_OK; - } - ---- nv-linux.h.orig 2008-08-28 00:13:57.000000000 -0300 -+++ nv-linux.h 2008-08-28 01:05:50.000000000 -0300 -@@ -103,7 +103,11 @@ - #endif - - #include <linux/spinlock.h> -+#if defined(NV_LINUX_SEMAPHORE_H_PRESENT) -+#include <linux/semaphore.h> -+#else - #include <asm/semaphore.h> -+#endif - #include <linux/completion.h> - #include <linux/highmem.h> - -@@ -609,6 +613,46 @@ static inline unsigned long nv_virt_to_p - - #endif /* !defined NVWATCH */ - -+#if defined(NV_SMP_CALL_FUNCTION_PRESENT) -+#if (NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT == 4) -+#define NV_SMP_CALL_FUNCTION(func, info, wait) \ -+ ({ \ -+ int __ret = smp_call_function(func, info, 1, wait); \ -+ __ret; \ -+ }) -+#elif (NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT == 3) -+#define NV_SMP_CALL_FUNCTION(func, info, wait) \ -+ ({ \ -+ int __ret = smp_call_function(func, info, wait); \ -+ __ret; \ -+ }) -+#else -+#error "NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT value unrecognized!" -+#endif -+#elif defined(CONFIG_SMP) -+#error "NV_SMP_CALL_FUNCTION() undefined (smp_call_function() unavailable)!" -+#endif -+ -+#if defined(NV_ON_EACH_CPU_PRESENT) -+#if (NV_ON_EACH_CPU_ARGUMENT_COUNT == 4) -+#define NV_ON_EACH_CPU(func, info, wait) \ -+ ({ \ -+ int __ret = on_each_cpu(func, info, 1, wait); \ -+ __ret; \ -+ }) -+#elif (NV_ON_EACH_CPU_ARGUMENT_COUNT == 3) -+#define NV_ON_EACH_CPU(func, info, wait) \ -+ ({ \ -+ int __ret = on_each_cpu(func, info, wait); \ -+ __ret; \ -+ }) -+#else -+#error "NV_ON_EACH_CPU_ARGUMENT_COUNT value unrecognized!" -+#endif -+#elif !defined(KERNEL_2_4) && defined(CONFIG_SMP) -+#error "NV_ON_EACH_CPU() undefined (on_each_cpu() unavailable)!" -+#endif -+ - static inline int nv_execute_on_all_cpus(void (*func)(void *info), void *info) - { - int ret = 0; -@@ -618,13 +662,13 @@ static inline int nv_execute_on_all_cpus - #if defined(preempt_disable) - preempt_disable(); - #endif -- ret = smp_call_function(func, info, 1, 1); -+ ret = NV_SMP_CALL_FUNCTION(func, info, 1); - func(info); - #if defined(preempt_enable) - preempt_enable(); - #endif - #else -- ret = on_each_cpu(func, info, 1, 1); -+ ret = NV_ON_EACH_CPU(func, info, 1); - #endif - return ret; - } ---- os-interface.c.orig 2008-08-28 00:20:50.000000000 -0300 -+++ os-interface.c 2008-08-28 01:21:49.000000000 -0300 -@@ -48,7 +48,7 @@ RM_STATUS NV_API_CALL os_raise_smp_barri - #endif - local_bh_disable(); - atomic_set(&os_smp_barrier, 1); -- ret = smp_call_function(ipi_handler, NULL, 1, 0); -+ ret = NV_SMP_CALL_FUNCTION(ipi_handler, NULL, 0); - #endif - return (ret == 0) ? RM_OK : RM_ERROR; - } - ---- os-interface.c.orig 2008-08-28 13:11:52.000000000 -0300 -+++ os-interface.c 2008-08-28 13:12:33.000000000 -0300 -@@ -632,7 +632,7 @@ RM_STATUS NV_API_CALL os_kill_process( - U032 sig - ) - { -- return kill_proc(pid, sig, 1) ? RM_ERR_OPERATING_SYSTEM : RM_OK; -+ return /*kill_proc(pid, sig, 1) ?*/ RM_ERR_OPERATING_SYSTEM /*: RM_OK*/; - } - - /*******************************************************************************/ diff --git a/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.SlackBuild b/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.SlackBuild index 4be13a259f..5c2b3c2e4d 100644 --- a/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.SlackBuild +++ b/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for nvidia-legacy71-kernel -# Copyright 2007-2008 Heinz Wiesinger <pprkut@liwjatan.at> +# Copyright 2007-2009 Heinz Wiesinger <pprkut@liwjatan.at> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -27,8 +27,8 @@ KERNELVERSION=${KERNELVERSION:-$(uname -r)} KERNELPATH=${KERNELPATH:-/lib/modules/${KERNELVERSION}/build} -VERSION=71.86.06 -NAME=NVIDIA-Linux-x86-$VERSION-pkg1 +VERSION=71.86.09 +NAME=NVIDIA-Linux-x86-$VERSION-pkg0 PKG_NAME=nvidia-legacy71-kernel PKG_VERS=${VERSION}_$(echo $KERNELVERSION | tr - _) @@ -52,10 +52,6 @@ chmod -R u+w,go+r-w,a-s . cd usr/src/nv/ || exit 1 -if [ "${KERNELVERSION:0:6}" = "2.6.27" ]; then - patch -p0 -i $CWD/nvidia-$VERSION-2.6.27.patch -fi - make SYSSRC=$KERNELPATH module || exit 1 # It seems better as DESTDIR doesn't work here, to install the module manually. @@ -70,7 +66,7 @@ cat $CWD/$PKG_NAME.SlackBuild > $PKG/usr/doc/$PKG_NAME-$PKG_VERS/$PKG_NAME.Slack mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh +sed "s%@KERNEL@%$KERNEL%" $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PKG_NAME-$PKG_VERS-$ARCH-$BUILD$TAG.tgz diff --git a/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.info b/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.info index 2c56acd3f9..b5ca368eeb 100644 --- a/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.info +++ b/system/nvidia-legacy71-kernel/nvidia-legacy71-kernel.info @@ -1,8 +1,8 @@ PRGNAM="nvidia-legacy71-kernel" VERSION="71.86.06" HOMEPAGE="http://www.nvidia.com" -DOWNLOAD="http://us.download.nvidia.com/XFree86/Linux-x86/71.86.06/NVIDIA-Linux-x86-71.86.06-pkg1.run" -MD5SUM="dc9635a78dfb02cb533e2061866b70ce" +DOWNLOAD="http://us.download.nvidia.com/XFree86/Linux-x86/71.86.09/NVIDIA-Linux-x86-71.86.09-pkg0.run" +MD5SUM="51ce70e2ba967a2bad1cf01ce25c7f76" MAINTAINER="ppr:kut" EMAIL="pprkut@liwjatan.at" -APPROVED="dsomero"
\ No newline at end of file +APPROVED="rworkman" |