From: Alexander Graf <agraf@suse.de>
To: Richard Henderson <rth@twiddle.net>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 010/126] target-s390: Reorg exception handling
Date: Tue, 18 Sep 2012 22:18:31 +0200 [thread overview]
Message-ID: <5058D717.8070600@suse.de> (raw)
In-Reply-To: <1347224784-19472-11-git-send-email-rth@twiddle.net>
On 09/09/2012 11:04 PM, Richard Henderson wrote:
> Make the user path more like the system path. Prepare for more kinds
> of runtime exceptions. Compute ILC from S->NEXT_PC, rather than
> passing it around.
>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
> linux-user/main.c | 133 +++++++++++++++++----------
> target-s390x/cpu.h | 11 ---
> target-s390x/misc_helper.c | 10 ++-
> target-s390x/translate.c | 220 +++++++++++++++++----------------------------
> 4 files changed, 174 insertions(+), 200 deletions(-)
>
> diff --git a/linux-user/main.c b/linux-user/main.c
> index 1a1c661..8f6f39b 100644
> --- a/linux-user/main.c
> +++ b/linux-user/main.c
> @@ -2935,71 +2935,108 @@ void cpu_loop(CPUAlphaState *env)
> #ifdef TARGET_S390X
> void cpu_loop(CPUS390XState *env)
> {
> - int trapnr;
> + int trapnr, n, sig;
> target_siginfo_t info;
> + target_ulong addr;
>
> while (1) {
> - trapnr = cpu_s390x_exec (env);
> -
> + trapnr = cpu_s390x_exec(env);
> switch (trapnr) {
> case EXCP_INTERRUPT:
> - /* just indicate that signals should be handled asap */
> + /* Just indicate that signals should be handled asap. */
> break;
> - case EXCP_DEBUG:
> - {
> - int sig;
>
> - sig = gdb_handlesig (env, TARGET_SIGTRAP);
> - if (sig) {
> - info.si_signo = sig;
> - info.si_errno = 0;
> - info.si_code = TARGET_TRAP_BRKPT;
> - queue_signal(env, info.si_signo, &info);
> - }
> + case EXCP_SVC:
> + n = env->int_svc_code;
> + if (!n) {
> + /* syscalls > 255 */
> + n = env->regs[1];
> }
> + env->psw.addr += env->int_svc_ilc;
> + env->regs[2] = do_syscall(env, n, env->regs[2], env->regs[3],
> + env->regs[4], env->regs[5],
> + env->regs[6], env->regs[7], 0, 0);
> break;
> - case EXCP_SVC:
> - {
> - int n = env->int_svc_code;
> - if (!n) {
> - /* syscalls > 255 */
> - n = env->regs[1];
> - }
> - env->psw.addr += env->int_svc_ilc;
> - env->regs[2] = do_syscall(env, n,
> - env->regs[2],
> - env->regs[3],
> - env->regs[4],
> - env->regs[5],
> - env->regs[6],
> - env->regs[7],
> - 0, 0);
> +
> + case EXCP_DEBUG:
> + sig = gdb_handlesig(env, TARGET_SIGTRAP);
> + if (sig) {
> + n = TARGET_TRAP_BRKPT;
> + goto do_signal_pc;
> }
> break;
> - case EXCP_ADDR:
> - {
> - info.si_signo = SIGSEGV;
> - info.si_errno = 0;
> + case EXCP_PGM:
> + n = env->int_pgm_code;
> + switch (n) {
> + case PGM_OPERATION:
> + case PGM_PRIVILEGED:
> + sig = SIGILL;
> + n = TARGET_ILL_ILLOPC;
> + goto do_signal_pc;
> + case PGM_PROTECTION:
> + case PGM_ADDRESSING:
> + sig = SIGSEGV;
> /* XXX: check env->error_code */
> - info.si_code = TARGET_SEGV_MAPERR;
> - info._sifields._sigfault._addr = env->__excp_addr;
> - queue_signal(env, info.si_signo, &info);
> + n = TARGET_SEGV_MAPERR;
> + addr = env->__excp_addr;
> + goto do_signal;
> + case PGM_EXECUTE:
> + case PGM_SPECIFICATION:
> + case PGM_DATA:
> + case PGM_SPECIAL_OP:
> + case PGM_OPERAND:
> + sig = SIGILL;
> + n = TARGET_ILL_ILLOPN;
> + goto do_signal_pc;
> + case PGM_FIXPT_OVERFLOW:
> + sig = SIGFPE;
> + n = TARGET_FPE_INTOVF;
> + goto do_signal_pc;
> + case PGM_FIXPT_DIVIDE:
> + sig = SIGFPE;
> + n = TARGET_FPE_INTDIV;
> + goto do_signal_pc;
> + case PGM_HFP_EXP_OVERFLOW:
> + sig = SIGFPE;
> + n = TARGET_FPE_FLTOVF;
> + goto do_signal_pc;
> + case PGM_HFP_EXP_UNDERFLOW:
> + sig = SIGFPE;
> + n = TARGET_FPE_FLTUND;
> + goto do_signal_pc;
> + case PGM_HFP_SIGNIFICANCE:
> + sig = SIGFPE;
> + n = TARGET_FPE_FLTRES;
> + goto do_signal_pc;
> + case PGM_HFP_DIVIDE:
> + sig = SIGFPE;
> + n = TARGET_FPE_FLTDIV;
> + goto do_signal_pc;
> + case PGM_HFP_SQRT:
> + sig = SIGFPE;
> + n = TARGET_FPE_FLTINV;
> + goto do_signal_pc;
> + default:
> + fprintf(stderr, "Unhandled program exception: %#x\n", n);
> + cpu_dump_state(env, stderr, fprintf, 0);
> + exit(1);
> }
> break;
> - case EXCP_SPEC:
> - {
> - fprintf(stderr,"specification exception insn 0x%08x%04x\n", ldl(env->psw.addr), lduw(env->psw.addr + 4));
> - info.si_signo = SIGILL;
> - info.si_errno = 0;
> - info.si_code = TARGET_ILL_ILLOPC;
> - info._sifields._sigfault._addr = env->__excp_addr;
> - queue_signal(env, info.si_signo, &info);
> - }
> +
> + do_signal_pc:
> + addr = env->psw.addr;
> + do_signal:
> + info.si_signo = sig;
> + info.si_errno = 0;
> + info.si_code = n;
> + info._sifields._sigfault._addr = addr;
> + queue_signal(env, info.si_signo, &info);
> break;
> +
> default:
> - printf ("Unhandled trap: 0x%x\n", trapnr);
> + fprintf(stderr, "Unhandled trap: 0x%x\n", trapnr);
> cpu_dump_state(env, stderr, fprintf, 0);
> - exit (1);
> + exit(1);
> }
> process_pending_signals (env);
> }
> diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
> index 471fb91..17829b5 100644
> --- a/target-s390x/cpu.h
> +++ b/target-s390x/cpu.h
> @@ -352,21 +352,10 @@ static inline void cpu_set_tls(CPUS390XState *env, target_ulong newtls)
>
> #include "exec-all.h"
>
> -#ifdef CONFIG_USER_ONLY
> -
> -#define EXCP_OPEX 1 /* operation exception (sigill) */
> -#define EXCP_SVC 2 /* supervisor call (syscall) */
> -#define EXCP_ADDR 5 /* addressing exception */
> -#define EXCP_SPEC 6 /* specification exception */
> -
> -#else
> -
> #define EXCP_EXT 1 /* external interrupt */
> #define EXCP_SVC 2 /* supervisor call (syscall) */
> #define EXCP_PGM 3 /* program interruption */
>
> -#endif /* CONFIG_USER_ONLY */
> -
> #define INTERRUPT_EXT (1 << 0)
> #define INTERRUPT_TOD (1 << 1)
> #define INTERRUPT_CPUTIMER (1 << 2)
> diff --git a/target-s390x/misc_helper.c b/target-s390x/misc_helper.c
> index f405b97..1502f15 100644
> --- a/target-s390x/misc_helper.c
> +++ b/target-s390x/misc_helper.c
> @@ -86,10 +86,12 @@ void do_interrupt(CPUS390XState *env)
> int cpu_s390x_handle_mmu_fault(CPUS390XState *env, target_ulong address,
> int rw, int mmu_idx)
> {
> - /* fprintf(stderr, "%s: address 0x%lx rw %d mmu_idx %d\n",
> - __func__, address, rw, mmu_idx); */
> - env->exception_index = EXCP_ADDR;
> - /* FIXME: find out how this works on a real machine */
> + env->exception_index = EXCP_PGM;
> + env->int_pgm_code = PGM_PROTECTION;
> + /* A real machine puts the address in LowCore, which the kernel
> + helpfully interprets for us. Since we've nothing similar
> + within the userland address space, invent something for use
> + within cpu_loop. */
> env->__excp_addr = address;
> return 1;
> }
> diff --git a/target-s390x/translate.c b/target-s390x/translate.c
> index 996d786..70e5d87 100644
> --- a/target-s390x/translate.c
> +++ b/target-s390x/translate.c
> @@ -18,7 +18,6 @@
> * License along with this library; if not, see <http://www.gnu.org/licenses/>.
> */
>
> -/* #define DEBUG_ILLEGAL_INSTRUCTIONS */
> /* #define DEBUG_INLINE_BRANCHES */
> #define S390X_DEBUG_DISAS
> /* #define S390X_DEBUG_DISAS_VERBOSE */
> @@ -336,103 +335,52 @@ static inline int get_mem_index(DisasContext *s)
> }
> }
>
> -static inline void gen_debug(DisasContext *s)
> +static void gen_exception(int excp)
> {
> - TCGv_i32 tmp = tcg_const_i32(EXCP_DEBUG);
> - update_psw_addr(s);
> - gen_op_calc_cc(s);
> - gen_helper_exception(cpu_env, tmp);
> - tcg_temp_free_i32(tmp);
> - s->is_jmp = DISAS_EXCP;
> -}
> -
> -#ifdef CONFIG_USER_ONLY
> -
> -static void gen_illegal_opcode(DisasContext *s, int ilc)
> -{
> - TCGv_i32 tmp = tcg_const_i32(EXCP_SPEC);
> - update_psw_addr(s);
> - gen_op_calc_cc(s);
> + TCGv_i32 tmp = tcg_const_i32(excp);
> gen_helper_exception(cpu_env, tmp);
> tcg_temp_free_i32(tmp);
> - s->is_jmp = DISAS_EXCP;
> }
>
> -#else /* CONFIG_USER_ONLY */
> -
> -static void debug_print_inst(DisasContext *s, int ilc)
> -{
> -#ifdef DEBUG_ILLEGAL_INSTRUCTIONS
> - uint64_t inst = 0;
> -
> - switch (ilc & 3) {
> - case 1:
> - inst = ld_code2(s->pc);
> - break;
> - case 2:
> - inst = ld_code4(s->pc);
> - break;
> - case 3:
> - inst = ld_code6(s->pc);
> - break;
> - }
> -
> - fprintf(stderr, "Illegal instruction [%d at %016" PRIx64 "]: 0x%016"
> - PRIx64 "\n", ilc, s->pc, inst);
> -#endif
> -}
> -
> -static void gen_program_exception(DisasContext *s, int ilc, int code)
> +static void gen_program_exception(DisasContext *s, int code)
> {
> TCGv_i32 tmp;
>
> - debug_print_inst(s, ilc);
> -
> - /* remember what pgm exeption this was */
> + /* Remember what pgm exeption this was. */
> tmp = tcg_const_i32(code);
> tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUS390XState, int_pgm_code));
> tcg_temp_free_i32(tmp);
>
> - tmp = tcg_const_i32(ilc);
> + tmp = tcg_const_i32(s->next_pc - s->pc);
Mind to explain this one?
> tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUS390XState, int_pgm_ilc));
> tcg_temp_free_i32(tmp);
Alex
next prev parent reply other threads:[~2012-09-18 20:18 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 [this message]
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
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=5058D717.8070600@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.