From nobody Tue Feb 10 02:00:20 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1553512905598368.8908416705581; Mon, 25 Mar 2019 04:21:45 -0700 (PDT) Received: from localhost ([127.0.0.1]:40801 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h8Nfi-0003b6-JC for importer@patchew.org; Mon, 25 Mar 2019 07:21:42 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58903) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h8NNl-0005bF-CW for qemu-devel@nongnu.org; Mon, 25 Mar 2019 07:03:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h8NNk-0008Aq-C5 for qemu-devel@nongnu.org; Mon, 25 Mar 2019 07:03:09 -0400 Received: from greensocs.com ([193.104.36.180]:38397) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h8NNY-0007tp-3n; Mon, 25 Mar 2019 07:02:58 -0400 Received: from localhost (localhost [127.0.0.1]) by greensocs.com (Postfix) with ESMTP id 67F497D78AA; Mon, 25 Mar 2019 12:02:35 +0100 (CET) Received: from greensocs.com ([127.0.0.1]) by localhost (gs-01.greensocs.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id epywVxpu8TSh; Mon, 25 Mar 2019 12:02:34 +0100 (CET) Received: by greensocs.com (Postfix, from userid 998) id 6AEC97D78AE; Mon, 25 Mar 2019 12:02:32 +0100 (CET) Received: from kouign-amann.bar.greensocs.com (antfield.tima.u-ga.fr [147.171.129.253]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: damien.hedde@greensocs.com) by greensocs.com (Postfix) with ESMTPSA id E5D1F7D788E; Mon, 25 Mar 2019 12:02:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1553511755; bh=CXfPsIgEUI2b9cUTpOeKXwlJ/nJXiIf/2t9JTSfp3NA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ZxUC/V9AzY/0fiRIfb2s4zSh4axNMV4l5NEyROhEkamrVgo97RGKZdy2XOwZtwJBZ qmoRbDx1ZhnSRIsZvEavcrsAnz+6Oec/9n/0NCdeGJPxXwnYIVVYh5JEwM0tqEv+wj Q8m4g0pWVDZpFL8tn9Y1eIDtkIy5R9f6EIp5QsOE= X-Virus-Scanned: amavisd-new at greensocs.com Authentication-Results: gs-01.greensocs.com (amavisd-new); dkim=pass (1024-bit key) header.d=greensocs.com header.b=2WVHL11X; dkim=pass (1024-bit key) header.d=greensocs.com header.b=VmYGWQen DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1553511753; bh=CXfPsIgEUI2b9cUTpOeKXwlJ/nJXiIf/2t9JTSfp3NA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=2WVHL11XqSsufurGRq6FKbbCiPNR8gqT5IZ56DbbIaUH3+hktVXx0MwwJrq69nq/4 byMqCBeyP08YoT4BFPohujZh6UEx83WXF7IdvuUmqZ+oc7Syd+w9aqe9k0Xa2OFnEU CydOBQL3ZkrCi97NkujboW2RRnfJ/7qhURTLO9Vw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1553511752; bh=CXfPsIgEUI2b9cUTpOeKXwlJ/nJXiIf/2t9JTSfp3NA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=VmYGWQenEkLE+w1Wc9fzSe7x1OZFZYDJuZTHMMVZxBHFXc45G0jmKFyoOLb//sT38 KaXHpPFHZKrw5Nmbg0GhT8sQdW6sOux8nNA4VwSYFYBr0UzW8Et2PoEn5hpRIENo3E kztrVmrx7HRXre2KwsmYOUHMGZ03qwfhO8r/wyuY= From: Damien Hedde To: qemu-devel@nongnu.org Date: Mon, 25 Mar 2019 12:01:58 +0100 Message-Id: X-Mailer: git-send-email 2.21.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 193.104.36.180 Subject: [Qemu-devel] [RFC PATCH 15/17] Convert zynq's slcr to 3-phases reset X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org, mark.burton@greensocs.com, Damien Hedde , qemu-arm@nongnu.org, alistair.francis@wdc.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, philmd@redhat.com, luc.michel@greensocs.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 3 invalid signatures) Content-Type: text/plain; charset="utf-8" Change the legacy reset function into the init phase and test the resetting flag in register accesses. Signed-off-by: Damien Hedde Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/zynq_slcr.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/hw/misc/zynq_slcr.c b/hw/misc/zynq_slcr.c index baa13d1316..47f43e1d8d 100644 --- a/hw/misc/zynq_slcr.c +++ b/hw/misc/zynq_slcr.c @@ -180,9 +180,9 @@ typedef struct ZynqSLCRState { uint32_t regs[ZYNQ_SLCR_NUM_REGS]; } ZynqSLCRState; =20 -static void zynq_slcr_reset(DeviceState *d) +static void zynq_slcr_reset_init(Object *obj, bool cold) { - ZynqSLCRState *s =3D ZYNQ_SLCR(d); + ZynqSLCRState *s =3D ZYNQ_SLCR(obj); int i; =20 DB_PRINT("RESET\n"); @@ -346,6 +346,10 @@ static uint64_t zynq_slcr_read(void *opaque, hwaddr of= fset, offset /=3D 4; uint32_t ret =3D s->regs[offset]; =20 + if (qdev_is_resetting((DeviceState *) opaque)) { + return 0; + } + if (!zynq_slcr_check_offset(offset, true)) { qemu_log_mask(LOG_GUEST_ERROR, "zynq_slcr: Invalid read access to " " addr %" HWADDR_PRIx "\n", offset * 4); @@ -361,6 +365,10 @@ static void zynq_slcr_write(void *opaque, hwaddr offse= t, ZynqSLCRState *s =3D (ZynqSLCRState *)opaque; offset /=3D 4; =20 + if (qdev_is_resetting((DeviceState *) opaque)) { + return; + } + DB_PRINT("addr: %08" HWADDR_PRIx " data: %08" PRIx64 "\n", offset * 4,= val); =20 if (!zynq_slcr_check_offset(offset, false)) { @@ -441,7 +449,7 @@ static void zynq_slcr_class_init(ObjectClass *klass, vo= id *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->vmsd =3D &vmstate_zynq_slcr; - dc->reset =3D zynq_slcr_reset; + dc->reset_phases.init =3D zynq_slcr_reset_init; } =20 static const TypeInfo zynq_slcr_info =3D { --=20 2.21.0