> Ping for review! Hi,
we're on hard freeze so it's normal that maintainers focus on bugfixes at this time. Paolo > On Thu, Jul 14, 2016 at 4:20 PM, Pranith Kumar <bobby.pr...@gmail.com> wrote: > > Hello, > > > > The following series adds fence instruction generation support to > > TCG. Based on feedback to the last series, I added the four > > combinations of orderings modeled after Sparc membar. > > > > This has been tested and confirmed to fix ordering issues on > > x86/armv7/aarch64 hosts with MTTCG enabled for an ARMv7 guest using > > KVM unit tests. It has also been tested with litmus tests provided by > > Alex Bennée. > > > > TODO: > > > > * The acquire/release order is not utilized yet. Currently we generate > > SC barriers even for acquire/release barriers. The idea is to write > > a pass which combines acquire/release barrier with its corresponding > > load/store operation to generate the load acquire/store release > > instruction on hosts which have such instruction(aarch64 for > > now). > > > > v4: > > > > - Update with comments from v3 > > - Use 'lock orl' instead of mfence on x86. Remove sse2 checks. > > - Rebase on qemu/master instead of MTTCG > > - Rename acquire barrier to load-acquire and release to store-release > > to avoid confusion with prevailing terminology > > > > v3: > > > > - Create different types of barriers. The barrier tcg opcode now takes > > an argument to generate the appropriate barrier instruction. > > - Also add acquire/release/sc ordering flag to argument. > > > > v2: > > > > - Rebase on Richard's patches generating fences for other > > architectures. > > > > v1: > > > > - Initial version: Introduce memory barrier tcg opcode. > > > > Pranith Kumar (14): > > Introduce TCGOpcode for memory barrier > > tcg/i386: Add support for fence > > tcg/aarch64: Add support for fence > > tcg/arm: Add support for fence > > tcg/ia64: Add support for fence > > tcg/mips: Add support for fence > > tcg/ppc: Add support for fence > > tcg/s390: Add support for fence > > tcg/sparc: Add support for fence > > tcg/tci: Add support for fence > > target-arm: Generate fences in ARMv7 frontend > > target-alpha: Generate fence op > > target-aarch64: Generate fences for aarch64 > > target-i386: Generate fences for x86 > > > > target-alpha/translate.c | 4 ++-- > > target-arm/translate-a64.c | 14 +++++++++++++- > > target-arm/translate.c | 4 ++-- > > target-i386/translate.c | 8 ++++++++ > > tcg/README | 17 +++++++++++++++++ > > tcg/aarch64/tcg-target.inc.c | 26 ++++++++++++++++++++++++++ > > tcg/arm/tcg-target.inc.c | 18 ++++++++++++++++++ > > tcg/i386/tcg-target.inc.c | 18 ++++++++++++++++++ > > tcg/ia64/tcg-target.inc.c | 5 +++++ > > tcg/mips/tcg-target.inc.c | 6 ++++++ > > tcg/ppc/tcg-target.inc.c | 22 ++++++++++++++++++++++ > > tcg/s390/tcg-target.inc.c | 11 +++++++++++ > > tcg/sparc/tcg-target.inc.c | 25 +++++++++++++++++++++++++ > > tcg/tcg-op.c | 17 +++++++++++++++++ > > tcg/tcg-op.h | 2 ++ > > tcg/tcg-opc.h | 2 ++ > > tcg/tcg.h | 19 +++++++++++++++++++ > > tcg/tci/tcg-target.inc.c | 3 +++ > > tci.c | 4 ++++ > > 19 files changed, 220 insertions(+), 5 deletions(-) > > > > -- > > 2.9.0 > > > > > > -- > Pranith >