qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 85aa80: tcg: Support arbitrary size + alignme


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 85aa80: tcg: Support arbitrary size + alignment
Date: Fri, 16 Sep 2016 10:00:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 85aa80813dd9f5c1f581c743e45678a3bee220f8
      
https://github.com/qemu/qemu/commit/85aa80813dd9f5c1f581c743e45678a3bee220f8
  Author: Richard Henderson <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M softmmu_template.h
    M tcg/aarch64/tcg-target.inc.c
    M tcg/arm/tcg-target.inc.c
    M tcg/i386/tcg-target.inc.c
    M tcg/ia64/tcg-target.inc.c
    M tcg/mips/tcg-target.inc.c
    M tcg/ppc/tcg-target.inc.c
    M tcg/s390/tcg-target.inc.c
    M tcg/sparc/tcg-target.inc.c
    M tcg/tcg.h

  Log Message:
  -----------
  tcg: Support arbitrary size + alignment

Previously we allowed fully unaligned operations, but not operations
that are aligned but with less alignment than the operation size.

In addition, arm32, ia64, mips, and sparc had been omitted from the
previous overalignment patch, which would have led to that alignment
being enforced.

Signed-off-by: Richard Henderson <address@hidden>


  Commit: 01ecaf438b1eb46abe23392c8ce5b7628b0c8cf5
      
https://github.com/qemu/qemu/commit/01ecaf438b1eb46abe23392c8ce5b7628b0c8cf5
  Author: Richard Henderson <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M cputlb.c
    M include/exec/exec-all.h
    M softmmu_template.h
    M target-arm/helper.c
    M target-mips/op_helper.c
    M translate-all.c
    M user-exec.c

  Log Message:
  -----------
  tcg: Merge GETPC and GETRA

The return address argument to the softmmu template helpers was
confused.  In the legacy case, we wanted to indicate that there
is no return address, and so passed in NULL.  However, we then
immediately subtracted GETPC_ADJ from NULL, resulting in a non-zero
value, indicating the presence of an (invalid) return address.

Push the GETPC_ADJ subtraction down to the only point it's required:
immediately before use within cpu_restore_state_from_tb, after all
NULL pointer checks have been completed.

This makes GETPC and GETRA identical.  Remove GETRA as the lesser
used macro, replacing all uses with GETPC.

Signed-off-by: Richard Henderson <address@hidden>


  Commit: be2208e2a50f4b50980d92c26f2e12cb2bda4afc
      
https://github.com/qemu/qemu/commit/be2208e2a50f4b50980d92c26f2e12cb2bda4afc
  Author: Richard Henderson <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M cpu-exec.c

  Log Message:
  -----------
  cpu-exec: Check -dfilter for -d cpu

Signed-off-by: Richard Henderson <address@hidden>


  Commit: f65e19bc2c9e8358e634d309606144ac2a3c2936
      
https://github.com/qemu/qemu/commit/f65e19bc2c9e8358e634d309606144ac2a3c2936
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/README
    M tcg/tcg-op.c
    M tcg/tcg-op.h
    M tcg/tcg-opc.h
    M tcg/tcg.h

  Log Message:
  -----------
  Introduce TCGOpcode for memory barrier

This commit introduces the TCGOpcode for memory barrier instruction.

This opcode takes an argument which is the type of memory barrier
which should be generated.

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: a7d00d4effb58889ac6df64f98ac50c9d1594149
      
https://github.com/qemu/qemu/commit/a7d00d4effb58889ac6df64f98ac50c9d1594149
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/i386/tcg-target.inc.c

  Log Message:
  -----------
  tcg/i386: Add support for fence

Generate a 'lock orl $0,0(%esp)' instruction for ordering instead of
mfence which has similar ordering semantics.

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c7a59c2a92592e556b9361437c9c4229917bd1e3
      
https://github.com/qemu/qemu/commit/c7a59c2a92592e556b9361437c9c4229917bd1e3
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/aarch64/tcg-target.inc.c

  Log Message:
  -----------
  tcg/aarch64: Add support for fence

Cc: Claudio Fontana <address@hidden>
Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 40f191ab8226fdada185efa49c44b60d8f494890
      
https://github.com/qemu/qemu/commit/40f191ab8226fdada185efa49c44b60d8f494890
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/arm/tcg-target.inc.c

  Log Message:
  -----------
  tcg/arm: Add support for fence

Cc: Andrzej Zaborowski <address@hidden>
Cc: Peter Maydell <address@hidden>
Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 5bbadbdfd6d9fb8729901124233dfca9f1f9554d
      
https://github.com/qemu/qemu/commit/5bbadbdfd6d9fb8729901124233dfca9f1f9554d
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/ia64/tcg-target.inc.c

  Log Message:
  -----------
  tcg/ia64: Add support for fence

Cc: Aurelien Jarno <address@hidden>
Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 6f0b99104a396905870edc3049310ece29b6b8d6
      
https://github.com/qemu/qemu/commit/6f0b99104a396905870edc3049310ece29b6b8d6
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/mips/tcg-target.inc.c

  Log Message:
  -----------
  tcg/mips: Add support for fence

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7b4af5ee8a1336bc39714b6de47924ee71fba761
      
https://github.com/qemu/qemu/commit/7b4af5ee8a1336bc39714b6de47924ee71fba761
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/ppc/tcg-target.inc.c

  Log Message:
  -----------
  tcg/ppc: Add support for fence

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c9314d610e0e5da4d2cd5a36f3563d102b3294e0
      
https://github.com/qemu/qemu/commit/c9314d610e0e5da4d2cd5a36f3563d102b3294e0
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/s390/tcg-target.inc.c

  Log Message:
  -----------
  tcg/s390: Add support for fence

Cc: Alexander Graf <address@hidden>
Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f8f03b3707b49898052fb8cd75ee31d19c8161fc
      
https://github.com/qemu/qemu/commit/f8f03b3707b49898052fb8cd75ee31d19c8161fc
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/sparc/tcg-target.inc.c

  Log Message:
  -----------
  tcg/sparc: Add support for fence

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: a1e69e2f8112cd9406cd18a7d136d746f64db899
      
https://github.com/qemu/qemu/commit/a1e69e2f8112cd9406cd18a7d136d746f64db899
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/tci/tcg-target.inc.c
    M tci.c

  Log Message:
  -----------
  tcg/tci: Add support for fence

Cc: Stefan Weil <address@hidden>
Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: ae2264d526ee60b57acad247292e2da4ee822eff
      
https://github.com/qemu/qemu/commit/ae2264d526ee60b57acad247292e2da4ee822eff
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M target-alpha/translate.c

  Log Message:
  -----------
  target-alpha: Generate fence op

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 61e4c432ab26526bab0f3ef746c1861415b6da29
      
https://github.com/qemu/qemu/commit/61e4c432ab26526bab0f3ef746c1861415b6da29
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Generate fences in ARMv7 frontend

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: ce1bd93f94e8d4b7117744e49652d2f907bed99f
      
https://github.com/qemu/qemu/commit/ce1bd93f94e8d4b7117744e49652d2f907bed99f
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M target-arm/translate-a64.c

  Log Message:
  -----------
  target-aarch64: Generate fences for aarch64

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: cc19e497a047193db5083425957d7292c8dd3226
      
https://github.com/qemu/qemu/commit/cc19e497a047193db5083425957d7292c8dd3226
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: Generate fences for x86

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 34f939218ce78163171addd63750e1e0300376ab
      
https://github.com/qemu/qemu/commit/34f939218ce78163171addd63750e1e0300376ab
  Author: Pranith Kumar <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg: Optimize fence instructions

This commit optimizes fence instructions.  Two optimizations are
currently implemented: (1) unnecessary duplicate fence instructions,
and (2) merging weaker fences into a stronger fence.

[rth: Merge tcg_optimize_mb back into tcg_optimize, so that we only
loop over the opcode stream once.  Merge "unrelated" weaker barriers
into one stronger barrier.]

Signed-off-by: Pranith Kumar <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e3571ae30cd26d19efd4554c25e32ef64d6a36b3
      
https://github.com/qemu/qemu/commit/e3571ae30cd26d19efd4554c25e32ef64d6a36b3
  Author: Peter Maydell <address@hidden>
  Date:   2016-09-16 (Fri, 16 Sep 2016)

  Changed paths:
    M cpu-exec.c
    M cputlb.c
    M include/exec/exec-all.h
    M softmmu_template.h
    M target-alpha/translate.c
    M target-arm/helper.c
    M target-arm/translate-a64.c
    M target-arm/translate.c
    M target-i386/translate.c
    M target-mips/op_helper.c
    M tcg/README
    M tcg/aarch64/tcg-target.inc.c
    M tcg/arm/tcg-target.inc.c
    M tcg/i386/tcg-target.inc.c
    M tcg/ia64/tcg-target.inc.c
    M tcg/mips/tcg-target.inc.c
    M tcg/optimize.c
    M tcg/ppc/tcg-target.inc.c
    M tcg/s390/tcg-target.inc.c
    M tcg/sparc/tcg-target.inc.c
    M tcg/tcg-op.c
    M tcg/tcg-op.h
    M tcg/tcg-opc.h
    M tcg/tcg.h
    M tcg/tci/tcg-target.inc.c
    M tci.c
    M translate-all.c
    M user-exec.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20160916' into staging

tcg queued patches

# gpg: Signature made Fri 16 Sep 2016 16:14:20 BST
# gpg:                using RSA key 0xAD1270CC4DD0279B
# gpg: Good signature from "Richard Henderson <address@hidden>"
# gpg:                 aka "Richard Henderson <address@hidden>"
# gpg:                 aka "Richard Henderson <address@hidden>"
# Primary key fingerprint: 9CB1 8DDA F8E8 49AD 2AFC  16A4 AD12 70CC 4DD0 279B

* remotes/rth/tags/pull-tcg-20160916:
  tcg: Optimize fence instructions
  target-i386: Generate fences for x86
  target-aarch64: Generate fences for aarch64
  target-arm: Generate fences in ARMv7 frontend
  target-alpha: Generate fence op
  tcg/tci: Add support for fence
  tcg/sparc: Add support for fence
  tcg/s390: Add support for fence
  tcg/ppc: Add support for fence
  tcg/mips: Add support for fence
  tcg/ia64: Add support for fence
  tcg/arm: Add support for fence
  tcg/aarch64: Add support for fence
  tcg/i386: Add support for fence
  Introduce TCGOpcode for memory barrier
  cpu-exec: Check -dfilter for -d cpu
  tcg: Merge GETPC and GETRA
  tcg: Support arbitrary size + alignment

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/ebc231d7daf1...e3571ae30cd2

reply via email to

[Prev in Thread] Current Thread [Next in Thread]