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