One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
qemu-kvm
/
system
/
devices
/
Edit File:
nvme.html
<!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>NVMe Emulation — QEMU qemu-kvm-6.2.0-53.module+el8.10.0+2055+8eb7870b.4 documentation</title> <link rel="shortcut icon" href="../../_static/qemu_32x32.png"/> <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> <link rel="index" title="Index" href="../../genindex.html" /> <link rel="search" title="Search" href="../../search.html" /> <link rel="next" title="USB emulation" href="usb.html" /> <link rel="prev" title="Network emulation" href="net.html" /> <script src="../../_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search"> <a href="../../index.html" class="icon icon-home"> QEMU <img src="../../_static/qemu_128x128.png" class="logo" alt="Logo"/> </a> <div class="version"> 6.2.0 </div> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <p class="caption"><span class="caption-text">Contents:</span></p> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../../about/index.html">About QEMU</a></li> <li class="toctree-l1 current"><a class="reference internal" href="../index.html">System Emulation</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="../quickstart.html">Quick Start</a></li> <li class="toctree-l2"><a class="reference internal" href="../invocation.html">Invocation</a></li> <li class="toctree-l2 current"><a class="reference internal" href="../device-emulation.html">Device Emulation</a><ul class="current"> <li class="toctree-l3"><a class="reference internal" href="../device-emulation.html#common-terms">Common Terms</a></li> <li class="toctree-l3 current"><a class="reference internal" href="../device-emulation.html#emulated-devices">Emulated Devices</a><ul class="current"> <li class="toctree-l4"><a class="reference internal" href="ivshmem.html">Inter-VM Shared Memory device</a></li> <li class="toctree-l4"><a class="reference internal" href="net.html">Network emulation</a></li> <li class="toctree-l4 current"><a class="current reference internal" href="#">NVMe Emulation</a></li> <li class="toctree-l4"><a class="reference internal" href="usb.html">USB emulation</a></li> <li class="toctree-l4"><a class="reference internal" href="vhost-user.html">vhost-user back ends</a></li> <li class="toctree-l4"><a class="reference internal" href="virtio-pmem.html">virtio pmem</a></li> <li class="toctree-l4"><a class="reference internal" href="vhost-user-rng.html">QEMU vhost-user-rng - RNG emulation</a></li> </ul> </li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../keys.html">Keys in the graphical frontends</a></li> <li class="toctree-l2"><a class="reference internal" href="../mux-chardev.html">Keys in the character backend multiplexer</a></li> <li class="toctree-l2"><a class="reference internal" href="../monitor.html">QEMU Monitor</a></li> <li class="toctree-l2"><a class="reference internal" href="../images.html">Disk Images</a></li> <li class="toctree-l2"><a class="reference internal" href="../virtio-net-failover.html">QEMU virtio-net standby (net_failover)</a></li> <li class="toctree-l2"><a class="reference internal" href="../linuxboot.html">Direct Linux Boot</a></li> <li class="toctree-l2"><a class="reference internal" href="../generic-loader.html">Generic Loader</a></li> <li class="toctree-l2"><a class="reference internal" href="../guest-loader.html">Guest Loader</a></li> <li class="toctree-l2"><a class="reference internal" href="../barrier.html">QEMU Barrier Client</a></li> <li class="toctree-l2"><a class="reference internal" href="../vnc-security.html">VNC security</a></li> <li class="toctree-l2"><a class="reference internal" href="../tls.html">TLS setup for network services</a></li> <li class="toctree-l2"><a class="reference internal" href="../secrets.html">Providing secret data to QEMU</a></li> <li class="toctree-l2"><a class="reference internal" href="../authz.html">Client authorization</a></li> <li class="toctree-l2"><a class="reference internal" href="../gdb.html">GDB usage</a></li> <li class="toctree-l2"><a class="reference internal" href="../managed-startup.html">Managed start up options</a></li> <li class="toctree-l2"><a class="reference internal" href="../bootindex.html">Managing device boot order with bootindex properties</a></li> <li class="toctree-l2"><a class="reference internal" href="../cpu-hotplug.html">Virtual CPU hotplug</a></li> <li class="toctree-l2"><a class="reference internal" href="../pr-manager.html">Persistent reservation managers</a></li> <li class="toctree-l2"><a class="reference internal" href="../targets.html">QEMU System Emulator Targets</a></li> <li class="toctree-l2"><a class="reference internal" href="../security.html">Security</a></li> <li class="toctree-l2"><a class="reference internal" href="../multi-process.html">Multi-process QEMU</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../../user/index.html">User Mode Emulation</a></li> <li class="toctree-l1"><a class="reference internal" href="../../tools/index.html">Tools</a></li> <li class="toctree-l1"><a class="reference internal" href="../../interop/index.html">System Emulation Management and Interoperability</a></li> <li class="toctree-l1"><a class="reference internal" href="../../specs/index.html">System Emulation Guest Hardware Specifications</a></li> <li class="toctree-l1"><a class="reference internal" href="../../devel/index.html">Developer Information</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="../../index.html">QEMU</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="../../index.html">Docs</a> »</li> <li><a href="../index.html">System Emulation</a> »</li> <li><a href="../device-emulation.html">Device Emulation</a> »</li> <li>NVMe Emulation</li> <li class="wy-breadcrumbs-aside"> <a href="https://gitlab.com/qemu-project/qemu/blob/master/docs/system/devices/nvme.rst" class="fa fa-gitlab"> Edit on GitLab</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="nvme-emulation"> <h1>NVMe Emulation<a class="headerlink" href="#nvme-emulation" title="Permalink to this headline">¶</a></h1> <p>QEMU provides NVMe emulation through the <code class="docutils literal notranslate"><span class="pre">nvme</span></code>, <code class="docutils literal notranslate"><span class="pre">nvme-ns</span></code> and <code class="docutils literal notranslate"><span class="pre">nvme-subsys</span></code> devices.</p> <p>See the following sections for specific information on</p> <blockquote> <div><ul class="simple"> <li><a class="reference internal" href="#adding-nvme-devices">Adding NVMe Devices</a>, <a class="reference internal" href="#additional-namespaces">additional namespaces</a> and <a class="reference internal" href="#nvm-subsystems">NVM subsystems</a>.</li> <li>Configuration of <a class="reference internal" href="#optional-features">Optional Features</a> such as <a class="reference internal" href="#controller-memory-buffer">Controller Memory Buffer</a>, <a class="reference internal" href="#simple-copy">Simple Copy</a>, <a class="reference internal" href="#zoned-namespaces">Zoned Namespaces</a>, <a class="reference internal" href="#metadata">metadata</a> and <a class="reference internal" href="#end-to-end-data-protection">End-to-End Data Protection</a>,</li> </ul> </div></blockquote> <div class="section" id="adding-nvme-devices"> <h2>Adding NVMe Devices<a class="headerlink" href="#adding-nvme-devices" title="Permalink to this headline">¶</a></h2> <div class="section" id="controller-emulation"> <h3>Controller Emulation<a class="headerlink" href="#controller-emulation" title="Permalink to this headline">¶</a></h3> <p>The QEMU emulated NVMe controller implements version 1.4 of the NVM Express specification. All mandatory features are implement with a couple of exceptions and limitations:</p> <blockquote> <div><ul class="simple"> <li>Accounting numbers in the SMART/Health log page are reset when the device is power cycled.</li> <li>Interrupt Coalescing is not supported and is disabled by default.</li> </ul> </div></blockquote> <p>The simplest way to attach an NVMe controller on the QEMU PCI bus is to add the following parameters:</p> <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">-drive file=nvm.img,if=none,id=nvm</span> <span class="go">-device nvme,serial=deadbeef,drive=nvm</span> </pre></div> </div> <p>There are a number of optional general parameters for the <code class="docutils literal notranslate"><span class="pre">nvme</span></code> device. Some are mentioned here, but see <code class="docutils literal notranslate"><span class="pre">-device</span> <span class="pre">nvme,help</span></code> to list all possible parameters.</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">max_ioqpairs=UINT32</span></code> (default: <code class="docutils literal notranslate"><span class="pre">64</span></code>)</dt> <dd>Set the maximum number of allowed I/O queue pairs. This replaces the deprecated <code class="docutils literal notranslate"><span class="pre">num_queues</span></code> parameter.</dd> <dt><code class="docutils literal notranslate"><span class="pre">msix_qsize=UINT16</span></code> (default: <code class="docutils literal notranslate"><span class="pre">65</span></code>)</dt> <dd>The number of MSI-X vectors that the device should support.</dd> <dt><code class="docutils literal notranslate"><span class="pre">mdts=UINT8</span></code> (default: <code class="docutils literal notranslate"><span class="pre">7</span></code>)</dt> <dd>Set the Maximum Data Transfer Size of the device.</dd> <dt><code class="docutils literal notranslate"><span class="pre">use-intel-id</span></code> (default: <code class="docutils literal notranslate"><span class="pre">off</span></code>)</dt> <dd>Since QEMU 5.2, the device uses a QEMU allocated “Red Hat” PCI Device and Vendor ID. Set this to <code class="docutils literal notranslate"><span class="pre">on</span></code> to revert to the unallocated Intel ID previously used.</dd> </dl> </div> <div class="section" id="additional-namespaces"> <h3>Additional Namespaces<a class="headerlink" href="#additional-namespaces" title="Permalink to this headline">¶</a></h3> <p>In the simplest possible invocation sketched above, the device only support a single namespace with the namespace identifier <code class="docutils literal notranslate"><span class="pre">1</span></code>. To support multiple namespaces and additional features, the <code class="docutils literal notranslate"><span class="pre">nvme-ns</span></code> device must be used.</p> <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">-device nvme,id=nvme-ctrl-0,serial=deadbeef</span> <span class="go">-drive file=nvm-1.img,if=none,id=nvm-1</span> <span class="go">-device nvme-ns,drive=nvm-1</span> <span class="go">-drive file=nvm-2.img,if=none,id=nvm-2</span> <span class="go">-device nvme-ns,drive=nvm-2</span> </pre></div> </div> <p>The namespaces defined by the <code class="docutils literal notranslate"><span class="pre">nvme-ns</span></code> device will attach to the most recently defined <code class="docutils literal notranslate"><span class="pre">nvme-bus</span></code> that is created by the <code class="docutils literal notranslate"><span class="pre">nvme</span></code> device. Namespace identifiers are allocated automatically, starting from <code class="docutils literal notranslate"><span class="pre">1</span></code>.</p> <p>There are a number of parameters available:</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">nsid</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Explicitly set the namespace identifier.</dd> <dt><code class="docutils literal notranslate"><span class="pre">uuid</span></code> (default: <em>autogenerated</em>)</dt> <dd>Set the UUID of the namespace. This will be reported as a “Namespace UUID” descriptor in the Namespace Identification Descriptor List.</dd> <dt><code class="docutils literal notranslate"><span class="pre">eui64</span></code></dt> <dd>Set the EUI-64 of the namespace. This will be reported as a “IEEE Extended Unique Identifier” descriptor in the Namespace Identification Descriptor List. Since machine type 6.1 a non-zero default value is used if the parameter is not provided. For earlier machine types the field defaults to 0.</dd> <dt><code class="docutils literal notranslate"><span class="pre">bus</span></code></dt> <dd>If there are more <code class="docutils literal notranslate"><span class="pre">nvme</span></code> devices defined, this parameter may be used to attach the namespace to a specific <code class="docutils literal notranslate"><span class="pre">nvme</span></code> device (identified by an <code class="docutils literal notranslate"><span class="pre">id</span></code> parameter on the controller device).</dd> </dl> </div> <div class="section" id="nvm-subsystems"> <h3>NVM Subsystems<a class="headerlink" href="#nvm-subsystems" title="Permalink to this headline">¶</a></h3> <p>Additional features becomes available if the controller device (<code class="docutils literal notranslate"><span class="pre">nvme</span></code>) is linked to an NVM Subsystem device (<code class="docutils literal notranslate"><span class="pre">nvme-subsys</span></code>).</p> <p>The NVM Subsystem emulation allows features such as shared namespaces and multipath I/O.</p> <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">-device nvme-subsys,id=nvme-subsys-0,nqn=subsys0</span> <span class="go">-device nvme,serial=a,subsys=nvme-subsys-0</span> <span class="go">-device nvme,serial=b,subsys=nvme-subsys-0</span> </pre></div> </div> <p>This will create an NVM subsystem with two controllers. Having controllers linked to an <code class="docutils literal notranslate"><span class="pre">nvme-subsys</span></code> device allows additional <code class="docutils literal notranslate"><span class="pre">nvme-ns</span></code> parameters:</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">shared</span></code> (default: <code class="docutils literal notranslate"><span class="pre">on</span></code> since 6.2)</dt> <dd>Specifies that the namespace will be attached to all controllers in the subsystem. If set to <code class="docutils literal notranslate"><span class="pre">off</span></code>, the namespace will remain a private namespace and may only be attached to a single controller at a time. Shared namespaces are always automatically attached to all controllers (also when controllers are hotplugged).</dd> <dt><code class="docutils literal notranslate"><span class="pre">detached</span></code> (default: <code class="docutils literal notranslate"><span class="pre">off</span></code>)</dt> <dd>If set to <code class="docutils literal notranslate"><span class="pre">on</span></code>, the namespace will be be available in the subsystem, but not attached to any controllers initially. A shared namespace with this set to <code class="docutils literal notranslate"><span class="pre">on</span></code> will never be automatically attached to controllers.</dd> </dl> <p>Thus, adding</p> <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">-drive file=nvm-1.img,if=none,id=nvm-1</span> <span class="go">-device nvme-ns,drive=nvm-1,nsid=1</span> <span class="go">-drive file=nvm-2.img,if=none,id=nvm-2</span> <span class="go">-device nvme-ns,drive=nvm-2,nsid=3,shared=off,detached=on</span> </pre></div> </div> <p>will cause NSID 1 will be a shared namespace that is initially attached to both controllers. NSID 3 will be a private namespace due to <code class="docutils literal notranslate"><span class="pre">shared=off</span></code> and only attachable to a single controller at a time. Additionally it will not be attached to any controller initially (due to <code class="docutils literal notranslate"><span class="pre">detached=on</span></code>) or to hotplugged controllers.</p> </div> </div> <div class="section" id="optional-features"> <h2>Optional Features<a class="headerlink" href="#optional-features" title="Permalink to this headline">¶</a></h2> <div class="section" id="controller-memory-buffer"> <h3>Controller Memory Buffer<a class="headerlink" href="#controller-memory-buffer" title="Permalink to this headline">¶</a></h3> <p><code class="docutils literal notranslate"><span class="pre">nvme</span></code> device parameters related to the Controller Memory Buffer support:</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">cmb_size_mb=UINT32</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>This adds a Controller Memory Buffer of the given size at offset zero in BAR 2.</dd> <dt><code class="docutils literal notranslate"><span class="pre">legacy-cmb</span></code> (default: <code class="docutils literal notranslate"><span class="pre">off</span></code>)</dt> <dd>By default, the device uses the “v1.4 scheme” for the Controller Memory Buffer support (i.e, the CMB is initially disabled and must be explicitly enabled by the host). Set this to <code class="docutils literal notranslate"><span class="pre">on</span></code> to behave as a v1.3 device wrt. the CMB.</dd> </dl> </div> <div class="section" id="simple-copy"> <h3>Simple Copy<a class="headerlink" href="#simple-copy" title="Permalink to this headline">¶</a></h3> <p>The device includes support for TP 4065 (“Simple Copy Command”). A number of additional <code class="docutils literal notranslate"><span class="pre">nvme-ns</span></code> device parameters may be used to control the Copy command limits:</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">mssrl=UINT16</span></code> (default: <code class="docutils literal notranslate"><span class="pre">128</span></code>)</dt> <dd>Set the Maximum Single Source Range Length (<code class="docutils literal notranslate"><span class="pre">MSSRL</span></code>). This is the maximum number of logical blocks that may be specified in each source range.</dd> <dt><code class="docutils literal notranslate"><span class="pre">mcl=UINT32</span></code> (default: <code class="docutils literal notranslate"><span class="pre">128</span></code>)</dt> <dd>Set the Maximum Copy Length (<code class="docutils literal notranslate"><span class="pre">MCL</span></code>). This is the maximum number of logical blocks that may be specified in a Copy command (the total for all source ranges).</dd> <dt><code class="docutils literal notranslate"><span class="pre">msrc=UINT8</span></code> (default: <code class="docutils literal notranslate"><span class="pre">127</span></code>)</dt> <dd>Set the Maximum Source Range Count (<code class="docutils literal notranslate"><span class="pre">MSRC</span></code>). This is the maximum number of source ranges that may be used in a Copy command. This is a 0’s based value.</dd> </dl> </div> <div class="section" id="zoned-namespaces"> <h3>Zoned Namespaces<a class="headerlink" href="#zoned-namespaces" title="Permalink to this headline">¶</a></h3> <p>A namespaces may be “Zoned” as defined by TP 4053 (“Zoned Namespaces”). Set <code class="docutils literal notranslate"><span class="pre">zoned=on</span></code> on an <code class="docutils literal notranslate"><span class="pre">nvme-ns</span></code> device to configure it as a zoned namespace.</p> <p>The namespace may be configured with additional parameters</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">zoned.zone_size=SIZE</span></code> (default: <code class="docutils literal notranslate"><span class="pre">128MiB</span></code>)</dt> <dd>Define the zone size (<code class="docutils literal notranslate"><span class="pre">ZSZE</span></code>).</dd> <dt><code class="docutils literal notranslate"><span class="pre">zoned.zone_capacity=SIZE</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Define the zone capacity (<code class="docutils literal notranslate"><span class="pre">ZCAP</span></code>). If left at the default (<code class="docutils literal notranslate"><span class="pre">0</span></code>), the zone capacity will equal the zone size.</dd> <dt><code class="docutils literal notranslate"><span class="pre">zoned.descr_ext_size=UINT32</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Set the Zone Descriptor Extension Size (<code class="docutils literal notranslate"><span class="pre">ZDES</span></code>). Must be a multiple of 64 bytes.</dd> <dt><code class="docutils literal notranslate"><span class="pre">zoned.cross_read=BOOL</span></code> (default: <code class="docutils literal notranslate"><span class="pre">off</span></code>)</dt> <dd>Set to <code class="docutils literal notranslate"><span class="pre">on</span></code> to allow reads to cross zone boundaries.</dd> <dt><code class="docutils literal notranslate"><span class="pre">zoned.max_active=UINT32</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Set the maximum number of active resources (<code class="docutils literal notranslate"><span class="pre">MAR</span></code>). The default (<code class="docutils literal notranslate"><span class="pre">0</span></code>) allows all zones to be active.</dd> <dt><code class="docutils literal notranslate"><span class="pre">zoned.max_open=UINT32</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Set the maximum number of open resources (<code class="docutils literal notranslate"><span class="pre">MOR</span></code>). The default (<code class="docutils literal notranslate"><span class="pre">0</span></code>) allows all zones to be open. If <code class="docutils literal notranslate"><span class="pre">zoned.max_active</span></code> is specified, this value must be less than or equal to that.</dd> <dt><code class="docutils literal notranslate"><span class="pre">zoned.zasl=UINT8</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Set the maximum data transfer size for the Zone Append command. Like <code class="docutils literal notranslate"><span class="pre">mdts</span></code>, the value is specified as a power of two (2^n) and is in units of the minimum memory page size (CAP.MPSMIN). The default value (<code class="docutils literal notranslate"><span class="pre">0</span></code>) has this property inherit the <code class="docutils literal notranslate"><span class="pre">mdts</span></code> value.</dd> </dl> </div> <div class="section" id="metadata"> <h3>Metadata<a class="headerlink" href="#metadata" title="Permalink to this headline">¶</a></h3> <p>The virtual namespace device supports LBA metadata in the form separate metadata (<code class="docutils literal notranslate"><span class="pre">MPTR</span></code>-based) and extended LBAs.</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">ms=UINT16</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Defines the number of metadata bytes per LBA.</dd> <dt><code class="docutils literal notranslate"><span class="pre">mset=UINT8</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Set to <code class="docutils literal notranslate"><span class="pre">1</span></code> to enable extended LBAs.</dd> </dl> </div> <div class="section" id="end-to-end-data-protection"> <h3>End-to-End Data Protection<a class="headerlink" href="#end-to-end-data-protection" title="Permalink to this headline">¶</a></h3> <p>The virtual namespace device supports DIF- and DIX-based protection information (depending on <code class="docutils literal notranslate"><span class="pre">mset</span></code>).</p> <dl class="docutils"> <dt><code class="docutils literal notranslate"><span class="pre">pi=UINT8</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Enable protection information of the specified type (type <code class="docutils literal notranslate"><span class="pre">1</span></code>, <code class="docutils literal notranslate"><span class="pre">2</span></code> or <code class="docutils literal notranslate"><span class="pre">3</span></code>).</dd> <dt><code class="docutils literal notranslate"><span class="pre">pil=UINT8</span></code> (default: <code class="docutils literal notranslate"><span class="pre">0</span></code>)</dt> <dd>Controls the location of the protection information within the metadata. Set to <code class="docutils literal notranslate"><span class="pre">1</span></code> to transfer protection information as the first eight bytes of metadata. Otherwise, the protection information is transferred as the last eight bytes.</dd> </dl> </div> </div> </div> </div> </div> <footer> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <a href="usb.html" class="btn btn-neutral float-right" title="USB emulation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> <a href="net.html" class="btn btn-neutral" title="Network emulation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> <hr/> <div role="contentinfo"> <p> © Copyright 2021, The QEMU Project Developers. </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. <!-- Empty para to force a blank line after "Built with Sphinx ..." --> <p></p> <p>This documentation is for QEMU version 6.2.0.</p> <p><a href="../../about/license.html">QEMU and this manual are released under the GNU General Public License, version 2.</a></p> </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'../../', VERSION:'qemu-kvm-6.2.0-53.module+el8.10.0+2055+8eb7870b.4', LANGUAGE:'None', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt' }; </script> <script type="text/javascript" src="../../_static/jquery.js"></script> <script type="text/javascript" src="../../_static/underscore.js"></script> <script type="text/javascript" src="../../_static/doctools.js"></script> <script type="text/javascript" src="../../_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>
Simpan