@@ -53,6 +53,7 @@ struct OtDMTLState {
53
53
uint64_t tl_base ;
54
54
uint32_t dmi_addr ;
55
55
unsigned dmi_size ;
56
+ bool enable ;
56
57
uint8_t role ;
57
58
};
58
59
@@ -136,6 +137,7 @@ static Property ot_dm_tl_properties[] = {
136
137
DEFINE_PROP_UINT64 ("tl_addr" , OtDMTLState , tl_base , 0 ),
137
138
DEFINE_PROP_LINK ("tl_dev" , OtDMTLState , tl_dev , TYPE_SYS_BUS_DEVICE ,
138
139
SysBusDevice * ),
140
+ DEFINE_PROP_BOOL ("enable" , OtDMTLState , enable , true),
139
141
DEFINE_PROP_UINT8 ("role" , OtDMTLState , role , UINT8_MAX ),
140
142
DEFINE_PROP_END_OF_LIST (),
141
143
};
@@ -148,9 +150,10 @@ static void ot_dm_tl_reset(DeviceState *dev)
148
150
g_assert (dmtl -> dmi_size );
149
151
150
152
if (!dmtl -> dtm_ok ) {
153
+ RISCVDTMClass * dtmc = RISCV_DTM_GET_CLASS (OBJECT (dmtl -> dtm ));
151
154
dmtl -> dtm_ok =
152
- riscv_dtm_register_dm (DEVICE (dmtl -> dtm ), RISCV_DEBUG_DEVICE (dev ),
153
- dmtl -> dmi_addr , dmtl -> dmi_size );
155
+ ( * dtmc -> register_dm ) (DEVICE (dmtl -> dtm ), RISCV_DEBUG_DEVICE (dev ),
156
+ dmtl -> dmi_addr , dmtl -> dmi_size , dmtl -> enable );
154
157
}
155
158
156
159
if (dmtl -> dtm_ok ) {
0 commit comments