| Managed start up options | 
 | ======================== | 
 |  | 
 | In system mode emulation, it's possible to create a VM in a paused | 
 | state using the ``-S`` command line option. In this state the machine | 
 | is completely initialized according to command line options and ready | 
 | to execute VM code but VCPU threads are not executing any code. The VM | 
 | state in this paused state depends on the way QEMU was started. It | 
 | could be in: | 
 |  | 
 | - initial state (after reset/power on state) | 
 | - with direct kernel loading, the initial state could be amended to execute | 
 |   code loaded by QEMU in the VM's RAM and with incoming migration | 
 | - with incoming migration, initial state will be amended with the migrated | 
 |   machine state after migration completes | 
 |  | 
 | This paused state is typically used by users to query machine state and/or | 
 | additionally configure the machine (by hotplugging devices) in runtime before | 
 | allowing VM code to run. | 
 |  | 
 | However, at the ``-S`` pause point, it's impossible to configure options | 
 | that affect initial VM creation (like: ``-smp``/``-m``/``-numa`` ...) or | 
 | cold plug devices. The experimental ``--preconfig`` command line option | 
 | allows pausing QEMU before the initial VM creation, in a "preconfig" state, | 
 | where additional queries and configuration can be performed via QMP | 
 | before moving on to the resulting configuration startup. In the | 
 | preconfig state, QEMU only allows a limited set of commands over the | 
 | QMP monitor, where the commands do not depend on an initialized | 
 | machine, including but not limited to: | 
 |  | 
 | - ``qmp_capabilities`` | 
 | - ``query-qmp-schema`` | 
 | - ``query-commands`` | 
 | - ``query-status`` | 
 | - ``x-exit-preconfig`` |