diff options
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/entry.S | 2 | ||||
-rw-r--r-- | arch/s390/kernel/perf_cpum_sf.c | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 5a966dea937f..247b7aae4c6d 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S @@ -199,7 +199,7 @@ ENTRY(sie64a) jo .Lsie_skip # exit if fp/vx regs changed tm __LC_MACHINE_FLAGS+6,0x20 # MACHINE_FLAG_LPP jz .Lsie_enter - .insn s,0xb2800000,__SF_EMPTY(%r15) # set guest id + .insn s,0xb2800000,__LC_CURRENT_PID # set guest id to pid .Lsie_enter: sie 0(%r14) tm __LC_MACHINE_FLAGS+6,0x20 # MACHINE_FLAG_LPP diff --git a/arch/s390/kernel/perf_cpum_sf.c b/arch/s390/kernel/perf_cpum_sf.c index afe05bfb7e00..b973972f6ba5 100644 --- a/arch/s390/kernel/perf_cpum_sf.c +++ b/arch/s390/kernel/perf_cpum_sf.c @@ -1019,12 +1019,9 @@ static int perf_push_sample(struct perf_event *event, struct sf_raw_sample *sfr) break; } - /* The host-program-parameter (hpp) contains the sie control - * block that is set by sie64a() in entry64.S. Check if hpp - * refers to a valid control block and set sde_regs flags - * accordingly. This would allow to use hpp values for other - * purposes too. - * For now, simply use a non-zero value as guest indicator. + /* The host-program-parameter (hpp) contains the pid of + * the CPU thread as set by sie64a() in entry.S. + * If non-zero assume a guest sample. */ if (sfr->basic.hpp) sde_regs->in_guest = 1; |