Subject: Re: [PATCH] powerpc/selftests: Fix and enhance TM signal context tests

From: Michael Ellerman <[email-masked]>
Date: Wed, 28 Aug 2019 14:24:48 +1000 (AEST)

On Wed, 2019-08-14 at 20:52:11 UTC, Gustavo Romero wrote:
> Currently TM signal context tests for GPR, FPR, VMX, and VSX registers
> print wrong register numbers (wrongly starting from register 0 instead of
> the first register in the non-volatile subset). Besides it the output when
> a mismatch happens is poor giving not much information about which context
> and which register mismatches, because it prints both contexts at the same
> time and not a comparison between the value that mismatches and the value
> expected and, moreover, it stops printing on the first mismatch, but it's
> important to know if there are other mismatches happening beyond the first
> one.
> 
> For instance, this is the current output when a mismatch happens:
> 
> test: tm_signal_context_chk_gpr
> tags: git_version:v5.2-8249-g02e970fae465-dirty
> Failed on 0 GPR 1 or 18446744073709551615
> failure: tm_signal_context_chk_gpr
> 
> test: tm_signal_context_chk_fpu
> tags: git_version:v5.2-8248-g09c289e3ef80
> Failed on 0 FP -1 or -1
> failure: tm_signal_context_chk_fpu
> 
> test: tm_signal_context_chk_vmx
> tags: git_version:v5.2-8248-g09c289e3ef80
> Failed on 0 vmx 0xfffffffffffffffefffffffdfffffffc vs 0xfffffffffffffffefffffffdfffffffc
> failure: tm_signal_context_chk_vmx
> 
> test: tm_signal_context_chk_vsx
> tags: git_version:v5.2-8248-g09c289e3ef80
> Failed on 0 vsx 0xfffffffffefffffffdfffffffcffffff vs 0xfffffffffefffffffdfffffffcffffff
> failure: tm_signal_context_chk_vsx
> 
> This commit fixes the register numbers printed and enhances the error
> output by providing a full list of mismatching registers separated by the
> context (non-speculative or speculative context), for example:
> 
> test: tm_signal_context_chk_gpr
> tags: git_version:v5.2-8249-g02e970fae465-dirty
> GPR14 (1st context) == 1 instead of -1 (expected)
> GPR15 (1st context) == 2 instead of -2 (expected)
> GPR14 (2nd context) == 0 instead of 18446744073709551615 (expected)
> GPR15 (2nd context) == 0 instead of 18446744073709551614 (expected)
> failure: tm_signal_context_chk_gpr
> 
> test: tm_signal_context_chk_fpu
> tags: git_version:v5.2-8249-g02e970fae465-dirty
> FPR14 (1st context) == -1 instead of 1 (expected)
> FPR15 (1st context) == -2 instead of 2 (expected)
> failure: tm_signal_context_chk_fpu
> 
> test: tm_signal_context_chk_vmx
> tags: git_version:v5.2-8249-g02e970fae465-dirty
> VMX20 (1st context) == 0xfffffffffffffffefffffffdfffffffc instead of 0x00000001000000020000000300000004 (expected)
> VMX21 (1st context) == 0xfffffffbfffffffafffffff9fffffff8 instead of 0x00000005000000060000000700000008 (expected)
> failure: tm_signal_context_chk_vmx
> 
> test: tm_signal_context_chk_vsx
> tags: git_version:v5.2-8249-g02e970fae465-dirty
> VSX20 (1st context) == 0xfffffffffefffffffdfffffffcffffff instead of 0x00000001000000020000000300000004 (expected)
> VSX21 (1st context) == 0xfbfffffffafffffff9fffffff8ffffff instead of 0x00000005000000060000000700000008 (expected)
> failure: tm_signal_context_chk_vsx
> 
> Finally, this commit adds comments to the tests in the hope that it will
> help people not so familiar with TM understand the tests.
> 
> Signed-off-by: Gustavo Romero <[email-masked]>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/9d535e200f09ce347afc38c81ec7f2901187e5f0

cheers