[PATCH v2 2/2] powerpc/sstep: Add tests for setb instruction
Naveen N. Rao
naveen.n.rao at linux.ibm.com
Mon May 17 23:34:38 AEST 2021
Sathvika Vasireddy wrote:
> This adds selftests for setb instruction.
>
> Signed-off-by: Sathvika Vasireddy <sathvika at linux.vnet.ibm.com>
> ---
> arch/powerpc/include/asm/ppc-opcode.h | 1 +
> arch/powerpc/lib/test_emulate_step.c | 29 +++++++++++++++++++++++++++++
> 2 files changed, 30 insertions(+)
Tested-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
>
> diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h
> index ac41776661e9..927551dd870b 100644
> --- a/arch/powerpc/include/asm/ppc-opcode.h
> +++ b/arch/powerpc/include/asm/ppc-opcode.h
> @@ -245,6 +245,7 @@
> #define PPC_INST_STRING 0x7c00042a
> #define PPC_INST_STRING_MASK 0xfc0007fe
> #define PPC_INST_STRING_GEN_MASK 0xfc00067e
> +#define PPC_INST_SETB 0x7c000100
> #define PPC_INST_STSWI 0x7c0005aa
> #define PPC_INST_STSWX 0x7c00052a
> #define PPC_INST_TRECHKPT 0x7c0007dd
> diff --git a/arch/powerpc/lib/test_emulate_step.c b/arch/powerpc/lib/test_emulate_step.c
> index 783d1b85ecfe..a0a52fe5e979 100644
> --- a/arch/powerpc/lib/test_emulate_step.c
> +++ b/arch/powerpc/lib/test_emulate_step.c
> @@ -53,6 +53,8 @@
> ppc_inst_prefix(PPC_PREFIX_MLS | __PPC_PRFX_R(pr) | IMM_H(i), \
> PPC_RAW_ADDI(t, a, i))
>
> +#define TEST_SETB(t, bfa) ppc_inst(PPC_INST_SETB | ___PPC_RT(t) | ___PPC_RA((bfa & 0x7) << 2))
> +
>
> static void __init init_pt_regs(struct pt_regs *regs)
> {
> @@ -929,6 +931,33 @@ static struct compute_test compute_tests[] = {
> }
> }
> },
> + {
> + .mnemonic = "setb",
> + .cpu_feature = CPU_FTR_ARCH_300,
> + .subtests = {
> + {
> + .descr = "BFA = 1, CR = GT",
> + .instr = TEST_SETB(20, 1),
> + .regs = {
> + .ccr = 0x4000000,
> + }
> + },
> + {
> + .descr = "BFA = 4, CR = LT",
> + .instr = TEST_SETB(20, 4),
> + .regs = {
> + .ccr = 0x8000,
> + }
> + },
> + {
> + .descr = "BFA = 5, CR = EQ",
> + .instr = TEST_SETB(20, 5),
> + .regs = {
> + .ccr = 0x200,
> + }
> + }
> + }
> + },
> {
> .mnemonic = "add",
> .subtests = {
> --
> 2.16.4
>
>
More information about the Linuxppc-dev
mailing list