From nobody Thu May  1 18:03:57 2025
Delivered-To: importer@patchew.org
Authentication-Results: mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass(p=none dis=none)  header.from=linaro.org
ARC-Seal: i=1; a=rsa-sha256; t=1735572391; cv=none;
	d=zohomail.com; s=zohoarc;
	b=Qw18tlrYUX2jEG7RW58Pf8uLpiV9XBFps1DUFciQS2Nd/GwyHNpreWjmgsb/TCKJWzcTx3+A8ABY3B+dsPLtD13L4Wrr4mp1PFPqfKXsVhWO4pLk/L3zlykuSwdolInEBlGO4Zk6SZUTVKvhMtB+Fh1CWDCEthkYCAKQaaYFNO0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc;
	t=1735572391;
 h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To;
	bh=OPnjzUL72sgItT6b5Sz5QnXH2c6Pz/4KB/mKuiBnROI=;
	b=gONclHFflMWGZ1MJKQ12Nq7bxuV/n64+GMXW3ZR6q176zN+fq5a2qEbje/6mrO14QbI5CYBLGtyHzJ2Ec9mQGyqc6dytnaEU+cpR8GK1wrXrTLXWt5eG/BdnyX4T1oWvRTTbc3iX6hMaYsq2k1ygfQbvHusqeWsN4zZa5fm68TE=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass header.from=<philmd@linaro.org> (p=none dis=none)
Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org>
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by
 mx.zohomail.com
	with SMTPS id 1735572391360897.3526502885813;
 Mon, 30 Dec 2024 07:26:31 -0800 (PST)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <qemu-devel-bounces@nongnu.org>)
	id 1tSHeA-0002aO-66; Mon, 30 Dec 2024 10:25:34 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHe6-0002ZD-JF
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:31 -0500
Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHe4-0001kc-Oo
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:30 -0500
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3863703258fso6058590f8f.1
 for <qemu-devel@nongnu.org>; Mon, 30 Dec 2024 07:25:28 -0800 (PST)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-436724169afsm308022965e9.25.2024.12.30.07.25.24
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 30 Dec 2024 07:25:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=linaro.org; s=google; t=1735572326; x=1736177126; 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=OPnjzUL72sgItT6b5Sz5QnXH2c6Pz/4KB/mKuiBnROI=;
 b=qUd0zZKBacdY1lmGuIsKM4/l0lfxqE/GHB5dE6EEkv4YFg4DedG0WWPr4P4FKUPl6G
 ZkwqjwDSP4YXTbaMFFq+F8i1II0EqTHfFGW9c5OvgNmS36RWzN/ZMv4ncVmg2YJsHdMy
 azzrkUYElnaClImEFszv08G9SRCKuVuVrGRlyta4t9S9nxo5FmaVM/E1JFBa/f5dHE6t
 g1NBC7fx8sWtanDfaG8ePqqGIAhbjplldU+K6OIzXN9kdW5aZ/oKdDkF5/xGVRzcfFVK
 qwhCuqzBBTLdhPzlYAWTUpWtV4EHUTYTL/xoI/n8Lv0csIQQvV7T7XNGiRmzTKo7/8wM
 eu2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1735572326; x=1736177126;
 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=OPnjzUL72sgItT6b5Sz5QnXH2c6Pz/4KB/mKuiBnROI=;
 b=FGHQoqPmsRKnbH4LGSX3molyV2KH9tPEa12qk4OFDs2c71dSfaUyC+FRJhvDRRFqZo
 KAbbziN+Af0Dw/NEMgXRspQL+yysu7EP8V7/7TWUqnkdrZEkxU08oQm7B6IC+N3suAjv
 tuBb9h2S5HVgeKNll3Nx/NiOZaIBEped+uRSt5EWUDosTI38sEncjDmLGIh+KC0EeSgD
 8jC17WhwBpHh0KIdsvlvntJ68KMXxQSiEFXEbk21VEH7EIHJlUcXm/TuWtvxjTpHlt8j
 Ftw/dg0w/awKj6oTWu2YUXqMOrHWc2DOJpI7rY1X2DLFdAnifFRsS/KAHOkxe1iFveMW
 t7dA==
X-Gm-Message-State: AOJu0YwWLRpqVZGzf5ePvQReo1p40S/H2JdDUwOh0RaHJvLo29Z4ZK/2
 yzbTnNoW2PKdLJ77IQwtp73E+LLQggSRIM7frkKDQHFXWJ1JwbVjg369GJHK0yB3ratTkmE6LyQ
 c
X-Gm-Gg: ASbGncvv38Om/amxFHzgPgU8bZ21ipNZnydp+4WFexoa6GILJ8ATxFRmRt7+lmkYQYC
 7ClawL1SYT8pQdlzTxgnQVKqBYSaelN+GWcVL7UpAm2IZ3aWl4xASyNYJOuL/xlxOSb5kpq/lOH
 7ZWVfzaBUJR9wtk37544Aji5M7RehVYP8+JMRtyKlpeDsXPO0Z73BWGajLPcA16zPWHfm0FLEuM
 4KtAGmROl9vaorI0Ccf0+LcfnRmd9fnApcv+23SGEiXH1l0H3zBmH073Oo41yQkG6VA6ZhvTBvE
 Att7PEPRKzQt3dRjv8LA30/2s2wXuv4=
X-Google-Smtp-Source: 
 AGHT+IGV165AGx+em2NSOIDMA4X2sI7wuneVYzGfxTGrMoPVau29FqpcjyMTzO6uF8Zqn0uMSzWxWg==
X-Received: by 2002:a5d:6d03:0:b0:386:3213:5b80 with SMTP id
 ffacd0b85a97d-38a1a274920mr32626591f8f.24.1735572326433;
 Mon, 30 Dec 2024 07:25:26 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>,
 =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH v3 1/5] target/hppa: Convert hppa_cpu_init() to ResetHold
 handler
Date: Mon, 30 Dec 2024 16:25:15 +0100
Message-ID: <20241230152519.86291-2-philmd@linaro.org>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <20241230152519.86291-1-philmd@linaro.org>
References: <20241230152519.86291-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17
 as permitted sender) client-ip=209.51.188.17;
 envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org;
 helo=lists.gnu.org;
Received-SPF: pass client-ip=2a00:1450:4864:20::430;
 envelope-from=philmd@linaro.org; helo=mail-wr1-x430.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: <qemu-devel.nongnu.org>
List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>
List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel>
List-Post: <mailto:qemu-devel@nongnu.org>
List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help>
List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=subscribe>
Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org
Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org
X-ZohoMail-DKIM: pass (identity @linaro.org)
X-ZM-MESSAGEID: 1735572392931019100

From: Helge Deller <deller@gmx.de>

hppa_cpu_initfn() is called once when a HPPA CPU instance is
initialized, but it sets fields which should be set each time
a CPU resets. Rename it as a reset handler, having it matching
the ResettablePhases::hold() signature, and register it as
ResettableClass handler.

Since on reset the CPU registers and TLB entries are expected
to be zero, add a memset() call clearing CPUHPPAState up to
the &end_reset_fields marker.

Signed-off-by: Helge Deller <deller@gmx.de>
Co-developed-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
---
 target/hppa/cpu.h |  5 +++++
 target/hppa/cpu.c | 14 ++++++++++++--
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/target/hppa/cpu.h b/target/hppa/cpu.h
index 22a6510e087..c1d69c1a835 100644
--- a/target/hppa/cpu.h
+++ b/target/hppa/cpu.h
@@ -263,6 +263,9 @@ typedef struct CPUArchState {
     IntervalTreeRoot tlb_root;
=20
     HPPATLBEntry tlb[HPPA_TLB_ENTRIES];
+
+    /* Fields up to this point are cleared by a CPU reset */
+    struct {} end_reset_fields;
 } CPUHPPAState;
=20
 /**
@@ -281,6 +284,7 @@ struct ArchCPU {
 /**
  * HPPACPUClass:
  * @parent_realize: The parent class' realize handler.
+ * @parent_phases: The parent class' reset phase handlers.
  *
  * An HPPA CPU model.
  */
@@ -288,6 +292,7 @@ struct HPPACPUClass {
     CPUClass parent_class;
=20
     DeviceRealize parent_realize;
+    ResettablePhases parent_phases;
 };
=20
 #include "exec/cpu-all.h"
diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c
index 47d01609557..d784bcdd602 100644
--- a/target/hppa/cpu.c
+++ b/target/hppa/cpu.c
@@ -193,13 +193,20 @@ static void hppa_cpu_realizefn(DeviceState *dev, Erro=
r **errp)
     tcg_cflags_set(cs, CF_PCREL);
 }
=20
-static void hppa_cpu_initfn(Object *obj)
+static void hppa_cpu_reset_hold(Object *obj, ResetType type)
 {
+    HPPACPUClass *scc =3D HPPA_CPU_GET_CLASS(obj);
     CPUState *cs =3D CPU(obj);
     HPPACPU *cpu =3D HPPA_CPU(obj);
     CPUHPPAState *env =3D &cpu->env;
=20
+    if (scc->parent_phases.hold) {
+        scc->parent_phases.hold(obj, type);
+    }
     cs->exception_index =3D -1;
+
+    memset(env, 0, offsetof(CPUHPPAState, end_reset_fields));
+
     cpu_hppa_loaded_fr0(env);
     cpu_hppa_put_psw(env, PSW_W);
 }
@@ -242,10 +249,14 @@ static void hppa_cpu_class_init(ObjectClass *oc, void=
 *data)
     DeviceClass *dc =3D DEVICE_CLASS(oc);
     CPUClass *cc =3D CPU_CLASS(oc);
     HPPACPUClass *acc =3D HPPA_CPU_CLASS(oc);
+    ResettableClass *rc =3D RESETTABLE_CLASS(oc);
=20
     device_class_set_parent_realize(dc, hppa_cpu_realizefn,
                                     &acc->parent_realize);
=20
+    resettable_class_set_parent_phases(rc, NULL, hppa_cpu_reset_hold, NULL,
+                                       &acc->parent_phases);
+
     cc->class_by_name =3D hppa_cpu_class_by_name;
     cc->has_work =3D hppa_cpu_has_work;
     cc->mmu_index =3D hppa_cpu_mmu_index;
@@ -269,7 +280,6 @@ static const TypeInfo hppa_cpu_type_infos[] =3D {
         .parent =3D TYPE_CPU,
         .instance_size =3D sizeof(HPPACPU),
         .instance_align =3D __alignof(HPPACPU),
-        .instance_init =3D hppa_cpu_initfn,
         .abstract =3D false,
         .class_size =3D sizeof(HPPACPUClass),
         .class_init =3D hppa_cpu_class_init,
--=20
2.47.1


From nobody Thu May  1 18:03:57 2025
Delivered-To: importer@patchew.org
Authentication-Results: mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass(p=none dis=none)  header.from=linaro.org
ARC-Seal: i=1; a=rsa-sha256; t=1735572390; cv=none;
	d=zohomail.com; s=zohoarc;
	b=V2nuSyDxK4/bwrM0DVVrZ07qyTrZSe9mqIvKzed1iNNWcdmlzVFAVfga7ny/99vsV30+boRCnU1zhMThEJQjr5HSUA3IjftPYPHF1tDtoTaPqiIGJXKEKUhoqPFddZogxjvNm/rN5fGffFpy1WQY3/XyKicIy1C0JV/WAQn+guM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc;
	t=1735572390;
 h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To;
	bh=GAtXelESZqP9EpLglyIc26IsQk/mXnYos/ye7zC5LFE=;
	b=klFeF4SQn8hP0tkhpUdf5vil3JClPGDU7lIC3y2XfhNqTT6YHnXY1JwfJllBUM9A+4Qv+vvZ9niiGKNU0l7nMUjyfkayFvEXWgFjxqtsTV1DhA+qx5HQP5iM9l8+tUeJIbInI0BOTLjsKOBCUbw9ZQcCqjLT8iF5flAsSiQN4FE=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass header.from=<philmd@linaro.org> (p=none dis=none)
Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org>
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by
 mx.zohomail.com
	with SMTPS id 1735572390477399.7078028317329;
 Mon, 30 Dec 2024 07:26:30 -0800 (PST)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <qemu-devel-bounces@nongnu.org>)
	id 1tSHeD-0002bM-MH; Mon, 30 Dec 2024 10:25:37 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHeA-0002aY-G2
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:34 -0500
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 <philmd@linaro.org>) id 1tSHe8-0001l5-Tl
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:34 -0500
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43621d27adeso64197915e9.2
 for <qemu-devel@nongnu.org>; Mon, 30 Dec 2024 07:25:32 -0800 (PST)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-38a1c84840asm30283337f8f.61.2024.12.30.07.25.30
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 30 Dec 2024 07:25:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=linaro.org; s=google; t=1735572331; x=1736177131; 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=GAtXelESZqP9EpLglyIc26IsQk/mXnYos/ye7zC5LFE=;
 b=fKbED+iHAeCBO/RUzSyNB0HTk8icBtqHxh3t6pSXjPAAsSSBy/abGFMiLtPDzG934I
 mSXoP2+UExDm1LYWhv8c6rt1ia0YgrOtaAOLfH5tI9hmu/aEu+BSPOhKg0KocMB0KKP9
 oi4D2Z8DSdHT/ZB0U6K6PIn07wsEZ5lA9oY9Iv2WHRxvE0+li5bsSHz0AR0D3anbNK1l
 PSCRd/7qzlGTKa4OySd6yWHHdTX3RmUSQoj4c1sIIZ/uk+xVZRrgkpu5Ws8D/bgLhsOe
 nfzwynCqgD9JpcUH9wBW+2ZWfEjQVzJGQRkr3l8GzSYun+axVOtTc+c538fI8dWl0ZxH
 IiBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1735572331; x=1736177131;
 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=GAtXelESZqP9EpLglyIc26IsQk/mXnYos/ye7zC5LFE=;
 b=rka5uGqUBxEh3FbhT9gs13u7AsOulq7Uge6dlQ5y1EkAsX4O9Rr//sR+2FXz0Mhd5z
 PUA+IKBw+CjcL2PdROGxXAGadtCKIcU46p8zxQndeFbQvj02aL6DtrpIhvXv204ZRBZw
 8Aw/0608EcgCCS43KO5eeOPCCuSoPpGxXIyQbzQ+4rMp0MjKjYHZCUpjhlEK2WbK+IH9
 I4k6LGwtOeo9Wt/jBVScmELOvhEkXrV6B3Pd5uX8O5r6lR1xKg4zb9tlXF74sPu44Gzh
 m6Op1SQ2ob0RzbCOdPX5fLdufCbi5H0N7xuIjsQfjbElcd4lmKjguq6AifxoLYSYaTYk
 qBmA==
X-Gm-Message-State: AOJu0YyEvvc/rt6YHoKq/XmFgBdhihTs8WNNfJFDK49BR1ztW6VFJPVd
 TOqD1Uqu8x15SLKZ5MUiYKyyZnOFs/O2LiFNu9uhEV8h58FiD/24uQArEIBttAX+JQPCPERcZQU
 p
X-Gm-Gg: ASbGncuA4BOHkGSUqJwiDVesulH8wBXpndVQEIYoOrKtM4C695TXCNJWvuOjTtgY/BB
 4RAexCgbLIWTDvlJlE4hcuuro9/PSXulyAi84FjpabA3p8ahbq3fdVXO8UWsdX4qrmCEq2Wy+bn
 UPkLzTJadWsad3jtCK8OQ072HH2IgomPxE+KLH8ywQF23NR5nzwYY/17nwinB7JLzUEIvUHghBb
 1xIE5E7BKQ/66MKshdIwpbZ7O0GfE7Er0KRRZUHdVpTJTKTV8wI0morpp5yHT+FLS4HG7sSEf1D
 KW7eZXBxmAqDWGLDSphtgi8ZmxOETuQ=
X-Google-Smtp-Source: 
 AGHT+IHI9+2p8U6mmafyYGc9fI3EOpQrSvGCHTuMoo9xsrWiQwSS/ftftGsY3ybfGjpNM7DC8mBdrg==
X-Received: by 2002:a05:600c:1c91:b0:434:f219:6b28 with SMTP id
 5b1f17b1804b1-43668b499f6mr272074075e9.24.1735572331112;
 Mon, 30 Dec 2024 07:25:31 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>,
 =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH v3 2/5] hw/hppa: Reset vCPUs calling resettable_reset()
Date: Mon, 30 Dec 2024 16:25:16 +0100
Message-ID: <20241230152519.86291-3-philmd@linaro.org>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <20241230152519.86291-1-philmd@linaro.org>
References: <20241230152519.86291-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17
 as permitted sender) client-ip=209.51.188.17;
 envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org;
 helo=lists.gnu.org;
Received-SPF: pass client-ip=2a00:1450:4864:20::329;
 envelope-from=philmd@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=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: <qemu-devel.nongnu.org>
List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>
List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel>
List-Post: <mailto:qemu-devel@nongnu.org>
List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help>
List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=subscribe>
Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org
Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org
X-ZohoMail-DKIM: pass (identity @linaro.org)
X-ZM-MESSAGEID: 1735572390804019100

From: Helge Deller <deller@gmx.de>

Rather than manually (and incompletely) resetting vCPUs,
call resettable_reset() which will fully reset the vCPUs.
Remove redundant assignations.

Signed-off-by: Helge Deller <deller@gmx.de>
Co-developed-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
---
 hw/hppa/machine.c | 6 +++---
 target/hppa/cpu.c | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index 65259308e2e..8230f43e41c 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -655,12 +655,12 @@ static void hppa_machine_reset(MachineState *ms, Rese=
tType type)
     for (i =3D 0; i < smp_cpus; i++) {
         CPUState *cs =3D CPU(cpu[i]);
=20
+        /* reset CPU */
+        resettable_reset(OBJECT(cs), RESET_TYPE_COLD);
+
         cpu_set_pc(cs, firmware_entry);
         cpu[i]->env.psw =3D PSW_Q;
         cpu[i]->env.gr[5] =3D CPU_HPA + i * 0x1000;
-
-        cs->exception_index =3D -1;
-        cs->halted =3D 0;
     }
=20
     /* already initialized by machine_hppa_init()? */
diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c
index d784bcdd602..41538d39d62 100644
--- a/target/hppa/cpu.c
+++ b/target/hppa/cpu.c
@@ -204,6 +204,7 @@ static void hppa_cpu_reset_hold(Object *obj, ResetType =
type)
         scc->parent_phases.hold(obj, type);
     }
     cs->exception_index =3D -1;
+    cs->halted =3D 0;
=20
     memset(env, 0, offsetof(CPUHPPAState, end_reset_fields));
=20
--=20
2.47.1


From nobody Thu May  1 18:03:57 2025
Delivered-To: importer@patchew.org
Authentication-Results: mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass(p=none dis=none)  header.from=linaro.org
ARC-Seal: i=1; a=rsa-sha256; t=1735572415; cv=none;
	d=zohomail.com; s=zohoarc;
	b=P2wYsyF6zNjRXOMNumiPeyZEMJ6VGXWj/bkd2wQTeRSoywKQCY7XiU4WBgfSBoGPQuIRzl1kJvb0KbqOJ0ql3AmFHnzoBjnsJeVs68GKmM4RY6w4cOQwTypTGYwlnZMAeRAHTo4vy1X2TBceZYFKl2DYP4qsUxBmR89FUTqxo3M=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc;
	t=1735572415;
 h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To;
	bh=oAHxB+c8xZt/u0R303DHDB7l0FIhppIYTKedrojbFg8=;
	b=dxKgCjVlc887sp4fpuJLSr/fddWjzII48gyCFvq7sdMdy9T3ZGuHz+IMfJkTUqBAoy/SQS5iCwj+JKpS6oX5unIIGTUevVPMgUkKtUM/iPVFW0tumOa33kWVEZWGe+2o/bIdEdjhR5m55snQUSn18xUF5KVymNRbIkTOiS66Z4E=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass header.from=<philmd@linaro.org> (p=none dis=none)
Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org>
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by
 mx.zohomail.com
	with SMTPS id 1735572415919471.90291099996773;
 Mon, 30 Dec 2024 07:26:55 -0800 (PST)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <qemu-devel-bounces@nongnu.org>)
	id 1tSHeL-0002fM-0j; Mon, 30 Dec 2024 10:25:45 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHeH-0002en-Fg
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:41 -0500
Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHeE-0001lm-UH
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:40 -0500
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-385eed29d17so4490673f8f.0
 for <qemu-devel@nongnu.org>; Mon, 30 Dec 2024 07:25:38 -0800 (PST)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-38a1c833149sm30022287f8f.39.2024.12.30.07.25.34
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 30 Dec 2024 07:25:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=linaro.org; s=google; t=1735572337; x=1736177137; 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=oAHxB+c8xZt/u0R303DHDB7l0FIhppIYTKedrojbFg8=;
 b=Hn24EyGoVCSmBoYGk2S4QC+7zg/xRe6MogW2eYTIrKKF4uK0LsZwWvWDpbHAQYTKfT
 eigF3i9imNtlPSqrIgSrEPWlHhbLj/Zb16s9rhFkcgPIqCf6Naxj+qfSP/2uVPj/qUQU
 JVa7v1mL9OU5xvJBB0PIJMi10nWtFmbf+O6Q7l+KZCLXfFtP2f2ld1n5bMzQd5cEXjYW
 D3Y1MVuQTJE7OpQPpSRMKPQmH1oofwNXpghKejGRiYkJsOBCCrERKKmlvU6JxAo7vamR
 mw/C/Mqxymr/4O5b2Awt5ajiIrVT8umxejoCJk4XwlR3cNGwXEI3KyrOUgrov4dEfXl4
 uuqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1735572337; x=1736177137;
 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=oAHxB+c8xZt/u0R303DHDB7l0FIhppIYTKedrojbFg8=;
 b=auTsln8trpDCLWVFdK2VuSjlJzLyFrayuJkg1vrYFV8ZfBjTThp34URTvJlYN1CuF6
 D1movhvfA0T5qjYN6Z0NgP6YVXsTNRlqInRK1FYSkLZfe/4cjCS07QBPqifkzfABXjtk
 MV8oiJplQXEV1oE5mFVe96tnRjDbbnzscklzu/rMMlnWWY7YzUHZZpkfoDzyZBtbDSAy
 rvQ6LvNxdqLu8/QKv6pyWxv/8OehmO9byJOjHCc9bw9XUdZaOrl40y3RBrzHvIch3/u8
 Lpn86uY4+tZ6rLPrCrGxXrQCx+GQjGsfDjZA9ZmQ6SLm30dEusDhafLQbTQZEp6JLoWv
 Zy2A==
X-Gm-Message-State: AOJu0YwJNvUMMictyRfeCuAPj5QghwiOYEYDNW5qXnWCDFz/sMGADlQQ
 k9LT23gP4UNQE/DRrbSMv+zpeXhBmOKdC+rWB/TgdIuvs6P6Qv70qdsVe4wCYV14nzwtwjmhgRO
 y
X-Gm-Gg: ASbGncsjqNrZQJlhcw5ECxoc2+W9HoFQUOlu5E9iT9n/SOWKUfz4b8wb0MAKKBx+8xj
 uQMHGOGoOix3IAjT4VLH4mPrI/92954PQZymUxBftAbzxGeko4teUwhg/d88f6ShY4AubffKUKL
 F6gNyQia+TzN/jkKo0BnyxQmv6BxYe0r51xmJhuDRMNmSTBAKrIm+d02nWSnajZMPx67u90C4ji
 VHXxHxYWkaIhDJ2RLMhNSU+hX/tElOQ6+AjcqRTbFXIbH2XKJwoEgJzoWybob5q7jIsG5noeFyV
 k5HIlcVGWf1z/FPgLBbTRSB/fsi2j0I=
X-Google-Smtp-Source: 
 AGHT+IFyVOPQuzvesGaSgepM8ATCxdSI/4AjAf36iwpayHRhTusBblFaMWAOGm674t2nnkQV/xTApw==
X-Received: by 2002:a5d:47c8:0:b0:385:f677:859b with SMTP id
 ffacd0b85a97d-38a221e2fb4mr33139769f8f.10.1735572335645;
 Mon, 30 Dec 2024 07:25:35 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>,
 =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH v3 3/5] target/hppa: Only set PSW 'M' bit on reset
Date: Mon, 30 Dec 2024 16:25:17 +0100
Message-ID: <20241230152519.86291-4-philmd@linaro.org>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <20241230152519.86291-1-philmd@linaro.org>
References: <20241230152519.86291-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17
 as permitted sender) client-ip=209.51.188.17;
 envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org;
 helo=lists.gnu.org;
Received-SPF: pass client-ip=2a00:1450:4864:20::433;
 envelope-from=philmd@linaro.org; helo=mail-wr1-x433.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: <qemu-devel.nongnu.org>
List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>
List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel>
List-Post: <mailto:qemu-devel@nongnu.org>
List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help>
List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=subscribe>
Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org
Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org
X-ZohoMail-DKIM: pass (identity @linaro.org)
X-ZM-MESSAGEID: 1735572416927019100

On reset:

  "All PSW bits except the M bit is reset. The M bit is set."

Commit 1a19da0da44 ("target/hppa: Fill in hppa_cpu_do_interrupt /
hppa_cpu_exec_interrupt") inadvertently set the W bit at RESET,
remove it and set the M bit.

Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
---
Only tested using QEMU mainstream test suite, IOW not much.
---
 target/hppa/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c
index 41538d39d62..dbd46842841 100644
--- a/target/hppa/cpu.c
+++ b/target/hppa/cpu.c
@@ -209,7 +209,7 @@ static void hppa_cpu_reset_hold(Object *obj, ResetType =
type)
     memset(env, 0, offsetof(CPUHPPAState, end_reset_fields));
=20
     cpu_hppa_loaded_fr0(env);
-    cpu_hppa_put_psw(env, PSW_W);
+    cpu_hppa_put_psw(env, PSW_M);
 }
=20
 static ObjectClass *hppa_cpu_class_by_name(const char *cpu_model)
--=20
2.47.1


From nobody Thu May  1 18:03:57 2025
Delivered-To: importer@patchew.org
Authentication-Results: mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass(p=none dis=none)  header.from=linaro.org
ARC-Seal: i=1; a=rsa-sha256; t=1735572385; cv=none;
	d=zohomail.com; s=zohoarc;
	b=BqCP4VDUT/QafFSH2FHVPrOIiQR1wUdRHFE6ORPST8ZNXZZeuKiZiLpUm0cxt124VTngi8wu1zmGQXUtIDHtRMIhgADly6vasKk4kyA2Wj6HE6WgEBux5h9lpWwFhf5a6uTewjc6qD0u3frfbWdwEAVmmdIWRH5gNx6XzxYzKfs=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc;
	t=1735572385;
 h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To;
	bh=b7UfBZMFotuOZuG+02/D0eezoHBGpYOKCSHoS+es9Cw=;
	b=h5YdFKfyKolG0F6padqg4NPlSkmOhZ6SOyTRuQJRE8OU7pgGHdImc4Wi4xDLjdPbknSd5Tytan9BQiKz4dMdWKoAdzEogrtrfD7ylHrj/3lpWXavaxc366vF1gvzB6ZfJBf3fxoYaMam4LTQcghVg18QO0VYOT4jEaQo9f2Rr7g=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass header.from=<philmd@linaro.org> (p=none dis=none)
Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org>
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by
 mx.zohomail.com
	with SMTPS id 1735572385550667.9996699240328;
 Mon, 30 Dec 2024 07:26:25 -0800 (PST)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <qemu-devel-bounces@nongnu.org>)
	id 1tSHeM-0002fn-7A; Mon, 30 Dec 2024 10:25:46 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHeJ-0002fC-Hv
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:43 -0500
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 <philmd@linaro.org>) id 1tSHeI-0001m0-53
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:43 -0500
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-385e2880606so6878032f8f.3
 for <qemu-devel@nongnu.org>; Mon, 30 Dec 2024 07:25:41 -0800 (PST)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43661219578sm362694145e9.20.2024.12.30.07.25.39
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 30 Dec 2024 07:25:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=linaro.org; s=google; t=1735572340; x=1736177140; 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=b7UfBZMFotuOZuG+02/D0eezoHBGpYOKCSHoS+es9Cw=;
 b=d0VLbsNebUrocGqM6HxbmUTq9Nw4E4/sAq21fWjnb2mri4ID92FoFzVVORvrEPa3Zc
 OW7y2swogwIf3qMOC1oiwFVaNibLEpCRQ9iPWAAKetagrQcCfcWHwEZkKrJy7W17Tbdz
 LIef2HFDMxBJsU5UGGA7JP1oSBVhn9WeEGYmlwgLpWkzg8aq0RXT3DpAmtpeEcwHBZVF
 miXy9qsb5OdsA6xa0wL36JNrQYzLboPom2/uUkYPocIzJKr7Te2BxViJtPMAnORdGK/g
 YCePAk5ujLwey/lyU/Sg+NAIVqr2+ZpXRkKqME4Vp3+P+NONXJMe1aya7c47LnXzN0H2
 0mRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1735572340; x=1736177140;
 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=b7UfBZMFotuOZuG+02/D0eezoHBGpYOKCSHoS+es9Cw=;
 b=I1iu35wOGIc+rpyc/iGCEerAX7BtrRGd3V551AxUCtr6HzKY5e19UurKDmUQK9UmQk
 zxWm20NH0O6Oar/Wifiy1+5wilpzG7SuE8zOCks3yzFMEUIAaf9RkhkqP0EAVWKq238n
 KxE+LgG4uMj+0Bk8B62RgymxZdd+ZJuyUIpUFPwoOIKT4OBbQdBYpGnnyd8lnav9Gsdy
 27tnBfC+1FQk0pY4NRKdj3FLYlL7c/3oCWozG3OK2LR2NVpMusISX6S74hrN54FFDGQo
 uho4jSM3Ek/QuLyWMKZlTiyRdmV4fcgG8gCPyoIxi8mbd6jUjBcnBGPTcgw54I9kFdra
 BuAQ==
X-Gm-Message-State: AOJu0YyCBKU1N4tzrvgHcxJ3GPkTN0aoh+Mr7nZuAaLyRSTf1E9GTj7I
 ghXDsmi9RugARoWKFEKr3m/P3lxQpz0vx68eUFmYCjHFLF/lCKM5b/V8lE+xjOpzMykonFQmoGp
 X
X-Gm-Gg: ASbGnctgLerZM25GxMbeRv+xlRjLHXgudy/FYttf6NPbVjvYNmFWvzdMgvVR1qN9A6b
 4eFUQFLhcWD8c1YyWWDQ92Q0ZoSN75HIDHYtoz1U8DhCg0j1InKF/o44NIxBZIlrpAbxyiCHu5z
 S98l/mgbBEmObDX/bpXbGg5VejNY3CzefS5tUQnIiR5UlduqpNVJMEWvq0N4qNN1/ae1/uQlVF2
 jrfwVSyAgylyCpGU0q5671Ia4k1oqT+qKMV5s1tD+v7rF1LwjsX6xN4MLk/6yd3hh04tYoA1xGK
 K4iC2y1Yp8bxpbRplWstSw1HWenVjLA=
X-Google-Smtp-Source: 
 AGHT+IF2UaBPzUY67I2A2kJnHlE8ymWd5wTeemDomaGzNJpgbJHBtgowIXFzo+t87pU0CUTceCDo+Q==
X-Received: by 2002:a05:6000:1a89:b0:382:3959:f429 with SMTP id
 ffacd0b85a97d-38a221e242emr36140179f8f.5.1735572340209;
 Mon, 30 Dec 2024 07:25:40 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>,
 =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH v3 4/5] target/hppa: Set PC on vCPU reset
Date: Mon, 30 Dec 2024 16:25:18 +0100
Message-ID: <20241230152519.86291-5-philmd@linaro.org>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <20241230152519.86291-1-philmd@linaro.org>
References: <20241230152519.86291-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17
 as permitted sender) client-ip=209.51.188.17;
 envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org;
 helo=lists.gnu.org;
Received-SPF: pass client-ip=2a00:1450:4864:20::42f;
 envelope-from=philmd@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=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: <qemu-devel.nongnu.org>
List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>
List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel>
List-Post: <mailto:qemu-devel@nongnu.org>
List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help>
List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=subscribe>
Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org
Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org
X-ZohoMail-DKIM: pass (identity @linaro.org)
X-ZM-MESSAGEID: 1735572386892019100

From: Helge Deller <deller@gmx.de>

On reset:

  "The CPU begins fetching instructions from address 0xf0000004.
   This address is in PDC space."

Switch vCPUs to 32-bit mode (PSW_W bit is not set) and start
execution at address 0xf0000004.

Signed-off-by: Helge Deller <deller@gmx.de>
Co-developed-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
---
 target/hppa/cpu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c
index dbd46842841..7278b7ca6b5 100644
--- a/target/hppa/cpu.c
+++ b/target/hppa/cpu.c
@@ -205,6 +205,7 @@ static void hppa_cpu_reset_hold(Object *obj, ResetType =
type)
     }
     cs->exception_index =3D -1;
     cs->halted =3D 0;
+    cpu_set_pc(cs, 0xf0000004);
=20
     memset(env, 0, offsetof(CPUHPPAState, end_reset_fields));
=20
--=20
2.47.1


From nobody Thu May  1 18:03:57 2025
Delivered-To: importer@patchew.org
Authentication-Results: mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass(p=none dis=none)  header.from=linaro.org
ARC-Seal: i=1; a=rsa-sha256; t=1735572402; cv=none;
	d=zohomail.com; s=zohoarc;
	b=WDTQRBlFD9y6/pigs7aE1kY0HHSXpvNzDQjfikoHHl/4nS8Q7IW/wQF8KaZWgcji9sbDS7y0WD2Yv0bjcnbIT7SVQ/6efInKENCCTTpJfBZaCoBIlZkcoUMEsRIWh659JH50jfvfwasQL8C7Zvw1XC7wq15iZtQYKXL4E8wO6Dg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc;
	t=1735572402;
 h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To;
	bh=+fA5or/bmCnhWrsP/slJI6ViiWLeMfeymomX0gA+oig=;
	b=F79f53rCIlksja0W+ONCe25RUc/4ppzSyl1ysS7Sg/mGadmXW8kZ97lrS7hnkmy8IOqBeWoyoLW3nFyErhtINkXtdsffUa+UIMs3kU2VfZZLymleJUhyslYiLGO5n0IjTDSNLdADsIxVUssvvx0AtvPrAWCzxY3U2P9yjygEulc=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass;
	spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as
 permitted sender)
  smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org;
	dmarc=pass header.from=<philmd@linaro.org> (p=none dis=none)
Return-Path: <qemu-devel-bounces+importer=patchew.org@nongnu.org>
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by
 mx.zohomail.com
	with SMTPS id 1735572402569590.8084112144263;
 Mon, 30 Dec 2024 07:26:42 -0800 (PST)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <qemu-devel-bounces@nongnu.org>)
	id 1tSHeP-0002gU-Iq; Mon, 30 Dec 2024 10:25:49 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHeO-0002gE-Ac
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:48 -0500
Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <philmd@linaro.org>) id 1tSHeM-0001mJ-Pj
 for qemu-devel@nongnu.org; Mon, 30 Dec 2024 10:25:48 -0500
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-385de9f789cso7008127f8f.2
 for <qemu-devel@nongnu.org>; Mon, 30 Dec 2024 07:25:46 -0800 (PST)
Received: from localhost.localdomain (88-187-86-199.subs.proxad.net.
 [88.187.86.199]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43656b119b6sm395923675e9.22.2024.12.30.07.25.44
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 30 Dec 2024 07:25:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=linaro.org; s=google; t=1735572345; x=1736177145; 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=+fA5or/bmCnhWrsP/slJI6ViiWLeMfeymomX0gA+oig=;
 b=dbEnYA88SwY4gIOEfiYaPos89A7Ai5fYE8RRpIoxOlWrKXRUCC9BXKeFb6N9Ym3EkM
 /39NrVWHqDYmb1xsmN16wX2OEl3RH30A/lw2xrIlb3K+fmwydY7NAD7Lm4pj/L7tWpPc
 aNmDgxHUpTZkDMbmuz6pItXJ4a10xNdWuLYyGKO41hSGCYZEmM4/+DqRRwfLj9h6rSbX
 oMxEmZ6C3+MkT39vpn98Wq0wYpKXm2QeGXQe8+QZL2JDolVbJnKn127YQv41JOfSWVC8
 4aoVdJxEz7wrYQBBlMjz/ScbKP8J//TmgeR8dIYMXRB0EAryTALQ6kykxBu0m2XlSvRr
 sFnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1735572345; x=1736177145;
 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=+fA5or/bmCnhWrsP/slJI6ViiWLeMfeymomX0gA+oig=;
 b=KUUQ6ktTIW0eHCoQAjuikHdmCCEhW+x5ydkdD0xnJatZXhESy0awnHrtJvIxXuorA4
 c4kCHHRwrMvdAXcocktFpqQnwAc3WUDIHkEdrtLeUlJQ/gXEymrXd6k7U+/F5jG6gT5i
 U0NqV2oTDoPE7ZBTaMj1w209EpU8QOY1IZz10p+S27MI+rYxy2x9uVIyr3DnoxMNzmK/
 5NpXcHU6JNI3EgrEfEHw7sXWy6WuhgQCO2Z+Ce2c048qZRjMy6lPzPyLAsQdwQKhfI8k
 hULQQBjLs8CHOKrUZuRKarsEPiViUWNQd/ioVcaCU8v81P5xdK4ht001NZTUxUYiM6qy
 hLCA==
X-Gm-Message-State: AOJu0YxbXlqYLKsroSnGmCThx2CO9cyJumzwmf6AS+iVbQIKwHhazEad
 uBoudpniSW8bFVw5lnkZRE1FCpNFANsDTmZJr9hx/NhrHfYTDzX/Uo1dBydKoZllo+MpxioRkUV
 l
X-Gm-Gg: ASbGnctm/2yzV9EeZAfvYnq+z4jL+kzoySYGO+t2jV+HP9qeZQmHBW0JIwReGBAmCiQ
 KfOGwfO75QoIkEofF0wcRN+DOuIi0oqGL5WR90ScWt1s1qK12maVLenfe+PpnJFAfr3S/5YPC1g
 QdmQfnrHSL2c+qsUHjTXsRGmxR4jESK0xaZVyc8KJLoiEla6lg5d5SXvboYF/h1D8kKKFw+WUuW
 RH7+e0jLe9JMbtX+1iempYFkDrrILH9mIzsqzLf0MTbKZy5WffzCCzPEVjeK2+ambavsCL5dEZB
 W9jvCerYmRG7o1J4OV49iyGVmHn/DAY=
X-Google-Smtp-Source: 
 AGHT+IEWPX06gFkgWicr2nFcPuD1dTE3BoJPCJ7tWyVuRYfY2RU/YEx8p/mM5kRbZLG8jbfgqOaqYQ==
X-Received: by 2002:a5d:47af:0:b0:385:f10a:335 with SMTP id
 ffacd0b85a97d-38a221face5mr28963025f8f.21.1735572344829;
 Mon, 30 Dec 2024 07:25:44 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>,
 =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH v3 5/5] target/hppa: Speed up hppa_is_pa20()
Date: Mon, 30 Dec 2024 16:25:19 +0100
Message-ID: <20241230152519.86291-6-philmd@linaro.org>
X-Mailer: git-send-email 2.47.1
In-Reply-To: <20241230152519.86291-1-philmd@linaro.org>
References: <20241230152519.86291-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17
 as permitted sender) client-ip=209.51.188.17;
 envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org;
 helo=lists.gnu.org;
Received-SPF: pass client-ip=2a00:1450:4864:20::432;
 envelope-from=philmd@linaro.org; helo=mail-wr1-x432.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: <qemu-devel.nongnu.org>
List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>
List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel>
List-Post: <mailto:qemu-devel@nongnu.org>
List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help>
List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>,
 <mailto:qemu-devel-request@nongnu.org?subject=subscribe>
Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org
Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org
X-ZohoMail-DKIM: pass (identity @linaro.org)
X-ZM-MESSAGEID: 1735572402876019100

From: Helge Deller <deller@gmx.de>

Although the hppa_is_pa20() helper is costly due to string comparisons
in object_dynamic_cast(), it is called quite often during memory lookups
and at each start of a block of instruction translations.
Speed hppa_is_pa20() up by calling object_dynamic_cast() only once at
CPU creation and store the result in the is_pa20 of struct CPUArchState.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[PMD: Have hppa_is_pa20() take a const argument]
Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
---
 target/hppa/cpu.h | 6 ++++--
 target/hppa/cpu.c | 2 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/target/hppa/cpu.h b/target/hppa/cpu.h
index c1d69c1a835..083d4f5a56a 100644
--- a/target/hppa/cpu.h
+++ b/target/hppa/cpu.h
@@ -266,6 +266,8 @@ typedef struct CPUArchState {
=20
     /* Fields up to this point are cleared by a CPU reset */
     struct {} end_reset_fields;
+
+    bool is_pa20;
 } CPUHPPAState;
=20
 /**
@@ -297,9 +299,9 @@ struct HPPACPUClass {
=20
 #include "exec/cpu-all.h"
=20
-static inline bool hppa_is_pa20(CPUHPPAState *env)
+static inline bool hppa_is_pa20(const CPUHPPAState *env)
 {
-    return object_dynamic_cast(OBJECT(env_cpu(env)), TYPE_HPPA64_CPU) !=3D=
 NULL;
+    return env->is_pa20;
 }
=20
 static inline int HPPA_BTLB_ENTRIES(CPUHPPAState *env)
diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c
index 7278b7ca6b5..6e5434a8e99 100644
--- a/target/hppa/cpu.c
+++ b/target/hppa/cpu.c
@@ -209,6 +209,8 @@ static void hppa_cpu_reset_hold(Object *obj, ResetType =
type)
=20
     memset(env, 0, offsetof(CPUHPPAState, end_reset_fields));
=20
+    env->is_pa20 =3D !!object_dynamic_cast(obj, TYPE_HPPA64_CPU);
+
     cpu_hppa_loaded_fr0(env);
     cpu_hppa_put_psw(env, PSW_M);
 }
--=20
2.47.1