diff options
author | Erhan Kurubas <erhan.kurubas@espressif.com> | 2023-03-15 01:22:10 +0300 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2023-03-25 18:06:36 +0000 |
commit | faeae51d7f497d83ab166329abb1f06aa5903774 (patch) | |
tree | f877ecd7867def81dfe98fff02bb23a4ad71fed7 | |
parent | ee31f1578a333a75737bc5b183cd4ae98cdaf798 (diff) | |
download | riscv-openocd-faeae51d7f497d83ab166329abb1f06aa5903774.zip riscv-openocd-faeae51d7f497d83ab166329abb1f06aa5903774.tar.gz riscv-openocd-faeae51d7f497d83ab166329abb1f06aa5903774.tar.bz2 |
target/espressif: check common_magic instead of gdb_arch string
The value returned by target_get_gdb_arch() is something specific for GDB.
There could be several variants of the same CPU.
If we start implementing all the variants, checking the string value,
could become incorrect.
It's better to check for xtensa->common_magic == XTENSA_COMMON_MAGIC
Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com>
Change-Id: I20f3fdced176c3b9ab00f889743161ecad7280f9
Reviewed-on: https://review.openocd.org/c/openocd/+/7536
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
-rw-r--r-- | src/target/espressif/esp_semihosting.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/target/espressif/esp_semihosting.c b/src/target/espressif/esp_semihosting.c index 5e9cb94..51d4998 100644 --- a/src/target/espressif/esp_semihosting.c +++ b/src/target/espressif/esp_semihosting.c @@ -17,12 +17,10 @@ static struct esp_semihost_data __attribute__((unused)) *target_to_esp_semihost_data(struct target *target) { - const char *arch = target_get_gdb_arch(target); - if (arch) { - if (strncmp(arch, "xtensa", 6) == 0) - return &target_to_esp_xtensa(target)->semihost; - /* TODO: add riscv */ - } + struct xtensa *xtensa = target->arch_info; + if (xtensa->common_magic == XTENSA_COMMON_MAGIC) + return &target_to_esp_xtensa(target)->semihost; + /* TODO: add riscv */ LOG_ERROR("Unknown target arch!"); return NULL; } |