Philippe Mathieu-Daudé
7a7b663234
target/unicore32: Replace DPRINTF() by qemu_log_mask(GUEST_ERROR)
...
Replace disabled DPRINTF() by qemu_log_mask(GUEST_ERROR).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200603123754.19059-3-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-06-09 19:58:53 +02:00
Philippe Mathieu-Daudé
c421f81826
target/unicore32: Remove unused headers
...
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200603123754.19059-2-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-06-09 19:58:53 +02:00
Philippe Mathieu-Daudé
3fb79344bd
target/i386/cpu: Use the IEC binary prefix definitions
...
IEC binary prefixes ease code review: the unit is explicit.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20200601142930.29408-9-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-06-09 19:58:53 +02:00
Richard Henderson
d6084fba47
target/arm: Use a non-overlapping group for misc control
...
The miscellaneous control instructions are mutually exclusive
within the t32 decode sub-group.
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2020-06-09 09:21:19 -07:00
Andrea Oliveri
6db06115d2
target/mips: Enable hardware page table walker and CMGCR features for P5600
...
Enable hardware page table walker and CMGCR features for P5600 that
supports both.
Signed-off-by: Andrea Oliveri <oliveriandrea@gmail.com >
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <de5adcb9fd0dd607b98026f4bfb34205432b6002.camel@gmail.com >
2020-06-09 17:32:45 +02:00
Huacai Chen
af868995e1
target/mips: Add Loongson-3 CPU definition
...
Loongson-3 CPU family include Loongson-3A R1/R2/R3/R4 and Loongson-3B
R1/R2. Loongson-3A R1 is the oldest and its ISA is the smallest, while
Loongson-3A R4 is the newest and its ISA is almost the superset of all
others. To reduce complexity, we just define two CPU types:
1) "Loongson-3A1000" CPU which is corresponding to Loongson-3A R1. It is
suitable for TCG because Loongson-3A R1 has fewest ASE.
2) "Loongson-3A4000" CPU which is corresponding to Loongson-3A R4. It is
suitable for KVM because Loongson-3A R4 has the VZ ASE.
Loongson-3A has CONFIG6 and CONFIG7, so add their bit-fields as well.
[AM: Rearranged insn_flags, added comments, renamed lmi_helper.c,
improved commit message, fixed checkpatch warnings]
Signed-off-by: Huacai Chen <chenhc@lemote.com >
Co-developed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <1591065557-9174-3-git-send-email-chenhc@lemote.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
9579f78168
target/mips: fpu: Refactor conversion from ieee to mips exception flags
...
The original coversion function is used for regular and MSA floating
point instructions handling. Since there are some nuanced differences
between regular and MSA floating point exception handling, provide two
instances of the conversion function, rather than just a single common
one. Inline both instances of this function instances for the sake of
performance. Improve variable naming in surrounding code for clarity.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-17-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
485cd2e4ce
target/mips: fpu: Name better paired-single variables
...
Use consistently 'l' and 'h' for low and high halves.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-16-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
bdbe48db40
target/mips: fpu: Remove now unused FLOAT_RINT macro
...
After demacroing RINT.<D|S>, this macro is not needed anymore.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-15-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
728e424690
target/mips: fpu: Demacro RINT.<D|S>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-14-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
6971a1b970
target/mips: fpu: Remove now unused FLOAT_CLASS macro
...
After demacroing CLASS.<D|S>, this macro is not needed anymore.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-13-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
0bd99ac77c
target/mips: fpu: Demacro CLASS.<D|S>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-12-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
32574f1d1c
target/mips: fpu: Remove now unused UNFUSED_FMA and FLOAT_FMA macros
...
After demacroing <MADD|MSUB|NMADD|NMSUB>.<D|S|PS>, these macros
are not needed anymore.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-11-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
5c591e2259
target/mips: fpu: Demacro NMSUB.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-10-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
0278586d60
target/mips: fpu: Demacro NMADD.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-9-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
faec75244c
target/mips: fpu: Demacro MSUB.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-8-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
16734cc1da
target/mips: fpu: Demacro MADD.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-7-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
8248c9c5b2
target/mips: fpu: Remove now unused macro FLOAT_BINOP
...
After demacroing <ADD|SUB|MUL|DIV>.<D|S|PS>, this macro is not
needed anymore.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-6-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
bcca8c4b1a
target/mips: fpu: Demacro DIV.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-5-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
11811198ef
target/mips: fpu: Demacro MUL.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-4-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
92ebdd7fa4
target/mips: fpu: Demacro SUB.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-3-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Aleksandar Markovic
1ace099f2a
target/mips: fpu: Demacro ADD.<D|S|PS>
...
This is just a cosmetic change to enable tools like gcov, gdb,
callgrind, etc. to better display involved source code.
Reviewed-by: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com >
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com >
Message-Id: <20200518200920.17344-2-aleksandar.qemu.devel@gmail.com >
2020-06-09 17:32:45 +02:00
Philippe Mathieu-Daudé
86e8c353f7
target/sparc/int32_helper: Extract and use excp_name_str()
...
Improve exception error report:
Before:
qemu: fatal: Trap 0x06 while interrupts disabled, Error state
After:
qemu: fatal: Trap 0x06 (Window Underflow) while interrupts disabled, Error state
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: KONRAD Frederic <frederic.konrad@adacore.com >
Message-Id: <20200331105048.27989-8-f4bug@amsat.org >
2020-06-09 09:21:10 +02:00
Philippe Mathieu-Daudé
304c1c8aa5
target/sparc/int32_helper: Remove DEBUG_PCALL definition
...
We define DEBUG_PCALL since b884fc5e (2012-10-06).
7.5 years later it is safe to assume we can remove it :)
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: KONRAD Frederic <frederic.konrad@adacore.com >
Message-Id: <20200331105048.27989-7-f4bug@amsat.org >
2020-06-09 09:21:10 +02:00
Peter Maydell
49ee115552
Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.1-pull-request' into staging
...
linux-user pull request 20200605-v2
Implement F_OFD_ fcntl() command, /proc/cpuinfo for hppa
Fix socket(), prnctl() error codes, underflow in target_mremap,
epoll_create() strace, oldumount for alpha
User-mode build dependencies improvement
# gpg: Signature made Sat 06 Jun 2020 14:15:36 BST
# gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg: issuer "laurent@vivier.eu "
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com >" [full]
# gpg: aka "Laurent Vivier <laurent@vivier.eu >" [full]
# gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com >" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* remotes/vivier2/tags/linux-user-for-5.1-pull-request:
stubs: Restrict ui/win32-kbd-hook to system-mode
hw/core: Restrict CpuClass::get_crash_info() to system-mode
target/s390x: Restrict CpuClass::get_crash_info() to system-mode
target/i386: Restrict CpuClass::get_crash_info() to system-mode
arch_init: Remove unused 'qapi-commands-misc.h' include
exec: Assert CPU migration is not used on user-only build
target/riscv/cpu: Restrict CPU migration to system-mode
stubs/Makefile: Reduce the user-mode object list
util/Makefile: Reduce the user-mode object list
tests/Makefile: Restrict some softmmu-only tests
tests/Makefile: Only display TCG-related tests when TCG is available
configure: Avoid building TCG when not needed
Makefile: Only build virtiofsd if system-mode is enabled
linux-user: implement OFD locks
linux-user/mmap.c: fix integer underflow in target_mremap
linux-user/strace.list: fix epoll_create{,1} -strace output
linux-user: Add support for /proc/cpuinfo on hppa platform
linux-user: return target error codes for socket() and prctl()
linux-user, alpha: fix oldumount syscall
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-08 11:04:57 +01:00
Peter Maydell
5a922419fe
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200605' into staging
...
target-arm queue:
hw/ssi/imx_spi: Handle tx burst lengths other than 8 correctly
hw/input/pxa2xx_keypad: Replace hw_error() by qemu_log_mask()
hw/arm/pxa2xx: Replace printf() call by qemu_log_mask()
target/arm: Convert crypto insns to gvec
hw/adc/stm32f2xx_adc: Correct memory region size and access size
tests/acceptance: Add a boot test for the xlnx-versal-virt machine
docs/system: Document Aspeed boards
raspi: Add model of the USB controller
target/arm: Convert 2-reg-and-shift and 1-reg-imm Neon insns to decodetree
# gpg: Signature made Fri 05 Jun 2020 17:48:39 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-20200605: (29 commits)
target/arm: Convert Neon one-register-and-immediate insns to decodetree
target/arm: Convert VCVT fixed-point ops to decodetree
target/arm: Convert Neon VSHLL, VMOVL to decodetree
target/arm: Convert Neon narrowing shifts with op==9 to decodetree
target/arm: Convert Neon narrowing shifts with op==8 to decodetree
target/arm: Convert VQSHLU, VQSHL 2-reg-shift insns to decodetree
target/arm: Convert Neon VSRA, VSRI, VRSHR, VRSRA 2-reg-shift insns to decodetree
target/arm: Convert Neon VSHR 2-reg-shift insns to decodetree
target/arm: Convert Neon VSHL and VSLI 2-reg-shift insn to decodetree
raspi2 acceptance test: add test for dwc-hsotg (dwc2) USB host
wire in the dwc-hsotg (dwc2) USB host controller emulation
usb: add short-packet handling to usb-storage driver
dwc-hsotg (dwc2) USB host controller emulation
dwc-hsotg (dwc2) USB host controller state definitions
dwc-hsotg (dwc2) USB host controller register definitions
raspi: add BCM2835 SOC MPHI emulation
docs/system: Document Aspeed boards
tests/acceptance: Add a boot test for the xlnx-versal-virt machine
hw/adc/stm32f2xx_adc: Correct memory region size and access size
target/arm: Split helper_crypto_sm3tt
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-05 23:31:31 +01:00
Philippe Mathieu-Daudé
6b4bf66e33
target/s390x: Restrict CpuClass::get_crash_info() to system-mode
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Cornelia Huck <cohuck@redhat.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Tested-by: Laurent Vivier <laurent@vivier.eu >
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20200522172510.25784-12-philmd@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-06-05 21:23:22 +02:00
Philippe Mathieu-Daudé
b75c990080
target/i386: Restrict CpuClass::get_crash_info() to system-mode
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Tested-by: Laurent Vivier <laurent@vivier.eu >
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20200522172510.25784-11-philmd@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-06-05 21:23:22 +02:00
Philippe Mathieu-Daudé
0c4e99317a
target/riscv/cpu: Restrict CPU migration to system-mode
...
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Tested-by: Laurent Vivier <laurent@vivier.eu >
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20200522172510.25784-8-philmd@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2020-06-05 21:23:22 +02:00
Peter Maydell
2c35a39eda
target/arm: Convert Neon one-register-and-immediate insns to decodetree
...
Convert the insns in the one-register-and-immediate group to decodetree.
In the new decode, our asimd_imm_const() function returns a 64-bit value
rather than a 32-bit one, which means we don't need to treat cmode=14 op=1
as a special case in the decoder (it is the only encoding where the two
halves of the 64-bit value are different).
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-10-peter.maydell@linaro.org
2020-06-05 17:23:10 +01:00
Peter Maydell
3da26f1171
target/arm: Convert VCVT fixed-point ops to decodetree
...
Convert the VCVT fixed-point conversion operations in the
Neon 2-regs-and-shift group to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-9-peter.maydell@linaro.org
2020-06-05 17:23:10 +01:00
Peter Maydell
968bf84274
target/arm: Convert Neon VSHLL, VMOVL to decodetree
...
Convert the VSHLL and VMOVL insns from the 2-reg-shift group
to decodetree. Since the loop always has two passes, we unroll
it to avoid the awkward reassignment of one TCGv to another.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-8-peter.maydell@linaro.org
2020-06-05 17:23:10 +01:00
Peter Maydell
b4a3a77bb7
target/arm: Convert Neon narrowing shifts with op==9 to decodetree
...
Convert the remaining Neon narrowing shifts to decodetree:
* VQSHRN
* VQRSHRN
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-7-peter.maydell@linaro.org
2020-06-05 17:23:10 +01:00
Peter Maydell
712182d340
target/arm: Convert Neon narrowing shifts with op==8 to decodetree
...
Convert the Neon narrowing shifts where op==8 to decodetree:
* VSHRN
* VRSHRN
* VQSHRUN
* VQRSHRUN
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-6-peter.maydell@linaro.org
2020-06-05 17:23:10 +01:00
Peter Maydell
37bfce81b1
target/arm: Convert VQSHLU, VQSHL 2-reg-shift insns to decodetree
...
Convert the VQSHLU and QVSHL 2-reg-shift insns to decodetree.
These are the last of the simple shift-by-immediate insns.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-5-peter.maydell@linaro.org
2020-06-05 17:23:10 +01:00
Peter Maydell
434f71ef96
target/arm: Convert Neon VSRA, VSRI, VRSHR, VRSRA 2-reg-shift insns to decodetree
...
Convert the VSRA, VSRI, VRSHR, VRSRA 2-reg-shift insns to decodetree.
(These are the last instructions in the group that are vectorized;
the rest all require looping over each element.)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-4-peter.maydell@linaro.org
2020-06-05 17:23:10 +01:00
Peter Maydell
66432d6b82
target/arm: Convert Neon VSHR 2-reg-shift insns to decodetree
...
Convert the VSHR 2-reg-shift insns to decodetree.
Note that unlike the legacy decoder, we present the right shift
amount to the trans_ function as a positive integer.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-3-peter.maydell@linaro.org
2020-06-05 17:23:09 +01:00
Peter Maydell
d3c8c736f8
target/arm: Convert Neon VSHL and VSLI 2-reg-shift insn to decodetree
...
Convert the VSHL and VSLI insns from the Neon 2-registers-and-a-shift
group to decodetree.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200522145520.6778-2-peter.maydell@linaro.org
2020-06-05 17:23:09 +01:00
Richard Henderson
43fa36c96c
target/arm: Split helper_crypto_sm3tt
...
Rather than passing an opcode to a helper, fully decode the
operation at translate time. Use clear_tail_16 to zap the
balance of the SVE register with the AdvSIMD write.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200514212831.31248-7-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-05 17:23:09 +01:00
Richard Henderson
afc8b7d326
target/arm: Split helper_crypto_sha1_3reg
...
Rather than passing an opcode to a helper, fully decode the
operation at translate time. Use clear_tail_16 to zap the
balance of the SVE register with the AdvSIMD write.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200514212831.31248-6-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-05 17:23:09 +01:00
Richard Henderson
effa992f15
target/arm: Convert sha1 and sha256 to gvec helpers
...
Do not yet convert the helpers to loop over opr_sz, but the
descriptor allows the vector tail to be cleared. Which fixes
an existing bug vs SVE.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200514212831.31248-5-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-05 17:23:09 +01:00
Richard Henderson
aaffebd6d3
target/arm: Convert sha512 and sm3 to gvec helpers
...
Do not yet convert the helpers to loop over opr_sz, but the
descriptor allows the vector tail to be cleared. Which fixes
an existing bug vs SVE.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200514212831.31248-4-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-05 17:23:09 +01:00
Richard Henderson
1738860d7e
target/arm: Convert rax1 to gvec helpers
...
With this conversion, we will be able to use the same helpers
with sve. This also fixes a bug in which we failed to clear
the high bits of the SVE register after an AdvSIMD operation.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200514212831.31248-3-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-05 17:23:09 +01:00
Richard Henderson
a04b68e1d4
target/arm: Convert aes and sm4 to gvec helpers
...
With this conversion, we will be able to use the same helpers
with sve. In particular, pass 3 vector parameters for the
3-operand operations; for advsimd the destination register
is also an input.
This also fixes a bug in which we failed to clear the high bits
of the SVE register after an AdvSIMD operation.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200514212831.31248-2-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-06-05 17:23:09 +01:00
Philippe Mathieu-Daudé
c44d26a234
target/s390x: Restrict system-mode declarations
...
As these declarations are restricted to !CONFIG_USER_ONLY in
helper.c, only declare them when system-mode emulation is used.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Cornelia Huck <cohuck@redhat.com >
Message-Id: <20200526172427.17460-8-f4bug@amsat.org >
Signed-off-by: Cornelia Huck <cohuck@redhat.com >
2020-06-05 17:13:11 +02:00
Philippe Mathieu-Daudé
8c4b4e3763
target/s390x/helper: Clean ifdef'ry
...
All this code is guarded checking CONFIG_USER_ONLY definition.
Drop the duplicated checks.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Reviewed-by: Cornelia Huck <cohuck@redhat.com >
Message-Id: <20200526172427.17460-7-f4bug@amsat.org >
Signed-off-by: Cornelia Huck <cohuck@redhat.com >
2020-06-05 17:13:11 +02:00
Philippe Mathieu-Daudé
d64c1bd6ca
target/s390x: Only compile decode_basedisp() on system-mode
...
The decode_basedisp*() methods are only used in ioinst.c,
which is only build in system-mode emulation.
I/O instructions are privileged, and other S instructions
are decoded elsewhere.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Cornelia Huck <cohuck@redhat.com >
Message-Id: <20200526172427.17460-6-f4bug@amsat.org >
Signed-off-by: Cornelia Huck <cohuck@redhat.com >
2020-06-05 17:13:11 +02:00
Christian Borntraeger
f555638c0e
s390x/kvm: help valgrind in several places
...
We need some little help in the code to reduce the valgrind noise.
This patch does this with some designated initializers for the cpu
model features and subfunctions.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20200429074201.100924-1-borntraeger@de.ibm.com >
Signed-off-by: Cornelia Huck <cohuck@redhat.com >
2020-06-05 17:13:11 +02:00
Philippe Mathieu-Daudé
4dfe59d187
memory: Rename memory_region_do_writeback -> memory_region_writeback
...
We usually use '_do_' for internal functions. Rename
memory_region_do_writeback() as memory_region_writeback().
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Acked-by: Paolo Bonzini <pbonzini@redhat.com >
Message-id: 20200508062456.23344-2-philmd@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2020-06-05 09:54:48 +01:00
Alistair Francis
36b80ad99f
target/riscv: Add the lowRISC Ibex CPU
...
Ibex is a small and efficient, 32-bit, in-order RISC-V core with
a 2-stage pipeline that implements the RV32IMC instruction set
architecture.
For more details on lowRISC see here:
https://github.com/lowRISC/ibex
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Bin Meng <bin.meng@windriver.com >
Reviewed-by: LIU Zhiwei <zhiwei_liu@c-sky.com >
2020-06-03 09:11:51 -07:00