@@ -437,7 +437,7 @@ static int add_trigger(struct target *target, struct trigger *trigger)
437437 continue ;
438438 }
439439
440- LOG_DEBUG ("Using resource %d for bp %d" , i ,
440+ LOG_DEBUG ("Using trigger %d (type %d) for bp %d" , i , type ,
441441 trigger -> unique_id );
442442 r -> trigger_unique_id [i ] = trigger -> unique_id ;
443443 break ;
@@ -1406,7 +1406,7 @@ void riscv_set_register_on_hart(struct target *target, int hartid,
14061406 enum gdb_regno regid , uint64_t value )
14071407{
14081408 RISCV_INFO (r );
1409- LOG_DEBUG ("[%d] reg[0x%x] <- %" PRIx64 , hartid , regid , value );
1409+ LOG_DEBUG ("[%d] %s <- %" PRIx64 , hartid , gdb_regno_name ( regid ) , value );
14101410 assert (r -> set_register );
14111411 return r -> set_register (target , hartid , regid , value );
14121412}
@@ -1420,7 +1420,7 @@ uint64_t riscv_get_register_on_hart(struct target *target, int hartid, enum gdb_
14201420{
14211421 RISCV_INFO (r );
14221422 uint64_t value = r -> get_register (target , hartid , regid );
1423- LOG_DEBUG ("[%d] reg[0x%x] = %" PRIx64 , hartid , regid , value );
1423+ LOG_DEBUG ("[%d] %s: %" PRIx64 , hartid , gdb_regno_name ( regid ) , value );
14241424 return value ;
14251425}
14261426
@@ -1596,8 +1596,57 @@ int riscv_enumerate_triggers(struct target *target)
15961596
15971597 riscv_set_register_on_hart (target , hartid , GDB_REGNO_TSELECT , tselect );
15981598
1599- LOG_DEBUG ("[%d] Found %d triggers" , hartid , r -> trigger_count [hartid ]);
1599+ LOG_INFO ("[%d] Found %d triggers" , hartid , r -> trigger_count [hartid ]);
16001600 }
16011601
16021602 return ERROR_OK ;
16031603}
1604+
1605+ const char * gdb_regno_name (enum gdb_regno regno )
1606+ {
1607+ static char buf [32 ];
1608+
1609+ switch (regno ) {
1610+ case GDB_REGNO_ZERO :
1611+ return "zero" ;
1612+ case GDB_REGNO_S0 :
1613+ return "s0" ;
1614+ case GDB_REGNO_S1 :
1615+ return "s1" ;
1616+ case GDB_REGNO_PC :
1617+ return "pc" ;
1618+ case GDB_REGNO_FPR0 :
1619+ return "fpr0" ;
1620+ case GDB_REGNO_FPR31 :
1621+ return "fpr31" ;
1622+ case GDB_REGNO_CSR0 :
1623+ return "csr0" ;
1624+ case GDB_REGNO_TSELECT :
1625+ return "tselect" ;
1626+ case GDB_REGNO_TDATA1 :
1627+ return "tdata1" ;
1628+ case GDB_REGNO_TDATA2 :
1629+ return "tdata2" ;
1630+ case GDB_REGNO_MISA :
1631+ return "misa" ;
1632+ case GDB_REGNO_DPC :
1633+ return "dpc" ;
1634+ case GDB_REGNO_DCSR :
1635+ return "dcsr" ;
1636+ case GDB_REGNO_DSCRATCH :
1637+ return "dscratch" ;
1638+ case GDB_REGNO_MSTATUS :
1639+ return "mstatus" ;
1640+ case GDB_REGNO_PRIV :
1641+ return "priv" ;
1642+ default :
1643+ if (regno <= GDB_REGNO_XPR31 ) {
1644+ sprintf (buf , "x%d" , regno - GDB_REGNO_XPR0 );
1645+ } else if (regno >= GDB_REGNO_CSR0 && regno <= GDB_REGNO_CSR4095 ) {
1646+ sprintf (buf , "csr%d" , regno - GDB_REGNO_CSR0 );
1647+ } else {
1648+ sprintf (buf , "gdb_regno_%d" , regno );
1649+ }
1650+ return buf ;
1651+ }
1652+ }
0 commit comments