From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51540) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avtZW-0002cF-QJ for qemu-devel@nongnu.org; Thu, 28 Apr 2016 17:34:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1avtZT-0005PR-Gy for qemu-devel@nongnu.org; Thu, 28 Apr 2016 17:34:06 -0400 Received: from mail-lf0-x234.google.com ([2a00:1450:4010:c07::234]:34390) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avtZS-0005PH-Ox for qemu-devel@nongnu.org; Thu, 28 Apr 2016 17:34:03 -0400 Received: by mail-lf0-x234.google.com with SMTP id j11so111797820lfb.1 for ; Thu, 28 Apr 2016 14:34:02 -0700 (PDT) From: Sergey Fedorov Date: Fri, 29 Apr 2016 00:33:45 +0300 Message-Id: <1461879235-7694-1-git-send-email-sergey.fedorov@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH v5 00/10] tcg: Direct block chaining clean-up List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Sergey Fedorov , Paolo Bonzini , Peter Crosthwaite , Richard Henderson From: Sergey Fedorov This series combines a set of patches which is meant to improve overall code structure and readability of the direct block chaining mechanism. The other point is to make a step towards thread safety of TB chainig. This series is based on commit: 1d02fa9e045b ("translate-all: Adjust 256mb testing for mips64") from git://github.com/rth7680/qemu.git tcg-next and is available at git://github.com/sergefdrv/qemu.git tb-chaining-cleanup-v5 Summary of changes: Changes in v5: * Fixed rebase conflicts * Don't check for in_superpage() in target-alpha/translate.c for user-mode [PATCH v5 10/10] Changes in v4: * Removed assert from tb_add_jump() [PATCH v4 02/10] * Added comment on TB stuff synchronization [PATCH v4 04/10] * Documented tcg_gen_goto_tb() and moved its usage notes there [PATCH v4 09/10] and [PATCH v4 10/10] * Cc'ed usermode maintainers in commit message [PATCH v4 10/10] Changes in v3: * New patch to clean up safety checks [PATCH v3 09/10] * New patch to eliminate unneeded checks in user-mode [PATCH v3 10/10] Changes in v2: * Eliminated duplicate dereference of 'ptb' in tb_jmp_remove() [PATCH v2 2/8] * Tweaked a comment [PATCH v2 4/8] * Complete rewrite [PATCH v2 5/8] * Tweaked a comment; eliminated duplicate dereference of 'ptb' in tb_jmp_unlink() [PATCH v2 8/8] Sergey Fedorov (10): tcg: Clean up direct block chaining data fields tcg: Use uintptr_t type for jmp_list_{next|first} fields of TB tcg: Rearrange tb_link_page() to avoid forward declaration tcg: Init TB's direct jumps before making it visible tcg: Clarify thread safety check in tb_add_jump() tcg: Rename tb_jmp_remove() to tb_remove_from_jmp_list() tcg: Extract removing of jumps to TB from tb_phys_invalidate() tcg: Clean up tb_jmp_unlink() tcg: Clean up direct block chaining safety checks tcg: Allow goto_tb to any target PC in user mode cpu-exec.c | 7 +- include/exec/exec-all.h | 69 ++++++---- target-alpha/translate.c | 4 + target-arm/translate-a64.c | 2 + target-arm/translate.c | 17 ++- target-cris/translate.c | 16 ++- target-i386/translate.c | 23 ++-- target-lm32/translate.c | 21 ++- target-m68k/translate.c | 18 ++- target-microblaze/translate.c | 15 ++- target-mips/translate.c | 20 ++- target-moxie/translate.c | 21 ++- target-openrisc/translate.c | 20 ++- target-ppc/translate.c | 20 ++- target-s390x/translate.c | 17 ++- target-sh4/translate.c | 21 ++- target-sparc/translate.c | 24 +++- target-tricore/translate.c | 20 ++- target-unicore32/translate.c | 16 ++- target-xtensa/translate.c | 4 + tcg/aarch64/tcg-target.inc.c | 7 +- tcg/arm/tcg-target.inc.c | 8 +- tcg/i386/tcg-target.inc.c | 8 +- tcg/ia64/tcg-target.inc.c | 6 +- tcg/mips/tcg-target.inc.c | 8 +- tcg/ppc/tcg-target.inc.c | 6 +- tcg/s390/tcg-target.inc.c | 11 +- tcg/sparc/tcg-target.inc.c | 9 +- tcg/tcg-op.h | 13 ++ tcg/tcg.h | 6 +- tcg/tci/tcg-target.inc.c | 10 +- translate-all.c | 301 ++++++++++++++++++++++-------------------- 32 files changed, 472 insertions(+), 296 deletions(-) -- 2.8.1