Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33904054 authored by Michael Ellerman's avatar Michael Ellerman Committed by Benjamin Herrenschmidt
Browse files

powerpc/perf: Add an accessor for regs->result



Add an accessor for regs->result so we can use it to store more flags in
future.

Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Acked-by: default avatarPaul Mackerras <paulus@samba.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 5682c460
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -89,6 +89,11 @@ static inline int siar_valid(struct pt_regs *regs)

#endif /* CONFIG_PPC32 */

static bool regs_use_siar(struct pt_regs *regs)
{
	return !!(regs->result & 1);
}

/*
 * Things that are specific to 64-bit implementations.
 */
@@ -162,7 +167,7 @@ static inline u32 perf_flags_from_msr(struct pt_regs *regs)

static inline u32 perf_get_misc_flags(struct pt_regs *regs)
{
	unsigned long use_siar = regs->result;
	bool use_siar = regs_use_siar(regs);

	if (!use_siar)
		return perf_flags_from_msr(regs);
@@ -1425,7 +1430,7 @@ unsigned long perf_misc_flags(struct pt_regs *regs)
 */
unsigned long perf_instruction_pointer(struct pt_regs *regs)
{
	unsigned long use_siar = regs->result;
	bool use_siar = regs_use_siar(regs);

	if (use_siar && siar_valid(regs))
		return mfspr(SPRN_SIAR) + perf_ip_adjust(regs);