From nobody Mon Feb 9 01:00:57 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; 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 ARC-Seal: i=1; a=rsa-sha256; t=1579475443; cv=none; d=zohomail.com; s=zohoarc; b=Q6h6cGpT13pqsw33OM/c8i1SQvm2Zx4e5yrFqYATGcUaSz8Od4iKkOY/bNB+r3l1LSFmyl70znPSjQvA2Lyga4x2Jzzea7knsiNc4wzXuYPDcBUp/9P8scHAdiKVfntwbBMQfmcYYyCipsEo6UfiF0XE06GLYXsnJHkOijgGjO4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579475443; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=1+vDReAwcClvLBRsHGBrvIIo0yt8JKSDF6y6GRK5oBw=; b=jM8+/TeELxs18l78vTRPr6f2II4BhbLxKivCyZGnJm8tv604hovnimcQeabUgjrGeQQe49emzgXktdejrl3j5xji10CPaulUsaM2ujWiuE67DI5UXSQZGoKN9utcSggvn0Sv4VRb3MkLLwaVHLKim8FIZXmXlrxOJtAVNcT+kMY= ARC-Authentication-Results: i=1; mx.zohomail.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157947544337885.8955696572549; Sun, 19 Jan 2020 15:10:43 -0800 (PST) Received: from localhost ([::1]:54812 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itJiL-0007Uc-Lj for importer@patchew.org; Sun, 19 Jan 2020 18:10:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56284) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itJg2-0004f0-Bm for qemu-devel@nongnu.org; Sun, 19 Jan 2020 18:08:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1itJg1-00041A-BN for qemu-devel@nongnu.org; Sun, 19 Jan 2020 18:08:18 -0500 Received: from kvm5.telegraphics.com.au ([98.124.60.144]:54734) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itJg1-0003lA-7K; Sun, 19 Jan 2020 18:08:17 -0500 Received: by kvm5.telegraphics.com.au (Postfix, from userid 502) id 8469D29984; Sun, 19 Jan 2020 18:07:55 -0500 (EST) To: Jason Wang , qemu-devel@nongnu.org Message-Id: <34caf9dea82cd30dc51b4f8768adb7a90b236bf2.1579474761.git.fthain@telegraphics.com.au> In-Reply-To: References: From: Finn Thain Subject: [PATCH v3 13/14] dp8393x: Don't reset Silicon Revision register Date: Mon, 20 Jan 2020 09:59:21 +1100 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 98.124.60.144 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Laurent Vivier , qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The jazzsonic driver in Linux uses the Silicon Revision register value to probe the chip. The driver fails unless the SR register contains 4. Unfortunately, reading this register in QEMU usually returns 0 because the s->regs[] array gets wiped after a software reset. Fixes: bd8f1ebce4 ("net/dp8393x: fix hardware reset") Signed-off-by: Finn Thain --- hw/net/dp8393x.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index 1b73a8703b..71af0fad51 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -591,6 +591,10 @@ static uint64_t dp8393x_read(void *opaque, hwaddr addr= , unsigned int size) val |=3D s->cam[s->regs[SONIC_CEP] & 0xf][2* (SONIC_CAP0 -= reg)]; } break; + /* Read-only */ + case SONIC_SR: + val =3D 4; /* only revision recognized by Linux/mips */ + break; /* All other registers have no special contrainst */ default: val =3D s->regs[reg]; @@ -971,7 +975,6 @@ static void dp8393x_realize(DeviceState *dev, Error **e= rrp) qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a); =20 s->watchdog =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, dp8393x_watchdog, s); - s->regs[SONIC_SR] =3D 0x0004; /* only revision recognized by Linux */ =20 memory_region_init_ram(&s->prom, OBJECT(dev), "dp8393x-prom", SONIC_PROM_SIZE, &local_err); --=20 2.24.1