target-arm queue:
* Remove duplicate 'plus1' function from Neon and SVE decode * Fix offsets for TTBCR for big-endian hosts * docs: fix copyright date * docs: add license/version info to HTML footers * docs: add an About section * docs: document some more arm boards -----BEGIN PGP SIGNATURE----- iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmD0ImIZHHBldGVyLm1h eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3gUVEACnpfDCg8KkeNpW/HGo5EXL TFfpyc1y9d8zVFuMCP5c98kv91bmFkgh6WJdnzIwC7pHhDiD7E+JMoB151pcRQPC yCB23YDhBlVDTFWZg8GQ33e6GFoAhgVvkpFQ7JDe8CoAdo28vc7QaZpoZBryKjhJ Pde3GWU1puuihlVHoL2RAOV6j9iHSwpDy8/VeMRiZjFs/p3QhzDwgyJidaMgBN+b Avw86iN4mHgPb5/mxEb51MaSEXcKTot01PPvd7hogTytMBXVCMIcQYauC1bgFi45 zsX4MMNbyrjluu6i+Y7/I6zRwpWR0sCvLn+2Pa/+V1H4mkzsifWGeHrzkEx4qjMP rb0vNbt7juCryfrBeG9jVoQ9SyUl2ml4sW4jCQrg6gA6A42Ic+NPjR6nA0smVHQj DM8ZadK4nv7sUY92pxGT5RsJYODV1fEYXWaGApjp/jqMjGXf+TZjCFcI5cxOltGM W4ijOT9QDKw+82+HM5a0HM6XMSpYMoqcYuJpUAkXqVqs2fidsuGLBJ9R7hWN6Ovu khfxrDMfH8Q61VsKNdGNYRbTRw7a1jakBh3Bf2eYykgT/6XogbpDb/13L2FaTJ8x fM1cPF/Lc2BWbHvna42nFGg5ST1DVKxszwSF1HFnevbNRw+R7z3KAG1KTuFEEbLI Glu71a6zSZhUSVp2IvCMdA== =aAVT -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210718' into staging target-arm queue: * Remove duplicate 'plus1' function from Neon and SVE decode * Fix offsets for TTBCR for big-endian hosts * docs: fix copyright date * docs: add license/version info to HTML footers * docs: add an About section * docs: document some more arm boards # gpg: Signature made Sun 18 Jul 2021 13:45:22 BST # gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE # gpg: issuer "peter.maydell@linaro.org" # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate] # gpg: aka "Peter Maydell <pmaydell@gmail.com>" [ultimate] # gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate] # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * remotes/pmaydell/tags/pull-target-arm-20210718: target/arm: Remove duplicate 'plus1' function from Neon and SVE decode docs: Add skeletal documentation of highbank and midway docs: Add skeletal documentation of the emcraft-sf2 docs: Add skeletal documentation of cubieboard docs: Add QEMU version information to HTML footer docs: Add license note to the HTML page footer docs: Add some actual About text to about/index.rst docs: Move deprecation, build and license info out of system/ docs: Remove "Contents:" lines from top-level subsections docs: Stop calling the top level subsections of our manual 'manuals' docs: Fix documentation Copyright date target/arm: Fix offsets for TTBCR Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
fd79f89c76
|
@ -560,6 +560,7 @@ S: Odd Fixes
|
||||||
F: hw/*/allwinner*
|
F: hw/*/allwinner*
|
||||||
F: include/hw/*/allwinner*
|
F: include/hw/*/allwinner*
|
||||||
F: hw/arm/cubieboard.c
|
F: hw/arm/cubieboard.c
|
||||||
|
F: docs/system/arm/cubieboard.rst
|
||||||
|
|
||||||
Allwinner-h3
|
Allwinner-h3
|
||||||
M: Niek Linnenbank <nieklinnenbank@gmail.com>
|
M: Niek Linnenbank <nieklinnenbank@gmail.com>
|
||||||
|
@ -642,6 +643,7 @@ L: qemu-arm@nongnu.org
|
||||||
S: Odd Fixes
|
S: Odd Fixes
|
||||||
F: hw/arm/highbank.c
|
F: hw/arm/highbank.c
|
||||||
F: hw/net/xgmac.c
|
F: hw/net/xgmac.c
|
||||||
|
F: docs/system/arm/highbank.rst
|
||||||
|
|
||||||
Canon DIGIC
|
Canon DIGIC
|
||||||
M: Antony Pavlov <antonynpavlov@gmail.com>
|
M: Antony Pavlov <antonynpavlov@gmail.com>
|
||||||
|
@ -1023,6 +1025,7 @@ M: Peter Maydell <peter.maydell@linaro.org>
|
||||||
L: qemu-arm@nongnu.org
|
L: qemu-arm@nongnu.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: hw/arm/msf2-som.c
|
F: hw/arm/msf2-som.c
|
||||||
|
F: docs/system/arm/emcraft-sf2.rst
|
||||||
|
|
||||||
ASPEED BMCs
|
ASPEED BMCs
|
||||||
M: Cédric Le Goater <clg@kaod.org>
|
M: Cédric Le Goater <clg@kaod.org>
|
||||||
|
@ -3451,6 +3454,7 @@ S: Maintained
|
||||||
F: docs/conf.py
|
F: docs/conf.py
|
||||||
F: docs/*/conf.py
|
F: docs/*/conf.py
|
||||||
F: docs/sphinx/
|
F: docs/sphinx/
|
||||||
|
F: docs/_templates/
|
||||||
|
|
||||||
Miscellaneous
|
Miscellaneous
|
||||||
-------------
|
-------------
|
||||||
|
|
14
docs/_templates/footer.html
vendored
Normal file
14
docs/_templates/footer.html
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{% extends "!footer.html" %}
|
||||||
|
{% block extrafooter %}
|
||||||
|
|
||||||
|
<!-- Empty para to force a blank line after "Built with Sphinx ..." -->
|
||||||
|
<p></p>
|
||||||
|
|
||||||
|
<p>This documentation is for QEMU version {{ version }}.</p>
|
||||||
|
|
||||||
|
{% trans path=pathto('about/license') %}
|
||||||
|
<p><a href="{{ path }}">QEMU and this manual are released under the
|
||||||
|
GNU General Public License, version 2.</a></p>
|
||||||
|
{% endtrans %}
|
||||||
|
{{ super() }}
|
||||||
|
{% endblock %}
|
27
docs/about/index.rst
Normal file
27
docs/about/index.rst
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
About QEMU
|
||||||
|
==========
|
||||||
|
|
||||||
|
QEMU is a generic and open source machine emulator and virtualizer.
|
||||||
|
|
||||||
|
QEMU can be used in several different ways. The most common is for
|
||||||
|
"system emulation", where it provides a virtual model of an
|
||||||
|
entire machine (CPU, memory and emulated devices) to run a guest OS.
|
||||||
|
In this mode the CPU may be fully emulated, or it may work with
|
||||||
|
a hypervisor such as KVM, Xen, Hax or Hypervisor.Framework to
|
||||||
|
allow the guest to run directly on the host CPU.
|
||||||
|
|
||||||
|
The second supported way to use QEMU is "user mode emulation",
|
||||||
|
where QEMU can launch processes compiled for one CPU on another CPU.
|
||||||
|
In this mode the CPU is always emulated.
|
||||||
|
|
||||||
|
QEMU also provides a number of standalone commandline utilities,
|
||||||
|
such as the `qemu-img` disk image utility that allows you to create,
|
||||||
|
convert and modify disk images.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
build-platforms
|
||||||
|
deprecated
|
||||||
|
removed-features
|
||||||
|
license
|
|
@ -87,7 +87,7 @@ master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'QEMU'
|
project = u'QEMU'
|
||||||
copyright = u'2020, The QEMU Project Developers'
|
copyright = u'2021, The QEMU Project Developers'
|
||||||
author = u'The QEMU Project Developers'
|
author = u'The QEMU Project Developers'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
.. This is the top level page for the 'devel' manual.
|
|
||||||
|
|
||||||
|
|
||||||
Developer Information
|
Developer Information
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
This manual documents various parts of the internals of QEMU.
|
This section of the manual documents various parts of the internals of QEMU.
|
||||||
You only need to read it if you are interested in reading or
|
You only need to read it if you are interested in reading or
|
||||||
modifying QEMU's source code.
|
modifying QEMU's source code.
|
||||||
|
|
||||||
Contents:
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:includehidden:
|
:includehidden:
|
||||||
|
|
|
@ -10,6 +10,7 @@ Welcome to QEMU's documentation!
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Contents:
|
:caption: Contents:
|
||||||
|
|
||||||
|
about/index
|
||||||
system/index
|
system/index
|
||||||
user/index
|
user/index
|
||||||
tools/index
|
tools/index
|
||||||
|
|
|
@ -1,13 +1,8 @@
|
||||||
.. This is the top level page for the 'interop' manual.
|
|
||||||
|
|
||||||
|
|
||||||
System Emulation Management and Interoperability
|
System Emulation Management and Interoperability
|
||||||
================================================
|
================================================
|
||||||
|
|
||||||
This manual contains documents and specifications that are useful
|
This section of the manual contains documents and specifications that
|
||||||
for making QEMU interoperate with other software.
|
are useful for making QEMU interoperate with other software.
|
||||||
|
|
||||||
Contents:
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
|
@ -44,6 +44,7 @@ if build_docs
|
||||||
meson.source_root() / 'docs/sphinx/qapidoc.py',
|
meson.source_root() / 'docs/sphinx/qapidoc.py',
|
||||||
meson.source_root() / 'docs/sphinx/qmp_lexer.py',
|
meson.source_root() / 'docs/sphinx/qmp_lexer.py',
|
||||||
qapi_gen_depends ]
|
qapi_gen_depends ]
|
||||||
|
sphinx_template_files = [ meson.source_root() / 'docs/_templates/footer.html' ]
|
||||||
|
|
||||||
have_ga = have_tools and config_host.has_key('CONFIG_GUEST_AGENT')
|
have_ga = have_tools and config_host.has_key('CONFIG_GUEST_AGENT')
|
||||||
|
|
||||||
|
@ -76,7 +77,7 @@ if build_docs
|
||||||
output: 'docs.stamp',
|
output: 'docs.stamp',
|
||||||
input: files('conf.py'),
|
input: files('conf.py'),
|
||||||
depfile: 'docs.d',
|
depfile: 'docs.d',
|
||||||
depend_files: sphinx_extn_depends,
|
depend_files: [ sphinx_extn_depends, sphinx_template_files ],
|
||||||
command: [SPHINX_ARGS, '-Ddepfile=@DEPFILE@',
|
command: [SPHINX_ARGS, '-Ddepfile=@DEPFILE@',
|
||||||
'-Ddepfile_stamp=@OUTPUT0@',
|
'-Ddepfile_stamp=@OUTPUT0@',
|
||||||
'-b', 'html', '-d', private_dir,
|
'-b', 'html', '-d', private_dir,
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
.. This is the top level page for the 'specs' manual
|
|
||||||
|
|
||||||
|
|
||||||
System Emulation Guest Hardware Specifications
|
System Emulation Guest Hardware Specifications
|
||||||
==============================================
|
==============================================
|
||||||
|
|
||||||
|
This section of the manual contains specifications of
|
||||||
Contents:
|
guest hardware that is specific to QEMU.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
16
docs/system/arm/cubieboard.rst
Normal file
16
docs/system/arm/cubieboard.rst
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
Cubietech Cubieboard (``cubieboard``)
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
The ``cubieboard`` model emulates the Cubietech Cubieboard,
|
||||||
|
which is a Cortex-A8 based single-board computer using
|
||||||
|
the AllWinner A10 SoC.
|
||||||
|
|
||||||
|
Emulated devices:
|
||||||
|
|
||||||
|
- Timer
|
||||||
|
- UART
|
||||||
|
- RTC
|
||||||
|
- EMAC
|
||||||
|
- SDHCI
|
||||||
|
- USB controller
|
||||||
|
- SATA controller
|
15
docs/system/arm/emcraft-sf2.rst
Normal file
15
docs/system/arm/emcraft-sf2.rst
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Emcraft SmartFusion2 SOM kit (``emcraft-sf2``)
|
||||||
|
==============================================
|
||||||
|
|
||||||
|
The ``emcraft-sf2`` board emulates the SmartFusion2 SOM kit from
|
||||||
|
Emcraft (M2S010). This is a System-on-Module from EmCraft systems,
|
||||||
|
based on the SmartFusion2 SoC FPGA from Microsemi Corporation.
|
||||||
|
The SoC is based on a Cortex-M4 processor.
|
||||||
|
|
||||||
|
Emulated devices:
|
||||||
|
|
||||||
|
- System timer
|
||||||
|
- System registers
|
||||||
|
- SPI controller
|
||||||
|
- UART
|
||||||
|
- EMAC
|
19
docs/system/arm/highbank.rst
Normal file
19
docs/system/arm/highbank.rst
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
Calxeda Highbank and Midway (``highbank``, ``midway``)
|
||||||
|
======================================================
|
||||||
|
|
||||||
|
``highbank`` is a model of the Calxeda Highbank (ECX-1000) system,
|
||||||
|
which has four Cortex-A9 cores.
|
||||||
|
|
||||||
|
``midway`` is a model of the Calxeda Midway (ECX-2000) system,
|
||||||
|
which has four Cortex-A15 cores.
|
||||||
|
|
||||||
|
Emulated devices:
|
||||||
|
|
||||||
|
- L2x0 cache controller
|
||||||
|
- SP804 dual timer
|
||||||
|
- PL011 UART
|
||||||
|
- PL061 GPIOs
|
||||||
|
- PL031 RTC
|
||||||
|
- PL022 synchronous serial port controller
|
||||||
|
- AHCI
|
||||||
|
- XGMAC ethernet controllers
|
|
@ -1,16 +1,11 @@
|
||||||
.. This is the top level page for the 'system' manual.
|
|
||||||
|
|
||||||
|
|
||||||
System Emulation
|
System Emulation
|
||||||
================
|
================
|
||||||
|
|
||||||
This manual is the overall guide for users using QEMU
|
This section of the manual is the overall guide for users using QEMU
|
||||||
for full system emulation (as opposed to user-mode emulation).
|
for full system emulation (as opposed to user-mode emulation).
|
||||||
This includes working with hypervisors such as KVM, Xen, Hax
|
This includes working with hypervisors such as KVM, Xen, Hax
|
||||||
or Hypervisor.Framework.
|
or Hypervisor.Framework.
|
||||||
|
|
||||||
Contents:
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 3
|
:maxdepth: 3
|
||||||
|
|
||||||
|
@ -40,7 +35,3 @@ Contents:
|
||||||
targets
|
targets
|
||||||
security
|
security
|
||||||
multi-process
|
multi-process
|
||||||
deprecated
|
|
||||||
removed-features
|
|
||||||
build-platforms
|
|
||||||
license
|
|
||||||
|
|
|
@ -85,6 +85,9 @@ undocumented; you can get a complete list by running
|
||||||
arm/aspeed
|
arm/aspeed
|
||||||
arm/sabrelite
|
arm/sabrelite
|
||||||
arm/digic
|
arm/digic
|
||||||
|
arm/cubieboard
|
||||||
|
arm/emcraft-sf2
|
||||||
|
arm/highbank
|
||||||
arm/musicpal
|
arm/musicpal
|
||||||
arm/gumstix
|
arm/gumstix
|
||||||
arm/nrf
|
arm/nrf
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
.. This is the top level page for the 'tools' manual
|
|
||||||
|
|
||||||
|
|
||||||
Tools
|
Tools
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
This section of the manual documents QEMU's "tools": its
|
||||||
Contents:
|
command line utilities and other standalone programs.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
.. This is the top level page for the 'user' manual.
|
|
||||||
|
|
||||||
|
|
||||||
User Mode Emulation
|
User Mode Emulation
|
||||||
===================
|
===================
|
||||||
|
|
||||||
This manual is the overall guide for users using QEMU
|
This section of the manual is the overall guide for users using QEMU
|
||||||
for user-mode emulation. In this mode, QEMU can launch
|
for user-mode emulation. In this mode, QEMU can launch
|
||||||
processes compiled for one CPU on another CPU.
|
processes compiled for one CPU on another CPU.
|
||||||
|
|
||||||
Contents:
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
|
|
|
@ -4106,8 +4106,9 @@ static const ARMCPRegInfo vmsa_cp_reginfo[] = {
|
||||||
.access = PL1_RW, .accessfn = access_tvm_trvm,
|
.access = PL1_RW, .accessfn = access_tvm_trvm,
|
||||||
.type = ARM_CP_ALIAS, .writefn = vmsa_ttbcr_write,
|
.type = ARM_CP_ALIAS, .writefn = vmsa_ttbcr_write,
|
||||||
.raw_writefn = vmsa_ttbcr_raw_write,
|
.raw_writefn = vmsa_ttbcr_raw_write,
|
||||||
.bank_fieldoffsets = { offsetoflow32(CPUARMState, cp15.tcr_el[3]),
|
/* No offsetoflow32 -- pass the entire TCR to writefn/raw_writefn. */
|
||||||
offsetoflow32(CPUARMState, cp15.tcr_el[1])} },
|
.bank_fieldoffsets = { offsetof(CPUARMState, cp15.tcr_el[3]),
|
||||||
|
offsetof(CPUARMState, cp15.tcr_el[1])} },
|
||||||
REGINFO_SENTINEL
|
REGINFO_SENTINEL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4118,8 +4119,10 @@ static const ARMCPRegInfo ttbcr2_reginfo = {
|
||||||
.name = "TTBCR2", .cp = 15, .opc1 = 0, .crn = 2, .crm = 0, .opc2 = 3,
|
.name = "TTBCR2", .cp = 15, .opc1 = 0, .crn = 2, .crm = 0, .opc2 = 3,
|
||||||
.access = PL1_RW, .accessfn = access_tvm_trvm,
|
.access = PL1_RW, .accessfn = access_tvm_trvm,
|
||||||
.type = ARM_CP_ALIAS,
|
.type = ARM_CP_ALIAS,
|
||||||
.bank_fieldoffsets = { offsetofhigh32(CPUARMState, cp15.tcr_el[3]),
|
.bank_fieldoffsets = {
|
||||||
offsetofhigh32(CPUARMState, cp15.tcr_el[1]) },
|
offsetofhigh32(CPUARMState, cp15.tcr_el[3].raw_tcr),
|
||||||
|
offsetofhigh32(CPUARMState, cp15.tcr_el[1].raw_tcr),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static void omap_ticonfig_write(CPUARMState *env, const ARMCPRegInfo *ri,
|
static void omap_ticonfig_write(CPUARMState *env, const ARMCPRegInfo *ri,
|
||||||
|
|
|
@ -41,8 +41,8 @@ VLD_all_lanes 1111 0100 1 . 1 0 rn:4 .... 11 n:2 size:2 t:1 a:1 rm:4 \
|
||||||
vd=%vd_dp
|
vd=%vd_dp
|
||||||
|
|
||||||
# Neon load/store single structure to one lane
|
# Neon load/store single structure to one lane
|
||||||
%imm1_5_p1 5:1 !function=plus1
|
%imm1_5_p1 5:1 !function=plus_1
|
||||||
%imm1_6_p1 6:1 !function=plus1
|
%imm1_6_p1 6:1 !function=plus_1
|
||||||
|
|
||||||
VLDST_single 1111 0100 1 . l:1 0 rn:4 .... 00 n:2 reg_idx:3 align:1 rm:4 \
|
VLDST_single 1111 0100 1 . l:1 0 rn:4 .... 00 n:2 reg_idx:3 align:1 rm:4 \
|
||||||
vd=%vd_dp size=0 stride=1
|
vd=%vd_dp size=0 stride=1
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
# which is 0 for fp16 and 1 for fp32 into a MO_* constant.
|
# which is 0 for fp16 and 1 for fp32 into a MO_* constant.
|
||||||
# (Note that this is the reverse of the sense of the 1-bit size
|
# (Note that this is the reverse of the sense of the 1-bit size
|
||||||
# field in the 3same_fp Neon insns.)
|
# field in the 3same_fp Neon insns.)
|
||||||
%vcadd_size 20:1 !function=plus1
|
%vcadd_size 20:1 !function=plus_1
|
||||||
|
|
||||||
VCMLA 1111 110 rot:2 . 1 . .... .... 1000 . q:1 . 0 .... \
|
VCMLA 1111 110 rot:2 . 1 . .... .... 1000 . q:1 . 0 .... \
|
||||||
vm=%vm_dp vn=%vn_dp vd=%vd_dp size=%vcadd_size
|
vm=%vm_dp vn=%vn_dp vd=%vd_dp size=%vcadd_size
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# Named fields. These are primarily for disjoint fields.
|
# Named fields. These are primarily for disjoint fields.
|
||||||
|
|
||||||
%imm4_16_p1 16:4 !function=plus1
|
%imm4_16_p1 16:4 !function=plus_1
|
||||||
%imm6_22_5 22:1 5:5
|
%imm6_22_5 22:1 5:5
|
||||||
%imm7_22_16 22:2 16:5
|
%imm7_22_16 22:2 16:5
|
||||||
%imm8_16_10 16:5 10:3
|
%imm8_16_10 16:5 10:3
|
||||||
|
|
|
@ -28,11 +28,6 @@
|
||||||
#include "translate.h"
|
#include "translate.h"
|
||||||
#include "translate-a32.h"
|
#include "translate-a32.h"
|
||||||
|
|
||||||
static inline int plus1(DisasContext *s, int x)
|
|
||||||
{
|
|
||||||
return x + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int neon_3same_fp_size(DisasContext *s, int x)
|
static inline int neon_3same_fp_size(DisasContext *s, int x)
|
||||||
{
|
{
|
||||||
/* Convert 0==fp32, 1==fp16 into a MO_* value */
|
/* Convert 0==fp32, 1==fp16 into a MO_* value */
|
||||||
|
|
|
@ -70,11 +70,6 @@ static int tszimm_shl(DisasContext *s, int x)
|
||||||
return x - (8 << tszimm_esz(s, x));
|
return x - (8 << tszimm_esz(s, x));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int plus1(DisasContext *s, int x)
|
|
||||||
{
|
|
||||||
return x + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The SH bit is in bit 8. Extract the low 8 and shift. */
|
/* The SH bit is in bit 8. Extract the low 8 and shift. */
|
||||||
static inline int expand_imm_sh8s(DisasContext *s, int x)
|
static inline int expand_imm_sh8s(DisasContext *s, int x)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue