From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nub7e-0003pn-U7 for qemu-devel@nongnu.org; Wed, 24 Mar 2010 20:40:31 -0400 Received: from [140.186.70.92] (port=57520 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nub7U-0003nT-Ue for qemu-devel@nongnu.org; Wed, 24 Mar 2010 20:40:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nub7R-0000e2-59 for qemu-devel@nongnu.org; Wed, 24 Mar 2010 20:40:20 -0400 Received: from are.twiddle.net ([75.149.56.221]:53025) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nub7Q-0000dX-W2 for qemu-devel@nongnu.org; Wed, 24 Mar 2010 20:40:17 -0400 Message-Id: From: Richard Henderson Date: Wed, 24 Mar 2010 17:24:38 -0700 Subject: [Qemu-devel] [PATCH 00/10, v3] target-alpha improvements List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aurelien@aurel32.net Changes from v1->v2: * Use setcond and goto_tb. Changes from v2->v3: * Enable NPTL. I don't see how any sort of emulation of cmpxchg/load-locked is working for any currently enabled nptl target. I think how I've approached handling load-locked for alpha is probably the easiest way. Slightly better would be if TCG had a (set of) cmpxchg opcodes, which would have the benefit of getting the virt->phys->host address (and segfault handling) more correct. I've sort of totally ignored the faulting for now. This is just good enough to not immediately fail the glibc testsuite for alpha, as the default glibc test skeleton uses clone. I'm concurrently debuging the glibc-alpha port and the qemu-alpha syscall emulation, so it's not always clear which is at fault. r~ Richard Henderson (10): target-alpha: Add flags markups to helpers.h. target-alpha: Implement cpys{,n,e} inline. target-alpha: Implement rs/rc properly. target-alpha: Implement cvtql inline. target-alpha: Implement cvtlq inline. target-alpha: Use setcond for int comparisons. target-alpha: Use non-inverted arguments to gen_{f}cmov. target-alpha: Emit goto_tb opcodes. target-alpha: Implement load-locked/store-conditional properly. target-alpha: Enable NPTL. configure | 1 + linux-user/main.c | 16 + linux-user/syscall.c | 2 +- target-alpha/cpu.h | 31 ++- target-alpha/helper.c | 6 +- target-alpha/helper.h | 182 ++++++------ target-alpha/op_helper.c | 131 +++++---- target-alpha/translate.c | 722 +++++++++++++++++++++++++++++----------------- 8 files changed, 651 insertions(+), 440 deletions(-)