1 // SPDX-License-Identifier: GPL-2.0-or-later
3 /***************************************************************************
4 * Espressif Xtensa target API for OpenOCD *
5 * Copyright (C) 2019 Espressif Systems Ltd. *
6 ***************************************************************************/
14 #include <target/smp.h>
15 #include <target/register.h>
16 #include "esp_xtensa.h"
17 #include "esp_semihosting.h"
19 int esp_xtensa_init_arch_info(struct target *target,
20 struct esp_xtensa_common *esp_xtensa,
21 struct xtensa_debug_module_config *dm_cfg,
22 const struct esp_semihost_ops *semihost_ops)
24 int ret = xtensa_init_arch_info(target, &esp_xtensa->xtensa, dm_cfg);
27 esp_xtensa->semihost.ops = (struct esp_semihost_ops *)semihost_ops;
31 int esp_xtensa_target_init(struct command_context *cmd_ctx, struct target *target)
33 return xtensa_target_init(cmd_ctx, target);
36 void esp_xtensa_target_deinit(struct target *target)
40 xtensa_target_deinit(target);
41 free(target_to_esp_xtensa(target)); /* same as free(xtensa) */
44 int esp_xtensa_arch_state(struct target *target)
49 int esp_xtensa_poll(struct target *target)
51 return xtensa_poll(target);
54 int esp_xtensa_breakpoint_add(struct target *target, struct breakpoint *breakpoint)
56 return xtensa_breakpoint_add(target, breakpoint);
57 /* flash breakpoints will be handled in another patch */
60 int esp_xtensa_breakpoint_remove(struct target *target, struct breakpoint *breakpoint)
62 return xtensa_breakpoint_remove(target, breakpoint);
63 /* flash breakpoints will be handled in another patch */