Re: [Qemu-devel] [PATCH v2 08/27] linux-user/sh4: Notice gUSA regions during signal delivery

2017-07-15 Thread Aurelien Jarno
et> > --- > linux-user/signal.c | 23 +++ > 1 file changed, 23 insertions(+) With my limited knowledge of linux-user: Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- 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-15 Thread Aurelien Jarno
entire region consumed via ctx->pc so that it's immediately available > + in the disassembly dump. */ > +ctx->pc = pc_end; > +return 1; > } > +#endif > > void gen_intermediate_code(CPUSH4State * env, struct TranslationBlock *tb) > { > @@ -1

Re: [Qemu-devel] [PATCH v3 1/8] target/s390x: Implement CSST

2017-07-15 Thread Aurelien Jarno
On 2017-07-14 14:22, Richard Henderson wrote: > On 07/14/2017 11:01 AM, Aurelien Jarno wrote: > > > +if (parallel_cpus) { > > > +int mask = 0; > > > +#if !defined(CONFIG_ATOMIC64) > > > +mask = -8; > > > +#elif !defined(CONFIG_ATO

Re: [Qemu-devel] [PATCH v3 2/8] target/s390x: Implement CONVERT UNICODE insns

2017-07-15 Thread Aurelien Jarno
On 2017-07-14 14:23, Richard Henderson wrote: > On 07/14/2017 11:08 AM, Aurelien Jarno wrote: > > On 2017-07-11 17:18, Thomas Huth wrote: > > > On 10.07.2017 22:45, Richard Henderson wrote: > > > > Signed-off-by: Richard Henderson <r...@twiddle.net> > &g

Re: [Qemu-devel] [PATCH v3.5 2/8] target/s390x: Implement CONVERT UNICODE insns

2017-07-15 Thread Aurelien Jarno
390x/mem_helper.c | 310 > + > target/s390x/translate.c | 51 > target/s390x/insn-data.def | 13 ++ > 4 files changed, 380 insertions(+) > Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 2/8] target/s390x: Implement CONVERT UNICODE insns

2017-07-14 Thread Aurelien Jarno
gt; > I think you should add such a check for even-numbered registers here. Actually it should not be done here, but at translation time in translate.c. There are a few places where the register number is checked to be even and later loaded into a temp. I guess that can be replaced by generators instead? -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 2/8] target/s390x: Implement CONVERT UNICODE insns

2017-07-14 Thread Aurelien Jarno
+++ > target/s390x/insn-data.def | 13 ++ > 4 files changed, 372 insertions(+) > Besides the check for even r1 and r3, this now looks good. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 1/8] target/s390x: Implement CSST

2017-07-14 Thread Aurelien Jarno
ov = helper_atomic_cmpxchgl_be_mmu(env, a1, cv, nv, oi, ra); > +#endif Not a problem with the patch itself, but how complicated would it be to make helper_atomic_cmpxchgl_be_mmu (just like the o version) available also in user mode? That would make less #ifdef in the backends. The remaining of the patch looks all good to me. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 4/8] target/s390x: Implement SRSTU

2017-07-07 Thread Aurelien Jarno
rget/s390x/insn-data.def | 2 ++ > 4 files changed, 57 insertions(+) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 3/8] target/s390x: Tidy SRST

2017-07-07 Thread Aurelien Jarno
es changed, 23 insertions(+), 15 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 26/27] target/sh4: Implement fsrra

2017-07-07 Thread Aurelien Jarno
_decode_opc(DisasContext * ctx) > return; > case 0xf07d: /* fsrra FRn */ > CHECK_FPU_ENABLED > +CHECK_FPSCR_PR_0 > +gen_helper_fsrra_FT(FREG(B11_8), cpu_env, FREG(B11_8)); > break; > case 0xf08d: /* fldi0 FRn - FPSCR: R[PR] */ > CHECK_FPU_ENABLED Otherwise it looks fine. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 25/27] target/sh4: Add missing FPSCR.PR == 0 checks

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:21, Richard Henderson wrote: > Both frchg and fschg require PR == 0, otherwise undefined_operation. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 2 ++ > 1 file changed, 2 insertions(+) Reviewed-by: Aurelien Jar

Re: [Qemu-devel] [PATCH v2 24/27] target/sh4: Implement fpchg

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:21, Richard Henderson wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 5 + > 1 file changed, 5 insertions(+) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno

Re: [Qemu-devel] [PATCH v2 23/27] target/sh4: Introduce CHECK_SH4A

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:21, Richard Henderson wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 64 > +++--- > 1 file changed, 29 insertions(+), 35 deletions(-) Reviewed-by: Aurelien Jarno

Re: [Qemu-devel] [PATCH v2 22/27] target/sh4: Introduce CHECK_FPSCR_PR_*

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:21, Richard Henderson wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 57 > +++--- > 1 file changed, 31 insertions(+), 26 deletions(-) Reviewed-by: Aurelien Jarno

Re: [Qemu-devel] [PATCH v2 20/27] target/sh4: Unify code for CHECK_FPU_ENABLED

2017-07-07 Thread Aurelien Jarno
0 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 21/27] target/sh4: Tidy misc illegal insn checks

2017-07-07 Thread Aurelien Jarno
-- > 1 file changed, 13 insertions(+), 9 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 19/27] target/sh4: Unify code for CHECK_PRIVILEGED

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:21, Richard Henderson wrote: > We do not need to emit N copies of raising an exception. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 14 -- > 1 file changed, 4 insertions(+), 10 deletions(-) Rev

Re: [Qemu-devel] [PATCH v2 18/27] target/sh4: Unify code for CHECK_NOT_DELAY_SLOT

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:21, Richard Henderson wrote: > We do not need to emit N copies of raising an exception. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 11 +-- > 1 file changed, 5 insertions(+), 6 deletions(-) >

Re: [Qemu-devel] [PATCH v2 17/27] target/sh4: Simplify 64-bit fp reg-reg move

2017-07-07 Thread Aurelien Jarno
--- > 1 file changed, 4 insertions(+), 4 deletions(-) > Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 16/27] target/sh4: Load/store Dr as 64-bit quantities

2017-07-07 Thread Aurelien Jarno
+} > +tcg_gen_mov_i32(REG(B11_8), addr); > + tcg_temp_free(addr); > +} > return; > case 0xf006: /* fmov @(R0,Rm),{F,D,X}Rm - FPSCR: Nothing */ > CHECK_FPU_ENABLED -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 15/27] target/sh4: Merge DREG into fpr64 routines

2017-07-07 Thread Aurelien Jarno
file changed, 15 insertions(+), 11 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 14/27] target/sh4: Eliminate unused XREG macro

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:20, Richard Henderson wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 1 - > 1 file changed, 1 deletion(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno G

Re: [Qemu-devel] [PATCH v2 13/27] target/sh4: Hoist fp register bank selection

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:20, Richard Henderson wrote: > Compute which register bank to use once at the start of translation. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 8 +--- > 1 file changed, 5 insertions(+), 3 deletions(-) Rev

Re: [Qemu-devel] [PATCH v2 12/27] target/sh4: Pass DisasContext to fpr64 routines

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:20, Richard Henderson wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/translate.c | 26 +- > 1 file changed, 13 insertions(+), 13 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net

Re: [Qemu-devel] [PATCH v2 11/27] target/sh4: Unify cpu_fregs into FREG

2017-07-07 Thread Aurelien Jarno
arget/sh4/translate.c | 125 > - > 1 file changed, 52 insertions(+), 73 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 10/27] target/sh4: Hoist register bank selection

2017-07-07 Thread Aurelien Jarno
0 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 04/27] target/sh4: Keep env->flags clean

2017-07-07 Thread Aurelien Jarno
sh4/cpu.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 03/27] target/sh4: Introduce TB_FLAG_ENVFLAGS_MASK

2017-07-07 Thread Aurelien Jarno
slate.c | 4 ++-- > 2 files changed, 5 insertions(+), 3 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v2 05/27] target/sh4: Adjust TB_FLAG_PENDING_MOVCA

2017-07-07 Thread Aurelien Jarno
On 2017-07-06 16:20, Richard Henderson wrote: > Don't leave an unused bit after DELAY_SLOT_MASK. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/sh4/cpu.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) Reviewed-by: Aurelien Jar

Re: [Qemu-devel] [PATCH v2 02/27] target/sh4: Consolidate end-of-TB tests

2017-07-07 Thread Aurelien Jarno
break; > } > -if (tb->cflags & CF_LAST_IO) > +if (tb->cflags & CF_LAST_IO) { > gen_io_end(); > +} > if (cs->singlestep_enabled) { > gen_save_cpu_state(, true); > gen_helper_debug(cpu_env); Besides the minor nitpicks above: Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH 03/11] target/sh4: Handle user-space atomics

2017-07-06 Thread Aurelien Jarno
ions(+), 18 deletions(-) I haven't reviewed this patch in details, but note that it breaks booting a system under qemu-system. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH 02/11] target/sh4: Consolidate end-of-TB tests

2017-07-06 Thread Aurelien Jarno
break; > } > -if (tb->cflags & CF_LAST_IO) > +if (tb->cflags & CF_LAST_IO) { > gen_io_end(); > +} > if (cs->singlestep_enabled) { > gen_save_cpu_state(, true); > gen_helper_debug(cpu_env); Besides the minor nitpicks above: Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH 00/11] target/sh4 improvments

2017-07-06 Thread Aurelien Jarno
t: http://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg00095.html I'll try to review it over the next days, but unfortunately I'll have little time before Monday. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] trigonometric functions in softfloat

2017-07-05 Thread Aurelien Jarno
how m68k specific are those trigonometric functions. If we can have a way to implement them as generic trigonometric functions reusable by other targets, I am all for it. If not that code would probably be better in target/m68k. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9

[Qemu-devel] [PATCH v2 1/5] target/sh4: do not check for PR bit for fabs instruction

2017-07-02 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> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h| 2 -- target/sh4/op_helper.c |

[Qemu-devel] [PATCH v2 2/5] target/sh4: fix FPU unorderered compare

2017-07-02 Thread Aurelien Jarno
In case of unordered compare, the fcmp instructions should either trigger and invalid exception (if enabled) or set T=0. The existing code left it unchanged. LP: https://bugs.launchpad.net/qemu/+bug/1701821 Reported-by: Bruno Haible <br...@clisp.org> Signed-off-by: Aurelien Jarno

[Qemu-devel] [PATCH v2 5/5] target/sh4: return result of fcmp using TCG

2017-07-02 Thread Aurelien Jarno
Since that the T bit of the SR register is mapped using a TGC global, it's better to return the value through TCG than writing it directly. It allows to declare the helpers with the flag TCG_CALL_NO_WG. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h

[Qemu-devel] [PATCH v2 0/5] target/sh4: misc FPU fixes and optimizations

2017-07-02 Thread Aurelien Jarno
bug. It also improves a bit the fneg and fcmp instructions. Aurelien Jarno (5): target/sh4: do not check for PR bit for fabs instruction target/sh4: fix FPU unorderered compare target/sh4: fix FPSCR cause vs flag inversion target/sh4: do not use a helper to implement fneg target/sh4

[Qemu-devel] [PATCH v2 3/5] target/sh4: fix FPSCR cause vs flag inversion

2017-07-02 Thread Aurelien Jarno
The floating-point status/control register contains cause and flag bits. The cause bits are set to 0 before executing the instruction, while the flag bits hold the status of the exception generated after the field was last cleared. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> ---

[Qemu-devel] [PATCH v2 4/5] target/sh4: do not use a helper to implement fneg

2017-07-02 Thread Aurelien Jarno
There is no need to use a helper to flip one bit, just use a TCG xor instruction instead. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h| 1 - target/sh4/op_helper.c | 5 - target/sh4/translate.c | 5 ++--- 3 files changed, 2 insertions(+), 9 del

[Qemu-devel] [PATCH 0/2] target/sh4: fix fabs and optimize fneg

2017-07-02 Thread Aurelien Jarno
This patchset should fix the bug #1701821 reported by Bruno Haible, which makes the gnulib testsuite to fail for single precision libm tests. Aurelien Jarno (2): target/sh4: do not check for PR bit for fabs instruction target/sh4: do not use a helper to implement fneg target/sh4/helper.h

[Qemu-devel] [PATCH 1/2] target/sh4: do not check for PR bit for fabs instruction

2017-07-02 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> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h| 2 -- target/sh4/op_helper.c |

[Qemu-devel] [PATCH 2/2] target/sh4: do not use a helper to implement fneg

2017-07-02 Thread Aurelien Jarno
There is no need to use a helper to flip one bit, just use a TCG xor instruction instead. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/helper.h| 1 - target/sh4/op_helper.c | 5 - target/sh4/translate.c | 5 ++--- 3 files changed, 2 insertions(+), 9 del

Re: [Qemu-devel] [PATCH v2 8/8] target/s390x: Fix risbg handling

2017-07-02 Thread Aurelien Jarno
len <= rot > > Reported-by: David Hildenbrand <da...@redhat.com> > Suggested-by: Aurelien Jarno <aurel...@aurel32.net> > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/s390x/translate.c | 4 ++-- > 1 file changed, 2 insertion

Re: [Qemu-devel] [PATCH v2 2/8] target/s390x: Implement CONVERT UNICODE insns

2017-07-02 Thread Aurelien Jarno
t to me. The well-formedness checking is part of ETF3_ENH facility, for both convert unicode instructions that are part of the Z architecture (CU12 and CU21) and for the ones added by the ETF3 facility (CU14 and CU24). The rest of the patch now looks fine. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 4/7] softfloat: define floatx80_round()

2017-06-27 Thread Aurelien Jarno
is rounded (floatx80_rounding_precision) ? Otherwise looks all fine to me. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v1] target-s390x: fix risbg handling

2017-06-25 Thread Aurelien Jarno
el would trigger weird > BUG_ONs very early while starting up, which basically gave not really > many hints of what was actually going wrong. > > target/s390x/translate.c | 6 -- > 1 file changed, 6 deletions(-) But the patch is also correct. Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] MIPS little endian - Bug when decoding physaddr

2017-06-23 Thread Aurelien Jarno
112, < > oi=32, retaddr=140737129226144) > at /home/vini/projs/emuladores/qemu-routers/softmmu_template.h:141 > #3 0x7fffea982108 in code_gen_buffer () ... while helper_le_ldul_mmu and io_readl are read functions. The assembly code and the backtrace do not

Re: [Qemu-devel] [PATCH v3 00/18] target/s390x improvements

2017-06-23 Thread Aurelien Jarno
> > I think we can get to z990 fairly quickly after this. > Ignoring HFP, the ones I see missing are DAT-ENH, MSA. Thanks for this work. For the record I have started working on HFP sometimes ago. I'll try to finish that and submit patches in the next weeks. -- Aurelien Jarno

Re: [Qemu-devel] [PATCH v3 17/18] target/s390x: Mark ETF3 and ETF3_ENH facilities as available

2017-06-23 Thread Aurelien Jarno
S390_FEAT_ETF3_ENH, > S390_FEAT_COMPARE_AND_SWAP_AND_STORE, > S390_FEAT_COMPARE_AND_SWAP_AND_STORE_2, > S390_FEAT_GENERAL_INSTRUCTIONS_EXT, Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 16/18] target/s390x: Implement TRTR

2017-06-23 Thread Aurelien Jarno
et/s390x/helper.h | 1 + > target/s390x/insn-data.def | 2 ++ > target/s390x/mem_helper.c | 20 +--- > target/s390x/translate.c | 9 + > 4 files changed, 25 insertions(+), 7 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurel

Re: [Qemu-devel] [PATCH v3 14/18] target/s390x: Tidy SRST

2017-06-23 Thread Aurelien Jarno
o->in2); > +gen_helper_srst(o->in1, cpu_env, o->in1, o->in2); > set_cc_static(s); > return_low128(o->in2); > return NO_EXIT; The cleanup is a good step, but I guess that should also be the moment to improve the address masking/wrapping (see comment on next patch). Anyway: Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 18/18] target/s390x: Clean up TB flag bits

2017-06-23 Thread Aurelien Jarno
.net> > --- > target/s390x/cpu.h | 24 +--- > target/s390x/translate.c | 16 > 2 files changed, 17 insertions(+), 23 deletions(-) > Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno

Re: [Qemu-devel] [PATCH v3 15/18] target/s390x: Implement SRSTU

2017-06-23 Thread Aurelien Jarno
4_t HELPER(clst)(CPUS390XState *env, uint64_t c, uint64_t s1, uint64_t > s2) > { Overall that looks fine, but I think we should get the wrapping (almost) correct, now that we have the get_address / set_address functions. As all registers are saved on input, I guess the registers can be directly written back in the helper using set_address. It should handle most of the cases, except wrapping at the end of the address space, but anyway I don't think it's handled somewhere. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 13/18] target/s390x: Implement CONVERT UNICODE insns

2017-06-23 Thread Aurelien Jarno
return 1; > +} > +cpu_stw_data_ra(env, addr, c, ra); > +*olen = 2; > +} else { > +/* two word character */ > +if (ilen < 4) { > +return 1; > +} > +d1 = 0xbc00 | extract32(c, 0, 10); > +d0 = 0xb800 | extract32(c, 10, 6); This should be 0xdc00 and 0xd800; Otherwise the patch looks fine to me. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 11/18] target/s390x: Mark STFLE_49 facility as available

2017-06-23 Thread Aurelien Jarno
1 file changed, 1 insertion(+) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 12/18] target/s390x: Finish implementing ETF2-ENH

2017-06-23 Thread Aurelien Jarno
get/s390x/translate.c | 5 +++-- > 2 files changed, 13 insertions(+), 3 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 09/18] target/s390x: Implement execution-hint insns

2017-06-23 Thread Aurelien Jarno
On 2017-06-19 17:03, Richard Henderson wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/s390x/insn-data.def | 9 + > target/s390x/translate.c | 5 - > 2 files changed, 13 insertions(+), 1 deletion(-) Reviewed-by: Aurelien Jarno

Re: [Qemu-devel] [PATCH v3 06/18] target/s390x: Implement load-on-condition-2 insns

2017-06-23 Thread Aurelien Jarno
sertions(+), 3 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 10/18] target/s390x: Implement processor-assist insn

2017-06-23 Thread Aurelien Jarno
On 2017-06-19 17:03, Richard Henderson wrote: > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/s390x/insn-data.def | 3 +++ > target/s390x/translate.c | 1 + > 2 files changed, 4 insertions(+) Reviewed-by: Aurelien Jarno <aurel...@aurel32.

Re: [Qemu-devel] [PATCH v3 08/18] target/s390x: Mark STFLE_53 facility as available

2017-06-23 Thread Aurelien Jarno
On 2017-06-19 17:03, Richard Henderson wrote: > This facility bit includes load-on-condition-2 and > load-and-zero-rightmost-byte. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/s390x/cpu_models.c | 1 + > 1 file changed, 1 insertion(+) Reviewe

Re: [Qemu-devel] [PATCH v3 07/18] target/s390x: Implement load-and-zero-rightmost-byte insns

2017-06-23 Thread Aurelien Jarno
is considered a separate instruction in the PoO, called LOAD LOGICAL AND ZERO RIGHTMOST BYTE. That said: Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 05/18] target/s390x: Mark FPSEH facility as available

2017-06-23 Thread Aurelien Jarno
pu_models.c | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 02/18] target/s390x: change PSW_SHIFT_KEY

2017-06-23 Thread Aurelien Jarno
com> > Signed-off-by: David Hildenbrand <da...@redhat.com> > Message-Id: <20170614133819.18480-2-da...@redhat.com> > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target/s390x/cpu.h | 2 +- > target/s390x/translate.c | 2 +- > 2 files changed

Re: [Qemu-devel] [PATCH v3 01/18] target/s390x: Map existing FAC_* names to S390_FEAT_* names

2017-06-23 Thread Aurelien Jarno
-- > 1 file changed, 29 insertions(+), 30 deletions(-) Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

[Qemu-devel] [PATCH] mips/malta: load the initrd at the end of the low memory

2017-06-23 Thread Aurelien Jarno
Currently the malta board is loading the initrd just after the kernel. This doesn't work for kaslr enabled kernels, as the initrd ends-up being overwritten. Move the initrd at the end of the low memory, that should leave a sufficient gap for kaslr. Signed-off-by: Aurelien Jarno <aurel...@aure

Re: [Qemu-devel] [PATCH] target/mips: fix msa copy_[s|u]_df rd = 0 corner case

2017-06-17 Thread Aurelien Jarno
/mips/translate.c | 8 ++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Acked-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH 5/5] target/s390x: mark CSST, CSST2, FPSEH facilities as available

2017-06-15 Thread Aurelien Jarno
On 2017-06-15 14:10, Richard Henderson wrote: > On 06/15/2017 01:49 PM, Aurelien Jarno wrote: > > > +S390_FEAT_FLOATING_POINT_SUPPPORT_ENH, > > > > Theoretically the floating-point-support-enhancement facilities include > > the DFP rounding facility. Gi

Re: [Qemu-devel] [PATCH v2 3/5] target/mips: Exit after enabling interrupts

2017-06-15 Thread Aurelien Jarno
On 2017-06-14 12:48, Richard Henderson wrote: > From: Paolo Bonzini <pbonz...@redhat.com> > > Exit to cpu loop so we reevaluate cpu_mips_hw_interrupts. > > Cc: Aurelien Jarno <aurel...@aurel32.net> > Cc: Yongbok Kim <yongbok@imgtec.com> > Signed-off-

Re: [Qemu-devel] [PATCH 2/5] target/s390x: Enforce instruction features

2017-06-15 Thread Aurelien Jarno
dc.features = cpu->model->features; > } > > > ... > > if (s->features && !test_bit(insn->fac, s->features)) { > gen_program_exception(s, PGM_OPERATION); > return EXIT_NORETURN; > } I don't know that part of the code enough to tell if

Re: [Qemu-devel] [PATCH 5/5] target/s390x: mark CSST, CSST2, FPSEH facilities as available

2017-06-15 Thread Aurelien Jarno
nt facilities include the DFP rounding facility. Given We don't implement the DFP facility I guess this can be ignored. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH 2/5] target/s390x: Enforce instruction features

2017-06-15 Thread Aurelien Jarno
On 2017-06-15 13:28, David Hildenbrand wrote: > On 15.06.2017 09:01, Aurelien Jarno wrote: > > On 2017-06-14 22:53, Richard Henderson wrote: > >> Signed-off-by: Richard Henderson <r...@twiddle.net> > >> --- > >> target/s390x/translate.c | 8 +

Re: [Qemu-devel] [PATCH 2/5] target/s390x: Enforce instruction features

2017-06-15 Thread Aurelien Jarno
ludes for example FPE, LPP, MIE, LAT, I_SIM and more. We could maybe provide a way to override the check, or only enable enforcement for fully implemented facilities. Failing to do so means we just introduce a regression from the user point of view (many binaries will stop working) and also that

[Qemu-devel] [PATCH] target/sh4: optimize cross-page and indirect jumps

2017-06-07 Thread Aurelien Jarno
Instead of unconditionally exiting to the exec loop for indirect jumps or cross-page direct jumps, use the lookup_and_goto_ptr helper to jump to the target if it is valid. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/sh4/translate.c | 4 ++-- 1 file changed, 2 insertions

Re: [Qemu-devel] qemu-system-sh4 -M r2d serial is broken.

2017-06-06 Thread Aurelien Jarno
On 2017-06-05 17:29, Rob Landley wrote: > On 05/18/2017 06:01 PM, Aurelien Jarno wrote: > > On 2017-05-18 17:37, Rob Landley wrote: > >> On 05/18/2017 02:00 PM, Aurelien Jarno wrote: > >>> On 2017-05-18 11:08, Rob Landley wrote: > >>>> Serial inpu

[Qemu-devel] [PATCH v4 2/3] target/s390x: implement STORE PAIR TO QUADWORD

2017-06-04 Thread Aurelien Jarno
Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 2 ++ target/s390x/mem_helper.c | 24 target/s390x/translate.c | 6 ++ 4 files changed, 33 insertions(+) diff --git a/target/s390x/help

[Qemu-devel] [PATCH v4 3/3] target/s390x: check alignment in CDSG in the !CONFIG_ATOMIC128 case

2017-06-04 Thread Aurelien Jarno
The CDSG instruction requires a 16-byte alignement, as expressed in the MO_ALIGN_16 passed to helper_atomic_cmpxchgo_be_mmu. In the non parallel case, use check_alignment to enforce this. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/mem_helper.c | 2 ++ 1 file chan

[Qemu-devel] [PATCH v4 0/3] target/s390x: implement loads/store quadword

2017-06-04 Thread Aurelien Jarno
to be applied over the pull request as it makes uses of the check_alignment function. Finally the latest patch fixes a lack of alignement check in CDSG, discovered as I used it as an example about how to properly handle hosts without atomic128 support. Aurelien Jarno (3): target/s390x: implement LOAD PAIR

[Qemu-devel] [PATCH v4 1/3] target/s390x: implement LOAD PAIR FROM QUADWORD

2017-06-04 Thread Aurelien Jarno
Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 2 ++ target/s390x/mem_helper.c | 27 +++ target/s390x/translate.c | 7 +++ 4 files changed, 37 insertions(+) diff --git a/target

Re: [Qemu-devel] [PULL 00/69] target/s390x tcg patches

2017-06-04 Thread Aurelien Jarno
conflict to solve in helper.h. Properly implementing the !CONFIG_ATOMIC128 case requires to check the alignment and it's better done with the check_alignment function introduced later in the series. I'll send new patches for those two instructions in the next hours. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PULL 00/69] target/s390x tcg patches

2017-06-04 Thread Aurelien Jarno
Hildenbrand had objections to that; I expect > that we can address that in the next patch set. Fair enough. I think I'll put this one in standby and look at that again when QEMU can emulate a higher model like a z990. -- Aurelien Jarno GPG: 4096R/1DDD8C9B au

Re: [Qemu-devel] [PATCH v1] s390x/cpumodel: wire up cpu type + id for TCG

2017-06-02 Thread Aurelien Jarno
ected to be executed on hot paths, I > think moving it into a helper is the right thing to do. This is not only about performance, but also avoiding code that is spread in many files. Well theoretically increasing the number of entries in the helper hash table has a performance impact, but i don't think it is measurable. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 30/30] target/s390x: update maximum TCG model to z800

2017-06-02 Thread Aurelien Jarno
On 2017-06-02 13:30, David Hildenbrand wrote: > On 02.06.2017 10:09, Thomas Huth wrote: > > On 01.06.2017 21:17, Aurelien Jarno wrote: > >> On 2017-06-01 11:04, David Hildenbrand wrote: > >>> On 01.06.2017 10:38, David Hildenbrand wrote: > >>>&

Re: [Qemu-devel] [PATCH v3 30/30] target/s390x: update maximum TCG model to z800

2017-06-02 Thread Aurelien Jarno
On 2017-06-01 21:56, David Hildenbrand wrote: > On 01.06.2017 21:17, Aurelien Jarno wrote: > > On 2017-06-01 10:38, David Hildenbrand wrote: > >> On 01.06.2017 00:01, Aurelien Jarno wrote: > >>> At the same time fix the TCG version of get_max_cpu_model to return the &

Re: [Qemu-devel] [PATCH] msi: remove return code for msi_init()

2017-06-01 Thread Aurelien Jarno
chance to object... > > Yeah, Alpha, MIPS and SH are those that support PCI. Adding Richard and > Aurelien, do your platforms support MSI on real hardware but not in QEMU? SH clearly doesn't support MSI. The oldest MIPS board also do not support MSI, but I guess the Boston board might sup

Re: [Qemu-devel] [PATCH v1] s390x/cpumodel: wire up cpu type + id for TCG

2017-06-01 Thread Aurelien Jarno
); > +uint64_t cpuid = s390_cpuid_from_cpu_model(cpu->model); > + > +if (addr & 0x7) { > +program_interrupt(env, PGM_SPECIFICATION, ILEN_LATER_INC); > +return; > +} > + > +/* basic mode, write the cpu address into the first 4 bit of the ID */ > +cpuid |= ((uint64_t)env->cpu_num & 0xf) << 54; > +cpu_stq_data(env, addr, cpuid); > +} > +#endif I don't really see the point of using an helper instead of just updating the existing code. From what I understand the cpuid does not change at runtime, so the s390_cpuid_from_cpu_model function can also be called from translate.c. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net

Re: [Qemu-devel] [PATCH v3 30/30] target/s390x: update maximum TCG model to z800

2017-06-01 Thread Aurelien Jarno
On 2017-06-01 11:04, David Hildenbrand wrote: > On 01.06.2017 10:38, David Hildenbrand wrote: > > On 01.06.2017 00:01, Aurelien Jarno wrote: > >> At the same time fix the TCG version of get_max_cpu_model to return the > >> maximum model like on KVM. Remove the ETF2 and l

Re: [Qemu-devel] [PATCH v3 30/30] target/s390x: update maximum TCG model to z800

2017-06-01 Thread Aurelien Jarno
On 2017-06-01 10:38, David Hildenbrand wrote: > On 01.06.2017 00:01, Aurelien Jarno wrote: > > At the same time fix the TCG version of get_max_cpu_model to return the > > maximum model like on KVM. Remove the ETF2 and long-displacement > > I don't understand the part &

[Qemu-devel] [PATCH v3 19/30] target/s390x: fix adj_len_to_page

2017-05-31 Thread Aurelien Jarno
adj_len_to_page doesn't return the correct result when the address is already page aligned and the length is bigger than a page. Fix that. Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/mem_helper.c | 2 +- 1

[Qemu-devel] [PATCH v3 03/30] target/s390x: implement local-TLB-clearing in IPTE

2017-05-31 Thread Aurelien Jarno
And at the same time make IPTE SMP aware. Reviewed-by: Thomas Huth <th...@redhat.com> Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 2 +- target/s390x/mem_helper.c | 21 +

[Qemu-devel] [PATCH v3 10/30] target/s390x: implement MOVE INVERSE

2017-05-31 Thread Aurelien Jarno
Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 2 ++ target/s390x/mem_helper.c | 12 target/s390x/translate.c | 8 4 files changed, 2

[Qemu-devel] [PATCH v3 05/30] target/s390x: implement TEST ADDRESSING MODE

2017-05-31 Thread Aurelien Jarno
Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/insn-data.def | 3 +++ target/s390x/translate.c | 10 ++ 2 files changed, 13 insertions(+) diff --git a/target/s390x/insn-data.def b/target/s390x/insn-da

[Qemu-devel] [PATCH v3 08/30] target/s390x: implement STORE PAIR TO QUADWORD

2017-05-31 Thread Aurelien Jarno
Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 2 ++ target/s390x/mem_helper.c | 12 target/s390x/translate.c | 6 ++ 4 files changed, 21 insertions(+) diff --git a/target/s390x/helper.h b/

[Qemu-devel] [PATCH v3 12/30] target/s390x: implement MOVE WITH OFFSET

2017-05-31 Thread Aurelien Jarno
Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 4 target/s390x/mem_helper.c | 31 +++ target/s390x/translate.c | 8 +

[Qemu-devel] [PATCH v3 09/30] target/s390x: implement COMPARE AND SIGNAL

2017-05-31 Thread Aurelien Jarno
These functions differ from COMPARE by generating an exception for a QNaN input. Use the non quiet version of floatXX_compare. Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/fpu_helper.c | 27 +++ target/s390x/helper.h | 3 +++ target

[Qemu-devel] [PATCH v3 07/30] target/s390x: implement LOAD PAIR FROM QUADWORD

2017-05-31 Thread Aurelien Jarno
Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 2 ++ target/s390x/mem_helper.c | 13 + target/s390x/translate.c | 7 +++ 4 files changed, 23 insertions(+) diff --git a/target/s390x/helper.h b/

[Qemu-devel] [PATCH v3 06/30] target/s390x: implement PACK

2017-05-31 Thread Aurelien Jarno
Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/helper.h | 1 + target/s390x/insn-data.def | 5 + target/s390x/mem_helper.c | 37 + target/s390x/translate.c | 8

[Qemu-devel] [PATCH v3 17/30] target/s390x: fix COMPARE LOGICAL LONG EXTENDED

2017-05-31 Thread Aurelien Jarno
t;r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- target/s390x/mem_helper.c | 54 --- target/s390x/translate.c | 20 +- 2 files changed, 52 insertions(+), 22 deletions(-) diff --git a/target/s390x/mem_helpe

[Qemu-devel] [PATCH v3 20/30] target/s390x: improve MOVE LONG and MOVE LONG EXTENDED

2017-05-31 Thread Aurelien Jarno
As MVCL and MVCLE only differ by their operands, use a common do_mvcl helper. Optimize it calling fast_memmove and fast_memset. Correctly write back addresses. Check that r1 and r2/r3 registers are even. Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno

<    1   2   3   4   5   6   7   8   9   10   >