The branch main has been updated by mhorne:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=7edb7adf8c8b0615c6d845ca789d4f527f8b18a3

commit 7edb7adf8c8b0615c6d845ca789d4f527f8b18a3
Author:     Mykola Hohsadze <[email protected]>
AuthorDate: 2023-04-18 15:51:15 +0000
Commit:     Mitchell Horne <[email protected]>
CommitDate: 2023-04-25 20:23:15 +0000

    arm64/disassem.c: Add support str/strb/strh instructions
    
    Added disassembly support for each type of str/strb/strh instruction
    encoding.
    
    Reviewed by:    mhorne
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D39336
---
 sys/arm64/arm64/disassem.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c
index 90ae51c5740c..0f7b040e7b06 100644
--- a/sys/arm64/arm64/disassem.c
+++ b/sys/arm64/arm64/disassem.c
@@ -187,6 +187,24 @@ static struct arm64_insn arm64_i[] = {
            TYPE_02, 0 },                       /* ldrsw register */
        { "ldrsw", "10011000|IMM(19)|RT(5)",
            TYPE_03, OP_SIGN_EXT | OP_LITERAL | OP_MULT_4 },    /* ldr literal 
*/
+        { "str", "1|SF(1)|111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)",
+            TYPE_02, OP_SIGN_EXT },            /* str immediate post/pre index 
*/
+        { "str", "1|SF(1)|11100100|IMM(12)|RN(5)|RT(5)",
+            TYPE_02, 0 },                      /* str immediate unsigned */
+        { "str", "1|SF(1)|111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)",
+            TYPE_02, 0 },                      /* str register */
+        { "strb", "00111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)",
+            TYPE_02, OP_SIGN_EXT | OP_SF32 },   /* strb immediate post/pre 
index */
+        { "strb", "0011100100|IMM(12)|RN(5)|RT(5)",
+            TYPE_02, OP_SF32 },                 /* strb immediate unsigned */
+        { "strb", "00111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)",
+            TYPE_02, OP_SF32 },                /* strb register */
+        { "strh", "01111000000|IMM(9)|OPTION(2)|RN(5)|RT(5)",
+           TYPE_02, OP_SF32 | OP_SIGN_EXT },   /* strh immediate post/pre 
index */
+        { "strh", "0111100100|IMM(12)|RN(5)|RT(5)",
+           TYPE_02, OP_SF32 },                 /* immediate unsigned */
+        { "strh", "01111000001|RM(5)|OPTION(3)|SCALE(1)|10|RN(5)|RT(5)",
+            TYPE_02, OP_SF32 },                /* strh register */
        { NULL, NULL }
 };
 

Reply via email to