From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MUODR-0000NL-43 for qemu-devel@nongnu.org; Fri, 24 Jul 2009 13:05:53 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MUODJ-0000Kg-Li for qemu-devel@nongnu.org; Fri, 24 Jul 2009 13:05:50 -0400 Received: from [199.232.76.173] (port=33042 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MUODJ-0000KV-Iy for qemu-devel@nongnu.org; Fri, 24 Jul 2009 13:05:45 -0400 Received: from cantor.suse.de ([195.135.220.2]:35438 helo=mx1.suse.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MUODI-0008Ur-Rj for qemu-devel@nongnu.org; Fri, 24 Jul 2009 13:05:45 -0400 From: Ulrich Hecht Date: Fri, 24 Jul 2009 19:08:08 +0200 Message-Id: <1248455292-12808-1-git-send-email-uli@suse.de> Subject: [Qemu-devel] [PATCH 0/4] S/390 host and target support List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, riku.voipio@iki.fi Here's the host support again, and the s390x-linux-user target, which I think are both ready for prime time now. The target has received an inordinate number of fixes and new instructions and now passes several test suites (including openssl and gcc executable tests), can compile source code, run ssh, rpm, you name it. It also fares reasonably well at LTP, especially with the bundle of syscall fixes I'm going to post later. Performance has improved dramatically since last time, by a factor of six or so. I measured md5sum clocking about 4.8 times as many cycles on my Phenom with qemu-s390x as natively on our z10. The host part has not changed dramatically. A small fix, a small optimization, and a bit of formatting to comply with the coding style. S/390 on S/390 emulation works, too. :) CU Uli Ulrich Hecht (4): S/390 CPU emulation S/390 host/target build system support S/390 host support for TCG linux-user: S/390 64-bit (s390x) support Makefile.target | 9 + configure | 20 +- cpu-exec.c | 42 + disas.c | 3 + dyngen-exec.h | 2 +- linux-user/elfload.c | 18 + linux-user/main.c | 82 ++ linux-user/s390x/syscall.h | 25 + linux-user/s390x/syscall_nr.h | 348 ++++++ linux-user/s390x/target_signal.h | 26 + linux-user/s390x/termbits.h | 283 +++++ linux-user/signal.c | 314 +++++ linux-user/syscall.c | 18 +- linux-user/syscall_defs.h | 56 +- qemu-binfmt-conf.sh | 5 +- s390-dis.c | 4 +- s390x.ld | 194 +++ target-s390x/cpu.h | 131 ++ target-s390x/exec.h | 51 + target-s390x/helper.c | 81 ++ target-s390x/helpers.h | 128 ++ target-s390x/op_helper.c | 1719 ++++++++++++++++++++++++++ target-s390x/translate.c | 2479 ++++++++++++++++++++++++++++++++++++++ tcg/s390/tcg-target.c | 1145 ++++++++++++++++++ tcg/s390/tcg-target.h | 76 ++ 25 files changed, 7244 insertions(+), 15 deletions(-) create mode 100644 linux-user/s390x/syscall.h create mode 100644 linux-user/s390x/syscall_nr.h create mode 100644 linux-user/s390x/target_signal.h create mode 100644 linux-user/s390x/termbits.h create mode 100644 s390x.ld create mode 100644 target-s390x/cpu.h create mode 100644 target-s390x/exec.h create mode 100644 target-s390x/helper.c create mode 100644 target-s390x/helpers.h create mode 100644 target-s390x/op_helper.c create mode 100644 target-s390x/translate.c create mode 100644 tcg/s390/tcg-target.c create mode 100644 tcg/s390/tcg-target.h