]> git.gag.com Git - fw/openocd/blobdiff - src/target/nds32_disassembler.c
openocd: src/target: replace the GPL-2.0-or-later license tag
[fw/openocd] / src / target / nds32_disassembler.c
index 761086e1dd2ea0dd1c50a1e51e2f5e9a7a93b921..7cdf3a712cbf247d91024ea71985a06af7162115 100644 (file)
@@ -1,21 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
 /***************************************************************************
  *   Copyright (C) 2013 Andes Technology                                   *
  *   Hsiangkai Wang <hkwang@andestech.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, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.           *
  ***************************************************************************/
 
 #ifdef HAVE_CONFIG_H
@@ -495,7 +482,7 @@ static int nds32_parse_mem(struct nds32 *nds32, uint32_t opcode, uint32_t addres
                        switch (sub_opcode & 0x7) {
                                case 0: /* LB */
                                        nds32_parse_type_3(opcode, &(instruction->info.rt),
-                                                       &(instruction->info.ra), \
+                                                       &(instruction->info.ra),
                                                        &(instruction->info.rb), &(instruction->info.imm));
                                        instruction->type = NDS32_INSN_LOAD_STORE;
                                        nds32_get_mapped_reg(nds32, instruction->info.ra, &val_ra);
@@ -2124,7 +2111,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMULTS64\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2139,7 +2126,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMULT64\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2153,7 +2140,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMADDS64\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2167,7 +2154,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMADD64\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2181,7 +2168,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMSUBS64\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2195,7 +2182,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMSUB64\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2209,7 +2196,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tDIVS\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2223,7 +2210,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tDIV\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2237,7 +2224,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMULT32\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2251,7 +2238,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMADD32\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2265,7 +2252,7 @@ static int nds32_parse_alu_2(uint32_t opcode, uint32_t address,
                                                 "0x%8.8" PRIx32 "\t0x%8.8" PRIx32
                                                 "\tMSUB32\t$D%" PRIu8 ",$r%" PRIu8 ",$r%" PRIu8,
                                                 address,
-                                                opcode, (dt_val >> 1) & 0x1, instruction->info.ra,
+                                                opcode, (uint8_t)((dt_val >> 1) & 0x1), instruction->info.ra,
                                                 instruction->info.rb);
                         }
                         break;
@@ -2851,7 +2838,7 @@ static uint32_t field_mask[9] = {
 
 static uint8_t nds32_extract_field_8u(uint16_t opcode, uint32_t start, uint32_t length)
 {
-       if (0 < length && length < 9)
+       if (length > 0 && length < 9)
                return (opcode >> start) & field_mask[length];
 
        return 0;
@@ -3546,7 +3533,7 @@ static int nds32_parse_group_3_insn_16(struct nds32 *nds32, uint16_t opcode,
                                                                "0x%8.8" PRIx32 "\t0x%4.4" PRIx16
                                                                "\t\tBREAK16\t#%" PRId16,
                                                                address,
-                                                               opcode, opcode & 0x1F);
+                                                               opcode, (int16_t)(opcode & 0x1F));
                                        } else { /* EX9.IT */
                                                instruction->type = NDS32_INSN_MISC;
                                                /* TODO: implement real instruction semantics */
@@ -3555,7 +3542,7 @@ static int nds32_parse_group_3_insn_16(struct nds32 *nds32, uint16_t opcode,
                                                                "0x%8.8" PRIx32 "\t0x%4.4" PRIx16
                                                                "\t\tEX9.IT\t#%" PRId16,
                                                                address,
-                                                               opcode, opcode & 0x1FF);
+                                                               opcode, (int16_t)(opcode & 0x1FF));
                                        }
                                        break;
                                case 2: /* ADDI10S */