Messages in this thread Patch in this message | | | Date | Tue, 22 Dec 1998 10:46:51 -0500 (EST) | From | Phillip Ezolt <> | Subject | Alpha Compilation fix for prepatch 2.1.132-4 |
| |
Hi, It appears as if all of my performance counter patch didn't make it into prepatch-2.1.132-4. (Consequently, perf_irq is undefined, and this stops compilation)
The following patch does two things: 1) Defines the perf_irq function in irq.h. (This is need by alpha_ksyms.c)
2) Adds a definition for the wrperfmon palcall. Although, currently, the soon-to-be release Iprobe suite is the only thing that uses this, other tools in the future may also want it. By keeping this in the kernel, they will not have to rewrite code.
(Patch Below)
Cheers,
--Phil
Digital/Compaq: High Performance Servers/Benchmark Performance Engineering Phillip.Ezolt@compaq.com ezolt@perf.zko.dec.com
diff -uNr linux_orig/include/asm-alpha/irq.h linux/include/asm-alpha/irq.h --- linux_orig/include/asm-alpha/irq.h Sun Aug 9 15:09:06 1998 +++ linux/include/asm-alpha/irq.h Tue Dec 22 10:02:00 1998 @@ -93,4 +93,7 @@ extern void disable_irq(unsigned int); extern void enable_irq(unsigned int); +extern void (*perf_irq)(unsigned long, struct pt_regs *); + + #endif /* _ALPHA_IRQ_H */ diff -uNr linux_orig/include/asm-alpha/system.h linux/include/asm-alpha/system.h --- linux_orig/include/asm-alpha/system.h Mon Oct 12 14:40:13 1998 +++ linux/include/asm-alpha/system.h Tue Dec 22 10:02:05 1998 @@ -116,6 +116,24 @@ #define draina() \ __asm__ __volatile__ ("call_pal %0 #draina" : : "i" (PAL_draina) : "memory") + +static inline unsigned long +wrperfmon(unsigned long perf_fun, unsigned long arg) +{ + register unsigned long __r0 __asm__("$0"); + register unsigned long __r16 __asm__("$16"); + register unsigned long __r17 __asm__("$17"); + __r16 = perf_fun; + __r17 = arg; + __asm__ __volatile__( + "call_pal %1" + : "=r"(__r0) + : "i"(PAL_wrperfmon), "r"(__r16), "r"(__r17) + : "$1", "$22", "$23", "$24", "$25", "$26"); + return __r0; +} + + #define call_pal1(palno,arg) \ ({ \ register unsigned long __r0 __asm__("$0"); \
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |