Files
server/usr/share/doc/qemu-system-common/system/target-mips.html
2026-01-07 20:52:11 +01:00

353 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MIPS System emulator &mdash; QEMU Debian 1:8.2.2+ds-0ubuntu1.11 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=86f27845" />
<link rel="stylesheet" type="text/css" href="../_static/theme_overrides.css?v=08e6c168" />
<link rel="shortcut icon" href="../_static/qemu_32x32.png"/>
<script src="../_static/jquery.js?v=8dae8fb0"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=802af9f6"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/custom.js?v=2ab9f71d"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="PowerPC System emulator" href="target-ppc.html" />
<link rel="prev" title="ColdFire System emulator" href="target-m68k.html" />
</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" style="background: #802400" >
<a href="../index.html" class="icon icon-home">
QEMU
<img src="../_static/qemu_128x128.png" class="logo" alt="Logo"/>
</a>
<div class="version">
8.2.2
</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" aria-label="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="Navigation menu">
<p class="caption" role="heading"><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="introduction.html">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="invocation.html">Invocation</a></li>
<li class="toctree-l2"><a class="reference internal" href="device-emulation.html">Device Emulation</a></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="replay.html">Record/replay</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 current"><a class="reference internal" href="targets.html">QEMU System Emulator Targets</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="target-arm.html">Arm System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-avr.html">AVR System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-m68k.html">ColdFire System emulator</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">MIPS System emulator</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#supported-cpu-model-configurations-on-mips-hosts">Supported CPU model configurations on MIPS hosts</a></li>
<li class="toctree-l4"><a class="reference internal" href="#nanomips-system-emulator">nanoMIPS System emulator</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="target-ppc.html">PowerPC System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-openrisc.html">OpenRISC System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-riscv.html">RISC-V System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-rx.html">RX System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-s390x.html">s390x System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-sparc.html">Sparc32 System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-sparc64.html">Sparc64 System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-i386.html">x86 System emulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="target-xtensa.html">Xtensa System emulator</a></li>
</ul>
</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>
<li class="toctree-l2"><a class="reference internal" href="confidential-guest-support.html">Confidential Guest Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="vm-templating.html">QEMU VM templating</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="Mobile navigation menu" style="background: #802400" >
<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="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html">System Emulation</a></li>
<li class="breadcrumb-item"><a href="targets.html">QEMU System Emulator Targets</a></li>
<li class="breadcrumb-item active">MIPS System emulator</li>
<li class="wy-breadcrumbs-aside">
<a href="https://gitlab.com/qemu-project/qemu/blob/master/docs/system/target-mips.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">
<section id="mips-system-emulator">
<span id="id1"></span><h1>MIPS System emulator<a class="headerlink" href="#mips-system-emulator" title="Link to this heading"></a></h1>
<p>Four executables cover simulation of 32 and 64-bit MIPS systems in both
endian options, <code class="docutils literal notranslate"><span class="pre">qemu-system-mips</span></code>, <code class="docutils literal notranslate"><span class="pre">qemu-system-mipsel</span></code>
<code class="docutils literal notranslate"><span class="pre">qemu-system-mips64</span></code> and <code class="docutils literal notranslate"><span class="pre">qemu-system-mips64el</span></code>. Five different
machine types are emulated:</p>
<ul class="simple">
<li><p>The MIPS Malta prototype board &quot;malta&quot;</p></li>
<li><p>An ACER Pica &quot;pica61&quot;. This machine needs the 64-bit emulator.</p></li>
<li><p>MIPS emulator pseudo board &quot;mipssim&quot;</p></li>
<li><p>A MIPS Magnum R4000 machine &quot;magnum&quot;. This machine needs the
64-bit emulator.</p></li>
</ul>
<p>The Malta emulation supports the following devices:</p>
<ul class="simple">
<li><p>Core board with MIPS 24Kf CPU and Galileo system controller</p></li>
<li><p>PIIX4 PCI/USB/SMbus controller</p></li>
<li><p>The Multi-I/O chips serial device</p></li>
<li><p>PCI network cards (PCnet32 and others)</p></li>
<li><p>Malta FPGA serial device</p></li>
<li><p>Cirrus (default) or any other PCI VGA graphics card</p></li>
</ul>
<p>The Boston board emulation supports the following devices:</p>
<ul class="simple">
<li><p>Xilinx FPGA, which includes a PCIe root port and an UART</p></li>
<li><p>Intel EG20T PCH connects the I/O peripherals, but only the SATA bus
is emulated</p></li>
</ul>
<p>The ACER Pica emulation supports:</p>
<ul class="simple">
<li><p>MIPS R4000 CPU</p></li>
<li><p>PC-style IRQ and DMA controllers</p></li>
<li><p>PC Keyboard</p></li>
<li><p>IDE controller</p></li>
</ul>
<p>The MIPS Magnum R4000 emulation supports:</p>
<ul class="simple">
<li><p>MIPS R4000 CPU</p></li>
<li><p>PC-style IRQ controller</p></li>
<li><p>PC Keyboard</p></li>
<li><p>SCSI controller</p></li>
<li><p>G364 framebuffer</p></li>
</ul>
<p>The Fuloong 2E emulation supports:</p>
<ul class="simple">
<li><p>Loongson 2E CPU</p></li>
<li><p>Bonito64 system controller as North Bridge</p></li>
<li><p>VT82C686 chipset as South Bridge</p></li>
<li><p>RTL8139D as a network card chipset</p></li>
</ul>
<p>The Loongson-3 virtual platform emulation supports:</p>
<ul class="simple">
<li><p>Loongson 3A CPU</p></li>
<li><p>LIOINTC as interrupt controller</p></li>
<li><p>GPEX and virtio as peripheral devices</p></li>
<li><p>Both KVM and TCG supported</p></li>
</ul>
<p>The mipssim pseudo board emulation provides an environment similar to
what the proprietary MIPS emulator uses for running Linux. It supports:</p>
<ul class="simple">
<li><p>A range of MIPS CPUs, default is the 24Kf</p></li>
<li><p>PC style serial port</p></li>
<li><p>MIPSnet network emulation</p></li>
</ul>
<section id="supported-cpu-model-configurations-on-mips-hosts">
<h2>Supported CPU model configurations on MIPS hosts<a class="headerlink" href="#supported-cpu-model-configurations-on-mips-hosts" title="Link to this heading"></a></h2>
<p>QEMU supports variety of MIPS CPU models:</p>
<section id="supported-cpu-models-for-mips32-hosts">
<h3>Supported CPU models for MIPS32 hosts<a class="headerlink" href="#supported-cpu-models-for-mips32-hosts" title="Link to this heading"></a></h3>
<p>The following CPU models are supported for use on MIPS32 hosts.
Administrators / applications are recommended to use the CPU model that
matches the generation of the host CPUs in use. In a deployment with a
mixture of host CPU models between machines, if live migration
compatibility is required, use the newest CPU model that is compatible
across all desired hosts.</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">mips32r6-generic</span></code></dt><dd><p>MIPS32 Processor (Release 6, 2015)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">P5600</span></code></dt><dd><p>MIPS32 Processor (P5600, 2014)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">M14K</span></code>, <code class="docutils literal notranslate"><span class="pre">M14Kc</span></code></dt><dd><p>MIPS32 Processor (M14K, 2009)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">74Kf</span></code></dt><dd><p>MIPS32 Processor (74K, 2007)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">34Kf</span></code></dt><dd><p>MIPS32 Processor (34K, 2006)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">24Kc</span></code>, <code class="docutils literal notranslate"><span class="pre">24KEc</span></code>, <code class="docutils literal notranslate"><span class="pre">24Kf</span></code></dt><dd><p>MIPS32 Processor (24K, 2003)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">4Kc</span></code>, <code class="docutils literal notranslate"><span class="pre">4Km</span></code>, <code class="docutils literal notranslate"><span class="pre">4KEcR1</span></code>, <code class="docutils literal notranslate"><span class="pre">4KEmR1</span></code>, <code class="docutils literal notranslate"><span class="pre">4KEc</span></code>, <code class="docutils literal notranslate"><span class="pre">4KEm</span></code></dt><dd><p>MIPS32 Processor (4K, 1999)</p>
</dd>
</dl>
</section>
<section id="supported-cpu-models-for-mips64-hosts">
<h3>Supported CPU models for MIPS64 hosts<a class="headerlink" href="#supported-cpu-models-for-mips64-hosts" title="Link to this heading"></a></h3>
<p>The following CPU models are supported for use on MIPS64 hosts.
Administrators / applications are recommended to use the CPU model that
matches the generation of the host CPUs in use. In a deployment with a
mixture of host CPU models between machines, if live migration
compatibility is required, use the newest CPU model that is compatible
across all desired hosts.</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">I6400</span></code></dt><dd><p>MIPS64 Processor (Release 6, 2014)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">Loongson-2E</span></code></dt><dd><p>MIPS64 Processor (Loongson 2, 2006)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">Loongson-2F</span></code></dt><dd><p>MIPS64 Processor (Loongson 2, 2008)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">Loongson-3A1000</span></code></dt><dd><p>MIPS64 Processor (Loongson 3, 2010)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">Loongson-3A4000</span></code></dt><dd><p>MIPS64 Processor (Loongson 3, 2018)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">mips64dspr2</span></code></dt><dd><p>MIPS64 Processor (Release 2, 2006)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">MIPS64R2-generic</span></code>, <code class="docutils literal notranslate"><span class="pre">5KEc</span></code>, <code class="docutils literal notranslate"><span class="pre">5KEf</span></code></dt><dd><p>MIPS64 Processor (Release 2, 2002)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">20Kc</span></code></dt><dd><p>MIPS64 Processor (20K, 2000</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">5Kc</span></code>, <code class="docutils literal notranslate"><span class="pre">5Kf</span></code></dt><dd><p>MIPS64 Processor (5K, 1999)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">VR5432</span></code></dt><dd><p>MIPS64 Processor (VR, 1998)</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">R4000</span></code></dt><dd><p>MIPS64 Processor (MIPS III, 1991)</p>
</dd>
</dl>
</section>
<section id="supported-cpu-models-for-nanomips-hosts">
<h3>Supported CPU models for nanoMIPS hosts<a class="headerlink" href="#supported-cpu-models-for-nanomips-hosts" title="Link to this heading"></a></h3>
<p>The following CPU models are supported for use on nanoMIPS hosts.
Administrators / applications are recommended to use the CPU model that
matches the generation of the host CPUs in use. In a deployment with a
mixture of host CPU models between machines, if live migration
compatibility is required, use the newest CPU model that is compatible
across all desired hosts.</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">I7200</span></code></dt><dd><p>MIPS I7200 (nanoMIPS, 2018)</p>
</dd>
</dl>
</section>
<section id="preferred-cpu-models-for-mips-hosts">
<h3>Preferred CPU models for MIPS hosts<a class="headerlink" href="#preferred-cpu-models-for-mips-hosts" title="Link to this heading"></a></h3>
<p>The following CPU models are preferred for use on different MIPS hosts:</p>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">MIPS</span> <span class="pre">III</span></code></dt><dd><p>R4000</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">MIPS32R2</span></code></dt><dd><p>34Kf</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">MIPS64R6</span></code></dt><dd><p>I6400</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">nanoMIPS</span></code></dt><dd><p>I7200</p>
</dd>
</dl>
</section>
</section>
<section id="nanomips-system-emulator">
<span id="id2"></span><h2>nanoMIPS System emulator<a class="headerlink" href="#nanomips-system-emulator" title="Link to this heading"></a></h2>
<p>Executable <code class="docutils literal notranslate"><span class="pre">qemu-system-mipsel</span></code> also covers simulation of 32-bit
nanoMIPS system in little endian mode:</p>
<ul class="simple">
<li><p>nanoMIPS I7200 CPU</p></li>
</ul>
<p>Example of <code class="docutils literal notranslate"><span class="pre">qemu-system-mipsel</span></code> usage for nanoMIPS is shown below:</p>
<p>Download <code class="docutils literal notranslate"><span class="pre">&lt;disk_image_file&gt;</span></code> from
<a class="reference external" href="https://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html">https://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html</a>.</p>
<p>Download <code class="docutils literal notranslate"><span class="pre">&lt;kernel_image_file&gt;</span></code> from
<a class="reference external" href="https://mipsdistros.mips.com/LinuxDistro/nanomips/kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/index.html">https://mipsdistros.mips.com/LinuxDistro/nanomips/kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/index.html</a>.</p>
<p>Start system emulation of Malta board with nanoMIPS I7200 CPU:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">qemu</span><span class="o">-</span><span class="n">system</span><span class="o">-</span><span class="n">mipsel</span> <span class="o">-</span><span class="n">cpu</span> <span class="n">I7200</span> <span class="o">-</span><span class="n">kernel</span> <span class="o">&lt;</span><span class="n">kernel_image_file</span><span class="o">&gt;</span> \
<span class="o">-</span><span class="n">M</span> <span class="n">malta</span> <span class="o">-</span><span class="n">serial</span> <span class="n">stdio</span> <span class="o">-</span><span class="n">m</span> <span class="o">&lt;</span><span class="n">memory_size</span><span class="o">&gt;</span> <span class="o">-</span><span class="n">hda</span> <span class="o">&lt;</span><span class="n">disk_image_file</span><span class="o">&gt;</span> \
<span class="o">-</span><span class="n">append</span> <span class="s2">&quot;mem=256m@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 root=/dev/sda&quot;</span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="target-m68k.html" class="btn btn-neutral float-left" title="ColdFire System emulator" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="target-ppc.html" class="btn btn-neutral float-right" title="PowerPC System emulator" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2025, The QEMU Project Developers.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/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 8.2.2.</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>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>