[PATCH] target/riscv: Implement PMU CSR predicate function for U-mode

2022-09-02 Thread Aurelien Jarno
Recently the Linux kernel started to use a non default value, for the scounteren CSR, which is ignored by QEMU. Fix that by implementing the PMU CSR predicate function for U-mode. Signed-off-by: Aurelien Jarno --- target/riscv/csr.c | 49 ++ 1 file

Re: [PATCH] target/riscv: Implement PMU CSR predicate function for U-mode

2022-09-02 Thread Aurelien Jarno
On 2022-09-02 18:46, Aurelien Jarno wrote: > Recently the Linux kernel started to use a non default value, for > the scounteren CSR, which is ignored by QEMU. Fix that by implementing > the PMU CSR predicate function for U-mode. > > Signed-off-by: Aurelien Jarno > --- > ta

[PATCH] MAINTAINERS: Remove myself from FPU emulation maintenance

2020-07-01 Thread Aurelien Jarno
Signed-off-by: Aurelien Jarno --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index dec252f38b..0535e043f0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -130,7 +130,6 @@ F: include/sysemu/cpus.h F: include/sysemu/tcg.h FPU emulation -M: Aurelien

Re: [PATCH v3 2/2] MAINTAINERS: Adjust MIPS maintainership

2020-07-01 Thread Aurelien Jarno
On 2020-07-01 20:55, Aurelien Jarno wrote: > NACK This NACK was because I find inacceptable to claim that you got not answer from Paul or from myself after very few time. Now about the content of the patch, QEMU used to be a fun ride, but it happens that interactions are now hurtful, especia

Re: [PATCH v3 0/5] hw/mips/malta: Add the 'malta-strict' machine, matching Malta hardware

2020-07-01 Thread Aurelien Jarno
Aleksandar, On 2020-07-01 20:51, Aleksandar Markovic wrote: > On Wed, Jul 1, 2020 at 7:39 PM Aurelien Jarno wrote: > > > > Aleksandar, > > > > On 2020-06-30 23:54, Aleksandar Markovic wrote: > > > As, in a very clear way, evidenced from the previous versio

Re: [PATCH v2 2/2] MAINTAINERS: Adjust MIPS maintainership

2020-07-01 Thread Aurelien Jarno
pointed out. However, I am still concerned by the way things happened. Regards, Aurelien On 2020-06-30 18:46, Aleksandar Markovic wrote: > Paul Burton and Aurelien Jarno removed for not being present. > > Huacai Chen and Jiaxun Yang step in as new energy. > > CC: Paul Burton

Re: [PATCH v3 2/2] MAINTAINERS: Adjust MIPS maintainership

2020-07-01 Thread Aurelien Jarno
NACK On 2020-07-01 20:25, Aleksandar Markovic wrote: > Paul Burton and Aurelien Jarno removed for not being present. > A polite email was sent to them with question whether they > intend to actively participate, but there was no response. I indeed received a polite email, but it was

Re: [PATCH v3 0/5] hw/mips/malta: Add the 'malta-strict' machine, matching Malta hardware

2020-07-01 Thread Aurelien Jarno
gt; > > Philippe Mathieu-Daudé (5): > > hw/mips/malta: Trivial code movement > > hw/mips/malta: Register the machine as a TypeInfo > > hw/mips/malta: Introduce MaltaMachineClass::max_ramsize > > hw/mips/malta: Introduce the 'malta-strict' machine > > hw

Re: [PATCH v2 3/8] MAINTAINERS: Mark SH4 TCG target orphan

2020-06-09 Thread Aurelien Jarno
On 2020-06-08 11:01, Philippe Mathieu-Daudé wrote: > Aurelien Jarno expressed his desire to orphan the SH4 target [*]: > > I don't mind being [...] removed from there. > I do not really have time to work on that. > > Mark the SH4 TCG target orphan. > > Many th

Re: [PATCH] MAINTAINERS: Volunteer for maintaining the Renesas hardware

2020-06-01 Thread Aurelien Jarno
S > index 0944d9c731..cbba3ac757 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -298,9 +298,7 @@ SH4 TCG CPUs > M: Aurelien Jarno > S: Odd Fixes > F: target/sh4/ > -F: hw/sh4/ > F: disas/sh4.c > -F: include/hw/sh4/ > > SPARC TCG CPUs > M: Mark Cave-Aylan

Re: [PATCH v1] mips/mips_malta: Allow more than 2G RAM

2020-03-23 Thread Aurelien Jarno
ducing a malta-5.0 machine restricted to > 1GB? In any case having an easy way to simulate machines with more than 2GB of RAM in QEMU would be great. Cheers, Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [PATCH 1/3] MAINTAINERS: Adjust maintainer's status for some MIPS items

2020-03-16 Thread Aurelien Jarno
iner's > duties for QEMU for MIPS items. Aurelien is though welcome to come > back at any time. Some empty spots caused by this are filled in by > Aleksandar. > > CC: Aurelien Jarno > Signed-off-by: Aleksandar Markovic > --- > MAINTAINERS | 8 +--- > 1 file chang

Re: [Qemu-devel] [PATCH v4 3/7] target/riscv: Create function to test if FP is enabled

2020-01-21 Thread Aurelien Jarno
Hi, On 2020-01-20 10:31, Alistair Francis wrote: > On Mon, Jan 6, 2020 at 2:59 AM Aurelien Jarno wrote: > > > > On 2020-01-05 17:36, Aurelien Jarno wrote: > > > > diff --git a/target/riscv/csr.c b/target/riscv/csr.c > > > > index e0d4586760..2789215b5e

Re: [Qemu-devel] [PATCH v4 3/7] target/riscv: Create function to test if FP is enabled

2020-01-05 Thread Aurelien Jarno
On 2020-01-05 17:36, Aurelien Jarno wrote: > > diff --git a/target/riscv/csr.c b/target/riscv/csr.c > > index e0d4586760..2789215b5e 100644 > > --- a/target/riscv/csr.c > > +++ b/target/riscv/csr.c > > [ snip ] > > > @@ -307,6 +307,7 @@ static int writ

Re: [Qemu-devel] [PATCH v4 3/7] target/riscv: Create function to test if FP is enabled

2020-01-05 Thread Aurelien Jarno
ATUS_FS) == MSTATUS_FS)) | -((mstatus & MSTATUS_XS) == MSTATUS_XS); +int dirty = ((mstatus & MSTATUS_FS) == MSTATUS_FS) | +((mstatus & MSTATUS_XS) == MSTATUS_XS); mstatus = set_field(mstatus, MSTATUS_SD, dirty); env->mstatus = mstatus; -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [PATCH-for-4.2] hw/mips: Deprecate the r4k machine

2019-11-25 Thread Aurelien Jarno
es changed, 7 insertions(+), 1 deletion(-) The Linux kernel support for this machine has been dropped more than 10 years ago in this commit: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=302922e5f6901eb6f29c58539631f71b3d9746b8 I therefore think it's time to also

Re: [PATCH 4/5] MAINTAINERS: Adjust maintainership for Malta board

2019-11-11 Thread Aurelien Jarno
tions(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 4a478f8..1a49381 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -941,8 +941,9 @@ F: hw/display/jazz_led.c > F: hw/dma/rc4030.c > > Malta > -M: Aurelien Jarno > -R: Aleksandar Rikalo > +M: Philippe Mathi

Re: [PATCH 5/5] MAINTAINERS: Adjust maintainership for R4000 systems

2019-11-11 Thread Aurelien Jarno
tions(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 1a49381..62e7d6d 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -957,8 +957,9 @@ F: hw/mips/mips_mipssim.c > F: hw/net/mipsnet.c > > R4000 > -M: Aurelien Jarno > -R: Aleksandar Rikalo > +M: Hervé Po

Re: [PATCH 4/5] MAINTAINERS: Adjust maintainership for Malta board

2019-11-11 Thread Aurelien Jarno
tions(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 4a478f8..1a49381 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -941,8 +941,9 @@ F: hw/display/jazz_led.c > F: hw/dma/rc4030.c > > Malta > -M: Aurelien Jarno > -R: Aleksandar Rikalo > +M: Philippe Mathi

[Qemu-devel] [PATCH] target/alpha: fix tlb_fill trap_arg2 value for instruction fetch

2019-08-21 Thread Aurelien Jarno
n-extended to 64-bit in case of an instruction fetch. The trap_arg2 ends up with 0x instead of 0x. Fix that by changing the -1 into -1LL. This fixes the execution of user space processes in qemu-system-alpha. Fixes: e41c94529740cc26 Cc: qemu-sta...@nongnu.org Signed-off-by: Aure

Re: [Qemu-devel] [PATCH v1 3/6] contrib: gitdm: add some more people academic group

2019-02-26 Thread Aurelien Jarno
On 2019-02-26 16:44, Alex Bennée wrote: > I'm basing this on email addresses or published employment. Please > confirm if this is correct or you want to be under (None). Please list me as (None) instead, QEMU is not related to my paid work. Aurelien -- Aurelien

Re: [Qemu-devel] [PATCH v2] sh4: fix use_icount with linux-user

2018-08-19 Thread Aurelien Jarno
et/sh4: Convert to DisasJumpType") > >> Reported-by: John Paul Adrian Glaubitz > >> Signed-off-by: Laurent Vivier > >> --- > >> > >> Notes: > >> v2: > >> don't revert the part of the original patch, > >> but fixes th

Re: [Qemu-devel] [PULL 0/4] TCG queued patches

2018-01-12 Thread Aurelien Jarno
te for 2048-bit > vector registers. > > Note that tcg/mips has the exact same problem. However, the mips isa > makes it more difficult to fix up. I'd like someone with hardware to > make this change. Ok, I'll try to have a look at that. -- Aurelien Jarno

Re: [Qemu-devel] [PATCH v2 02/20] include/fpu/softfloat: remove USE_SOFTFLOAT_STRUCT_TYPES

2018-01-09 Thread Aurelien Jarno
but that's what is still done for at least x86 for the trigonometrical functions. The check prevents assigning a float or double value to a softfloat type without calling the conversion function. Now, when we make sure that those ugly things are removed, I think these type-checking m

[Qemu-devel] [PULL 5/6] target/sh4: Do not singlestep after exceptions

2017-12-18 Thread Aurelien Jarno
; Message-Id: <20170907185057.23421-4-richard.hender...@linaro.org> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/translate.c | 32 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/target/sh4/translate.c b/target/sh4/translate.c inde

[Qemu-devel] [PULL 6/6] target/sh4: Convert to DisasContextBase

2017-12-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Signed-off-by: Richard Henderson <r...@twiddle.net> [aurel32: fix whitespace] Message-Id: <20170907185057.23421-5-richard.hender...@linaro.org> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- targ

[Qemu-devel] [PULL 2/6] target/sh4: fix TCG leak during gusa sequence

2017-12-18 Thread Aurelien Jarno
<glaub...@physik.fu-berlin.de> Suggested-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> Message-Id: <20171206093050.25308-1-alex.ben...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-

[Qemu-devel] [PULL 3/6] target/sh4: Use cmpxchg for movco when parallel_cpus

2017-12-18 Thread Aurelien Jarno
-richard.hender...@linaro.org> [aurel32: fix whitespace] Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- linux-user/main.c | 19 +--- target/sh4/cpu.h | 4 ++- target/sh4/helper.c| 1 + target/sh4/translate.c | 82 ---

[Qemu-devel] [PULL 4/6] target/sh4: Convert to DisasJumpType

2017-12-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170907185057.23421-3-richard.hender...@linaro.org> [aurel32: fix whitespace] Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- tar

[Qemu-devel] [PULL 0/6] Queued target/sh4 patches

2017-12-18 Thread Aurelien Jarno
The following changes since commit eaefea537b476cb853e2edbdc68e969ec777e4bb: Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging (2017-12-18 14:17:42 +) are available in the Git repository at: git://git.aurel32.net/qemu.git tags/pull-target-sh4-20171218

[Qemu-devel] [PULL 1/6] target/sh4: add missing tcg_temp_free() in _decode_opc()

2017-12-18 Thread Aurelien Jarno
From: Philippe Mathieu-Daudé <f4...@amsat.org> missed in c55497ecb8c and 852d481faf7. Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> Message-Id: <20171205170013.22337-3-f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Aurelien

Re: [Qemu-devel] [RFC PATCH] target/sh4/translate.c: fix TCG leak during gusa sequence

2017-12-06 Thread Aurelien Jarno
is not a valid register, then op_arg was a constant. */ > -if (op_src < 0) { > +if (op_src < 0 && !TCGV_IS_UNUSED(op_arg)) { > tcg_temp_free_i32(op_arg); > } I guess this happens when trying to match the exchange pattern, so this looks correct to me. Reviewed-by

Re: [Qemu-devel] [PATCH 1/2] target/sh4: add missing tcg_temp_free() in gen_conditional_jump()

2017-12-06 Thread Aurelien Jarno
inline void gen_load_fpr64(DisasContext *ctx, TCGv_i64 t, int reg) AFAIR, temps are not preserved across a branch (contrary to local temps), so I am not sure they need to be freed. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH 2/2] target/sh4: add missing tcg_temp_free() in _decode_opc()

2017-12-06 Thread Aurelien Jarno
; tcg_gen_qemu_ld_i32(val, REG(B11_8), ctx->memidx, MO_TEUL); > gen_helper_movcal(cpu_env, REG(B11_8), val); > tcg_gen_qemu_st_i32(REG(0), REG(B11_8), ctx->memidx, MO_TEUL); > +tcg_temp_free(val); > } > ctx->has_movcal = 1

Re: [Qemu-devel] [PATCH] tcg/mips: remove inline keywords.

2017-11-05 Thread Aurelien Jarno
by: Richard Henderson <r...@twiddle.net> > --- > tcg/mips/tcg-target.inc.c | 52 > +++ > 1 file changed, 26 insertions(+), 26 deletions(-) Looks good to me. Acked-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno

Re: [Qemu-devel] [PATCH] dma/i82374: avoid double creation of i82374 device

2017-09-02 Thread Aurelien Jarno
On 2017-09-01 11:30, Eduardo Habkost wrote: > i82374 is compiled in only on ppc and sh4, so I'm CCing the > maintainers for those architectures. The i82374 device is not useful nor usable on SH4. It has just been added in commit 85d3846a39 to be able to run the tests. Aurelien -- Au

[Qemu-devel] [PATCH for 2.10] mips/malta: leave space for the bootmap after the initrd

2017-07-31 Thread Aurelien Jarno
ory. Therefore reserve 128kiB after the initrd. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- hw/mips/mips_malta.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index 8ecd544baa..9dcec27304 100644 ---

Re: [Qemu-devel] [PATCH 29/47] MAINTAINERS: add missing SH-4 entry

2017-07-28 Thread Aurelien Jarno
AINTAINERS > +++ b/MAINTAINERS > @@ -235,6 +235,7 @@ F: target/sh4/ > F: hw/sh4/ > F: disas/sh4.c > F: include/hw/sh4/ > +F: default-configs/sh4*-softmmu.mak > > SPARC > M: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Acked-by: Aurelien Jarno <aurel...@au

[Qemu-devel] [PATCH for 2.10 0/2] Move endianness error reporting to the MIPS boards

2017-07-26 Thread Aurelien Jarno
little and big endian kernels. Alexey Kardashevskiy (1): Revert "elf-loader: warn about invalid endianness" Aurelien Jarno (1): hw/mips: load_elf_strerror to report kernel loading failure hw/core/loader.c| 1 - hw/mips/mips_fulong2e.c | 15 +-- hw/mips/mi

Re: [Qemu-devel] [PATCH qemu] Revert "elf-loader: warn about invalid endianness"

2017-07-26 Thread Aurelien Jarno
avoid such > > problems. > > I don't object reverting this patch for 2.10 and improve the loader.c usage > > during 2.11 cycle, I only wonder if this is another corporate/hobbyist> > > conflict of interest with corporate crushing on hobbyist instead of > > Come on mate...

[Qemu-devel] [PATCH for 2.10 2/2] Revert "elf-loader: warn about invalid endianness"

2017-07-26 Thread Aurelien Jarno
ENDIAN and tries with big_endian=0. Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- hw/core/loader.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index c17ace0a2e..e5e8cbb638 100644

[Qemu-devel] [PATCH for 2.10 1/2] hw/mips: load_elf_strerror to report kernel loading failure

2017-07-26 Thread Aurelien Jarno
Emulated MIPS boards bail out with a simple "could not load kernel" when a kernel could not be load, without specifying the underlying reason. Fix that by calling load_elf_strerror. At the same time use error_report to report the error instead of fprintf. Signed-off-by: Aurelien Ja

Re: [Qemu-devel] [RFC PATCH for 2.11 12/23] target/arm/translate-a64.c: add FP16 FAGCT to AdvSIMD 3 Same

2017-07-21 Thread Aurelien Jarno
On 2017-07-21 14:58, Peter Maydell wrote: > On 21 July 2017 at 14:50, Alex Bennée <alex.ben...@linaro.org> wrote: > > Aurelien Jarno <aurel...@aurel32.net> writes: > >> As said in another email, some architectures actually use more than one > >> float

Re: [Qemu-devel] [RFC PATCH for 2.11 03/23] softfloat3c: dos2unix all files

2017-07-21 Thread Aurelien Jarno
unity POV. At least v3 has the possibility to be become more > community driven in future, where as v2 is essentially now a obsolete > version. It depends if we are able to get (at least part of) our changes upstreamed. Switching to softfloat v3 is likely to be a substantial effo

Re: [Qemu-devel] [RFC PATCH for 2.11 05/23] softfloat3c: initial build machinery

2017-07-21 Thread Aurelien Jarno
oftfloat2a code in it's > specialise header. Maybe we should rename 8086-SSE to default and then > create a specialisation for each guest that needs it? For the sNaN is 0 or 1 specialisation we actually need to be able to select this at runtime, as we have implemented it in the QEMU softfloat version. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [RFC PATCH for 2.11 12/23] target/arm/translate-a64.c: add FP16 FAGCT to AdvSIMD 3 Same

2017-07-21 Thread Aurelien Jarno
ter, when the front > > end is fully converted? That's just nonsense. > > Wouldn't the other option to be to drop float_status out of the guests > CPUEnv and grab it from the TLS variable instead? Of course all guests > would need to be MTTCG enabled for that to work. As said in another email, some architectures actually use more than one float_status. We therefore need to implement a solution like the one proposed by Richard. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [RFC PATCH for 2.11 00/23] Implementing FP16 for ARMv8.2 using SoftFloat2a and 3c

2017-07-20 Thread Aurelien Jarno
as we have one thread per VCPU (which is the case with MTTCG). However, how do you plan to handle the switch from one FPU state to another for the architectures using multiple FPU contexts? That concerns at least arm, i386, mips and ppc. Regards, Aurelien -- Aurelien Jarno

Re: [Qemu-devel] [PATCH 1/14] target/mips: Fix MIPS64 MFC0 UserLocal on BE host

2017-07-19 Thread Aurelien Jarno
On 2017-07-19 14:44, James Hogan wrote: > On Wed, Jul 19, 2017 at 12:27:50PM +0200, Aurelien Jarno wrote: > > On 2017-07-18 12:55, James Hogan wrote: > > > Using MFC0 to read CP0_UserLocal uses tcg_gen_ld32s_tl, however > > > CP0_UserLocal is a target_ulong. On a bi

Re: [Qemu-devel] [PATCH 1/14] target/mips: Fix MIPS64 MFC0 UserLocal on BE host

2017-07-19 Thread Aurelien Jarno
+ offsetof(CPUMIPSState, active_tc.CP0_UserLocal)); > +tcg_gen_ext32s_tl(arg, arg); > rn = "UserLocal"; > break; > default: I think this is what gen_mfc0_load64() does, that said this whole area proba

Re: [Qemu-devel] [PULL 00/31] target/sh4 queue

2017-07-18 Thread Aurelien Jarno
On 2017-07-18 15:40, no-re...@patchew.org wrote: > Hi, > > This series failed automatic build test. Please find the testing commands and > their output below. If you have docker installed, you can probably reproduce > it > locally. > > Subject: [Qemu-devel] [PULL 00/31] target/sh4 queue >

Re: [Qemu-devel] [PULL 00/31] target/sh4 queue

2017-07-18 Thread Aurelien Jarno
avoided in .c files > #22: FILE: target/sh4/translate.c:476: > +CHECK_FPSCR_PR_0 > > ERROR: externs should be avoided in .c files > #27: FILE: target/sh4/translate.c:481: > +CHECK_FPSCR_PR_0 > > total: 2 errors, 0 warnings, 12 lines checked > > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > > Checking PATCH 30/31: target/sh4: Implement fsrra... > Checking PATCH 31/31: target/sh4: Use tcg_gen_lookup_and_goto_ptr... > === OUTPUT END === > > Test command exited with code: 1 > Those are all false positives. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

[Qemu-devel] [PULL 11/31] target/sh4: Recognize common gUSA sequences

2017-07-18 Thread Aurelien Jarno
8200255.31647-8-...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/translate.c | 321 + 1 file changed, 321 insertions(+) diff --git a/target/sh4/translate.c b/target/sh4/translate.c index a4e614d0f7..385b69ef14

[Qemu-devel] [PULL 16/31] target/sh4: Pass DisasContext to fpr64 routines

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-13-...@twiddle.net> [aurel32: fix

[Qemu-devel] [PULL 15/31] target/sh4: Unify cpu_fregs into FREG

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We were treating FREG as an index and REG as a TCGv. Making FREG return a TCGv is both less confusing and a step toward cleaner banking of cpu_fregs. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel

[Qemu-devel] [PULL 03/31] target/sh4: fix FPSCR cause vs flag inversion

2017-07-18 Thread Aurelien Jarno
net> Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/op_helper.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/target/sh4/op_helper.c b/target/sh4/op_helper.c index f228daf125.

[Qemu-devel] [PULL 10/31] target/sh4: Handle user-space atomics

2017-07-18 Thread Aurelien Jarno
me way. Instead, we notice the normal start of such a sequence (mov #-x,r15), and start a new TB that can be executed under cpu_exec_step_atomic. Reported-by: Bruno Haible <br...@clisp.org> LP: https://bugs.launchpad.net/bugs/1701971 Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Sign

[Qemu-devel] [PULL 20/31] target/sh4: Load/store Dr as 64-bit quantities

2017-07-18 Thread Aurelien Jarno
Message-Id: <20170718200255.31647-17-...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/translate.c | 75 -- 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/target/sh4/translate.c b/target/sh4/tran

[Qemu-devel] [PULL 08/31] target/sh4: Keep env->flags clean

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> If we mask off any out-of-band bits before we assign to the variable, then we don't need to clean it up when reading. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Sign

[Qemu-devel] [PULL 27/31] target/sh4: Introduce CHECK_SH4A

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-24-...@twiddle.net> [aurel32: fix conflict] Signed-off-by: Aurelien Jarno <aurel...@a

[Qemu-devel] [PULL 23/31] target/sh4: Unify code for CHECK_PRIVILEGED

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We do not need to emit N copies of raising an exception. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id:

[Qemu-devel] [PULL 25/31] target/sh4: Tidy misc illegal insn checks

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Now that we have a do_illegal label, use goto in order to self-document the forcing of the exception. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Ri

[Qemu-devel] [PULL 22/31] target/sh4: Unify code for CHECK_NOT_DELAY_SLOT

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We do not need to emit N copies of raising an exception. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id:

[Qemu-devel] [PULL 29/31] target/sh4: Add missing FPSCR.PR == 0 checks

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Both frchg and fschg require PR == 0, otherwise undefined_operation. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-26-...@twiddle.net>

[Qemu-devel] [PULL 17/31] target/sh4: Hoist fp register bank selection

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Compute which register bank to use once at the start of translation. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-14-...@twiddle.net>

[Qemu-devel] [PULL 05/31] target/sh4: return result of fcmp using TCG

2017-07-18 Thread Aurelien Jarno
3-5-aurel...@aurel32.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h| 8 target/sh4/op_helper.c | 16 target/sh4/translate.c | 10 ++ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/target/sh4/hel

[Qemu-devel] [PULL 21/31] target/sh4: Simplify 64-bit fp reg-reg move

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We do not need to form full 64-bit quantities in order to perform the move. This reduces code expansion on 64-bit hosts. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.

[Qemu-devel] [PULL 12/31] linux-user/sh4: Notice gUSA regions during signal delivery

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We translate gUSA regions atomically in a parallel context. But in a serial context a gUSA region may be interrupted. In that case, restart the region as the kernel would. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off

[Qemu-devel] [PULL 26/31] target/sh4: Introduce CHECK_FPSCR_PR_*

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-23-...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --

[Qemu-devel] [PULL 30/31] target/sh4: Implement fsrra

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-27-...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h| 1 + target/sh4/op_helper.c | 16

[Qemu-devel] [PULL 07/31] target/sh4: Introduce TB_FLAG_ENVFLAGS_MASK

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We'll be putting more things into this bitmask soon. Let's have a name that covers all possible uses. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Ri

[Qemu-devel] [PULL 31/31] target/sh4: Use tcg_gen_lookup_and_goto_ptr

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-28-...@twiddle.net> [aurel32: fix whitespace] Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/translate.c | 30 +

[Qemu-devel] [PULL 13/31] linux-user/sh4: Clean env->flags on signal boundaries

2017-07-18 Thread Aurelien Jarno
viewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-10-...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- linux-user/signal.c | 3 +++ 1 file changed, 3 insertions(+) diff

[Qemu-devel] [PULL 19/31] target/sh4: Merge DREG into fpr64 routines

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Also add a debugging assert that we did signal illegal opc for odd double-precision registers. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.316

[Qemu-devel] [PULL 24/31] target/sh4: Unify code for CHECK_FPU_ENABLED

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We do not need to emit N copies of raising an exception. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id:

[Qemu-devel] [PULL 04/31] target/sh4: do not use a helper to implement fneg

2017-07-18 Thread Aurelien Jarno
There is no need to use a helper to flip one bit, just use a TCG xor instruction instead. Message-Id: <20170702202814.27793-5-aurel...@aurel32.net> Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h

[Qemu-devel] [PULL 28/31] target/sh4: Implement fpchg

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-25-...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- targe

[Qemu-devel] [PULL 01/31] target/sh4: do not check for PR bit for fabs instruction

2017-07-18 Thread Aurelien Jarno
the check, and at the same time use a TCG instruction instead of a helper to clear one bit. LP: https://bugs.launchpad.net/qemu/+bug/1701821 Reported-by: Bruno Haible <br...@clisp.org> Message-Id: <20170702202814.27793-2-aurel...@aurel32.net> Reviewed-by: Richard Henderson <r...@twiddle.net> S

[Qemu-devel] [PULL 09/31] target/sh4: Adjust TB_FLAG_PENDING_MOVCA

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Don't leave an unused bit after DELAY_SLOT_MASK. Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id:

[Qemu-devel] [PULL 18/31] target/sh4: Eliminate unused XREG macro

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-15-...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target

[Qemu-devel] [PULL 00/31] target/sh4 queue

2017-07-18 Thread Aurelien Jarno
) Queued target/sh4 patches Aurelien Jarno (5): target/sh4: do not check for PR bit for fabs instruction target/sh4: fix FPU unorderered compare target

[Qemu-devel] [PULL 06/31] target/sh4: Consolidate end-of-TB tests

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> We can fold 3 different tests within the decode loop into a more accurate computation of max_insns to start. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <2

[Qemu-devel] [PULL 14/31] target/sh4: Hoist register bank selection

2017-07-18 Thread Aurelien Jarno
From: Richard Henderson <r...@twiddle.net> Compute which register bank to use once at the start of translation. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Signed-off-by: Richard Henderson <r...@twiddle.net> Message-Id: <20170718200255.31647-11-...@twiddle.net>

[Qemu-devel] [PULL 02/31] target/sh4: fix FPU unorderered compare

2017-07-18 Thread Aurelien Jarno
3-3-aurel...@aurel32.net> Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/op_helper.c | 28 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/target/sh4/op_helper.c b/targ

Re: [Qemu-devel] [PATCH v3 00/30] target/sh4 improvements

2017-07-18 Thread Aurelien Jarno
lied patches 2-27 to my tree. I believe the patch 1 doesn't provide the correct (corner case) behaviour in system mode. As for the last 3 patches, given they touch non-sh4 specific part of linux-user, I guess they should at least be acked by a linux-user maintainer. -- Aurelien Jarno

Re: [Qemu-devel] [PATCH v3 07/30] target/sh4: Recognize common gUSA sequences

2017-07-18 Thread Aurelien Jarno
t; --- > V2: Free constants loaded during the gUSA sequence. > --- > target/sh4/translate.c | 321 > + > 1 file changed, 321 insertions(+) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno

Re: [Qemu-devel] [PATCH v3 01/30] target/sh4: Use cmpxchg for movco

2017-07-18 Thread Aurelien Jarno
ur for other CPUs. For the user case it's different, we don't have real choice, plus we know that it will be used to execute linux binaries, which are more likely to have a sane usage of atomic instructions. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 00/27] target/sh4 improvements

2017-07-18 Thread Aurelien Jarno
or should I just pick your patches and apply the small fixes that are needed? Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v5 03/10] target/arm: optimize aarch64 rev16() using extract op

2017-07-18 Thread Aurelien Jarno
On 2017-07-17 20:25, Richard Henderson wrote: > On 07/17/2017 06:55 PM, Philippe Mathieu-Daudé wrote: > > Aurelien Jarno denoted this function could be implemented more effectively > > using > > the aarch32 rev16() pattern. > >[http://lists.nongnu.org/archive/html/

[Qemu-devel] [PULL 0/2] target/mips queue

2017-07-17 Thread Aurelien Jarno
) Queued target/mips patches Aurelien Jarno (1): target/mips: optimize WSBH, DSBH and DSHD Pavel Dovgalyuk (1): mips: set CP0 Debug DExcCode for SDBBP instruction target/mips/helper.c| 2

[Qemu-devel] [PULL 1/2] mips: set CP0 Debug DExcCode for SDBBP instruction

2017-07-17 Thread Aurelien Jarno
; Message-id: 20170502120350.3368.92338.stgit@PASHA-ISP Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/mips/helper.c | 2 ++ 1 file changed, 2 insertions(+) dif

[Qemu-devel] [PULL 2/2] target/mips: optimize WSBH, DSBH and DSHD

2017-07-17 Thread Aurelien Jarno
Use the same mask to avoid having to load two different constants. Suggested-by: Richard Henderson <r...@twiddle.net> Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/mips/translate.c | 18 --

Re: [Qemu-devel] Fwd: [PATCH v2.5] fixup! linux-user/sh4: Notice gUSA regions during signal delivery

2017-07-17 Thread Aurelien Jarno
version 2.5 obsolete. Therefore I guess the version 2 is the one to be used instead. Unfortunately my knowledge of linux-user is rather limited to review this new series. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 07/27] target/sh4: Recognize common gUSA sequences

2017-07-17 Thread Aurelien Jarno
op_src = mv_src; > +} else { > +goto fail; > +} > + op_arg = REG(op_src); > +break; > + > +case 0x6007: /* not Rm,Rn */ > +if (ld_dst != B7_4 || mv_src >= 0) { > +goto fail; > +} > +op_dst = B11_8; > +op_opc = INDEX_op_xor_i32; > +op_arg = tcg_const_i32(-1); This temp is never freed. Same for a few others below. Overall, parsing the atomic sequence ends up being complex. I have verified the most common sequences from GCC or GLIBC, and your code seems fine for at least those cases. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 06/27] target/sh4: Handle user-space atomics

2017-07-16 Thread Aurelien Jarno
On 2017-07-16 11:59, Richard Henderson wrote: > On 07/16/2017 11:43 AM, Aurelien Jarno wrote: > > Indeed, if the same atomic code is used often it might be better to have > > it cached. That said it's only true for TB that are recognized, as IIRC > > TB with the exclusiv

Re: [Qemu-devel] [PATCH v2 01/27] target/sh4: Use cmpxchg for movco

2017-07-16 Thread Aurelien Jarno
On 2017-07-16 01:22, Aurelien Jarno wrote: > On 2017-07-06 16:20, Richard Henderson wrote: > > As for other targets, cmpxchg isn't quite right for ll/sc, > > suffering from an ABA race, but is sufficient to implement > > portable atomic operations. > > > > Si

Re: [Qemu-devel] [PATCH v2 06/27] target/sh4: Handle user-space atomics

2017-07-16 Thread Aurelien Jarno
On 2017-07-16 09:35, Richard Henderson wrote: > On 07/16/2017 05:18 AM, Aurelien Jarno wrote: > > That said for further improvements did you consider decoding the gUSA > > section in a helper. It might avoid having to emulate the atomic > > sequence with 3 TBs in the worst c

Re: [Qemu-devel] [PATCH v2 09/27] linux-user/sh4: Clean env->flags on signal boundaries

2017-07-16 Thread Aurelien Jarno
On 2017-07-15 16:33, Richard Henderson wrote: > On 07/15/2017 12:59 PM, Aurelien Jarno wrote: > > On 2017-07-06 16:20, Richard Henderson wrote: > > > If a signal is delivered during the execution of a delay slot, > > > or a gUSA region, clear those b

Re: [Qemu-devel] [PATCH v2 06/27] target/sh4: Handle user-space atomics

2017-07-16 Thread Aurelien Jarno
On 2017-07-15 16:30, Richard Henderson wrote: > On 07/15/2017 12:14 PM, Aurelien Jarno wrote: > > On 2017-07-06 16:20, Richard Henderson wrote: > > > For uniprocessors, SH4 uses optimistic restartable atomic sequences. > > > Upon an interrupt, a real kernel would

Re: [Qemu-devel] [PATCH v2 01/27] target/sh4: Use cmpxchg for movco

2017-07-15 Thread Aurelien Jarno
hould just add the code to correctly clear LDST in case of interrupt or exception. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 09/27] linux-user/sh4: Clean env->flags on signal boundaries

2017-07-15 Thread Aurelien Jarno
(int sig, struct target_sigaction *ka, Why not using TB_FLAG_ENVFLAGS_MASK introduced earlier in this patch series? -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

  1   2   3   4   5   6   7   8   9   10   >