managed-startup.rst (1602B)
1Managed start up options 2======================== 3 4In system mode emulation, it's possible to create a VM in a paused 5state using the ``-S`` command line option. In this state the machine 6is completely initialized according to command line options and ready 7to execute VM code but VCPU threads are not executing any code. The VM 8state in this paused state depends on the way QEMU was started. It 9could be in: 10 11- initial state (after reset/power on state) 12- with direct kernel loading, the initial state could be amended to execute 13 code loaded by QEMU in the VM's RAM and with incoming migration 14- with incoming migration, initial state will be amended with the migrated 15 machine state after migration completes 16 17This paused state is typically used by users to query machine state and/or 18additionally configure the machine (by hotplugging devices) in runtime before 19allowing VM code to run. 20 21However, at the ``-S`` pause point, it's impossible to configure options 22that affect initial VM creation (like: ``-smp``/``-m``/``-numa`` ...) or 23cold plug devices. The experimental ``--preconfig`` command line option 24allows pausing QEMU before the initial VM creation, in a "preconfig" state, 25where additional queries and configuration can be performed via QMP 26before moving on to the resulting configuration startup. In the 27preconfig state, QEMU only allows a limited set of commands over the 28QMP monitor, where the commands do not depend on an initialized 29machine, including but not limited to: 30 31- ``qmp_capabilities`` 32- ``query-qmp-schema`` 33- ``query-commands`` 34- ``query-status`` 35- ``x-exit-preconfig``