- Jan 21, 2022
-
-
John Snow authored
asyncio can complain *very* loudly if you forget to back out of things gracefully before the garbage collector starts destroying objects that contain live references to asyncio Tasks. The usual fix is just to remember to call aqmp.disconnect(), but for the sake of the legacy wrapper and quick, one-off scripts where a graceful shutdown is not necessarily of paramount imporance, add a courtesy cleanup that will trigger prior to seeing screenfuls of confusing asyncio tracebacks. Note that we can't *always* save you from yourself; depending on when the GC runs, you might just seriously be out of luck. The best we can do in this case is to gently remind you to clean up after yourself. (Still much better than multiple pages of incomprehensible python warnings for the crime of forgetting to put your toys away.) Signed-off-by:
John Snow <jsnow@redhat.com> Reviewed-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by:
Beraldo Leal <bleal@redhat.com>
-
John Snow authored
Reported-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by:
John Snow <jsnow@redhat.com> Reviewed-by:
Beraldo Leal <bleal@redhat.com>
-
John Snow authored
The old legacy runner no longer seems to work with output logging, so we can't see failure logs when a test case fails. The new runner doesn't (seem to) support Coverage.py yet, but seeing error output is a more important feature. Signed-off-by:
John Snow <jsnow@redhat.com> Reviewed-by:
Beraldo Leal <bleal@redhat.com> Message-id: 20220119193916.4138217-3-jsnow@redhat.com Signed-off-by:
John Snow <jsnow@redhat.com>
-
John Snow authored
setuptools is a package that replaces the python stdlib 'distutils'. It is generally installed by all venv-creating tools "by default". It isn't actually needed at runtime for the qemu package, so our own setup.cfg does not mention it as a dependency. However, tox will create virtual environments that include it, and will upgrade it to the very latest version. the 'venv' tool will also include whichever version your host system happens to have. Unfortunately, setuptools version 60.0.0 and above include a hack to forcibly overwrite python's built-in distutils. The pylint tool that we use to run code analysis checks on this package relies on distutils and suffers regressions when setuptools >= 60.0.0 is present at all, see https://github.com/PyCQA/pylint/issues/5704 Instruct tox and the 'check-dev' targets to avoid setuptools packages that are too new, for now. Pipenv is unaffected, because setuptools 60 does not offer Python 3.6 support, and our pipenv config is pinned against Python 3.6. Signed-off-by:
John Snow <jsnow@redhat.com> Reviewed-by:
Beraldo Leal <bleal@redhat.com> Reviewed-by:
Cleber Rosa <crosa@redhat.com> Tested-by:
Cleber Rosa <crosa@redhat.com> Message-id: 20220121005221.142236-1-jsnow@redhat.com Signed-off-by:
John Snow <jsnow@redhat.com>
-
Peter Maydell authored
Third RISC-V PR for QEMU 7.0 * Fixes for OpenTitan timer * Correction of OpenTitan PLIC stride length * RISC-V KVM support * Device tree code cleanup * Support for the Zve64f and Zve32f extensions * OpenSBI binary loading support for the Spike machine * Removal of OpenSBI ELFs * Support for the UXL field in xstatus # gpg: Signature made Fri 21 Jan 2022 05:57:09 GMT # gpg: using RSA key F6C4AC46D4934868D3B8CE8F21E10D29DF977054 # gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [full] # Primary key fingerprint: F6C4 AC46 D493 4868 D3B8 CE8F 21E1 0D29 DF97 7054 * remotes/alistair/tags/pull-riscv-to-apply-20220121-1: (61 commits) target/riscv: Relax UXL field for debugging target/riscv: Enable uxl field write target/riscv: Set default XLEN for hypervisor target/riscv: Adjust scalar reg in vector with XLEN target/riscv: Adjust vector address with mask target/riscv: Fix check range for first fault only target/riscv: Remove VILL field in VTYPE target/riscv: Adjust vsetvl according to XLEN target/riscv: Split out the vill from vtype target/riscv: Split pm_enabled into mask and base target/riscv: Calculate address according to XLEN target/riscv: Alloc tcg global for cur_pm[mask|base] target/riscv: Create current pm fields in env target/riscv: Adjust csr write mask with XLEN target/riscv: Relax debug check for pm write target/riscv: Use gdb xml according to max mxlen target/riscv: Extend pc for runtime pc write target/riscv: Ignore the pc bits above XLEN target/riscv: Create xl field in env target/riscv: Sign extend pc for different XLEN ... Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-24-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-23-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
When swap regs for hypervisor, the value of vsstatus or mstatus_hs should have the right XLEN. Otherwise, it will propagate to mstatus. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-22-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
When sew <= 32bits, not need to extend scalar reg. When sew > 32bits, if xlen is less that sew, we should sign extend the scalar register, except explicitly specified by the spec. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-21-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
The mask comes from the pointer masking extension, or the max value corresponding to XLEN bits. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Acked-by:
Alistair Francis <alistair.francis@wdc.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Message-id: 20220120122050.41546-20-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Only check the range that has passed the address translation. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-19-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Acked-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-18-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-17-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
We need not specially process vtype when XLEN changes. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-16-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Use cached cur_pmmask and cur_pmbase to infer the current PM mode. This may decrease the TCG IR by one when pm_enabled is true and pm_base_enabled is false. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-15-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Define one common function to compute a canonical address from a register plus offset. Merge gen_pm_adjust_address into this function. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-14-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Replace the array of pm_mask/pm_base with scalar variables. Remove the cached array value in DisasContext. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-13-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Message-id: 20220120122050.41546-12-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Write mask is representing the bits we care about. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-11-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-10-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-9-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
In some cases, we must restore the guest PC to the address of the start of the TB, such as when the instruction counter hits zero. So extend pc register according to current xlen for these cases. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-8-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
The read from PC for translation is in cpu_get_tb_cpu_state, before translation. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-7-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Current xlen has been used in helper functions and many other places. The computation of current xlen is not so trivial, so that we should recompute it as little as possible. Fortunately, xlen only changes in very seldom cases, such as exception, misa write, mstatus write, cpu reset, migration load. So that we can only recompute xlen in this places and cache it into CPURISCVState. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-6-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
When pc is written, it is sign-extended to fill the widest supported XLEN. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-5-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-4-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
As pc will be written by the xepc in exception return, just ignore pc in translation. Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-3-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
LIU Zhiwei authored
Signed-off-by:
LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220120122050.41546-2-zhiwei_liu@c-sky.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Anup Patel authored
Now that all RISC-V machines can use OpenSBI BIN images, we remove OpenSBI ELF images and also exclude these images from BIOS build. Signed-off-by:
Anup Patel <apatel@ventanamicro.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Anup Patel authored
Now that RISC-V Spike machine can use BIN BIOS images, we remove the macros used for ELF BIOS image names. Signed-off-by:
Anup Patel <apatel@ventanamicro.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Anup Patel authored
Currently, we have to use OpenSBI firmware ELF as bios for the spike machine because the HTIF console requires ELF for parsing "fromhost" and "tohost" symbols. The latest OpenSBI can now optionally pick-up HTIF register address from HTIF DT node so using this feature spike machine can now use OpenSBI firmware BIN as bios. Signed-off-by:
Anup Patel <apatel@ventanamicro.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-18-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Vector narrowing conversion instructions are provided to and from all supported integer EEWs for Zve32f extension. Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-17-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Vector widening conversion instructions are provided to and from all supported integer EEWs for Zve32f extension. Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-16-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Vector single-width floating-point reduction operations for EEW=32 are supported for Zve32f extension. Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-15-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Zve32f extension requires the scalar processor to implement the F extension and implement all vector floating-point instructions for floating-point operands with EEW=32 (i.e., no widening floating-point operations). Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-14-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
All Zve* extensions support the vector configuration instructions. Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-13-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-12-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-11-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-
Frank Chang authored
Vector narrowing conversion instructions are provided to and from all supported integer EEWs for Zve64f extension. Signed-off-by:
Frank Chang <frank.chang@sifive.com> Reviewed-by:
Alistair Francis <alistair.francis@wdc.com> Message-id: 20220118014522.13613-10-frank.chang@sifive.com Signed-off-by:
Alistair Francis <alistair.francis@wdc.com>
-