From patchwork Wed Mar 19 18:22:46 2025 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: 874742 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551684wru; Wed, 19 Mar 2025 11:25:42 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWg9p65FhyBJWbA4hy47CJqMV4bRJpubFdnBjlNtKUsJ1p08kEqIpTLIoyJhw51AaMQ5KMZOQ==@linaro.org X-Google-Smtp-Source: AGHT+IFAhqKu3U1PjEgFLLNNgiPZ1S+FsM9Ebaz+XXGRxeRB6fI+2c8N70jLyAnqzW39V0xSErbc X-Received: by 2002:a0c:edc7:0:b0:6eb:2965:1468 with SMTP id 6a1803df08f44-6eb296516c8mr40563236d6.20.1742408741781; Wed, 19 Mar 2025 11:25:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408741; cv=none; d=google.com; s=arc-20240605; b=UuLoqsC37ZZ0Clw2JWkL6NAscAiJ8kDVxoKk/Ex0y/OqT2AtUbUK9R+aRQTidpspBC vO3OPV9QA7lxZLIZcYRP4ztkLfBztQPlLDp3rSaKmHXxXgNo90leOl8xkYUGhP2lfYwl VoMrKZdQklVnw8jwGh1dlcylAKBfCgZ2oxg/KMrrW/fludItW6oK2FRlhXWvUpbWDfV5 pLaaVgiZx2K8BBa3H3QDWtAUvwDzsiAQJ5zDSF11CuOArYJHGdJ/l7OoTMxI1SI0d213 joojzTwgRTdAD323PlWBtKuaPEGO5qqMSPFAsrV2NyGD0zP2pmyqQqw7TjLnm3LfFAcp I7xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=NDUb7w8GKKpDywt4UPFksGcZt0JQXrqn/MAMj7YlIms=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=Xeb8puwTeakA6Nwym6qLjQMmb+eUfiZnGNe2c1twLuLsAutXTJ5TYw3ULFVqLscT8v t/31rVv45as0zzSrJYoUzWDxTtL+7OrZ52w0IAwfHhAPE0kE0N2WjShYtTt3FMTVBCeL K1HTqbAt9nmC7ZVRi+ZTQNpAcSR7gR11gqyK2HZuLU27DLbZ4e8SLckG6CLFW+bv2R1n KRmV0r/XoRGhQ7j04hVnkdcfj15vE+8/qeqJSaqD7BImfUlBssGERhBKlRbnNwhLXnOz C4NqFTzmc+L1hFs8FCKKS+yc0O3d22S1OneJzSn/S+/+3r3vHFN7cUAkVJ9rpG65aNks xKbw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=yQ8JpidZ; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6eade35707fsi141980506d6.330.2025.03.19.11.25.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:25:41 -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=yQ8JpidZ; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy4N-0000Gv-2Y; Wed, 19 Mar 2025 14:23:11 -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 1tuy4F-0008V3-0r for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:03 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4B-0006MT-GM for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:02 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3997205e43eso1331747f8f.0 for ; Wed, 19 Mar 2025 11:22:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408577; x=1743013377; 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=NDUb7w8GKKpDywt4UPFksGcZt0JQXrqn/MAMj7YlIms=; b=yQ8JpidZIIZxZf8nSYJI3GvCoz3wJsyF6ww/heRXiMCHBlKOP2WA6uZq6sO5PIGmGG En7zsMOR+kMJoXQTHTqOlp9H1Jrmf2UuOg712L+2OuKzMdL4P2vBOZSmB469b2wIGigK etZpYH+R5ozM7OT4hyLlMvG+2Lkt4gnKir9YMXomyYy1UZQDgB6BTX6sAU/vco9ydGSu T+CyMjs/D7oJsEXjEd6RpCHLc7Ngno6eoB6oJV8jOEd3LXimlOfJGcRHd0PJqQOaJvv0 JDf6CQd6N6hqdShdeOcPwvjpJH9XBzqLdIEVwNyDuLrMsk8jTadfBDqDYyNXMZS3ePTr UhcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408577; x=1743013377; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NDUb7w8GKKpDywt4UPFksGcZt0JQXrqn/MAMj7YlIms=; b=tr2eEcBLkH+aUMTdrrkO4WdQ/MN1L7UYNWS8DZflPZ3H8xjD2HvHhAd5AobPPnrFIw IjxMQecl5pgVHtadiFcdJc3D9AucgUNBwUUWqJj8AUfCfL8Xd3K1S5heQGyc5et7hNob xurWhnoq+JI4dwZAj4urXzVxCI29h7GXvp3PGm+S8l7kxnwkEoh7LWDuvw+7ainUEWaI ulyVfShOvGLbl02Fx/QkU5zh63AkS7xz235s+mEPy9f2/BPXOEX7tLXT58CxIjD1rKYW hP4pyF4dUumq5vydocRCuRAp4J7o7x7d/nwBBQN5xoLbnlSJMuPN0oVKZHjV1TtorH2P KQsw== X-Gm-Message-State: AOJu0Yxo4PqDvjyMhUYBDfBSevOo6NFEZssy2FdM8K4d+EmZ9vPbbTAP T/FKikQziqhxZ9nQWNYaA42W235aA4LGftKR/q/MfU6QUivyZPK/01XyI+aDY6Y= X-Gm-Gg: ASbGncsAChtTa+7qeOsIlN3CdF6NnC/CTt+xkMmcMbfCmEAeMGp4TXagxRziYgXcuxM pKst44Z0LOccPeqY8lwsKFgSfvtb1cAAx2qKZ7LS9rVmDdYyJDU3KtwvjBg5IA4zfSyViz0Hyr9 2+c5a+oydIDrd8p6qlPiUhQ7q2XowyrCPl5E9rQ2MTtD1B4WoxC2fX+sO86szyKz+qTWBqHViTI yr9QXP6uSm0uRDLT8GUseL1h2TsBOMiYAQmmM8LJ2CT8ATlXxF9iPxnJJITofdXq9yXU8JTGN8b oGU2bUzXNCP0gvmNq2CKokgOtpQWMLvjWNWXU67IVkFE6zE= X-Received: by 2002:a05:6000:1787:b0:390:de33:b0ef with SMTP id ffacd0b85a97d-399739d3dbcmr2798743f8f.30.1742408576770; Wed, 19 Mar 2025 11:22:56 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c83b6a27sm21877226f8f.31.2025.03.19.11.22.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:56 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 4D41E5F954; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 01/10] include/gdbstub: fix include guard in commands.h Date: Wed, 19 Mar 2025 18:22:46 +0000 Message-Id: <20250319182255.3096731-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42f.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=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 Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier --- include/gdbstub/commands.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/gdbstub/commands.h b/include/gdbstub/commands.h index 40f0514fe9..bff3674872 100644 --- a/include/gdbstub/commands.h +++ b/include/gdbstub/commands.h @@ -1,5 +1,5 @@ #ifndef GDBSTUB_COMMANDS_H -#define GDBSTUB +#define GDBSTUB_COMMANDS_H typedef void (*GdbCmdHandler)(GArray *params, void *user_ctx); From patchwork Wed Mar 19 18:22:47 2025 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: 874739 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551129wru; Wed, 19 Mar 2025 11:24:27 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX1SgiGD0CmZlNOrNM2rw00joUNlsuWG9+MBOq1ILCExkzzaoy7RMsIVeK5P5MvJ51sdfg0Hg==@linaro.org X-Google-Smtp-Source: AGHT+IEzF8q84XzzMN+qFi/wHpISHcTRyZUWxJ7sh/QLD89nhI3NDD7Xv/LQiNga6zrKffzWep5l X-Received: by 2002:a05:620a:26a9:b0:7c5:4949:23f2 with SMTP id af79cd13be357-7c5a8469d79mr544301185a.44.1742408667367; Wed, 19 Mar 2025 11:24:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408667; cv=none; d=google.com; s=arc-20240605; b=bbPBs+eCwts60DCQ9Teo0dkTFmILnHbUncBJlVbr+EeO1CHhZxXznA5yOrWYiS+Giu RlNi8M2K4cSf9CgxQ19NlugGXyPHl48eizELvZHNARJd+Y9dOiLbzWRLklXyzkzqc5/S Ppnq8ZC+AdiXnSGzwuEL4qS0NKELhj49ZxnnNMMFhriJdR8UrpF/aYXBWgY5I36/67/w wwyIFXGZgNCNg2iJG4t+fFLoBFjYCyqpI1qfnzZ5qmn7wwQ7mwHep4FXjGx4Cca4+q1P do9Z34BRJcFTQ/3YbEVKVROYj89x9b6zEnoBDmCkTn5RFqEKYlBFAAsqDjyaM93oHsAS e+sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=8piUF4u9JTaJPSgck8BDagdzEdVPzEIS0aH/3c6C7T0=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=KJ0ym9WNsC5VwGHkiKbiub99YvJ0rGSQHyQ6NEWDBPIL4LUHt/EmqZIYTJBnN6jOje Wxc84DhXn+Az23dGRcdmAQ3XZtt+qLRkftbSauDPVgqq9mce2cgwa0BAX3h8buTMXYLi pbdoqbpGRNEDlv4aPAV74e4MSyn5edHmRBdf9m3d5qTWwyPtepDNjWnvFgC9TJFaJFOU I4/w2KGDJs7+JSS8bnwMt97XP48DT1TbescmzkUVrLdWtACgrAvW74JeIri3JgCoyQuR aiZBp+e+PAFfXcX+KuHkNU1AR1sNG83gxZk/HxKMbx+gVP/bNNjPwg+HF0RVazpdbsGp HjnQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ErSpOQrc; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c573b72e31si1431042785a.40.2025.03.19.11.24.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:24:27 -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=ErSpOQrc; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy4e-0000uk-QU; Wed, 19 Mar 2025 14:23:33 -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 1tuy4P-0000Mv-Fx for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:14 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4G-0006Pe-2W for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:13 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-399744f74e9so818341f8f.1 for ; Wed, 19 Mar 2025 11:23:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408582; x=1743013382; 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=8piUF4u9JTaJPSgck8BDagdzEdVPzEIS0aH/3c6C7T0=; b=ErSpOQrcmezizWvjeFUcZWCl5AWwjwwp7kQ/PDFqe0A6FxSNzQfDpqXClj4q+zgV2c +VUN2/fklcDq5RWYLSqDwkK/K1xAc6cpbNncgEGXNW09Wo45fYcUnOWwksGMmUEJEsgu Ikw6aEjlM7AGweyYs+cpwkAsUrqla7COvswLStWMDtT4DwKmk96CWWtasVCG9XT2+c/J Yn5k03osVPNdwm0wf1gWI1DT6X+gosTJZmrfhCq9nhetukda/KMEIxlotPJbx+v1H822 WwUZAu5hS5m99WHEUcGZtPSYD8cQiTQQF4Ip9HKgnRww+TeQQtQ77XkR7VA4FfbOm77L g4/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408582; x=1743013382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8piUF4u9JTaJPSgck8BDagdzEdVPzEIS0aH/3c6C7T0=; b=uWWSp3u9C7GYjolEO14hMxHqzsMzkX4k4My7kFY0wZA7IbNNek4Zip78DrJHJy8ymE ADQY8aA1Cnf24mJVEjb4o6p1URpxS94C5rLQVRvqhA2MlYSR+K13ECGY9iJQ4eznInHn IigKurBlTC/dLZ6Yj8E50lVZ6hQ6lL/bsxC2/QHy3dKd7AMEVlKc07OZxyhAHbRuNaAI YuJIOhQLdt/ykjiSwGW02BOJyCygR5BUQM3CEgVX0vJc10UV2GHlMIMuR4AJIcc8doLB jTR1vTWYDeb0La86kxqyDDtBZLKrXfnpqvfjfznAxmKTAKtJ466+zM0ndlo8c2/mqNv3 PjIg== X-Gm-Message-State: AOJu0YxqQ8v4FrdDWWuSd0SQj1EUOUtbxvixCKTUEibq4pCWz+5w9Cb7 v0FTF3mkYlZ99TRd5NVM/ShXZ+g5qrs4LsgDk1tP7wu2B7T47RDyRUSGQpXcKug= X-Gm-Gg: ASbGncsS51zvm0GNXByOVCFhnn+8dEADtQa5eixZC2H42un3K3oYg52H6ts5uRbyQLD ODX4HuukWlzr7SOXPlM2Ty7aUZLPDfAqKyeLogE55i3mOG9ITdoi7A0bfoVsqW0t82y2EXrFXCy NnUN15DosC0tW6Q0Jj6dhwTjkOu/30U7r5vlfJmO/DeYcIrlu9eaUr+wu7Mi79Q6pd6FSPO57bI TT/8xR45rxqEGXjf2tVkdZG2M9RlQMW4lLi02jcZ86PnrI6+QveDxEOfqi0fsiJLtZ/L9BQBTCj wOp2rUvlVZHFuDIkNr9Fe2Phb5OCqnQGBLRU1Y1SQv8TRVc= X-Received: by 2002:a05:6000:2712:b0:391:4889:503e with SMTP id ffacd0b85a97d-399739de5f2mr3218843f8f.33.1742408582335; Wed, 19 Mar 2025 11:23:02 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d3ae04a94sm28486135e9.0.2025.03.19.11.22.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 64E795FA87; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 02/10] gdbstub: introduce target independent gdb register helper Date: Wed, 19 Mar 2025 18:22:47 +0000 Message-Id: <20250319182255.3096731-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x429.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=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 The current helper.h functions rely on hard coded assumptions about target endianess to use the tswap macros. We also end up double swapping a bunch of values if the target can run in multiple endianess modes. Avoid this by getting the target to pass the endianess and size via a MemOp and fixing up appropriately. Signed-off-by: Alex Bennée Reviewed-by: Pierrick Bouvier --- include/gdbstub/registers.h | 30 ++++++++++++++++++++++++++++++ gdbstub/gdbstub.c | 22 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 include/gdbstub/registers.h diff --git a/include/gdbstub/registers.h b/include/gdbstub/registers.h new file mode 100644 index 0000000000..4abc7a6ae7 --- /dev/null +++ b/include/gdbstub/registers.h @@ -0,0 +1,30 @@ +/* + * GDB Common Register Helpers + * + * Copyright (c) 2025 Linaro Ltd + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef GDB_REGISTERS_H +#define GDB_REGISTERS_H + +#include "exec/memop.h" + +/** + * gdb_get_register_value() - get register value for gdb + * mo: size and endian MemOp + * buf: GByteArray to store in target order + * val: pointer to value in host order + * + * This replaces the previous legacy read functions with a single + * function to handle all sizes. Passing @mo allows the target mode to + * be taken into account and avoids using hard coded tswap() macros. + * + * Returns the number of bytes written to the array. + */ +int gdb_get_register_value(MemOp op, GByteArray *buf, uint8_t *val); + +#endif /* GDB_REGISTERS_H */ + + diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 282e13e163..3d7b1028e4 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -32,6 +32,7 @@ #include "exec/gdbstub.h" #include "gdbstub/commands.h" #include "gdbstub/syscalls.h" +#include "gdbstub/registers.h" #ifdef CONFIG_USER_ONLY #include "accel/tcg/vcpu-state.h" #include "gdbstub/user.h" @@ -45,6 +46,7 @@ #include "system/runstate.h" #include "exec/replay-core.h" #include "exec/hwaddr.h" +#include "exec/memop.h" #include "internals.h" @@ -551,6 +553,26 @@ static int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg) return 0; } +/* + * Target helper function to read value into GByteArray, target + * supplies the size and target endianess via the MemOp. + */ +int gdb_get_register_value(MemOp op, GByteArray *buf, uint8_t *val) +{ + size_t bytes = memop_size(op); + + if (op & MO_BSWAP) { + for ( int i = bytes ; i > 0; i--) { + g_byte_array_append(buf, &val[i - 1], 1); + }; + } else { + g_byte_array_append(buf, val, bytes); + } + + return bytes; +} + + static void gdb_register_feature(CPUState *cpu, int base_reg, gdb_get_reg_cb get_reg, gdb_set_reg_cb set_reg, const GDBFeature *feature) From patchwork Wed Mar 19 18:22:48 2025 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: 874737 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551079wru; Wed, 19 Mar 2025 11:24:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXpX665Ndsb7fTuSyfjPmOiMVdnVVGaYWqYpbgSuDckUMVzJ/X3BXgn79PV9fea5OC2KQgSXQ==@linaro.org X-Google-Smtp-Source: AGHT+IF/8xFC5r2wCgrgTHhg70+qKSngw542v5BeOWy/0ZiJaeuUV2ogtSp3vdbfIXhg9kz7BapJ X-Received: by 2002:a05:620a:394e:b0:7c5:4a51:238 with SMTP id af79cd13be357-7c5a7f6ff3bmr437176385a.0.1742408658978; Wed, 19 Mar 2025 11:24:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408658; cv=none; d=google.com; s=arc-20240605; b=USGHyBy8+lDHmIZ5tvuc1h5mhIoU9LP5GzU9rLCF0z8M2QKrcY8RKPIzvylEjF+FZh 58Q6kM5C8Yo7z5l2W4zYlDQQYIMTeTC3YmK/L4H8XkMfgjdZTdvwjLyLL5kwY85Z/397 sX+r312Zy6ngEx4BgyMIRbxlJxIG2UtAJ5Kf2sKtEF0e+R55tirx9jb+EhR9e8YvsNdI pgRtkAiF5soAQJPe1X8hPXwZ0mcvMLNF2zSyp124zGN1vLNQNEImdjCyredOmSKJlR3/ Ce0JSbuOG2sQwhHiU7bK6SGPWmzF3F881CicIAQYP9/mLyWj4Qh5ZoIKqqk9TDOmFVbi KN6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=8cJ0n2MLq0D1KATXMYewHUR1inYzbGMB0GndiKaR2hw=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=Rou4W72BuYWhS0RdYRobyFHRMvnfa04FUCbRPKexTu+pBjhbIewIUNbPcgK10amQLY ab/8hqP0jJtSO9UKzzuUkRUgYHQZC2qk5Mmr1ch3OB55hZYnjBVK6br2YIthPOYjodj6 JDUCuX8iosZuRVFQ0GFpY81YoSsG02e23mAgW0czNzwxwa15GCkUWwUHVBrPI9sMiNM2 gX7vwi6xuZw18/NNfFUIgTEnkGK6Qr6WSVljDzTW6q5pMBGHrHjToJwQRyWbSCxeE2gG I7W62qj7ixo3MVXlsklCuHa1KAW2QVov5PooEHaHP69geHyBcAwlW1qXWBb8e4VNZYJ5 DttA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=khprakEx; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c573ceacc9si1513337785a.343.2025.03.19.11.24.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:24:18 -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=khprakEx; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy4Q-0000O7-Ji; Wed, 19 Mar 2025 14:23:15 -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 1tuy4G-000084-Fo for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:05 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4B-0006Mc-Hx for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:04 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-43cebe06e9eso35678285e9.3 for ; Wed, 19 Mar 2025 11:22:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408577; x=1743013377; 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=8cJ0n2MLq0D1KATXMYewHUR1inYzbGMB0GndiKaR2hw=; b=khprakExbS8SXKI34/bXH/3axN1yKvJH2FAYWnvaTEa91Tn9vObavxuH1BwNcp7QUH 4/ktB2nX9mf0G529PFOIkDdCMPYBCcGnCvyzeZzzSAZQ+OMsVk3+IRif+42q5T+fU3T1 yG9Q+egWsik4m2kqXxCbmXvUpTkjN5YBYiHda/HEin/dXFqfgL+aqdwoCaMyjcC60NXW SoOz3lMmmelw3XhecWcqX/UAXturisqeDJO7uxKetAMAQmXXibMz+nW/j8LAX0ZEo/km kWXzMrt0YKYI7+gXwuEnDAFaEqhSSFVC5BYO6maZeZ4kVPWaWIpVy1MGqZGNq3TVqouN YZOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408577; x=1743013377; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8cJ0n2MLq0D1KATXMYewHUR1inYzbGMB0GndiKaR2hw=; b=oghYtOJfizYvhIi2Kx+LSi3bvlRbVZyoxIGVIV6hznJJwVFu3/hhGdRNO92DqoIkwQ Q7QRnGWh8d6DNZ4LyOtDYUbq9743BF7gJeFcoyRzTmNLn9PW7aDa9cqhKqFXQp9OXpv7 I3W8CxirPq7x8SSbIzefsgMLyjymzUI+6lDmxdFe1EDZ1su7/uRTljV0oVsELE2incFc A5q4lMW8sZX+iKWjrAC2XYXWbGi2jEVd69zKu45oVvCYEHzUkVgntpFgC+/flOuSzXHQ 4OM+wJWHkQwVuIcf/GpHiEERE9M9kLbRfwIqrWvp4iCgWI3ntFfK+wXsc/CrT17K93yt aKNw== X-Gm-Message-State: AOJu0YySpdMcCNrDksSFNHia2pdGXg3+oyRZxwXsJCTk3yvhzRXBSB7Y SpSr+uwPg5bpiR5p7wUWjqXoN360HK9jkTZamdqOTV+xSjVp2wyfGLi0P/j+2lY= X-Gm-Gg: ASbGnctZHlB3Mdto1aUIj7mR49V8rfkgtKIwVHYExCF+TYxmAfwZ9/Zify19jO6Zf92 02eqdsHxfOXzekxw2g72EQDe7s5NvN7MZfOxHkSf/VhKznz5X3oI/xwJlVPAE1Fx7L+UODlk/pM CWWWgaCFBSkr6RvOf4SjYnzatS8fnZ5bUXj2LEmrYPUuQCDulb3+nEF8+v2+4vYttSTLqx33wV7 JO4sMKdcfbJqiGriks6vFKIDT+giJyWHTLR234V4SnC6TFtFMJ2ef9PcBf3omklLatdVOdCkggE BqTulOPPdNXDB6ExNztsZ3YI6tTX1tkADA9IA7FhTxQHXi4= X-Received: by 2002:a05:6000:1a8e:b0:391:3b11:d604 with SMTP id ffacd0b85a97d-39973b360afmr2727868f8f.54.1742408577117; Wed, 19 Mar 2025 11:22:57 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39972df9b9esm3027838f8f.18.2025.03.19.11.22.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:56 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 7B7E45FAA0; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 03/10] target/arm: convert 32 bit gdbstub to new helper Date: Wed, 19 Mar 2025 18:22:48 +0000 Message-Id: <20250319182255.3096731-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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=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 For some of the helpers we need a temporary variable to copy from although we could add some helpers to return pointers into env in those cases if we wanted to. Signed-off-by: Alex Bennée Reviewed-by: Pierrick Bouvier --- target/arm/gdbstub.c | 57 ++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c index 30068c2262..14d931b0bf 100644 --- a/target/arm/gdbstub.c +++ b/target/arm/gdbstub.c @@ -20,7 +20,7 @@ #include "qemu/osdep.h" #include "cpu.h" #include "exec/gdbstub.h" -#include "gdbstub/helpers.h" +#include "gdbstub/registers.h" #include "gdbstub/commands.h" #include "system/tcg.h" #include "internals.h" @@ -33,12 +33,16 @@ typedef struct RegisterSysregFeatureParam { int n; } RegisterSysregFeatureParam; -/* Old gdb always expect FPA registers. Newer (xml-aware) gdb only expect - whatever the target description contains. Due to a historical mishap - the FPA registers appear in between core integer regs and the CPSR. - We hack round this by giving the FPA regs zero size when talking to a - newer gdb. */ - +/* + * Old gdb always expect FPA registers. Newer (xml-aware) gdb only + * expect whatever the target description contains. Due to a + * historical mishap the FPA registers appear in between core integer + * regs and the CPSR. We hack round this by giving the FPA regs zero + * size when talking to a newer gdb. + * + * While gdb cares about the memory endianess of the target all + * registers are passed in little-endian mode. + */ int arm_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) { ARMCPU *cpu = ARM_CPU(cs); @@ -46,15 +50,17 @@ int arm_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) if (n < 16) { /* Core integer register. */ - return gdb_get_reg32(mem_buf, env->regs[n]); + return gdb_get_register_value(MO_TEUL, mem_buf, (uint8_t *) &env->regs[n]); } if (n == 25) { /* CPSR, or XPSR for M-profile */ + uint32_t reg; if (arm_feature(env, ARM_FEATURE_M)) { - return gdb_get_reg32(mem_buf, xpsr_read(env)); + reg = xpsr_read(env); } else { - return gdb_get_reg32(mem_buf, cpsr_read(env)); + reg = cpsr_read(env); } + return gdb_get_register_value(MO_TEUL, mem_buf, (uint8_t *) ®); } /* Unknown register. */ return 0; @@ -115,19 +121,22 @@ static int vfp_gdb_get_reg(CPUState *cs, GByteArray *buf, int reg) /* VFP data registers are always little-endian. */ if (reg < nregs) { - return gdb_get_reg64(buf, *aa32_vfp_dreg(env, reg)); + return gdb_get_register_value(MO_TEUQ, buf, + (uint8_t *) aa32_vfp_dreg(env, reg)); } if (arm_feature(env, ARM_FEATURE_NEON)) { /* Aliases for Q regs. */ nregs += 16; if (reg < nregs) { uint64_t *q = aa32_vfp_qreg(env, reg - 32); - return gdb_get_reg128(buf, q[0], q[1]); + return gdb_get_register_value(MO_TEUO, buf, (uint8_t *) q); } } switch (reg - nregs) { + uint32_t fpcr; case 0: - return gdb_get_reg32(buf, vfp_get_fpscr(env)); + fpcr = vfp_get_fpscr(env); + return gdb_get_register_value(MO_TEUL, buf, (uint8_t *) &fpcr); } return 0; } @@ -166,9 +175,11 @@ static int vfp_gdb_get_sysreg(CPUState *cs, GByteArray *buf, int reg) switch (reg) { case 0: - return gdb_get_reg32(buf, env->vfp.xregs[ARM_VFP_FPSID]); + return gdb_get_register_value(MO_TEUL, buf, + (uint8_t *) &env->vfp.xregs[ARM_VFP_FPSID]); case 1: - return gdb_get_reg32(buf, env->vfp.xregs[ARM_VFP_FPEXC]); + return gdb_get_register_value(MO_TEUL, buf, + (uint8_t *) &env->vfp.xregs[ARM_VFP_FPEXC]); } return 0; } @@ -196,7 +207,8 @@ static int mve_gdb_get_reg(CPUState *cs, GByteArray *buf, int reg) switch (reg) { case 0: - return gdb_get_reg32(buf, env->v7m.vpr); + return gdb_get_register_value(MO_TEUL, buf, + (uint8_t *) &env->v7m.vpr); default: return 0; } @@ -236,9 +248,11 @@ static int arm_gdb_get_sysreg(CPUState *cs, GByteArray *buf, int reg) ri = get_arm_cp_reginfo(cpu->cp_regs, key); if (ri) { if (cpreg_field_is_64bit(ri)) { - return gdb_get_reg64(buf, (uint64_t)read_raw_cp_reg(env, ri)); + uint64_t cpreg = read_raw_cp_reg(env, ri); + return gdb_get_register_value(MO_TEUQ, buf, (uint8_t *) &cpreg); } else { - return gdb_get_reg32(buf, (uint32_t)read_raw_cp_reg(env, ri)); + uint32_t cpreg = (uint32_t) read_raw_cp_reg(env, ri); + return gdb_get_register_value(MO_TEUL, buf, (uint8_t *) &cpreg); } } return 0; @@ -375,12 +389,12 @@ static uint32_t *m_sysreg_ptr(CPUARMState *env, MProfileSysreg reg, bool sec) static int m_sysreg_get(CPUARMState *env, GByteArray *buf, MProfileSysreg reg, bool secure) { - uint32_t *ptr = m_sysreg_ptr(env, reg, secure); + uint8_t *ptr = (uint8_t *) m_sysreg_ptr(env, reg, secure); if (ptr == NULL) { return 0; } - return gdb_get_reg32(buf, *ptr); + return gdb_get_register_value(MO_TEUL, buf, ptr); } static int arm_gdb_get_m_systemreg(CPUState *cs, GByteArray *buf, int reg) @@ -393,7 +407,8 @@ static int arm_gdb_get_m_systemreg(CPUState *cs, GByteArray *buf, int reg) * banked and non-banked bits. */ if (reg == M_SYSREG_CONTROL) { - return gdb_get_reg32(buf, arm_v7m_mrs_control(env, env->v7m.secure)); + uint32_t reg32 = arm_v7m_mrs_control(env, env->v7m.secure); + return gdb_get_register_value(MO_TEUL, buf, (uint8_t *) ®32); } return m_sysreg_get(env, buf, reg, env->v7m.secure); } From patchwork Wed Mar 19 18:22:49 2025 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: 874738 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551104wru; Wed, 19 Mar 2025 11:24:22 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXVxt30VjpVozqnzhMxaFINy7Kz5qE2bNW5gVnYmofckqVdePM3twj/7CTz9H0QmNnZYPUVFA==@linaro.org X-Google-Smtp-Source: AGHT+IE4P9fW7p6GoGM7NKt4tGyVWrw/0SK/cVKv2jUSHRRTkaxXpn5Bz1ifb342x0xupa0z6zDm X-Received: by 2002:a05:622a:1e95:b0:476:af21:9d4b with SMTP id d75a77b69052e-4770841faedmr63044591cf.37.1742408662387; Wed, 19 Mar 2025 11:24:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408662; cv=none; d=google.com; s=arc-20240605; b=R28XVCN33A63KzCk84fy7nbTUydVvcr19fAFuF78jZFTm+jFRzw2NedQxn8N8jjsG5 da0//EJJ2kq64CwNqEhLEKlSmC5U5BIpCGsC4cyAjBzOtr/DaLOjKBLoxlWBPu2VFD4a DXTokaDCmZdceyiRc7m8JX52aoM57wtd1/UIcPIHxPInwqHpZufc1KeOrJZK85LOrzj9 gi+kowOjs6yBOtz8FN+9nWbXFttaHFKOWO8ITtL71EjZqd7qg1Eb3GpQujXQ3Z90+BsR JUgpWb7ZtycK+3ua5KAJuLWRg1aY1st1T8cn5I/VA+LglabQkuj7YUxLrIxCyzrnhern dJ5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=3IgWp4WCaXbcrtv8Yoastsvt3hmlgscQMXb34UR5gEk=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=JrhOFEXKo+2PgLZ4VC11tgvAOSrIs8y6jUunw/sunz7z+3Ac11KTMXq2SBntGBnl+7 2q9VHMRS3b43me0gmAKUPAj3mlBxPz0/e46jdzAfzdcdKiTyfuLqvsNcjvyGSD9Xjw9A 8WGyGjklDKm3WdMOTyWFzo+dkXYOx7AC7absr32Sq4w6LiYEoVVVdyeO0ovf5hBcBJFh rrUo7A3hnEaBJgzf2YKQ4gnAtZESuY6Q7pAL5Jdob0liFh0yWMO9BtpcijSGObEQgYQB E0WXXKlzS9mHaovCU6Zhfdu6e9efX+VzY2nTyToVUkGgNOhpnOCutP9X7Rrlqjmq8LCj ishg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bkNHF12u; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-476bb61b0a5si145820991cf.1.2025.03.19.11.24.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:24:22 -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=bkNHF12u; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy4O-0000JQ-8U; Wed, 19 Mar 2025 14:23:12 -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 1tuy4I-00009v-I9 for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:06 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4C-0006N0-26 for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:06 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43cf680d351so6823315e9.0 for ; Wed, 19 Mar 2025 11:22:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408578; x=1743013378; 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=3IgWp4WCaXbcrtv8Yoastsvt3hmlgscQMXb34UR5gEk=; b=bkNHF12uX7+66nWTN+Vy4utk31odQ9g7IboA5KsO75ntncqsQD4vI68Ygm/qLJj+Uz hl8vGfa7usXp0+lC2qCyLqFLb9SDIOrpz91ECaPntM4wdziFGu+TSEVd1UP6g/Fdfosn 29DCwzSGasm2HekaMmqShQGhJKSaiN/AoIzJi2U/dt3WWFPYQtiWyOraQ7aLi3w/kUsK CyT0Ol8g+jpriGH24FcJjsf7gBI8BT4pUTeu/pxkjp3Vd1sBujPkc7ZTH18CmkdJu0DK 9HmIzN2+i+9ag3jajBxe3sPXzaHWoDaZbpDwCz9KrTlw8kh8Y5HtXCzGTHLuigYvpWtk +png== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408578; x=1743013378; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3IgWp4WCaXbcrtv8Yoastsvt3hmlgscQMXb34UR5gEk=; b=fG/APSxypBbe3UTcHfkd1SQ1Tc48/XyditvLpTUeG6eb+ZpuoASCMJgsB0tPQ1P0oz xy0UtjRKRR4wyrYzH6RGNBUClA0iwxmENwXiFqgyaXG2NRRXRmUl6gzYDxxjbCkYB3Fx yQaTbxNU+/CQdPdu1xUgCRnd7ti84Sf9V+moEAUYGNWsaYcokEo7HhXZVIwRbum6FhYs 3ZvB172uJRlYMMwhP6jHq0qTJ1dt/A70JMdj0w+8ig52DLCBS1/u3g49PQ6ZyzccIMfV vNKXZNx4i2QI3BQCUkcEMy55nQqGyhiBJp2c3IhasTvBUAJhRAlqU7h7j9x5qCmkgfAj 10Kw== X-Gm-Message-State: AOJu0YxYo4+k5ycD2Lq9GhWpdAYUsGsDmAMrCypvS5DeKTur04JS4fhM Hr9ydsH/xP6RfCxh/r/NnQLfOLLVFChuyiXDqkS2x9tlxhRyjKOFHzQdcA6yjZ8= X-Gm-Gg: ASbGncuYytOT/Xo8tQFysipjpdf6ALGgvAaypek+SqEzCEaKeb6lE4jYqCKcEGw89F0 fZmlBrFW48/rWFi+55djbC9Cj9YEQJYsvDEYJhmf7U0Q+D6Mn1HvsDnUQJPDjc9EN47K2MV4wLG HeESoRgE2vbRZ03XgxrulcLvCvsivZe5CsAMWSgPZDYBmDr7jYcPKV9O6PLL+9MKuoik3ukUuPr XSv9jqMc0cGNrBvHIJN5Dfsc3Oenz09fP01PrDRbDVzDKx0pG69J5jUSQgS/c1qPXqc75P32cGB hDYFoWwfN3Id8i55LVq7L5/DaB+MX/Qcurzl888rfGDMoZ8= X-Received: by 2002:a5d:5f4c:0:b0:391:b93:c971 with SMTP id ffacd0b85a97d-39979586d6fmr572712f8f.20.1742408578086; Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43f376d3sm26330865e9.4.2025.03.19.11.22.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:56 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 908D45FAC7; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 04/10] target/arm: convert 64 bit gdbstub to new helper Date: Wed, 19 Mar 2025 18:22:49 +0000 Message-Id: <20250319182255.3096731-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.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=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 For some of the helpers we need a temporary variable to copy from although we could add some helpers to return pointers into env in those cases if we wanted to. Signed-off-by: Alex Bennée --- target/arm/gdbstub64.c | 53 ++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/target/arm/gdbstub64.c b/target/arm/gdbstub64.c index 1a4dbec567..793332af31 100644 --- a/target/arm/gdbstub64.c +++ b/target/arm/gdbstub64.c @@ -20,7 +20,7 @@ #include "qemu/log.h" #include "cpu.h" #include "internals.h" -#include "gdbstub/helpers.h" +#include "gdbstub/registers.h" #include "gdbstub/commands.h" #include "tcg/mte_helper.h" #if defined(CONFIG_USER_ONLY) && defined(CONFIG_LINUX) @@ -35,15 +35,16 @@ int aarch64_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) if (n < 31) { /* Core integer register. */ - return gdb_get_reg64(mem_buf, env->xregs[n]); + return gdb_get_register_value(MO_TEUO, mem_buf, (uint8_t *) &env->xregs[n]); } switch (n) { case 31: - return gdb_get_reg64(mem_buf, env->xregs[31]); + return gdb_get_register_value(MO_TEUO, mem_buf, (uint8_t *) &env->xregs[31]); case 32: - return gdb_get_reg64(mem_buf, env->pc); + return gdb_get_register_value(MO_TEUO, mem_buf, (uint8_t *) &env->pc); case 33: - return gdb_get_reg32(mem_buf, pstate_read(env)); + uint32_t pstate = pstate_read(env); + return gdb_get_register_value(MO_TEUL, mem_buf, (uint8_t *) &pstate); } /* Unknown register. */ return 0; @@ -82,23 +83,27 @@ int aarch64_gdb_get_fpu_reg(CPUState *cs, GByteArray *buf, int reg) { ARMCPU *cpu = ARM_CPU(cs); CPUARMState *env = &cpu->env; + uint32_t fpr; switch (reg) { case 0 ... 31: { /* 128 bit FP register - quads are in LE order */ uint64_t *q = aa64_vfp_qreg(env, reg); - return gdb_get_reg128(buf, q[1], q[0]); + return gdb_get_register_value(MO_TEUO, buf, (uint8_t *) q); } case 32: /* FPSR */ - return gdb_get_reg32(buf, vfp_get_fpsr(env)); + fpr = vfp_get_fpsr(env); + break; case 33: /* FPCR */ - return gdb_get_reg32(buf, vfp_get_fpcr(env)); + fpr = vfp_get_fpcr(env); + break; default: return 0; } + return gdb_get_register_value(MO_TEUL, buf, (uint8_t *) &fpr); } int aarch64_gdb_set_fpu_reg(CPUState *cs, uint8_t *buf, int reg) @@ -132,30 +137,37 @@ int aarch64_gdb_get_sve_reg(CPUState *cs, GByteArray *buf, int reg) { ARMCPU *cpu = ARM_CPU(cs); CPUARMState *env = &cpu->env; + uint32_t fpr; switch (reg) { /* The first 32 registers are the zregs */ case 0 ... 31: { int vq, len = 0; + ARMVectorReg *zreg = &env->vfp.zregs[reg]; + for (vq = 0; vq < cpu->sve_max_vq; vq++) { - len += gdb_get_reg128(buf, - env->vfp.zregs[reg].d[vq * 2 + 1], - env->vfp.zregs[reg].d[vq * 2]); + len += gdb_get_register_value(MO_TEUQ, buf, + (uint8_t *) &zreg->d[vq * 2 + 1]); + len += gdb_get_register_value(MO_TEUQ, buf, + (uint8_t *) &zreg->d[vq * 2]); } return len; } case 32: - return gdb_get_reg32(buf, vfp_get_fpsr(env)); + fpr = vfp_get_fpsr(env); + return gdb_get_register_value(MO_TEUL, buf, (uint8_t *) &fpr); case 33: - return gdb_get_reg32(buf, vfp_get_fpcr(env)); + fpr = vfp_get_fpcr(env); + return gdb_get_register_value(MO_TEUL, buf, (uint8_t *) &fpr); /* then 16 predicates and the ffr */ case 34 ... 50: { int preg = reg - 34; int vq, len = 0; for (vq = 0; vq < cpu->sve_max_vq; vq = vq + 4) { - len += gdb_get_reg64(buf, env->vfp.pregs[preg].p[vq / 4]); + len += gdb_get_register_value(MO_TEUQ, buf, + (uint8_t *) &env->vfp.pregs[preg].p[vq / 4]); } return len; } @@ -165,8 +177,8 @@ int aarch64_gdb_get_sve_reg(CPUState *cs, GByteArray *buf, int reg) * We report in Vector Granules (VG) which is 64bit in a Z reg * while the ZCR works in Vector Quads (VQ) which is 128bit chunks. */ - int vq = sve_vqm1_for_el(env, arm_current_el(env)) + 1; - return gdb_get_reg64(buf, vq * 2); + uint64_t vq = (sve_vqm1_for_el(env, arm_current_el(env)) + 1) * 2; + return gdb_get_register_value(MO_TEUL, buf, (uint8_t *) &vq); } default: /* gdbstub asked for something out our range */ @@ -248,10 +260,11 @@ int aarch64_gdb_get_pauth_reg(CPUState *cs, GByteArray *buf, int reg) bool is_data = !(reg & 1); bool is_high = reg & 2; ARMMMUIdx mmu_idx = arm_stage1_mmu_idx(env); - ARMVAParameters param; + ARMVAParameters param = aa64_va_parameters(env, -is_high, mmu_idx, + is_data, false); + uint64_t pauth_mask = pauth_ptr_mask(param); - param = aa64_va_parameters(env, -is_high, mmu_idx, is_data, false); - return gdb_get_reg64(buf, pauth_ptr_mask(param)); + return gdb_get_register_value(MO_TEUQ, buf, (uint8_t *) &pauth_mask); } default: return 0; @@ -399,7 +412,7 @@ int aarch64_gdb_get_tag_ctl_reg(CPUState *cs, GByteArray *buf, int reg) tcf0 = extract64(env->cp15.sctlr_el[1], 38, 2); - return gdb_get_reg64(buf, tcf0); + return gdb_get_register_value(MO_TEUQ, buf, (uint8_t *) &tcf0); } int aarch64_gdb_set_tag_ctl_reg(CPUState *cs, uint8_t *buf, int reg) From patchwork Wed Mar 19 18:22:50 2025 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: 874743 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551757wru; Wed, 19 Mar 2025 11:25:52 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVw5YosBVqcqBZqnSwikkc5+RLw8ct1nFKBkyUVjPNRNWlX6L5V8j/uU3y2rbVxdLdvOHD0nQ==@linaro.org X-Google-Smtp-Source: AGHT+IGpg/g4oYTqYrp7oJYBrpzGIw/TDbZHGyxd2zsvWQBswfyxYxFY1euoIYzsy2Qr8um/0Grn X-Received: by 2002:a05:620a:450e:b0:7c5:5cc3:91fa with SMTP id af79cd13be357-7c5a8461554mr499290985a.46.1742408752186; Wed, 19 Mar 2025 11:25:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408752; cv=none; d=google.com; s=arc-20240605; b=KL2eoqzG5LOwvE4AvxaLbr4/WX/30upKBML6iBty3qFLPvsldmvziPxqEkD+Vd8C/J DqZ3zEvlkocmN4nZ0Q6MG8/h85FkxeaN799hXMvy3DKSEqupiqPfx/YARrBjpqqXTrUS 63xthcRYNjfzuNA1G4vJCb+Y5loyP0kZrxTlw9befxsskBdl7KfdZqpSLQ9asTPG4ulj AEX6QaT1PHZDapJ24UoMF/IZx/Nv1uVoi4CjUIdQn1FXYBiR6jLUfyDVFexcqNoa0o3M O+2afTHbKEmDgobKHNo0NKjY+iaDQcaYx3xSAV63NT6S7Mk1NpZ6UrWZNnqZ7PmAvo50 SEcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=zvIsd2CCJGYlL6Tz2JnzQnPO9EyaGwyyQWzqTQSHt28=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=Q1Yl/8UNbTzdu2xXKGEs7+wykWHgm9QUX+IGSzTDcMygY0RszY/9uPR0arwbyT1Rhj 8okD7nk4bPZ7ajl67Rvdd7Uhk1QGCIVJb4O37P4n5/YYJ7kVH7I76a83q/+a3E70tHnK Z3UtCXUwE4UJ5dGCXXE39xeeE3lJS8zjx8IU4P73DqXEjCaKbeb7pxFMxEUg5OxIWGmq FTd35coAMWwpniSlSCqcfUP2Qo2shTD/wjj7JYbjLEMGCZ/xZCOg+Z6Dt2Gvu7AbQHtn /qkarGs4LjoVAee9G9rlgNsTboGCFlc/Axx/2SnZxiGOrBCgdMKEG9RGgtJ00Nr5jZU7 WmZQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ieddKccu; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c573cead29si1421602885a.348.2025.03.19.11.25.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:25:52 -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=ieddKccu; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy4W-0000Wq-0L; Wed, 19 Mar 2025 14:23:20 -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 1tuy4J-0000CD-SI for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:08 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4C-0006NZ-O2 for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:07 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43cebe06e9eso35678475e9.3 for ; Wed, 19 Mar 2025 11:23:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408579; x=1743013379; 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=zvIsd2CCJGYlL6Tz2JnzQnPO9EyaGwyyQWzqTQSHt28=; b=ieddKccu1SGZXg1Xd+vV2zoynMWTlMSTh/Q7/U8GbFATO9eRX4c3wy4amLk7twar6v euY9hPnE0Y+M8VJiK+qQmsLJyMf2YuAKitQfAwQ5tS2j0e7Sq8keDa4koCHmmFDyYjab bYY9gEvNhP7MlM3/EqlPGw1EpY852jeX4U0rMXsGhSpuJH8ArkKbqESOPnCxRipI8PWh 4jQ0juurqvH1jcJrMFDaS6hyKLo4t7ZER0dq+LnXqXVhtEn+Fm5ncbsYHiW7toidalC5 aOza6tBnO1mAnXBzxYQMTeFiipH2fSYV2ZBhoB8vvGMCB1ck1SDMHsvKgerAbr8VhCFA ZmiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408579; x=1743013379; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zvIsd2CCJGYlL6Tz2JnzQnPO9EyaGwyyQWzqTQSHt28=; b=j1T1Yv8PzuqPg5vHf0u348ldehGmWjRyiyIC9wUX0mZy0nsuERRUfJOpjN0QTEXdSN H+yrleULuAG9IUxrKNYXUBY9s0UYBf3DyroPKiDml4Nlk9tg88+MaYiCdUJjlWiN34M7 Drsc8QKnF5lm/KqkEoSEBkRLFoU872ZLx+QrwumiwZ3AecfxHhKrU67Dbbil9IjJCOF4 CycsLgZRlt2HujZnzAZ89Aode7FMuUPxwYhkqobVJpyt4oZIGzr5xzY/KsY8d0gXKVTm RzsFLPJxB16GwwnWmzVgUMxyylIEYq9/JyJKdNg/UQABGnT5qmWs+6z0xJ7q3yWYBs2n Ts5g== X-Gm-Message-State: AOJu0YzYeKEUd2PXA8VVNX+S6EZkE/eqWuI7z/ewiVMB6/HxosFjyQlR XK+lyVaLoZwostfI94i/6IaEcFZFT+1/2Kon2Us5fpXhXjfU4Iu0vrTWUzP1jgA= X-Gm-Gg: ASbGnctDkpHcPqzGKXYis4VSib9yK+QOt1W8pq9aO3OFDPBdDxNmmZzjayiE/yPMEAO X/Tl8FlLY1UlrpJmyekBZzobGifr2FcgEWsevNf63CPFvTQ6ERRay//ISGYlcOxwiGqg8kgKqyE oA5nOuR+L0s+8oh2nBHhNPS91O6q/ggNS5WdFNFd5msSCcp4S4c+MvzmFOqzj3t1MM36Ha3GmPm Pi5kzbrHC7ixBXb2uXIyVFHLrSOZqlcWJ0bLXDo/BVOzcdZOyNTNc2J6ZTJ9eXwh1/ULYeqX5Oz TGB5b4dpxrfq1nTGnuAxbe8E3+Jrl6mQINpgpfmQDl/f3Mk= X-Received: by 2002:a05:600c:154a:b0:43d:649:4e50 with SMTP id 5b1f17b1804b1-43d437a19c6mr34437695e9.13.1742408579030; Wed, 19 Mar 2025 11:22:59 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43f85917sm25733145e9.35.2025.03.19.11.22.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A6B99602A5; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 05/10] target/ppc: expand comment on FP/VMX/VSX access functions Date: Wed, 19 Mar 2025 18:22:50 +0000 Message-Id: <20250319182255.3096731-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32e.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=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 Mainly as an aid to myself getting confused too many bswaps deep into the code. Signed-off-by: Alex Bennée Reviewed-by: Pierrick Bouvier --- target/ppc/cpu.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index efab54a068..1e833ade04 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -2906,7 +2906,12 @@ static inline bool lsw_reg_in_range(int start, int nregs, int rx) (start + nregs > 32 && (rx >= start || rx < start + nregs - 32)); } -/* Accessors for FP, VMX and VSX registers */ +/* + * Access functions for FP, VMX and VSX registers + * + * The register is stored as a 128 bit host endian value so we need to + * take that into account when accessing smaller parts of it. + */ #if HOST_BIG_ENDIAN #define VsrB(i) u8[i] #define VsrSB(i) s8[i] From patchwork Wed Mar 19 18:22:51 2025 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: 874736 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551068wru; Wed, 19 Mar 2025 11:24:18 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVvCet3aC8Qkhrm3g5EZ5J1a+40CRLB8ZDY9NWhLqlPDUSkWphHXSyIZmrzlDZXn9AIsJicKA==@linaro.org X-Google-Smtp-Source: AGHT+IEInrEwFXKxKxJ1W/QisjT5mm7tWYdr5OvWdDa/S+i+ccKEmu5cFVf2ZtK+alFve9YNNIyI X-Received: by 2002:a05:620a:258e:b0:7c5:a423:f5b0 with SMTP id af79cd13be357-7c5a818794bmr450424985a.7.1742408658113; Wed, 19 Mar 2025 11:24:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408658; cv=none; d=google.com; s=arc-20240605; b=aQNTGOAwthV7ZYLpWEmOVRYHjf9VUUGuuREcI1VyFkYnjxSGQsYni6BZ3b/1LD/aaO 9/jctqyj5WI55v/V5t59CwBbrAXnYN53q5SO94a8/sM0yQaIBZ6Ts7eoVXFOoAirIaEm +O6vunXG2YIZHpkJsS1lqQeowOXa4DbR4sjBo1IQDGQmJDc4+e9o6wSRxkpfBDt2rC83 QD1CG8CNPQo31+aNoguCBySAz1HHIE7IWl52pJsfA+9q8dn34p5tOc5juhgGIYnzkgwV g0Ixo4WNxRBsXuAFEPK2z7Tfgg+ocs3XiWV2xRM5CcPEoeLe0SXFlxysQv01Kfka6HfQ 2AvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=442Qfc14sV8K9qojXAxlMgXPGGQ/rtu38D2XjLogGHQ=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=j6KMfpXotc19RMcMQtnzox8ToCXnUohM8cLIqI5yvIUuLzF0esF/dNG93g5JjoIzpU XnQvNRGzv6DCK3WqTvgMGJLNoV/n8SZiba+sPc3YTod8OaG4lYCvyo0ZCM8OS4FAaumu AW07uWwr92yFLferqmEPwLWoGxmUwuE9YO+BlMCdfzcBCUczctwk5r+kPUCd0n3RjZfk HsMd/dB1DSWOF16FLdBpx54CC+5tjujxjUCZScR0oGl5WDT2PqjvoH14oWxOUqWFrnB8 jth9yJg+oobZ2eRIhYaUCOjqXyW5YrhtexiX7sGSdW45ULWFGo03tXeuZxbesMciv5gQ OZJg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eFwRQ4oT; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c573b7638fsi1471184185a.74.2025.03.19.11.24.17 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:24:18 -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=eFwRQ4oT; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy4c-0000rm-BJ; Wed, 19 Mar 2025 14:23:26 -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 1tuy4M-0000GW-L4 for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:10 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4E-0006Oc-RK for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:10 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43ce70f9afbso47006465e9.0 for ; Wed, 19 Mar 2025 11:23:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408581; x=1743013381; 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=442Qfc14sV8K9qojXAxlMgXPGGQ/rtu38D2XjLogGHQ=; b=eFwRQ4oTle86EKReP+4m+q2mOQ10zSH0KGd5k9T2+ZUiVcbYRWh3vb18hZaupJS5Ed iRbIyVkFQwEvyUo5D02jLZfIxy1g9SPH1g3aMegm1vgUkagWpz8Q6Hbu6RMyaWlx1em8 13P0jak6YkAXJzQaU5AGTGArDiBEs9hUGXLfbZzI/fxuWz8t3OvJUb/L7rhbvyJ02SCp AHFP7B5Ur4i6JWI9rPaqwUVvPjPVZ2LXrMBj7z27WWVDgXJfyfIuP6Gyi4kLONt55Rz0 VUHn85yd2e2ndiiG3XU5atIcQ7xXzJQY9RUXK2qdmtx9z0cm7a3n+jDioMnm6JjPKUVu uq8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408581; x=1743013381; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=442Qfc14sV8K9qojXAxlMgXPGGQ/rtu38D2XjLogGHQ=; b=adZbj6H+NV8d0zvI3P6M/zLbDU5NNqKCDKDIVgCeMluWQwG/+8KvN/palNDfZLEOcp WQZgKO1N14hsyNTHACg6ANV0dPp1CsNmE6icLo4laXqi4SjjM2fMekwWSJ7WJwvNK8JT ZI/IJg92Pdfz1qZys/1ER95b/gT+9Q5CKzTDq58o7mKONfSla/dZB1B1ncy6HGiKCstI wJoh1XqQruVeMujhelpcXEAbJ+/H8reKuhGucsR0u1B+MX6YpxxW+APC7mQ/FzsZ6hZZ In2UbptbnYLBBu4NKQThypoUJVyn0Y9e+ewj4lwYHpQkGUh+W6Q2IxzLMBjWHLBeS4gk sSBA== X-Gm-Message-State: AOJu0Yyp3GD0LZHrIHooH6WStPS4OG0ey27T8zw4ZTdnUbLl7+3sEQDt oa722BsEYRO1pBI+YoZj23tYoCpIViWU5dFdk5oGoEbRV/HaQBtXSPJXAjqN2Ak= X-Gm-Gg: ASbGncsJ1CAggvixF7BidbprSB8mJsF9GfBBNzK32A9tYdAfHfe23XBfMyzynN8qo19 xpUMyVWuSTxc/iA9L3qKJnHX5OTc6STxtPF+xHBiqdJOdjqrkaOGR3xYYWolHPb+JhMOCKAl0cz T/QWp4BxNbrNQceHsn2/i+jvD9Go4snr3X06gMfUdDzr6+dyjkJ2BDWGNkYPLoObwh3xzw4U2mR xgPIaJQ4IeuE5CeHyFrx0zvZsmy1nEijTUuC/xF6o6/27h4paF5T2UUal8R3A3Mhz2POq0Z35S2 KZak9wNOhH/8S0nPGMNKHHPkiBq6WQueY6972Z9kUX1iXZo= X-Received: by 2002:a05:600c:1546:b0:43c:fb5b:84d8 with SMTP id 5b1f17b1804b1-43d49549405mr1575455e9.16.1742408580953; Wed, 19 Mar 2025 11:23:00 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43f556afsm25431265e9.19.2025.03.19.11.22.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id B9FAA60341; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 06/10] target/ppc: make ppc_maybe_bswap_register static Date: Wed, 19 Mar 2025 18:22:51 +0000 Message-Id: <20250319182255.3096731-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x335.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=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 It's not used outside of the gdbstub code. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier --- target/ppc/cpu.h | 1 - target/ppc/gdbstub.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index 1e833ade04..950bb6e06c 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -3016,7 +3016,6 @@ static inline bool ppc_interrupts_little_endian(PowerPCCPU *cpu, bool hv) void dump_mmu(CPUPPCState *env); -void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len); void ppc_store_vscr(CPUPPCState *env, uint32_t vscr); uint32_t ppc_get_vscr(CPUPPCState *env); void ppc_set_cr(CPUPPCState *env, uint64_t cr); diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index 3b28d4e21c..c09e93abaf 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -81,7 +81,7 @@ static int ppc_gdb_register_len(int n) * TARGET_BIG_ENDIAN is always set, and we must check the current * mode of the chip to see if we're running in little-endian. */ -void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len) +static void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len) { #ifndef CONFIG_USER_ONLY if (!FIELD_EX64(env->msr, MSR, LE)) { From patchwork Wed Mar 19 18:22:52 2025 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: 874744 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551758wru; Wed, 19 Mar 2025 11:25:52 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXmB36p7qBoUY73mYeSEqTkqaJRUSzmptwbgaAUEZlo0GNNL4q0plVpEBoyeHtFNjnKC6uONg==@linaro.org X-Google-Smtp-Source: AGHT+IHNYXiQCRliN+RRZtdlf4Zag/pDHhQEUU6JcJYNYCD3DkknPbWnH6V2BL2VwL5ad+d1C7os X-Received: by 2002:a05:6214:1246:b0:6ea:eeb6:c82b with SMTP id 6a1803df08f44-6eb348df60emr9802846d6.2.1742408752192; Wed, 19 Mar 2025 11:25:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408752; cv=none; d=google.com; s=arc-20240605; b=MwChnxGsqZ2tYkyi15iUV/R6Bs6YMdtq8iTUakwty2HAKYQE6t3lnO5HSuEuEFDYdr CG4VgSjfD89/3NztWE+MYe6+505mt5MOx067sxAQoBzXc2OX2vyiHQ1dxxiKGx0FmFQp 1ybcj8HFyYBKDrX7WZRyMbiw2FzOsp5KOJnzKkMQ25M1wfI13R1ytduTMrmG/HtqVTbW zygAUTMnso0MPjTRcwKw6QubDsy4Sc3hEZLGzr+6hZvMWRaKQvvTnsvMPWKDX1BOG0K/ OB29RVSiuKNqtVzde3z9stdQ/sDgjQWwG3tNCNoSjqL6rz1ibDe2iaKez3unnFiPtc0O L4bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=OU7UFVG34yucEkVj19LxykWHxo5v2TaWVJvCEDbmtCg=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=GRG2JShAMIIdbW5yftWMGFnBoIm+W0axifftCpX54uhwcihw7iK5+NfypqB+zTLJ90 9PhoDyiwb/a2bA/gyxfxeoaAqKNNSEct/Pkb3t5+EBxoePlXtMB3aKnV/bTKbbSdCuAw fULby0A9knVGjeeUrDm59bsILbIh9l3WE1Ei8iOKD/XCIm4JFQ3GuxR9Ze2ArZp5cfy1 Eazzk6g80X1IX5KQYR+JP5wUr3w8mpqBIPP5xtiDmIU9e6cbi41VVVTRVQBW/DSnT8XI 3kWW5HMvKKzerczzM8milK9DSuf9tD44CIJCwLfxgRQaotCbjNkll3AfeZ/fj72wlEYB sHfg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Mso5OhHx; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 6a1803df08f44-6eade20f04csi141945546d6.131.2025.03.19.11.25.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:25:52 -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=Mso5OhHx; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy5H-0001vQ-AU; Wed, 19 Mar 2025 14:24:07 -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 1tuy4Q-0000PY-Uv for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:15 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4G-0006QB-RE for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:14 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3913fdd003bso633842f8f.1 for ; Wed, 19 Mar 2025 11:23:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408583; x=1743013383; 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=OU7UFVG34yucEkVj19LxykWHxo5v2TaWVJvCEDbmtCg=; b=Mso5OhHx1KA0sj5ehVAX7rooa5Kvx3JcjYa8ih/PHewjY4Sm0iyQcobaVQMpMJugrD xlmL+/wRCwEcZBmdvfrmh3oyNWNXusSc4J4gYU4nIvhdOoyhGpV5D9kMxXELGlSYrnfL tbrELCk7KqMXHaiZyA+rWiGaK8GmdB++qwf9UmDJjzcfafaNDDsLJYJ/6Q98Dhkvs0/O 0OsoMmebaEqBGa5C/JWRceHP9j2qflCgxE3kvY4S0VaiNZvM326TBDjSV/kxHY2aSlft G/DIxw6LRTz75s6Mr0MyqlXiJ5h4lcDYjEaYv/dXFIe3p2pRsMykM8zs/4doAR6c3sjz XRFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408583; x=1743013383; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OU7UFVG34yucEkVj19LxykWHxo5v2TaWVJvCEDbmtCg=; b=hVPM2AFwHDWk0mJc1QYwxFJlFC7Pyce0B5I5xTCQ2WPIJdawtCNM0N5ITx3DaI4m/A 7PbLj5kILgz1kLg0Tm1pBP2ZQgoNwb9EcTRZ7av5k1B9NN29Xf0gbTpZ6okrCM+KxD8T GJ2uwpz01vWrERLqSL/UHX1GuLee5gw5eD9OSmXZfWBsED21yxfgfwh9tlJkJmuLuR7X x5fzQjgOg1lu9ZMnPz7w7etmfxzbUlY+ZLhCfBJVvOXIRke3qkc252ngaS4U3UI+4B1i dR54+/nGSr1jsYukoTsDB4Zaxb2fMnwAEnAVH01UyweCXoJnbeXz6WQ+fNgaKl0IIqw6 3r7w== X-Gm-Message-State: AOJu0YznpZc1ZLPsZICzrN3vBz1OPlNMHaa5qJZ5xjcvPwZ7wAYwFmpS C+T0JKSTTJMh3bkBor5rWPvxh2LCOlJ5RKnhKY0Az6mo7Qjw6JOBpSJ/WyARV+M= X-Gm-Gg: ASbGncsqxbhkg0AdmNHJuQpK54t/Ub1CJ0LlnsBg/GtmyxOsTktFjNXHIqMny39o8bb zK143LM6JgWWz6u3yFvuw9Uq9V1ePaVCsyldQ2ULoEALAbQc97k/q7hzBU2F0iUIhOJcjnb8+9E xY+gVI2r8Pb4Fd1eY1yCyahGs38AL6dkNFXesVWjoFIQbulaaN906pc2gkwvbClCwucJ/0DlYZv +AW84OkfA11uPM1KjxfVmIuzg7j7CG9e6/fTlTrvq/d6Iy3x9Zar9mQKXK8X50iOC5JzX/xfY6S lO7e/oX+rZSUbbc5NMMRSKS08PvQ+58RuzMFK35tKobQHCE= X-Received: by 2002:a5d:6da6:0:b0:38d:d166:d44 with SMTP id ffacd0b85a97d-3997959ce47mr437009f8f.23.1742408582915; Wed, 19 Mar 2025 11:23:02 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d43f47c60sm25386695e9.13.2025.03.19.11.22.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D366860357; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 07/10] target/ppc: convert gdbstub to new helper (!hacky) Date: Wed, 19 Mar 2025 18:22:52 +0000 Message-Id: <20250319182255.3096731-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42e.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=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 By passing the explicit state of LE/BE via the memop we can avoid the messing about we do with ppc_maybe_bswap_register() at least for supplying register values to gdbstub. The fact we still need the helper for setting the values probably indicates we could do with a reverse helper, possibly to setting env vars directly? This is complicated by aliasing though. Signed-off-by: Alex Bennée --- target/ppc/gdbstub.c | 192 ++++++++++++++++++++++++------------------- 1 file changed, 108 insertions(+), 84 deletions(-) diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index c09e93abaf..663a97d986 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -20,7 +20,7 @@ #include "qemu/osdep.h" #include "cpu.h" #include "exec/gdbstub.h" -#include "gdbstub/helpers.h" +#include "gdbstub/registers.h" #include "internal.h" static int ppc_gdb_register_len_apple(int n) @@ -74,12 +74,12 @@ static int ppc_gdb_register_len(int n) } /* - * We need to present the registers to gdb in the "current" memory - * ordering. For user-only mode we get this for free; - * TARGET_BIG_ENDIAN is set to the proper ordering for the - * binary, and cannot be changed. For system mode, - * TARGET_BIG_ENDIAN is always set, and we must check the current - * mode of the chip to see if we're running in little-endian. + * We need to map the target endian registers from gdb in the + * "current" memory ordering. For user-only mode we get this for free; + * TARGET_BIG_ENDIAN is set to the proper ordering for the binary, and + * cannot be changed. For system mode, TARGET_BIG_ENDIAN is always + * set, and we must check the current mode of the chip to see if we're + * running in little-endian. */ static void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len) { @@ -98,6 +98,38 @@ static void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len #endif } +/* + * We need to present the registers to gdb in the "current" memory + * ordering. For user-only mode this is hardwired by TARGET_BIG_ENDIAN + * and cannot be changed. For system mode we must check the current + * mode of the chip to see if we're running in little-endian. + */ +static MemOp ppc_gdb_memop(CPUPPCState *env, int len) +{ +#ifndef CONFIG_USER_ONLY + MemOp end = FIELD_EX64(env->msr, MSR, LE) ? MO_LE : MO_BE; +#else + #ifdef TARGET_BIG_ENDIAN + MemOp end = MO_BE; + #else + MemOp end = MO_LE; + #endif +#endif + + return size_memop(len) | end; +} + +/* + * Helpers copied from helpers.h just for loading target_ulong values + * from gdbstub's GByteArray + */ + +#if TARGET_LONG_BITS == 64 +#define ldtul_p(addr) ldq_p(addr) +#else +#define ldtul_p(addr) ldl_p(addr) +#endif + /* * Old gdb always expects FP registers. Newer (xml-aware) gdb only * expects whatever the target description contains. Due to a @@ -109,51 +141,50 @@ static void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len int ppc_cpu_gdb_read_register(CPUState *cs, GByteArray *buf, int n) { CPUPPCState *env = cpu_env(cs); - uint8_t *mem_buf; int r = ppc_gdb_register_len(n); + MemOp mo; if (!r) { return r; } + mo = ppc_gdb_memop(env, r); + if (n < 32) { /* gprs */ - gdb_get_regl(buf, env->gpr[n]); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->gpr[n]); } else { switch (n) { case 64: - gdb_get_regl(buf, env->nip); - break; + return gdb_get_register_value(mo, buf, (uint8_t *) &env->nip); case 65: - gdb_get_regl(buf, env->msr); - break; + return gdb_get_register_value(mo, buf, (uint8_t *) &env->msr); case 66: { uint32_t cr = ppc_get_cr(env); - gdb_get_reg32(buf, cr); - break; + return gdb_get_register_value(ppc_gdb_memop(env, 4), buf, (uint8_t *) &cr); } case 67: - gdb_get_regl(buf, env->lr); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->lr); break; case 68: - gdb_get_regl(buf, env->ctr); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->ctr); break; case 69: - gdb_get_reg32(buf, cpu_read_xer(env)); - break; + uint32_t val = cpu_read_xer(env); + return gdb_get_register_value(ppc_gdb_memop(env, 4), buf, (uint8_t *) &val); } } - mem_buf = buf->data + buf->len - r; - ppc_maybe_bswap_register(env, mem_buf, r); - return r; + + return 0; } int ppc_cpu_gdb_read_register_apple(CPUState *cs, GByteArray *buf, int n) { CPUPPCState *env = cpu_env(cs); - uint8_t *mem_buf; int r = ppc_gdb_register_len_apple(n); + MemOp mo = ppc_gdb_memop(env, r); + int actual = 0; if (!r) { return r; @@ -161,44 +192,48 @@ int ppc_cpu_gdb_read_register_apple(CPUState *cs, GByteArray *buf, int n) if (n < 32) { /* gprs */ - gdb_get_reg64(buf, env->gpr[n]); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &env->gpr[n]); } else if (n < 64) { /* fprs */ - gdb_get_reg64(buf, *cpu_fpr_ptr(env, n - 32)); + actual = gdb_get_register_value(mo, buf, (uint8_t *) cpu_fpr_ptr(env, n - 32)); } else if (n < 96) { - /* Altivec */ - gdb_get_reg64(buf, n - 64); - gdb_get_reg64(buf, 0); + /* Altivec - where are they? ppc_vsr_t vsr[64]? */ + uint64_t empty = 0; + actual = gdb_get_register_value(mo, buf, (uint8_t *) &empty); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &empty); } else { switch (n) { case 64 + 32: - gdb_get_reg64(buf, env->nip); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &env->nip); break; case 65 + 32: - gdb_get_reg64(buf, env->msr); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &env->msr); break; case 66 + 32: - { - uint32_t cr = ppc_get_cr(env); - gdb_get_reg32(buf, cr); - break; - } + { + uint32_t cr = ppc_get_cr(env); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &cr); + break; + } case 67 + 32: - gdb_get_reg64(buf, env->lr); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &env->lr); break; case 68 + 32: - gdb_get_reg64(buf, env->ctr); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &env->ctr); break; case 69 + 32: - gdb_get_reg32(buf, cpu_read_xer(env)); + { + uint32_t xer = cpu_read_xer(env); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &xer); break; + } case 70 + 32: - gdb_get_reg64(buf, env->fpscr); + actual = gdb_get_register_value(mo, buf, (uint8_t *) &env->fpscr); break; } } - mem_buf = buf->data + buf->len - r; - ppc_maybe_bswap_register(env, mem_buf, r); + + g_assert(r == actual); return r; } @@ -210,6 +245,9 @@ int ppc_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) if (!r) { return r; } + + g_assert(r == n); + ppc_maybe_bswap_register(env, mem_buf, r); if (n < 32) { /* gprs */ @@ -367,18 +405,16 @@ static int gdb_get_spr_reg(CPUState *cs, GByteArray *buf, int n) { PowerPCCPU *cpu = POWERPC_CPU(cs); CPUPPCState *env = &cpu->env; + MemOp mo = ppc_gdb_memop(env, TARGET_LONG_SIZE); + target_ulong val; int reg; - int len; reg = gdb_find_spr_idx(env, n); if (reg < 0) { return 0; } - len = TARGET_LONG_SIZE; - /* Handle those SPRs that are not part of the env->spr[] array */ - target_ulong val; switch (reg) { #if defined(TARGET_PPC64) case SPR_CFAR: @@ -400,10 +436,7 @@ static int gdb_get_spr_reg(CPUState *cs, GByteArray *buf, int n) default: val = env->spr[reg]; } - gdb_get_regl(buf, val); - - ppc_maybe_bswap_register(env, gdb_get_reg_ptr(buf, len), len); - return len; + return gdb_get_register_value(mo, buf, (uint8_t *) &val); } static int gdb_set_spr_reg(CPUState *cs, uint8_t *mem_buf, int n) @@ -441,18 +474,14 @@ static int gdb_get_float_reg(CPUState *cs, GByteArray *buf, int n) { PowerPCCPU *cpu = POWERPC_CPU(cs); CPUPPCState *env = &cpu->env; - uint8_t *mem_buf; + MemOp mo; if (n < 32) { - gdb_get_reg64(buf, *cpu_fpr_ptr(env, n)); - mem_buf = gdb_get_reg_ptr(buf, 8); - ppc_maybe_bswap_register(env, mem_buf, 8); - return 8; + mo = ppc_gdb_memop(env, 8); + return gdb_get_register_value(mo, buf, (uint8_t *)cpu_fpr_ptr(env, n)); } if (n == 32) { - gdb_get_reg32(buf, env->fpscr); - mem_buf = gdb_get_reg_ptr(buf, 4); - ppc_maybe_bswap_register(env, mem_buf, 4); - return 4; + mo = ppc_gdb_memop(env, 4); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->fpscr); } return 0; } @@ -479,26 +508,21 @@ static int gdb_get_avr_reg(CPUState *cs, GByteArray *buf, int n) { PowerPCCPU *cpu = POWERPC_CPU(cs); CPUPPCState *env = &cpu->env; - uint8_t *mem_buf; + MemOp mo; if (n < 32) { ppc_avr_t *avr = cpu_avr_ptr(env, n); - gdb_get_reg128(buf, avr->VsrD(0), avr->VsrD(1)); - mem_buf = gdb_get_reg_ptr(buf, 16); - ppc_maybe_bswap_register(env, mem_buf, 16); - return 16; + mo = ppc_gdb_memop(env, 16); + return gdb_get_register_value(mo, buf, (uint8_t *) avr); } if (n == 32) { - gdb_get_reg32(buf, ppc_get_vscr(env)); - mem_buf = gdb_get_reg_ptr(buf, 4); - ppc_maybe_bswap_register(env, mem_buf, 4); - return 4; + uint32_t vscr = ppc_get_vscr(env); + mo = ppc_gdb_memop(env, 4); + return gdb_get_register_value(mo, buf, (uint8_t *) &vscr); } if (n == 33) { - gdb_get_reg32(buf, (uint32_t)env->spr[SPR_VRSAVE]); - mem_buf = gdb_get_reg_ptr(buf, 4); - ppc_maybe_bswap_register(env, mem_buf, 4); - return 4; + mo = ppc_gdb_memop(env, 4); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->spr[SPR_VRSAVE]); } return 0; } @@ -532,25 +556,25 @@ static int gdb_get_spe_reg(CPUState *cs, GByteArray *buf, int n) { PowerPCCPU *cpu = POWERPC_CPU(cs); CPUPPCState *env = &cpu->env; + MemOp mo; if (n < 32) { #if defined(TARGET_PPC64) - gdb_get_reg32(buf, env->gpr[n] >> 32); - ppc_maybe_bswap_register(env, gdb_get_reg_ptr(buf, 4), 4); + uint32_t low = env->gpr[n] >> 32; + mo = ppc_gdb_memop(env, 4); + return gdb_get_register_value(mo, buf, (uint8_t *) &low); #else - gdb_get_reg32(buf, env->gprh[n]); + mo = ppc_gdb_memop(env, 4); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->gprh[n]); #endif - return 4; } if (n == 32) { - gdb_get_reg64(buf, env->spe_acc); - ppc_maybe_bswap_register(env, gdb_get_reg_ptr(buf, 8), 8); - return 8; + mo = ppc_gdb_memop(env, 8); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->spe_acc); } if (n == 33) { - gdb_get_reg32(buf, env->spe_fscr); - ppc_maybe_bswap_register(env, gdb_get_reg_ptr(buf, 4), 4); - return 4; + mo = ppc_gdb_memop(env, 4); + return gdb_get_register_value(mo, buf, (uint8_t *) &env->spe_fscr); } return 0; } @@ -593,9 +617,9 @@ static int gdb_get_vsx_reg(CPUState *cs, GByteArray *buf, int n) CPUPPCState *env = &cpu->env; if (n < 32) { - gdb_get_reg64(buf, *cpu_vsrl_ptr(env, n)); - ppc_maybe_bswap_register(env, gdb_get_reg_ptr(buf, 8), 8); - return 8; + return gdb_get_register_value(ppc_gdb_memop(env, 8), + buf, + (uint8_t *)cpu_vsrl_ptr(env, n)); } return 0; } From patchwork Wed Mar 19 18:22:53 2025 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: 874735 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp550977wru; Wed, 19 Mar 2025 11:24:04 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUo5WvPLUw+xqeZkpnJMKEiiqTD4u487aYx/ZmK+fjrzvWedX/uAd16Bf6OKzQaG/qVCkReRQ==@linaro.org X-Google-Smtp-Source: AGHT+IHrqDWB/VqaaKRrojA+UEd2kxvB1CEQTaB57WqYN55BFRn0XlG0zb8Kgj14xPp67WcvD/3I X-Received: by 2002:a05:620a:28c3:b0:7c5:3c69:2bc7 with SMTP id af79cd13be357-7c5b0c7a363mr26627985a.5.1742408644236; Wed, 19 Mar 2025 11:24:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408644; cv=none; d=google.com; s=arc-20240605; b=Fgx32qnf0I+ooolH45aPWu29cySed7XkyEzehh0RuAC0LC7EPuIjrQD0CoQJHoTMh5 x2YzCue0vS3ivmkayy7ZPYC5HnKBmy7JjealJ12pVR417qoWRqG0Dq5GGHzIOZf43mDQ vMF7KgC0yH7nHp/SdS6l98J1BUzCwHCor6YO6jecfhM7WpRGM0e5DNuhqfKQgjSsqBzt etO4WRnt8D+TpgN9pM8YzkXAS3c2H/uZwiSILWFNU1e2cUwqzaEFwMSNmpRAF3//ZCaZ oRq6Lucua7bO+Gk2l0DxeyvH3DJveGrUZWVrFHJTThyY+UKOCn9+doglnZEMWAYAT3FV 3Zyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=nrj2FOEziPdE/G6thO0Deku8uOYah5JXjO/VOAIZNSw=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=SB9zMA4qK4W3rlaCkg8OPD9NE7mOzIJ4hB5sz8JptTrk1vMgt3Av67ZRm+Ob2MCDPm lP19s7/BKMcBDR/g5vXJX3T3n+sTVi+ZbFkZaOHTmP5l3k8/fxyyZfGxNIGR4suQ7Z2w 4WYK/Mf/qTDuMpNbC378hlgV0XwltLsNRaYUF8rvS7CeJE7/xzNtYG9UXM8jcS1+JL9V kiif8EQ13HbZZSSfJwsuQS2F6HFNHQA1uUtFMu6Gyat0VhTfsUXus1RoNFBoFUg1Ayih DzJ+oDfVm9dEvUX+QMgOdbqWqJJ0LT2e7ZKv/pR/zWV6v2t/zXL7T8TaQhvNy8fB2mRa IIyg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TryTdMWc; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c573b7433fsi1427654485a.82.2025.03.19.11.24.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:24:04 -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=TryTdMWc; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy4Q-0000Nb-IC; Wed, 19 Mar 2025 14:23:15 -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 1tuy4L-0000Ex-0D for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:09 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4D-0006Nx-Lp for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:08 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-391342fc0b5so5959288f8f.3 for ; Wed, 19 Mar 2025 11:23:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408580; x=1743013380; 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=nrj2FOEziPdE/G6thO0Deku8uOYah5JXjO/VOAIZNSw=; b=TryTdMWcybzRbOlnHlM11Bkl6VlK+jGQi9mJ75yASZ2AsjAJA5qtMh/yDNAYDsJyJO pBsyPkXouUBWsbhNDmz2t1s5KWilC5EAVTWO/c8iihc374NTMjr4BcMxJWLhn3R8Gou/ c9JutERmseSbjqck+vCrSbNzBY7uTpBl55rqOBEIkhxB+3rG+KTZCHy+PX9O8U1/UJId fvAqIFhUQhMjHZ7je4BOqz8sEKuakwfIc5hXs2QQAW6qeBVPuH1KGEBiAjpmea52EqTK oSO9w8V4Diphh23irqMiXu4GQy6COBPAUciPb3yQ8UJTtyetrpocabxW8/FFjevjJJY9 YokA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408580; x=1743013380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nrj2FOEziPdE/G6thO0Deku8uOYah5JXjO/VOAIZNSw=; b=jZ1x85aO3Ho3jyD97fVbiC1wbBnkeRrsanv2cOiTLp+LVoeccfZEY2M+u64JHe8hYM K8003nxAcCvijXlhb67RxHzH7Dew8eW2KGUE2+KKJSyArVflH2v6EVJtlQkx3+IEYijM 3YcUVFA63WgvZkASSHGVy2VdIrLDGMb/rk2d4uSyXRylyAAScywC552WO+cY2uGspJ6Y 3G/qRGD4vR9GSUFZEsSQ6nAeXs/Q2fCmdULrpoJv9B+WDsKOMCpuv6h4OsZvftE1e38a /CRZrKzUVP1Xd5PPjW+3yyYTpwmNcQBz348qK3bHe843/GHSGgj7hwyWGYX2RPuxHKeI lP5w== X-Gm-Message-State: AOJu0Yzxr+LLAy2Awj8em/KX8XLr2CvtrbdUReiGaoWbYdqr/vRW2zKa M07RRlp3q6nZ4Xf/hrgpxK0lDW2Go3t+xzgteUPfFP/Dnmlb+aXJZYnp4BxIkoU= X-Gm-Gg: ASbGncum/9Djk8iUt19T2MJO8aS4EGuCjwnK90NipwJ6NDLKGoPMq4gRHG4OTBPHfHO ZEwbcCAy0OcLApUHk+0pLnRLZz784hDefGG390Sm9klFs0B9MRBRzvXi8kiRhR6LIRPsddCQWu8 B/7qGBTQ6SyTou0AywDC2iB4c98xNasET4Y07gh8acU1RMe3UkHQEeXz8fJrLHvrE6Mz7vItLNO V+/NORe3MiWKzbceSQ69qvGlcg3W5YSWKv2C1E7KZLHqpT3fkeh9luEMuh3XYzgd5CbpystF+We Z9FzKevI1SeJmsGky9M8NxfGhpODn0H8SDJ6CIgN5NUIHlQ= X-Received: by 2002:a5d:47c6:0:b0:391:3049:d58d with SMTP id ffacd0b85a97d-3997383b6famr2952116f8f.0.1742408579791; Wed, 19 Mar 2025 11:22:59 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395cb40cd78sm21633137f8f.78.2025.03.19.11.22.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EB86E6038D; Wed, 19 Mar 2025 18:22:55 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 08/10] gdbstub: assert earlier in handle_read_all_regs Date: Wed, 19 Mar 2025 18:22:53 +0000 Message-Id: <20250319182255.3096731-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.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=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 When things go wrong we want to assert on the register that failed to be able to figure out what went wrong. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- gdbstub/gdbstub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c index 3d7b1028e4..8561d9d527 100644 --- a/gdbstub/gdbstub.c +++ b/gdbstub/gdbstub.c @@ -1350,8 +1350,8 @@ static void handle_read_all_regs(GArray *params, void *user_ctx) len += gdb_read_register(gdbserver_state.g_cpu, gdbserver_state.mem_buf, reg_id); + g_assert(len == gdbserver_state.mem_buf->len); } - g_assert(len == gdbserver_state.mem_buf->len); gdb_memtohex(gdbserver_state.str_buf, gdbserver_state.mem_buf->data, len); gdb_put_strbuf(); From patchwork Wed Mar 19 18:22:54 2025 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: 874740 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551141wru; Wed, 19 Mar 2025 11:24:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUzk1SgnGzYO55LfU1uheCn2in902QA3khXefFVN27Os2mMO0tRfZGs48YtE3Mc3pPcezrm0A==@linaro.org X-Google-Smtp-Source: AGHT+IGVVVlZjrRd+1i1KWq5yhP016dkutidUenPwi4bVAjic4UE/AuaTjh0BU0CVpNEeOIOWgAi X-Received: by 2002:a05:620a:1921:b0:7c5:4caa:21a2 with SMTP id af79cd13be357-7c5b0d38a3fmr16329585a.57.1742408668648; Wed, 19 Mar 2025 11:24:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408668; cv=none; d=google.com; s=arc-20240605; b=CjXI9R446SZtV3zOPXmDm3W4YOzcv1mp+1nmAS496BYQopKJTPqbcEuGwu5LwOsveq L9RbSoO5/EWd4ZA+0cK/7NJf6QG9D7+6e6ssgKKn6WBPqADAwdEvijHNK0Qi6aNtDWWw ND/dxZZJJqMW83B6Qh1pzs/iMGogl/Mgde4bplEyineO450zdfUrQZh1ESo06WFMY5Aw BpK52X/W766n7iBjxe0ZX+zOC8rTsWuxhoiomUhIFgzsXB0nrk5DmWlhGTLYAg/hVYq5 YXWufs3hhnEGEeBSyWu27rRWIrGCpSXk8Po2xbdnynGvardvDAr6KlIxCawMkudc4VFS MjVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=KyVkWcStElmcOAyhJPPo6WY44XP+lPqsn8y0KwtraUw=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=eszeUq1uW0IIRdafah18AHIR6tI/2KKxSWwow717VUzWVqebkvncpQsaWzl2tSAU7o zAhrqTbquzpHDIIaWRebuh3SlO8ti1OuSoyYC22gM+NCLAHXtHy2Kf4bBEC8CGsJ2VfG ATFslIGBprl1Kp70xs5tx3UPyTmNB0gY5r3b4M/+Mk3loOaz6W0gljOqYClKlhxDOGmJ edxSe74dK8XKixL/qHwTDZhY9Wh/t/HDW3LTjN8jHZlFhpGmOIRQyy+nVK1wspue641d zxzcLw8R+NFc9ALIun4MC4twQnkPcT+wUvVZg1l0vREvR6J83zaVUZTqqR0PeNk/jVeN UcRw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tQarzvsl; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7c573ccb31bsi1552404185a.274.2025.03.19.11.24.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:24:28 -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=tQarzvsl; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy5B-0001lN-Tb; Wed, 19 Mar 2025 14:24:02 -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 1tuy4M-0000GS-57 for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:10 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4E-0006OH-7x for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:09 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43ce70f9afbso47006305e9.0 for ; Wed, 19 Mar 2025 11:23:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408580; x=1743013380; 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=KyVkWcStElmcOAyhJPPo6WY44XP+lPqsn8y0KwtraUw=; b=tQarzvsl1Y5wvwEIx6hVN/k1w1rpQyn0tSaIEaGVNFW3j4S3dcgeV0K9YNtoh4UtPU 6I+J2V6HVteGuk7o742dLhIz1gcEtsDzk8LigyHvV4jG9DlOyOIs9pZmbA8DN/DPvdod fzl0lRHcp253KOcwdE99r8PQ65bCmXHeaPnWgGsOvW0LiMH7p7+FAaW6bFQMZQBvL9li CxnS8jODfOGHFsuZ5FiQS/Iys0x0XmmsWsMt3qWjC7MmN0AbIh0303eOa7ps/HgdSvc8 9ph4CE8ZgX5P8Ds2KHJn938Q46VISHC3LlU74OSllrV8IyPp1owhkwItnILMLHKMF1sb qW/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408580; x=1743013380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KyVkWcStElmcOAyhJPPo6WY44XP+lPqsn8y0KwtraUw=; b=kSZtjqsQjnuToZUUYQSyjAcZ+pMubmCEGjJtQO+sx0dM/d6jvGIUJ9xWHHxn6w1lyp IblA6/sMG8H56F6QY6YAvRH85Uwno7uljZHHjjlhiMs/IOsY6gIQcCKWer6Hlzx5CxGT WnOQYL9bzmQ7njx8pDwPwZq6bX7PhmVKxbPyzv75dmdqyQSv52fvnJB0tGW2ssdu2Mfw 4+280xzgl7NJsYoM7l0hAMEu+21dQhYXpXBv36PKycEEbMwD+I99A7ZYmuqCOAUOJqlt 5VyUXk2VOrCbRUaCZKySrJATouDiM/xG3uyUwYGHGH8PE6LJuUf8hmKnNO8Xq1wuYivp TUWA== X-Gm-Message-State: AOJu0YzXcq7+U+kitZ3aesSHoZWVZzRncwtU4+/h7SWuWxRswtc1ivin doDn9T7fCGHZ2nEyhw3IMvJeuTKzA357Xxs5h77CQSu5Vbu5nqJ9iMTOKyiw9Gk= X-Gm-Gg: ASbGncvIPc8ygUpJh9Mg7+uI+1JtXa8Q6qP1Pu5TsymANKwRu9JTPPYsEndGtf0iUrL GKvwQUQYu0UQF9dKLTccgi0hiJOB2lju6LWiN0qXYSPaMB3cWqhT+bMsOuZrL661xmxZsUvg6nC WnId5ecRG1Z7M5Eob2rnaazIBTdZhO7/qK9zCxiWLcLX7fSKM/wR7vadDuOBWOVAJW+YIRXSPvQ LucdMOh+o+kM6ew5msxfha0lZJX5fDHxPyuL35Dr7qHrhdOZbT6aCho92y5w1znQKZ6Y6E917eL 88pOSnn2vD/7acVaVQj2XQ0acY71S/M6px7mNoBAERN0LVM= X-Received: by 2002:a05:600c:4e49:b0:43c:ebc4:36a5 with SMTP id 5b1f17b1804b1-43d4953b186mr1867405e9.7.1742408580365; Wed, 19 Mar 2025 11:23:00 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d48f60cc5sm3790175e9.36.2025.03.19.11.22.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 0C860603EA; Wed, 19 Mar 2025 18:22:56 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 09/10] include/exec: fix assert in size_memop Date: Wed, 19 Mar 2025 18:22:54 +0000 Message-Id: <20250319182255.3096731-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x331.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=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 We can handle larger sized memops now, expand the range of the assert. Fixes: 4b473e0c60 (tcg: Expand MO_SIZE to 3 bits) Signed-off-by: Alex Bennée --- include/exec/memop.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/exec/memop.h b/include/exec/memop.h index 407a47d82c..faed3ff902 100644 --- a/include/exec/memop.h +++ b/include/exec/memop.h @@ -162,8 +162,8 @@ static inline unsigned memop_size(MemOp op) static inline MemOp size_memop(unsigned size) { #ifdef CONFIG_DEBUG_TCG - /* Power of 2 up to 8. */ - assert((size & (size - 1)) == 0 && size >= 1 && size <= 8); + /* Power of 2 up to 128. */ + assert((size & (size - 1)) == 0 && size >= 1 && size <= 128); #endif return (MemOp)ctz32(size); } From patchwork Wed Mar 19 18:22:55 2025 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: 874741 Delivered-To: patch@linaro.org Received: by 2002:a5d:6a90:0:b0:38f:210b:807b with SMTP id s16csp551281wru; Wed, 19 Mar 2025 11:24:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVvQSq+2QtSzK+nQWfn0B478VFX1v5B87anMXlUvAsohoilDFWLle4v8GPN5UYU0bh11bSpYQ==@linaro.org X-Google-Smtp-Source: AGHT+IG3wWAjAx+txbnwdNjqefCJKRq8aJzRA9DprVUUMvlY1xxUthekxI0lDmqb/YurCRsKfgSH X-Received: by 2002:a05:622a:2b09:b0:476:b73c:4ad2 with SMTP id d75a77b69052e-477082fe7f8mr54701311cf.9.1742408686779; Wed, 19 Mar 2025 11:24:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742408686; cv=none; d=google.com; s=arc-20240605; b=XWjmSI38Vw5GVGRGE51E3dMKdCBoXkCGik0JZ0Z2y4mQF8h/JqrWTxE3HL3r5eM327 EnP5fpnuw+801lplzs8ZORl0bIDdn5OpxsN3Ja9CA2ITaAjJbnL+/9RoWG28kKb63fAl mvMc0uZWKCSTSjkLWpN9scVim8AEbMx9KxxKZqrBMrMrYh3L8KZVcFXRB8PBhKDsW6ZZ SFtLifwPI/y9syurllx8muYA7iLrpSPOY+1gkEDX0jp47dseRr9vFoboE0QahpDrUWTp G7j+rWezCstzMpHPEjOxEdLC1Y/VI9lUNUgZiRvE7wDui8uYaDWtUpEb+h5tR/Kpum0M nNKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=QJ83uXoZhI6xrj/GFa6jaX+FdXqwSbl+PFyWsW6Q49c=; fh=T52BgT3tuf9UvcX3m00r9EBGHnFXJV6qFB7GDz7WSU4=; b=GDWuzCvi4swKIT1foyxUA8pY7MCAbRabRh51SqFKYn6f7IhnaBPUiN77CaBeNGXZGV N84WB/O8lf2+ffHzGzk1OpawWynkZrfCi4tC3acYxRQd3O7R6SoOUvc4jr4K5p0I/nSe aVwQdI/UkBeNsnWRq/NkSzEKzL/PqcJWi5F4L0Q29WM9dxnOexgL59rEcL7RHvhfb0Sz M9GyH2AC8SsYRxOPH0Q+1PCxQyqPQ8wySRzSajhKGQXPXCduVVPjrb4AonhXITQvX9aV NZ6W1GHA6rsRhovnIcH2PvityfIxcSlZWDlLYR4EgiAwP/2CpHSFWl1yveEhMCVjUfsA XiuA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SBBtDHfn; 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; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d75a77b69052e-476bb7df362si149663871cf.286.2025.03.19.11.24.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 19 Mar 2025 11:24:46 -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=SBBtDHfn; 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; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tuy50-0000wo-Mv; Wed, 19 Mar 2025 14:23:53 -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 1tuy4N-0000Il-Qs for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:11 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tuy4F-0006P5-EH for qemu-devel@nongnu.org; Wed, 19 Mar 2025 14:23:11 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43cf034d4abso52117185e9.3 for ; Wed, 19 Mar 2025 11:23:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742408582; x=1743013382; 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=QJ83uXoZhI6xrj/GFa6jaX+FdXqwSbl+PFyWsW6Q49c=; b=SBBtDHfnHBUgCAW65l8bC4JXayScaO41zq06oW8USRmH3gsE+M9+Ls8K9X+nsNH49+ 1O912l2uxXglXW0W39UZ33LbF7+Zw7SYWhOOj5Q4qLgI02fukFnIAF507OORDuV2Y8Yr kyF14RjnqK0/lEDJkUO1m//0TsHrAjD5Ym2dGYdiHMZEufeXBe2E0GrZPVcO/9sUrfD2 rzK453D1PHtEEIvsr60FmsIOPakQPEqsiGOF1d1cdb2Hwq+bfjUOX9HcctX1KF8yG7za Fa5xfl0VbfLkAj8YPtd0qGHqkoIY/nFf9hbNRrNULVISWdXAojE7+3H9HB3qA+bBCJV0 ipeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742408582; x=1743013382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QJ83uXoZhI6xrj/GFa6jaX+FdXqwSbl+PFyWsW6Q49c=; b=uovUqBXEUUOFr2/RJQp857yiEicdJUjTRl6K//bx3JDKF4ZdCymp23WYEbcRVVpLvs svJc0JIieW7ILgGcUNqrh8gbXU5TW7L6nAuK0lbtEIoCYso1oPBPfFLzqS2smUBEpHRE BNJYuuUZMH4VV6w2Sj+tZKHOx2KYkB7OS4SVxy+MTCce8vc4V9ID6U8UuF3axj/iccx9 qQMLIrCKOB5qZktkTTYr139q22am7hBkegXlBZBQMIDZJlDOh5pa/y344IWsX5koY4P+ GcmAFK9REiFTI+LY65JOyPTSl2ZxkfmHFL8VULsmJauB32mq9WQ6K9V9FIaPa8JcD+7t m8tA== X-Gm-Message-State: AOJu0YyPNw05J3ZA1JmvUO/EF90VC/eTgOSB6LInVUKUdVyL0+yJ5QgC wkbpzXFMaI77h3ZwjpOStTYYobSM/d/7gbaF8Ka43xXbjT5diAL646LdjvZTj4s= X-Gm-Gg: ASbGncv7kiQfrL7DTwXwO47Bmu4vWp8adhO/hQCi64VbpQc3v+VHsq8oIj9u6jBkNtA aXrwij5eL7WlCJneHm8VSfJTp7xgTFdsHL3GZ88KiDsIDVVmK5FD7N01nCPHuHReblrVgzIoIwq KXgs89jrHDWEyXfbYK1mwP9CTRBQ1qkeK4KKpWlllBArTuuvIKOsLYD7kn0MvzKdxzolDBBvZhY Xn9LYTVDsF+VznFRCF84Pl5OUjEB3EfAKihO/cPUWBsBPwdwTbyC1+stGAapH+xm3pxdUW5X3zW QiYh2NJU05k1HO0IbHR/XsMiXEXtfwVi/lZ8OwEJ0w7gAlo= X-Received: by 2002:a05:600c:358c:b0:43d:7a:471f with SMTP id 5b1f17b1804b1-43d437c1881mr37941765e9.18.1742408581639; Wed, 19 Mar 2025 11:23:01 -0700 (PDT) Received: from draig.lan ([185.126.160.109]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4453227dsm25979735e9.40.2025.03.19.11.22.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Mar 2025 11:22:58 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 220CA6046F; Wed, 19 Mar 2025 18:22:56 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Juan Quintela , Ilya Leoshkevich , Thomas Huth , Akihiko Odaki , qemu-ppc@nongnu.org, David Gibson , qemu-s390x@nongnu.org, Wainer dos Santos Moschetta , Peter Xu , Markus Armbruster , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?C?= =?utf-8?q?=C3=A9dric_Le_Goater?= , Daniel Henrique Barboza , David Hildenbrand , Yonggang Luo , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Beraldo Leal , qemu-arm@nongnu.org, Greg Kurz , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Nicholas Piggin , Paolo Bonzini , "Edgar E. Iglesias" Subject: [PATCH 10/10] target/microblaze: convert gdbstub to new helper Date: Wed, 19 Mar 2025 18:22:55 +0000 Message-Id: <20250319182255.3096731-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250319182255.3096731-1-alex.bennee@linaro.org> References: <20250319182255.3096731-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org This is a pretty simple conversion which will be trivial to update once TARGET_BIGENDIAN is replaced with a helper function. Signed-off-by: Alex Bennée --- target/microblaze/gdbstub.c | 44 ++++++++++++++----------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/target/microblaze/gdbstub.c b/target/microblaze/gdbstub.c index d493681d38..106d6efbab 100644 --- a/target/microblaze/gdbstub.c +++ b/target/microblaze/gdbstub.c @@ -19,7 +19,7 @@ */ #include "qemu/osdep.h" #include "cpu.h" -#include "gdbstub/helpers.h" +#include "gdbstub/registers.h" /* * GDB expects SREGs in the following order: @@ -50,62 +50,52 @@ int mb_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) { MicroBlazeCPU *cpu = MICROBLAZE_CPU(cs); CPUMBState *env = &cpu->env; - uint32_t val; + MemOp mo = TARGET_BIG_ENDIAN ? MO_BEUL : MO_LEUL; switch (n) { case 1 ... 31: - val = env->regs[n]; - break; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->regs[n]); case GDB_PC: - val = env->pc; - break; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->pc); case GDB_MSR: - val = mb_cpu_read_msr(env); - break; + uint32_t msr = mb_cpu_read_msr(env); + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &msr); case GDB_EAR: - val = env->ear; - break; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->ear); case GDB_ESR: - val = env->esr; - break; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->esr); case GDB_FSR: - val = env->fsr; - break; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->fsr); case GDB_BTR: - val = env->btr; - break; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->btr); case GDB_PVR0 ... GDB_PVR11: /* PVR12 is intentionally skipped */ - val = cpu->cfg.pvr_regs[n - GDB_PVR0]; - break; + return gdb_get_register_value(mo, mem_buf, + (uint8_t *) &cpu->cfg.pvr_regs[n - GDB_PVR0]); case GDB_EDR: - val = env->edr; - break; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->edr); default: /* Other SRegs aren't modeled, so report a value of 0 */ - val = 0; - break; + return 0; } - return gdb_get_reg32(mem_buf, val); } int mb_cpu_gdb_read_stack_protect(CPUState *cs, GByteArray *mem_buf, int n) { MicroBlazeCPU *cpu = MICROBLAZE_CPU(cs); CPUMBState *env = &cpu->env; - uint32_t val; + MemOp mo = TARGET_BIG_ENDIAN ? MO_BEUL : MO_LEUL; switch (n) { case GDB_SP_SHL: - val = env->slr; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->slr); break; case GDB_SP_SHR: - val = env->shr; + return gdb_get_register_value(mo, mem_buf, (uint8_t *) &env->shr); break; default: return 0; } - return gdb_get_reg32(mem_buf, val); } int mb_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)