openocd: fix SPDX tag format for files .c
[fw/openocd] / src / target / mips32_pracc.c
index 9bac40eb0cfdf11c270ecc2ce8dde52f67d7f1e6..c4704b5a5d90f68e424df1d046da23a7cc5746c3 100644 (file)
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
 /***************************************************************************
  *   Copyright (C) 2008 by Spencer Oliver                                  *
  *   spen@spen-soft.co.uk                                                  *
@@ -8,19 +10,6 @@
  *                                                                         *
  *   Copyright (C) 2011 by Drasko DRASKOVIC                                *
  *   drasko.draskovic@gmail.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/>. *
  ***************************************************************************/
 
 /*
@@ -68,7 +57,9 @@
 #include "config.h"
 #endif
 
+#include <helper/align.h>
 #include <helper/time_support.h>
+#include <jtag/adapter.h>
 
 #include "mips32.h"
 #include "mips32_pracc.h"
@@ -120,7 +111,7 @@ static void mips32_pracc_finish(struct mips_ejtag *ejtag_info)
        mips_ejtag_drscan_32_out(ejtag_info, ctrl);
 }
 
-int mips32_pracc_clean_text_jump(struct mips_ejtag *ejtag_info)
+static int mips32_pracc_clean_text_jump(struct mips_ejtag *ejtag_info)
 {
        uint32_t jt_code = MIPS32_J(ejtag_info->isa, MIPS32_PRACC_TEXT);
        pracc_swap16_array(ejtag_info, &jt_code, 1);
@@ -159,7 +150,7 @@ int mips32_pracc_clean_text_jump(struct mips_ejtag *ejtag_info)
        return ERROR_OK;
 }
 
-int mips32_pracc_exec(struct mips_ejtag *ejtag_info, struct pracc_queue_info *ctx,
+static int mips32_pracc_exec(struct mips_ejtag *ejtag_info, struct pracc_queue_info *ctx,
                                        uint32_t *param_out, bool check_last)
 {
        int code_count = 0;
@@ -317,7 +308,7 @@ void pracc_add(struct pracc_queue_info *ctx, uint32_t addr, uint32_t instr)
        if (ctx->retval != ERROR_OK)    /* On previous out of memory, return */
                return;
        if (ctx->code_count == ctx->max_code) {
-               void *p = realloc(ctx->pracc_list, sizeof(pa_list) * (ctx->max_code + PRACC_BLOCK));
+               void *p = realloc(ctx->pracc_list, sizeof(struct pa_list) * (ctx->max_code + PRACC_BLOCK));
                if (p) {
                        ctx->max_code += PRACC_BLOCK;
                        ctx->pracc_list = p;
@@ -332,7 +323,7 @@ void pracc_add(struct pracc_queue_info *ctx, uint32_t addr, uint32_t instr)
                ctx->store_count++;
 }
 
-void pracc_add_li32(struct pracc_queue_info *ctx, uint32_t reg_num, uint32_t data, bool optimize)
+static void pracc_add_li32(struct pracc_queue_info *ctx, uint32_t reg_num, uint32_t data, bool optimize)
 {
        if (LOWER16(data) == 0 && optimize)
                pracc_add(ctx, 0, MIPS32_LUI(ctx->isa, reg_num, UPPER16(data)));        /* load only upper value */
@@ -373,13 +364,13 @@ int mips32_pracc_queue_exec(struct mips_ejtag *ejtag_info, struct pracc_queue_in
                } scan_32;
 
        } *scan_in = malloc(sizeof(union scan_in) * (ctx->code_count + ctx->store_count));
-       if (scan_in == NULL) {
+       if (!scan_in) {
                LOG_ERROR("Out of memory");
                return ERROR_FAIL;
        }
 
        unsigned num_clocks =
-               ((uint64_t)(ejtag_info->scan_delay) * jtag_get_speed_khz() + 500000) / 1000000;
+               ((uint64_t)(ejtag_info->scan_delay) * adapter_get_speed_khz() + 500000) / 1000000;
 
        uint32_t ejtag_ctrl = ejtag_info->ejtag_ctrl & ~EJTAG_CTRL_PRACC;
        mips_ejtag_set_instr(ejtag_info, EJTAG_INST_ALL);
@@ -453,7 +444,7 @@ exit:
        return retval;
 }
 
-int mips32_pracc_read_u32(struct mips_ejtag *ejtag_info, uint32_t addr, uint32_t *buf)
+static int mips32_pracc_read_u32(struct mips_ejtag *ejtag_info, uint32_t addr, uint32_t *buf)
 {
        struct pracc_queue_info ctx = {.ejtag_info = ejtag_info};
        pracc_queue_init(&ctx);
@@ -483,7 +474,7 @@ int mips32_pracc_read_mem(struct mips_ejtag *ejtag_info, uint32_t addr, int size
        uint32_t *data = NULL;
        if (size != 4) {
                data = malloc(256 * sizeof(uint32_t));
-               if (data == NULL) {
+               if (!data) {
                        LOG_ERROR("Out of memory");
                        goto exit;
                }
@@ -658,7 +649,7 @@ static int mips32_pracc_synchronize_cache(struct mips_ejtag *ejtag_info,
                goto exit;  /* Nothing to do */
 
        /* make sure clsiz is power of 2 */
-       if (clsiz & (clsiz - 1)) {
+       if (!IS_PWR_OF_2(clsiz)) {
                LOG_DEBUG("clsiz must be power of 2");
                ctx.retval = ERROR_FAIL;
                goto exit;
@@ -1009,7 +1000,7 @@ int mips32_pracc_fastdata_xfer(struct mips_ejtag *ejtag_info, struct working_are
 
        unsigned num_clocks = 0;        /* like in legacy code */
        if (ejtag_info->mode != 0)
-               num_clocks = ((uint64_t)(ejtag_info->scan_delay) * jtag_get_speed_khz() + 500000) / 1000000;
+               num_clocks = ((uint64_t)(ejtag_info->scan_delay) * adapter_get_speed_khz() + 500000) / 1000000;
 
        for (int i = 0; i < count; i++) {
                jtag_add_clocks(num_clocks);