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:
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:
params.help commandTo 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.
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. │ │
...
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.
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.