aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErhan Kurubas <erhan.kurubas@espressif.com>2023-03-15 01:22:10 +0300
committerAntonio Borneo <borneo.antonio@gmail.com>2023-03-25 18:06:36 +0000
commitfaeae51d7f497d83ab166329abb1f06aa5903774 (patch)
treef877ecd7867def81dfe98fff02bb23a4ad71fed7
parentee31f1578a333a75737bc5b183cd4ae98cdaf798 (diff)
downloadriscv-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.c10
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;
}