From patchwork Wed Feb 9 14:15:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 541108 Delivered-To: patch@linaro.org Received: by 2002:ad5:420f:0:0:0:0:0 with SMTP id e15csp1426989imo; Wed, 9 Feb 2022 07:16:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJz8VrzZJ5VqXkx41gM7/v+K/n8jYX2gdX+zsslDml7NI1w0AcBZM4O0bkzSZDUnBEQ6oL6/ X-Received: by 2002:a81:bc47:: with SMTP id b7mr2540441ywl.47.1644419801553; Wed, 09 Feb 2022 07:16:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644419801; cv=none; d=google.com; s=arc-20160816; b=xkUdsjB9wcQg+5Y9pBCa78/lruSDd6CLb3Mlzx3yIgkjwx+g0G7+38BNxDbOhAhxc4 Snobp8WXZZbK+sF4RBnjJkpAcbHrM4/WpS2ssPFbq3877tTziy/I2MFts+48jUs4KlUy xu8na3POHltUqgEXjbPUpCj7bJHYeAsmRiS19tAdA+neX0yLyiQNPNeWz+uSgs9Yqdug rFTjfS+nJkwTmqUJ3Nvo90w7ftbP+PbLZeFz+wZsXSt7p6Ji4yINlFwltPPVlvXX852w DNp6hh+f1CeAp5vO8xMe3qo6+zj2/geJfS6HpcmM/PHwsybInoBNkSI7qzAw+YfJO9nU 6zOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=KDjVKJAvjmvSznZtB3TgaDfSp2HabalO4ovxbecKq1g=; b=wqz4OjYBEdPlNSpKhuB3EpkZYHf5x8Mfm0QvKlIK15ao+4i6FFzDM+y3/SAU9sWkbZ iOvcfxN5B9X5RCwxZos1KIBOacPkiHja4ZdvYnP4mXxH7XCr5dnt+do1ar3bxokSNlho g73sr6oU5tJd0vHftHhWA3oCQw8ctjQBOTmLGeKwBEars33h8l5WsimK7txDYtn1PFaT ckLv7oGkPJyANQB1cOpO10/NB7hpTIO1A1mZnfOQB/XX5EHD+R+1llKLwFwXWSh3DvtA 4+uGnVjC4k9i1DUmJrgFWkFh0W2u56xzn4TnIN/7OWIQKTCLfOjNFJ5e9r7uDcVmIFta W1UA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=kWiRrUgG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id h60si13236385ybi.573.2022.02.09.07.16.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 09 Feb 2022 07:16:41 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=kWiRrUgG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:43036 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nHoi1-0007Ql-0W for patch@linaro.org; Wed, 09 Feb 2022 10:16:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44778) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nHnll-00030I-CF for qemu-devel@nongnu.org; Wed, 09 Feb 2022 09:16:30 -0500 Received: from [2a00:1450:4864:20::630] (port=45770 helo=mail-ej1-x630.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nHnlK-0007sk-Bb for qemu-devel@nongnu.org; Wed, 09 Feb 2022 09:16:10 -0500 Received: by mail-ej1-x630.google.com with SMTP id s21so7625463ejx.12 for ; Wed, 09 Feb 2022 06:15:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KDjVKJAvjmvSznZtB3TgaDfSp2HabalO4ovxbecKq1g=; b=kWiRrUgGJT7MHrlhNPpe/4aZnXVe8cyDWrDk0qSC/diTi66p45HG78nr4WPiOpgp7b LcBovlBXzOlGZ1svEPM8xN84ETm85KtbLYTkhuksj/n6+mRM5Z1Dy9oDDZ9pV1vXUYt7 hmViJAl/eQTWobxP1x63ptTh5glrv/Lk2aNnh2t7YIvbLDAstnthw1l6tSCT336Qq8ZM qVs28AGxSJyJm1Ytt8yOGXwyprRY9a1PiRcFIGtzb5VhlzW1+PL/nZuwDi80ickOug2W SYFlByDmQh2uMxFRzotumu1ZLGHtiQyTHDsoKj/U1cut6WOw+ZUEqF74Qajv7pz7WT7M YXSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KDjVKJAvjmvSznZtB3TgaDfSp2HabalO4ovxbecKq1g=; b=A9k9nTX/P+ShbF9JxpB/KkCCBwvSGiGOilVWzp43eLRni8tInphLamw7ycgS010zxj RD9zhDtbtlFrAOrws7ulGgyvpqGvPllwMV5VaYrjTr6CWhJdu8UmCQEkkARB6LHqC/OK dluANh9N/I5Q3/F4cG5B28dmXSIXkqnzabDLgWlHC1XtrpXco8NhXpoA9ORbIUlxN6Ja wUBLt8Z46frssxUBcTF61e2ty45rBUcVpD0+mi2mr0RxwCYiP3FlUupxkGnVY9gY5DZ+ SCvgYecpOdJQdbTlrewCnhgCcUvP/PA9A+qo6aUccpqtbwGfX2t2xqXEr5W1eyJg45jg 3omg== X-Gm-Message-State: AOAM532qFzJ0ln53c73EIrC3/2O6dX5zWk7ljceb8vnzAShV4+MD3ARq KxPwoj7XGC/y1F+dNrl3Mc2AFw== X-Received: by 2002:a17:907:c01a:: with SMTP id ss26mr2198429ejc.734.1644416153832; Wed, 09 Feb 2022 06:15:53 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id s1sm8403610edt.49.2022.02.09.06.15.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Feb 2022 06:15:48 -0800 (PST) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id BC6CB1FFC9; Wed, 9 Feb 2022 14:15:30 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 17/28] docs: remove references to TCG tracing Date: Wed, 9 Feb 2022 14:15:18 +0000 Message-Id: <20220209141529.3418384-18-alex.bennee@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220209141529.3418384-1-alex.bennee@linaro.org> References: <20220209141529.3418384-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::630 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::630; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x630.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Luis Vilanova , Richard Henderson , =?utf-8?q?Alex_Benn=C3=A9?= =?utf-8?q?e?= , qemu-devel@nongnu.org, Stefan Hajnoczi Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Users wanting this sort of functionality should turn to TCG plugins instead. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Cc: Luis Vilanova Cc: Stefan Hajnoczi 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: -"_trans" to trace the event at translation time, and -"_exec" to trace the event at execution time. - -Instead of using these two events, you should instead use the function -"trace__tcg" during translation (TCG code generation). This function -will automatically call "trace__trans", and will generate the -necessary TCG code to call "trace__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__tcg" will gracefully forward -them to the "_trans" and "_exec" events. Since TCG values -are not known at translation time, these are ignored by the "_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