qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] ed30e7: tcg: Make tcg/helper-info.h self-cont


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] ed30e7: tcg: Make tcg/helper-info.h self-contained
Date: Wed, 01 May 2024 15:21:25 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: ed30e7b1d9f5639d346fc2f0285568516e324398
      
https://github.com/qemu/qemu/commit/ed30e7b1d9f5639d346fc2f0285568516e324398
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M include/tcg/helper-info.h
    M include/tcg/tcg.h
    M tcg/tci.c

  Log Message:
  -----------
  tcg: Make tcg/helper-info.h self-contained

Move MAX_CALL_IARGS from tcg.h and include for
the define of TCG_TARGET_REG_BITS.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 83a0ad26737b9bca3b09fc8d27163ef6a0f28bd9
      
https://github.com/qemu/qemu/commit/83a0ad26737b9bca3b09fc8d27163ef6a0f28bd9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M include/exec/helper-gen.h.inc
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Pass function pointer to tcg_gen_call*

For normal helpers, read the function pointer from the
structure earlier.  For plugins, this will allow the
function pointer to come from elsewhere.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 25875fe92eb55e905655dcdf5f06f89ef2c1f404
      
https://github.com/qemu/qemu/commit/25875fe92eb55e905655dcdf5f06f89ef2c1f404
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M plugins/core.c

  Log Message:
  -----------
  plugins: Zero new qemu_plugin_dyn_cb entries

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: aff56de576c949880d674d37b82bdc97841107fb
      
https://github.com/qemu/qemu/commit/aff56de576c949880d674d37b82bdc97841107fb
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/qemu/plugin.h
    M plugins/core.c

  Log Message:
  -----------
  plugins: Move function pointer in qemu_plugin_dyn_cb

The out-of-line function pointer is mutually exclusive
with inline expansion, so move it into the union.
Wrap the pointer in a structure named 'regular' to match
PLUGIN_CB_REGULAR.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c7ba94836aa0665a931250e8f03f4aabce3c31f6
      
https://github.com/qemu/qemu/commit/c7ba94836aa0665a931250e8f03f4aabce3c31f6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M include/qemu/plugin.h
    M plugins/core.c

  Log Message:
  -----------
  plugins: Create TCGHelperInfo for all out-of-line callbacks

TCGHelperInfo includes the ABI for every function call.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a0948bb78c9bd883d965aac3853e5d61f03e224b
      
https://github.com/qemu/qemu/commit/a0948bb78c9bd883d965aac3853e5d61f03e224b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/tcg/tcg-op-common.h
    M include/tcg/tcg-opc.h
    M tcg/tcg-op.c

  Log Message:
  -----------
  plugins: Use emit_before_op for PLUGIN_GEN_AFTER_INSN

Introduce a new plugin_cb op and migrate one operation.
By using emit_before_op, we do not need to emit opcodes
early and modify them later -- we can simply emit the
final set of opcodes once.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 21a3f62ff2b40a7a2abbd614b44fe5da461c3fd7
      
https://github.com/qemu/qemu/commit/21a3f62ff2b40a7a2abbd614b44fe5da461c3fd7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M plugins/api.c

  Log Message:
  -----------
  plugins: Use emit_before_op for PLUGIN_GEN_FROM_TB

By having the qemu_plugin_cb_flags be recorded in the TCGHelperInfo,
we no longer need to distinguish PLUGIN_CB_REGULAR from
PLUGIN_CB_REGULAR_R, so place all TB callbacks in the same queue.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 74bb8acc6a0c465eaf3a5a7d8b9fa5250a9243c7
      
https://github.com/qemu/qemu/commit/74bb8acc6a0c465eaf3a5a7d8b9fa5250a9243c7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c

  Log Message:
  -----------
  plugins: Add PLUGIN_GEN_AFTER_TB

Delay test of plugin_tb->mem_helper until the inject pass.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ac977170bf1e89fce25197ad54f04d9ec1f6a2b6
      
https://github.com/qemu/qemu/commit/ac977170bf1e89fce25197ad54f04d9ec1f6a2b6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/qemu/plugin.h
    M plugins/api.c

  Log Message:
  -----------
  plugins: Use emit_before_op for PLUGIN_GEN_FROM_INSN

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8a2927f290fb6c3ba51dfd6465e4ea51a3c9e1a0
      
https://github.com/qemu/qemu/commit/8a2927f290fb6c3ba51dfd6465e4ea51a3c9e1a0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/exec/plugin-gen.h
    M include/tcg/tcg-op-common.h
    M include/tcg/tcg-opc.h
    M tcg/tcg-op-ldst.c
    M tcg/tcg-op.c

  Log Message:
  -----------
  plugins: Use emit_before_op for PLUGIN_GEN_FROM_MEM

Introduce a new plugin_mem_cb op to hold the address temp
and meminfo computed by tcg-op-ldst.c.  Because this now
has its own opcode, we no longer need PLUGIN_GEN_FROM_MEM.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5f2a5a5b345b111c18525f23d9094b6410a8730e
      
https://github.com/qemu/qemu/commit/5f2a5a5b345b111c18525f23d9094b6410a8730e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    R accel/tcg/plugin-helpers.h
    M include/exec/helper-gen-common.h
    M include/exec/helper-proto-common.h

  Log Message:
  -----------
  plugins: Remove plugin helpers

These placeholder helpers are no longer required.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b0748975b8b4c3da0b4fce1f8d53b1b4ab422cd7
      
https://github.com/qemu/qemu/commit/b0748975b8b4c3da0b4fce1f8d53b1b4ab422cd7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M include/tcg/tcg.h
    M plugins/core.c
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Remove TCG_CALL_PLUGIN

Since we no longer emit plugin helpers during the initial code
translation phase, we don't need to specially mark plugin helpers.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 36ab430645c99052d83ef94bbe2640193be047c1
      
https://github.com/qemu/qemu/commit/36ab430645c99052d83ef94bbe2640193be047c1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/tcg/tcg-op-common.h
    M include/tcg/tcg-opc.h
    M tcg/tcg-op.c

  Log Message:
  -----------
  tcg: Remove INDEX_op_plugin_cb_{start,end}

These opcodes are no longer used.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: db409c01fde5be31ef34c69aa1d91880975e93c5
      
https://github.com/qemu/qemu/commit/db409c01fde5be31ef34c69aa1d91880975e93c5
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/qemu/plugin.h
    M plugins/api.c

  Log Message:
  -----------
  plugins: Simplify callback queues

We have qemu_plugin_dyn_cb.type to differentiate the various
callback types, so we do not need to keep them in separate queues.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ccd8f17e02d70c4e9e1d7f3b8ee0f80dd58dc979
      
https://github.com/qemu/qemu/commit/ccd8f17e02d70c4e9e1d7f3b8ee0f80dd58dc979
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/qemu/plugin.h
    M plugins/core.c

  Log Message:
  -----------
  plugins: Introduce PLUGIN_CB_MEM_REGULAR

Use different enumerators for vcpu_udata and vcpu_mem callbacks.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b384c734ecb6d6a4f121d5716f7275e8e350a6fa
      
https://github.com/qemu/qemu/commit/b384c734ecb6d6a4f121d5716f7275e8e350a6fa
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/qemu/log.h
    M include/tcg/tcg.h
    M tcg/tcg.c
    M util/log.c

  Log Message:
  -----------
  plugins: Replace pr_ops with a proper debug dump flag

The DEBUG_PLUGIN_GEN_OPS ifdef is replaced with "-d op_plugin".
The second pr_ops call can be obtained with "-d op".

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 7e53aa213e319ce905f26c64164f6eaf8360e73d
      
https://github.com/qemu/qemu/commit/7e53aa213e319ce905f26c64164f6eaf8360e73d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c

  Log Message:
  -----------
  plugins: Split out common cb expanders

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5e379b08bceb04631401fda674c4c9f7ab1e3f94
      
https://github.com/qemu/qemu/commit/5e379b08bceb04631401fda674c4c9f7ab1e3f94
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/qemu/plugin.h

  Log Message:
  -----------
  plugins: Merge qemu_plugin_tb_insn_get to plugin-gen.c

Merge qemu_plugin_insn_alloc and qemu_plugin_tb_insn_get into
plugin_gen_insn_start, since it is used nowhere else.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5c48b011bb417627752031cb67e4f2652d7cd378
      
https://github.com/qemu/qemu/commit/5c48b011bb417627752031cb67e4f2652d7cd378
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c

  Log Message:
  -----------
  plugins: Inline plugin_gen_empty_callback

Each caller can use tcg_gen_plugin_cb directly.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 917d7f8d948d706e275c9f33169b9dd0149ded1e
      
https://github.com/qemu/qemu/commit/917d7f8d948d706e275c9f33169b9dd0149ded1e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c

  Log Message:
  -----------
  plugins: Update the documentation block for plugin-gen.c

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4977ce198d2390bff8c71ad5cb1a5f6aa24b56fb
      
https://github.com/qemu/qemu/commit/4977ce198d2390bff8c71ad5cb1a5f6aa24b56fb
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    R accel/tcg/plugin-helpers.h
    M include/exec/helper-gen-common.h
    M include/exec/helper-gen.h.inc
    M include/exec/helper-proto-common.h
    M include/exec/plugin-gen.h
    M include/qemu/log.h
    M include/qemu/plugin.h
    M include/tcg/helper-info.h
    M include/tcg/tcg-op-common.h
    M include/tcg/tcg-opc.h
    M include/tcg/tcg.h
    M plugins/api.c
    M plugins/core.c
    M tcg/tcg-op-ldst.c
    M tcg/tcg-op.c
    M tcg/tcg.c
    M tcg/tci.c
    M util/log.c

  Log Message:
  -----------
  Merge tag 'pull-tcg-20240501' of https://gitlab.com/rth7680/qemu into staging

plugins: Rewrite plugin tcg expansion

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmYyUpkdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV98VAgAoTqIWPHtPJOS800G
# TlFuQjkEzQCPSKAh6ZbotsAMvfNwBloPpdrUlFr/jT7mURjEl2B7UC/4LzdhuGeQ
# U/xZt5rXsYvyfS3VwLf8pKBIscF7XjJ1rdfYMvBg9XaNp5VV0aEIk3+6P0uYtzXG
# cREF0uCYfdK6uoiuifhqRAkgrNnamdwpPbbfvzDQI13wICW7SfR7dcd629clVZ1O
# QvD1M4bpTWyhClbZzaoHqyPs+HQEM/AY0wOTfYZNbQBu6zFZXNDZCvYhIEWonPBO
# AKe5KWUrQMwLJhRVejaSSZZDjMdcz3HLaGJppP89/WB+gpY09+LsiuqT7k5c12Bw
# ueLEhw==
# =mn63
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 01 May 2024 07:32:57 AM PDT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[ultimate]

* tag 'pull-tcg-20240501' of https://gitlab.com/rth7680/qemu:
  plugins: Update the documentation block for plugin-gen.c
  plugins: Inline plugin_gen_empty_callback
  plugins: Merge qemu_plugin_tb_insn_get to plugin-gen.c
  plugins: Split out common cb expanders
  plugins: Replace pr_ops with a proper debug dump flag
  plugins: Introduce PLUGIN_CB_MEM_REGULAR
  plugins: Simplify callback queues
  tcg: Remove INDEX_op_plugin_cb_{start,end}
  tcg: Remove TCG_CALL_PLUGIN
  plugins: Remove plugin helpers
  plugins: Use emit_before_op for PLUGIN_GEN_FROM_MEM
  plugins: Use emit_before_op for PLUGIN_GEN_FROM_INSN
  plugins: Add PLUGIN_GEN_AFTER_TB
  plugins: Use emit_before_op for PLUGIN_GEN_FROM_TB
  plugins: Use emit_before_op for PLUGIN_GEN_AFTER_INSN
  plugins: Create TCGHelperInfo for all out-of-line callbacks
  plugins: Move function pointer in qemu_plugin_dyn_cb
  plugins: Zero new qemu_plugin_dyn_cb entries
  tcg: Pass function pointer to tcg_gen_call*
  tcg: Make tcg/helper-info.h self-contained

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/935da8c66e12...4977ce198d23

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

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