docs: Spell QEMU all caps
Replace Qemu -> QEMU. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Darren Kenny <darren.kenny@oracle.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20211118143401.4101497-1-philmd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
283191640c
commit
5135fe7110
@ -1,5 +1,5 @@
|
|||||||
============
|
============
|
||||||
Qemu modules
|
QEMU modules
|
||||||
============
|
============
|
||||||
|
|
||||||
.. kernel-doc:: include/qemu/module.h
|
.. kernel-doc:: include/qemu/module.h
|
||||||
|
@ -228,7 +228,7 @@ Emulated hardware state
|
|||||||
|
|
||||||
Currently thanks to KVM work any access to IO memory is automatically
|
Currently thanks to KVM work any access to IO memory is automatically
|
||||||
protected by the global iothread mutex, also known as the BQL (Big
|
protected by the global iothread mutex, also known as the BQL (Big
|
||||||
Qemu Lock). Any IO region that doesn't use global mutex is expected to
|
QEMU Lock). Any IO region that doesn't use global mutex is expected to
|
||||||
do its own locking.
|
do its own locking.
|
||||||
|
|
||||||
However IO memory isn't the only way emulated hardware state can be
|
However IO memory isn't the only way emulated hardware state can be
|
||||||
|
@ -686,7 +686,7 @@ Rationale: hex numbers are hard to read in logs when there is no 0x prefix,
|
|||||||
especially when (occasionally) the representation doesn't contain any letters
|
especially when (occasionally) the representation doesn't contain any letters
|
||||||
and especially in one line with other decimal numbers. Number groups are allowed
|
and especially in one line with other decimal numbers. Number groups are allowed
|
||||||
to not use '0x' because for some things notations like %x.%x.%x are used not
|
to not use '0x' because for some things notations like %x.%x.%x are used not
|
||||||
only in Qemu. Also dumping raw data bytes with '0x' is less readable.
|
only in QEMU. Also dumping raw data bytes with '0x' is less readable.
|
||||||
|
|
||||||
'#' printf flag
|
'#' printf flag
|
||||||
---------------
|
---------------
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
=================
|
=================
|
||||||
Qemu UI subsystem
|
QEMU UI subsystem
|
||||||
=================
|
=================
|
||||||
|
|
||||||
Qemu Clipboard
|
QEMU Clipboard
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
.. kernel-doc:: include/ui/clipboard.h
|
.. kernel-doc:: include/ui/clipboard.h
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Qemu supports the NBD protocol, and has an internal NBD client (see
|
QEMU supports the NBD protocol, and has an internal NBD client (see
|
||||||
block/nbd.c), an internal NBD server (see blockdev-nbd.c), and an
|
block/nbd.c), an internal NBD server (see blockdev-nbd.c), and an
|
||||||
external NBD server tool (see qemu-nbd.c). The common code is placed
|
external NBD server tool (see qemu-nbd.c). The common code is placed
|
||||||
in nbd/*.
|
in nbd/*.
|
||||||
@ -7,11 +7,11 @@ The NBD protocol is specified here:
|
|||||||
https://github.com/NetworkBlockDevice/nbd/blob/master/doc/proto.md
|
https://github.com/NetworkBlockDevice/nbd/blob/master/doc/proto.md
|
||||||
|
|
||||||
The following paragraphs describe some specific properties of NBD
|
The following paragraphs describe some specific properties of NBD
|
||||||
protocol realization in Qemu.
|
protocol realization in QEMU.
|
||||||
|
|
||||||
= Metadata namespaces =
|
= Metadata namespaces =
|
||||||
|
|
||||||
Qemu supports the "base:allocation" metadata context as defined in the
|
QEMU supports the "base:allocation" metadata context as defined in the
|
||||||
NBD protocol specification, and also defines an additional metadata
|
NBD protocol specification, and also defines an additional metadata
|
||||||
namespace "qemu".
|
namespace "qemu".
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ The fields of the bitmaps extension are:
|
|||||||
The number of bitmaps contained in the image. Must be
|
The number of bitmaps contained in the image. Must be
|
||||||
greater than or equal to 1.
|
greater than or equal to 1.
|
||||||
|
|
||||||
Note: Qemu currently only supports up to 65535 bitmaps per
|
Note: QEMU currently only supports up to 65535 bitmaps per
|
||||||
image.
|
image.
|
||||||
|
|
||||||
4 - 7: Reserved, must be zero.
|
4 - 7: Reserved, must be zero.
|
||||||
@ -775,7 +775,7 @@ Structure of a bitmap directory entry:
|
|||||||
2: extra_data_compatible
|
2: extra_data_compatible
|
||||||
This flags is meaningful when the extra data is
|
This flags is meaningful when the extra data is
|
||||||
unknown to the software (currently any extra data is
|
unknown to the software (currently any extra data is
|
||||||
unknown to Qemu).
|
unknown to QEMU).
|
||||||
If it is set, the bitmap may be used as expected, extra
|
If it is set, the bitmap may be used as expected, extra
|
||||||
data must be left as is.
|
data must be left as is.
|
||||||
If it is not set, the bitmap must not be used, but
|
If it is not set, the bitmap must not be used, but
|
||||||
@ -793,7 +793,7 @@ Structure of a bitmap directory entry:
|
|||||||
17: granularity_bits
|
17: granularity_bits
|
||||||
Granularity bits. Valid values: 0 - 63.
|
Granularity bits. Valid values: 0 - 63.
|
||||||
|
|
||||||
Note: Qemu currently supports only values 9 - 31.
|
Note: QEMU currently supports only values 9 - 31.
|
||||||
|
|
||||||
Granularity is calculated as
|
Granularity is calculated as
|
||||||
granularity = 1 << granularity_bits
|
granularity = 1 << granularity_bits
|
||||||
@ -804,7 +804,7 @@ Structure of a bitmap directory entry:
|
|||||||
18 - 19: name_size
|
18 - 19: name_size
|
||||||
Size of the bitmap name. Must be non-zero.
|
Size of the bitmap name. Must be non-zero.
|
||||||
|
|
||||||
Note: Qemu currently doesn't support values greater than
|
Note: QEMU currently doesn't support values greater than
|
||||||
1023.
|
1023.
|
||||||
|
|
||||||
20 - 23: extra_data_size
|
20 - 23: extra_data_size
|
||||||
|
@ -123,7 +123,7 @@ Background info is here:
|
|||||||
guest side with pci-bridge-seat
|
guest side with pci-bridge-seat
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
Qemu version 2.4 and newer has a new pci-bridge-seat device which
|
QEMU version 2.4 and newer has a new pci-bridge-seat device which
|
||||||
can be used instead of pci-bridge. Just swap the device name in the
|
can be used instead of pci-bridge. Just swap the device name in the
|
||||||
qemu command line above. The only difference between the two devices
|
qemu command line above. The only difference between the two devices
|
||||||
is the pci id. We can match the pci id instead of the device path
|
is the pci id. We can match the pci id instead of the device path
|
||||||
|
@ -15,7 +15,7 @@ These are specified using a special URL syntax.
|
|||||||
'iqn.2008-11.org.linux-kvm[:<name>]' but this can also be set from
|
'iqn.2008-11.org.linux-kvm[:<name>]' but this can also be set from
|
||||||
the command line or a configuration file.
|
the command line or a configuration file.
|
||||||
|
|
||||||
Since version Qemu 2.4 it is possible to specify a iSCSI request
|
Since version QEMU 2.4 it is possible to specify a iSCSI request
|
||||||
timeout to detect stalled requests and force a reestablishment of the
|
timeout to detect stalled requests and force a reestablishment of the
|
||||||
session. The timeout is specified in seconds. The default is 0 which
|
session. The timeout is specified in seconds. The default is 0 which
|
||||||
means no timeout. Libiscsi 1.15.0 or greater is required for this
|
means no timeout. Libiscsi 1.15.0 or greater is required for this
|
||||||
|
@ -20,13 +20,13 @@ report the same CPUID info to guest as on host for most of SGX CPUID. With
|
|||||||
reporting the same CPUID guest is able to use full capacity of SGX, and KVM
|
reporting the same CPUID guest is able to use full capacity of SGX, and KVM
|
||||||
doesn't need to emulate those info.
|
doesn't need to emulate those info.
|
||||||
|
|
||||||
The guest's EPC base and size are determined by Qemu, and KVM needs Qemu to
|
The guest's EPC base and size are determined by QEMU, and KVM needs QEMU to
|
||||||
notify such info to it before it can initialize SGX for guest.
|
notify such info to it before it can initialize SGX for guest.
|
||||||
|
|
||||||
Virtual EPC
|
Virtual EPC
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
By default, Qemu does not assign EPC to a VM, i.e. fully enabling SGX in a VM
|
By default, QEMU does not assign EPC to a VM, i.e. fully enabling SGX in a VM
|
||||||
requires explicit allocation of EPC to the VM. Similar to other specialized
|
requires explicit allocation of EPC to the VM. Similar to other specialized
|
||||||
memory types, e.g. hugetlbfs, EPC is exposed as a memory backend.
|
memory types, e.g. hugetlbfs, EPC is exposed as a memory backend.
|
||||||
|
|
||||||
@ -35,12 +35,12 @@ prior to realizing the vCPUs themselves, which occurs long before generic
|
|||||||
devices are parsed and realized. This limitation means that EPC does not
|
devices are parsed and realized. This limitation means that EPC does not
|
||||||
require -maxmem as EPC is not treated as {cold,hot}plugged memory.
|
require -maxmem as EPC is not treated as {cold,hot}plugged memory.
|
||||||
|
|
||||||
Qemu does not artificially restrict the number of EPC sections exposed to a
|
QEMU does not artificially restrict the number of EPC sections exposed to a
|
||||||
guest, e.g. Qemu will happily allow you to create 64 1M EPC sections. Be aware
|
guest, e.g. QEMU will happily allow you to create 64 1M EPC sections. Be aware
|
||||||
that some kernels may not recognize all EPC sections, e.g. the Linux SGX driver
|
that some kernels may not recognize all EPC sections, e.g. the Linux SGX driver
|
||||||
is hardwired to support only 8 EPC sections.
|
is hardwired to support only 8 EPC sections.
|
||||||
|
|
||||||
The following Qemu snippet creates two EPC sections, with 64M pre-allocated
|
The following QEMU snippet creates two EPC sections, with 64M pre-allocated
|
||||||
to the VM and an additional 28M mapped but not allocated::
|
to the VM and an additional 28M mapped but not allocated::
|
||||||
|
|
||||||
-object memory-backend-epc,id=mem1,size=64M,prealloc=on \
|
-object memory-backend-epc,id=mem1,size=64M,prealloc=on \
|
||||||
@ -54,7 +54,7 @@ to physical EPC. Because physical EPC is protected via range registers,
|
|||||||
the size of the physical EPC must be a power of two (though software sees
|
the size of the physical EPC must be a power of two (though software sees
|
||||||
a subset of the full EPC, e.g. 92M or 128M) and the EPC must be naturally
|
a subset of the full EPC, e.g. 92M or 128M) and the EPC must be naturally
|
||||||
aligned. KVM SGX's virtual EPC is purely a software construct and only
|
aligned. KVM SGX's virtual EPC is purely a software construct and only
|
||||||
requires the size and location to be page aligned. Qemu enforces the EPC
|
requires the size and location to be page aligned. QEMU enforces the EPC
|
||||||
size is a multiple of 4k and will ensure the base of the EPC is 4k aligned.
|
size is a multiple of 4k and will ensure the base of the EPC is 4k aligned.
|
||||||
To simplify the implementation, EPC is always located above 4g in the guest
|
To simplify the implementation, EPC is always located above 4g in the guest
|
||||||
physical address space.
|
physical address space.
|
||||||
@ -62,7 +62,7 @@ physical address space.
|
|||||||
Migration
|
Migration
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
|
|
||||||
Qemu/KVM doesn't prevent live migrating SGX VMs, although from hardware's
|
QEMU/KVM doesn't prevent live migrating SGX VMs, although from hardware's
|
||||||
perspective, SGX doesn't support live migration, since both EPC and the SGX
|
perspective, SGX doesn't support live migration, since both EPC and the SGX
|
||||||
key hierarchy are bound to the physical platform. However live migration
|
key hierarchy are bound to the physical platform. However live migration
|
||||||
can be supported in the sense if guest software stack can support recreating
|
can be supported in the sense if guest software stack can support recreating
|
||||||
@ -76,7 +76,7 @@ CPUID
|
|||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
Due to its myriad dependencies, SGX is currently not listed as supported
|
Due to its myriad dependencies, SGX is currently not listed as supported
|
||||||
in any of Qemu's built-in CPU configuration. To expose SGX (and SGX Launch
|
in any of QEMU's built-in CPU configuration. To expose SGX (and SGX Launch
|
||||||
Control) to a guest, you must either use ``-cpu host`` to pass-through the
|
Control) to a guest, you must either use ``-cpu host`` to pass-through the
|
||||||
host CPU model, or explicitly enable SGX when using a built-in CPU model,
|
host CPU model, or explicitly enable SGX when using a built-in CPU model,
|
||||||
e.g. via ``-cpu <model>,+sgx`` or ``-cpu <model>,+sgx,+sgxlc``.
|
e.g. via ``-cpu <model>,+sgx`` or ``-cpu <model>,+sgx,+sgxlc``.
|
||||||
@ -101,7 +101,7 @@ controlled via -cpu are prefixed with "sgx", e.g.::
|
|||||||
sgx2
|
sgx2
|
||||||
sgxlc
|
sgxlc
|
||||||
|
|
||||||
The following Qemu snippet passes through the host CPU but restricts access to
|
The following QEMU snippet passes through the host CPU but restricts access to
|
||||||
the provision and EINIT token keys::
|
the provision and EINIT token keys::
|
||||||
|
|
||||||
-cpu host,-sgx-provisionkey,-sgx-tokenkey
|
-cpu host,-sgx-provisionkey,-sgx-tokenkey
|
||||||
@ -112,11 +112,11 @@ in hardware cannot be forced on via '-cpu'.
|
|||||||
Virtualize SGX Launch Control
|
Virtualize SGX Launch Control
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Qemu SGX support for Launch Control (LC) is passive, in the sense that it
|
QEMU SGX support for Launch Control (LC) is passive, in the sense that it
|
||||||
does not actively change the LC configuration. Qemu SGX provides the user
|
does not actively change the LC configuration. QEMU SGX provides the user
|
||||||
the ability to set/clear the CPUID flag (and by extension the associated
|
the ability to set/clear the CPUID flag (and by extension the associated
|
||||||
IA32_FEATURE_CONTROL MSR bit in fw_cfg) and saves/restores the LE Hash MSRs
|
IA32_FEATURE_CONTROL MSR bit in fw_cfg) and saves/restores the LE Hash MSRs
|
||||||
when getting/putting guest state, but Qemu does not add new controls to
|
when getting/putting guest state, but QEMU does not add new controls to
|
||||||
directly modify the LC configuration. Similar to hardware behavior, locking
|
directly modify the LC configuration. Similar to hardware behavior, locking
|
||||||
the LC configuration to a non-Intel value is left to guest firmware. Unlike
|
the LC configuration to a non-Intel value is left to guest firmware. Unlike
|
||||||
host bios setting for SGX launch control(LC), there is no special bios setting
|
host bios setting for SGX launch control(LC), there is no special bios setting
|
||||||
@ -126,7 +126,7 @@ creating VM with SGX.
|
|||||||
Feature Control
|
Feature Control
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Qemu SGX updates the ``etc/msr_feature_control`` fw_cfg entry to set the SGX
|
QEMU SGX updates the ``etc/msr_feature_control`` fw_cfg entry to set the SGX
|
||||||
(bit 18) and SGX LC (bit 17) flags based on their respective CPUID support,
|
(bit 18) and SGX LC (bit 17) flags based on their respective CPUID support,
|
||||||
i.e. existing guest firmware will automatically set SGX and SGX LC accordingly,
|
i.e. existing guest firmware will automatically set SGX and SGX LC accordingly,
|
||||||
assuming said firmware supports fw_cfg.msr_feature_control.
|
assuming said firmware supports fw_cfg.msr_feature_control.
|
||||||
|
@ -21,7 +21,7 @@ The second factor is materialized by a device implementing the U2F
|
|||||||
protocol. In case of a USB U2F security key, it is a USB HID device
|
protocol. In case of a USB U2F security key, it is a USB HID device
|
||||||
that implements the U2F protocol.
|
that implements the U2F protocol.
|
||||||
|
|
||||||
In Qemu, the USB U2F key device offers a dedicated support of U2F, allowing
|
In QEMU, the USB U2F key device offers a dedicated support of U2F, allowing
|
||||||
guest USB FIDO/U2F security keys operating in two possible modes:
|
guest USB FIDO/U2F security keys operating in two possible modes:
|
||||||
pass-through and emulated.
|
pass-through and emulated.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user