diff options
author | Hsiangkai Wang <hsiangkai@gmail.com> | 2013-05-07 21:43:35 +0800 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2013-08-07 21:00:40 +0000 |
commit | d979d78e97786667d168ba183c9fc60c622d29c1 (patch) | |
tree | 19e03565245a64cb7f3138433f78abce8c6acc9a /src/target/mips32.h | |
parent | 9f2922aa7abb385d1fb24def91fac7eb4e2304c5 (diff) | |
download | riscv-openocd-d979d78e97786667d168ba183c9fc60c622d29c1.zip riscv-openocd-d979d78e97786667d168ba183c9fc60c622d29c1.tar.gz riscv-openocd-d979d78e97786667d168ba183c9fc60c622d29c1.tar.bz2 |
gdb_server: support gdb target description
* Add a parameter in .get_gdb_reg_list() to return different
register lists as generating target description.
* Modify STRUCT REG to let gdb generate target description
according to register information.
The modified structure of register is
struct reg {
const char *name;
uint32_t number; /* for regnum="num" */
struct reg_feature *feature; /* for register group feature name */
bool caller_save; /* for save-restore="yes|no" */
void *value;
bool dirty;
bool valid;
bool exist;
uint32_t size;
struct reg_data_type *reg_data_type; /* for type="type" */
const char *group; /* for group="general|float|vector" */
void *arch_info;
const struct reg_arch_type *type;
};
Change-Id: I2096b67adf94518ba0b8b23d8c6a9f64ad7932b8
Signed-off-by: Hsiangkai Wang <hsiangkai@gmail.com>
Reviewed-on: http://openocd.zylin.com/1382
Tested-by: jenkins
Reviewed-by: Franck Jullien <franck.jullien@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Diffstat (limited to 'src/target/mips32.h')
-rw-r--r-- | src/target/mips32.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/target/mips32.h b/src/target/mips32.h index 97fb5d0..951b2ed 100644 --- a/src/target/mips32.h +++ b/src/target/mips32.h @@ -243,7 +243,8 @@ int mips32_examine(struct target *target); int mips32_register_commands(struct command_context *cmd_ctx); int mips32_get_gdb_reg_list(struct target *target, - struct reg **reg_list[], int *reg_list_size); + struct reg **reg_list[], int *reg_list_size, + enum target_register_class reg_class); int mips32_checksum_memory(struct target *target, uint32_t address, uint32_t count, uint32_t *checksum); int mips32_blank_check_memory(struct target *target, |