1 Introduction 2.1 Tracker Activation
Analyzer User's Guide  / 

2 OS Awareness

The OS Awareness (OSA) feature provides commands (section 2.3) and interfaces (section 2.5) to assist in debugging or analyzing target software. Other Simics features, such as the Simics debugger, also make use of the OSA feature.

To be able to debug, analyze, or otherwise track tasks, processes, etc on the target software Simics employs specialized tracker modules. These trackers examine the state of the target system to determine when and where each task is running. This is usually achieved by monitoring changes to memory, registers or processor state. No modification or instrumentation of the target software is required.

This documentation covers the OS Awareness framework and trackers that are provided in the Simics base package. For other trackers, see their respective documentation. The Simics Model Builder product makes it possible to create custom trackers.

To be able to use the features described in this chapter, the configuration script for the target system needs to support the OS awareness functionality. For this to work the target script has to be set up with a software object and a tracker composition object for the specific operating system. Most provided target scripts will set up the software object directly under the main system top object, such as board.software. See section 2.9 for details about adding OS Awareness to scripts.

To see which tracker is used, you can use the info command on the software slot:

simics> board.software.info
Information about board.software [class os_awareness]
=====================================================

Software:
          Tracker : board.software.tracker
    Tracker class : linux_tracker_comp
             CPUs : board.mb.cpu0.core[0][0]

In the example above, the software tracker is configured with the tracker composition of type linux_tracker_comp at the slot board.software.tracker. If there is no tracker object configured then none is shown both as class and object.

The software object provides commands for inspecting and monitoring the target software, an overview of available commands can be found in section 2.3.

1 Introduction 2.1 Tracker Activation