qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: qemu-devel@nongnu.org
Cc: Alexander Graf <agraf@suse.de>
Subject: [Qemu-devel] [PATCH 000/126] Rewrite s390x translator
Date: Sun,  9 Sep 2012 14:04:18 -0700	[thread overview]
Message-ID: <1347224784-19472-1-git-send-email-rth@twiddle.net> (raw)

As promised the other week.  I've cleaned up the patch set and
re-based it on Blueswirl's areg0 patch set.  For reference, the
entire patch set is available at

  git://repo.or.cz/qemu/rth.git rth/s390-reorg-3

Testing has mostly been on the gcc testsuite, where the execute
test failures are reduced to

FAIL: gcc.dg/attr-ifunc-1.c execution test
FAIL: gcc.dg/attr-ifunc-3.c execution test
FAIL: gcc.dg/attr-ifunc-4.c execution test
FAIL: gcc.dg/attr-ifunc-5.c execution test
FAIL: gcc.dg/cdce1.c execution test
FAIL: gcc.dg/cleanup-11.c execution test
FAIL: gcc.dg/cleanup-9.c execution test
FAIL: gcc.dg/torture/pr41094.c  -O0  execution test
FAIL: gcc.dg/torture/tls/tls-test.c * execution test

I'll probably start trying out the glibc testsuite next, as
that's quite likely to flush out remaining problems with the
fp support (both cdce1 and pr41094 are both failures in pow).

I've also done some testing with -march={z10,z196}, but I
don't have those results handy atm.



r~


Richard Henderson (126):
  tcg: Add TCGV_IS_UNUSED_*
  tcg: Add TCG_COND_NEVER, TCG_COND_ALWAYS
  target-s390: Disassemble more z10 and z196 opcodes
  target-s390: Fix disassembly of cpsdr
  target-s390: Fix gdbstub
  target-s390: Add missing temp_free in gen_op_calc_cc
  target-s390: Use TCG registers for FPR
  target-s390: Add format based disassassmbly infrastructure
  target-s390: Split out disas_jcc
  target-s390: Reorg exception handling
  target-s390: Convert ADD HALFWORD
  target-s390: Implement SUBTRACT HALFWORD
  target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE
  target-s390: Convert MULTIPLY
  target-s390: Convert AND, OR, XOR
  target-s390: Convert COMPARE, COMPARE LOGICAL
  target-s390: Convert LOAD, LOAD LOGICAL
  target-s390: Convert LOAD ADDRESS
  target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD
  target-s390: Convert LOAD AND TEST
  target-s390: Convert LOAD LOGICAL IMMEDIATE
  target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE
  target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE
  target-s390: Convert STORE
  target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
  target-s390: Convert BRANCH AND SAVE
  target-s390: Convert BRANCH ON CONDITION
  target-s390: Convert BRANCH ON COUNT
  target-s390: Convert DIVIDE
  target-s390: Send signals for divide
  target-s390: Convert TEST UNDER MASK
  target-s390: Convert SET ADDRESSING MODE
  target-s390: Convert SUPERVISOR CALL
  target-s390: Convert MOVE LONG
  target-s390: Convert FP LOAD
  target-s390: Convert INSERT CHARACTER
  target-s390: Cleanup cc computation helpers
  target-s390: Convert INSERT CHARACTERS UNDER MASK
  target-s390: Convert EXECUTE
  target-s390: Convert FP STORE
  target-s390: Convert CONVERT TO DECIMAL
  target-s390: Convert SET SYSTEM MASK
  target-s390: Convert LOAD PSW
  target-s390: Convert DIAGNOSE
  target-s390: Convert SHIFT, ROTATE SINGLE
  target-s390: Convert SHIFT DOUBLE
  target-s390: Convert LOAD, STORE MULTIPLE
  target-s390: Convert MOVE
  target-s390: Convert NI, XI, OI
  target-s390: Convert STNSM, STOSM
  target-s390: Convert LAM, STAM
  target-s390: Convert CLCLE, MVCLE
  target-s390: Convert MVC
  target-s390: Convert NC, XC, OC, TR, UNPK
  target-s390: Convert CLC
  target-s390: Convert MVCP, MVCS
  target-s390: Convert LRA
  target-s390: Convert SIGP
  target-s390: Convert EFPC, STFPC
  target-s390: Convert LCTL, STCTL
  target-s390: Convert COMPARE AND SWAP
  target-s390: Convert CLM
  target-s390: Convert STCM
  target-s390: Convert TPROT
  target-s390: Convert LOAD CONTROL, part 2
  target-s390: Convert LOAD REVERSED
  target-s390: Convert STORE REVERSED
  target-s390: Convert LLGT
  target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
  target-s390: Convert FP SUBTRACT
  target-s390: Convert FP DIVIDE
  target-s390: Convert FP MULTIPLY
  target-s390: Convert MULTIPLY AND ADD, SUBTRACT
  target-s390: Convert TEST DATA CLASS
  target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
  target-s390: Convert FP SQUARE ROOT
  target-s390: Convert LOAD ZERO
  target-s390: Convert CONVERT TO FIXED
  target-s390: Convert CONVERT FROM FIXED
  target-s390: Convert FLOGR
  target-s390: Convert LFPC, SFPC
  target-s390: Convert IPM
  target-s390: Convert CKSM
  target-s390: Convert EAR, SAR
  target-s390: Convert MVPG
  target-s390: Convert CLST, MVST
  target-s390: Convert SRST
  target-s390: Convert STIDP
  target-s390: Convert SCK
  target-s390: Convert STCK
  target-s390: Convert SCKC, STCKC
  target-s390: Convert SPT, STPT
  target-s390: Convert SPKA
  target-s390: Convert PTLB
  target-s390: Convert SPX, STPX
  target-s390: Convert STAP
  target-s390: Convert IPTE
  target-s390: Convert ISKE
  target-s390: Convert SSKE
  target-s390: Convert RRBE
  target-s390: Convert subchannel instructions
  target-s390: Convert STURA
  target-s390: Convert CSP
  target-s390: Convert STCKE
  target-s390: Convert SACF
  target-s390: Convert STSI
  target-s390: Convert STFL
  target-s390: Convert LPSWE
  target-s390: Convert SERVC
  target-s390: Delete dead code from old translator
  target-s390: Implement BRANCH ON INDEX
  target-s390: Tidy s->op_cc handling
  target-s390: Implement COMPARE AND BRANCH
  target-s390: Implement RISBG
  target-s390: Implement LDGR, LGDR
  target-s390: Implement R[NOX]SBG
  target-s390: Implement PREFETCH
  target-s390: Implement COMPARE RELATIVE LONG
  target-s390: Implement COMPARE AND TRAP
  target-s390: Implement LOAD ON CONDITION
  target-s390: Implement STORE ON CONDITION
  target-s390: Implement CONVERT TO LOGICAL
  target-s390: Implement CONVERT FROM LOGICAL
  target-s390: Implement POPCNT
  target-s390: Implement CPSDR
  target-s390: Check insn operand specifications

 gdbstub.c                    |   78 +-
 linux-user/main.c            |  133 +-
 s390-dis.c                   |  173 +-
 target-s390x/cc_helper.c     |  335 +-
 target-s390x/cpu.h           |  127 +-
 target-s390x/fpu_helper.c    |  941 ++---
 target-s390x/helper.h        |  168 +-
 target-s390x/insn-data.def   |  800 ++++
 target-s390x/insn-format.def |   55 +
 target-s390x/int_helper.c    |  176 +-
 target-s390x/mem_helper.c    |  326 +-
 target-s390x/misc_helper.c   |   98 +-
 target-s390x/translate.c     | 8314 +++++++++++++++++++-----------------------
 tcg/arm/tcg-target.c         |    2 +-
 tcg/hppa/tcg-target.c        |    2 +-
 tcg/i386/tcg-target.c        |    2 +-
 tcg/ppc/tcg-target.c         |    2 +-
 tcg/ppc64/tcg-target.c       |    2 +-
 tcg/s390/tcg-target.c        |    6 +-
 tcg/sparc/tcg-target.c       |    2 +-
 tcg/tcg-op.h                 |   82 +-
 tcg/tcg.c                    |    2 +
 tcg/tcg.h                    |   43 +-
 23 files changed, 5992 insertions(+), 5877 deletions(-)
 create mode 100644 target-s390x/insn-data.def
 create mode 100644 target-s390x/insn-format.def

-- 
1.7.11.4

             reply	other threads:[~2012-09-09 21:06 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-09 21:04 Richard Henderson [this message]
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
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=1347224784-19472-1-git-send-email-rth@twiddle.net \
    --to=rth@twiddle.net \
    --cc=agraf@suse.de \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).