Merge tag 'pull-loongarch-20241016' of https://gitlab.com/gaosong/qemu into staging
[qemu/armbru.git] / docs / tools / qemu-vmsr-helper.rst
blob9ce10b9af9c39076e8d8859f38dbb533c098959e
1 ==================================
2 QEMU virtual RAPL MSR helper
3 ==================================
5 Synopsis
6 --------
8 **qemu-vmsr-helper** [*OPTION*]
10 Description
11 -----------
13 Implements the virtual RAPL MSR helper for QEMU.
15 Accessing the RAPL (Running Average Power Limit) MSR enables the RAPL powercap
16 driver to advertise and monitor the power consumption or accumulated energy
17 consumption of different power domains, such as CPU packages, DRAM, and other
18 components when available.
20 However those registers are accessible under privileged access (CAP_SYS_RAWIO).
21 QEMU can use an external helper to access those privileged registers.
23 :program:`qemu-vmsr-helper` is that external helper; it creates a listener
24 socket which will accept incoming connections for communication with QEMU.
26 If you want to run VMs in a setup like this, this helper should be started as a
27 system service, and you should read the QEMU manual section on "RAPL MSR
28 support" to find out how to configure QEMU to connect to the socket created by
29 :program:`qemu-vmsr-helper`.
31 After connecting to the socket, :program:`qemu-vmsr-helper` can
32 optionally drop root privileges, except for those capabilities that
33 are needed for its operation.
35 :program:`qemu-vmsr-helper` can also use the systemd socket activation
36 protocol.  In this case, the systemd socket unit should specify a
37 Unix stream socket, like this::
39     [Socket]
40     ListenStream=/var/run/qemu-vmsr-helper.sock
42 Options
43 -------
45 .. program:: qemu-vmsr-helper
47 .. option:: -d, --daemon
49   run in the background (and create a PID file)
51 .. option:: -q, --quiet
53   decrease verbosity
55 .. option:: -v, --verbose
57   increase verbosity
59 .. option:: -f, --pidfile=PATH
61   PID file when running as a daemon. By default the PID file
62   is created in the system runtime state directory, for example
63   :file:`/var/run/qemu-vmsr-helper.pid`.
65 .. option:: -k, --socket=PATH
67   path to the socket. By default the socket is created in
68   the system runtime state directory, for example
69   :file:`/var/run/qemu-vmsr-helper.sock`.
71 .. option:: -T, --trace [[enable=]PATTERN][,events=FILE][,file=FILE]
73   .. include:: ../qemu-option-trace.rst.inc
75 .. option:: -u, --user=USER
77   user to drop privileges to
79 .. option:: -g, --group=GROUP
81   group to drop privileges to
83 .. option:: -h, --help
85   Display a help message and exit.
87 .. option:: -V, --version
89   Display version information and exit.