target: Add a debug_reason command
[openocd.git] / src / target / semihosting_common.h
index 32a7218e7035dfbcae8c58805c0666d5da9573f1..a1848b4881fb3d08b3a5b7f1b1d3d57bc369aeab 100644 (file)
@@ -65,9 +65,11 @@ enum semihosting_operation_numbers {
        SEMIHOSTING_SYS_WRITE = 0x05,
        SEMIHOSTING_SYS_WRITEC = 0x03,
        SEMIHOSTING_SYS_WRITE0 = 0x04,
-       SEMIHOSTING_USER_CMD_0x100 = 0x100, /* First user cmd op code */
-       SEMIHOSTING_USER_CMD_0x107 = 0x107, /* Last supported user cmd op code */
-       SEMIHOSTING_USER_CMD_0x1FF = 0x1FF, /* Last user cmd op code */
+       SEMIHOSTING_ARM_RESERVED_START = 0x32,
+       SEMIHOSTING_ARM_RESERVED_END = 0xFF,
+       SEMIHOSTING_USER_CMD_0X100 = 0x100, /* First user cmd op code */
+       SEMIHOSTING_USER_CMD_0X107 = 0x107, /* Last supported user cmd op code */
+       SEMIHOSTING_USER_CMD_0X1FF = 0x1FF, /* Last user cmd op code */
 };
 
 /** Maximum allowed Tcl command segment length in bytes*/
@@ -186,6 +188,13 @@ struct semihosting {
        int (*post_result)(struct target *target);
 };
 
+/**
+ * @brief Convert the syscall opcode to a human-readable string
+ * @param[in] opcode Syscall opcode
+ * @return String representation of syscall opcode
+ */
+const char *semihosting_opcode_to_str(uint64_t opcode);
+
 int semihosting_common_init(struct target *target, void *setup,
        void *post_result);
 int semihosting_common(struct target *target);
@@ -201,4 +210,6 @@ void semihosting_set_field(struct target *target, uint64_t value,
        size_t index,
        uint8_t *fields);
 
+extern const struct command_registration semihosting_common_handlers[];
+
 #endif /* OPENOCD_TARGET_SEMIHOSTING_COMMON_H */

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)