8 Tutorials 8.2 Logging and Tracing
Getting Started  /  8 Tutorials  / 

8.1 Customizing Targets

In the running the simulator section, we loaded a target which created a configuration with default settings. It is also possible to customize the properties of target machines by setting target parameters.

In this section we demonstrate how to:

8.1.1 Discovering Target Parameters

This section describes how to discover target parameters available for a specific target, in this case the qsp-x86/firststeps target. These are some of possible methods to list target parameters:

8.1.1.1 Discovery using Command Line Completion

To discover available parameters via command line completion, press the tab key twice after entering load-target target = qsp-x86/firststeps:

simics> load-target target = qsp-x86/firststeps <TAB><TAB>
machine:hardware:apic_bus:class =
machine:hardware:consoles:con0:bg_color =
machine:hardware:consoles:con0:create =
machine:hardware:consoles:con0:fg_color =
machine:hardware:consoles:con0:show =

This will list the available target parameters, which is useful for overview and as a convenience when setting parameters.

8.1.1.2 Discovery using the Help System

Another way to list target parameters, and also to show type, description and default value, is to use the help command with target: as prefix:

simics> help "target:qsp-x86/firststeps"
┌───────────────────────────────┬────┬──────────────────────────────┬──────────────────────────────┐
│Name                           │Type│Description                   │Default                       │
├───────────────────────────────┼────┼──────────────────────────────┼──────────────────────────────┤
│machine:hardware:memory_megs   │int │Amount of RAM in the machine, │8192                          │
│                               │    │in MiB. The highest supported │                              │
│                               │    │value is 65536 (64 GiB). More │                              │
│                               │    │than 64 GiB is not supported  │                              │
│                               │    │since the x86QSP1 processor is│                              │
│                               │    │limited to a 36-bit physical  │                              │
│                               │    │address space.                │                              │
...

8.1.1.3 Discovery using params.help

The object params has a help command, which can provide information on targets.

simics> params.help target = "qsp-x86/firststeps"
┌───────────────────────────────┬────┬──────────────────────────────┬──────────────────────────────┐
│Name                           │Type│Description                   │Default                       │
├───────────────────────────────┼────┼──────────────────────────────┼──────────────────────────────┤
│machine:hardware:memory_megs   │int │Amount of RAM in the machine, │8192                          │
│                               │    │in MiB. The highest supported │                              │
│                               │    │value is 65536 (64 GiB). More │                              │
│                               │    │than 64 GiB is not supported  │                              │
│                               │    │since the x86QSP1 processor is│                              │
│                               │    │limited to a 36-bit physical  │                              │
│                               │    │address space.                │                              │

To see a complete description of params.help, type help params.help.

8.1.2 Setting Target Parameters

Let’s create a target machine with 4 cores per physical processor by setting the num_cores parameter to 4. To do that please run the following command:

simics> load-target "qsp-x86/firststeps" machine:hardware:processor:num_cores = 4

To verify that the target indeed has 4 cores, run the list-processors command:

simics> list-processors
┌────────────────────────┬─┬─────────┬────────┐
│        CPU Name        │ │CPU Class│  Freq  │
├────────────────────────┼─┼─────────┼────────┤
│board.mb.cpu0.core[0][0]│*│x86QSP1  │2.00 GHz│
│board.mb.cpu0.core[1][0]│ │x86QSP1  │2.00 GHz│
│board.mb.cpu0.core[2][0]│ │x86QSP1  │2.00 GHz│
│board.mb.cpu0.core[3][0]│ │x86QSP1  │2.00 GHz│
└────────────────────────┴─┴─────────┴────────┘

It is also possible to create a file with customized values of target parameters in a preset file. This is described in Simics User's Guide.

8 Tutorials 8.2 Logging and Tracing