Updated: October 28, 2024 |
Set the value of a configuration variable
set var val
The set option supports the following variable types:
Each set var val argument pair defines a variable setting that applies to an implicit context. This is different than the VM configuration file notion of a context, which is a group of related configuration options (for details, see Contexts in the VM configuration syntax topic). The implicit context to which each variable applies is noted in its description. Supported implicit contexts include:
You can display the currently permitted variables and their contexts. For example, from a shell prompt in the host, type:
# qvm set ?
You should see the variable names along with their types and contexts in a listing like the following:
allowed set variables grow-heap (address, global) legacy-free (boolean, guest) message-block-timeout (number, global) posted-interrupts (boolean, guest) virtual-interrupts (boolean, guest)
A question mark (?) is a shell wildcard character, so you may need to escape it. If a vdev defines its own variables, ? will list these only after a vdev option has loaded the vdev where these variables are specified.
The set host-* arguments separate the configuration of the host system from the configuration of the VMs. You can have a single configuration file that provides a host-specific configuration that can be re-used for multiple VMs.
For example, for a fictious foo SoC, you can create a foo.qvmconf file that includes:
set host-ppi-hcnt 16 set host-ppi-vcnt 19 set host-ppi-gic-hwassist 24 set host-paddr-gich 0x0ac01000
which you re-use for all your VMs, in addition to the VM-specific configuration files. For example:
qvm @guest1.qvmconf @foo.qvmconf qvm @guest2.qvmconf @foo.qvmconf
Below is an example of how the set option's host-paddr-gic* arguments are used for a Renesas R-Car H3 board:
set host-paddr-gicv 0xf1060000 set host-paddr-gich 0xf1040000,0xf1050000/0/0x200
where host-paddr-gicv 0xf1060000 specifies the host-physical address of the GIC virtual CPU registers, and the host-paddr-gich line specifies the location of the hypervisor control (GICH) registers: