[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 17/28] docs: remove references to TCG tracing
From: |
Alex Bennée |
Subject: |
[PULL 17/28] docs: remove references to TCG tracing |
Date: |
Wed, 9 Feb 2022 14:15:18 +0000 |
Users wanting this sort of functionality should turn to TCG plugins
instead.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Cc: Luis Vilanova <vilanova@imperial.ac.uk>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220204204335.1689602-18-alex.bennee@linaro.org>
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index 4c4da20d0f..b0156e0f25 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -601,6 +601,19 @@ the upstream Linux kernel in 2018, and it has also been
dropped from glibc, so
there is no new Linux development taking place with this architecture. For
running the old binaries, you can use older versions of QEMU.
+TCG introspection features
+--------------------------
+
+TCG trace-events (since 6.2)
+''''''''''''''''''''''''''''
+
+The ability to add new TCG trace points had bit rotted and as the
+feature can be replicated with TCG plugins it was removed. If
+any user is currently using this feature and needs help with
+converting to using TCG plugins they should contact the qemu-devel
+mailing list.
+
+
System emulator devices
-----------------------
diff --git a/docs/devel/tracing.rst b/docs/devel/tracing.rst
index 4290ac42ee..ec9a687cfd 100644
--- a/docs/devel/tracing.rst
+++ b/docs/devel/tracing.rst
@@ -413,88 +413,3 @@ disabled, this check will have no performance impact.
return ptr;
}
-"tcg"
------
-
-Guest code generated by TCG can be traced by defining an event with the "tcg"
-event property. Internally, this property generates two events:
-"<eventname>_trans" to trace the event at translation time, and
-"<eventname>_exec" to trace the event at execution time.
-
-Instead of using these two events, you should instead use the function
-"trace_<eventname>_tcg" during translation (TCG code generation). This function
-will automatically call "trace_<eventname>_trans", and will generate the
-necessary TCG code to call "trace_<eventname>_exec" during guest code
execution.
-
-Events with the "tcg" property can be declared in the "trace-events" file with
a
-mix of native and TCG types, and "trace_<eventname>_tcg" will gracefully
forward
-them to the "<eventname>_trans" and "<eventname>_exec" events. Since TCG values
-are not known at translation time, these are ignored by the "<eventname>_trans"
-event. Because of this, the entry in the "trace-events" file needs two printing
-formats (separated by a comma)::
-
- tcg foo(uint8_t a1, TCGv_i32 a2) "a1=%d", "a1=%d a2=%d"
-
-For example::
-
- #include "trace-tcg.h"
-
- void some_disassembly_func (...)
- {
- uint8_t a1 = ...;
- TCGv_i32 a2 = ...;
- trace_foo_tcg(a1, a2);
- }
-
-This will immediately call::
-
- void trace_foo_trans(uint8_t a1);
-
-and will generate the TCG code to call::
-
- void trace_foo(uint8_t a1, uint32_t a2);
-
-"vcpu"
-------
-
-Identifies events that trace vCPU-specific information. It implicitly adds a
-"CPUState*" argument, and extends the tracing print format to show the vCPU
-information. If used together with the "tcg" property, it adds a second
-"TCGv_env" argument that must point to the per-target global TCG register that
-points to the vCPU when guest code is executed (usually the "cpu_env"
variable).
-
-The "tcg" and "vcpu" properties are currently only honored in the root
-./trace-events file.
-
-The following example events::
-
- foo(uint32_t a) "a=%x"
- vcpu bar(uint32_t a) "a=%x"
- tcg vcpu baz(uint32_t a) "a=%x", "a=%x"
-
-Can be used as::
-
- #include "trace-tcg.h"
-
- CPUArchState *env;
- TCGv_ptr cpu_env;
-
- void some_disassembly_func(...)
- {
- /* trace emitted at this point */
- trace_foo(0xd1);
- /* trace emitted at this point */
- trace_bar(env_cpu(env), 0xd2);
- /* trace emitted at this point (env) and when guest code is executed
(cpu_env) */
- trace_baz_tcg(env_cpu(env), cpu_env, 0xd3);
- }
-
-If the translating vCPU has address 0xc1 and code is later executed by vCPU
-0xc2, this would be an example output::
-
- // at guest code translation
- foo a=0xd1
- bar cpu=0xc1 a=0xd2
- baz_trans cpu=0xc1 a=0xd3
- // at guest code execution
- baz_exec cpu=0xc2 a=0xd3
--
2.30.2
- [PULL 09/28] tests/lcitool: Refresh submodule and remove libxml2, (continued)
- [PULL 09/28] tests/lcitool: Refresh submodule and remove libxml2, Alex Bennée, 2022/02/09
- [PULL 14/28] tests/lcitool: Allow lcitool-refresh in out-of-tree builds, too, Alex Bennée, 2022/02/09
- [PULL 23/28] tests/plugin: allow libinsn.so per-CPU counts, Alex Bennée, 2022/02/09
- [PULL 03/28] Makefile: also remove .gcno files when cleaning, Alex Bennée, 2022/02/09
- [PULL 02/28] tests/qtest: enable more vhost-user tests by default, Alex Bennée, 2022/02/09
- [PULL 05/28] MAINTAINERS: Cover lcitool submodule with build test / automation, Alex Bennée, 2022/02/09
- [PULL 07/28] tests/lcitool: Include local qemu.yml when refreshing cirrus-ci files, Alex Bennée, 2022/02/09
- [PULL 04/28] .gitignore: add .gcov pattern, Alex Bennée, 2022/02/09
- [PULL 06/28] gitmodules: Correct libvirt-ci submodule URL, Alex Bennée, 2022/02/09
- [PULL 12/28] docs/devel: mention our .editorconfig, Alex Bennée, 2022/02/09
- [PULL 17/28] docs: remove references to TCG tracing,
Alex Bennée <=
- [PULL 08/28] drop libxml2 checks since libxml is not actually used (for parallels), Alex Bennée, 2022/02/09
- [PULL 11/28] tests/lcitool: Install libibumad to cover RDMA on Debian based distros, Alex Bennée, 2022/02/09
- [PULL 10/28] tests: Manually remove libxml2 on MSYS2 runners, Alex Bennée, 2022/02/09
- [PULL 21/28] plugins: add helper functions for coverage plugins, Alex Bennée, 2022/02/09
- [PULL 26/28] plugins: move reset of plugin data to tb_start, Alex Bennée, 2022/02/09
- [PULL 15/28] tests: Update CentOS 8 container to CentOS Stream 8, Alex Bennée, 2022/02/09
- [PULL 19/28] tracing: remove the trace-tcg includes from the build, Alex Bennée, 2022/02/09
- [PULL 28/28] include/exec: fix softmmu version of TARGET_ABI_FMT_lx, Alex Bennée, 2022/02/09
- [PULL 27/28] linux-user: Remove the deprecated ppc64abi32 target, Alex Bennée, 2022/02/09