mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 23:34:05 +08:00
b764bb1c50
This patch is based on an original patch of David Hildenbrand. The perf core implementation calls architecture specific code in order to ask for specific information for a particular sample: perf_instruction_pointer() When perf core code asks for the instruction pointer, architecture specific code must detect if a KVM guest was running when the sample was taken. A sample can be associated with a KVM guest when the PSW supervisor state bit is set and the PSW instruction pointer part contains the address of 'sie_exit'. A KVM guest's instruction pointer information is then retrieved via gpsw entry pointed to by the sie control-block. perf_misc_flags() perf code code calls this function in order to associate the kernel vs. user state infomation with a particular sample. Architecture specific code must also first detectif a KVM guest was running at the time the sample was taken. Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com> Reviewed-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
14 lines
295 B
C
14 lines
295 B
C
#include <linux/module.h>
|
|
#include <linux/kvm_host.h>
|
|
#include <asm/ftrace.h>
|
|
|
|
#ifdef CONFIG_FUNCTION_TRACER
|
|
EXPORT_SYMBOL(_mcount);
|
|
#endif
|
|
#if defined(CONFIG_KVM) || defined(CONFIG_KVM_MODULE)
|
|
EXPORT_SYMBOL(sie64a);
|
|
EXPORT_SYMBOL(sie_exit);
|
|
#endif
|
|
EXPORT_SYMBOL(memcpy);
|
|
EXPORT_SYMBOL(memset);
|