0513503480
target/mips: msa: Split helpers for MULV.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-15-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:51:04 +02:00
83b2e79a80
target/mips: msa: Split helpers for SUBV.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-14-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:59 +02:00
cb4ac991f7
target/mips: msa: Split helpers for SUBSUU_S.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-13-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:53 +02:00
55a0464047
target/mips: msa: Split helpers for SUBSUS_U.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-12-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:46 +02:00
81b53858fe
target/mips: msa: Split helpers for SUBS_U.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-11-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:40 +02:00
534e400141
target/mips: msa: Split helpers for SUBS_S.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-10-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:33 +02:00
72c6a6e2c2
target/mips: msa: Split helpers for DOTP_U.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-9-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:26 +02:00
165cacb65c
target/mips: msa: Split helpers for DOTP_S.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-8-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:19 +02:00
0c8c76ac85
target/mips: msa: Split helpers for DPSUB_U.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-7-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:12 +02:00
8ed86716f6
target/mips: msa: Split helpers for DPSUB_S.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-6-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:50:05 +02:00
e5e0777e7f
target/mips: msa: Split helpers for DPADD_U.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-5-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:49:57 +02:00
9f5840a6a5
target/mips: msa: Split helpers for DPADD_S.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-4-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:49:50 +02:00
5f148a0232
target/mips: msa: Split helpers for MSUBV.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-3-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:49:36 +02:00
7a7a162add
target/mips: msa: Split helpers for MADDV.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200613152133.8964-2-aleksandar.qemu.devel@gmail.com >
2020-06-15 20:48:47 +02:00
99029be1c2
target/mips: Add implementation of GINVT instruction
...
Implement emulation of GINVT instruction. As QEMU doesn't support
caches and virtualization, this implementation covers only one
instruction (GINVT - Global Invalidate TLB) among all TLB-related
MIPS instructions.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1579883929-1517-5-git-send-email-aleksandar.markovic@rt-rk.com >
2020-01-29 19:28:52 +01:00
feafe82cc2
target/mips: Amend CP0 WatchHi register implementation
...
WatchHi is extended by the field MemoryMapID with the GINVT instruction.
The field is accessible by MTHC0/MFHC0 in 32-bit architectures and DMTC0/
DMFC0 in 64-bit architectures.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1579883929-1517-4-git-send-email-aleksandar.markovic@rt-rk.com >
2020-01-29 19:28:52 +01:00
f392d1344e
target/mips: msa: Split helpers for ASUB_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Message-Id: <1571826227-10583-13-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
b24b9aec96
target/mips: msa: Split helpers for HSUB_<S|U>.<H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Message-Id: <1571826227-10583-12-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
8a0ee3802f
target/mips: msa: Split helpers for PCK<EV|OD>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-11-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
4d52cc2bbc
target/mips: msa: Split helpers for S<LL|RA|RAR|RL|RLR>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-10-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
dc0af9312b
target/mips: msa: Split helpers for HADD_<S|U>.<H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-9-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
c65ca134d7
target/mips: msa: Split helpers for ADD<_A|S_A|S_S|S_U|V>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-8-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
fb5f59b4dc
target/mips: msa: Split helpers for ILV<EV|OD|L|R>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-7-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
2db26305a6
target/mips: msa: Split helpers for <MAX|MIN>_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-6-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
e8e01ef026
target/mips: msa: Split helpers for <MAX|MIN>_A.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1571826227-10583-5-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-25 18:37:01 +02:00
0a1bb9127b
target/mips: msa: Move helpers for <AND|NOR|OR|XOR>.V
...
Cosmetic reorganization.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-21-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
26f0e079a0
target/mips: msa: Simplify and move helper for MOVE.V
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-20-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
a6387ea5de
target/mips: msa: Split helpers for MOD_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-19-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
64a0257f1f
target/mips: msa: Split helpers for DIV_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-18-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
1165669982
target/mips: msa: Split helpers for CLT_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-17-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
0501bb1a66
target/mips: msa: Split helpers for CLE_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-16-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
ade7e788e1
target/mips: msa: Split helpers for CEQ.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-15-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:45 +02:00
755107e226
target/mips: msa: Split helpers for AVER_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-14-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
7672edc4c6
target/mips: msa: Split helpers for AVE_<S|U>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-13-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
a44d6d14a1
target/mips: msa: Split helpers for B<CLR|NEG|SEL>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-12-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
c1ed3038e7
target/mips: msa: Unroll loops and demacro <BMNZ|BMZ|BSEL>.V
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-11-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
2e3eddb084
target/mips: msa: Split helpers for BINS<L|R>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-10-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
4c5daf386f
target/mips: msa: Split helpers for PCNT.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-9-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
81c4b05995
target/mips: msa: Split helpers for <NLOC|NLZC>.<B|H|W|D>
...
Achieves clearer code and slightly better performance.
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com >
Message-Id: <1569415572-19635-8-git-send-email-aleksandar.markovic@rt-rk.com >
2019-10-01 16:58:44 +02:00
8c1ecb5904
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-next-280519-2' into staging
...
Various testing updates
- semihosting re-factor (used in system tests)
- aarch64 and alpha system tests
- editorconfig tweak for .S
- some docker image updates
- iotests clean-up (without make check inclusion)
# gpg: Signature made Tue 28 May 2019 17:26:34 BST
# gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org >" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44
* remotes/stsquad/tags/pull-testing-next-280519-2: (27 commits)
tests/qemu-iotests: re-format output to for make check-block
tests/qemu-iotests/group: Re-use the "auto" group for tests that can always run
Makefile.target: support per-target coverage reports
Makefile: include per-target build directories in coverage report
Makefile: fix coverage-report reference to BUILD_DIR
.travis.yml: enable aarch64-softmmu and alpha-softmmu tcg tests
tests/tcg/alpha: add system boot.S
tests/tcg/multiarch: expand system memory test to cover more
tests/tcg/minilib: support %c format char
tests/tcg/multiarch: move the system memory test
tests/tcg/aarch64: add system boot.S
editorconfig: add settings for .s/.S files
tests/tcg/multiarch: add hello world system test
tests/tcg/multiarch: add support for multiarch system tests
tests/docker: Test more components on the Fedora default image
tests/docker: add ubuntu 18.04
MAINTAINERS: update for semihostings new home
target/mips: convert UHI_plog to use common semihosting code
target/mips: only build mips-semi for softmmu
target/arm: correct return values for WRITE/READ in arm-semi
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-05-28 17:38:32 +01:00
82ba42666c
target/mips: only build mips-semi for softmmu
...
The is_uhi gates all semihosting calls and always returns false for
CONFIG_USER_ONLY builds. There is no reason to build and link
mips-semi for these builds so lets fix that.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2019-05-28 10:28:51 +01:00
c1c9a10fb1
target/mips: Refactor and fix INSERT.<B|H|W|D> instructions
...
The old version of the helper for the INSERT.<B|H|W|D> MSA instructions
has been replaced with four helpers that don't use switch, and change
the endianness of the given index, when executed on a big endian host.
Signed-off-by: Mateja Marjanovic <mateja.marjanovic@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1554212605-16457-6-git-send-email-mateja.marjanovic@rt-rk.com >
2019-05-26 17:33:16 +02:00
41d2885827
target/mips: Refactor and fix COPY_U.<B|H|W> instructions
...
The old version of the helper for the COPY_U.<B|H|W> MSA instructions
has been replaced with four helpers that don't use switch, and change
the endianness of the given index, when executed on a big endian host.
Signed-off-by: Mateja Marjanovic <mateja.marjanovic@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1554212605-16457-5-git-send-email-mateja.marjanovic@rt-rk.com >
2019-05-26 17:33:05 +02:00
631c467461
target/mips: Refactor and fix COPY_S.<B|H|W|D> instructions
...
The old version of the helper for the COPY_S.<B|H|W|D> MSA instructions
has been replaced with four helpers that don't use switch, and change
the endianness of the given index, when executed on a big endian host.
Signed-off-by: Mateja Marjanovic <mateja.marjanovic@rt-rk.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <1554212605-16457-4-git-send-email-mateja.marjanovic@rt-rk.com >
2019-05-26 17:32:57 +02:00
33a07fa2db
target/mips: reimplement SC instruction emulation and use cmpxchg
...
Completely rewrite conditional stores handling. Use cmpxchg.
This eliminates need for separate implementations of SC instruction
emulation for user and system emulation.
Signed-off-by: Leon Alrae <leon.alrae@imgtec.com >
Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtec.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Acked-by: Alex Bennée <alex.bennee@linaro.org >
Tested-by: Emilio G. Cota <cota@braap.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2019-02-14 17:47:28 +01:00
5fb2dcd179
target/mips: Provide R/W access to SAARI and SAAR CP0 registers
...
Provide R/W access to SAARI and SAAR CP0 registers.
Reviewed-by: Stefan Markovic <smarkovic@wavecomp.com >
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
2019-01-18 16:53:28 +01:00
103be64c26
target/mips: Add CP0 PWCtl register
...
Add PWCtl register (CP0 Register 5, Select 6).
The PWCtl register configures hardware page table walking for TLB
refills.
This register is required for the hardware page walker feature. It
exists only if Config3 PW bit is set to 1. It contains following
fields:
PWEn (31) - Hardware Page Table walker enable
PWDirExt (30) - If 1, 4-th level implemented (MIPS64 only)
XK (28) - If 1, walker handles xkseg (MIPS64 only)
XS (27) - If 1, walker handles xsseg (MIPS64 only)
XU (26) - If 1, walker handles xuseg (MIPS64 only)
DPH (7) - Dual Page format of Huge Page support
HugePg (6) - Huge Page PTE supported in Directory levels
PSn (5..0) - Bit position of PTEvld in Huge Page PTE
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
2018-10-18 20:37:20 +02:00
20b28ebc49
target/mips: Add CP0 PWSize register
...
Add PWSize register (CP0 Register 5, Select 7).
The PWSize register configures hardware page table walking for TLB
refills.
This register is required for the hardware page walker feature. It
exists only if Config3 PW bit is set to 1. It contains following
fields:
BDW (37..32) Base Directory index width (MIPS64 only)
GDW (29..24) Global Directory index width
UDW (23..18) Upper Directory index width
MDW (17..12) Middle Directory index width
PTW (11..6 ) Page Table index width
PTEW ( 5..0 ) Left shift applied to the Page Table index
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
2018-10-18 20:37:20 +02:00
fa75ad1459
target/mips: Add CP0 PWField register
...
Add PWField register (CP0 Register 5, Select 6).
The PWField register configures hardware page table walking for TLB
refills.
This register is required for the hardware page walker feature. It
exists only if Config3 PW bit is set to 1. It contains following
fields:
MIPS64:
BDI (37..32) - Base Directory index
GDI (29..24) - Global Directory index
UDI (23..18) - Upper Directory index
MDI (17..12) - Middle Directory index
PTI (11..6 ) - Page Table index
PTEI ( 5..0 ) - Page Table Entry shift
MIPS32:
GDW (29..24) - Global Directory index
UDW (23..18) - Upper Directory index
MDW (17..12) - Middle Directory index
PTW (11..6 ) - Page Table index
PTEW ( 5..0 ) - Page Table Entry shift
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
2018-10-18 20:37:20 +02:00
e222f50672
target/mips: Implement emulation of nanoMIPS ROTX instruction
...
Added a helper for ROTX based on the pseudocode from the
architecture spec. This instraction was not present in previous
MIPS instruction sets.
Signed-off-by: Yongbok Kim <yongbok.kim@mips.com >
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Signed-off-by: Stefan Markovic <smarkovic@wavecomp.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2018-08-24 17:51:59 +02:00