From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1OA50n-0005Au-Q9 for qemu-devel@nongnu.org; Thu, 06 May 2010 13:37:25 -0400 Received: from [140.186.70.92] (port=51383 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OA50h-00050w-0T for qemu-devel@nongnu.org; Thu, 06 May 2010 13:37:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OA50R-0004nN-Du for qemu-devel@nongnu.org; Thu, 06 May 2010 13:37:05 -0400 Received: from are.twiddle.net ([75.149.56.221]:47605) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OA50R-0004mg-5g for qemu-devel@nongnu.org; Thu, 06 May 2010 13:37:03 -0400 From: Richard Henderson Date: Thu, 6 May 2010 08:50:40 -0700 Message-Id: <1273161045-2880-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH 0/5] tcg: Initialize prologue after guest_base fixed 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 By doing this we can make any number of decisions about code generation during the prologue. For instance, we can decide whether or not to reserve a register to hold the value of GUEST_BASE. This fixes a latent bug in the two ppc ports in that GUEST_BASE was being loaded as an immediate before the final value of GUEST_BASE is computed. This also fixes some register reservation problems I noticed in the ia64 port, while trying to decide which register to use for holding GUEST_BASE across the TB. r~ Richard Henderson (5): tcg: Initialize the prologue after GUEST_BASE is fixed. tcg-hppa: Load GUEST_BASE as an immediate. tcg-ia64: Fix some register usage issues. tcg-ia64: Load GUEST_BASE into a register. tcg-ppc: Conditionally reserve TCG_GUEST_BASE_REG. bsd-user/main.c | 9 ++- exec.c | 5 + linux-user/main.c | 9 ++- tcg/hppa/tcg-target.c | 12 +-- tcg/ia64/tcg-target.c | 199 +++++++++++++++++++++++++++++++----------------- tcg/ppc/tcg-target.c | 8 +- tcg/ppc64/tcg-target.c | 9 +- tcg/tcg.c | 3 + tcg/tcg.h | 1 + 9 files changed, 167 insertions(+), 88 deletions(-)