1111#include "config.h"
1212#endif
1313
14- #include "target.h"
14+ #include "target/target .h"
1515#include "target/algorithm.h"
16- #include "target_type.h"
16+ #include "target/ target_type.h"
1717#include "log.h"
1818#include "jtag/jtag.h"
19- #include "register.h"
20- #include "breakpoints.h"
19+ #include "target/ register.h"
20+ #include "target/ breakpoints.h"
2121#include "helper/time_support.h"
2222#include "riscv.h"
2323#include "debug_defines.h"
@@ -34,7 +34,8 @@ static riscv_addr_t riscv013_progbuf_addr(struct target *target);
3434static riscv_addr_t riscv013_progbuf_size (struct target * target );
3535static riscv_addr_t riscv013_data_size (struct target * target );
3636static riscv_addr_t riscv013_data_addr (struct target * target );
37- static void riscv013_set_autoexec (struct target * target , int offset , bool enabled );
37+ static void riscv013_set_autoexec (struct target * target , unsigned index ,
38+ bool enabled );
3839static int riscv013_debug_buffer_register (struct target * target , riscv_addr_t addr );
3940static void riscv013_clear_abstract_error (struct target * target );
4041
@@ -52,8 +53,10 @@ static bool riscv013_is_halted(struct target *target);
5253static enum riscv_halt_reason riscv013_halt_reason (struct target * target );
5354static void riscv013_debug_buffer_enter (struct target * target , struct riscv_program * p );
5455static void riscv013_debug_buffer_leave (struct target * target , struct riscv_program * p );
55- static void riscv013_write_debug_buffer (struct target * target , int i , riscv_insn_t d );
56- static riscv_insn_t riscv013_read_debug_buffer (struct target * target , int i );
56+ static void riscv013_write_debug_buffer (struct target * target , unsigned index ,
57+ riscv_insn_t d );
58+ static riscv_insn_t riscv013_read_debug_buffer (struct target * target , unsigned
59+ index );
5760static int riscv013_execute_debug_buffer (struct target * target );
5861static void riscv013_fill_dmi_write_u64 (struct target * target , char * buf , int a , uint64_t d );
5962static void riscv013_fill_dmi_read_u64 (struct target * target , char * buf , int a );
@@ -862,8 +865,8 @@ static int add_breakpoint(struct target *target,
862865 if (breakpoint -> type == BKPT_SOFT ) {
863866 if (target_read_memory (target , breakpoint -> address , breakpoint -> length , 1 ,
864867 breakpoint -> orig_instr ) != ERROR_OK ) {
865- LOG_ERROR ("Failed to read original instruction at 0x%x" ,
866- breakpoint -> address );
868+ LOG_ERROR ("Failed to read original instruction at 0x%"
869+ TARGET_PRIxADDR , breakpoint -> address );
867870 return ERROR_FAIL ;
868871 }
869872
@@ -874,8 +877,8 @@ static int add_breakpoint(struct target *target,
874877 retval = target_write_u16 (target , breakpoint -> address , ebreak_c ());
875878 }
876879 if (retval != ERROR_OK ) {
877- LOG_ERROR ("Failed to write %d-byte breakpoint instruction at 0x%x" ,
878- breakpoint -> length , breakpoint -> address );
880+ LOG_ERROR ("Failed to write %d-byte breakpoint instruction at 0x%"
881+ TARGET_PRIxADDR , breakpoint -> length , breakpoint -> address );
879882 return ERROR_FAIL ;
880883 }
881884
@@ -903,7 +906,8 @@ static int remove_breakpoint(struct target *target,
903906 if (target_write_memory (target , breakpoint -> address , breakpoint -> length , 1 ,
904907 breakpoint -> orig_instr ) != ERROR_OK ) {
905908 LOG_ERROR ("Failed to restore instruction for %d-byte breakpoint at "
906- "0x%x" , breakpoint -> length , breakpoint -> address );
909+ "0x%" TARGET_PRIxADDR , breakpoint -> length ,
910+ breakpoint -> address );
907911 return ERROR_FAIL ;
908912 }
909913
@@ -1203,7 +1207,7 @@ static int deassert_reset(struct target *target)
12031207 return ERROR_OK ;
12041208}
12051209
1206- static int read_memory (struct target * target , uint32_t address ,
1210+ static int read_memory (struct target * target , target_addr_t address ,
12071211 uint32_t size , uint32_t count , uint8_t * buffer )
12081212{
12091213 RISCV013_INFO (info );
@@ -1397,7 +1401,7 @@ static int read_memory(struct target *target, uint32_t address,
13971401 return ERROR_OK ;
13981402}
13991403
1400- static int write_memory (struct target * target , uint32_t address ,
1404+ static int write_memory (struct target * target , target_addr_t address ,
14011405 uint32_t size , uint32_t count , const uint8_t * buffer )
14021406{
14031407 RISCV013_INFO (info );
@@ -1770,14 +1774,14 @@ void riscv013_debug_buffer_leave(struct target *target, struct riscv_program *pr
17701774{
17711775}
17721776
1773- void riscv013_write_debug_buffer (struct target * target , int index , riscv_insn_t data )
1777+ void riscv013_write_debug_buffer (struct target * target , unsigned index , riscv_insn_t data )
17741778{
17751779 if (index >= riscv013_progbuf_size (target ))
17761780 return dmi_write (target , DMI_DATA0 + index - riscv013_progbuf_size (target ), data );
17771781 return dmi_write (target , DMI_PROGBUF0 + index , data );
17781782}
17791783
1780- riscv_insn_t riscv013_read_debug_buffer (struct target * target , int index )
1784+ riscv_insn_t riscv013_read_debug_buffer (struct target * target , unsigned index )
17811785{
17821786 if (index >= riscv013_progbuf_size (target ))
17831787 return dmi_read (target , DMI_DATA0 + index - riscv013_progbuf_size (target ));
@@ -1958,22 +1962,22 @@ riscv_addr_t riscv013_data_addr(struct target *target)
19581962 return info -> data_addr ;
19591963}
19601964
1961- void riscv013_set_autoexec (struct target * target , int offset , bool enabled )
1965+ void riscv013_set_autoexec (struct target * target , unsigned index , bool enabled )
19621966{
1963- if (offset >= riscv013_progbuf_size (target )) {
1964- LOG_DEBUG ("setting bit %d in AUTOEXECDATA to %d" , offset , enabled );
1967+ if (index >= riscv013_progbuf_size (target )) {
1968+ LOG_DEBUG ("setting bit %d in AUTOEXECDATA to %d" , index , enabled );
19651969 uint32_t aa = dmi_read (target , DMI_ABSTRACTAUTO );
19661970 uint32_t aa_aed = get_field (aa , DMI_ABSTRACTAUTO_AUTOEXECDATA );
1967- aa_aed &= ~(1 << (offset - riscv013_progbuf_size (target )));
1968- aa_aed |= (enabled << (offset - riscv013_progbuf_size (target )));
1971+ aa_aed &= ~(1 << (index - riscv013_progbuf_size (target )));
1972+ aa_aed |= (enabled << (index - riscv013_progbuf_size (target )));
19691973 aa = set_field (aa , DMI_ABSTRACTAUTO_AUTOEXECDATA , aa_aed );
19701974 dmi_write (target , DMI_ABSTRACTAUTO , aa );
19711975 } else {
1972- LOG_DEBUG ("setting bit %d in AUTOEXECPROGBUF to %d" , offset , enabled );
1976+ LOG_DEBUG ("setting bit %d in AUTOEXECPROGBUF to %d" , index , enabled );
19731977 uint32_t aa = dmi_read (target , DMI_ABSTRACTAUTO );
19741978 uint32_t aa_aed = get_field (aa , DMI_ABSTRACTAUTO_AUTOEXECPROGBUF );
1975- aa_aed &= ~(1 << offset );
1976- aa_aed |= (enabled << offset );
1979+ aa_aed &= ~(1 << index );
1980+ aa_aed |= (enabled << index );
19771981 aa = set_field (aa , DMI_ABSTRACTAUTO_AUTOEXECPROGBUF , aa_aed );
19781982 dmi_write (target , DMI_ABSTRACTAUTO , aa );
19791983 }
0 commit comments