hostfs i210
Simics Reference Manual  /  5 Classes  / 

hypersim-pattern-matcher

Description

Framework for instruction pattern detection and protection. This class requires other classes, which define the patterns to be detected and uses this class, to be any useful. Instruction patterns can be defined to identify specific idle loops, busy-wait loops, spinlocks etc in memory which can be fast forwarded in the simulators time

Interfaces Implemented

conf_object, log_object, hypersim_pattern_matcher

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

memory_space
Required attribute; read/write access; type: o
Physical memory space, must implement memory_space and breakpoint interfaces.
cpus
Optional attribute; read/write access; type: [o*]
CPUs handling pattern matcher events.
patterns
Pseudo attribute; read-only access; type: [o*]
Installed pattern objects.
search_interval
Pseudo attribute; read/write access; type: [ii]
Pattern search interval in steps, [lower, upper].
cpu_ffwd_steps
Pseudo attribute; read-only access; type: [[oii]*]
(cpu, ffwd_idle_steps, ffwd_steps)* List of how many steps each CPU has been fast-forwarded (for all hypersim patterns)
total_ffwd_steps
Pseudo attribute; read-only access; type: [ii]
(ffwd_idle_steps, ffwd_steps) Total amount of steps that has been fast-forwarded (for all hypersim patterns and all CPUs)
pattern_info
Pseudo attribute; read-only access; type: [[os[[ii[[oii]*]]*]iii]*]
(pattern_obj, pattern_name, (paddr, active, (cpu, ffwd_idle_steps, ffwd_steps)*, failed_examine_calls, successful_trigger_calls, failed_trigger_calls)*)* List of each pattern and the physical addresses the patterns have been found and how many steps each CPU has been fast-forwarded for the physical address.
detected_patterns
Pseudo attribute; read-only access; type: [[os[i*]]*]
(pattern_obj, pattern_name, (physical_address)*)* List of each pattern and each physical address where the pattern have been detected (and currently active)

Provided By

hypersim-pattern-matcher
hostfs i210