All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: Richard Henderson <rth@twiddle.net>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 047/126] target-s390: Convert LOAD, STORE MULTIPLE
Date: Tue, 18 Sep 2012 22:49:28 +0200	[thread overview]
Message-ID: <5058DE58.9080006@suse.de> (raw)
In-Reply-To: <1347224784-19472-48-git-send-email-rth@twiddle.net>

On 09/09/2012 11:05 PM, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
>   target-s390x/insn-data.def |  14 ++++
>   target-s390x/translate.c   | 191 ++++++++++++++++++++++++---------------------
>   2 files changed, 116 insertions(+), 89 deletions(-)
>
> diff --git a/target-s390x/insn-data.def b/target-s390x/insn-data.def
> index 103c1d2..b1f0448 100644
> --- a/target-s390x/insn-data.def
> +++ b/target-s390x/insn-data.def
> @@ -269,6 +269,13 @@
>       C(0xb900, LPGR,    RRE,   Z,   0, r2, r1, 0, abs, abs64)
>       C(0xb910, LPGFR,   RRE,   Z,   0, r2_32s, r1, 0, abs, abs64)
>   
> +/* LOAD MULTIPLE */
> +    C(0x9800, LM,      RS_a,  Z,   0, a2, 0, 0, lm32, 0)
> +    C(0xeb98, LMY,     RSY_a, LD,  0, a2, 0, 0, lm32, 0)
> +    C(0xeb04, LMG,     RSY_a, Z,   0, a2, 0, 0, lm64, 0)
> +/* LOAD MULTIPLE HIGH */
> +    C(0xeb96, LMH,     RSY_a, Z,   0, a2, 0, 0, lmh, 0)
> +
>   /* MOVE LONG */
>       C(0x0e00, MVCL,    RR_a,  Z,   0, 0, 0, 0, mvcl, 0)
>   
> @@ -364,6 +371,13 @@
>   /* STORE HALFWORD RELATIVE LONG */
>       C(0xc407, STHRL,   RIL_b, GIE, r1_o, ri2, 0, 0, st16, 0)
>   
> +/* STORE MULTIPLE */
> +    D(0x9000, STM,     RS_a,  Z,   0, a2, 0, 0, stm, 0, 4)
> +    D(0xeb90, STMY,    RSY_a, LD,  0, a2, 0, 0, stm, 0, 4)
> +    D(0xeb24, STMG,    RSY_a, Z,   0, a2, 0, 0, stm, 0, 8)
> +/* STORE MULTIPLE HIGH */
> +    C(0xeb26, STMH,    RSY_a, Z,   0, a2, 0, 0, stmh, 0)
> +
>   /* SUBTRACT */
>       C(0x1b00, SR,      RR_a,  Z,   r1, r2, new, r1_32, sub, subs32)
>       C(0xb9f9, SRK,     RRF_a, DO,  r2, r3, new, r1_32, sub, subs32)
> diff --git a/target-s390x/translate.c b/target-s390x/translate.c
> index e78e4bb..4c5540d 100644
> --- a/target-s390x/translate.c
> +++ b/target-s390x/translate.c
> @@ -271,6 +271,11 @@ static inline void store_reg32_i64(int reg, TCGv_i64 v)
>       tcg_gen_deposit_i64(regs[reg], regs[reg], v, 0, 32);
>   }
>   
> +static inline void store_reg32h_i64(int reg, TCGv_i64 v)
> +{
> +    tcg_gen_deposit_i64(regs[reg], regs[reg], v, 32, 32);
> +}
> +
>   static inline void store_reg16(int reg, TCGv_i32 v)
>   {
>       /* 16 bit register writes keep the upper bytes */
> @@ -1320,65 +1325,12 @@ static void disas_e5(DisasContext* s, uint64_t insn)
>   
>   static void disas_eb(DisasContext *s, int op, int r1, int r3, int b2, int d2)
>   {
> -    TCGv_i64 tmp, tmp2, tmp3, tmp4;
> +    TCGv_i64 tmp, tmp2;
>       TCGv_i32 tmp32_1, tmp32_2;
> -    int i, stm_len;
>   
>       LOG_DISAS("disas_eb: op 0x%x r1 %d r3 %d b2 %d d2 0x%x\n",
>                 op, r1, r3, b2, d2);
>       switch (op) {
> -    case 0x4:  /* LMG      R1,R3,D2(B2)     [RSE] */
> -    case 0x24: /* STMG     R1,R3,D2(B2)     [RSE] */
> -        stm_len = 8;
> -        goto do_mh;
> -    case 0x26: /* STMH     R1,R3,D2(B2)     [RSE] */
> -    case 0x96: /* LMH      R1,R3,D2(B2)     [RSE] */
> -        stm_len = 4;
> -do_mh:
> -        /* Apparently, unrolling lmg/stmg of any size gains performance -
> -           even for very long ones... */
> -        tmp = get_address(s, 0, b2, d2);
> -        tmp3 = tcg_const_i64(stm_len);
> -        tmp4 = tcg_const_i64(op == 0x26 ? 32 : 4);
> -        for (i = r1;; i = (i + 1) % 16) {
> -            switch (op) {
> -            case 0x4:
> -                tcg_gen_qemu_ld64(regs[i], tmp, get_mem_index(s));
> -                break;
> -            case 0x96:
> -                tmp2 = tcg_temp_new_i64();
> -#if HOST_LONG_BITS == 32
> -                tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s));
> -                tcg_gen_trunc_i64_i32(TCGV_HIGH(regs[i]), tmp2);
> -#else
> -                tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s));
> -                tcg_gen_shl_i64(tmp2, tmp2, tmp4);
> -                tcg_gen_ext32u_i64(regs[i], regs[i]);
> -                tcg_gen_or_i64(regs[i], regs[i], tmp2);
> -#endif
> -                tcg_temp_free_i64(tmp2);
> -                break;
> -            case 0x24:
> -                tcg_gen_qemu_st64(regs[i], tmp, get_mem_index(s));
> -                break;
> -            case 0x26:
> -                tmp2 = tcg_temp_new_i64();
> -                tcg_gen_shr_i64(tmp2, regs[i], tmp4);
> -                tcg_gen_qemu_st32(tmp2, tmp, get_mem_index(s));
> -                tcg_temp_free_i64(tmp2);
> -                break;
> -            default:
> -                tcg_abort();
> -            }
> -            if (i == r3) {
> -                break;
> -            }
> -            tcg_gen_add_i64(tmp, tmp, tmp3);
> -        }
> -        tcg_temp_free_i64(tmp);
> -        tcg_temp_free_i64(tmp3);
> -        tcg_temp_free_i64(tmp4);
> -        break;
>       case 0x2c: /* STCMH R1,M3,D2(B2) [RSY] */
>           tmp = get_address(s, 0, b2, d2);
>           tmp32_1 = tcg_const_i32(r1);
> @@ -2270,44 +2222,17 @@ static void disas_b9(DisasContext *s, int op, int r1, int r2)
>   
>   static void disas_s390_insn(DisasContext *s)
>   {
> -    TCGv_i64 tmp, tmp2, tmp3, tmp4;
> +    TCGv_i64 tmp, tmp2;
>       TCGv_i32 tmp32_1, tmp32_2;
>       unsigned char opc;
>       uint64_t insn;
> -    int op, r1, r2, r3, d1, d2, x2, b1, b2, i, i2, r1b;
> +    int op, r1, r2, r3, d1, d2, x2, b1, b2, i2, r1b;
>       TCGv_i32 vl;
>   
>       opc = cpu_ldub_code(cpu_single_env, s->pc);
>       LOG_DISAS("opc 0x%x\n", opc);
>   
>       switch (opc) {
> -    case 0x98: /* LM     R1,R3,D2(B2)     [RS] */
> -    case 0x90: /* STM    R1,R3,D2(B2)     [RS] */
> -        insn = ld_code4(s->pc);
> -        decode_rs(s, insn, &r1, &r3, &b2, &d2);
> -
> -        tmp = get_address(s, 0, b2, d2);
> -        tmp2 = tcg_temp_new_i64();
> -        tmp3 = tcg_const_i64(4);
> -        tmp4 = tcg_const_i64(0xffffffff00000000ULL);
> -        for (i = r1;; i = (i + 1) % 16) {
> -            if (opc == 0x98) {
> -                tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s));
> -                tcg_gen_and_i64(regs[i], regs[i], tmp4);
> -                tcg_gen_or_i64(regs[i], regs[i], tmp2);
> -            } else {
> -                tcg_gen_qemu_st32(regs[i], tmp, get_mem_index(s));
> -            }
> -            if (i == r3) {
> -                break;
> -            }
> -            tcg_gen_add_i64(tmp, tmp, tmp3);
> -        }
> -        tcg_temp_free_i64(tmp);
> -        tcg_temp_free_i64(tmp2);
> -        tcg_temp_free_i64(tmp3);
> -        tcg_temp_free_i64(tmp4);
> -        break;
>       case 0x92: /* MVI    D1(B1),I2        [SI] */
>           insn = ld_code4(s->pc);
>           tmp = decode_si(s, insn, &i2, &b1, &d1);
> @@ -2604,19 +2529,17 @@ static void disas_s390_insn(DisasContext *s)
>           d1 = (insn >> 16) & 0xfff;
>           b2 = (insn >> 12) & 0xf;
>           d2 = insn & 0xfff;
> -        tmp = load_reg(r1);
>           /* XXX key in r3 */
> -        tmp2 = get_address(s, 0, b1, d1);
> -        tmp3 = get_address(s, 0, b2, d2);
> +        tmp = get_address(s, 0, b1, d1);
> +        tmp2 = get_address(s, 0, b2, d2);
>           if (opc == 0xda) {
> -            gen_helper_mvcp(cc_op, cpu_env, tmp, tmp2, tmp3);
> +            gen_helper_mvcp(cc_op, cpu_env, regs[r1], tmp, tmp2);
>           } else {
> -            gen_helper_mvcs(cc_op, cpu_env, tmp, tmp2, tmp3);
> +            gen_helper_mvcs(cc_op, cpu_env, regs[r1], tmp, tmp2);
>           }
>           set_cc_static(s);
>           tcg_temp_free_i64(tmp);
>           tcg_temp_free_i64(tmp2);
> -        tcg_temp_free_i64(tmp3);
>           break;
>   #endif
>       case 0xe3:
> @@ -3346,6 +3269,57 @@ static ExitStatus op_lpsw(DisasContext *s, DisasOps *o)
>   }
>   #endif
>   
> +static ExitStatus op_lm32(DisasContext *s, DisasOps *o)
> +{
> +    int r1 = get_field(s->fields, r1);
> +    int r3 = get_field(s->fields, r3);
> +    TCGv_i64 t = tcg_temp_new_i64();
> +
> +    while (1) {
> +        tcg_gen_qemu_ld32u(t, o->in2, get_mem_index(s));
> +        store_reg32_i64(r1, t);
> +        if (r1 == r3) {
> +            break;
> +        }
> +        tcg_gen_addi_i64(o->in2, o->in2, 4);
> +        r1 = (r1 + 1) & 15;
> +    }
> +    return NO_EXIT;
> +}
> +
> +static ExitStatus op_lmh(DisasContext *s, DisasOps *o)
> +{
> +    int r1 = get_field(s->fields, r1);
> +    int r3 = get_field(s->fields, r3);
> +    TCGv_i64 t = tcg_temp_new_i64();
> +
> +    while (1) {
> +        tcg_gen_qemu_ld32u(t, o->in2, get_mem_index(s));
> +        store_reg32h_i64(r1, t);
> +        if (r1 == r3) {
> +            break;
> +        }
> +        tcg_gen_addi_i64(o->in2, o->in2, 4);

I don't have a good answer here, but how do we guarantee that we're not 
overrunning the tcg inst buffer?


Alex

  reply	other threads:[~2012-09-18 20:49 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-09 21:04 [Qemu-devel] [PATCH 000/126] Rewrite s390x translator Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 001/126] tcg: Add TCGV_IS_UNUSED_* Richard Henderson
2012-09-10 14:16   ` Aurelien Jarno
2012-09-09 21:04 ` [Qemu-devel] [PATCH 002/126] tcg: Add TCG_COND_NEVER, TCG_COND_ALWAYS Richard Henderson
2012-09-10 14:17   ` Aurelien Jarno
2012-09-09 21:04 ` [Qemu-devel] [PATCH 003/126] target-s390: Disassemble more z10 and z196 opcodes Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 004/126] target-s390: Fix disassembly of cpsdr Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 005/126] target-s390: Fix gdbstub Richard Henderson
2012-09-12 13:25   ` Alexander Graf
2012-09-12 15:11     ` Richard Henderson
2012-09-12 15:54       ` Alexander Graf
2012-09-12 16:15         ` Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 006/126] target-s390: Add missing temp_free in gen_op_calc_cc Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 007/126] target-s390: Use TCG registers for FPR Richard Henderson
2012-09-10 14:34   ` Aurelien Jarno
2012-09-10 14:45     ` Richard Henderson
2012-09-10 14:52       ` Aurelien Jarno
2012-09-09 21:04 ` [Qemu-devel] [PATCH 008/126] target-s390: Add format based disassassmbly infrastructure Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 009/126] target-s390: Split out disas_jcc Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 010/126] target-s390: Reorg exception handling Richard Henderson
2012-09-18 20:18   ` Alexander Graf
2012-09-19  0:14     ` Richard Henderson
2012-09-19 11:07       ` Alexander Graf
2012-09-19 11:29       ` Peter Maydell
2012-09-19 11:34         ` Alexander Graf
2012-09-19 13:02           ` Alexander Graf
2012-09-19 14:34             ` Richard Henderson
2012-09-19 14:40               ` Alexander Graf
2012-09-09 21:04 ` [Qemu-devel] [PATCH 011/126] target-s390: Convert ADD HALFWORD Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 012/126] target-s390: Implement SUBTRACT HALFWORD Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 013/126] target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 014/126] target-s390: Convert MULTIPLY Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 015/126] target-s390: Convert AND, OR, XOR Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 016/126] target-s390: Convert COMPARE, COMPARE LOGICAL Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 017/126] target-s390: Convert LOAD, LOAD LOGICAL Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 018/126] target-s390: Convert LOAD ADDRESS Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 019/126] target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 020/126] target-s390: Convert LOAD AND TEST Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 021/126] target-s390: Convert LOAD LOGICAL IMMEDIATE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 022/126] target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 023/126] target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 024/126] target-s390: Convert STORE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 025/126] target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 026/126] target-s390: Convert BRANCH AND SAVE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 027/126] target-s390: Convert BRANCH ON CONDITION Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 028/126] target-s390: Convert BRANCH ON COUNT Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 029/126] target-s390: Convert DIVIDE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 030/126] target-s390: Send signals for divide Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 031/126] target-s390: Convert TEST UNDER MASK Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 032/126] target-s390: Convert SET ADDRESSING MODE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 033/126] target-s390: Convert SUPERVISOR CALL Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 034/126] target-s390: Convert MOVE LONG Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 035/126] target-s390: Convert FP LOAD Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 036/126] target-s390: Convert INSERT CHARACTER Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 037/126] target-s390: Cleanup cc computation helpers Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 038/126] target-s390: Convert INSERT CHARACTERS UNDER MASK Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 039/126] target-s390: Convert EXECUTE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 040/126] target-s390: Convert FP STORE Richard Henderson
2012-09-09 21:04 ` [Qemu-devel] [PATCH 041/126] target-s390: Convert CONVERT TO DECIMAL Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 042/126] target-s390: Convert SET SYSTEM MASK Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 043/126] target-s390: Convert LOAD PSW Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 044/126] target-s390: Convert DIAGNOSE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 045/126] target-s390: Convert SHIFT, ROTATE SINGLE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 046/126] target-s390: Convert SHIFT DOUBLE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 047/126] target-s390: Convert LOAD, STORE MULTIPLE Richard Henderson
2012-09-18 20:49   ` Alexander Graf [this message]
2012-09-19  0:15     ` Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 048/126] target-s390: Convert MOVE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 049/126] target-s390: Convert NI, XI, OI Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 050/126] target-s390: Convert STNSM, STOSM Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 051/126] target-s390: Convert LAM, STAM Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 052/126] target-s390: Convert CLCLE, MVCLE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 053/126] target-s390: Convert MVC Richard Henderson
2012-09-18 20:52   ` Alexander Graf
2012-09-09 21:05 ` [Qemu-devel] [PATCH 054/126] target-s390: Convert NC, XC, OC, TR, UNPK Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 055/126] target-s390: Convert CLC Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 056/126] target-s390: Convert MVCP, MVCS Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 057/126] target-s390: Convert LRA Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 058/126] target-s390: Convert SIGP Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 059/126] target-s390: Convert EFPC, STFPC Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 060/126] target-s390: Convert LCTL, STCTL Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 061/126] target-s390: Convert COMPARE AND SWAP Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 062/126] target-s390: Convert CLM Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 063/126] target-s390: Convert STCM Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 064/126] target-s390: Convert TPROT Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 065/126] target-s390: Convert LOAD CONTROL, part 2 Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 066/126] target-s390: Convert LOAD REVERSED Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 067/126] target-s390: Convert STORE REVERSED Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 068/126] target-s390: Convert LLGT Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 069/126] target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 070/126] target-s390: Convert FP SUBTRACT Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 071/126] target-s390: Convert FP DIVIDE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 072/126] target-s390: Convert FP MULTIPLY Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 073/126] target-s390: Convert MULTIPLY AND ADD, SUBTRACT Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 074/126] target-s390: Convert TEST DATA CLASS Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 075/126] target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 076/126] target-s390: Convert FP SQUARE ROOT Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 077/126] target-s390: Convert LOAD ZERO Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 078/126] target-s390: Convert CONVERT TO FIXED Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 079/126] target-s390: Convert CONVERT FROM FIXED Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 080/126] target-s390: Convert FLOGR Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 081/126] target-s390: Convert LFPC, SFPC Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 082/126] target-s390: Convert IPM Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 083/126] target-s390: Convert CKSM Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 084/126] target-s390: Convert EAR, SAR Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 085/126] target-s390: Convert MVPG Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 086/126] target-s390: Convert CLST, MVST Richard Henderson
2012-09-11 19:11   ` Blue Swirl
2012-09-11 21:09     ` Richard Henderson
2012-09-18 21:04       ` Alexander Graf
2012-09-09 21:05 ` [Qemu-devel] [PATCH 087/126] target-s390: Convert SRST Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 088/126] target-s390: Convert STIDP Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 089/126] target-s390: Convert SCK Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 090/126] target-s390: Convert STCK Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 091/126] target-s390: Convert SCKC, STCKC Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 092/126] target-s390: Convert SPT, STPT Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 093/126] target-s390: Convert SPKA Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 094/126] target-s390: Convert PTLB Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 095/126] target-s390: Convert SPX, STPX Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 096/126] target-s390: Convert STAP Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 097/126] target-s390: Convert IPTE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 098/126] target-s390: Convert ISKE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 099/126] target-s390: Convert SSKE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 100/126] target-s390: Convert RRBE Richard Henderson
2012-09-09 21:05 ` [Qemu-devel] [PATCH 101/126] target-s390: Convert subchannel instructions Richard Henderson
2012-09-18 21:08 ` [Qemu-devel] [PATCH 000/126] Rewrite s390x translator Alexander Graf
2012-09-18 21:09   ` Alexander Graf
2012-09-19  0:32     ` Richard Henderson
2012-09-19 11:04       ` Alexander Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5058DE58.9080006@suse.de \
    --to=agraf@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.