@@ -19,8 +19,7 @@ object TraceSinkTarget {
19
19
class TraceEncoderControlInterface () extends Bundle {
20
20
val enable = Bool ()
21
21
val target = UInt (TraceSinkTarget .width.W )
22
- val hpmcounter_enable = UInt (32 .W )
23
- val hpmcounter_report_interval = UInt (32 .W )
22
+ val bp_mode = UInt (32 .W )
24
23
}
25
24
class TraceEncoderController (addr : BigInt , beatBytes : Int )(implicit p : Parameters ) extends LazyModule {
26
25
@@ -48,11 +47,8 @@ class TraceEncoderController(addr: BigInt, beatBytes: Int)(implicit p: Parameter
48
47
val trace_sink_target = RegInit (0 .U (TraceSinkTarget .width.W ))
49
48
io.control.target := trace_sink_target.asUInt
50
49
51
- val trace_hpmcounter_enable = RegInit (0 .U (32 .W ))
52
- io.control.hpmcounter_enable := trace_hpmcounter_enable
53
-
54
- val trace_hpmcounter_report_interval = RegInit (0 .U (32 .W ))
55
- io.control.hpmcounter_report_interval := trace_hpmcounter_report_interval
50
+ val trace_bp_mode = RegInit (0 .U (32 .W ))
51
+ io.control.bp_mode := trace_bp_mode
56
52
57
53
def traceEncoderControlRegWrite (valid : Bool , bits : UInt ): Bool = {
58
54
control_reg_write_valid := valid
@@ -79,6 +75,10 @@ class TraceEncoderController(addr: BigInt, beatBytes: Int)(implicit p: Parameter
79
75
0x20 -> Seq (
80
76
RegField (1 , trace_sink_target,
81
77
RegFieldDesc (" target" , " Trace sink target" ))
78
+ ),
79
+ 0x24 -> Seq (
80
+ RegField (32 , trace_bp_mode,
81
+ RegFieldDesc (" bp_mode" , " Trace branch predictor mode" ))
82
82
)
83
83
):_*
84
84
)
0 commit comments