summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries/hvCall_inst.c
diff options
context:
space:
mode:
authorAnton Blanchard2009-10-26 19:51:09 +0100
committerPaul Mackerras2009-10-28 06:13:04 +0100
commit6f26353ca29e96475208bce673efb6a2c58b73f2 (patch)
treea564c9c71407a83f81d42e15bbe48f647ec72285 /arch/powerpc/platforms/pseries/hvCall_inst.c
parentpowerpc: tracing: Add hypervisor call tracepoints (diff)
downloadkernel-qcow2-linux-6f26353ca29e96475208bce673efb6a2c58b73f2.tar.gz
kernel-qcow2-linux-6f26353ca29e96475208bce673efb6a2c58b73f2.tar.xz
kernel-qcow2-linux-6f26353ca29e96475208bce673efb6a2c58b73f2.zip
powerpc: tracing: Give hypervisor call tracepoints access to arguments
While most users of the hcall tracepoints will only want the opcode and return code, some will want all the arguments. To avoid the complexity of using varargs we pass a pointer to the register save area, which contains all the arguments. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/hvCall_inst.c')
-rw-r--r--arch/powerpc/platforms/pseries/hvCall_inst.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c b/arch/powerpc/platforms/pseries/hvCall_inst.c
index e44e1035f133..2f58c71b7259 100644
--- a/arch/powerpc/platforms/pseries/hvCall_inst.c
+++ b/arch/powerpc/platforms/pseries/hvCall_inst.c
@@ -102,7 +102,7 @@ static const struct file_operations hcall_inst_seq_fops = {
#define CPU_NAME_BUF_SIZE 32
-static void probe_hcall_entry(unsigned long opcode)
+static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
{
struct hcall_stats *h;
@@ -114,7 +114,8 @@ static void probe_hcall_entry(unsigned long opcode)
h->purr_start = mfspr(SPRN_PURR);
}
-static void probe_hcall_exit(unsigned long opcode, unsigned long retval)
+static void probe_hcall_exit(unsigned long opcode, unsigned long retval,
+ unsigned long *retbuf)
{
struct hcall_stats *h;