fixed crash in dummy register handling
git-svn-id: svn://svn.berlios.de/openocd/trunk@1024 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
3b2518bd73
commit
e8e5995160
|
@ -8,6 +8,9 @@
|
||||||
* Copyright (C) 2008 by Spencer Oliver *
|
* Copyright (C) 2008 by Spencer Oliver *
|
||||||
* spen@spen-soft.co.uk *
|
* spen@spen-soft.co.uk *
|
||||||
* *
|
* *
|
||||||
|
* Copyright (C) 2007,2008 Øyvind Harboe *
|
||||||
|
* oyvind.harboe@zylin.com *
|
||||||
|
* *
|
||||||
* This program is free software; you can redistribute it and/or modify *
|
* 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 *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
@ -119,6 +122,7 @@ armv7m_core_reg_t armv7m_core_reg_list_arch_info[] =
|
||||||
};
|
};
|
||||||
|
|
||||||
int armv7m_core_reg_arch_type = -1;
|
int armv7m_core_reg_arch_type = -1;
|
||||||
|
int armv7m_dummy_core_reg_arch_type = -1;
|
||||||
|
|
||||||
int armv7m_restore_context(target_t *target)
|
int armv7m_restore_context(target_t *target)
|
||||||
{
|
{
|
||||||
|
@ -194,6 +198,21 @@ int armv7m_set_core_reg(reg_t *reg, u8 *buf)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int armv7m_get_dummy_core_reg(reg_t *reg)
|
||||||
|
{
|
||||||
|
return ERROR_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int armv7m_set_dummy_core_reg(reg_t *reg, u8 *buf)
|
||||||
|
{
|
||||||
|
u32 value = buf_get_u32(buf, 0, 32);
|
||||||
|
buf_set_u32(reg->value, 0, 32, value);
|
||||||
|
reg->dirty = 1;
|
||||||
|
reg->valid = 1;
|
||||||
|
|
||||||
|
return ERROR_OK;
|
||||||
|
}
|
||||||
|
|
||||||
int armv7m_read_core_reg(struct target_s *target, int num)
|
int armv7m_read_core_reg(struct target_s *target, int num)
|
||||||
{
|
{
|
||||||
u32 reg_value;
|
u32 reg_value;
|
||||||
|
@ -464,7 +483,14 @@ reg_cache_t *armv7m_build_reg_cache(target_t *target)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (armv7m_core_reg_arch_type == -1)
|
if (armv7m_core_reg_arch_type == -1)
|
||||||
|
{
|
||||||
armv7m_core_reg_arch_type = register_reg_arch_type(armv7m_get_core_reg, armv7m_set_core_reg);
|
armv7m_core_reg_arch_type = register_reg_arch_type(armv7m_get_core_reg, armv7m_set_core_reg);
|
||||||
|
armv7m_dummy_core_reg_arch_type = register_reg_arch_type(armv7m_get_dummy_core_reg, armv7m_set_dummy_core_reg);
|
||||||
|
|
||||||
|
armv7m_gdb_dummy_fp_reg.arch_type=armv7m_dummy_core_reg_arch_type;
|
||||||
|
armv7m_gdb_dummy_fps_reg.arch_type=armv7m_dummy_core_reg_arch_type;
|
||||||
|
armv7m_gdb_dummy_cpsr_reg.arch_type=armv7m_dummy_core_reg_arch_type;
|
||||||
|
}
|
||||||
|
|
||||||
/* Build the process context cache */
|
/* Build the process context cache */
|
||||||
cache->name = "arm v7m registers";
|
cache->name = "arm v7m registers";
|
||||||
|
|
Loading…
Reference in New Issue