target/xtensa: avoid IHI for writes to non-executable memory
[openocd.git] / src / target / semihosting_common.h
index 9fe76bafef29c8ce8d5d86168c6b63ed44abd0f6..a1848b4881fb3d08b3a5b7f1b1d3d57bc369aeab 100644 (file)
@@ -1,22 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
 /***************************************************************************
  *   Copyright (C) 2018 by Liviu Ionescu                                   *
  *   <ilg@livius.net>                                                      *
  *                                                                         *
  *   Copyright (C) 2009 by Marvell Technology Group Ltd.                   *
  *   Written by Nicolas Pitre <nico@marvell.com>                           *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
 #ifndef OPENOCD_TARGET_SEMIHOSTING_COMMON_H
@@ -76,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*/
@@ -197,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);
@@ -212,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)