From patchwork Mon Feb 22 15:59:39 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 8379161 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 69F6D9F2F0 for ; Mon, 22 Feb 2016 16:00:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B3B8920513 for ; Mon, 22 Feb 2016 16:00:22 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 39E5A20511 for ; Mon, 22 Feb 2016 16:00:19 +0000 (UTC) Received: from localhost ([::1]:49704 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXsuI-0000qw-Ma for patchwork-qemu-devel@patchwork.kernel.org; Mon, 22 Feb 2016 11:00:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40560) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXsty-0000ii-Ap for qemu-devel@nongnu.org; Mon, 22 Feb 2016 11:00:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aXstw-0001Ac-8R for qemu-devel@nongnu.org; Mon, 22 Feb 2016 10:59:58 -0500 Received: from mail-wm0-x22a.google.com ([2a00:1450:400c:c09::22a]:34169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXstw-0001AX-2I for qemu-devel@nongnu.org; Mon, 22 Feb 2016 10:59:56 -0500 Received: by mail-wm0-x22a.google.com with SMTP id b205so161905852wmb.1 for ; Mon, 22 Feb 2016 07:59:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=EpBgstUw0Hmvg9mTQUUqWYRHbd5YrwtfhXYOmOrYQ80=; b=XTLrKaLL7Mmste2gXm8SPj9vTSak4mhycxy/yJepOsA/h4wC2NMgXP+hHlUtxBDrdK A26Y93F8EIlFpUENMzT1HMrds4VzYitYvndx5JTKgKrEVVyuAdivh185B3bKf4G3FMmM 1lDe9Sf6bc3yeZq3vsL++03ANiJWrSdI/4v5w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=EpBgstUw0Hmvg9mTQUUqWYRHbd5YrwtfhXYOmOrYQ80=; b=CtdPEJ/69xtV+MYsgODZU/UzZCrbSywXNhn4CsqH2TJeT9/81pPwBAL4T8TMHFIZB8 y2TYgeBTogrS1+Wi42zgoZADSWTq3JDXsOr/3JV2cXRLUTYJXQM4PelJnj8KwL5ClhIX OGlNdILd/ggIynqc5cUXpL4GK88iXTl17NG+dlkArz7eGbDwKMLS+BYa+NuFH3LqlTK/ a1AoO2px2TMaKRjOjZPtJlUZtLJUBOy4pSvqTRewkoqzlGdAw9YfHDi8Z91f6A/xCi/I CYxvhX/kVoYOO3ZwJ6lHDfCHjH7IdR/b/GhlskLzF8Ceql7cZSNvUP6hLBetvrxLgJD6 Z35g== X-Gm-Message-State: AG10YOT19Y6nB0U6urGZTlKZ5Ue9LNi/JdxIjkt1oIar1gbguIgaUuetopqhk1VIx/KBTIgp X-Received: by 10.194.92.226 with SMTP id cp2mr27787823wjb.180.1456156795371; Mon, 22 Feb 2016 07:59:55 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id i5sm25248476wja.23.2016.02.22.07.59.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Feb 2016 07:59:52 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 7A7AF3E02FD; Mon, 22 Feb 2016 15:59:52 +0000 (GMT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Date: Mon, 22 Feb 2016 15:59:39 +0000 Message-Id: <1456156787-17509-2-git-send-email-alex.bennee@linaro.org> X-Mailer: git-send-email 2.7.1 In-Reply-To: <1456156787-17509-1-git-send-email-alex.bennee@linaro.org> References: <1456156787-17509-1-git-send-email-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::22a Cc: Peter Crosthwaite , dgilbert@redhat.com, crosthwaitepeter@gmail.com, pbonzini@redhat.com, =?UTF-8?q?Alex=20Benn=C3=A9e?= , aurelien@aurel32.net, rth@twiddle.net Subject: [Qemu-devel] [PATCH v7 1/9] tcg: pass down TranslationBlock to tcg_code_gen X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP My later debugging patches need access to the origin PC which is held in the TranslationBlock structure. Pass down the whole structure as it also holds the information about the code start point. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v1 - checkpatch fixes v5 - much simplified due to changes since last posting v6 - remove needless tweaking of gen_code_buf in tb_gen_code --- tcg/tcg.c | 6 +++--- tcg/tcg.h | 2 +- translate-all.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tcg/tcg.c b/tcg/tcg.c index 0317c9e..b76d978 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -2269,7 +2269,7 @@ void tcg_dump_op_count(FILE *f, fprintf_function cpu_fprintf) #endif -int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf) +int tcg_gen_code(TCGContext *s, TranslationBlock *tb) { int i, oi, oi_next, num_insns; @@ -2328,8 +2328,8 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf) tcg_reg_alloc_start(s); - s->code_buf = gen_code_buf; - s->code_ptr = gen_code_buf; + s->code_buf = tb->tc_ptr; + s->code_ptr = tb->tc_ptr; tcg_out_tb_init(s); diff --git a/tcg/tcg.h b/tcg/tcg.h index 83da5fb..10af870 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -626,7 +626,7 @@ void tcg_context_init(TCGContext *s); void tcg_prologue_init(TCGContext *s); void tcg_func_start(TCGContext *s); -int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf); +int tcg_gen_code(TCGContext *s, TranslationBlock *tb); void tcg_set_frame(TCGContext *s, TCGReg reg, intptr_t start, intptr_t size); diff --git a/translate-all.c b/translate-all.c index e9f409b..b3207fe 100644 --- a/translate-all.c +++ b/translate-all.c @@ -1120,7 +1120,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, the tcg optimization currently hidden inside tcg_gen_code. All that should be required is to flush the TBs, allocate a new TB, re-initialize it per above, and re-do the actual code generation. */ - gen_code_size = tcg_gen_code(&tcg_ctx, gen_code_buf); + gen_code_size = tcg_gen_code(&tcg_ctx, tb); if (unlikely(gen_code_size < 0)) { goto buffer_overflow; }