On Fri, Jul 14, 2006 at 08:19:16AM +0300, Samuel Korpi wrote: > Attached.
Try the patch below. It also fixes a bunch of other arch declarations, one of which faked me into an incorrect implementation of __const_udelay. Jeff Index: linux-2.6.17/include/asm-i386/delay.h =================================================================== --- linux-2.6.17.orig/include/asm-i386/delay.h +++ linux-2.6.17/include/asm-i386/delay.h @@ -12,7 +12,7 @@ extern void __bad_ndelay(void); extern void __udelay(unsigned long usecs); extern void __ndelay(unsigned long nsecs); -extern void __const_udelay(unsigned long usecs); +extern void __const_udelay(unsigned long xloops); extern void __delay(unsigned long loops); #define udelay(n) (__builtin_constant_p(n) ? \ Index: linux-2.6.17/include/asm-m32r/delay.h =================================================================== --- linux-2.6.17.orig/include/asm-m32r/delay.h +++ linux-2.6.17/include/asm-m32r/delay.h @@ -14,7 +14,7 @@ extern void __bad_ndelay(void); extern void __udelay(unsigned long usecs); extern void __ndelay(unsigned long nsecs); -extern void __const_udelay(unsigned long usecs); +extern void __const_udelay(unsigned long xloops); extern void __delay(unsigned long loops); #define udelay(n) (__builtin_constant_p(n) ? \ Index: linux-2.6.17/include/asm-sh/delay.h =================================================================== --- linux-2.6.17.orig/include/asm-sh/delay.h +++ linux-2.6.17/include/asm-sh/delay.h @@ -12,7 +12,7 @@ extern void __bad_ndelay(void); extern void __udelay(unsigned long usecs); extern void __ndelay(unsigned long nsecs); -extern void __const_udelay(unsigned long usecs); +extern void __const_udelay(unsigned long xloops); extern void __delay(unsigned long loops); #define udelay(n) (__builtin_constant_p(n) ? \ Index: linux-2.6.17/include/asm-x86_64/delay.h =================================================================== --- linux-2.6.17.orig/include/asm-x86_64/delay.h +++ linux-2.6.17/include/asm-x86_64/delay.h @@ -12,7 +12,7 @@ extern void __bad_ndelay(void); extern void __udelay(unsigned long usecs); extern void __ndelay(unsigned long usecs); -extern void __const_udelay(unsigned long usecs); +extern void __const_udelay(unsigned long xloops); extern void __delay(unsigned long loops); #define udelay(n) (__builtin_constant_p(n) ? \ Index: linux-2.6.17/arch/um/sys-i386/delay.c =================================================================== --- linux-2.6.17.orig/arch/um/sys-i386/delay.c +++ linux-2.6.17/arch/um/sys-i386/delay.c @@ -28,12 +28,11 @@ void __udelay(unsigned long usecs) EXPORT_SYMBOL(__udelay); -void __const_udelay(unsigned long usecs) +void __const_udelay(unsigned long xloops) { - int i, n; + int i; - n = (loops_per_jiffy * HZ * usecs) / MILLION; - for(i=0;i<n;i++) + for(i = 0; i < loops; i++) cpu_relax(); } Index: linux-2.6.17/arch/um/sys-x86_64/delay.c =================================================================== --- linux-2.6.17.orig/arch/um/sys-x86_64/delay.c +++ linux-2.6.17/arch/um/sys-x86_64/delay.c @@ -29,12 +29,11 @@ void __udelay(unsigned long usecs) EXPORT_SYMBOL(__udelay); -void __const_udelay(unsigned long usecs) +void __const_udelay(unsigned long xloops) { - unsigned long i, n; + int i; - n = (loops_per_jiffy * HZ * usecs) / MILLION; - for(i=0;i<n;i++) + for(i = 0; i < loops; i++) cpu_relax(); } ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user