Re: minimal "zero conf" build dockerfiles for fedora:latest and alpine:latest

2021-01-12 Thread Thomas Huth
On 12/01/2021 23.37, John Snow wrote: I wanted to know what the minimal setup required was to replicate the compilation instructions featured on https://www.qemu.org/download/#source [...] > pixman-devel \ pixman is only required for the softmmu and tools targets. If you just build the li

Ping: [PATCH v2 0/5] Fix some style problems in contrib

2021-01-12 Thread zhouyang (T)
Hi Peter, Friendly ping again, It's been more than a month since I submitted the patch,did I miss any response? On 2020/12/31 10:26, zhouyang (T) wrote: > kindly ping > > On 2020/12/17 11:44, zhouyang (T) wrote: >> kindly ping >> >>> v1 -> v2: >>> Changed the "From:" and "Signed-off-by:" lines

Re: [PATCH v6 13/13] s390: Recognize confidential-guest-support option

2021-01-12 Thread Christian Borntraeger
On 13.01.21 01:57, David Gibson wrote: > On Tue, Jan 12, 2021 at 12:36:07PM +0100, Cornelia Huck wrote: > 65;6201;1c> On Tue, 12 Jan 2021 09:15:26 +0100 >> Christian Borntraeger wrote: >> >>> On 12.01.21 05:45, David Gibson wrote: At least some s390 cpu models support "Protected Virtualiza

Re: [PATCH 2/9] configure: Add sys/timex.h to probe clk_adjtime

2021-01-12 Thread Thomas Huth
In the subject: s/clk_adjtime/clock_adjtime/ On 21/12/2020 01.53, Jiaxun Yang wrote: It is not a part of standard time.h. Glibc put it under time.h however musl treat it as a sys timex extension. Signed-off-by: Jiaxun Yang --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a

Re: [PATCH 3/9] configure/meson: Only check sys/signal.h on non-Linux

2021-01-12 Thread Thomas Huth
On 21/12/2020 01.53, Jiaxun Yang wrote: signal.h is equlevant of sys/signal.h on Linux, musl would complain wrong usage of sys/signal.h. In file included from /builds/FlyGoat/qemu/include/qemu/osdep.h:108, from ../tests/qemu-iotests/socket_scm_helper.c:13: /usr/include/sys/sign

Re: [PATCH 4/9] libvhost-user: Include poll.h instead of sys/poll.h

2021-01-12 Thread Thomas Huth
On 21/12/2020 01.53, Jiaxun Yang wrote: Musl libc complains about it's wrong usage. In file included from ../subprojects/libvhost-user/libvhost-user.h:20, from ../subprojects/libvhost-user/libvhost-user-glib.h:19, from ../subprojects/libvhost-user/libvhost-use

Re: [PATCH] crypto: Fix some code style problems, add spaces around operator

2021-01-12 Thread shiliyang
Kindly ping. This patch still not on the master branch. Please take it on your tree. Thanks. On 2020/12/7 18:10, Philippe Mathieu-Daudé wrote: > On 12/7/20 9:37 AM, shiliyang wrote: >> This patch fixes error style problems found by checkpatch.pl: >> ERROR: spaces required around that '*' >> ERROR

[RFC v4 00/16] support subsets of bitmanip extension

2021-01-12 Thread frank . chang
From: Frank Chang This patchset implements RISC-V B-extension 0.93 version Zbb, Zbs and Zba subset instructions. Some Zbp instructions are also implemented as they have similar behavior with their Zbb-, Zbs- and Zba-family instructions or for Zbb pseudo instructions (e.g. rev8, orc.b). Specifica

[RFC v4 04/16] target/riscv: rvb: logic-with-negate

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 4 target/riscv/insn_trans/trans_rvb.c.inc | 18 ++ 2 files changed, 22 insertions(+) diff --git a/target/riscv/insn32.deco

[RFC v4 02/16] target/riscv: rvb: count leading/trailing zeros

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32-64.decode | 4 +++ target/riscv/insn32.decode | 7 +++- target/riscv/insn_trans/trans_rvb.c.inc | 47 + target/riscv/tr

[RFC v4 01/16] target/riscv: reformat @sh format encoding for B-extension

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index 84080dd18ca..3823b3e

[RFC v4 05/16] target/riscv: rvb: pack two words into one register

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32-64.decode | 3 ++ target/riscv/insn32.decode | 3 ++ target/riscv/insn_trans/trans_rvb.c.inc | 30 +++ target/riscv/translate.c

[RFC v4 09/16] target/riscv: rvb: single-bit instructions

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32-64.decode | 8 +++ target/riscv/insn32.decode | 9 +++ target/riscv/insn_trans/trans_rvb.c.inc | 90 + target/riscv/tra

[RFC v4 03/16] target/riscv: rvb: count bits set

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Kito Cheng Reviewed-by: Richard Henderson Signed-off-by: Frank Chang --- target/riscv/insn32-64.decode | 1 + target/riscv/insn32.decode | 1 + target/riscv/insn_trans/trans_rvb.c.inc | 12 target/riscv/translate.c

[RFC v4 14/16] target/riscv: rvb: address calculation

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32-64.decode | 3 +++ target/riscv/insn32.decode | 3 +++ target/riscv/insn_trans/trans_rvb.c.inc | 23 ++ target/riscv/translate.

[RFC v4 12/16] target/riscv: rvb: generalized reverse

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/bitmanip_helper.c | 71 + target/riscv/helper.h | 7 +++ target/riscv/insn32-64.decode | 2 + target/riscv/insn32.decode | 2

[RFC v4 06/16] target/riscv: rvb: min/max instructions

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Reviewed-by: Richard Henderson Signed-off-by: Frank Chang --- target/riscv/insn32.decode | 4 target/riscv/insn_trans/trans_rvb.c.inc | 24 2 files changed, 28 insertions(+) diff --git a/target/riscv/insn3

[RFC v4 13/16] target/riscv: rvb: generalized or-combine

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/bitmanip_helper.c | 31 + target/riscv/helper.h | 2 ++ target/riscv/insn32-64.decode | 2 ++ target/riscv/insn32.decode | 2

[RFC v4 07/16] target/riscv: rvb: sign-extend instructions

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Reviewed-by: Richard Henderson Signed-off-by: Frank Chang --- target/riscv/insn32.decode | 2 ++ target/riscv/insn_trans/trans_rvb.c.inc | 12 2 files changed, 14 insertions(+) diff --git a/target/riscv/insn32.decode b/tar

[RFC v4 16/16] target/riscv: rvb: support and turn on B-extension from command line

2021-01-12 Thread frank . chang
From: Kito Cheng B-extension is default off, use cpu rv32 or rv64 with x-b=true to enable B-extension. Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Alistair Francis Reviewed-by: Richard Henderson --- target/riscv/cpu.c | 4 target/riscv/cpu.h | 2 ++ 2 files change

[RFC v4 08/16] target/riscv: add gen_shifti() and gen_shiftiw() helper functions

2021-01-12 Thread frank . chang
From: Frank Chang Add gen_shifti() and gen_shiftiw() helper functions to reuse the same interfaces for immediate shift instructions. Signed-off-by: Frank Chang --- target/riscv/insn_trans/trans_rvi.c.inc | 54 ++--- target/riscv/translate.c| 43 +

Re: [PATCH 7/9] accel/kvm: avoid using predefined PAGE_SIZE

2021-01-12 Thread Thomas Huth
On 21/12/2020 01.53, Jiaxun Yang wrote: As per POSIX specification of limits.h [1], OS libc may define PAGE_SIZE in limits.h. To prevent collosion of definition, we discard PAGE_SIZE from defined by libc and take QEMU's variable. [1]: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.h

Re: [PATCH 5/9] elf2dmp: Rename PAGE_SIZE to ELF2DMP_PAGE_SIZE

2021-01-12 Thread Thomas Huth
On 21/12/2020 01.53, Jiaxun Yang wrote: As per POSIX specification of limits.h [1], OS libc may define PAGE_SIZE in limits.h. To prevent collosion of definition, we rename PAGE_SIZE here. [1]: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html Signed-off-by: Jiaxun Yang --- con

Re: [PATCH 8/9] tests: Rename PAGE_SIZE definitions

2021-01-12 Thread Thomas Huth
On 21/12/2020 01.53, Jiaxun Yang wrote: As per POSIX specification of limits.h [1], OS libc may define PAGE_SIZE in limits.h. Self defined PAGE_SIZE is frequently used in tests, to prevent collosion of definition, we give PAGE_SIZE definitons reasonable prefixs. [1]: https://pubs.opengroup.org/

[RFC v4 10/16] target/riscv: rvb: shift ones

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32-64.decode | 4 +++ target/riscv/insn32.decode | 4 +++ target/riscv/insn_trans/trans_rvb.c.inc | 48 + target/riscv/tra

Re: [PATCHv4 2/2] arm-virt: add secure pl061 for reset/power down

2021-01-12 Thread Maxim Uvarov
- the same size for secure and non secure gpio. Arm doc says that secure memory is also split on 4k pages. So one page here has to be ok. - will add dtb. - I think then less options is better. So I will remove vmc->secure_gpio flag and keep only vmc flag. Regards, Maxim. On Tue, 12 Jan 2021 at 19

[RFC v4 11/16] target/riscv: rvb: rotate (left/right)

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32-64.decode | 3 +++ target/riscv/insn32.decode | 3 +++ target/riscv/insn_trans/trans_rvb.c.inc | 36 + target/riscv/tra

[RFC v4 15/16] target/riscv: rvb: add/shift with prefix zero-extend

2021-01-12 Thread frank . chang
From: Kito Cheng Signed-off-by: Kito Cheng Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32-64.decode | 3 +++ target/riscv/insn_trans/trans_rvb.c.inc | 22 ++ target/riscv/translate.c| 6 ++ 3 files changed,

Re: [PATCH 6/9] hw/block/nand: Rename PAGE_SIZE to NAND_PAGE_SIZE

2021-01-12 Thread Thomas Huth
On 21/12/2020 01.53, Jiaxun Yang wrote: As per POSIX specification of limits.h [1], OS libc may define PAGE_SIZE in limits.h. To prevent collosion of definition, we rename PAGE_SIZE here. [1]: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html Signed-off-by: Jiaxun Yang --- hw/

Re: absolute firmware path made relocatable in qemu 5.2.0

2021-01-12 Thread Dave
This is my qemu binary compiled with --prefix=/nonexistent bash-5.1# ./qemu-system-x86_64 -L help /usr/share/qemu /usr/share/qemu-firmware /usr/src/sources/qemu-5.2.0/build/pc-bios bash-5.1# ./qemu-system-x86_64 --help|grep helper [,br=bridge][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][

Re: [RFC PATCH v6 00/11] hw/ssi: imx_spi: Fix various bugs in the imx_spi model

2021-01-12 Thread Philippe Mathieu-Daudé
Hi Ben, On 1/13/21 4:29 AM, Bin Meng wrote: > On Wed, Jan 13, 2021 at 2:35 AM Philippe Mathieu-Daudé > wrote: >> >> Hi, >> >> As it is sometimes harder for me to express myself in plain >> English, I found it easier to write the patches I was thinking >> about. I know this doesn't scale. >> >> S

Re: [PATCH 5/6] pc-bios: update mirror URLs to GitLab

2021-01-12 Thread Thomas Huth
On 11/01/2021 12.50, Stefan Hajnoczi wrote: qemu.org is running out of bandwidth and the QEMU project is moving towards a gating CI on GitLab. Use the GitLab repos instead of qemu.org (they will become mirrors). Signed-off-by: Stefan Hajnoczi --- pc-bios/README | 4 ++-- 1 file changed, 2 in

Re: [PATCH 6/6] get_maintainer: update repo URL to GitLab

2021-01-12 Thread Thomas Huth
On 11/01/2021 12.50, Stefan Hajnoczi wrote: qemu.org is running out of bandwidth and the QEMU project is moving towards a gating CI on GitLab. Use the GitLab repos instead of qemu.org (they will become mirrors). Signed-off-by: Stefan Hajnoczi --- scripts/get_maintainer.pl | 2 +- 1 file chan

Re: [PATCH v6 13/13] s390: Recognize confidential-guest-support option

2021-01-12 Thread Christian Borntraeger
On 12.01.21 05:45, David Gibson wrote: > At least some s390 cpu models support "Protected Virtualization" (PV), > a mechanism to protect guests from eavesdropping by a compromised > hypervisor. > > This is similar in function to other mechanisms like AMD's SEV and > POWER's PEF, which are contr

Re: [PATCH v3 4/5] tests/tcg/s390x: Fix EXRL tests

2021-01-12 Thread Thomas Huth
On 12/01/2021 08.47, David Hildenbrand wrote: Am 12.01.2021 um 08:41 schrieb Thomas Huth : On 11/01/2021 17.38, David Hildenbrand wrote: The current EXRL tests crash on real machines: we must not use r0 as a base register for trt/trtr, otherwise the content gets ignored. Also, we must not us

Re: [for-6.0 v5 11/13] spapr: PEF: prevent migration

2021-01-12 Thread Cornelia Huck
On Mon, 11 Jan 2021 11:58:30 -0800 Ram Pai wrote: > On Mon, Jan 11, 2021 at 05:59:14PM +0100, Cornelia Huck wrote: > > On Tue, 5 Jan 2021 12:41:25 -0800 > > Ram Pai wrote: > > > > > On Tue, Jan 05, 2021 at 11:56:14AM +0100, Halil Pasic wrote: > > > > On Mon, 4 Jan 2021 10:40:26 -0800 > > >

Re: [PATCH v2 0/3] Fix up sam460ex fixes

2021-01-12 Thread David Gibson
On Fri, Jan 08, 2021 at 11:07:38PM +0100, BALATON Zoltan wrote: > Accidentally the wrong version of this series was committed, this > series fixes that up to the last version that was meant to be merged. > This v2 is rebased on Peter's UIC series and clarifies commit message > of last patch. > > B

Re: [PATCH v6 10/13] spapr: Add PEF based confidential guest support

2021-01-12 Thread David Gibson
On Tue, Jan 12, 2021 at 08:56:53AM +0100, Christian Borntraeger wrote: > > > On 12.01.21 05:45, David Gibson wrote: > [...] > > diff --git a/include/hw/ppc/pef.h b/include/hw/ppc/pef.h > > new file mode 100644 > > index 00..7c92391177 > > --- /dev/null > > +++ b/include/hw/ppc/pef.h > > @

Re: [PATCH v2 2/2] s390x: Use strpadcpy for copying vm name

2021-01-12 Thread Thomas Huth
On 11/01/2021 18.09, Miroslav Rezanina wrote: When using strncpy with lenght equal to size of target array, s/lenght/length/ GCC 11 produce following warning: warning: '__builtin_strncpy' specified bound 256 equals destination size [-Wstringop-truncation] To prevent this warning, use s

[Bug 1911075] Re: [OSS-Fuzz] ahci: stack overflow in ahci_cond_start_engines

2021-01-12 Thread Thomas Huth
** Changed in: qemu Assignee: (unassigned) => John Snow (jnsnow) -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1911075 Title: [OSS-Fuzz] ahci: stack overflow in ahci_cond_start_engines Status

Re: [PATCH] cirrus.yml: Replace the hard-coded python-sphinx version with the generic one

2021-01-12 Thread Thomas Huth
On 11/01/2021 21.16, 罗勇刚(Yonggang Luo) wrote: On Mon, Jan 11, 2021 at 6:34 PM Thomas Huth > wrote: > > The mingw-w64-x86_64-python-sphinx-2.3.1 package has been removed from > the server, so the windows_msys2_task is currently failing. Replace the > old version wit

Re: What's the correct way to implement rfi and related instruction.

2021-01-12 Thread Cédric Le Goater
> QEMU 5.2.x, an e300 based machine ppc603 are impacted. > Here is my fix, narrowed down to  MSR_TGPR and  MSR_ILE > ``` > From 42ce41671f1e6c4dd44e6fb481bbda9df09320bd Mon Sep 17 00:00:00 2001 > From: Yonggang Luo mailto:luoyongg...@gmail.com>> > Date: Sun, 10 Jan 2021 00:08:00 -0800 > Subject: [P

Re: [RFC v6 08/11] accel: extend AccelState and AccelClass to user-mode

2021-01-12 Thread Claudio Fontana
On 1/11/21 7:43 PM, Claudio Fontana wrote: > Hi Richard, > > happy new year, > > this change of mine breaks with --enable-debug, after your changes related to > "splitrw" in tcg/, > I am a bit at a loss at what could be going wrong.. any hints? > > I am getting assertion failures with --enable-

Re: [RFC PATCH] Makefile: add GNU global tags support

2021-01-12 Thread Alex Bennée
Ben Widawsky writes: > On 21-01-08 22:30:59, Alex Bennée wrote: >> >> Ben Widawsky writes: >> >> > On 21-01-08 12:19:35, Alex Bennée wrote: >> >> GNU Global is another tags engine which is more like cscope in being >> >> able to support finding both references and definitions. You will be >>

Re: [PATCH] shippable.yml: Remove jobs duplicated on Gitlab-CI

2021-01-12 Thread Alex Bennée
Philippe Mathieu-Daudé writes: > The following jobs are duplicated on Gitlab-CI since commit > 6bcb5fc0f7a ("gitlab-ci: Add cross-compiling build tests"): Queued to testing/next, thanks. -- Alex Bennée

Re: [PATCH v6 05/35] Hexagon (disas) disassembler

2021-01-12 Thread Daniel P . Berrangé
On Mon, Jan 11, 2021 at 11:20:27PM +0100, Philippe Mathieu-Daudé wrote: > +Thomas/Daniel/Peter. > > On 1/11/21 10:14 PM, Taylor Simpson wrote: > >> -Original Message- > >> From: Qemu-devel >> bounces+tsimpson=quicinc@nongnu.org> On Behalf Of Philippe > >> Mathieu-Daudé > >> Sent: Satu

[PATCH v6 00/72] support vector extension v1.0

2021-01-12 Thread frank . chang
From: Frank Chang This patchset implements the vector extension v1.0 for RISC-V on QEMU. As vector extension specification is near to be ratified, this patchset is sent as formal patchset for review. The port is available here: https://github.com/sifive/qemu/tree/rvv-1.0-upstream-v6 You can ch

[PATCH v6 01/72] target/riscv: drop vector 0.7.1 and add 1.0 support

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson Reviewed-by: Alistair Francis --- target/riscv/cpu.c | 10 +- target/riscv/cpu.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 8227d7aea9

[PATCH v6 05/72] target/riscv: rvv-1.0: introduce writable misa.v field

2021-01-12 Thread frank . chang
From: Frank Chang Implementations may have a writable misa.v field. Analogous to the way in which the floating-point unit is handled, the mstatus.vs field may exist even if misa.v is clear. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/csr.c | 2 +- 1 file changed

[PATCH v6 09/72] target/riscv: rvv-1.0: add vlenb register

2021-01-12 Thread frank . chang
From: Greentime Hu Signed-off-by: Greentime Hu Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/cpu_bits.h | 1 + target/riscv/csr.c | 7 +++ 2 files changed, 8 insertions(+) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index 2538580a62a..

[PATCH v6 02/72] target/riscv: Use FIELD_EX32() to extract wd field

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/vector_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index a156573d281..bc3f212ceac 100644 --- a/target/riscv/

[PATCH v6 11/72] target/riscv: rvv-1.0: remove MLEN calculations

2021-01-12 Thread frank . chang
From: Frank Chang As in RVV 1.0 design, MLEN is hardcoded with value 1 (Section 4.5). Thus, remove all MLEN related calculations. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn_trans/trans_rvv.c.inc | 35 +--- target/riscv/internals.h| 9 +-

[PATCH v6 12/72] target/riscv: rvv-1.0: add fractional LMUL

2021-01-12 Thread frank . chang
From: Frank Chang Introduce the concepts of fractional LMUL for RVV 1.0. In RVV 1.0, LMUL bits are contiguous in vtype register. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/cpu.h | 17 + target/riscv/translate.c | 16 ++-

[PATCH v6 03/72] target/riscv: rvv-1.0: add mstatus VS field

2021-01-12 Thread frank . chang
From: LIU Zhiwei Signed-off-by: LIU Zhiwei Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/cpu.h| 7 +++ target/riscv/cpu_bits.h | 1 + target/riscv/cpu_helper.c | 15 ++- target/riscv/csr.c| 25 - 4 files

[PATCH v6 07/72] target/riscv: rvv-1.0: remove rvv related codes from fcsr registers

2021-01-12 Thread frank . chang
From: Frank Chang * Remove VXRM and VXSAT fields from FCSR register as they are only presented in VCSR register. * Remove RVV loose check in fs() predicate function. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/csr.c | 13 - 1 file changed, 13 delet

[PATCH v6 15/72] target/riscv: introduce more imm value modes in translator functions

2021-01-12 Thread frank . chang
From: Frank Chang Immediate value in translator function is extended not only zero-extended and sign-extended but with more modes to be applicable with multiple formats of vector instructions. * IMM_ZX: Zero-extended * IMM_SX: Sign-extended * IMM_TRUNC_SEW: Truncate to log(SEW)

[PATCH v6 04/72] target/riscv: rvv-1.0: add sstatus VS field

2021-01-12 Thread frank . chang
From: LIU Zhiwei Signed-off-by: LIU Zhiwei Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/cpu_bits.h | 1 + target/riscv/csr.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h index 82c48b7

[PATCH v6 14/72] target/riscv: rvv-1.0: update check functions

2021-01-12 Thread frank . chang
From: Frank Chang Update check functions with RVV 1.0 rules. Signed-off-by: Frank Chang --- target/riscv/insn_trans/trans_rvv.c.inc | 732 1 file changed, 499 insertions(+), 233 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_tra

[PATCH v6 08/72] target/riscv: rvv-1.0: add vcsr register

2021-01-12 Thread frank . chang
From: LIU Zhiwei Signed-off-by: LIU Zhiwei Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/cpu_bits.h | 7 +++ target/riscv/csr.c | 21 + 2 files changed, 28 insertions(+) diff --git a/target/riscv/cpu_bits.h b/target/riscv/cpu_bits.h

[PATCH v6 19/72] target/riscv: rvv-1.0: index load and store instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang --- target/riscv/helper.h | 67 target/riscv/insn32.decode | 21 ++- target/riscv/insn_trans/trans_rvv.c.inc | 209 target/riscv/vector_helper.c| 89 +- 4 files c

[PATCH v6 16/72] target/riscv: rvv:1.0: add translation-time nan-box helper function

2021-01-12 Thread frank . chang
From: Frank Chang * Add fp16 nan-box check generator function, if a 16-bit input is not properly nanboxed, then the input is replaced with the default qnan. * Add do_nanbox() helper function to utilize gen_check_nanbox_X() to generate the NaN-boxed floating-point values based on SEW setting.

[PATCH v6 21/72] target/riscv: rvv-1.0: fault-only-first unit stride load

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/helper.h | 27 +++- target/riscv/insn32.decode | 14 +++ target/riscv/insn_trans/trans_rvv.c.inc | 33 --- target/riscv/vector_helper.c

[PATCH v6 20/72] target/riscv: rvv-1.0: fix address index overflow bug of indexed load/store insns

2021-01-12 Thread frank . chang
From: Frank Chang Replace ETYPE from signed int to unsigned int to prevent index overflow issue, which would lead to wrong index address. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/vector_helper.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) d

[PATCH v6 06/72] target/riscv: rvv-1.0: add translation-time vector context status

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: LIU Zhiwei Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn_trans/trans_rvv.c.inc | 69 - target/riscv/translate.c| 33 2 files changed, 90 insertions(+), 12 deletions(-) diff

[PATCH v6 22/72] target/riscv: rvv-1.0: amo operations

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang --- target/riscv/helper.h | 100 +++--- target/riscv/insn32-64.decode | 18 +- target/riscv/insn32.decode | 36 +++- target/riscv/insn_trans/trans_rvv.c.inc | 229 +++ target/riscv/ve

[PATCH v6 24/72] target/riscv: rvv-1.0: update vext_max_elems() for load/store insns

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang --- target/riscv/insn_trans/trans_rvv.c.inc | 32 +++-- target/riscv/vector_helper.c| 90 ++--- 2 files changed, 74 insertions(+), 48 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/ris

[PATCH v6 23/72] target/riscv: rvv-1.0: load/store whole register instructions

2021-01-12 Thread frank . chang
From: Frank Chang Add the following instructions: * vlre.v * vsr.v Signed-off-by: Frank Chang --- target/riscv/helper.h | 21 target/riscv/insn32.decode | 22 target/riscv/insn_trans/trans_rvv.c.inc | 69 + target/riscv/

[PATCH v6 10/72] target/riscv: rvv-1.0: check MSTATUS_VS when accessing vector csr registers

2021-01-12 Thread frank . chang
From: Frank Chang If VS field is off, accessing vector csr registers should raise an illegal-instruction exception. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/csr.c | 5 + 1 file changed, 5 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c

[PATCH v6 25/72] target/riscv: rvv-1.0: take fractional LMUL into vector max elements calculation

2021-01-12 Thread frank . chang
From: Frank Chang Update vext_get_vlmax() and MAXSZ() to take fractional LMUL into calculation for RVV 1.0. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/cpu.h | 43 ++--- target/riscv/insn_trans/trans_rvv.c.inc | 12 ++

[PATCH v6 26/72] target/riscv: rvv-1.0: floating-point square-root instruction

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index e11666f16df..c0053cfb828 100644 --- a/target/riscv/insn32

[PATCH v6 27/72] target/riscv: rvv-1.0: floating-point classify instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index c0053cfb828..a0a47dbceb3 100644 --- a/target/riscv/insn32

[PATCH v6 17/72] target/riscv: rvv-1.0: configure instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn_trans/trans_rvv.c.inc | 53 + target/riscv/vector_helper.c| 14 ++- 2 files changed, 31 insertions(+), 36 deletions(-) diff --git a/target/riscv/insn_trans

[PATCH v6 31/72] target/riscv: rvv-1.0: iota instruction

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 2 +- target/riscv/insn_trans/trans_rvv.c.inc | 10 -- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/target/riscv/insn32.decode b/target/riscv/ins

[PATCH v6 32/72] target/riscv: rvv-1.0: element index instruction

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index fae5ea3fa63..a593938e5c8 100644 --- a/target/riscv/insn32

[PATCH v6 28/72] target/riscv: rvv-1.0: mask population count instruction

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/helper.h | 2 +- target/riscv/insn32.decode | 2 +- target/riscv/insn_trans/trans_rvv.c.inc | 7 --- target/riscv/vector_helper.c| 6 +++--- 4 files chang

[PATCH v6 18/72] target/riscv: rvv-1.0: stride load and store instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang --- target/riscv/helper.h | 129 +++--- target/riscv/insn32.decode | 43 +++-- target/riscv/insn_trans/trans_rvv.c.inc | 227 +++- target/riscv/vector_helper.c| 190 ++---

[PATCH v6 34/72] target/riscv: rvv-1.0: register gather instructions

2021-01-12 Thread frank . chang
From: Frank Chang * Add vrgatherei16.vv instruction. Signed-off-by: Frank Chang --- target/riscv/helper.h | 4 target/riscv/insn32.decode | 1 + target/riscv/insn_trans/trans_rvv.c.inc | 27 ++--- target/riscv/vector_helper.c

[PATCH v6 29/72] target/riscv: rvv-1.0: find-first-set mask bit instruction

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/helper.h | 2 +- target/riscv/insn32.decode | 2 +- target/riscv/insn_trans/trans_rvv.c.inc | 4 ++-- target/riscv/vector_helper.c| 6 +++--- 4 files changed,

[PATCH v6 44/72] target/riscv: rvv-1.0: widening integer multiply-add instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode index 022530697ec..8467dfc84b1 100644 --- a/target/riscv/

[PATCH v6 37/72] target/riscv: rvv-1.0: floating-point scalar move instructions

2021-01-12 Thread frank . chang
From: Frank Chang NaN-boxed the scalar floating-point register based on RVV 1.0's rules. Signed-off-by: Frank Chang --- target/riscv/insn32.decode | 4 +-- target/riscv/insn_trans/trans_rvv.c.inc | 39 + target/riscv/internals.h| 5 3

[PATCH v6 35/72] target/riscv: rvv-1.0: integer scalar move instructions

2021-01-12 Thread frank . chang
From: Frank Chang * Remove "vmv.s.x: dothing if rs1 == 0" constraint. * Add vmv.x.s instruction. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 3 +- target/riscv/insn_trans/trans_rvv.c.inc | 45 - 2 files chang

[PATCH v6 30/72] target/riscv: rvv-1.0: set-X-first mask bit instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn32.decode | 6 +++--- target/riscv/insn_trans/trans_rvv.c.inc | 5 - target/riscv/vector_helper.c| 4 3 files changed, 7 insertions(+), 8 deletions(-) diff --git

[PATCH v6 48/72] target/riscv: rvv-1.0: mask-register logical instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn_trans/trans_rvv.c.inc | 3 ++- target/riscv/vector_helper.c| 4 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/ri

[PATCH v6 36/72] target/riscv: rvv-1.0: floating-point move instruction

2021-01-12 Thread frank . chang
From: Frank Chang NaN-boxed the scalar floating-point register based on RVV 1.0's rules. Signed-off-by: Frank Chang --- target/riscv/insn_trans/trans_rvv.c.inc | 16 ++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/targe

[PATCH v6 41/72] target/riscv: rvv-1.0: single-width bit shift instructions

2021-01-12 Thread frank . chang
From: Frank Chang Truncate vsll.vi, vsrl.vi, vsra.vi's immediate values to lg2(SEW) bits. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn_trans/trans_rvv.c.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/riscv/insn_trans/tra

[PATCH v6 33/72] target/riscv: rvv-1.0: allow load element with sign-extended

2021-01-12 Thread frank . chang
From: Frank Chang For some vector instructions (e.g. vmv.s.x), the element is loaded with sign-extended. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn_trans/trans_rvv.c.inc | 32 + 1 file changed, 22 insertions(+), 10 deletions(-) dif

[PATCH v6 55/72] target/riscv: rvv-1.0: remove widening saturating scaled multiply-add

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/helper.h | 22 --- target/riscv/insn32.decode | 7 - target/riscv/insn_trans/trans_rvv.c.inc | 9 -- target/riscv/vector_helper.c| 205 --

[PATCH v6 58/72] target/riscv: rvv-1.0: floating-point min/max instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/vector_helper.c | 24 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index c5e65720120..e3056a06fe2

[PATCH v6 38/72] target/riscv: rvv-1.0: whole register move instructions

2021-01-12 Thread frank . chang
From: Frank Chang Add the following instructions: * vmv1r.v * vmv2r.v * vmv4r.v * vmv8r.v Signed-off-by: Frank Chang --- target/riscv/insn32.decode | 4 target/riscv/insn_trans/trans_rvv.c.inc | 25 + 2 files changed, 29 insertions(+) diff --git a/t

[PATCH v6 42/72] target/riscv: rvv-1.0: integer add-with-carry/subtract-with-borrow

2021-01-12 Thread frank . chang
From: Frank Chang * Only do carry-in or borrow-in if is masked (vm=0). * Remove clear function from helper functions as the tail elements are unchanged in RVV 1.0. Signed-off-by: Frank Chang --- target/riscv/insn32.decode | 20 ++-- target/riscv/insn_trans/trans_

[PATCH v6 61/72] target/riscv: rvv-1.0: widening floating-point/integer type-convert

2021-01-12 Thread frank . chang
From: Frank Chang Add the following instructions: * vfwcvt.rtz.xu.f.v * vfwcvt.rtz.x.f.v Also adjust GEN_OPFV_WIDEN_TRANS() to accept multiple floating-point rounding modes. Signed-off-by: Frank Chang --- target/riscv/helper.h | 2 + target/riscv/insn32.decode

[PATCH v6 39/72] target/riscv: rvv-1.0: integer extension instructions

2021-01-12 Thread frank . chang
From: Frank Chang Add the following instructions: * vzext.vf2 * vzext.vf4 * vzext.vf8 * vsext.vf2 * vsext.vf4 * vsext.vf8 Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/helper.h | 14 + target/riscv/insn32.decode | 8 +++ target

[PATCH] hw/block/nvme: fix zone write finalize

2021-01-12 Thread Klaus Jensen
From: Klaus Jensen The zone write pointer is unconditionally advanced, even for write faults. Make sure that the zone is always transitioned to Full if the write pointer reaches zone capacity. Signed-off-by: Klaus Jensen Cc: Dmitry Fomichev --- hw/block/nvme.c | 10 +- 1 file changed,

[PATCH v6 43/72] target/riscv: rvv-1.0: narrowing integer right shift instructions

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/helper.h | 24 ++-- target/riscv/insn32.decode | 12 +- target/riscv/insn_trans/trans_rvv.c.inc | 30 - target/riscv/vecto

[PATCH v6 59/72] target/riscv: introduce floating-point rounding mode enum

2021-01-12 Thread frank . chang
From: Frank Chang Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/fpu_helper.c | 12 ++-- target/riscv/insn_trans/trans_rvv.c.inc | 18 +- target/riscv/internals.h| 9 + 3 files changed, 24 insertions(+),

[PATCH v6 49/72] target/riscv: rvv-1.0: slide instructions

2021-01-12 Thread frank . chang
From: Frank Chang * Remove clear function from helper functions as the tail elements are unchanged in RVV 1.0. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/vector_helper.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/

[PATCH v6 46/72] target/riscv: rvv-1.0: integer comparison instructions

2021-01-12 Thread frank . chang
From: Frank Chang * Sign-extend vmselu.vi and vmsgtu.vi immediate values. * Remove "set tail elements to zeros" as tail elements can be unchanged for either VTA to have undisturbed or agnostic setting. Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/insn_trans/tra

[PATCH v6 40/72] target/riscv: rvv-1.0: single-width averaging add and subtract instructions

2021-01-12 Thread frank . chang
From: Frank Chang Add the following instructions: * vaaddu.vv * vaaddu.vx * vasubu.vv * vasubu.vx Remove the following instructions: * vadd.vi Signed-off-by: Frank Chang Reviewed-by: Richard Henderson --- target/riscv/helper.h | 16 ++ target/riscv/insn32.decode

[PATCH v6 66/72] target/riscv: rvv-1.0: trigger illegal instruction exception if frm is not valid

2021-01-12 Thread frank . chang
From: Frank Chang If the frm field contains an invalid rounding mode (101-111), attempting to execute any vector floating-point instruction, even those that do not depend on the rounding mode, will raise an illegal instruction exception. Call gen_set_rm() with DYN rounding mode to check and trig

[PATCH v6 50/72] target/riscv: rvv-1.0: floating-point slide instructions

2021-01-12 Thread frank . chang
From: Frank Chang Add the following instructions: * vfslide1up.vf * vfslide1down.vf Signed-off-by: Frank Chang --- target/riscv/helper.h | 7 ++ target/riscv/insn32.decode | 2 + target/riscv/insn_trans/trans_rvv.c.inc | 16 +++ target/riscv/vector_helper.c

  1   2   3   4   5   >