openocd: fix SPDX tag format for files .c
[fw/openocd] / src / target / esirisc.c
index 9476b0fb485f08c8e8cb59c878f71d3b9fbb4107..f86d28d5830a0a2c77cb03266ee715172e1514bf 100644 (file)
@@ -1,20 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
 /***************************************************************************
  *   Copyright (C) 2018 by Square, Inc.                                    *
  *   Steven Stallion <stallion@squareup.com>                               *
  *   James Zhao <hjz@squareup.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/>. *
  ***************************************************************************/
 
 #ifdef HAVE_CONFIG_H
@@ -472,7 +461,7 @@ static int esirisc_next_breakpoint(struct target *target)
        LOG_DEBUG("-");
 
        for (int bp_index = 0; breakpoints_p < breakpoints_e; ++breakpoints_p, ++bp_index)
-               if (*breakpoints_p == NULL)
+               if (!*breakpoints_p)
                        return bp_index;
 
        return -1;
@@ -504,7 +493,7 @@ static int esirisc_add_breakpoint(struct target *target, struct breakpoint *brea
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        }
 
-       breakpoint->set = bp_index + 1;
+       breakpoint_hw_set(breakpoint, bp_index);
        esirisc->breakpoints_p[bp_index] = breakpoint;
 
        /* specify instruction breakpoint address */
@@ -539,8 +528,8 @@ static int esirisc_add_breakpoints(struct target *target)
 
        LOG_DEBUG("-");
 
-       while (breakpoint != NULL) {
-               if (breakpoint->set == 0)
+       while (breakpoint) {
+               if (!breakpoint->is_set)
                        esirisc_add_breakpoint(target, breakpoint);
 
                breakpoint = breakpoint->next;
@@ -553,7 +542,7 @@ static int esirisc_remove_breakpoint(struct target *target, struct breakpoint *b
 {
        struct esirisc_common *esirisc = target_to_esirisc(target);
        struct esirisc_jtag *jtag_info = &esirisc->jtag_info;
-       int bp_index = breakpoint->set - 1;
+       unsigned int bp_index = breakpoint->number;
        uint32_t ibc;
        int retval;
 
@@ -575,7 +564,7 @@ static int esirisc_remove_breakpoint(struct target *target, struct breakpoint *b
        }
 
        esirisc->breakpoints_p[bp_index] = NULL;
-       breakpoint->set = 0;
+       breakpoint->is_set = false;
 
        return ERROR_OK;
 }
@@ -608,7 +597,7 @@ static int esirisc_next_watchpoint(struct target *target)
        LOG_DEBUG("-");
 
        for (int wp_index = 0; watchpoints_p < watchpoints_e; ++watchpoints_p, ++wp_index)
-               if (*watchpoints_p == NULL)
+               if (!*watchpoints_p)
                        return wp_index;
 
        return -1;
@@ -630,7 +619,7 @@ static int esirisc_add_watchpoint(struct target *target, struct watchpoint *watc
                return ERROR_FAIL;
        }
 
-       watchpoint->set = wp_index + 1;
+       watchpoint_set(watchpoint, wp_index);
        esirisc->watchpoints_p[wp_index] = watchpoint;
 
        /* specify data breakpoint address */
@@ -723,8 +712,8 @@ static int esirisc_add_watchpoints(struct target *target)
 
        LOG_DEBUG("-");
 
-       while (watchpoint != NULL) {
-               if (watchpoint->set == 0)
+       while (watchpoint) {
+               if (!watchpoint->is_set)
                        esirisc_add_watchpoint(target, watchpoint);
 
                watchpoint = watchpoint->next;
@@ -737,7 +726,7 @@ static int esirisc_remove_watchpoint(struct target *target, struct watchpoint *w
 {
        struct esirisc_common *esirisc = target_to_esirisc(target);
        struct esirisc_jtag *jtag_info = &esirisc->jtag_info;
-       int wp_index = watchpoint->set - 1;
+       unsigned int wp_index = watchpoint->number;
        uint32_t dbc;
        int retval;
 
@@ -759,7 +748,7 @@ static int esirisc_remove_watchpoint(struct target *target, struct watchpoint *w
        }
 
        esirisc->watchpoints_p[wp_index] = NULL;
-       watchpoint->set = 0;
+       watchpoint->is_set = false;
 
        return ERROR_OK;
 }
@@ -890,7 +879,7 @@ static int esirisc_resume_or_step(struct target *target, int current, target_add
 
        if (handle_breakpoints) {
                breakpoint = breakpoint_find(target, address);
-               if (breakpoint != NULL)
+               if (breakpoint)
                        esirisc_remove_breakpoint(target, breakpoint);
        }
 
@@ -1061,7 +1050,7 @@ static int esirisc_debug_entry(struct target *target)
                        case EID_INST_BREAKPOINT:
                                breakpoint = breakpoint_find(target,
                                                buf_get_u32(esirisc->epc->value, 0, esirisc->epc->size));
-                               target->debug_reason = (breakpoint != NULL) ?
+                               target->debug_reason = (breakpoint) ?
                                                DBG_REASON_BREAKPOINT : DBG_REASON_DBGRQ;
                                break;
 
@@ -1267,7 +1256,7 @@ static const char *esirisc_get_gdb_arch(struct target *target)
         * requires additional configuration to properly interact with these
         * targets in GDB (also see: `esirisc cache_arch`).
         */
-       if (esirisc->gdb_arch == NULL && target_was_examined(target))
+       if (!esirisc->gdb_arch && target_was_examined(target))
                esirisc->gdb_arch = alloc_printf("esirisc:%d_bit_%d_reg_%s",
                                esirisc->num_bits, esirisc->num_regs, esirisc_cache_arch_name(esirisc));
 
@@ -1284,7 +1273,7 @@ static int esirisc_get_gdb_reg_list(struct target *target, struct reg **reg_list
        *reg_list_size = ESIRISC_NUM_REGS;
 
        *reg_list = calloc(*reg_list_size, sizeof(struct reg *));
-       if (*reg_list == NULL)
+       if (!*reg_list)
                return ERROR_FAIL;
 
        if (reg_class == REG_CLASS_ALL)
@@ -1561,7 +1550,7 @@ static int esirisc_target_create(struct target *target, Jim_Interp *interp)
        struct jtag_tap *tap = target->tap;
        struct esirisc_common *esirisc;
 
-       if (tap == NULL)
+       if (!tap)
                return ERROR_FAIL;
 
        if (tap->ir_length != INSTR_LENGTH) {
@@ -1571,7 +1560,7 @@ static int esirisc_target_create(struct target *target, Jim_Interp *interp)
        }
 
        esirisc = calloc(1, sizeof(struct esirisc_common));
-       if (esirisc == NULL)
+       if (!esirisc)
                return ERROR_FAIL;
 
        esirisc->target = target;