From patchwork Thu Jun 20 15:22:08 2024 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: 805978 Delivered-To: patch@linaro.org Received: by 2002:a5d:508d:0:b0:362:4979:7f74 with SMTP id a13csp345493wrt; Thu, 20 Jun 2024 08:23:04 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXZg+Hp6Ya0NHhVBYChdnLzrsSCxrN53nZqFrJJZdQsZXEZLBdrx33BAzabR54UTR8dDirY+FhkhJNPIJW+e+RT X-Google-Smtp-Source: AGHT+IHuajhOs1bFK+uQ4UVNDmtapYd3Nal7Jk7iFh08T8PHVdG2EQPiTs0k6RUG5uI3d8fnqWM4 X-Received: by 2002:a05:620a:29c8:b0:79a:2fcb:ed5a with SMTP id af79cd13be357-79bb3e0fe16mr703705185a.11.1718896983993; Thu, 20 Jun 2024 08:23:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718896983; cv=none; d=google.com; s=arc-20160816; b=dSqGCFmJy0b3NrVzuY1BFQcZYfpjId2Kizo32no6aV7xZj/iF/dtkY6cO2MEvo3cmX 8hlEwfLiyA6W9cdnrqrDY+FTYWmezOj8B6jXZ25DX4IjShryILxuWztCRedRH6nj3C28 wm99+tiouw583pD1OUwWsD9wm23Zy+1/91SIw5bAOJ+Byf64xQa6gs1vnvT7ujKAmhAZ 2P6xNptE3mFmC/laAnDzSIaiMLmr+VwkUnolFCyyH8Iru8XTHtm0lva0OL1bq7ARVpga iKtcDjedC2joD2XXZN6HdIxFIOl3FFyuMCvBQ7RKEkWgGH2P3PCcfFd3p3zbu3Od/wZO OEGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=GwfYtHiFW+MpVchR1W1uIXCNJBxRS/LzmnaKh+rSEqQ=; fh=qYUyA+SSE+X3fQR5X1u+SwltJ/ArWqMeAeFp+rGIm4A=; b=DSdVgFHpMnSMM5qLa+L8Hq0RUH3wdFKUfI2xD0VyHl6tc6mXNo5K0AUDwfr7h8sF2k KdT16XK8kBulRGGXRL1dX91qE48MyNGAXRS83PnQehGE7yY/vWf5wCAET3pdrsKdPqIk AuD1bcdSyC2xvIgVm2CE06w7VaDUIwOIFJZUQKosglcnLMgRuXGanRGp+s4vtseA9Uew woiv7zyWmH/+2oiXrk6rg2/VbK+3wu8TWK+krIHp67hT7hjl+BTiEWDOdlZmCpJoUevP jYVa+ihoAR9IXilmhfXWyfIw3XA6YP0DqhkUROqrep/Oc6WbZTKQrvBciP8OMlUwvQUS ipzw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sZY5ACzp; 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=pass (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 af79cd13be357-79bc83aba9dsi122557485a.366.2024.06.20.08.23.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 20 Jun 2024 08:23:03 -0700 (PDT) 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=pass header.i=@linaro.org header.s=google header.b=sZY5ACzp; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sKJcR-0005rR-0O; Thu, 20 Jun 2024 11:22:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sKJcP-0005pK-0C for qemu-devel@nongnu.org; Thu, 20 Jun 2024 11:22:33 -0400 Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sKJcM-0007xc-Lb for qemu-devel@nongnu.org; Thu, 20 Jun 2024 11:22:32 -0400 Received: by mail-lf1-x129.google.com with SMTP id 2adb3069b0e04-52bc27cfb14so1406977e87.0 for ; Thu, 20 Jun 2024 08:22:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718896949; x=1719501749; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=GwfYtHiFW+MpVchR1W1uIXCNJBxRS/LzmnaKh+rSEqQ=; b=sZY5ACzp7bOCBp+FhGT38ZooWcvsKrkeg53nucQYio6y45RNPhVUQbUc3QiY7V0JeA BiulyxsG5uJCKCL81/KpRe3ZicBoBOeaWu5DVU/1mjhoFFbpwn46PMQJdEl1lPo9AHhy DYUA2CeAnP6vIG0MyB106yWDJ577DLqbMCJG0vJiMTBmR5Oxcl9sXqMlNqsbOxIJfBnA Q7EGVnbq058xpX5LspyHnDp7+Oxgp19VM/tNhnZPFnj/EBIP9zzSKhxVQT5lvqMhjnA1 kUAfkEBK0rXD6UVKqAo+luT2hZFM0HkLcauootK+LmYKDfdMs/i9rLJzVPSEF5rVjVRG qkFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718896949; x=1719501749; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GwfYtHiFW+MpVchR1W1uIXCNJBxRS/LzmnaKh+rSEqQ=; b=JlbmCo7ZgVGfl/Jyv/f1qKvLaBLWcd/P87vTYBSPnGvts4/H+l1LcFvkSusGF46CrA bbUJPZYvTRMv26SVAixHPokdpp7VQ6nmKRLB4o+cFgEIiTVLgSvE5kY6zPi7aC5/JGIf uIPA9s7diSX9gq0Q9356IbQSA798zWZQXes9N1OvNGJDhK4M1rZP5m5BCWSOiMTycwJO NRrwT3B16TlinJ8NIPUJ/kZorKwGbbybesJyw9LdRxMP7AvtGSHOfP7j1NysGMMtpMCC a+Ju50zmoD58vkM5uJ3DHl+hn4AIIKsRViA3DA74dETVBkoZ2BMCq1bT8zILO9UQhrP6 OZcg== X-Gm-Message-State: AOJu0YxGKrr5b1QmUwfmVoFphe+QQ6V7VMLB1LmAD7izLvxYiz+zP6Eu NtSQwWUCQ/ULIc6RvOENd7z5wAbGylC948/tDy+94/uvzTXmSFwlNs794ZSKZEo= X-Received: by 2002:a05:6512:3123:b0:52b:bdbd:2c54 with SMTP id 2adb3069b0e04-52ccaa369acmr4081172e87.34.1718896946911; Thu, 20 Jun 2024 08:22:26 -0700 (PDT) Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f600cde92sm708227466b.205.2024.06.20.08.22.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Jun 2024 08:22:22 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id F14C35F7B1; Thu, 20 Jun 2024 16:22:20 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , kvm@vger.kernel.org, qemu-ppc@nongnu.org, Christian Borntraeger , Paolo Bonzini , Jamie Iles , David Hildenbrand , =?utf-8?q?Alex_Benn=C3=A9e?= , Pierrick Bouvier , Mark Burton , Daniel Henrique Barboza , qemu-arm@nongnu.org, Laurent Vivier , Alexander Graf , Ilya Leoshkevich , Richard Henderson , Marco Liebel , Halil Pasic , Thomas Huth , qemu-s390x@nongnu.org, Cameron Esfahani , Alexandre Iooss , Nicholas Piggin , Roman Bolshakov , "Dr. David Alan Gilbert" , Marcelo Tosatti , Mahmoud Mandour , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PATCH v2 00/12] maintainer updates pre-PR (gdbstub, plugins, time control) Date: Thu, 20 Jun 2024 16:22:08 +0100 Message-Id: <20240620152220.2192768-1-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::129; envelope-from=alex.bennee@linaro.org; helo=mail-lf1-x129.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Hi, This is the current state of my maintainer trees. The gdbstub patches are just minor clean-ups. The main feature this brings in is the ability for plugins to control time. This has been discussed before but represents the first time plugins can "control" the execution of the core. The idea would be to eventually deprecate the icount auto modes in favour of a plugin and just use icount for deterministic execution and record/replay. v2 - merged in Pierrick's fixes - added migration blocker - added Max's plugin tweak I'll send the PR on Monday if nothing comes up. The following still need review: plugins: add migration blocker Alex. Akihiko Odaki (1): plugins: Ensure register handles are not NULL Alex Bennée (7): include/exec: add missing include guard comment gdbstub: move enums into separate header sysemu: add set_virtual_time to accel ops qtest: use cpu interface in qtest_clock_warp sysemu: generalise qtest_warp_clock as qemu_clock_advance_virtual_time plugins: add time control API plugins: add migration blocker Max Chou (1): accel/tcg: Avoid unnecessary call overhead from qemu_plugin_vcpu_mem_cb Pierrick Bouvier (3): qtest: move qtest_{get, set}_virtual_clock to accel/qtest/qtest.c contrib/plugins: add Instructions Per Second (IPS) example for cost modeling plugins: fix inject_mem_cb rw masking include/exec/gdbstub.h | 11 +- include/gdbstub/enums.h | 21 +++ include/qemu/qemu-plugin.h | 27 +++ include/qemu/timer.h | 15 ++ include/sysemu/accel-ops.h | 18 +- include/sysemu/cpu-timers.h | 3 +- include/sysemu/qtest.h | 2 - accel/hvf/hvf-accel-ops.c | 2 +- accel/kvm/kvm-all.c | 2 +- accel/qtest/qtest.c | 13 ++ accel/tcg/plugin-gen.c | 4 +- accel/tcg/tcg-accel-ops.c | 2 +- contrib/plugins/ips.c | 164 ++++++++++++++++++ gdbstub/user.c | 1 + monitor/hmp-cmds.c | 3 +- plugins/api.c | 47 ++++- plugins/core.c | 4 +- ...t-virtual-clock.c => cpus-virtual-clock.c} | 5 + system/cpus.c | 11 ++ system/qtest.c | 37 +--- system/vl.c | 1 + target/arm/hvf/hvf.c | 2 +- target/arm/hyp_gdbstub.c | 2 +- target/arm/kvm.c | 2 +- target/i386/kvm/kvm.c | 2 +- target/ppc/kvm.c | 2 +- target/s390x/kvm/kvm.c | 2 +- util/qemu-timer.c | 26 +++ accel/tcg/ldst_common.c.inc | 8 +- contrib/plugins/Makefile | 1 + plugins/qemu-plugins.symbols | 2 + stubs/meson.build | 2 +- 32 files changed, 377 insertions(+), 67 deletions(-) create mode 100644 include/gdbstub/enums.h create mode 100644 contrib/plugins/ips.c rename stubs/{cpus-get-virtual-clock.c => cpus-virtual-clock.c} (68%)