This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH] save parameter registers and restore them for jprobe handling
- From: Keith Owens <kaos at ocs dot com dot au>
- To: "Zhang, Yanmin" <yanmin dot zhang at intel dot com>
- Cc: linux-ia64 at vger dot kernel dot org, "Keshavamurthy, Anil S" <anil dot s dot keshavamurthy at intel dot com>, systemtap at sources dot redhat dot com
- Date: Thu, 01 Dec 2005 13:37:17 +1100
- Subject: Re: [PATCH] save parameter registers and restore them for jprobe handling
On Thu, 1 Dec 2005 10:28:09 +0800,
"Zhang, Yanmin" <yanmin.zhang@intel.com> wrote:
>Content-Transfer-Encoding: base64
Why base64 encoding for the patch?
+/*Invalidate stacked registers outside the current frame*/
+#define invalidate_stacked_regs() { \
+ unsigned long rsc_save = 0; \
+ asm volatile("mov %0=ar.rsc;;\n\t" \
+ "mov ar.rsc=0;;\n\t" \
+ "{\n\tloadrs;;\n\t\n\t\n\t}\n\t" \
+ "mov ar.rsc=%1\n\t" \
+ :"=r" (rsc_save):"r" (rsc_save):"memory"); \
+ }
+
We try to avoid inline asm in the .c files, it makes it harder to
compile the kernel with Intel compilers.