lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXEY-OmE33WiixrAkXLD4d7y-T2UYH4aOngHVk2hSgyvFA@mail.gmail.com>
Date:   Thu, 11 Feb 2021 09:15:20 +0100
From:   Ard Biesheuvel <ardb@...nel.org>
To:     Nick Desaulniers <ndesaulniers@...gle.com>
Cc:     Russell King <linux@...linux.org.uk>,
        Arnd Bergmann <arnd@...nel.org>,
        clang-built-linux <clang-built-linux@...glegroups.com>,
        Linux ARM <linux-arm-kernel@...ts.infradead.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Nathan Chancellor <nathan@...nel.org>,
        Peter Smith <peter.smith@....com>,
        Renato Golin <rengolin@...temcall.eu>,
        David Spickett <david.spickett@...aro.org>,
        Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH v5 2/2] ARM: kprobes: rewrite test-arm.c in UAL

On Thu, 11 Feb 2021 at 03:52, Nick Desaulniers <ndesaulniers@...gle.com> wrote:
>
> Clang's integrated assembler only accepts UAL syntax, rewrite the
> instructions that were changed by RVCTv2.1.  The document "Assembly
> language changes after RVCTv2.1" was very helpful.
>
>   .syntax unified
>
> directive is added, since -masm-syntax-unified is unreliable for older
> but supported versions of GCC. See also:
>
> commit fe09d9c641f2 ("ARM: 8852/1: uaccess: use unified assembler language syntax")
>
> Link: https://developer.arm.com/documentation/dui0473/c/writing-arm-assembly-language/assembly-language-changes-after-rvctv2-1
> Link: https://github.com/ClangBuiltLinux/linux/issues/1271
> Reported-by: Arnd Bergmann <arnd@...db.de>
> Signed-off-by: Nick Desaulniers <ndesaulniers@...gle.com>

Acked-by: Ard Biesheuvel <ardb@...nel.org>

> ---
>  arch/arm/probes/kprobes/test-arm.c  | 290 ++++++++++++++--------------
>  arch/arm/probes/kprobes/test-core.h |   1 +
>  2 files changed, 146 insertions(+), 145 deletions(-)
>
> diff --git a/arch/arm/probes/kprobes/test-arm.c b/arch/arm/probes/kprobes/test-arm.c
> index 2543106a203e..a0dae35ffacd 100644
> --- a/arch/arm/probes/kprobes/test-arm.c
> +++ b/arch/arm/probes/kprobes/test-arm.c
> @@ -55,25 +55,25 @@ void kprobe_arm_test_cases(void)
>         TEST_GROUP("Data-processing (register), (register-shifted register), (immediate)")
>
>  #define _DATA_PROCESSING_DNM(op,s,val)                                         \
> -       TEST_RR(  op "eq" s "   r0,  r",1, VAL1,", r",2, val, "")               \
> -       TEST_RR(  op "ne" s "   r1,  r",1, VAL1,", r",2, val, ", lsl #3")       \
> -       TEST_RR(  op "cs" s "   r2,  r",3, VAL1,", r",2, val, ", lsr #4")       \
> -       TEST_RR(  op "cc" s "   r3,  r",3, VAL1,", r",2, val, ", asr #5")       \
> -       TEST_RR(  op "mi" s "   r4,  r",5, VAL1,", r",2, N(val),", asr #6")     \
> -       TEST_RR(  op "pl" s "   r5,  r",5, VAL1,", r",2, val, ", ror #7")       \
> -       TEST_RR(  op "vs" s "   r6,  r",7, VAL1,", r",2, val, ", rrx")          \
> -       TEST_R(   op "vc" s "   r6,  r",7, VAL1,", pc, lsl #3")                 \
> -       TEST_R(   op "vc" s "   r6,  r",7, VAL1,", sp, lsr #4")                 \
> -       TEST_R(   op "vc" s "   r6,  pc, r",7, VAL1,", asr #5")                 \
> -       TEST_R(   op "vc" s "   r6,  sp, r",7, VAL1,", ror #6")                 \
> -       TEST_RRR( op "hi" s "   r8,  r",9, VAL1,", r",14,val, ", lsl r",0, 3,"")\
> -       TEST_RRR( op "ls" s "   r9,  r",9, VAL1,", r",14,val, ", lsr r",7, 4,"")\
> -       TEST_RRR( op "ge" s "   r10, r",11,VAL1,", r",14,val, ", asr r",7, 5,"")\
> -       TEST_RRR( op "lt" s "   r11, r",11,VAL1,", r",14,N(val),", asr r",7, 6,"")\
> -       TEST_RR(  op "gt" s "   r12, r13"       ", r",14,val, ", ror r",14,7,"")\
> -       TEST_RR(  op "le" s "   r14, r",0, val, ", r13"       ", lsl r",14,8,"")\
> -       TEST_R(   op "eq" s "   r0,  r",11,VAL1,", #0xf5")                      \
> -       TEST_R(   op "ne" s "   r11, r",0, VAL1,", #0xf5000000")                \
> +       TEST_RR(  op s "eq      r0,  r",1, VAL1,", r",2, val, "")               \
> +       TEST_RR(  op s "ne      r1,  r",1, VAL1,", r",2, val, ", lsl #3")       \
> +       TEST_RR(  op s "cs      r2,  r",3, VAL1,", r",2, val, ", lsr #4")       \
> +       TEST_RR(  op s "cc      r3,  r",3, VAL1,", r",2, val, ", asr #5")       \
> +       TEST_RR(  op s "mi      r4,  r",5, VAL1,", r",2, N(val),", asr #6")     \
> +       TEST_RR(  op s "pl      r5,  r",5, VAL1,", r",2, val, ", ror #7")       \
> +       TEST_RR(  op s "vs      r6,  r",7, VAL1,", r",2, val, ", rrx")          \
> +       TEST_R(   op s "vc      r6,  r",7, VAL1,", pc, lsl #3")                 \
> +       TEST_R(   op s "vc      r6,  r",7, VAL1,", sp, lsr #4")                 \
> +       TEST_R(   op s "vc      r6,  pc, r",7, VAL1,", asr #5")                 \
> +       TEST_R(   op s "vc      r6,  sp, r",7, VAL1,", ror #6")                 \
> +       TEST_RRR( op s "hi      r8,  r",9, VAL1,", r",14,val, ", lsl r",0, 3,"")\
> +       TEST_RRR( op s "ls      r9,  r",9, VAL1,", r",14,val, ", lsr r",7, 4,"")\
> +       TEST_RRR( op s "ge      r10, r",11,VAL1,", r",14,val, ", asr r",7, 5,"")\
> +       TEST_RRR( op s "lt      r11, r",11,VAL1,", r",14,N(val),", asr r",7, 6,"")\
> +       TEST_RR(  op s "gt      r12, r13"       ", r",14,val, ", ror r",14,7,"")\
> +       TEST_RR(  op s "le      r14, r",0, val, ", r13"       ", lsl r",14,8,"")\
> +       TEST_R(   op s "eq      r0,  r",11,VAL1,", #0xf5")                      \
> +       TEST_R(   op s "ne      r11, r",0, VAL1,", #0xf5000000")                \
>         TEST_R(   op s "        r7,  r",8, VAL2,", #0x000af000")                \
>         TEST(     op s "        r4,  pc"        ", #0x00005a00")
>
> @@ -104,23 +104,23 @@ void kprobe_arm_test_cases(void)
>         TEST_R(   op "  r",8, VAL2,", #0x000af000")
>
>  #define _DATA_PROCESSING_DM(op,s,val)                                  \
> -       TEST_R(   op "eq" s "   r0,  r",1, val, "")                     \
> -       TEST_R(   op "ne" s "   r1,  r",1, val, ", lsl #3")             \
> -       TEST_R(   op "cs" s "   r2,  r",3, val, ", lsr #4")             \
> -       TEST_R(   op "cc" s "   r3,  r",3, val, ", asr #5")             \
> -       TEST_R(   op "mi" s "   r4,  r",5, N(val),", asr #6")           \
> -       TEST_R(   op "pl" s "   r5,  r",5, val, ", ror #7")             \
> -       TEST_R(   op "vs" s "   r6,  r",10,val, ", rrx")                \
> -       TEST(     op "vs" s "   r7,  pc, lsl #3")                       \
> -       TEST(     op "vs" s "   r7,  sp, lsr #4")                       \
> -       TEST_RR(  op "vc" s "   r8,  r",7, val, ", lsl r",0, 3,"")      \
> -       TEST_RR(  op "hi" s "   r9,  r",9, val, ", lsr r",7, 4,"")      \
> -       TEST_RR(  op "ls" s "   r10, r",9, val, ", asr r",7, 5,"")      \
> -       TEST_RR(  op "ge" s "   r11, r",11,N(val),", asr r",7, 6,"")    \
> -       TEST_RR(  op "lt" s "   r12, r",11,val, ", ror r",14,7,"")      \
> -       TEST_R(   op "gt" s "   r14, r13"       ", lsl r",14,8,"")      \
> -       TEST(     op "eq" s "   r0,  #0xf5")                            \
> -       TEST(     op "ne" s "   r11, #0xf5000000")                      \
> +       TEST_R(   op s "eq      r0,  r",1, val, "")                     \
> +       TEST_R(   op s "ne      r1,  r",1, val, ", lsl #3")             \
> +       TEST_R(   op s "cs      r2,  r",3, val, ", lsr #4")             \
> +       TEST_R(   op s "cc      r3,  r",3, val, ", asr #5")             \
> +       TEST_R(   op s "mi      r4,  r",5, N(val),", asr #6")           \
> +       TEST_R(   op s "pl      r5,  r",5, val, ", ror #7")             \
> +       TEST_R(   op s "vs      r6,  r",10,val, ", rrx")                \
> +       TEST(     op s "vs      r7,  pc, lsl #3")                       \
> +       TEST(     op s "vs      r7,  sp, lsr #4")                       \
> +       TEST_RR(  op s "vc      r8,  r",7, val, ", lsl r",0, 3,"")      \
> +       TEST_RR(  op s "hi      r9,  r",9, val, ", lsr r",7, 4,"")      \
> +       TEST_RR(  op s "ls      r10, r",9, val, ", asr r",7, 5,"")      \
> +       TEST_RR(  op s "ge      r11, r",11,N(val),", asr r",7, 6,"")    \
> +       TEST_RR(  op s "lt      r12, r",11,val, ", ror r",14,7,"")      \
> +       TEST_R(   op s "gt      r14, r13"       ", lsl r",14,8,"")      \
> +       TEST(     op s "eq      r0,  #0xf5")                            \
> +       TEST(     op s "ne      r11, #0xf5000000")                      \
>         TEST(     op s "        r7,  #0x000af000")                      \
>         TEST(     op s "        r4,  #0x00005a00")
>
> @@ -352,7 +352,7 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe000029f) " @ mul r0, pc, r2")
>         TEST_UNSUPPORTED(__inst_arm(0xe0000f91) " @ mul r0, r1, pc")
>         TEST_RR(    "muls       r0, r",1, VAL1,", r",2, VAL2,"")
> -       TEST_RR(    "mullss     r7, r",8, VAL2,", r",9, VAL2,"")
> +       TEST_RR(    "mulsls     r7, r",8, VAL2,", r",9, VAL2,"")
>         TEST_R(     "muls       lr, r",4, VAL3,", r13")
>         TEST_UNSUPPORTED(__inst_arm(0xe01f0291) " @ muls pc, r1, r2")
>
> @@ -361,7 +361,7 @@ void kprobe_arm_test_cases(void)
>         TEST_RR(     "mla       lr, r",1, VAL2,", r",2, VAL3,", r13")
>         TEST_UNSUPPORTED(__inst_arm(0xe02f3291) " @ mla pc, r1, r2, r3")
>         TEST_RRR(    "mlas      r0, r",1, VAL1,", r",2, VAL2,", r",3,  VAL3,"")
> -       TEST_RRR(    "mlahis    r7, r",8, VAL3,", r",9, VAL1,", r",10, VAL2,"")
> +       TEST_RRR(    "mlashi    r7, r",8, VAL3,", r",9, VAL1,", r",10, VAL2,"")
>         TEST_RR(     "mlas      lr, r",1, VAL2,", r",2, VAL3,", r13")
>         TEST_UNSUPPORTED(__inst_arm(0xe03f3291) " @ mlas pc, r1, r2, r3")
>
> @@ -394,7 +394,7 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe081f392) " @ umull pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe08f1392) " @ umull r1, pc, r2, r3")
>         TEST_RR(  "umulls       r0, r1, r",2, VAL1,", r",3, VAL2,"")
> -       TEST_RR(  "umulllss     r7, r8, r",9, VAL2,", r",10, VAL1,"")
> +       TEST_RR(  "umullsls     r7, r8, r",9, VAL2,", r",10, VAL1,"")
>         TEST_R(   "umulls       lr, r12, r",11,VAL3,", r13")
>         TEST_UNSUPPORTED(__inst_arm(0xe091f392) " @ umulls pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe09f1392) " @ umulls r1, pc, r2, r3")
> @@ -405,7 +405,7 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe0af1392) " @ umlal pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe0a1f392) " @ umlal r1, pc, r2, r3")
>         TEST_RRRR(  "umlals     r",0, VAL1,", r",1, VAL2,", r",2, VAL3,", r",3, VAL4)
> -       TEST_RRRR(  "umlalles   r",8, VAL4,", r",9, VAL1,", r",10,VAL2,", r",11,VAL3)
> +       TEST_RRRR(  "umlalsle   r",8, VAL4,", r",9, VAL1,", r",10,VAL2,", r",11,VAL3)
>         TEST_RRR(   "umlals     r",14,VAL3,", r",7, VAL4,", r",5, VAL1,", r13")
>         TEST_UNSUPPORTED(__inst_arm(0xe0bf1392) " @ umlals pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe0b1f392) " @ umlals r1, pc, r2, r3")
> @@ -416,7 +416,7 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe0c1f392) " @ smull pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe0cf1392) " @ smull r1, pc, r2, r3")
>         TEST_RR(  "smulls       r0, r1, r",2, VAL1,", r",3, VAL2,"")
> -       TEST_RR(  "smulllss     r7, r8, r",9, VAL2,", r",10, VAL1,"")
> +       TEST_RR(  "smullsls     r7, r8, r",9, VAL2,", r",10, VAL1,"")
>         TEST_R(   "smulls       lr, r12, r",11,VAL3,", r13")
>         TEST_UNSUPPORTED(__inst_arm(0xe0d1f392) " @ smulls pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe0df1392) " @ smulls r1, pc, r2, r3")
> @@ -427,7 +427,7 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe0ef1392) " @ smlal pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe0e1f392) " @ smlal r1, pc, r2, r3")
>         TEST_RRRR(  "smlals     r",0, VAL1,", r",1, VAL2,", r",2, VAL3,", r",3, VAL4)
> -       TEST_RRRR(  "smlalles   r",8, VAL4,", r",9, VAL1,", r",10,VAL2,", r",11,VAL3)
> +       TEST_RRRR(  "smlalsle   r",8, VAL4,", r",9, VAL1,", r",10,VAL2,", r",11,VAL3)
>         TEST_RRR(   "smlals     r",14,VAL3,", r",7, VAL4,", r",5, VAL1,", r13")
>         TEST_UNSUPPORTED(__inst_arm(0xe0ff1392) " @ smlals pc, r1, r2, r3")
>         TEST_UNSUPPORTED(__inst_arm(0xe0f0f392) " @ smlals r0, pc, r2, r3")
> @@ -450,7 +450,7 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe10f0091) " @ swp r0, r1, [pc]")
>  #if __LINUX_ARM_ARCH__ < 6
>         TEST_RP("swpb   lr, r",7,VAL2,", [r",8,0,"]")
> -       TEST_R( "swpvsb r0, r",1,VAL1,", [sp]")
> +       TEST_R( "swpbvs r0, r",1,VAL1,", [sp]")
>  #else
>         TEST_UNSUPPORTED(__inst_arm(0xe148e097) " @ swpb        lr, r7, [r8]")
>         TEST_UNSUPPORTED(__inst_arm(0x614d0091) " @ swpvsb      r0, r1, [sp]")
> @@ -477,11 +477,11 @@ void kprobe_arm_test_cases(void)
>         TEST_GROUP("Extra load/store instructions")
>
>         TEST_RPR(  "strh        r",0, VAL1,", [r",1, 48,", -r",2, 24,"]")
> -       TEST_RPR(  "streqh      r",14,VAL2,", [r",11,0, ", r",12, 48,"]")
> -       TEST_UNSUPPORTED(  "streqh      r14, [r13, r12]")
> -       TEST_UNSUPPORTED(  "streqh      r14, [r12, r13]")
> +       TEST_RPR(  "strheq      r",14,VAL2,", [r",11,0, ", r",12, 48,"]")
> +       TEST_UNSUPPORTED(  "strheq      r14, [r13, r12]")
> +       TEST_UNSUPPORTED(  "strheq      r14, [r12, r13]")
>         TEST_RPR(  "strh        r",1, VAL1,", [r",2, 24,", r",3,  48,"]!")
> -       TEST_RPR(  "strneh      r",12,VAL2,", [r",11,48,", -r",10,24,"]!")
> +       TEST_RPR(  "strhne      r",12,VAL2,", [r",11,48,", -r",10,24,"]!")
>         TEST_RPR(  "strh        r",2, VAL1,", [r",3, 24,"], r",4, 48,"")
>         TEST_RPR(  "strh        r",10,VAL2,", [r",9, 48,"], -r",11,24,"")
>         TEST_UNSUPPORTED(__inst_arm(0xe1afc0ba) "       @ strh r12, [pc, r10]!")
> @@ -489,9 +489,9 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe089a0bf) "       @ strh r10, [r9], pc")
>
>         TEST_PR(   "ldrh        r0, [r",0,  48,", -r",2, 24,"]")
> -       TEST_PR(   "ldrcsh      r14, [r",13,0, ", r",12, 48,"]")
> +       TEST_PR(   "ldrhcs      r14, [r",13,0, ", r",12, 48,"]")
>         TEST_PR(   "ldrh        r1, [r",2,  24,", r",3,  48,"]!")
> -       TEST_PR(   "ldrcch      r12, [r",11,48,", -r",10,24,"]!")
> +       TEST_PR(   "ldrhcc      r12, [r",11,48,", -r",10,24,"]!")
>         TEST_PR(   "ldrh        r2, [r",3,  24,"], r",4, 48,"")
>         TEST_PR(   "ldrh        r10, [r",9, 48,"], -r",11,24,"")
>         TEST_UNSUPPORTED(__inst_arm(0xe1bfc0ba) "       @ ldrh r12, [pc, r10]!")
> @@ -499,9 +499,9 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe099a0bf) "       @ ldrh r10, [r9], pc")
>
>         TEST_RP(   "strh        r",0, VAL1,", [r",1, 24,", #-2]")
> -       TEST_RP(   "strmih      r",14,VAL2,", [r",13,0, ", #2]")
> +       TEST_RP(   "strhmi      r",14,VAL2,", [r",13,0, ", #2]")
>         TEST_RP(   "strh        r",1, VAL1,", [r",2, 24,", #4]!")
> -       TEST_RP(   "strplh      r",12,VAL2,", [r",11,24,", #-4]!")
> +       TEST_RP(   "strhpl      r",12,VAL2,", [r",11,24,", #-4]!")
>         TEST_RP(   "strh        r",2, VAL1,", [r",3, 24,"], #48")
>         TEST_RP(   "strh        r",10,VAL2,", [r",9, 64,"], #-48")
>         TEST_RP(   "strh        r",3, VAL1,", [r",13,TEST_MEMORY_SIZE,", #-"__stringify(MAX_STACK_SIZE)"]!")
> @@ -511,9 +511,9 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe0c9f3b0) "       @ strh pc, [r9], #48")
>
>         TEST_P(    "ldrh        r0, [r",0,  24,", #-2]")
> -       TEST_P(    "ldrvsh      r14, [r",13,0, ", #2]")
> +       TEST_P(    "ldrhvs      r14, [r",13,0, ", #2]")
>         TEST_P(    "ldrh        r1, [r",2,  24,", #4]!")
> -       TEST_P(    "ldrvch      r12, [r",11,24,", #-4]!")
> +       TEST_P(    "ldrhvc      r12, [r",11,24,", #-4]!")
>         TEST_P(    "ldrh        r2, [r",3,  24,"], #48")
>         TEST_P(    "ldrh        r10, [r",9, 64,"], #-48")
>         TEST(      "ldrh        r0, [pc, #0]")
> @@ -521,18 +521,18 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe0d9f3b0) "       @ ldrh pc, [r9], #48")
>
>         TEST_PR(   "ldrsb       r0, [r",0,  48,", -r",2, 24,"]")
> -       TEST_PR(   "ldrhisb     r14, [r",13,0,", r",12,  48,"]")
> +       TEST_PR(   "ldrsbhi     r14, [r",13,0,", r",12,  48,"]")
>         TEST_PR(   "ldrsb       r1, [r",2,  24,", r",3,  48,"]!")
> -       TEST_PR(   "ldrlssb     r12, [r",11,48,", -r",10,24,"]!")
> +       TEST_PR(   "ldrsbls     r12, [r",11,48,", -r",10,24,"]!")
>         TEST_PR(   "ldrsb       r2, [r",3,  24,"], r",4, 48,"")
>         TEST_PR(   "ldrsb       r10, [r",9, 48,"], -r",11,24,"")
>         TEST_UNSUPPORTED(__inst_arm(0xe1bfc0da) "       @ ldrsb r12, [pc, r10]!")
>         TEST_UNSUPPORTED(__inst_arm(0xe099f0db) "       @ ldrsb pc, [r9], r11")
>
>         TEST_P(    "ldrsb       r0, [r",0,  24,", #-1]")
> -       TEST_P(    "ldrgesb     r14, [r",13,0, ", #1]")
> +       TEST_P(    "ldrsbge     r14, [r",13,0, ", #1]")
>         TEST_P(    "ldrsb       r1, [r",2,  24,", #4]!")
> -       TEST_P(    "ldrltsb     r12, [r",11,24,", #-4]!")
> +       TEST_P(    "ldrsblt     r12, [r",11,24,", #-4]!")
>         TEST_P(    "ldrsb       r2, [r",3,  24,"], #48")
>         TEST_P(    "ldrsb       r10, [r",9, 64,"], #-48")
>         TEST(      "ldrsb       r0, [pc, #0]")
> @@ -540,18 +540,18 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe0d9f3d0) "       @ ldrsb pc, [r9], #48")
>
>         TEST_PR(   "ldrsh       r0, [r",0,  48,", -r",2, 24,"]")
> -       TEST_PR(   "ldrgtsh     r14, [r",13,0, ", r",12, 48,"]")
> +       TEST_PR(   "ldrshgt     r14, [r",13,0, ", r",12, 48,"]")
>         TEST_PR(   "ldrsh       r1, [r",2,  24,", r",3,  48,"]!")
> -       TEST_PR(   "ldrlesh     r12, [r",11,48,", -r",10,24,"]!")
> +       TEST_PR(   "ldrshle     r12, [r",11,48,", -r",10,24,"]!")
>         TEST_PR(   "ldrsh       r2, [r",3,  24,"], r",4, 48,"")
>         TEST_PR(   "ldrsh       r10, [r",9, 48,"], -r",11,24,"")
>         TEST_UNSUPPORTED(__inst_arm(0xe1bfc0fa) "       @ ldrsh r12, [pc, r10]!")
>         TEST_UNSUPPORTED(__inst_arm(0xe099f0fb) "       @ ldrsh pc, [r9], r11")
>
>         TEST_P(    "ldrsh       r0, [r",0,  24,", #-1]")
> -       TEST_P(    "ldreqsh     r14, [r",13,0 ,", #1]")
> +       TEST_P(    "ldrsheq     r14, [r",13,0 ,", #1]")
>         TEST_P(    "ldrsh       r1, [r",2,  24,", #4]!")
> -       TEST_P(    "ldrnesh     r12, [r",11,24,", #-4]!")
> +       TEST_P(    "ldrshne     r12, [r",11,24,", #-4]!")
>         TEST_P(    "ldrsh       r2, [r",3,  24,"], #48")
>         TEST_P(    "ldrsh       r10, [r",9, 64,"], #-48")
>         TEST(      "ldrsh       r0, [pc, #0]")
> @@ -571,30 +571,30 @@ void kprobe_arm_test_cases(void)
>
>  #if __LINUX_ARM_ARCH__ >= 5
>         TEST_RPR(  "strd        r",0, VAL1,", [r",1, 48,", -r",2,24,"]")
> -       TEST_RPR(  "strccd      r",8, VAL2,", [r",11,0, ", r",12,48,"]")
> -       TEST_UNSUPPORTED(  "strccd r8, [r13, r12]")
> -       TEST_UNSUPPORTED(  "strccd r8, [r12, r13]")
> +       TEST_RPR(  "strdcc      r",8, VAL2,", [r",11,0, ", r",12,48,"]")
> +       TEST_UNSUPPORTED(  "strdcc r8, [r13, r12]")
> +       TEST_UNSUPPORTED(  "strdcc r8, [r12, r13]")
>         TEST_RPR(  "strd        r",4, VAL1,", [r",2, 24,", r",3, 48,"]!")
> -       TEST_RPR(  "strcsd      r",12,VAL2,", [r",11,48,", -r",10,24,"]!")
> -       TEST_RPR(  "strd        r",2, VAL1,", [r",5, 24,"], r",4,48,"")
> -       TEST_RPR(  "strd        r",10,VAL2,", [r",9, 48,"], -r",7,24,"")
> +       TEST_RPR(  "strdcs      r",12,VAL2,", r13, [r",11,48,", -r",10,24,"]!")
> +       TEST_RPR(  "strd        r",2, VAL1,", r3, [r",5, 24,"], r",4,48,"")
> +       TEST_RPR(  "strd        r",10,VAL2,", r11, [r",9, 48,"], -r",7,24,"")
>         TEST_UNSUPPORTED(__inst_arm(0xe1afc0fa) "       @ strd r12, [pc, r10]!")
>
>         TEST_PR(   "ldrd        r0, [r",0, 48,", -r",2,24,"]")
> -       TEST_PR(   "ldrmid      r8, [r",13,0, ", r",12,48,"]")
> +       TEST_PR(   "ldrdmi      r8, [r",13,0, ", r",12,48,"]")
>         TEST_PR(   "ldrd        r4, [r",2, 24,", r",3, 48,"]!")
> -       TEST_PR(   "ldrpld      r6, [r",11,48,", -r",10,24,"]!")
> -       TEST_PR(   "ldrd        r2, [r",5, 24,"], r",4,48,"")
> -       TEST_PR(   "ldrd        r10, [r",9,48,"], -r",7,24,"")
> +       TEST_PR(   "ldrdpl      r6, [r",11,48,", -r",10,24,"]!")
> +       TEST_PR(   "ldrd        r2, r3, [r",5, 24,"], r",4,48,"")
> +       TEST_PR(   "ldrd        r10, r11, [r",9,48,"], -r",7,24,"")
>         TEST_UNSUPPORTED(__inst_arm(0xe1afc0da) "       @ ldrd r12, [pc, r10]!")
>         TEST_UNSUPPORTED(__inst_arm(0xe089f0db) "       @ ldrd pc, [r9], r11")
>         TEST_UNSUPPORTED(__inst_arm(0xe089e0db) "       @ ldrd lr, [r9], r11")
>         TEST_UNSUPPORTED(__inst_arm(0xe089c0df) "       @ ldrd r12, [r9], pc")
>
>         TEST_RP(   "strd        r",0, VAL1,", [r",1, 24,", #-8]")
> -       TEST_RP(   "strvsd      r",8, VAL2,", [r",13,0, ", #8]")
> +       TEST_RP(   "strdvs      r",8, VAL2,", [r",13,0, ", #8]")
>         TEST_RP(   "strd        r",4, VAL1,", [r",2, 24,", #16]!")
> -       TEST_RP(   "strvcd      r",12,VAL2,", [r",11,24,", #-16]!")
> +       TEST_RP(   "strdvc      r",12,VAL2,", r13, [r",11,24,", #-16]!")
>         TEST_RP(   "strd        r",2, VAL1,", [r",4, 24,"], #48")
>         TEST_RP(   "strd        r",10,VAL2,", [r",9, 64,"], #-48")
>         TEST_RP(   "strd        r",6, VAL1,", [r",13,TEST_MEMORY_SIZE,", #-"__stringify(MAX_STACK_SIZE)"]!")
> @@ -603,9 +603,9 @@ void kprobe_arm_test_cases(void)
>         TEST_UNSUPPORTED(__inst_arm(0xe1efc3f0) "       @ strd r12, [pc, #48]!")
>
>         TEST_P(    "ldrd        r0, [r",0, 24,", #-8]")
> -       TEST_P(    "ldrhid      r8, [r",13,0, ", #8]")
> +       TEST_P(    "ldrdhi      r8, [r",13,0, ", #8]")
>         TEST_P(    "ldrd        r4, [r",2, 24,", #16]!")
> -       TEST_P(    "ldrlsd      r6, [r",11,24,", #-16]!")
> +       TEST_P(    "ldrdls      r6, [r",11,24,", #-16]!")
>         TEST_P(    "ldrd        r2, [r",5, 24,"], #48")
>         TEST_P(    "ldrd        r10, [r",9,6,"], #-48")
>         TEST_UNSUPPORTED(__inst_arm(0xe1efc3d0) "       @ ldrd r12, [pc, #48]!")
> @@ -1084,63 +1084,63 @@ void kprobe_arm_test_cases(void)
>         TEST_GROUP("Branch, branch with link, and block data transfer")
>
>         TEST_P(   "stmda        r",0, 16*4,", {r0}")
> -       TEST_P(   "stmeqda      r",4, 16*4,", {r0-r15}")
> -       TEST_P(   "stmneda      r",8, 16*4,"!, {r8-r15}")
> +       TEST_P(   "stmdaeq      r",4, 16*4,", {r0-r15}")
> +       TEST_P(   "stmdane      r",8, 16*4,"!, {r8-r15}")
>         TEST_P(   "stmda        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_P(   "stmda        r",13,0,   "!, {pc}")
>
>         TEST_P(   "ldmda        r",0, 16*4,", {r0}")
> -       TEST_BF_P("ldmcsda      r",4, 15*4,", {r0-r15}")
> -       TEST_BF_P("ldmccda      r",7, 15*4,"!, {r8-r15}")
> +       TEST_BF_P("ldmdacs      r",4, 15*4,", {r0-r15}")
> +       TEST_BF_P("ldmdacc      r",7, 15*4,"!, {r8-r15}")
>         TEST_P(   "ldmda        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_BF_P("ldmda        r",14,15*4,"!, {pc}")
>
>         TEST_P(   "stmia        r",0, 16*4,", {r0}")
> -       TEST_P(   "stmmiia      r",4, 16*4,", {r0-r15}")
> -       TEST_P(   "stmplia      r",8, 16*4,"!, {r8-r15}")
> +       TEST_P(   "stmiami      r",4, 16*4,", {r0-r15}")
> +       TEST_P(   "stmiapl      r",8, 16*4,"!, {r8-r15}")
>         TEST_P(   "stmia        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_P(   "stmia        r",14,0,   "!, {pc}")
>
>         TEST_P(   "ldmia        r",0, 16*4,", {r0}")
> -       TEST_BF_P("ldmvsia      r",4, 0,   ", {r0-r15}")
> -       TEST_BF_P("ldmvcia      r",7, 8*4, "!, {r8-r15}")
> +       TEST_BF_P("ldmiavs      r",4, 0,   ", {r0-r15}")
> +       TEST_BF_P("ldmiavc      r",7, 8*4, "!, {r8-r15}")
>         TEST_P(   "ldmia        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_BF_P("ldmia        r",14,15*4,"!, {pc}")
>
>         TEST_P(   "stmdb        r",0, 16*4,", {r0}")
> -       TEST_P(   "stmhidb      r",4, 16*4,", {r0-r15}")
> -       TEST_P(   "stmlsdb      r",8, 16*4,"!, {r8-r15}")
> +       TEST_P(   "stmdbhi      r",4, 16*4,", {r0-r15}")
> +       TEST_P(   "stmdbls      r",8, 16*4,"!, {r8-r15}")
>         TEST_P(   "stmdb        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_P(   "stmdb        r",13,4,   "!, {pc}")
>
>         TEST_P(   "ldmdb        r",0, 16*4,", {r0}")
> -       TEST_BF_P("ldmgedb      r",4, 16*4,", {r0-r15}")
> -       TEST_BF_P("ldmltdb      r",7, 16*4,"!, {r8-r15}")
> +       TEST_BF_P("ldmdbge      r",4, 16*4,", {r0-r15}")
> +       TEST_BF_P("ldmdblt      r",7, 16*4,"!, {r8-r15}")
>         TEST_P(   "ldmdb        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_BF_P("ldmdb        r",14,16*4,"!, {pc}")
>
>         TEST_P(   "stmib        r",0, 16*4,", {r0}")
> -       TEST_P(   "stmgtib      r",4, 16*4,", {r0-r15}")
> -       TEST_P(   "stmleib      r",8, 16*4,"!, {r8-r15}")
> +       TEST_P(   "stmibgt      r",4, 16*4,", {r0-r15}")
> +       TEST_P(   "stmible      r",8, 16*4,"!, {r8-r15}")
>         TEST_P(   "stmib        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_P(   "stmib        r",13,-4,  "!, {pc}")
>
>         TEST_P(   "ldmib        r",0, 16*4,", {r0}")
> -       TEST_BF_P("ldmeqib      r",4, -4,", {r0-r15}")
> -       TEST_BF_P("ldmneib      r",7, 7*4,"!, {r8-r15}")
> +       TEST_BF_P("ldmibeq      r",4, -4,", {r0-r15}")
> +       TEST_BF_P("ldmibne      r",7, 7*4,"!, {r8-r15}")
>         TEST_P(   "ldmib        r",12,16*4,"!, {r1,r3,r5,r7,r8-r11,r14}")
>         TEST_BF_P("ldmib        r",14,14*4,"!, {pc}")
>
>         TEST_P(   "stmdb        r",13,16*4,"!, {r3-r12,lr}")
> -       TEST_P(   "stmeqdb      r",13,16*4,"!, {r3-r12}")
> -       TEST_P(   "stmnedb      r",2, 16*4,", {r3-r12,lr}")
> +       TEST_P(   "stmdbeq      r",13,16*4,"!, {r3-r12}")
> +       TEST_P(   "stmdbne      r",2, 16*4,", {r3-r12,lr}")
>         TEST_P(   "stmdb        r",13,16*4,"!, {r2-r12,lr}")
>         TEST_P(   "stmdb        r",0, 16*4,", {r0-r12}")
>         TEST_P(   "stmdb        r",0, 16*4,", {r0-r12,lr}")
>
>         TEST_BF_P("ldmia        r",13,5*4, "!, {r3-r12,pc}")
> -       TEST_P(   "ldmccia      r",13,5*4, "!, {r3-r12}")
> -       TEST_BF_P("ldmcsia      r",2, 5*4, "!, {r3-r12,pc}")
> +       TEST_P(   "ldmiacc      r",13,5*4, "!, {r3-r12}")
> +       TEST_BF_P("ldmiacs      r",2, 5*4, "!, {r3-r12,pc}")
>         TEST_BF_P("ldmia        r",13,4*4, "!, {r2-r12,pc}")
>         TEST_P(   "ldmia        r",0, 16*4,", {r0-r12}")
>         TEST_P(   "ldmia        r",0, 16*4,", {r0-r12,lr}")
> @@ -1174,80 +1174,80 @@ void kprobe_arm_test_cases(void)
>  #define TEST_COPROCESSOR(code) TEST_UNSUPPORTED(code)
>
>  #define COPROCESSOR_INSTRUCTIONS_ST_LD(two,cc)                                 \
> -       TEST_COPROCESSOR("stc"two"      0, cr0, [r13, #4]")                     \
> -       TEST_COPROCESSOR("stc"two"      0, cr0, [r13, #-4]")                    \
> -       TEST_COPROCESSOR("stc"two"      0, cr0, [r13, #4]!")                    \
> -       TEST_COPROCESSOR("stc"two"      0, cr0, [r13, #-4]!")                   \
> -       TEST_COPROCESSOR("stc"two"      0, cr0, [r13], #4")                     \
> -       TEST_COPROCESSOR("stc"two"      0, cr0, [r13], #-4")                    \
> -       TEST_COPROCESSOR("stc"two"      0, cr0, [r13], {1}")                    \
> -       TEST_COPROCESSOR("stc"two"l     0, cr0, [r13, #4]")                     \
> -       TEST_COPROCESSOR("stc"two"l     0, cr0, [r13, #-4]")                    \
> -       TEST_COPROCESSOR("stc"two"l     0, cr0, [r13, #4]!")                    \
> -       TEST_COPROCESSOR("stc"two"l     0, cr0, [r13, #-4]!")                   \
> -       TEST_COPROCESSOR("stc"two"l     0, cr0, [r13], #4")                     \
> -       TEST_COPROCESSOR("stc"two"l     0, cr0, [r13], #-4")                    \
> -       TEST_COPROCESSOR("stc"two"l     0, cr0, [r13], {1}")                    \
> -       TEST_COPROCESSOR("ldc"two"      0, cr0, [r13, #4]")                     \
> -       TEST_COPROCESSOR("ldc"two"      0, cr0, [r13, #-4]")                    \
> -       TEST_COPROCESSOR("ldc"two"      0, cr0, [r13, #4]!")                    \
> -       TEST_COPROCESSOR("ldc"two"      0, cr0, [r13, #-4]!")                   \
> -       TEST_COPROCESSOR("ldc"two"      0, cr0, [r13], #4")                     \
> -       TEST_COPROCESSOR("ldc"two"      0, cr0, [r13], #-4")                    \
> -       TEST_COPROCESSOR("ldc"two"      0, cr0, [r13], {1}")                    \
> -       TEST_COPROCESSOR("ldc"two"l     0, cr0, [r13, #4]")                     \
> -       TEST_COPROCESSOR("ldc"two"l     0, cr0, [r13, #-4]")                    \
> -       TEST_COPROCESSOR("ldc"two"l     0, cr0, [r13, #4]!")                    \
> -       TEST_COPROCESSOR("ldc"two"l     0, cr0, [r13, #-4]!")                   \
> -       TEST_COPROCESSOR("ldc"two"l     0, cr0, [r13], #4")                     \
> -       TEST_COPROCESSOR("ldc"two"l     0, cr0, [r13], #-4")                    \
> -       TEST_COPROCESSOR("ldc"two"l     0, cr0, [r13], {1}")                    \
> +       TEST_COPROCESSOR("stc"two"      p0, cr0, [r13, #4]")                    \
> +       TEST_COPROCESSOR("stc"two"      p0, cr0, [r13, #-4]")                   \
> +       TEST_COPROCESSOR("stc"two"      p0, cr0, [r13, #4]!")                   \
> +       TEST_COPROCESSOR("stc"two"      p0, cr0, [r13, #-4]!")                  \
> +       TEST_COPROCESSOR("stc"two"      p0, cr0, [r13], #4")                    \
> +       TEST_COPROCESSOR("stc"two"      p0, cr0, [r13], #-4")                   \
> +       TEST_COPROCESSOR("stc"two"      p0, cr0, [r13], {1}")                   \
> +       TEST_COPROCESSOR("stc"two"l     p0, cr0, [r13, #4]")                    \
> +       TEST_COPROCESSOR("stc"two"l     p0, cr0, [r13, #-4]")                   \
> +       TEST_COPROCESSOR("stc"two"l     p0, cr0, [r13, #4]!")                   \
> +       TEST_COPROCESSOR("stc"two"l     p0, cr0, [r13, #-4]!")                  \
> +       TEST_COPROCESSOR("stc"two"l     p0, cr0, [r13], #4")                    \
> +       TEST_COPROCESSOR("stc"two"l     p0, cr0, [r13], #-4")                   \
> +       TEST_COPROCESSOR("stc"two"l     p0, cr0, [r13], {1}")                   \
> +       TEST_COPROCESSOR("ldc"two"      p0, cr0, [r13, #4]")                    \
> +       TEST_COPROCESSOR("ldc"two"      p0, cr0, [r13, #-4]")                   \
> +       TEST_COPROCESSOR("ldc"two"      p0, cr0, [r13, #4]!")                   \
> +       TEST_COPROCESSOR("ldc"two"      p0, cr0, [r13, #-4]!")                  \
> +       TEST_COPROCESSOR("ldc"two"      p0, cr0, [r13], #4")                    \
> +       TEST_COPROCESSOR("ldc"two"      p0, cr0, [r13], #-4")                   \
> +       TEST_COPROCESSOR("ldc"two"      p0, cr0, [r13], {1}")                   \
> +       TEST_COPROCESSOR("ldc"two"l     p0, cr0, [r13, #4]")                    \
> +       TEST_COPROCESSOR("ldc"two"l     p0, cr0, [r13, #-4]")                   \
> +       TEST_COPROCESSOR("ldc"two"l     p0, cr0, [r13, #4]!")                   \
> +       TEST_COPROCESSOR("ldc"two"l     p0, cr0, [r13, #-4]!")                  \
> +       TEST_COPROCESSOR("ldc"two"l     p0, cr0, [r13], #4")                    \
> +       TEST_COPROCESSOR("ldc"two"l     p0, cr0, [r13], #-4")                   \
> +       TEST_COPROCESSOR("ldc"two"l     p0, cr0, [r13], {1}")                   \
>                                                                                 \
> -       TEST_COPROCESSOR( "stc"two"     0, cr0, [r15, #4]")                     \
> -       TEST_COPROCESSOR( "stc"two"     0, cr0, [r15, #-4]")                    \
> +       TEST_COPROCESSOR( "stc"two"     p0, cr0, [r15, #4]")                    \
> +       TEST_COPROCESSOR( "stc"two"     p0, cr0, [r15, #-4]")                   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##daf0001) "  @ stc"two"      0, cr0, [r15, #4]!")    \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##d2f0001) "  @ stc"two"      0, cr0, [r15, #-4]!")   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##caf0001) "  @ stc"two"      0, cr0, [r15], #4")     \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c2f0001) "  @ stc"two"      0, cr0, [r15], #-4")    \
> -       TEST_COPROCESSOR( "stc"two"     0, cr0, [r15], {1}")                    \
> -       TEST_COPROCESSOR( "stc"two"l    0, cr0, [r15, #4]")                     \
> -       TEST_COPROCESSOR( "stc"two"l    0, cr0, [r15, #-4]")                    \
> +       TEST_COPROCESSOR( "stc"two"     p0, cr0, [r15], {1}")                   \
> +       TEST_COPROCESSOR( "stc"two"l    p0, cr0, [r15, #4]")                    \
> +       TEST_COPROCESSOR( "stc"two"l    p0, cr0, [r15, #-4]")                   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##def0001) "  @ stc"two"l     0, cr0, [r15, #4]!")    \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##d6f0001) "  @ stc"two"l     0, cr0, [r15, #-4]!")   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##cef0001) "  @ stc"two"l     0, cr0, [r15], #4")     \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c6f0001) "  @ stc"two"l     0, cr0, [r15], #-4")    \
> -       TEST_COPROCESSOR( "stc"two"l    0, cr0, [r15], {1}")                    \
> -       TEST_COPROCESSOR( "ldc"two"     0, cr0, [r15, #4]")                     \
> -       TEST_COPROCESSOR( "ldc"two"     0, cr0, [r15, #-4]")                    \
> +       TEST_COPROCESSOR( "stc"two"l    p0, cr0, [r15], {1}")                   \
> +       TEST_COPROCESSOR( "ldc"two"     p0, cr0, [r15, #4]")                    \
> +       TEST_COPROCESSOR( "ldc"two"     p0, cr0, [r15, #-4]")                   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##dbf0001) "  @ ldc"two"      0, cr0, [r15, #4]!")    \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##d3f0001) "  @ ldc"two"      0, cr0, [r15, #-4]!")   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##cbf0001) "  @ ldc"two"      0, cr0, [r15], #4")     \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c3f0001) "  @ ldc"two"      0, cr0, [r15], #-4")    \
> -       TEST_COPROCESSOR( "ldc"two"     0, cr0, [r15], {1}")                    \
> -       TEST_COPROCESSOR( "ldc"two"l    0, cr0, [r15, #4]")                     \
> -       TEST_COPROCESSOR( "ldc"two"l    0, cr0, [r15, #-4]")                    \
> +       TEST_COPROCESSOR( "ldc"two"     p0, cr0, [r15], {1}")                   \
> +       TEST_COPROCESSOR( "ldc"two"l    p0, cr0, [r15, #4]")                    \
> +       TEST_COPROCESSOR( "ldc"two"l    p0, cr0, [r15, #-4]")                   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##dff0001) "  @ ldc"two"l     0, cr0, [r15, #4]!")    \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##d7f0001) "  @ ldc"two"l     0, cr0, [r15, #-4]!")   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##cff0001) "  @ ldc"two"l     0, cr0, [r15], #4")     \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c7f0001) "  @ ldc"two"l     0, cr0, [r15], #-4")    \
> -       TEST_COPROCESSOR( "ldc"two"l    0, cr0, [r15], {1}")
> +       TEST_COPROCESSOR( "ldc"two"l    p0, cr0, [r15], {1}")
>
>  #define COPROCESSOR_INSTRUCTIONS_MC_MR(two,cc)                                 \
>                                                                                 \
> -       TEST_COPROCESSOR( "mcrr"two"    0, 15, r0, r14, cr0")                   \
> -       TEST_COPROCESSOR( "mcrr"two"    15, 0, r14, r0, cr15")                  \
> +       TEST_COPROCESSOR( "mcrr"two"    p0, 15, r0, r14, cr0")                  \
> +       TEST_COPROCESSOR( "mcrr"two"    p15, 0, r14, r0, cr15")                 \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c4f00f0) "  @ mcrr"two"     0, 15, r0, r15, cr0")   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c40ff0f) "  @ mcrr"two"     15, 0, r15, r0, cr15")  \
> -       TEST_COPROCESSOR( "mrrc"two"    0, 15, r0, r14, cr0")                   \
> -       TEST_COPROCESSOR( "mrrc"two"    15, 0, r14, r0, cr15")                  \
> +       TEST_COPROCESSOR( "mrrc"two"    p0, 15, r0, r14, cr0")                  \
> +       TEST_COPROCESSOR( "mrrc"two"    p15, 0, r14, r0, cr15")                 \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c5f00f0) "  @ mrrc"two"     0, 15, r0, r15, cr0")   \
>         TEST_UNSUPPORTED(__inst_arm(0x##cc##c50ff0f) "  @ mrrc"two"     15, 0, r15, r0, cr15")  \
> -       TEST_COPROCESSOR( "cdp"two"     15, 15, cr15, cr15, cr15, 7")           \
> -       TEST_COPROCESSOR( "cdp"two"     0, 0, cr0, cr0, cr0, 0")                \
> -       TEST_COPROCESSOR( "mcr"two"     15, 7, r15, cr15, cr15, 7")             \
> -       TEST_COPROCESSOR( "mcr"two"     0, 0, r0, cr0, cr0, 0")                 \
> -       TEST_COPROCESSOR( "mrc"two"     15, 7, r15, cr15, cr15, 7")             \
> -       TEST_COPROCESSOR( "mrc"two"     0, 0, r0, cr0, cr0, 0")
> +       TEST_COPROCESSOR( "cdp"two"     p15, 15, cr15, cr15, cr15, 7")          \
> +       TEST_COPROCESSOR( "cdp"two"     p0, 0, cr0, cr0, cr0, 0")               \
> +       TEST_COPROCESSOR( "mcr"two"     p15, 7, r15, cr15, cr15, 7")            \
> +       TEST_COPROCESSOR( "mcr"two"     p0, 0, r0, cr0, cr0, 0")                \
> +       TEST_COPROCESSOR( "mrc"two"     p15, 7, r14, cr15, cr15, 7")            \
> +       TEST_COPROCESSOR( "mrc"two"     p0, 0, r0, cr0, cr0, 0")
>
>         COPROCESSOR_INSTRUCTIONS_ST_LD("",e)
>  #if __LINUX_ARM_ARCH__ >= 5
> diff --git a/arch/arm/probes/kprobes/test-core.h b/arch/arm/probes/kprobes/test-core.h
> index 19a5b2add41e..f1d5583e7bbb 100644
> --- a/arch/arm/probes/kprobes/test-core.h
> +++ b/arch/arm/probes/kprobes/test-core.h
> @@ -108,6 +108,7 @@ struct test_arg_end {
>
>  #define TESTCASE_START(title)                                  \
>         __asm__ __volatile__ (                                  \
> +       ".syntax unified                                \n\t"   \
>         "bl     __kprobes_test_case_start               \n\t"   \
>         ".pushsection .rodata                           \n\t"   \
>         "10:                                            \n\t"   \
> --
> 2.30.0.478.g8a0d178c01-goog
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ