target/riscv: add common magic 99/6999/2
authorTomas Vanek <vanekt@fbl.cz>
Thu, 26 May 2022 09:33:27 +0000 (11:33 +0200)
committerTomas Vanek <vanekt@fbl.cz>
Mon, 1 Aug 2022 08:58:02 +0000 (08:58 +0000)
Add common_magic member to struct riscv_info.
Introduce is_riscv() helper.

Change-Id: I1af05988ad869342ba5dc6d4d0ba0ec6a8bf7bc7
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/6999
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Tim Newsome <tim@sifive.com>
src/target/riscv/riscv.c
src/target/riscv/riscv.h

index eccceade1919d169f4ec375af044515760fa8d7c..42fc3742f76f1ad53a866f564aa17fb3afba5d5c 100644 (file)
@@ -3202,6 +3202,9 @@ struct target_type riscv_target = {
 void riscv_info_init(struct target *target, struct riscv_info *r)
 {
        memset(r, 0, sizeof(*r));
+
+       r->common_magic = RISCV_COMMON_MAGIC;
+
        r->dtm_version = 1;
        r->current_hartid = target->coreid;
        r->version_specific = NULL;
index efbd71c327399188dfeaaf8ec24829613ba267e0..fcb1380d48df22bd3de4d0b6a45ec5b40b4c3532 100644 (file)
@@ -13,6 +13,8 @@ struct riscv_program;
 #include "target/semihosting_common.h"
 #include <helper/command.h>
 
+#define RISCV_COMMON_MAGIC     0x52495356U
+
 /* The register cache is statically allocated. */
 #define RISCV_MAX_HARTS 1024
 #define RISCV_MAX_REGISTERS 5000
@@ -86,6 +88,8 @@ typedef struct {
 } range_list_t;
 
 struct riscv_info {
+       unsigned int common_magic;
+
        unsigned dtm_version;
 
        struct command_context *cmd_ctx;
@@ -269,6 +273,11 @@ static inline struct riscv_info *riscv_info(const struct target *target)
 }
 #define RISCV_INFO(R) struct riscv_info *R = riscv_info(target);
 
+static inline bool is_riscv(const struct riscv_info *riscv_info)
+{
+       return riscv_info->common_magic == RISCV_COMMON_MAGIC;
+}
+
 extern uint8_t ir_dtmcontrol[4];
 extern struct scan_field select_dtmcontrol;
 extern uint8_t ir_dbus[4];

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)