From nobody Wed Jan 7 09:26:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1767050198; cv=none; d=zohomail.com; s=zohoarc; b=LXwhulJgLyJkBllvhzLwWHv7PXsdocclTnZUlXJ3WP3Ouze9zVYyM3g11rpdCLQj4WxhI79CNoyQBWLGGoPW5U5rygqqXIuOx/OBCkwN27zAnJU4ldqSxQGQSeMv1WnSHGYsmVd8eWYtfW6ZpMOgM1GOKjTeXLYBEPbkvYCJRrM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767050198; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=CW/YJn5MuW9dB4A3MWgjxaS31yDOgYKq6yFfIsk2PQA=; b=PujZtb7iFI3FXR357pfA01qbTQJMFGKay6eyrxkzLkcUgArKJSLqTWh3ISP9RID7OqT9xJZ0a3+DwUOd+bYQBUoJuTK49DemGo6JP7gc8HMo4yIc+IpEwm5OE7j4k7o2yABxdWnXB3rWD/JmGS3OS+RnHifsy2LzLNzjnV5ZOlM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1767050197996646.874612092446; Mon, 29 Dec 2025 15:16:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vaMT3-0006xt-A8; Mon, 29 Dec 2025 18:16:01 -0500 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 1vaMT1-0006xa-83 for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:15:59 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vaMSz-0004Sh-FK for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:15:59 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4779cc419b2so74129195e9.3 for ; Mon, 29 Dec 2025 15:15:56 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d193d5372sm586742505e9.14.2025.12.29.15.15.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Dec 2025 15:15:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767050155; x=1767654955; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CW/YJn5MuW9dB4A3MWgjxaS31yDOgYKq6yFfIsk2PQA=; b=qB2nJeCksmf3NO94BOeUyI50Ijb6MMJ7K7aJYHPhjIX/LwZRZnFV36HXIo0qfLC0fH EaRi8cUqjxldaS1aC18DIC5LnaUboatDu2P1c6BhrCxlnQUO/EJGXI7s9d1Kp8lLfhQg utvQXQmu5ZYEPIGMAc8tMhPBRwzJNYfqS3alujcJuvStIczQvhEtCYx/dCzrZCvcQyUe 1sBMiwwkuAS2SDNGGcPblZK8wT4uSE6FOkjfviyQe/wSM5qhE7CCdjIuwHfu3viVzhHH rDeAfDbdSqcykVPHBI2L7vnnCnwOCRL7Sdq2v8BSLJqhqm4se2gAGDSgAIxeIG8HVk+t fSag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767050155; x=1767654955; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CW/YJn5MuW9dB4A3MWgjxaS31yDOgYKq6yFfIsk2PQA=; b=Mii6TOUqMGapy+LMF+WhlzRV6/h1Cd/pRJUF5FEfxedEA9kgnsKsf4SoSC0VHmNK5t mv8m9xlHdfi1XcgFazo4ofqW2kimL8CTBIN0RZ0eHyYlL342z4NFtcmfq7yUgwKpfYF9 n17YyW5k4/YWx9Sj2OSWX1r4Ca/7FdsO0amVhBKNyTONPhA3FL4+nbS9s0+nByZkERt4 cnB2jM7dDKjlQeTQHvytDDSSXtDssxM1n4deKjM0eiKssRGxph89dKJlFhb6RW6Hb5SN EOVqRg2/dmQ2ZFkVrkxijL3KR9moZ9WefiNmrKZbQ0KIG0HeDLw5dnvE2O+iK7N8nKdj jGAg== X-Gm-Message-State: AOJu0YxzxMjRBIjEsaIOB42wOi5UcXfXdivPrFoqtHQmPKsyXYcetIes 12Sb24YJSUZLpgzX5Nar4lIxKip7p/z0RtO5GTm/C/R4vyFgx6Lq8WdO36yR3c2rLck8Ao2E51t Apipb+MU= X-Gm-Gg: AY/fxX7K3IWrnwPb/hjiLC2T9hC/YKxR6rLuU43biiyGuzWTDlc6wrZOuDs0Pb4gHZ5 F+U2uthgt9mQYmuYr0edESkAvd01vVNNPsTGx5rx/KI3Gtb5UdGZwmY4eIoS5IXpkIh8fezIvsB +IfTn6T68/eH2iNFbdWUVGPxsVyfhgb3iygKiLxaIOGpsirCJg4OkjJyXcqKuZX65IfS+co8rqA gLc1HQJGBxKuBT5TcwAAApu4vg3y2xxqeJct3nGLkdJva9POLAI8A/jUiRYgrCfqbQOjPayjYJx cLOXciUTwWd1+3WbMv22ljMlGpJnu9S0HFTq7inYINYhHLFnF5v+kSkb2A/AptKXE8h2jOERvSF s20Ghyc8Ol9Id8jATh91eXwFqhVtz27rel4iQi42LN8+WUmuQbUMXSzkugqxMioyw+mHkuuAXWa PpTYlx9Y9OZEnsk2xbfySEA0D11pzAfHS5pENtuFQgN8Vidz2ZK+PIc1umgTV0 X-Google-Smtp-Source: AGHT+IGgdL3W2AiEP2i6uJUSj/QjKjggg5zBS3qTOc1wlM1bQf41oDKsmV10wHg4vZ/SbVm1mvCtDg== X-Received: by 2002:a05:600c:444b:b0:477:561f:6fc8 with SMTP id 5b1f17b1804b1-47d19549625mr329747735e9.5.1767050155378; Mon, 29 Dec 2025 15:15:55 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Anton Johansson , Manos Pitsidianakis , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 1/7] monitor/hmp: Replace target_ulong -> vaddr in hmp_gva2gpa() Date: Tue, 30 Dec 2025 00:15:39 +0100 Message-ID: <20251229231546.50604-2-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251229231546.50604-1-philmd@linaro.org> References: <20251229231546.50604-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.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 autolearn=ham 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1767050200306158500 cpu_get_phys_page_debug() takes a vaddr type since commit 00b941e581b ("cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook"). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis Reviewed-by: Dr. David Alan Gilbert --- monitor/hmp-cmds-target.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index e9820611466..2976f986d35 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -301,7 +301,7 @@ void hmp_gpa2hva(Monitor *mon, const QDict *qdict) =20 void hmp_gva2gpa(Monitor *mon, const QDict *qdict) { - target_ulong addr =3D qdict_get_int(qdict, "addr"); + vaddr addr =3D qdict_get_int(qdict, "addr"); CPUState *cs =3D mon_get_cpu(mon); hwaddr gpa; =20 --=20 2.52.0 From nobody Wed Jan 7 09:26:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1767050215; cv=none; d=zohomail.com; s=zohoarc; b=OzrAWzZ/MF3xx33a4qFH0ZIHV/K8WyKNMdQG0I2s25jqy8tylbo4THrG+VhiMsfKxEcBxVxYNXnZKq0AK0KeGgP1/pFykScSW7ad8rXED3fD++JHa+LtI1XNu5HlI5pZ3KIZ50TXX5Kmga6Dp1I2nD4uNUskNXIVl75KOxwo0ls= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767050215; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5D4I0hKen7zTmms4TFT5Wn2w/psueUc6XUEBMd2bJm0=; b=DrrjculQ4aff7FtyoL/gXDGZkre7RTvFCngY73dy5XPy8KcWJU1eA+yAV9R0eLedHBjDgt9n7gsPFvmfrU1YgLfBvUP37+S2npYSDgNEP54J8OuWz2Q+nucApxtokgKw+Qf2VKeTf6zX9QKfWgCYZ0YE8I2WXSq6NaCCv1E7eaM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1767050215745571.3750478615231; Mon, 29 Dec 2025 15:16:55 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vaMTA-0006zF-A4; Mon, 29 Dec 2025 18:16:08 -0500 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 1vaMT8-0006yx-8K for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:06 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vaMT6-0004TB-Lk for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:05 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-47bdbc90dcaso59065945e9.1 for ; Mon, 29 Dec 2025 15:16:04 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47be279c5f8sm587408345e9.9.2025.12.29.15.16.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Dec 2025 15:16:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767050162; x=1767654962; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5D4I0hKen7zTmms4TFT5Wn2w/psueUc6XUEBMd2bJm0=; b=x7KBbOwmZDop+Y1bgKoxY6RQ/clZ5N1uUrpzQXv7zgYnftCVeiAewavitqbk4TwZ2d dnyYa1ans9Kly8e8l5XqFz7xFOgP8oaAW48oJ4/7lOAOL2guYMJ7axEfaAMxTQDsh+hj YR8YtNJSfUyBWKTdjl3PoUSfIl+pfvmZk4IbHG+0DVkIW5zCorp4BvKkhPzocjfPAgP8 WFB4Z07f3TD4zqIFXB8DcfXQtqXk2ybAj3+IkQR4M7JEOWK0Z941CeLFLm+0OBwT4u3G Fw6eEKpSx9WnkbRGX8JJxOGAV8Ty/xgXPhoHUP2aCBp9nLetjZtEUOkx01U2GpKoFYYO ph9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767050162; x=1767654962; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5D4I0hKen7zTmms4TFT5Wn2w/psueUc6XUEBMd2bJm0=; b=lywF+bqcdZv51IZ1SI2Lp8uj8fSths8HbS6zp6HdBhVz6wq/uo+3OFViOJwjqQm+Vz AfiyzPpsU9VAH/ByjbfLc/lH1P7fN9FkX6GvUb5H7yDYJXMhmL8OjF050BCFnlyWiCyz PKUevaTzBDgqz3Jfp/5XAJf8Kv33YVw2eTkzM3cpL3Lmbndp+4VZ2xYmJlvtdDJpJlRv i3iWxed/qFmeV6xnExLmbKOsFOBF+0PoSorvNy1UkGNuukp7L0eZGBLLudxtU/n8UwJg CLxBmcHi7jcZqLo+Q8OE7t+a/dUQdiUqy2N0Sp/gNl7APjFPLzCXwaojdyrnBXAymveO M5jA== X-Gm-Message-State: AOJu0YzZlKGpRGRor1kteOBF9HXYDPmCHG8qzzpKbY/hzUixppV+f6Fu HUGToOua684QYKCYzSun9e3QyoO8bFgkQNaB7V3APvUT+2+KJcT5rjyJhWNHL2fy7Sef5hJaUBD RhOtQKzg= X-Gm-Gg: AY/fxX5h4DoZ/tzb44i539joxnXnP6hsTFNejAEuYwiHyS042cB2icGWH2knhmx4VQf IuWiEnuyTWWp9iakje3JMGh8NpzCB9ZDSO3xJUDjSuY1+37RizIlXFDJAVCOOH4myhPJtB/feKT E9R0YlwLTajJoiCixY2YFGSRnEBrZqH0y/gNtel1AV9lFUAqTOCHjOZilLxbkDZVGhcsHLHas2p XE7D0YB8vZaNIFdPVYirDAM+rW9kncy0FKwtRK6NQ90qVnpra+mifAA2MsqFHOft1X9GVgwcPFY CxNH1Wl2cMQpTQP2ARBwZvn134g1dBMQMNF/zZKQm3MkTf0xYWj72hjlbTXbM2jnrgDv+xQWBhi 4844UOpmm8zMDyXkUZ8RzjC96X1Bil/SEROkvSA/aCKGHMHIUq/hi1bnBmbnMbduoSxuR88CZri Uhb91nwuiSk9iRIUmWPGHZ64/69vexNgxMMQS50dMl9m/i/t9nDDOe0D0ovcwu X-Google-Smtp-Source: AGHT+IGFjGITe1wntBwZcn6FdjWvyNhJmHGqDQex4ErHbg4KhXXNqSUgN9EL8w4dk2+eNGxn9QeOBQ== X-Received: by 2002:a05:600c:1c21:b0:47b:e2a9:2bd9 with SMTP id 5b1f17b1804b1-47d19583142mr443798655e9.31.1767050161908; Mon, 29 Dec 2025 15:16:01 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Anton Johansson , Manos Pitsidianakis , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 2/7] monitor/hmp: Make memory_dump() @is_physical argument a boolean Date: Tue, 30 Dec 2025 00:15:40 +0100 Message-ID: <20251229231546.50604-3-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251229231546.50604-1-philmd@linaro.org> References: <20251229231546.50604-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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 autolearn=ham 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1767050216231158500 Suggested-by: Dr. David Alan Gilbert Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Manos Pitsidianakis --- monitor/hmp-cmds-target.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index 2976f986d35..51dcb9e314c 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -122,7 +122,7 @@ void hmp_info_registers(Monitor *mon, const QDict *qdic= t) } =20 static void memory_dump(Monitor *mon, int count, int format, int wsize, - hwaddr addr, int is_physical) + hwaddr addr, bool is_physical) { int l, line_size, i, max_digits, len; uint8_t buf[16]; @@ -237,7 +237,7 @@ void hmp_memory_dump(Monitor *mon, const QDict *qdict) int size =3D qdict_get_int(qdict, "size"); target_long addr =3D qdict_get_int(qdict, "addr"); =20 - memory_dump(mon, count, format, size, addr, 0); + memory_dump(mon, count, format, size, addr, false); } =20 void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict) @@ -247,7 +247,7 @@ void hmp_physical_memory_dump(Monitor *mon, const QDict= *qdict) int size =3D qdict_get_int(qdict, "size"); hwaddr addr =3D qdict_get_int(qdict, "addr"); =20 - memory_dump(mon, count, format, size, addr, 1); + memory_dump(mon, count, format, size, addr, true); } =20 void *gpa2hva(MemoryRegion **p_mr, hwaddr addr, uint64_t size, Error **err= p) --=20 2.52.0 From nobody Wed Jan 7 09:26:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1767050197; cv=none; d=zohomail.com; s=zohoarc; b=eR8LI20aPG3Nr1McXu/AL4p3C0VqwIFajBgQUoM9vY9hewGBSMrZBteLE/1LPb5oJQ8s5W1tCdMiiAMIDLHCV+GSgQGAHFefqnrtwEFf3z0dZbVfd1chIHUTgO9gF4c1KT1bdcwo+1GLfzlY16LTJ853hPPM//c1vVv0iusgfYs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767050197; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=v4/z0QQPHUWriuxdqOrZVej0Q7UwOmQHDYQSDtJ1LOs=; b=beHvfW7jcJpPlTR3apbER/XYU6Jt5iolLWf4T8D8hc7W7nfq9J472DWjrsgUb59uir2Y+YlW5hweuph6QQBaSeqvsQ53s3VjAfQZQEkz6+q5M9iM/PtSDDI+dibY18rMD9LbtOspocqk+qx+ivhbkFzYcXLhf5FwZd3+ZzERVC0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1767050197382727.689073640685; Mon, 29 Dec 2025 15:16:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vaMTF-00075m-Eh; Mon, 29 Dec 2025 18:16:13 -0500 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 1vaMTE-00073W-8j for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:12 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vaMTC-0004TY-DC for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:11 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-47d59da3d81so4446215e9.0 for ; Mon, 29 Dec 2025 15:16:10 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d193cbe58sm560664625e9.9.2025.12.29.15.16.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Dec 2025 15:16:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767050169; x=1767654969; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v4/z0QQPHUWriuxdqOrZVej0Q7UwOmQHDYQSDtJ1LOs=; b=rSIjNGYgLdtgjz9unD+/DH2yaJlDWGffxzrkHDgWQdpSfzZra+IxAaIikKM8pGaU4O RfBQ2P92CBvPFQy4t4vXze7VXWF9LKRU4AW4uYuIM+9xwVenpfE92n1J2F/dlnB7f/HL rIZxZNqOr+iSKOH9a3cRHf+MDlEXzl0s5k5yorD3X1GPo2dwJuTPJgRmv7STgB2VoXZv 5wmOONaNrWgjGa30NB3QTMCq6FFhq6PXtx6GuptnJJA97dfwl0STteL7KeDxLj4Nzx4n GTIZMHd7iyqoXMBVv6nylw8NyMhFWUNwMYz/WHN6y2D+fWJHtGVOziVxCPUbfPP+iylZ BVuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767050169; x=1767654969; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=v4/z0QQPHUWriuxdqOrZVej0Q7UwOmQHDYQSDtJ1LOs=; b=vUvZRkAfQODrsqsBq0dlamDaYl9+P9mBYgb+UFacXHFIGFuk3yNd13eflkakuLIfEt pmApWzuHdq+q8eu7AkqpxbmxKa4/4qbPduNxBc1kYar5TkolX51Pgi2yZSzsZKbZxGQl GwW1CAtzMY7F2Jo6S89RRBz78xLXMlGKrBK7VpSU9uVQn0R6BpCd50qP3JdhG+tbFC7M WM02ML7k0jNMGsGkH293w3vs9pKsf0bPq497Vtc6cJS6sBFnKXcl00RWoFOzEGsLNxEf wn1M168+vd2z3+sd0rnc1wbzKR4JL1olZStTDtiT80vOKMKK9BjJ4gRji3bNeJzhspVw TtSg== X-Gm-Message-State: AOJu0YwvR8L+ovrHwL6lqi/5GBm2DFpR2RnYbE+XqZ8cc5xCrJ9RXBYA 6KUEU/N9qB9bI0HUN1qb5u4wiFwGdKH06A9xz3XAICTiha5RK0f6aN5H3+bsO+Q83xyGQEzc/aG N3KITrgQ= X-Gm-Gg: AY/fxX6kkhJHJyrQclVkcYldUl+ysbepnnDx5iLMJUGZk/JR+7vEeW5SAdzdVDTh86Q qw5U2s47m7kYlf7hTTEJhTAiXTBei3dCGXiVQQZR8V/SmL51SqfNfj/czsMkllFF7BbDPoQUt0j IAY58F3eeSE4xmnJysx+YxJSDC22+vzIjy2SPSllTVxCrjJ1ajHx2raJosFKJfEAr9Wphy6wP5Y IanVjRQF3NvZJFfwtlk7rQVoRfqsFeYjf3eXRj7y7N4lUItUCS2HBHkqrAojPwXZBfgHgCQEB/B rzlnlVuIPpHq5BaA0TxP1DX/VlvJdvHVeKR9x2NXDIkRuNWrIXFnP5FKdCMO7hoBvuf4aoRuzqH o7awbfFezwJER2c86bTL4zKC4D5Ta/h9lexHYgRFeR5NyZWc+IxUFLdxW0gqmW+uOIC7GM+0MWM Z382jsBlL80WXevWJHQwDWg6XL588CWeiPTLND4TFB9hPw7XPUhdaBSMfRavn6OeJpdevvwRQ= X-Google-Smtp-Source: AGHT+IG9DHSZOqzETmmAgkk9ePtcdYNtwEQWstcomqOqjBynSEfi5HbsE68icwdptDV1T/ZlUs9F0A== X-Received: by 2002:a05:600c:45c4:b0:47d:403a:277 with SMTP id 5b1f17b1804b1-47d403a0498mr189924135e9.4.1767050168603; Mon, 29 Dec 2025 15:16:08 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Anton Johansson , Manos Pitsidianakis , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 3/7] monitor/hmp: Use plain uint64_t @addr argument in memory_dump() Date: Tue, 30 Dec 2025 00:15:41 +0100 Message-ID: <20251229231546.50604-4-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251229231546.50604-1-philmd@linaro.org> References: <20251229231546.50604-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.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 autolearn=ham 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1767050198632158500 memory_dump() takes either hwaddr or vaddr type, depending on the @is_physical argument. Simply use uint64_t type which is common to both. Pad address using field width formatting, removing the need for the target_ulong type. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis Reviewed-by: Dr. David Alan Gilbert --- monitor/hmp-cmds-target.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index 51dcb9e314c..e855c0d8a2c 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -122,12 +122,13 @@ void hmp_info_registers(Monitor *mon, const QDict *qd= ict) } =20 static void memory_dump(Monitor *mon, int count, int format, int wsize, - hwaddr addr, bool is_physical) + uint64_t addr, bool is_physical) { int l, line_size, i, max_digits, len; uint8_t buf[16]; uint64_t v; CPUState *cs =3D mon_get_cpu(mon); + const unsigned int addr_width =3D is_physical ? 8 : (target_long_bits(= ) * 2); =20 if (!cs && (format =3D=3D 'i' || !is_physical)) { monitor_printf(mon, "Can not dump without CPU\n"); @@ -165,11 +166,7 @@ static void memory_dump(Monitor *mon, int count, int f= ormat, int wsize, } =20 while (len > 0) { - if (is_physical) { - monitor_printf(mon, HWADDR_FMT_plx ":", addr); - } else { - monitor_printf(mon, TARGET_FMT_lx ":", (target_ulong)addr); - } + monitor_printf(mon, "%0*" PRIx64 ":", addr_width, addr); l =3D len; if (l > line_size) l =3D line_size; --=20 2.52.0 From nobody Wed Jan 7 09:26:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1767050227; cv=none; d=zohomail.com; s=zohoarc; b=Xemo9plNkOobM7opZr0lAqnUT4SxqUH359ZdZuyUle22MZ6zxG4icnhef1R8yF3xgDjKSEfvwudcKtdWmSDvuwM5pGuTQPTr2/IIqByEcVVyOjwwngle9QHp0Qs1FAGZ4BfWflr+cD5w9f3ioKhH1i9r6W+rVQU4radJcN6CYM4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767050227; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=o/8cYZmYdBL+VWLXphrjYK3VWDt4CKidadasVU86r/0=; b=Zjt4nBP96N1Kg6E+BgthKj5hKeQQxfr4c13YuszF8fVLK3HF4TXuzTKRjzn2jW0L2xMaJ3axIAoncUCtaLrkIST2Z+TY3C8RFfi95d7LCk6ZLBCOqmrA0DmHCp5nxXatRo7dyoJjXM1G3fxfEax/4/sBkMstFF59I5nboiPm4Rs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1767050227208485.4675358719463; Mon, 29 Dec 2025 15:17:07 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vaMTM-00077i-Ih; Mon, 29 Dec 2025 18:16:20 -0500 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 1vaMTK-00077R-Qb for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:18 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vaMTJ-0004U3-Ab for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:18 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-47d3ba3a4deso21746835e9.2 for ; Mon, 29 Dec 2025 15:16:16 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d19352306sm551499355e9.5.2025.12.29.15.16.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Dec 2025 15:16:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767050175; x=1767654975; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=o/8cYZmYdBL+VWLXphrjYK3VWDt4CKidadasVU86r/0=; b=ZxFvoayK3ez0WqOUQEPbjWZeGvu1//MjSn3CIMAMN4GeUnhPaa85713URWRdXRGvBK kcJFIbXZCfHgreZNbNnOq3ynChL7Ux56gIeU91BHZCYMSdxwZRokfY8DTN0uquwLgZ7U LfSqXbP7NhbLe12lDiwvJdsVj07ISzRQvDAZ63vYC7eZcw4K/NQoSpPFY8MwCyEEplm3 SORhEL7ExoXbpOjtz6dI2MgWMNe5A5VetaO7/Aw5aThIZl65tbSnFyRTt9taILT68/Y5 jrxwkJTv//1+W+aIr+PI0cQ5/ftTh8FHWdDO26nr1K0cWic5O1DNf7zV24Tlamzbg1+L Ux6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767050175; x=1767654975; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=o/8cYZmYdBL+VWLXphrjYK3VWDt4CKidadasVU86r/0=; b=YKHhVGjw7o1Mj7tzRbqKTX+gc0qnEVjfBWQt25i+c5F7hbPpSUVFMrJpMhvwXSKhEU 0QbGEWAAlmNKWEGsLGir297y0g3+rJUwYF/6rO1oq1ONIdPjJHJNUBCXGqEC7hth7EYf 3JkiODct1bmkMPOZXVY7+zt0j4pjMtbFplK+uiHHfC2NVKatfEs1zGH+uQYSH+irC0Pt zZ56dHsqAsIdl+iP5QC6gaYAgcjRYeFBSajZHOGxb7Ya/PfJswF6ddkdGe81GJMKCjz9 HE+E72XOJ1CQyL1LbhvtxZTiMmDIECCXgOO440xKTP+MeeJfEc23eAG8EO3wWOuqcAnA 63Zw== X-Gm-Message-State: AOJu0YzfHrDg1LeVdpEZAa6HflIuoSP0kTNSm0poF71P1qBijVYA2uYy r7bxdhojgDMNfeOp9girr5pavb3qFh0L2FdIioaaQv2CI4lutcR9TAGJ/3uoFzLygNzVFbFEBi+ e/eunUG0= X-Gm-Gg: AY/fxX6x/EgxHLGl6oDZjDj2RNNiruROcRCD5yEmTUxo74MPlrAezRYucjK7Y8BiwIX pKSR5zlcA6cpU7KdWjIUWWqTwJuOEf4OgQqrVTiVEHJ+HlDLae75yLqy6qcCkYc9NOBJjEm6WuU MHylIgoDrtPTPZVP/8X6SVNP2/qkfBzaf2om2beY8BzAhAe6v0EALUvrNK6cLNABCARAonynwVk 7VOVUd5jx2lYiWt18Hz3ZAVN20jbCNfHCqtW+GM4mRRPCSxWpOFB4RSlMo0v2rDz705h+qjyUrD qVAS7oiGF98G67rfA+J0VvAYL56W07YjIzPVp+gEafi2Fcf72DW25ZOejQs+mxnSPn+mNKPrxx5 e3j5Ul7s7ABot84o6/B/lxD6jYnxpuGXYyqM7yx5FyMsK6vQdLQAxLaPdEXX860CQvRO2ozBsTV SPrvwAgPlK6qUAy9+/dJIB1aIzc4+MbuRC274DzMsYElqe27xaWS3jMmpE8VkMKAMzjmNCGpE= X-Google-Smtp-Source: AGHT+IE993cDsbTJXzfvD+sHTJGNrnmaLdTATy8vAzE6PS32zivYNKhAr0iIVKVOetgn5S2ltWBUlw== X-Received: by 2002:a05:600c:45cf:b0:477:582e:7a81 with SMTP id 5b1f17b1804b1-47d1954986fmr342620555e9.4.1767050175215; Mon, 29 Dec 2025 15:16:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Anton Johansson , Manos Pitsidianakis , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 4/7] monitor/hmp: Remove target_long uses in memory_dump() Date: Tue, 30 Dec 2025 00:15:42 +0100 Message-ID: <20251229231546.50604-5-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251229231546.50604-1-philmd@linaro.org> References: <20251229231546.50604-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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 autolearn=ham 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1767050228184158500 Pass a plain vaddr type to express virtual address. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis --- monitor/hmp-cmds-target.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index e855c0d8a2c..7c8bddabbac 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -232,7 +232,7 @@ void hmp_memory_dump(Monitor *mon, const QDict *qdict) int count =3D qdict_get_int(qdict, "count"); int format =3D qdict_get_int(qdict, "format"); int size =3D qdict_get_int(qdict, "size"); - target_long addr =3D qdict_get_int(qdict, "addr"); + vaddr addr =3D qdict_get_int(qdict, "addr"); =20 memory_dump(mon, count, format, size, addr, false); } --=20 2.52.0 From nobody Wed Jan 7 09:26:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1767050233828577.256027280976; Mon, 29 Dec 2025 15:17:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vaMTU-00078y-2t; Mon, 29 Dec 2025 18:16:28 -0500 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 1vaMTS-00078h-B9 for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:26 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vaMTQ-0004UV-Od for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:25 -0500 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-42fbc305882so4504759f8f.0 for ; Mon, 29 Dec 2025 15:16:24 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea227e0sm66584791f8f.17.2025.12.29.15.16.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Dec 2025 15:16:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767050183; x=1767654983; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tRjjc7lfYQ8D8uomPsApNwxrP+NzSvQIdNMc+3yOG78=; b=ciNVhyZXI8E2v2vvO8jIWq9jjme0FtbNRGaM6tXLuGx5zt53OL45IpjtqRmpECJtIZ B6JqLaulASAaOkPU9IzFTKI/JCp2y3CpnxseTKeuz7DPlhvlceAqh0hzrxE/IYu+dObT giHQpsUZF0lWoo0/2c4uRhHzV1qKuuElBaDTDv8GpIwc1bmPQyW2UZ/MB1peQdhKZsI9 HckRQyJnrV7I++zG0d+rmnIYt5hbqktWTovApF9jth4FsLMwlshtS9eJo5x5+qgHv0pj FUDPCR03qQ2yIe2ipXzYKD+yiv0bsfGn6Ku/XRAZv5C60CfqQYQztgVuH8obJ7ZjM0gQ Km3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767050183; x=1767654983; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=tRjjc7lfYQ8D8uomPsApNwxrP+NzSvQIdNMc+3yOG78=; b=l4p2I1cTNdsGUd7Mg5c7MU8X3TIe8oHr8TOtvgIoSUOXmXtTTlg6KBpEYk6csZeKzc 39TS2xKxaGiUVPUQdpjF//JFfQAvQloX3c8H0g59L+I0+sF3SKH9wqTXpN8HMZier/Zy PsE+2X1FSxPz0y8b5qdvFgE7ubgfX7Fl4NLRtl+8OX2XALmje0Ranax1eG5vZDFO6hkJ sLsGkdF4Y6sO48F8t/1XDLFcivpvVb4px8uNvlwbnM1ZQAph1T/enQ8FMWU8GDseLb+R Rrf/ueChwl2GTofO6SiJoaen84rHTCWYpT0tRz8BPBhgZVbhUBf7nZt5wsO49LJoJxBe xApQ== X-Gm-Message-State: AOJu0YzSoRMEZ/zDe5ucTAgs6KYDPPgIUIGrku3ZWWBtCkrEGoY54kMM 4Rc+55EN/cwjnNuSqe03DoB8t0FexShdV+cIYFOr+COepjf2mHp+YoaLJzlymFtDQNWioKk0LtA AKcPeXr0= X-Gm-Gg: AY/fxX4Ur6Y1UTKg6QQJe90KUFZk5ThI9PuerytyvWIaFSQDFJy/8IISmnJMjXKR5Ve TqC5ZNzBFCiRRaQ85ACBuoctYr4td1RfqZEFqg6tbOvCtmbdWBXL4WRIHSTr/9Eoo938Z300gYV jDvEQ9tTHtWOhLMuznB0RM45kMUUWNtkJRBxAfTBORGJWXpcPV7mhOyEM1W7vIqv0abFyKBwvb+ fAOAbh877xdfUURwsMH+pvv9eg8imFhgOXG+CI2f2hzZIX2rA/SQtXYfziUGueNrl3aFUiiMZPp DQ57JOgWqnYy3PrczWnj/jWfZLdqruu1J0MEez1S25LeTXFAwOqdP2y9qJlVdtGv9xzPDkX91LJ 7AVMnn+fJfVQeyZCsZ5lRXRYr5O0e+4Cd8K6bu0yzIh8JhWxYcTk33o/jv/UQVEmG+26j3kcQ4m QMMFQCjsQaIbwk433T0DTJeO5t1qQ4adGP5a2SikvZP2saBrZjSJk9fHT8t3uB9Li5GI2sigk= X-Google-Smtp-Source: AGHT+IHjeP8YnRf5hocqn3gvAip5bKbPQY15bYsOs9iw1ZPOJlasI7+rNcd7zRfvZKKQDeBB81A9Tg== X-Received: by 2002:a05:6000:2404:b0:42f:bb3f:c5f1 with SMTP id ffacd0b85a97d-4324e506738mr38846097f8f.44.1767050182682; Mon, 29 Dec 2025 15:16:22 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Anton Johansson , Manos Pitsidianakis , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 5/7] monitor/hmp: Inline ld[uw, l, q]_p() calls in memory_dump() Date: Tue, 30 Dec 2025 00:15:43 +0100 Message-ID: <20251229231546.50604-6-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251229231546.50604-1-philmd@linaro.org> References: <20251229231546.50604-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.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 autolearn=ham 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1767050234205158500 Remove the last target-specificity in this file. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis --- monitor/hmp-cmds-target.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index 7c8bddabbac..e782259c3e6 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -129,6 +129,7 @@ static void memory_dump(Monitor *mon, int count, int fo= rmat, int wsize, uint64_t v; CPUState *cs =3D mon_get_cpu(mon); const unsigned int addr_width =3D is_physical ? 8 : (target_long_bits(= ) * 2); + const bool big_endian =3D target_big_endian(); =20 if (!cs && (format =3D=3D 'i' || !is_physical)) { monitor_printf(mon, "Can not dump without CPU\n"); @@ -192,13 +193,13 @@ static void memory_dump(Monitor *mon, int count, int = format, int wsize, v =3D ldub_p(buf + i); break; case 2: - v =3D lduw_p(buf + i); + v =3D (big_endian ? lduw_be_p : lduw_le_p)(buf + i); break; case 4: - v =3D (uint32_t)ldl_p(buf + i); + v =3D (uint32_t)(big_endian ? ldl_be_p : ldl_le_p)(buf + i= ); break; case 8: - v =3D ldq_p(buf + i); + v =3D (big_endian ? ldq_be_p : ldq_le_p)(buf + i); break; } monitor_printf(mon, " "); --=20 2.52.0 From nobody Wed Jan 7 09:26:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1767050240; cv=none; d=zohomail.com; s=zohoarc; b=TElE36d0LsjwY7Uh6SFJceKylS2kTMjcsvrlRgf8iWj7ptAnN759/YJNyGzNJNEgb0GFJXV8BL8P3RbTzH0Drs1XOKGaJIkh/sxkrOvTFllBfRrMqznTvaibZs0voYLi5JzK9UGP9hiT856Ww5RnB/IG4sWLnChX/Q7usYY/Rbw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767050240; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=++uoMdw5tHPHy/4X3ZDqK/V4wErwg5CIxJRV4pUz1eg=; b=nCpCA9Bc5pvuxrmjEFP9/QePUYHMiv6ecoDNuBNCS47hCHVS71HimLNDRxZo3XfQBQPfYVPtilja/45uHW/PqOseEXK783QjoiLBZ0912rIsVNvIFmOdUoN+sZbgLqe5hwit2AfhVddEzrgKmMuEmURA9GSY+eDRnvoJ5Qkd5ok= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1767050240851686.8928643050141; Mon, 29 Dec 2025 15:17:20 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vaMTc-0007AX-17; Mon, 29 Dec 2025 18:16:36 -0500 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 1vaMTa-0007A8-6y for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:34 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vaMTY-0004Uz-8i for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:33 -0500 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-477a2ab455fso90455445e9.3 for ; Mon, 29 Dec 2025 15:16:31 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47be27b749esm616998525e9.14.2025.12.29.15.16.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Dec 2025 15:16:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767050190; x=1767654990; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=++uoMdw5tHPHy/4X3ZDqK/V4wErwg5CIxJRV4pUz1eg=; b=OkUN+6mq+7xm+2Vs6zxRV3AehoB/o7zGvA9vQMoCO/9yFQMLMo8sCpbE/KYL644qcU qkppcKn4UVTQlau5mWBAkovJxYr5YH6ZnAQVINJqYZGyfh0WO9A0ZzJMYTWJbRNKwCqP Epxysil9zdjdeOQxWZ5JMT0PLZ2xUlZlYvHcr/tVnAu6k48Vqqhqrx5sOAnzNaBAxV39 FaLrcvlXqVizSQlKf7CS3SWj29yyKAoV7549a7R1t+M3v8iLqQNtlN7Rn4qjbANFZmdd Tiit8ku8J3N/uOz+BbxscZNUOi1E9jf90cru1J1XmBlvJLFAnwsiFY9CztsjV/EebXnH 6JYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767050190; x=1767654990; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=++uoMdw5tHPHy/4X3ZDqK/V4wErwg5CIxJRV4pUz1eg=; b=nErhvK3VCoDzszg18Pl6jSE16k/Wkrf68Xi/rLSdtgqzTUW9hXeU7IgA1PbwWG6SWh kmNZks81TLrC8JYbNK+fi8Vl/flvkOsrzCcNOFUZLbxgYHCOWIAgL7KKqMn1GCAu62ZR XGOneK/xkHyCQ+hmL0VVQkhVi1zmI88jK3siGWY3OpW8TJWWYv5YUSfaeYz5CnwxQ0Mw UbiJaYKjuYTMTEDOFVA53fuf0Iy4veDJfPcoLgbpVL+xH4PPJ0bHihn9O+R+QppTCc5O Ldf/LlH/uMT0j8BP4ddpSw5CpeE+EnlyiujYUNkitn/bLMCMuarRX2LyzbWZi/5MTWwp 4c0g== X-Gm-Message-State: AOJu0Yz6B0HR5TFFWW9nc1u1BMC/li9/5b42lVvseQFERO0KywnT/6Cr CCCGPTKqr1qKteHEbFNSLdzxv/DOOrI+i6duLUon/PdprvsAmDFpnE+ERjlU3dpL5yzci6keHKU lp37DcPg= X-Gm-Gg: AY/fxX6Oqz6mXBZVlNlbrBgbWJ1OdaUjTNPHA23CtJrxruns2DknrsfvpFhaKcNXQIm X2S1chl7ozj66yBv/wuMUofa7ddEDstCJvn6ilPPxjSK679Yo73bjw3E/40IvJX+xPUpp1sgQ2f HZtIdfet1nCmOx9F822ZZlEvdJ0yQU6lYtdjlUOLDzPStRCMKxI3MsTgfp21YfSeelmHjO30joy +jJjKx2jxF7WlJEcXYiERSUraFYkLuaW+H33Tv6tA8FeOGG97jgdJ9seW7ph5vfdP3g7KkVgq+5 V1wFp1iePRh3nDW1q9oDU+APJBdr/A8+FpQGaRbtv8W6Sw1DxC4E8SBdp/zdUygHG11/6dou0j/ 47Ez1c5VHErp94lN5QuyykGSMJPiqwTjeMtK/74LLWguEK/igPYYkQPLfLuiZEJMowyAqpdgIFK If2UxouqOMzUFrEoFFbaO/wq7yZ4gnCKGKuAKjYEbAZxBUeyb7SZaOEJ7RkgygIe8CpX4fmX4= X-Google-Smtp-Source: AGHT+IHybWv7omPALcBbooy4ivZnJt2kREcR3f2Z7ommtTqLeQ2uYJJ4oJWZsL6uELpLoXj5jXTQ4w== X-Received: by 2002:a05:600c:4e42:b0:47b:de05:aa28 with SMTP id 5b1f17b1804b1-47d1956eb65mr291724075e9.2.1767050190198; Mon, 29 Dec 2025 15:16:30 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Anton Johansson , Manos Pitsidianakis , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 6/7] monitor/hmp: Fix coding style in hmp-cmds-target.c Date: Tue, 30 Dec 2025 00:15:44 +0100 Message-ID: <20251229231546.50604-7-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251229231546.50604-1-philmd@linaro.org> References: <20251229231546.50604-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.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 autolearn=ham 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1767050242404158500 Previous to moving code contained in hmp-cmds-target.c, fix the coding style. Otherwise the checkpatch.pl script would report: ERROR: space required before the open parenthesis '(' #134: FILE: monitor/hmp-cmds-target.c:152: + switch(format) { ERROR: braces {} are necessary for all arms of this statement #154: FILE: monitor/hmp-cmds-target.c:172: + if (l > line_size) [...] ERROR: space required before the open parenthesis '(' #172: FILE: monitor/hmp-cmds-target.c:190: + switch(wsize) { ERROR: space required before the open parenthesis '(' #188: FILE: monitor/hmp-cmds-target.c:206: + switch(format) { ERROR: Don't use '#' flag of printf format ('%#') in format strings, use = '0x' prefix instead #190: FILE: monitor/hmp-cmds-target.c:208: + monitor_printf(mon, "%#*" PRIo64, max_digits, v); WARNING: line over 80 characters #240: FILE: monitor/hmp-cmds-target.c:258: + error_setg(errp, "No memory is mapped at address 0x%" HWADDR_PRI= x, addr); WARNING: line over 80 characters #245: FILE: monitor/hmp-cmds-target.c:263: + error_setg(errp, "Memory at address 0x%" HWADDR_PRIx " is not RA= M", addr); ERROR: Don't use '#' flag of printf format ('%#') in format strings, use = '0x' prefix instead #297: FILE: monitor/hmp-cmds-target.c:315: + monitor_printf(mon, "gpa: %#" HWADDR_PRIx "\n", WARNING: line over 80 characters #329: FILE: monitor/hmp-cmds-target.c:347: + ret =3D ((pinfo & 0x007fffffffffffffull) * pagesize) | (addr & (page= size - 1)); Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis Reviewed-by: Dr. David Alan Gilbert --- monitor/hmp-cmds-target.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index e782259c3e6..b4360f1f807 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -149,7 +149,7 @@ static void memory_dump(Monitor *mon, int count, int fo= rmat, int wsize, } max_digits =3D 0; =20 - switch(format) { + switch (format) { case 'o': max_digits =3D DIV_ROUND_UP(wsize * 8, 3); break; @@ -169,8 +169,9 @@ static void memory_dump(Monitor *mon, int count, int fo= rmat, int wsize, while (len > 0) { monitor_printf(mon, "%0*" PRIx64 ":", addr_width, addr); l =3D len; - if (l > line_size) + if (l > line_size) { l =3D line_size; + } if (is_physical) { AddressSpace *as =3D cs ? cs->as : &address_space_memory; MemTxResult r =3D address_space_read(as, addr, @@ -187,7 +188,7 @@ static void memory_dump(Monitor *mon, int count, int fo= rmat, int wsize, } i =3D 0; while (i < l) { - switch(wsize) { + switch (wsize) { default: case 1: v =3D ldub_p(buf + i); @@ -203,9 +204,9 @@ static void memory_dump(Monitor *mon, int count, int fo= rmat, int wsize, break; } monitor_printf(mon, " "); - switch(format) { + switch (format) { case 'o': - monitor_printf(mon, "%#*" PRIo64, max_digits, v); + monitor_printf(mon, "0%*" PRIo64, max_digits, v); break; case 'x': monitor_printf(mon, "0x%0*" PRIx64, max_digits, v); @@ -255,12 +256,14 @@ void *gpa2hva(MemoryRegion **p_mr, hwaddr addr, uint6= 4_t size, Error **errp) addr, size); =20 if (!mrs.mr) { - error_setg(errp, "No memory is mapped at address 0x%" HWADDR_PRIx,= addr); + error_setg(errp, + "No memory is mapped at address 0x%" HWADDR_PRIx, addr); return NULL; } =20 if (!memory_region_is_ram(mrs.mr) && !memory_region_is_romd(mrs.mr)) { - error_setg(errp, "Memory at address 0x%" HWADDR_PRIx " is not RAM"= , addr); + error_setg(errp, + "Memory at address 0x%" HWADDR_PRIx " is not RAM", addr= ); memory_region_unref(mrs.mr); return NULL; } @@ -312,7 +315,7 @@ void hmp_gva2gpa(Monitor *mon, const QDict *qdict) if (gpa =3D=3D -1) { monitor_printf(mon, "Unmapped\n"); } else { - monitor_printf(mon, "gpa: %#" HWADDR_PRIx "\n", + monitor_printf(mon, "gpa: 0x%" HWADDR_PRIx "\n", gpa + (addr & ~TARGET_PAGE_MASK)); } } @@ -344,7 +347,8 @@ static uint64_t vtop(void *ptr, Error **errp) error_setg(errp, "Page not present"); goto out; } - ret =3D ((pinfo & 0x007fffffffffffffull) * pagesize) | (addr & (pagesi= ze - 1)); + ret =3D (pinfo & 0x007fffffffffffffull) * pagesize; + ret |=3D addr & (pagesize - 1); =20 out: close(fd); --=20 2.52.0 From nobody Wed Jan 7 09:26:23 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1767050210; cv=none; d=zohomail.com; s=zohoarc; b=Oo9soxK/1Vv/nm71M3R+z81NnUwftR8GRQMJI7W+ARbI8N2NaSLvCuNwc0ZO1zD9zE17a7QvGTg9FOxMF6zWnczDsbGQGsdRm6c9C6ZppQ5sAp/2K/j8hRrDHrb1Da9LVk2CkaGEb7n7NlrLCtvo/smFWEBpe2znJwMBADZs+Cg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767050210; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=sk96T4lx9zWPFVgcu9fGU3wVRB+OIsQ3HiNXE+PkVUk=; b=B2wJ7U/s8TonjUi84kAubOQHy/C1a9D0Sd9Bv+1gETX6apD9loSfeEpmXe+A3lQI9l8yzUYoGs7/BCmCkAPKGdFayBehXoWMRAJNVuMIttK8zghFcS2jAWacZddeiFtPBby7MtShugR8XZ3EIEngXmoYzjtT4hu7tvEW1ZSNg14= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 176705021044637.99230285322517; Mon, 29 Dec 2025 15:16:50 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vaMTl-0007Lv-IX; Mon, 29 Dec 2025 18:16:45 -0500 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 1vaMTk-0007LF-0x for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:44 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vaMTh-0004VO-3k for qemu-devel@nongnu.org; Mon, 29 Dec 2025 18:16:43 -0500 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4775ae5684fso31006515e9.1 for ; Mon, 29 Dec 2025 15:16:40 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d192e88f5sm555882585e9.0.2025.12.29.15.16.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Dec 2025 15:16:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767050199; x=1767654999; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sk96T4lx9zWPFVgcu9fGU3wVRB+OIsQ3HiNXE+PkVUk=; b=dAGV4DR4I0SqSMOCqOVIyroeQuIe4fewybKlR7EkelkP1d1BsX+ALJxSCF4TYxIZmf Clczi3QwsjDy6y05WQqIplxUyerSGZHQxm+Wlq8T7rsqESWZq1MfQw4Rp4bmX1bnScWf rg1hSJcRtbTiTXUiDFhxd8dveTHP3h/drd2pMeqxOt/CdFl4LgWAcq2w8KY+B1iV0K9g yPUbIrJdLPNhbCpxETtNGwGq7TZiUBc3x05RY8bQRLky5sDPpxXVb91t5niOpGL1iJfJ Zd5kmth2z6nF3x0kC0cvBFFwyRxhl3XoZc6b+MvvvGXWAv60O52QK3XZCH67aYlhKPQQ SjoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767050199; x=1767654999; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sk96T4lx9zWPFVgcu9fGU3wVRB+OIsQ3HiNXE+PkVUk=; b=B3Zu+1/ZkyVpA7cvyaNwzDPPvB/VEvg8kM3x3QZvvJ2tOZ5uOJHiJIn9VI6VMMuRMq iQzLuIptRpEuJYY2I+6RUUs4celvlfxbrhMHlP648QDX+dgpVoSW/Xd0VuNZ/cINBp9Z vuz3VfxQ2y33xNFTO39QjlsodVL7gs5TcpeJmYTBvEkwqhg2J+IOEqinydAiLcN+YTQV 8JJsUAnpDf79bvlNkd3ay3z0YndzGoAIC3MkodN7fjYAq7EXvfvW/DKAbj+EACQDkEQ5 7fValuXRaBJNOfyq+C5yXNGNxjf961AFQvqlTWM8InSIr+OijcPhxHe2OBsTQXA+czCy 5tsg== X-Gm-Message-State: AOJu0YyC31VKm2vAl5Ud1WAlvH4onJxAhmVD+JvkkXMktcnpypkzKIPY TKmU2jEEFkIoLGQfVB5rWzd/4BVx9hSPT5gaJeU0ldPlYXp6FJv4fNCGKiAOiJzRpBgK5DREzWh rM6x1WtU= X-Gm-Gg: AY/fxX5FSLhwXi/MzFqxLg+IgmY97LrWfWhZElkeSWlGsjFkIwTLjJyU6ODC6gd9Q8T 28eY5paeRvnui/YpfJjeptcx3/I5sV6sCc3Qkn5GRklyYs72Gm0Tdc8yfaHSjkmylxyYHmwIf91 PFKHMc4VwNqfNUHbr91GEh28kyuzN7yNm+OVnq9b4xDoQ7ad00X9/4DcJmxPEhg1LR0ZWhW2cH6 5uQkUs8ngdMN4OAEk7VSFyLXdy53MSUppZq1KK3FiHfH+ni8vRIy+8If6GOSgO2CbTa1cW62g9y tZicF44OOlPyGE88omTPHh2/S7lp06nb3SW3N7HeXaocnYV5YxzwFMJGBYa8Ngyg7w0qMqV96sO qDFEF6I+RQxJ2NftRdj+IeHzWw5sMSN/kJcCTAgR6SP3KXLH1RLT9j3USoA0iP6J73T3bcQw1ZU 8gO4+kdQsl/18eafE7INghmh4RM30b6T3FC4xJWGtQwMcTAAHuMcHisjsVvpNc X-Google-Smtp-Source: AGHT+IFEqn8wWSaB7d09nsXsEeIA0i6RxF4kX5XJVz9UA81RrEGG/mq/Q9Ada9m3rAq/juS/ARnqfQ== X-Received: by 2002:a05:600c:35cb:b0:479:3a88:de60 with SMTP id 5b1f17b1804b1-47d1959e061mr366354485e9.37.1767050197146; Mon, 29 Dec 2025 15:16:37 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Anton Johansson , Manos Pitsidianakis , "Dr. David Alan Gilbert" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 7/7] monitor/hmp: Merge hmp-cmds-target.c within hmp-cmds.c Date: Tue, 30 Dec 2025 00:15:45 +0100 Message-ID: <20251229231546.50604-8-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251229231546.50604-1-philmd@linaro.org> References: <20251229231546.50604-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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 autolearn=ham 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1767050212270158500 hmp-cmds-target.c is no more target specific, move its code in hmp-cmds.c, which is built once for all system binaries. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis --- monitor/hmp-cmds-target.c | 383 -------------------------------------- monitor/hmp-cmds.c | 354 +++++++++++++++++++++++++++++++++++ monitor/meson.build | 2 +- 3 files changed, 355 insertions(+), 384 deletions(-) delete mode 100644 monitor/hmp-cmds-target.c diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c deleted file mode 100644 index b4360f1f807..00000000000 --- a/monitor/hmp-cmds-target.c +++ /dev/null @@ -1,383 +0,0 @@ -/* - * Miscellaneous target-dependent HMP commands - * - * Copyright (c) 2003-2004 Fabrice Bellard - * - * Permission is hereby granted, free of charge, to any person obtaining a= copy - * of this software and associated documentation files (the "Software"), t= o deal - * in the Software without restriction, including without limitation the r= ights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or se= ll - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included= in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS= OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OT= HER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING= FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS = IN - * THE SOFTWARE. - */ - -#include "qemu/osdep.h" -#include "disas/disas.h" -#include "system/address-spaces.h" -#include "system/memory.h" -#include "monitor/hmp-target.h" -#include "monitor/monitor-internal.h" -#include "qapi/error.h" -#include "qobject/qdict.h" -#include "system/hw_accel.h" -#include "exec/target_page.h" - -/* Set the current CPU defined by the user. Callers must hold BQL. */ -int monitor_set_cpu(Monitor *mon, int cpu_index) -{ - CPUState *cpu; - - cpu =3D qemu_get_cpu(cpu_index); - if (cpu =3D=3D NULL) { - return -1; - } - g_free(mon->mon_cpu_path); - mon->mon_cpu_path =3D object_get_canonical_path(OBJECT(cpu)); - return 0; -} - -/* Callers must hold BQL. */ -static CPUState *mon_get_cpu_sync(Monitor *mon, bool synchronize) -{ - CPUState *cpu =3D NULL; - - if (mon->mon_cpu_path) { - cpu =3D (CPUState *) object_resolve_path_type(mon->mon_cpu_path, - TYPE_CPU, NULL); - if (!cpu) { - g_free(mon->mon_cpu_path); - mon->mon_cpu_path =3D NULL; - } - } - if (!mon->mon_cpu_path) { - if (!first_cpu) { - return NULL; - } - monitor_set_cpu(mon, first_cpu->cpu_index); - cpu =3D first_cpu; - } - assert(cpu !=3D NULL); - if (synchronize) { - cpu_synchronize_state(cpu); - } - return cpu; -} - -CPUState *mon_get_cpu(Monitor *mon) -{ - return mon_get_cpu_sync(mon, true); -} - -CPUArchState *mon_get_cpu_env(Monitor *mon) -{ - CPUState *cs =3D mon_get_cpu(mon); - - return cs ? cpu_env(cs) : NULL; -} - -int monitor_get_cpu_index(Monitor *mon) -{ - CPUState *cs =3D mon_get_cpu_sync(mon, false); - - return cs ? cs->cpu_index : UNASSIGNED_CPU_INDEX; -} - -void hmp_info_registers(Monitor *mon, const QDict *qdict) -{ - bool all_cpus =3D qdict_get_try_bool(qdict, "cpustate_all", false); - int vcpu =3D qdict_get_try_int(qdict, "vcpu", -1); - CPUState *cs; - - if (all_cpus) { - CPU_FOREACH(cs) { - monitor_printf(mon, "\nCPU#%d\n", cs->cpu_index); - cpu_dump_state(cs, NULL, CPU_DUMP_FPU | CPU_DUMP_VPU); - } - } else { - cs =3D vcpu >=3D 0 ? qemu_get_cpu(vcpu) : mon_get_cpu(mon); - - if (!cs) { - if (vcpu >=3D 0) { - monitor_printf(mon, "CPU#%d not available\n", vcpu); - } else { - monitor_printf(mon, "No CPU available\n"); - } - return; - } - - monitor_printf(mon, "\nCPU#%d\n", cs->cpu_index); - cpu_dump_state(cs, NULL, CPU_DUMP_FPU | CPU_DUMP_VPU); - } -} - -static void memory_dump(Monitor *mon, int count, int format, int wsize, - uint64_t addr, bool is_physical) -{ - int l, line_size, i, max_digits, len; - uint8_t buf[16]; - uint64_t v; - CPUState *cs =3D mon_get_cpu(mon); - const unsigned int addr_width =3D is_physical ? 8 : (target_long_bits(= ) * 2); - const bool big_endian =3D target_big_endian(); - - if (!cs && (format =3D=3D 'i' || !is_physical)) { - monitor_printf(mon, "Can not dump without CPU\n"); - return; - } - - if (format =3D=3D 'i') { - monitor_disas(mon, cs, addr, count, is_physical); - return; - } - - len =3D wsize * count; - if (wsize =3D=3D 1) { - line_size =3D 8; - } else { - line_size =3D 16; - } - max_digits =3D 0; - - switch (format) { - case 'o': - max_digits =3D DIV_ROUND_UP(wsize * 8, 3); - break; - default: - case 'x': - max_digits =3D (wsize * 8) / 4; - break; - case 'u': - case 'd': - max_digits =3D DIV_ROUND_UP(wsize * 8 * 10, 33); - break; - case 'c': - wsize =3D 1; - break; - } - - while (len > 0) { - monitor_printf(mon, "%0*" PRIx64 ":", addr_width, addr); - l =3D len; - if (l > line_size) { - l =3D line_size; - } - if (is_physical) { - AddressSpace *as =3D cs ? cs->as : &address_space_memory; - MemTxResult r =3D address_space_read(as, addr, - MEMTXATTRS_UNSPECIFIED, buf= , l); - if (r !=3D MEMTX_OK) { - monitor_printf(mon, " Cannot access memory\n"); - break; - } - } else { - if (cpu_memory_rw_debug(cs, addr, buf, l, 0) < 0) { - monitor_printf(mon, " Cannot access memory\n"); - break; - } - } - i =3D 0; - while (i < l) { - switch (wsize) { - default: - case 1: - v =3D ldub_p(buf + i); - break; - case 2: - v =3D (big_endian ? lduw_be_p : lduw_le_p)(buf + i); - break; - case 4: - v =3D (uint32_t)(big_endian ? ldl_be_p : ldl_le_p)(buf + i= ); - break; - case 8: - v =3D (big_endian ? ldq_be_p : ldq_le_p)(buf + i); - break; - } - monitor_printf(mon, " "); - switch (format) { - case 'o': - monitor_printf(mon, "0%*" PRIo64, max_digits, v); - break; - case 'x': - monitor_printf(mon, "0x%0*" PRIx64, max_digits, v); - break; - case 'u': - monitor_printf(mon, "%*" PRIu64, max_digits, v); - break; - case 'd': - monitor_printf(mon, "%*" PRId64, max_digits, v); - break; - case 'c': - monitor_printc(mon, v); - break; - } - i +=3D wsize; - } - monitor_printf(mon, "\n"); - addr +=3D l; - len -=3D l; - } -} - -void hmp_memory_dump(Monitor *mon, const QDict *qdict) -{ - int count =3D qdict_get_int(qdict, "count"); - int format =3D qdict_get_int(qdict, "format"); - int size =3D qdict_get_int(qdict, "size"); - vaddr addr =3D qdict_get_int(qdict, "addr"); - - memory_dump(mon, count, format, size, addr, false); -} - -void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict) -{ - int count =3D qdict_get_int(qdict, "count"); - int format =3D qdict_get_int(qdict, "format"); - int size =3D qdict_get_int(qdict, "size"); - hwaddr addr =3D qdict_get_int(qdict, "addr"); - - memory_dump(mon, count, format, size, addr, true); -} - -void *gpa2hva(MemoryRegion **p_mr, hwaddr addr, uint64_t size, Error **err= p) -{ - Int128 gpa_region_size; - MemoryRegionSection mrs =3D memory_region_find(get_system_memory(), - addr, size); - - if (!mrs.mr) { - error_setg(errp, - "No memory is mapped at address 0x%" HWADDR_PRIx, addr); - return NULL; - } - - if (!memory_region_is_ram(mrs.mr) && !memory_region_is_romd(mrs.mr)) { - error_setg(errp, - "Memory at address 0x%" HWADDR_PRIx " is not RAM", addr= ); - memory_region_unref(mrs.mr); - return NULL; - } - - gpa_region_size =3D int128_make64(size); - if (int128_lt(mrs.size, gpa_region_size)) { - error_setg(errp, "Size of memory region at 0x%" HWADDR_PRIx - " exceeded.", addr); - memory_region_unref(mrs.mr); - return NULL; - } - - *p_mr =3D mrs.mr; - return qemu_map_ram_ptr(mrs.mr->ram_block, mrs.offset_within_region); -} - -void hmp_gpa2hva(Monitor *mon, const QDict *qdict) -{ - hwaddr addr =3D qdict_get_int(qdict, "addr"); - Error *local_err =3D NULL; - MemoryRegion *mr =3D NULL; - void *ptr; - - ptr =3D gpa2hva(&mr, addr, 1, &local_err); - if (local_err) { - error_report_err(local_err); - return; - } - - monitor_printf(mon, "Host virtual address for 0x%" HWADDR_PRIx - " (%s) is %p\n", - addr, mr->name, ptr); - - memory_region_unref(mr); -} - -void hmp_gva2gpa(Monitor *mon, const QDict *qdict) -{ - vaddr addr =3D qdict_get_int(qdict, "addr"); - CPUState *cs =3D mon_get_cpu(mon); - hwaddr gpa; - - if (!cs) { - monitor_printf(mon, "No cpu\n"); - return; - } - - gpa =3D cpu_get_phys_page_debug(cs, addr & TARGET_PAGE_MASK); - if (gpa =3D=3D -1) { - monitor_printf(mon, "Unmapped\n"); - } else { - monitor_printf(mon, "gpa: 0x%" HWADDR_PRIx "\n", - gpa + (addr & ~TARGET_PAGE_MASK)); - } -} - -#ifdef CONFIG_LINUX -static uint64_t vtop(void *ptr, Error **errp) -{ - uint64_t pinfo; - uint64_t ret =3D -1; - uintptr_t addr =3D (uintptr_t) ptr; - uintptr_t pagesize =3D qemu_real_host_page_size(); - off_t offset =3D addr / pagesize * sizeof(pinfo); - int fd; - - fd =3D open("/proc/self/pagemap", O_RDONLY); - if (fd =3D=3D -1) { - error_setg_errno(errp, errno, "Cannot open /proc/self/pagemap"); - return -1; - } - - /* Force copy-on-write if necessary. */ - qatomic_add((uint8_t *)ptr, 0); - - if (pread(fd, &pinfo, sizeof(pinfo), offset) !=3D sizeof(pinfo)) { - error_setg_errno(errp, errno, "Cannot read pagemap"); - goto out; - } - if ((pinfo & (1ull << 63)) =3D=3D 0) { - error_setg(errp, "Page not present"); - goto out; - } - ret =3D (pinfo & 0x007fffffffffffffull) * pagesize; - ret |=3D addr & (pagesize - 1); - -out: - close(fd); - return ret; -} - -void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) -{ - hwaddr addr =3D qdict_get_int(qdict, "addr"); - Error *local_err =3D NULL; - MemoryRegion *mr =3D NULL; - void *ptr; - uint64_t physaddr; - - ptr =3D gpa2hva(&mr, addr, 1, &local_err); - if (local_err) { - error_report_err(local_err); - return; - } - - physaddr =3D vtop(ptr, &local_err); - if (local_err) { - error_report_err(local_err); - } else { - monitor_printf(mon, "Host physical address for 0x%" HWADDR_PRIx - " (%s) is 0x%" PRIx64 "\n", - addr, mr->name, (uint64_t) physaddr); - } - - memory_region_unref(mr); -} -#endif diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index 33a88ce205a..f7ff6ec90ec 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -17,9 +17,11 @@ #include "system/address-spaces.h" #include "system/ioport.h" #include "exec/gdbstub.h" +#include "exec/target_page.h" #include "gdbstub/enums.h" #include "monitor/hmp.h" #include "qemu/help_option.h" +#include "monitor/hmp-target.h" #include "monitor/monitor-internal.h" #include "qapi/error.h" #include "qapi/qapi-commands-control.h" @@ -28,7 +30,10 @@ #include "qobject/qdict.h" #include "qemu/cutils.h" #include "qemu/log.h" +#include "system/hw_accel.h" +#include "system/memory.h" #include "system/system.h" +#include "disas/disas.h" =20 bool hmp_handle_error(Monitor *mon, Error *err) { @@ -435,3 +440,352 @@ void hmp_dumpdtb(Monitor *mon, const QDict *qdict) monitor_printf(mon, "DTB dumped to '%s'\n", filename); } #endif + +/* Set the current CPU defined by the user. Callers must hold BQL. */ +int monitor_set_cpu(Monitor *mon, int cpu_index) +{ + CPUState *cpu; + + cpu =3D qemu_get_cpu(cpu_index); + if (cpu =3D=3D NULL) { + return -1; + } + g_free(mon->mon_cpu_path); + mon->mon_cpu_path =3D object_get_canonical_path(OBJECT(cpu)); + return 0; +} + +/* Callers must hold BQL. */ +static CPUState *mon_get_cpu_sync(Monitor *mon, bool synchronize) +{ + CPUState *cpu =3D NULL; + + if (mon->mon_cpu_path) { + cpu =3D (CPUState *) object_resolve_path_type(mon->mon_cpu_path, + TYPE_CPU, NULL); + if (!cpu) { + g_free(mon->mon_cpu_path); + mon->mon_cpu_path =3D NULL; + } + } + if (!mon->mon_cpu_path) { + if (!first_cpu) { + return NULL; + } + monitor_set_cpu(mon, first_cpu->cpu_index); + cpu =3D first_cpu; + } + assert(cpu !=3D NULL); + if (synchronize) { + cpu_synchronize_state(cpu); + } + return cpu; +} + +CPUState *mon_get_cpu(Monitor *mon) +{ + return mon_get_cpu_sync(mon, true); +} + +CPUArchState *mon_get_cpu_env(Monitor *mon) +{ + CPUState *cs =3D mon_get_cpu(mon); + + return cs ? cpu_env(cs) : NULL; +} + +int monitor_get_cpu_index(Monitor *mon) +{ + CPUState *cs =3D mon_get_cpu_sync(mon, false); + + return cs ? cs->cpu_index : UNASSIGNED_CPU_INDEX; +} + +void hmp_info_registers(Monitor *mon, const QDict *qdict) +{ + bool all_cpus =3D qdict_get_try_bool(qdict, "cpustate_all", false); + int vcpu =3D qdict_get_try_int(qdict, "vcpu", -1); + CPUState *cs; + + if (all_cpus) { + CPU_FOREACH(cs) { + monitor_printf(mon, "\nCPU#%d\n", cs->cpu_index); + cpu_dump_state(cs, NULL, CPU_DUMP_FPU | CPU_DUMP_VPU); + } + } else { + cs =3D vcpu >=3D 0 ? qemu_get_cpu(vcpu) : mon_get_cpu(mon); + + if (!cs) { + if (vcpu >=3D 0) { + monitor_printf(mon, "CPU#%d not available\n", vcpu); + } else { + monitor_printf(mon, "No CPU available\n"); + } + return; + } + + monitor_printf(mon, "\nCPU#%d\n", cs->cpu_index); + cpu_dump_state(cs, NULL, CPU_DUMP_FPU | CPU_DUMP_VPU); + } +} + +static void memory_dump(Monitor *mon, int count, int format, int wsize, + uint64_t addr, bool is_physical) +{ + int l, line_size, i, max_digits, len; + uint8_t buf[16]; + uint64_t v; + CPUState *cs =3D mon_get_cpu(mon); + const unsigned int addr_width =3D is_physical ? 8 : (target_long_bits(= ) * 2); + const bool big_endian =3D target_big_endian(); + + if (!cs && (format =3D=3D 'i' || !is_physical)) { + monitor_printf(mon, "Can not dump without CPU\n"); + return; + } + + if (format =3D=3D 'i') { + monitor_disas(mon, cs, addr, count, is_physical); + return; + } + + len =3D wsize * count; + if (wsize =3D=3D 1) { + line_size =3D 8; + } else { + line_size =3D 16; + } + max_digits =3D 0; + + switch (format) { + case 'o': + max_digits =3D DIV_ROUND_UP(wsize * 8, 3); + break; + default: + case 'x': + max_digits =3D (wsize * 8) / 4; + break; + case 'u': + case 'd': + max_digits =3D DIV_ROUND_UP(wsize * 8 * 10, 33); + break; + case 'c': + wsize =3D 1; + break; + } + + while (len > 0) { + monitor_printf(mon, "%0*" PRIx64 ":", addr_width, addr); + l =3D len; + if (l > line_size) { + l =3D line_size; + } + if (is_physical) { + AddressSpace *as =3D cs ? cs->as : &address_space_memory; + MemTxResult r =3D address_space_read(as, addr, + MEMTXATTRS_UNSPECIFIED, buf= , l); + if (r !=3D MEMTX_OK) { + monitor_printf(mon, " Cannot access memory\n"); + break; + } + } else { + if (cpu_memory_rw_debug(cs, addr, buf, l, 0) < 0) { + monitor_printf(mon, " Cannot access memory\n"); + break; + } + } + i =3D 0; + while (i < l) { + switch (wsize) { + default: + case 1: + v =3D ldub_p(buf + i); + break; + case 2: + v =3D (big_endian ? lduw_be_p : lduw_le_p)(buf + i); + break; + case 4: + v =3D (uint32_t)(big_endian ? ldl_be_p : ldl_le_p)(buf + i= ); + break; + case 8: + v =3D (big_endian ? ldq_be_p : ldq_le_p)(buf + i); + break; + } + monitor_printf(mon, " "); + switch (format) { + case 'o': + monitor_printf(mon, "0%*" PRIo64, max_digits, v); + break; + case 'x': + monitor_printf(mon, "0x%0*" PRIx64, max_digits, v); + break; + case 'u': + monitor_printf(mon, "%*" PRIu64, max_digits, v); + break; + case 'd': + monitor_printf(mon, "%*" PRId64, max_digits, v); + break; + case 'c': + monitor_printc(mon, v); + break; + } + i +=3D wsize; + } + monitor_printf(mon, "\n"); + addr +=3D l; + len -=3D l; + } +} + +void hmp_memory_dump(Monitor *mon, const QDict *qdict) +{ + int count =3D qdict_get_int(qdict, "count"); + int format =3D qdict_get_int(qdict, "format"); + int size =3D qdict_get_int(qdict, "size"); + vaddr addr =3D qdict_get_int(qdict, "addr"); + + memory_dump(mon, count, format, size, addr, false); +} + +void hmp_physical_memory_dump(Monitor *mon, const QDict *qdict) +{ + int count =3D qdict_get_int(qdict, "count"); + int format =3D qdict_get_int(qdict, "format"); + int size =3D qdict_get_int(qdict, "size"); + hwaddr addr =3D qdict_get_int(qdict, "addr"); + + memory_dump(mon, count, format, size, addr, true); +} + +void *gpa2hva(MemoryRegion **p_mr, hwaddr addr, uint64_t size, Error **err= p) +{ + Int128 gpa_region_size; + MemoryRegionSection mrs =3D memory_region_find(get_system_memory(), + addr, size); + + if (!mrs.mr) { + error_setg(errp, + "No memory is mapped at address 0x%" HWADDR_PRIx, addr); + return NULL; + } + + if (!memory_region_is_ram(mrs.mr) && !memory_region_is_romd(mrs.mr)) { + error_setg(errp, + "Memory at address 0x%" HWADDR_PRIx " is not RAM", addr= ); + memory_region_unref(mrs.mr); + return NULL; + } + + gpa_region_size =3D int128_make64(size); + if (int128_lt(mrs.size, gpa_region_size)) { + error_setg(errp, "Size of memory region at 0x%" HWADDR_PRIx + " exceeded.", addr); + memory_region_unref(mrs.mr); + return NULL; + } + + *p_mr =3D mrs.mr; + return qemu_map_ram_ptr(mrs.mr->ram_block, mrs.offset_within_region); +} + +void hmp_gpa2hva(Monitor *mon, const QDict *qdict) +{ + hwaddr addr =3D qdict_get_int(qdict, "addr"); + Error *local_err =3D NULL; + MemoryRegion *mr =3D NULL; + void *ptr; + + ptr =3D gpa2hva(&mr, addr, 1, &local_err); + if (local_err) { + error_report_err(local_err); + return; + } + + monitor_printf(mon, "Host virtual address for 0x%" HWADDR_PRIx + " (%s) is %p\n", + addr, mr->name, ptr); + + memory_region_unref(mr); +} + +void hmp_gva2gpa(Monitor *mon, const QDict *qdict) +{ + vaddr addr =3D qdict_get_int(qdict, "addr"); + CPUState *cs =3D mon_get_cpu(mon); + hwaddr gpa; + + if (!cs) { + monitor_printf(mon, "No cpu\n"); + return; + } + + gpa =3D cpu_get_phys_page_debug(cs, addr & TARGET_PAGE_MASK); + if (gpa =3D=3D -1) { + monitor_printf(mon, "Unmapped\n"); + } else { + monitor_printf(mon, "gpa: 0x%" HWADDR_PRIx "\n", + gpa + (addr & ~TARGET_PAGE_MASK)); + } +} + +#ifdef CONFIG_LINUX +static uint64_t vtop(void *ptr, Error **errp) +{ + uint64_t pinfo; + uint64_t ret =3D -1; + uintptr_t addr =3D (uintptr_t) ptr; + uintptr_t pagesize =3D qemu_real_host_page_size(); + off_t offset =3D addr / pagesize * sizeof(pinfo); + int fd; + + fd =3D open("/proc/self/pagemap", O_RDONLY); + if (fd =3D=3D -1) { + error_setg_errno(errp, errno, "Cannot open /proc/self/pagemap"); + return -1; + } + + /* Force copy-on-write if necessary. */ + qatomic_add((uint8_t *)ptr, 0); + + if (pread(fd, &pinfo, sizeof(pinfo), offset) !=3D sizeof(pinfo)) { + error_setg_errno(errp, errno, "Cannot read pagemap"); + goto out; + } + if ((pinfo & (1ull << 63)) =3D=3D 0) { + error_setg(errp, "Page not present"); + goto out; + } + ret =3D (pinfo & 0x007fffffffffffffull) * pagesize; + ret |=3D addr & (pagesize - 1); + +out: + close(fd); + return ret; +} + +void hmp_gpa2hpa(Monitor *mon, const QDict *qdict) +{ + hwaddr addr =3D qdict_get_int(qdict, "addr"); + Error *local_err =3D NULL; + MemoryRegion *mr =3D NULL; + void *ptr; + uint64_t physaddr; + + ptr =3D gpa2hva(&mr, addr, 1, &local_err); + if (local_err) { + error_report_err(local_err); + return; + } + + physaddr =3D vtop(ptr, &local_err); + if (local_err) { + error_report_err(local_err); + } else { + monitor_printf(mon, "Host physical address for 0x%" HWADDR_PRIx + " (%s) is 0x%" PRIx64 "\n", + addr, mr->name, (uint64_t) physaddr); + } + + memory_region_unref(mr); +} +#endif diff --git a/monitor/meson.build b/monitor/meson.build index a71523a1ce8..2647100e04c 100644 --- a/monitor/meson.build +++ b/monitor/meson.build @@ -9,4 +9,4 @@ system_ss.add(files( system_ss.add([spice_headers, files('qmp-cmds.c')]) =20 specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', - if_true: [files( 'hmp-cmds-target.c', 'hmp-target.c'), spice]) + if_true: [files('hmp-target.c'), spice]) --=20 2.52.0