gdb_server, target: Add target_address_bits()
[openocd.git] / src / target / avr32_ap7k.c
index 12bea667574301b92733767e7e9416b0c7c941fa..cf08e3ab9cf0d9428f8b82f47d843961bab2418a 100644 (file)
@@ -15,9 +15,7 @@
  *   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.           *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 
 #ifdef HAVE_CONFIG_H
 #include "avr32_regs.h"
 #include "avr32_ap7k.h"
 
-static char *avr32_core_reg_list[] = {
+static const char * const avr32_core_reg_list[] = {
        "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8",
        "r9", "r10", "r11", "r12", "sp", "lr", "pc", "sr"
 };
 
-static struct avr32_core_reg
+static const struct avr32_core_reg
        avr32_core_reg_list_arch_info[AVR32NUMCOREREGS] = {
        {0, NULL, NULL},
        {1, NULL, NULL},
@@ -112,8 +110,8 @@ static int avr32_read_core_reg(struct target *target, int num)
 
        reg_value = ap7k->core_regs[num];
        buf_set_u32(ap7k->core_cache->reg_list[num].value, 0, 32, reg_value);
-       ap7k->core_cache->reg_list[num].valid = 1;
-       ap7k->core_cache->reg_list[num].dirty = 0;
+       ap7k->core_cache->reg_list[num].valid = true;
+       ap7k->core_cache->reg_list[num].dirty = false;
 
        return ERROR_OK;
 }
@@ -131,8 +129,8 @@ static int avr32_write_core_reg(struct target *target, int num)
        reg_value = buf_get_u32(ap7k->core_cache->reg_list[num].value, 0, 32);
        ap7k->core_regs[num] = reg_value;
        LOG_DEBUG("write core reg %i value 0x%" PRIx32 "", num, reg_value);
-       ap7k->core_cache->reg_list[num].valid = 1;
-       ap7k->core_cache->reg_list[num].dirty = 0;
+       ap7k->core_cache->reg_list[num].valid = true;
+       ap7k->core_cache->reg_list[num].dirty = false;
 
        return ERROR_OK;
 }
@@ -161,8 +159,8 @@ static int avr32_set_core_reg(struct reg *reg, uint8_t *buf)
                return ERROR_TARGET_NOT_HALTED;
 
        buf_set_u32(reg->value, 0, 32, value);
-       reg->dirty = 1;
-       reg->valid = 1;
+       reg->dirty = true;
+       reg->valid = true;
 
        return ERROR_OK;
 }
@@ -178,7 +176,7 @@ static struct reg_cache *avr32_build_reg_cache(struct target *target)
        struct avr32_ap7k_common *ap7k = target_to_ap7k(target);
        struct reg_cache **cache_p = register_get_last_cache_p(&target->reg_cache);
        struct reg_cache *cache = malloc(sizeof(struct reg_cache));
-       struct reg *reg_list = malloc(sizeof(struct reg) * num_regs);
+       struct reg *reg_list = calloc(num_regs, sizeof(struct reg));
        struct avr32_core_reg *arch_info =
                malloc(sizeof(struct avr32_core_reg) * num_regs);
        int i;
@@ -198,8 +196,8 @@ static struct reg_cache *avr32_build_reg_cache(struct target *target)
                reg_list[i].name = avr32_core_reg_list[i];
                reg_list[i].size = 32;
                reg_list[i].value = calloc(1, 4);
-               reg_list[i].dirty = 0;
-               reg_list[i].valid = 0;
+               reg_list[i].dirty = false;
+               reg_list[i].valid = false;
                reg_list[i].type = &avr32_reg_type;
                reg_list[i].arch_info = &arch_info[i];
        }
@@ -314,7 +312,7 @@ static int avr32_ap7k_deassert_reset(struct target *target)
 }
 
 static int avr32_ap7k_resume(struct target *target, int current,
-       uint32_t address, int handle_breakpoints, int debug_execution)
+       target_addr_t address, int handle_breakpoints, int debug_execution)
 {
        struct avr32_ap7k_common *ap7k = target_to_ap7k(target);
        struct breakpoint *breakpoint = NULL;
@@ -350,7 +348,7 @@ static int avr32_ap7k_resume(struct target *target, int current,
                /* Single step past breakpoint at current address */
                breakpoint = breakpoint_find(target, resume_pc);
                if (breakpoint) {
-                       LOG_DEBUG("unset breakpoint at 0x%8.8" PRIx32 "", breakpoint->address);
+                       LOG_DEBUG("unset breakpoint at 0x%8.8" TARGET_PRIxADDR "", breakpoint->address);
 #if 0
                        avr32_ap7k_unset_breakpoint(target, breakpoint);
                        avr32_ap7k_single_step_core(target);
@@ -396,7 +394,7 @@ static int avr32_ap7k_resume(struct target *target, int current,
 }
 
 static int avr32_ap7k_step(struct target *target, int current,
-       uint32_t address, int handle_breakpoints)
+       target_addr_t address, int handle_breakpoints)
 {
        LOG_ERROR("%s: implement me", __func__);
 
@@ -433,12 +431,12 @@ static int avr32_ap7k_remove_watchpoint(struct target *target,
        return ERROR_OK;
 }
 
-static int avr32_ap7k_read_memory(struct target *target, uint32_t address,
+static int avr32_ap7k_read_memory(struct target *target, target_addr_t address,
        uint32_t size, uint32_t count, uint8_t *buffer)
 {
        struct avr32_ap7k_common *ap7k = target_to_ap7k(target);
 
-       LOG_DEBUG("address: 0x%8.8" PRIx32 ", size: 0x%8.8" PRIx32 ", count: 0x%8.8" PRIx32 "",
+       LOG_DEBUG("address: 0x%8.8" TARGET_PRIxADDR ", size: 0x%8.8" PRIx32 ", count: 0x%8.8" PRIx32 "",
                address,
                size,
                count);
@@ -474,12 +472,12 @@ static int avr32_ap7k_read_memory(struct target *target, uint32_t address,
        return ERROR_OK;
 }
 
-static int avr32_ap7k_write_memory(struct target *target, uint32_t address,
+static int avr32_ap7k_write_memory(struct target *target, target_addr_t address,
        uint32_t size, uint32_t count, const uint8_t *buffer)
 {
        struct avr32_ap7k_common *ap7k = target_to_ap7k(target);
 
-       LOG_DEBUG("address: 0x%8.8" PRIx32 ", size: 0x%8.8" PRIx32 ", count: 0x%8.8" PRIx32 "",
+       LOG_DEBUG("address: 0x%8.8" TARGET_PRIxADDR ", size: 0x%8.8" PRIx32 ", count: 0x%8.8" PRIx32 "",
                address,
                size,
                count);
@@ -544,7 +542,7 @@ static int avr32_ap7k_examine(struct target *target)
        if (!target_was_examined(target)) {
                target_set_examined(target);
                avr32_jtag_nexus_read(&ap7k->jtag, AVR32_OCDREG_DID, &devid);
-               LOG_INFO("device id: %08x", devid);
+               LOG_INFO("device id: %08" PRIx32, devid);
                avr32_ocd_setbits(&ap7k->jtag, AVR32_OCDREG_DC, OCDREG_DC_DBE);
                avr32_jtag_nexus_read(&ap7k->jtag, AVR32_OCDREG_DS, &ds);
 

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)