From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 172967412048697.5258937908684; Wed, 23 Oct 2024 02:02:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XD0-0007nw-J7; Wed, 23 Oct 2024 04:59:14 -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 1t3XCy-0007nc-Ex for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:12 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XCw-0000Im-U1 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:12 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCb-0008EL-Ru; Wed, 23 Oct 2024 09:58:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=KnhLnvuPCfcreyL9kUT0InkhJuyZNVMwBARkk6t8FjM=; b=mEQUI6QjxlUoNHoV1TwOxWRlg0 U/A819GGKPYsI1hS9YxMalOR3fQ1YOh7VcP9pUgrNcTYybsNmmNZ7DivkyNwN9Im+Tqg0iDojv+Wr 0hjmYApe41miGIxYS8O1E1AmhanZW527aZnGszB4uTkK3NOBbOES21YQVxMXVHYsrzuFL6RQXja+b YDM07eFEix6J29QBh7sx8fe2V17QCyZ5iqq90AjXAuImctHViuVrHwhURlJlkt4o2KRBzI9QxrDGp XOBixn7sz+spF9n/IeuL/w23CZCFWlrN454e3kCQ1zssMqMvOO11xhInegDRnl2KcwPnOXxqp9t33 eiG6s4vYPLvNsQRmQ754AD4eyaewytVDVefwC3Zv5YwXYdAas8DalmBzOEVdOpcg4AgJLfKTRf54N s0xNtDvEN2dqN2Dp2YfrOHdmSoFRUADeQ+NYgBqv09m2tOcNPPjsBp8k8oBHNymHEyTbnv0aaDu0F YXifu2OGCKrxQfSIUPANgrPsRayrs2gUKab7yiuYMx3p25XwI0Xr5vjx/6HvpUDjByn49Smrl+XrA rrYKMJdiDW6j9tIGFOnaZ7qdE0njowH7WN4luLX9aD1tMgyVS8GDNWMndBVxE4gUlI6KDlHRLc1Bf 0TUjTeILsntdiEZaggANRxadE0cyhuMLkkgFU0KuY=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:17 +0100 Message-Id: <20241023085852.1061031-2-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 01/36] next-cube: fix up compilation when DEBUG_NEXT is enabled X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674122601116600 Content-Type: text/plain; charset="utf-8" These were accidentally introduced by my last series. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 9832213e7e..7a503e0707 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -404,7 +404,7 @@ static void next_scr_writefn(void *opaque, hwaddr addr,= uint64_t val, =20 switch (addr) { case 0x14108: - DPRINTF("FDCSR Write: %x\n", value); + DPRINTF("FDCSR Write: %"PRIx64 "\n", val); if (val =3D=3D 0x0) { /* qemu_irq_raise(s->fd_irq[0]); */ } @@ -468,15 +468,15 @@ static void next_scr_writefn(void *opaque, hwaddr add= r, uint64_t val, /* int_mask |=3D 0x1000; */ /* s->scsi_csr_1 |=3D 0x80; */ } - DPRINTF("SCSICSR Write: %x\n", val); + DPRINTF("SCSICSR Write: %"PRIx64 "\n", val); /* s->scsi_csr_1 =3D val; */ break; =20 /* Hardware timer latch - not implemented yet */ case 0x1a000: default: - DPRINTF("BMAP Write @ 0x%x with 0x%x size %u\n", (unsigned int)add= r, - val, size); + DPRINTF("BMAP Write @ 0x%x with 0x%"PRIx64 " size %u\n", + (unsigned int)addr, val, size); } } =20 @@ -585,7 +585,7 @@ static void next_dma_write(void *opaque, hwaddr addr, u= int64_t val, break; =20 default: - DPRINTF("DMA write @ %x w/ %x\n", (unsigned)addr, (unsigned)value); + DPRINTF("DMA write @ %x w/ %x\n", (unsigned)addr, (unsigned)val); } } =20 --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729673965037838.6459141187862; Wed, 23 Oct 2024 01:59:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XD2-0007oN-Ff; Wed, 23 Oct 2024 04:59:16 -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 1t3XD1-0007oD-PT for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:15 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XD0-0000JT-9z for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:15 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCg-0008EL-8W; Wed, 23 Oct 2024 09:58:58 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=msqzWGYcv9Au49H/k1dTVXQtnssNULaw8wvTlGzlJUY=; b=zed8Qfmu190bBWJpU+Cyfzhxes nyZnk9wBdXjlDgu6YB1mLUR8zCv+20feEv7YVFs7nwCvkfNetinnU45CWX/0LZC/W1b9cD40DRExE KShyBbQCgNJBLxmbJ3V8V9wNibHM9TpanMfJ1ErR1LwRiXnBQPxI6fCpZJjDx2+vJjV/E+OqG+0Tx gWbMPQrMm1VV658UpPVaf/MMH/yKF8WRn/aBif5EHWCpHbAG3UCMcSKedKPYI9EAxp+MhcMaliDaz U759TJhxJ0gZn89pAo0FgE+Vg0IN3KhGBMdLCZBtBZ05dhhLJ0bD8ZGm0vY3Ayg4mD7hBtLWmZyPd GXsDEnNnQk/3NV7475963DlsreXXbXIY4OuIc+c4Hz1aUHyMTxi0onybv45Zgoz5gzKU9y2ubzwRZ t8HrxepSY5eq4ZoZK1rG3zRAYY8eFdXUrQWggcz/TqOzR0cn4jTohmpA+1YxMGC23e0TeUOMNqaUs Ui4tgdexy715/gTAambSw3qD4feZVQ+MawMSq/uD8JrcUmRATxUZYkrs0BxFZoT5a8Ph5ieqK9hAK Ld0yAB1P9xoYJF7nKs9JdGwVKvvnlt7M83y5Y152LdrdLBlsw00vHxsADvAT+vYzxcuT7rSCTc/1+ l+e0FltEyCzs6ou/gxR1Dyh4T+3mvmhr0f9tplUuo=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:18 +0100 Message-Id: <20241023085852.1061031-3-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 02/36] next-cube: remove 0x14020 dummy value from next_mmio_read() X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729673974209116600 Content-Type: text/plain; charset="utf-8" This is a dummy value for the SCSI CSR which appears to have no effect when removed. Eventually the reads/writes to this register will be directed towards the WIP implementations in next_scr_readfn() and next_scr_writefn(). Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 7a503e0707..4e8e55a8bd 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -286,10 +286,6 @@ static uint64_t next_mmio_read(void *opaque, hwaddr ad= dr, unsigned size) size << 3); break; =20 - case 0x14020: - val =3D 0x7f; - break; - default: val =3D 0; DPRINTF("MMIO Read @ 0x%"HWADDR_PRIx" size %d\n", addr, size); --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 172967403194426.490537126866684; Wed, 23 Oct 2024 02:00:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XD3-0007on-MA; Wed, 23 Oct 2024 04:59:17 -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 1t3XD2-0007oS-MZ for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:16 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XD1-0000JX-7l for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:16 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCk-0008EL-Lp; Wed, 23 Oct 2024 09:58:59 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=/89sOURaQGbKq4a9OFoHv7MwAXwRzgUgk1pwsCvXNkk=; b=MTdT6W0j8R8FEY3L4FFfj6pWhZ Q0/Iq9ZL2LqLkrET2OjquQOs/eAVwq8eT4iL8UEGKtKC4bddQLmi5LGUrAPSSPrmZKQu2F0ec+iOQ 2SKBQQhcr9H69kjMW4zmJDqEbpw7fbNCUbxaIquBwMiTeBjEYsjPQ3RlDnBn9m0TUajlw5dp4sQ7U xUfvzIGE5kaaVUr5rwzHaqkRxre1cb4eB+r7Sb8H2TTNFxMQMmYTkQBopPa6aZixVZPQ+d5BMBBBU Wlsarefc9UvsAoGmhlOcwJ58GOY9pLDXw9lEaEULXzmUo/t0eMLUK9pq1D7y+vDKL/MicgryB2mgx Tsv5+CU52qQRR+7yaB/puagLDqhRbMtPSZ1DYiSXnIfRkxgFrHcziDBXAChxZ7OQyC1hjmqK9s2IP YVaZiS13x/DNrpXbyR2HyAzQCfjHiJROPOiMPrv7BJFSnSQLpni+y6NajlNRsIa6h4IU7bLWqw0tG ZVuo4+Kk2E9/+1FZATwGx0RKOy1NRlXTGEmk332fI9yB4ZKeXpairAZpr7nG7A8L2z9smzlIV4qbL mbAx2NF0mXkJbt522hIL16JrwJEqaZGg06/Lsyy1LwCRPlU1EIZy1DQCaeANvIv9doxssNuU20EDf Kf+dI8j7+Jkch4bDN71CXcbCL+9LM49fhpqXuIqxk=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:19 +0100 Message-Id: <20241023085852.1061031-4-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 03/36] next-cube: remove overlap between next.dma and next.mmio memory regions X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674034098116600 Content-Type: text/plain; charset="utf-8" Change the start of the next.mmio memory region so that it follows on direc= tly after the next.dma memory region, adjusting the address offsets in next_mmio_read() and next_mmio_write() accordingly. Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/m68k/next-cube.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 4e8e55a8bd..e1d94c1ce0 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -266,23 +266,23 @@ static uint64_t next_mmio_read(void *opaque, hwaddr a= ddr, unsigned size) uint64_t val; =20 switch (addr) { - case 0x7000: + case 0x2000: /* DPRINTF("Read INT status: %x\n", s->int_status); */ val =3D s->int_status; break; =20 - case 0x7800: + case 0x2800: DPRINTF("MMIO Read INT mask: %x\n", s->int_mask); val =3D s->int_mask; break; =20 - case 0xc000 ... 0xc003: - val =3D extract32(s->scr1, (4 - (addr - 0xc000) - size) << 3, + case 0x7000 ... 0x7003: + val =3D extract32(s->scr1, (4 - (addr - 0x7000) - size) << 3, size << 3); break; =20 - case 0xd000 ... 0xd003: - val =3D extract32(s->scr2, (4 - (addr - 0xd000) - size) << 3, + case 0x8000 ... 0x8003: + val =3D extract32(s->scr2, (4 - (addr - 0x8000) - size) << 3, size << 3); break; =20 @@ -301,25 +301,25 @@ static void next_mmio_write(void *opaque, hwaddr addr= , uint64_t val, NeXTPC *s =3D NEXT_PC(opaque); =20 switch (addr) { - case 0x7000: + case 0x2000: DPRINTF("INT Status old: %x new: %x\n", s->int_status, (unsigned int)val); s->int_status =3D val; break; =20 - case 0x7800: + case 0x2800: DPRINTF("INT Mask old: %x new: %x\n", s->int_mask, (unsigned int)v= al); s->int_mask =3D val; break; =20 - case 0xc000 ... 0xc003: + case 0x7000 ... 0x7003: DPRINTF("SCR1 Write: %x\n", (unsigned int)val); - s->scr1 =3D deposit32(s->scr1, (4 - (addr - 0xc000) - size) << 3, + s->scr1 =3D deposit32(s->scr1, (4 - (addr - 0x7000) - size) << 3, size << 3, val); break; =20 - case 0xd000 ... 0xd003: - s->scr2 =3D deposit32(s->scr2, (4 - (addr - 0xd000) - size) << 3, + case 0x8000 ... 0x8003: + s->scr2 =3D deposit32(s->scr2, (4 - (addr - 0x8000) - size) << 3, size << 3, val); next_scr2_led_update(s); next_scr2_rtc_update(s); @@ -897,7 +897,7 @@ static void next_pc_realize(DeviceState *dev, Error **e= rrp) qdev_init_gpio_in(dev, next_irq, NEXT_NUM_IRQS); =20 memory_region_init_io(&s->mmiomem, OBJECT(s), &next_mmio_ops, s, - "next.mmio", 0xd0000); + "next.mmio", 0x9000); memory_region_init_io(&s->scrmem, OBJECT(s), &next_scr_ops, s, "next.scr", 0x20000); sysbus_init_mmio(sbd, &s->mmiomem); @@ -1000,7 +1000,7 @@ static void next_cube_init(MachineState *machine) sysbus_create_simple(TYPE_NEXTFB, 0x0B000000, NULL); =20 /* MMIO */ - sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 0, 0x02000000); + sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 0, 0x02005000); =20 /* BMAP IO - acts as a catch-all for now */ sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 1, 0x02100000); --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729673984282642.9477614581688; Wed, 23 Oct 2024 01:59:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XD8-0007sc-M3; Wed, 23 Oct 2024 04:59:22 -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 1t3XD6-0007pM-Sw for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:20 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XD5-0000Jz-JL for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:20 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCl-0008EL-CV; Wed, 23 Oct 2024 09:59:03 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=9m9pzuk+kU/pCkEvHTiuX7N97trMmOECKRPZTVqE0YU=; b=KA8aKAENO0UyPlXF6H/UqDu62u Nd5GbqD/KoQA0IPd4EkzgZ5hJuoQYzVEo37bsgiEWcBZF35k2y2n2J2zP1FZCfpRhe2Ynf0RUHkfP 8I29vcsJFGVf3ahc3DcemSXLFzQG2qidJl4Ib0yovAClALrh1vucE/yktPt98Y0kb0mSDexov64eH JrpM0kl2ojcYywIo/+aDCyCy0W1dmg+mxpsFAkZmiQ5PmvlevvoT/Hr2Yzvo7kD+rmRyOEmfAMjdT ABu00U3mXNQCphAUYfQRaoNALO2uYaDoe+bJ7WWu+ru6b12KffzMx531gZTNDS6OCi02t1tzT2yzs wjeD7w1ZDOSUNAcDyj7193HLYHdGUW2E3zsolEz7kownc7zIgZbCDUtcXCqG37oX6Zocsz3oq4Ioe g7Wts6Ga6lDr41woDMTLcKCqeu9eibKh1JXMfy/EJVTYmnCtZHVnmP/JNOPIpTclQzG/9rfFdm7Lj yOJFqERRYKZW6Cv6CxPqBbayIZixDQHkZQFrR5LaZxPe1ul0vK0Hmgw4vs5KXdyGAnsq1gYZ3lhgf VyocaT2BdepjgaWCt0Y2zhxuUgUsrhnVQu6ZersETNNnAsKhlAJqhKkiV6OK9TJo2sIBS1mIYiLRI cAd8q5MptwZ6mLvcYSrAi2x9BR9qnvE55VdDmlXtA=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:20 +0100 Message-Id: <20241023085852.1061031-5-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 04/36] next-cube: remove cpu parameter from next_scsi_init() X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729673986032116600 Content-Type: text/plain; charset="utf-8" The parameter is not used. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index e1d94c1ce0..6bdd91c9c6 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -824,7 +824,7 @@ static void nextscsi_write(void *opaque, uint8_t *buf, = int size) nextdma_write(opaque, buf, size, NEXTDMA_SCSI); } =20 -static void next_scsi_init(DeviceState *pcdev, M68kCPU *cpu) +static void next_scsi_init(DeviceState *pcdev) { struct NeXTPC *next_pc =3D NEXT_PC(pcdev); DeviceState *dev; @@ -1046,7 +1046,7 @@ static void next_cube_init(MachineState *machine) /* TODO: */ /* Network */ /* SCSI */ - next_scsi_init(pcdev, cpu); + next_scsi_init(pcdev); =20 /* DMA */ memory_region_init_io(&m->dmamem, NULL, &next_dma_ops, machine, --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674062739718.1410737417666; Wed, 23 Oct 2024 02:01:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDC-00081h-Fx; Wed, 23 Oct 2024 04:59: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 1t3XDB-00080t-H9 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:25 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDA-0000KA-5n for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:25 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCp-0008EL-Tm; Wed, 23 Oct 2024 09:59:08 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=/DrqSKmnp9M+9bamXDATfF7q+7CGyrvwvqhVWuUYqXU=; b=pEpgqSVdog1NmfM5p0EUI4yqQ5 UW3W6uI0UoGhfPuqYhxsy8zwCxAEvAHMI3fFLqZgGqZLikzOElLUUCTMIVCD9RWbMXgbep06nBOpk NeJacqhzPLcxWFzJ/5zZEZjZ0pXcmp9IEB+V8U53Otmfu28tHVvojOSkWbc2INDIpRA5LiM1fyFqC hWONBqbGANQr4JlhS/O98jmetJmBTR1KlOb/UmHarsBjOwCplWRDUC6Y7yQ4f6y9LZ/jnUKt50emc fXRPahSIlYfMjAxLgbTgSY/5r7TMc71elvLYrti7eYDF4lIGZQApXzPsTAbn1XwL+tNhvVkOVpH0K DTKX4QW72jzy0IVT2V59PzXtgTzdc7V9BkQ94qOOOFf+rBQzJpJgdvQ7LdO3pz/EtWEcmehBnYSNI gKFyYC/ZaAyqeQo14UYr9YllYFKC7cnlWeHAP8wRJMsO23XOvKTaPFOlLzBJdrSWhPPL9perBlUTT DdmGmfdh2+F6YLm8mIY1jeyYN0R7xb6CbUR9ANH7DJeSP/+Ds3AQhnGFcLUF1T6rwlQL/RfiYEHqb FfzmsgrfSo1PsNLXiN4290xovijafeORxGzAKbqGDGHstVk+LXwmYde6BXE5cx12pqrMtXCGfx4Kz XvgmPmiJx/Hc2I8xmrZv3H5qwEipDPTn5bCljYj5c=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:21 +0100 Message-Id: <20241023085852.1061031-6-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 05/36] next-cube: create new next.scsi container memory region X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674064173116600 Content-Type: text/plain; charset="utf-8" Move the ESP SCSI and SCSI CSR registers to the new next.scsi container mem= ory region. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 6bdd91c9c6..9e457fdf12 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -94,6 +94,7 @@ struct NeXTPC { =20 MemoryRegion mmiomem; MemoryRegion scrmem; + MemoryRegion scsimem; =20 uint32_t scr1; uint32_t scr2; @@ -843,7 +844,12 @@ static void next_scsi_init(DeviceState *pcdev) sysbusdev =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(sysbusdev, &error_fatal); sysbus_connect_irq(sysbusdev, 0, qdev_get_gpio_in(pcdev, NEXT_SCSI_I)); - sysbus_mmio_map(sysbusdev, 0, 0x2114000); + + memory_region_init(&next_pc->scsimem, OBJECT(next_pc), "next.scsi", 0x= 40); + memory_region_add_subregion(&next_pc->scsimem, 0x0, + sysbus_mmio_get_region(sysbusdev, 0)); + + memory_region_add_subregion(&next_pc->scrmem, 0x14000, &next_pc->scsim= em); =20 next_pc->scsi_reset =3D qdev_get_gpio_in(dev, 0); next_pc->scsi_dma =3D qdev_get_gpio_in(dev, 1); --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674442804791.0634701872139; Wed, 23 Oct 2024 02:07:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDI-00082q-1l; Wed, 23 Oct 2024 04:59:32 -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 1t3XDF-00082M-N5 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:29 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDE-0000KM-HI for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:29 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCu-0008EL-Ci; Wed, 23 Oct 2024 09:59:12 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=vWjh/gwcLsyGVJPFskE13EAEEA5NiODuqjD9lHpFOSQ=; b=K0xhTouU/RtoLHrOv7fvhYv0/P 5p1uAyKedYy5C8HEigemtYkedlzXut3N1MDMTNclpbZyV1f+WFiV+hEQnL1lkK1mlGzYbrzzpPJls vvzOiEgqBjAlg+BEWkMlpAj9ijjJZAExk/Y0TRNWLH5YuXRb1M0I94xPHFPT8ykqn+suxmB1Gej0y AYX9APbu8L1SH2PYOJ9C/Iv2iHVoTu1kW9i1y4w58Kw5Ma2b29abzD+HyhOQXjVLy0Alw+fsGweRi TZUeUlIJHTIAiH8Xv9T883UpF6ZCi6dHELLFWSccYSsEwM+1gTLZIIjrmdR3Px6h0x1iswlHThPNS 67NdUNgGEcZSsEBdzhNLAvipBGnnBuEUb3OYd+fUDM49pt7wqYAvRHTkzkf9gLSgf8sq2+Ef0OJZd rSUenS0Deoo8TPzTimGXgCBYbKY8w70zaLqPxeM53Pt+02RlNjybjV3KCsCm8rHjciNgQku706lD+ CliJsHmJzx51d4DWn9z4lpt+kfqMTfiXcCkmeg6FbRjB+qXgqsSeNH9WTcdYEoL8aHpORO75ib+Mg lSRzvm/5zT52Y1WBF3248/YbsUGWyaGpyd1LrKyZXWYceokKA/70+8MoAfVHifYxjs4HZOKIRHNnf mO4ICXbhFf695qQrqs3jnZ/01VAnV2EMUOz3xgJ1I=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:22 +0100 Message-Id: <20241023085852.1061031-7-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 06/36] next-cube: move next_scsi_init() to next_pc_realize() X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674444023116600 Content-Type: text/plain; charset="utf-8" This reflects that the SCSI interface exists within the NeXT Peripheral Controller (PC). Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 9e457fdf12..0c3f8780a1 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -908,6 +908,9 @@ static void next_pc_realize(DeviceState *dev, Error **e= rrp) "next.scr", 0x20000); sysbus_init_mmio(sbd, &s->mmiomem); sysbus_init_mmio(sbd, &s->scrmem); + + /* SCSI */ + next_scsi_init(dev); } =20 /* @@ -1051,8 +1054,6 @@ static void next_cube_init(MachineState *machine) =20 /* TODO: */ /* Network */ - /* SCSI */ - next_scsi_init(pcdev); =20 /* DMA */ memory_region_init_io(&m->dmamem, NULL, &next_dma_ops, machine, --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674093465983.0706762404147; Wed, 23 Oct 2024 02:01:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDJ-00083X-4B; Wed, 23 Oct 2024 04:59: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 1t3XDG-00082X-DF for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:30 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDF-0000KP-5o for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:30 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCy-0008EL-Pa; Wed, 23 Oct 2024 09:59:13 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=3SBc2+R0d1hoqyhlw2wky4q4tWg4lI9UIXLFOUt9RNY=; b=V3r1koirn+TK5KJB+2SoCJ2nLv aoLa3WQioyeRrt2OfDdTnZxstCPcn2qg7k8QFulnJ/IeYaEHTTnQWxyiWWLc9ALqFUFMjeHcFp7BK ZkhP2rZ8rNgLY/noMFCtUslJxsjBFsI+sVTZZvUwAB5tIq2DGzCLLXpsjfnVqIZlUF+x6tUNbN/jO 14NiaXUmWtUlyOapjx2VxhWoSJjsS2vTFKGc4h0iYPX4q1VoGkzvbh3mx4GEVljMD2OPFXqj1Vc2i 98KfUvTvBSTNb6ahE/nDPw+PMwGxm3rUOv9M6f50jDFt46IqmHe+LaiWDgnG3L5bYg1JzTmLI9jRL TNB0LYn4fr/GjZbs7PLHD9yCGNkVzGs0szDIDYF6Mt2ttU/Qd7gYoJD/sMvV3F4nx7Ew6et64OTFM +u6OuOpEZy3CmR+qvORE2FZQkzZbi2+3Amgl/SuugA12ZJZyAUpZa0R+kx6Eoowcce/7cqlLiwiKV al5p3ebxk/izIrL0ESzqO9sxt/WbNjLIT0ggHhvIOB+ft45g8gzaAy7FigTBd61dBaqNPjxQ4mdLf Yl53FaLvA1M4R4YQzc0UUVSUo+XHSkBRp8tWtQJwvA/EHcRT7zrqfCsPAgAz56W7HGsu6siAbkphy 3mVFuERX77t4GJJOLz+PfBo6nrPQO9R8t3rMG4EuI=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:23 +0100 Message-Id: <20241023085852.1061031-8-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 07/36] next-cube: introduce next_pc_init() object init function X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674094503116600 Content-Type: text/plain; charset="utf-8" Move initialisation of the memory regions and GPIOs from next_pc_realize() = to the new next_pc_init() function. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 0c3f8780a1..3b4c361156 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -897,20 +897,24 @@ static void next_pc_reset(DeviceState *dev) =20 static void next_pc_realize(DeviceState *dev, Error **errp) { - NeXTPC *s =3D NEXT_PC(dev); - SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); + /* SCSI */ + next_scsi_init(dev); +} + +static void next_pc_init(Object *obj) +{ + NeXTPC *s =3D NEXT_PC(obj); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(obj); =20 - qdev_init_gpio_in(dev, next_irq, NEXT_NUM_IRQS); + qdev_init_gpio_in(DEVICE(obj), next_irq, NEXT_NUM_IRQS); =20 memory_region_init_io(&s->mmiomem, OBJECT(s), &next_mmio_ops, s, "next.mmio", 0x9000); memory_region_init_io(&s->scrmem, OBJECT(s), &next_scr_ops, s, "next.scr", 0x20000); + sysbus_init_mmio(sbd, &s->mmiomem); sysbus_init_mmio(sbd, &s->scrmem); - - /* SCSI */ - next_scsi_init(dev); } =20 /* @@ -972,6 +976,7 @@ static void next_pc_class_init(ObjectClass *klass, void= *data) static const TypeInfo next_pc_info =3D { .name =3D TYPE_NEXT_PC, .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_init =3D next_pc_init, .instance_size =3D sizeof(NeXTPC), .class_init =3D next_pc_class_init, }; --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674384424521.7094036775221; Wed, 23 Oct 2024 02:06:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDI-000838-Go; Wed, 23 Oct 2024 04:59:32 -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 1t3XDH-00082g-54 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:31 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDF-0000KT-MA for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:30 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XCz-0008EL-Ck; Wed, 23 Oct 2024 09:59:13 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=oatcdFlwsfIRMXDdXwtKlKmLvMaqEBRLttlD+sjL3q0=; b=tBLLG6ElKmSPZJH9D8dP9MlQZL 4/WUT7D8RhKl2/5M4Ek28rY02yycKYx7jP5zybP+iVl17rB6s5rjFgsY1VIMQrTWVYHX43oSf7X7j T9rf2S+Axbw5QCOhNRd6rejHzpyJWf+PJtqAGn1ue8Pj8jt2v2bEEQ+LJ7wXLZ+BvW3qVh8KipdQx ZrhoeNe7DIqgHAh9qDskmtkfSqPyDSa56+I+Hn36mEFF5K4V3cX/eWsSxuIvnXgO6gxW2lVyOxz+t A4XpGBheWeP6aHuCORUMqsYjjb/P5BX4Q3a3nCA2Vlu/q7MDy2e8UiWbbY16aRP6zPI1Ghkuk7Rt7 y8grh8TkfUeyAsmHSrDCtops/QRkbKRelCb/qP0AhDK/F3zBjDZRbhFgn53hDeQBDeWWI0kyaERWP gLjyvdsVbRiaFXgBfUQ5B6TQjCikGdxf5syEthSscNB0LTUgnR2NhTcnsyKPQtXSCiBrgy5PK+XxC Uo2Q8R+egBCKw5JZG2dniUycgNO2C/sHrybymX6gc4ZMAP2ueU4PP3YLfIzGFP3zISM6PwCEdxlF1 CqDhGcfa6eE35UoMmN+fuffxyek0yoHmXbjWeHlOzn5KzCb05k7iZ5FwlO1a5jYl57JiFWG3tyoea P8lbnzQs1qzs+24j5m6jjqYhQGaFZDrfc+4OxzkJU=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:24 +0100 Message-Id: <20241023085852.1061031-9-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 08/36] next-cube: introduce next-scsi device X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674385905116600 Content-Type: text/plain; charset="utf-8" This device is intended to hold the ESP SCSI controller and the NeXT SCSI C= SRs. Start by creating the device and moving the ESP SCSI controller to be an embedded child device. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 93 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 74 insertions(+), 19 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 3b4c361156..266f57ac63 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -83,6 +83,18 @@ struct NeXTState { next_dma dma[10]; }; =20 +#define TYPE_NEXT_SCSI "next-scsi" +OBJECT_DECLARE_SIMPLE_TYPE(NeXTSCSI, NEXT_SCSI) + +/* NeXT SCSI Controller */ +struct NeXTSCSI { + SysBusDevice parent_obj; + + MemoryRegion scsi_mem; + + SysBusESPState sysbus_esp; +}; + #define TYPE_NEXT_PC "next-pc" OBJECT_DECLARE_SIMPLE_TYPE(NeXTPC, NEXT_PC) =20 @@ -94,7 +106,6 @@ struct NeXTPC { =20 MemoryRegion mmiomem; MemoryRegion scrmem; - MemoryRegion scsimem; =20 uint32_t scr1; uint32_t scr2; @@ -102,6 +113,8 @@ struct NeXTPC { uint32_t int_mask; uint32_t int_status; uint32_t led; + + NeXTSCSI next_scsi; uint8_t scsi_csr_1; uint8_t scsi_csr_2; =20 @@ -825,38 +838,61 @@ static void nextscsi_write(void *opaque, uint8_t *buf= , int size) nextdma_write(opaque, buf, size, NEXTDMA_SCSI); } =20 -static void next_scsi_init(DeviceState *pcdev) +static void next_scsi_init(Object *obj) { - struct NeXTPC *next_pc =3D NEXT_PC(pcdev); - DeviceState *dev; - SysBusDevice *sysbusdev; + NeXTSCSI *s =3D NEXT_SCSI(obj); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(obj); + + object_initialize_child(obj, "esp", &s->sysbus_esp, TYPE_SYSBUS_ESP); + + memory_region_init(&s->scsi_mem, obj, "next.scsi", 0x40); + sysbus_init_mmio(sbd, &s->scsi_mem); +} + +static void next_scsi_realize(DeviceState *dev, Error **errp) +{ + NeXTSCSI *s =3D NEXT_SCSI(dev); SysBusESPState *sysbus_esp; + SysBusDevice *sbd; ESPState *esp; + NeXTPC *pcdev; + + pcdev =3D NEXT_PC(container_of(s, NeXTPC, next_scsi)); =20 - dev =3D qdev_new(TYPE_SYSBUS_ESP); - sysbus_esp =3D SYSBUS_ESP(dev); + /* ESP */ + sysbus_esp =3D SYSBUS_ESP(&s->sysbus_esp); esp =3D &sysbus_esp->esp; esp->dma_memory_read =3D nextscsi_read; esp->dma_memory_write =3D nextscsi_write; esp->dma_opaque =3D pcdev; sysbus_esp->it_shift =3D 0; esp->dma_enabled =3D 1; - sysbusdev =3D SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(sysbusdev, &error_fatal); - sysbus_connect_irq(sysbusdev, 0, qdev_get_gpio_in(pcdev, NEXT_SCSI_I)); - - memory_region_init(&next_pc->scsimem, OBJECT(next_pc), "next.scsi", 0x= 40); - memory_region_add_subregion(&next_pc->scsimem, 0x0, - sysbus_mmio_get_region(sysbusdev, 0)); + sbd =3D SYS_BUS_DEVICE(sysbus_esp); + if (!sysbus_realize(sbd, errp)) { + return; + } + memory_region_add_subregion(&s->scsi_mem, 0x0, + sysbus_mmio_get_region(sbd, 0)); =20 - memory_region_add_subregion(&next_pc->scrmem, 0x14000, &next_pc->scsim= em); + scsi_bus_legacy_handle_cmdline(&s->sysbus_esp.esp.bus); +} =20 - next_pc->scsi_reset =3D qdev_get_gpio_in(dev, 0); - next_pc->scsi_dma =3D qdev_get_gpio_in(dev, 1); +static void next_scsi_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - scsi_bus_legacy_handle_cmdline(&esp->bus); + dc->desc =3D "NeXT SCSI Controller"; + dc->realize =3D next_scsi_realize; } =20 +static const TypeInfo next_scsi_info =3D { + .name =3D TYPE_NEXT_SCSI, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_init =3D next_scsi_init, + .instance_size =3D sizeof(NeXTSCSI), + .class_init =3D next_scsi_class_init, +}; + static void next_escc_init(DeviceState *pcdev) { DeviceState *dev; @@ -897,8 +933,24 @@ static void next_pc_reset(DeviceState *dev) =20 static void next_pc_realize(DeviceState *dev, Error **errp) { + NeXTPC *s =3D NEXT_PC(dev); + SysBusDevice *sbd; + DeviceState *d; + /* SCSI */ - next_scsi_init(dev); + sbd =3D SYS_BUS_DEVICE(&s->next_scsi); + if (!sysbus_realize(sbd, errp)) { + return; + } + memory_region_add_subregion(&s->scrmem, 0x14000, + sysbus_mmio_get_region(sbd, 0)); + + d =3D DEVICE(object_resolve_path_component(OBJECT(&s->next_scsi), "esp= ")); + sysbus_connect_irq(SYS_BUS_DEVICE(d), 0, + qdev_get_gpio_in(DEVICE(s), NEXT_SCSI_I)); + + s->scsi_reset =3D qdev_get_gpio_in(d, 0); + s->scsi_dma =3D qdev_get_gpio_in(d, 1); } =20 static void next_pc_init(Object *obj) @@ -915,6 +967,8 @@ static void next_pc_init(Object *obj) =20 sysbus_init_mmio(sbd, &s->mmiomem); sysbus_init_mmio(sbd, &s->scrmem); + + object_initialize_child(obj, "next-scsi", &s->next_scsi, TYPE_NEXT_SCS= I); } =20 /* @@ -1089,6 +1143,7 @@ static void next_register_type(void) { type_register_static(&next_typeinfo); type_register_static(&next_pc_info); + type_register_static(&next_scsi_info); } =20 type_init(next_register_type) --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674067578751.9763143135325; Wed, 23 Oct 2024 02:01:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDN-0008DQ-7v; Wed, 23 Oct 2024 04:59:37 -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 1t3XDL-00086g-V6 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:35 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDK-0000Kz-8G for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:35 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XD0-0008EL-4Z; Wed, 23 Oct 2024 09:59:18 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=lovQXUFZq/8wE1+TqDLG4yC4PA1aDuChFoBu/D3JZ8Y=; b=tNl9xBpUd5PBYnQ8m6CUFd2YuJ VO2xuMlYSMrIMgDyYPzYrg9AzYE+0zHD8PylDo70zSzafY4OR0bflT/K50sKaZKxWpjb4M9I9WxiU 4mBsSp+Jj7yG6SIynmqxaCZvkrK4AtrrnABXAJ1Ss8jTykz+nT9gNCO2SjG0zQddAAEFws8Eq3w1V h7MapO6I/pLZl2rfHRChvROwL052RHUfX03WMuM4PIg++Ml2AMOItHLbbK4nxaxkqF7JgP5XFs0iA noIV7Ek0ww+DwZD34pKv2UyWV9/hdhRKOebXL2FHgXbnEH6G4kGCErYCSKa13F/Uua7oXdGoV9Som H0U1+/FW4F4VZ4VotnfD37X/7E8SJvVbQov5l+l2I4xMJhdodouhsdAY/CLBtXVes7YpwzhiefN6a Btl80BHCrIrVgy94WU7lgaR/QOWRAg/iQ5JM+UTU8sw8V3kCUENPE5FdZkA8Ti57QM7/QOrZCwQeh m2q6D1UL+efojvmDDBsXyBHBRp6dt7aJfre00xIwXXkeOr4/g3DpcYehFaBJgho/yMk6p+B581Ul+ qCQIJ7ZozyqT3qKSW6iQflw4K3yXnZHDYJtGIaj8mL1x93cdP0iiH7chBVyxW4gCrE+bpUiLeIY+q R0e+az1cjlJIa7OMLnecCis1hLQa1UtSawwXRMGI0=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:25 +0100 Message-Id: <20241023085852.1061031-10-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 09/36] next-cube: move SCSI CSRs from next-pc to the next-scsi device X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674068354116600 Content-Type: text/plain; charset="utf-8" The SCSI CSRs are located within the SCSI subsystem of the NeXT PC (Periphe= ral Contoller) which is now modelled as a separate QEMU device. Add a new VMStateDescription for the next-scsi device to enable the SCSI CS= Rs to be migrated. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 88 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 10 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 266f57ac63..32466a425f 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -93,6 +93,10 @@ struct NeXTSCSI { MemoryRegion scsi_mem; =20 SysBusESPState sysbus_esp; + + MemoryRegion scsi_csr_mem; + uint8_t scsi_csr_1; + uint8_t scsi_csr_2; }; =20 #define TYPE_NEXT_PC "next-pc" @@ -115,8 +119,6 @@ struct NeXTPC { uint32_t led; =20 NeXTSCSI next_scsi; - uint8_t scsi_csr_1; - uint8_t scsi_csr_2; =20 qemu_irq scsi_reset; qemu_irq scsi_dma; @@ -364,6 +366,7 @@ static const MemoryRegionOps next_mmio_ops =3D { static uint64_t next_scr_readfn(void *opaque, hwaddr addr, unsigned size) { NeXTPC *s =3D NEXT_PC(opaque); + NeXTSCSI *ns =3D NEXT_SCSI(&s->next_scsi); uint64_t val; =20 switch (addr) { @@ -373,12 +376,12 @@ static uint64_t next_scr_readfn(void *opaque, hwaddr = addr, unsigned size) break; =20 case 0x14020: - DPRINTF("SCSI 4020 STATUS READ %X\n", s->scsi_csr_1); - val =3D s->scsi_csr_1; + DPRINTF("SCSI 4020 STATUS READ %X\n", ns->scsi_csr_1); + val =3D ns->scsi_csr_1; break; =20 case 0x14021: - DPRINTF("SCSI 4021 STATUS READ %X\n", s->scsi_csr_2); + DPRINTF("SCSI 4021 STATUS READ %X\n", ns->scsi_csr_2); val =3D 0x40; break; =20 @@ -411,6 +414,7 @@ static void next_scr_writefn(void *opaque, hwaddr addr,= uint64_t val, unsigned size) { NeXTPC *s =3D NEXT_PC(opaque); + NeXTSCSI *ns =3D NEXT_SCSI(&s->next_scsi); =20 switch (addr) { case 0x14108: @@ -445,7 +449,7 @@ static void next_scr_writefn(void *opaque, hwaddr addr,= uint64_t val, DPRINTF("SCSICSR Reset\n"); /* I think this should set DMADIR. CPUDMA and INTMASK to 0 */ qemu_irq_raise(s->scsi_reset); - s->scsi_csr_1 &=3D ~(SCSICSR_INTMASK | 0x80 | 0x1); + ns->scsi_csr_1 &=3D ~(SCSICSR_INTMASK | 0x80 | 0x1); qemu_irq_lower(s->scsi_reset); } if (val & SCSICSR_DMADIR) { @@ -838,6 +842,54 @@ static void nextscsi_write(void *opaque, uint8_t *buf,= int size) nextdma_write(opaque, buf, size, NEXTDMA_SCSI); } =20 +static void next_scsi_csr_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) +{ + NeXTSCSI *s =3D NEXT_SCSI(opaque); + + switch (addr) { + case 0: + s->scsi_csr_1 =3D val; + break; + + case 1: + s->scsi_csr_2 =3D val; + break; + + default: + g_assert_not_reached(); + } +} + +static uint64_t next_scsi_csr_read(void *opaque, hwaddr addr, unsigned siz= e) +{ + NeXTSCSI *s =3D NEXT_SCSI(opaque); + uint64_t val; + + switch (addr) { + case 0: + val =3D s->scsi_csr_1; + break; + + case 1: + val =3D s->scsi_csr_2; + break; + + default: + g_assert_not_reached(); + } + + return val; +} + +static const MemoryRegionOps next_scsi_csr_ops =3D { + .read =3D next_scsi_csr_read, + .write =3D next_scsi_csr_write, + .valid.min_access_size =3D 1, + .valid.max_access_size =3D 1, + .endianness =3D DEVICE_BIG_ENDIAN, +}; + static void next_scsi_init(Object *obj) { NeXTSCSI *s =3D NEXT_SCSI(obj); @@ -845,6 +897,9 @@ static void next_scsi_init(Object *obj) =20 object_initialize_child(obj, "esp", &s->sysbus_esp, TYPE_SYSBUS_ESP); =20 + memory_region_init_io(&s->scsi_csr_mem, obj, &next_scsi_csr_ops, + s, "csrs", 2); + memory_region_init(&s->scsi_mem, obj, "next.scsi", 0x40); sysbus_init_mmio(sbd, &s->scsi_mem); } @@ -874,15 +929,30 @@ static void next_scsi_realize(DeviceState *dev, Error= **errp) memory_region_add_subregion(&s->scsi_mem, 0x0, sysbus_mmio_get_region(sbd, 0)); =20 + /* SCSI CSRs */ + memory_region_add_subregion(&s->scsi_mem, 0x20, &s->scsi_csr_mem); + scsi_bus_legacy_handle_cmdline(&s->sysbus_esp.esp.bus); } =20 +static const VMStateDescription next_scsi_vmstate =3D { + .name =3D "next-scsi", + .version_id =3D 0, + .minimum_version_id =3D 0, + .fields =3D (const VMStateField[]) { + VMSTATE_UINT8(scsi_csr_1, NeXTSCSI), + VMSTATE_UINT8(scsi_csr_2, NeXTSCSI), + VMSTATE_END_OF_LIST() + }, +}; + static void next_scsi_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->desc =3D "NeXT SCSI Controller"; dc->realize =3D next_scsi_realize; + dc->vmsd =3D &next_scsi_vmstate; } =20 static const TypeInfo next_scsi_info =3D { @@ -1000,8 +1070,8 @@ static const VMStateDescription next_rtc_vmstate =3D { =20 static const VMStateDescription next_pc_vmstate =3D { .name =3D "next-pc", - .version_id =3D 2, - .minimum_version_id =3D 2, + .version_id =3D 3, + .minimum_version_id =3D 3, .fields =3D (const VMStateField[]) { VMSTATE_UINT32(scr1, NeXTPC), VMSTATE_UINT32(scr2, NeXTPC), @@ -1009,8 +1079,6 @@ static const VMStateDescription next_pc_vmstate =3D { VMSTATE_UINT32(int_mask, NeXTPC), VMSTATE_UINT32(int_status, NeXTPC), VMSTATE_UINT32(led, NeXTPC), - VMSTATE_UINT8(scsi_csr_1, NeXTPC), - VMSTATE_UINT8(scsi_csr_2, NeXTPC), VMSTATE_STRUCT(rtc, NeXTPC, 0, next_rtc_vmstate, NextRtc), VMSTATE_END_OF_LIST() }, --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 172967441719767.69294198283228; Wed, 23 Oct 2024 02:06:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDR-0008S0-NI; Wed, 23 Oct 2024 04:59:41 -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 1t3XDQ-0008Oh-G1 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:40 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDO-0000LM-SV for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:40 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XD4-0008EL-Kg; Wed, 23 Oct 2024 09:59:22 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=0wv4Bd0qGIUaO87TgMqgo6+C19k2RpbDJdR6XFSsc8M=; b=dkohGiqOZ+wdkRFgq4IsE1saLw l5OpcPt8YWtJWxbDJn9XkVyjXetkB8J44wjBbmQms2QonOnclwcgle+Olw5Rf/PmBs0eqogfAKvd+ VFIjWqxVCIZ8q77C55+jEfrOgekRLU2/X7fzRTdXLVvsoRTZbQXKqazCa6NHq1e2BwDnJKOoJvn0V 1Oe52gJnw+nhy/DTw+WQft/phGFuXWajhvtD0ZPj1s1n8xyk2jwIE1XaJX6XhxonXlVWVKjIbRMOo 4/H7OubsJJ3mn5stjpIyedA+ciBp111kg+LzBV9+hAT0Js2+F2Ujlljez4EIw9hXm6WzSf+2bUpWe RyOkkwoNKlsBxCEBxKRY4ryTprx2L5Urk2s5PG8nGmvxaVfUBKrZbRhtgWmZo0QquIw9SgWnvHwgo UX1HuwqyEx7/vSIK9GDEYV3VODqJ+tkUXAraGxwOrH9EgPljg+Kt0tYZNTuXoRGQnsdea5svQZOEj eTJVnfB7x0K7t6h5j2kxa/b7Lh6zo+2FNaax1O3hUlqsrZEdZqAwQuoLfOvd39ooXgkDZp1gNqjsG faPxXsU0JcCvw+NKoh2PEdKyavX2AnUT8LPh0ZRCPhYRR0Yb4EM5Dr+Eu3hDve8/uFfzE3JXbyQ+Q dvbNtQ1ypgH2ah9RtDBOd0BXav1DbljyK3Jk3jq4A=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:26 +0100 Message-Id: <20241023085852.1061031-11-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 10/36] next-cube: move SCSI 4020 logic from next-pc device to next-scsi device X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674417990116600 Content-Type: text/plain; charset="utf-8" The SCSI 4020 logic refers to the offset of the SCSI CSRs within the NeXTCu= be address space. Due to the previously overlapping memory regions, there were duplicate MMIO accessors in the next.scr memory region for these registers = but now this has been resolved. This allows us to move the more complex prototy= pe logic into the next-scsi MMIO accessors. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 139 ++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 77 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 32466a425f..22da777006 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -365,8 +365,6 @@ static const MemoryRegionOps next_mmio_ops =3D { =20 static uint64_t next_scr_readfn(void *opaque, hwaddr addr, unsigned size) { - NeXTPC *s =3D NEXT_PC(opaque); - NeXTSCSI *ns =3D NEXT_SCSI(&s->next_scsi); uint64_t val; =20 switch (addr) { @@ -375,16 +373,6 @@ static uint64_t next_scr_readfn(void *opaque, hwaddr a= ddr, unsigned size) val =3D 0x40 | 0x04 | 0x2 | 0x1; break; =20 - case 0x14020: - DPRINTF("SCSI 4020 STATUS READ %X\n", ns->scsi_csr_1); - val =3D ns->scsi_csr_1; - break; - - case 0x14021: - DPRINTF("SCSI 4021 STATUS READ %X\n", ns->scsi_csr_2); - val =3D 0x40; - break; - /* * These 4 registers are the hardware timer, not sure which register * is the latch instead of data, but no problems so far. @@ -413,9 +401,6 @@ static uint64_t next_scr_readfn(void *opaque, hwaddr ad= dr, unsigned size) static void next_scr_writefn(void *opaque, hwaddr addr, uint64_t val, unsigned size) { - NeXTPC *s =3D NEXT_PC(opaque); - NeXTSCSI *ns =3D NEXT_SCSI(&s->next_scsi); - switch (addr) { case 0x14108: DPRINTF("FDCSR Write: %"PRIx64 "\n", val); @@ -424,68 +409,6 @@ static void next_scr_writefn(void *opaque, hwaddr addr= , uint64_t val, } break; =20 - case 0x14020: /* SCSI Control Register */ - if (val & SCSICSR_FIFOFL) { - DPRINTF("SCSICSR FIFO Flush\n"); - /* will have to add another irq to the esp if this is needed */ - /* esp_puflush_fifo(esp_g); */ - } - - if (val & SCSICSR_ENABLE) { - DPRINTF("SCSICSR Enable\n"); - /* - * qemu_irq_raise(s->scsi_dma); - * s->scsi_csr_1 =3D 0xc0; - * s->scsi_csr_1 |=3D 0x1; - * qemu_irq_pulse(s->scsi_dma); - */ - } - /* - * else - * s->scsi_csr_1 &=3D ~SCSICSR_ENABLE; - */ - - if (val & SCSICSR_RESET) { - DPRINTF("SCSICSR Reset\n"); - /* I think this should set DMADIR. CPUDMA and INTMASK to 0 */ - qemu_irq_raise(s->scsi_reset); - ns->scsi_csr_1 &=3D ~(SCSICSR_INTMASK | 0x80 | 0x1); - qemu_irq_lower(s->scsi_reset); - } - if (val & SCSICSR_DMADIR) { - DPRINTF("SCSICSR DMAdir\n"); - } - if (val & SCSICSR_CPUDMA) { - DPRINTF("SCSICSR CPUDMA\n"); - /* qemu_irq_raise(s->scsi_dma); */ - s->int_status |=3D 0x4000000; - } else { - /* fprintf(stderr,"SCSICSR CPUDMA disabled\n"); */ - s->int_status &=3D ~(0x4000000); - /* qemu_irq_lower(s->scsi_dma); */ - } - if (val & SCSICSR_INTMASK) { - DPRINTF("SCSICSR INTMASK\n"); - /* - * int_mask &=3D ~0x1000; - * s->scsi_csr_1 |=3D val; - * s->scsi_csr_1 &=3D ~SCSICSR_INTMASK; - * if (s->scsi_queued) { - * s->scsi_queued =3D 0; - * next_irq(s, NEXT_SCSI_I, level); - * } - */ - } else { - /* int_mask |=3D 0x1000; */ - } - if (val & 0x80) { - /* int_mask |=3D 0x1000; */ - /* s->scsi_csr_1 |=3D 0x80; */ - } - DPRINTF("SCSICSR Write: %"PRIx64 "\n", val); - /* s->scsi_csr_1 =3D val; */ - break; - /* Hardware timer latch - not implemented yet */ case 0x1a000: default: @@ -846,13 +769,73 @@ static void next_scsi_csr_write(void *opaque, hwaddr = addr, uint64_t val, unsigned size) { NeXTSCSI *s =3D NEXT_SCSI(opaque); + NeXTPC *pc =3D NEXT_PC(container_of(s, NeXTPC, next_scsi)); =20 switch (addr) { case 0: + if (val & SCSICSR_FIFOFL) { + DPRINTF("SCSICSR FIFO Flush\n"); + /* will have to add another irq to the esp if this is needed */ + /* esp_puflush_fifo(esp_g); */ + } + + if (val & SCSICSR_ENABLE) { + DPRINTF("SCSICSR Enable\n"); + /* + * qemu_irq_raise(s->scsi_dma); + * s->scsi_csr_1 =3D 0xc0; + * s->scsi_csr_1 |=3D 0x1; + * qemu_irq_pulse(s->scsi_dma); + */ + } + /* + * else + * s->scsi_csr_1 &=3D ~SCSICSR_ENABLE; + */ + + if (val & SCSICSR_RESET) { + DPRINTF("SCSICSR Reset\n"); + /* I think this should set DMADIR. CPUDMA and INTMASK to 0 */ + qemu_irq_raise(pc->scsi_reset); + s->scsi_csr_1 &=3D ~(SCSICSR_INTMASK | 0x80 | 0x1); + qemu_irq_lower(pc->scsi_reset); + } + if (val & SCSICSR_DMADIR) { + DPRINTF("SCSICSR DMAdir\n"); + } + if (val & SCSICSR_CPUDMA) { + DPRINTF("SCSICSR CPUDMA\n"); + /* qemu_irq_raise(s->scsi_dma); */ + pc->int_status |=3D 0x4000000; + } else { + /* fprintf(stderr,"SCSICSR CPUDMA disabled\n"); */ + pc->int_status &=3D ~(0x4000000); + /* qemu_irq_lower(s->scsi_dma); */ + } + if (val & SCSICSR_INTMASK) { + DPRINTF("SCSICSR INTMASK\n"); + /* + * int_mask &=3D ~0x1000; + * s->scsi_csr_1 |=3D val; + * s->scsi_csr_1 &=3D ~SCSICSR_INTMASK; + * if (s->scsi_queued) { + * s->scsi_queued =3D 0; + * next_irq(s, NEXT_SCSI_I, level); + * } + */ + } else { + /* int_mask |=3D 0x1000; */ + } + if (val & 0x80) { + /* int_mask |=3D 0x1000; */ + /* s->scsi_csr_1 |=3D 0x80; */ + } + DPRINTF("SCSICSR1 Write: %"PRIx64 "\n", val); s->scsi_csr_1 =3D val; break; =20 case 1: + DPRINTF("SCSICSR2 Write: %"PRIx64 "\n", val); s->scsi_csr_2 =3D val; break; =20 @@ -868,10 +851,12 @@ static uint64_t next_scsi_csr_read(void *opaque, hwad= dr addr, unsigned size) =20 switch (addr) { case 0: + DPRINTF("SCSI 4020 STATUS READ %X\n", s->scsi_csr_1); val =3D s->scsi_csr_1; break; =20 case 1: + DPRINTF("SCSI 4021 STATUS READ %X\n", s->scsi_csr_2); val =3D s->scsi_csr_2; break; =20 --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674196193176.22904731340122; Wed, 23 Oct 2024 02:03:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDX-0000TO-35; Wed, 23 Oct 2024 04:59:47 -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 1t3XDV-0000OE-0s for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:45 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDT-0000Lr-Es for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:44 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XD9-0008EL-4n; Wed, 23 Oct 2024 09:59:27 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=GU4QjM+2048QbLKA96q1WvPb15JSkUQ7o03Nxy+uq+A=; b=0g+3883WDXBgMbjTT9dTS7jijw VJE3OkrafUAWyiYBPiHbzQ7OH0xTRyciI2citarwR1Y0QnxRCk6RTFa2BdPY6iHPuy479vWFzgg1B 60I9DSy0W/Ff4wOdSh4Va46jGS1vqsQWgu/nHA0kLlD6TBLSXW+s9JIIXqNfx5z1q7gNy4uu18h2n qB8n0rj2cXp2HLvvnlQye6huo1bKQoLXTK27ZIM6Nyo+ulAybix3gdmmGh8VrJ3IA9CCk5a6+M+VB Xf04HOYNwo1kBxnLE+Ap7bX0c1q1l9eSBarzipoegzolnIHkFd4ldBBWtqSHq/VkAHt0/NIbxIKEW qU4KxMQvvIL6CxWiyRltf9fs+sUwc0s55a5Hk1bWmyjxp99qLx6E/18yEPCfQoRpylSsXjj1b4Xlh 2lt5fOfVPCAe3PmcD2MYefwWODzyfSoHiSWtnoO/ORzIU7OMvuZq7AFERRB6B40AfN71J51E7/iDm iHNAXVGQbK05tn+jVQIW7GxEysKdB4qPnFrfufgylxET7eO2QpbRmSZZElm4HRRw9qdE8FpZ1Fy4k IQNQYVzQcXx54iYr9kwnypyZ7gochLzRzt0fpbx6qBlmiuFPQzs0rmTJdk8zNXvAFBBpHGJo8dznE zd1fW9wKYO1Uqa+Kf1iV9w/s1ikF8D6dMjb8IbXd0=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:27 +0100 Message-Id: <20241023085852.1061031-12-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 11/36] next-cube: move floppy disk MMIO to separate memory region in next-pc X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674197018116600 Content-Type: text/plain; charset="utf-8" The dummy floppy disk device is part of the next-pc device, and not related= to the NeXTCube SCRs. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 61 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 12 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 22da777006..f1a50ec737 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -108,6 +108,7 @@ struct NeXTPC { =20 M68kCPU *cpu; =20 + MemoryRegion floppy_mem; MemoryRegion mmiomem; MemoryRegion scrmem; =20 @@ -368,11 +369,6 @@ static uint64_t next_scr_readfn(void *opaque, hwaddr a= ddr, unsigned size) uint64_t val; =20 switch (addr) { - case 0x14108: - DPRINTF("FD read @ %x\n", (unsigned int)addr); - val =3D 0x40 | 0x04 | 0x2 | 0x1; - break; - /* * These 4 registers are the hardware timer, not sure which register * is the latch instead of data, but no problems so far. @@ -402,13 +398,6 @@ static void next_scr_writefn(void *opaque, hwaddr addr= , uint64_t val, unsigned size) { switch (addr) { - case 0x14108: - DPRINTF("FDCSR Write: %"PRIx64 "\n", val); - if (val =3D=3D 0x0) { - /* qemu_irq_raise(s->fd_irq[0]); */ - } - break; - /* Hardware timer latch - not implemented yet */ case 0x1a000: default: @@ -948,6 +937,47 @@ static const TypeInfo next_scsi_info =3D { .class_init =3D next_scsi_class_init, }; =20 +static void next_floppy_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) +{ + switch (addr) { + case 0: + DPRINTF("FDCSR Write: %"PRIx64 "\n", val); + if (val =3D=3D 0x0) { + /* qemu_irq_raise(s->fd_irq[0]); */ + } + break; + + default: + g_assert_not_reached(); + } +} + +static uint64_t next_floppy_read(void *opaque, hwaddr addr, unsigned size) +{ + uint64_t val; + + switch (addr) { + case 0: + DPRINTF("FD read @ %x\n", (unsigned int)addr); + val =3D 0x40 | 0x04 | 0x2 | 0x1; + break; + + default: + g_assert_not_reached(); + } + + return val; +} + +static const MemoryRegionOps next_floppy_ops =3D { + .read =3D next_floppy_read, + .write =3D next_floppy_write, + .valid.min_access_size =3D 1, + .valid.max_access_size =3D 4, + .endianness =3D DEVICE_BIG_ENDIAN, +}; + static void next_escc_init(DeviceState *pcdev) { DeviceState *dev; @@ -1006,6 +1036,10 @@ static void next_pc_realize(DeviceState *dev, Error = **errp) =20 s->scsi_reset =3D qdev_get_gpio_in(d, 0); s->scsi_dma =3D qdev_get_gpio_in(d, 1); + + /* Floppy */ + memory_region_add_subregion(&s->scrmem, 0x14108, + &s->floppy_mem); } =20 static void next_pc_init(Object *obj) @@ -1024,6 +1058,9 @@ static void next_pc_init(Object *obj) sysbus_init_mmio(sbd, &s->scrmem); =20 object_initialize_child(obj, "next-scsi", &s->next_scsi, TYPE_NEXT_SCS= I); + + memory_region_init_io(&s->floppy_mem, OBJECT(s), &next_floppy_ops, s, + "next.floppy", 4); } =20 /* --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674114687543.5688622717655; Wed, 23 Oct 2024 02:01:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDb-0000cI-86; Wed, 23 Oct 2024 04:59:51 -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 1t3XDZ-0000Vr-4B for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:49 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDX-0000MN-Q1 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:48 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDD-0008EL-Lg; Wed, 23 Oct 2024 09:59:31 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=EoTiya6VZ0j7GKq46XagFLfXrslNtHrc3JXeyQosHJA=; b=KJ1vGpKCpYJHIm+Mdo3zoV8WRi vRG+ByWUyBTBdv3XATlgjdm97d8Fjoge0B75PnLRdf8DbrrdLiNdfwmJMo7rei7fs7iCwtuHdKZat +/T6cF60/SRE6Y2ANM73C5BYbtENO/a7zNOzV/M7mESeu+scCuG9koDKFaKnllX4UD1Am7myVOZwx mTeotEIw7E0N+Cqn5F61NJKUfXSsS6ME8PkmIemrokYwE1jzY7CXvyYJSdLjjeivviLvZgiXJTKtC H730V8k1AEGs21FM+FNMcAURj5fOGXIOQBpne2+VHXwXEhIyN4Z3odJlpK6WMEHAoRaoBcTCTwk0T wrznrU2cJXqjcHzQyGlv5ck28f+/7GSibG9hTnhGX/D8rstpzFsJD+VnzYZjUHGFzugve+SW7Ph9J SlLlGZipxtgX0Qaxrp6q3ahmTtJKZ2ysTNBaTi+TAGC60tDMJoeH+jrvsRhCQUgg2t61fwRV0TY3O isBQw4GDiwIWopBBMZoLPc0CtLpurzXquPpJLGqiR60Er5aiKlKwCCVsh/BFtieNLd22WCPasRQ6i Xngp8DhVAN2fyaoskBIsvvRGRuZXs65fTzinOi0H2iFiQIKlfbHiig1VP1Ac1iE0NLQoJjDHx0psw ch8+zy0Ie6EJDtAwbmavceRdWCBKPj13vtEgHcOSE=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:28 +0100 Message-Id: <20241023085852.1061031-13-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 12/36] next-cube: map ESCC registers as a subregion of the next.scr memory region X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674116584116600 Content-Type: text/plain; charset="utf-8" Since the ESCC device exists within the memory range of the next.scr memory= region, map the ESCC device registers as a subregion of the next.scr memory region inst= ead of directly to the system address space. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index f1a50ec737..7f714640da 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -980,6 +980,7 @@ static const MemoryRegionOps next_floppy_ops =3D { =20 static void next_escc_init(DeviceState *pcdev) { + NeXTPC *next_pc =3D NEXT_PC(pcdev); DeviceState *dev; SysBusDevice *s; =20 @@ -997,7 +998,9 @@ static void next_escc_init(DeviceState *pcdev) sysbus_realize_and_unref(s, &error_fatal); sysbus_connect_irq(s, 0, qdev_get_gpio_in(pcdev, NEXT_SCC_I)); sysbus_connect_irq(s, 1, qdev_get_gpio_in(pcdev, NEXT_SCC_DMA_I)); - sysbus_mmio_map(s, 0, 0x2118000); + + memory_region_add_subregion(&next_pc->scrmem, 0x18000, + sysbus_mmio_get_region(s, 0)); } =20 static void next_pc_reset(DeviceState *dev) --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674050954981.2029856307659; Wed, 23 Oct 2024 02:00:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDc-0000dY-Pz; Wed, 23 Oct 2024 04:59:52 -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 1t3XDa-0000a2-1n for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:50 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDY-0000MW-HT for qemu-devel@nongnu.org; Wed, 23 Oct 2024 04:59:49 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDI-0008EL-5l; Wed, 23 Oct 2024 09:59:32 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=evm69BBfWFDM8NB+iqopEmx8dDp6vhesKr29nHSWe7k=; b=x55XxXhNN1W4TbtrCEvlgMFhHQ 862lhD3jHbWl8GWpJahXG0NpxUwSpP8+vn+8lZEIFD/nIlZ88gPNrnqoJUk+Txk4raLFLfHXvHLg0 PmtdYnZXsYJE60d30CUTKWc1se0m439kuy0x7EvWBrMwkkCyZCtcyQFLKC7/qb18QO9jmQcgJa1Ef nu0HiIXcdvIAFvB6yfcBf2j5ZU98DyK9kXmuItIuKhnJUaJidK088CnYZhKYFWr9BXUaRLNnx9ucE ntEdWaFNuF8dV8D/g3g5a4PrWyVPznjBtZ9a5v/B8rX7jHCzBML2kIwFnun90XR1sLAKCElqXx/NH kun+gxtJoVVk8EaaR5fQ9TQpQb9ORNsWpRCLcfK/mjwxJnzShqUxNcvfhkBfeVcVr/SoL4Owdo0jL 56R6W2hFhuhv0ERrBT7faTUXbMAJeObefjMsMq+ssNejzp82DLf0csTdOSocajuuu7GP0WVDagzbX zt6zIaaes/oE0O0TAmuaByAY3G+JZzQHvBZ+M1xxCaenvQC3OPhNbR0PiNPiCdGmZa+yQKfRnsFV6 3VsMm44PF0yJ5x3rEDo2CDhFyF5Iws21ZBmS/NUzfOAIDaJOdIiVOK0m46NDozeV7EUjSOEbfr1SM fwEhkCBBT45fIedBBkicYaSP1kpUXB4ojDwyeqNIY=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:29 +0100 Message-Id: <20241023085852.1061031-14-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 13/36] next-cube: move ESCC to be QOM child of next-pc device X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674052105116600 Content-Type: text/plain; charset="utf-8" Since the ESCC is part of the next-pc device, move the ESCC to be a QOM chi= ld of the next-pc device. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 54 ++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 7f714640da..915dd80f6f 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -124,6 +124,8 @@ struct NeXTPC { qemu_irq scsi_reset; qemu_irq scsi_dma; =20 + ESCCState escc; + NextRtc rtc; }; =20 @@ -978,31 +980,6 @@ static const MemoryRegionOps next_floppy_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 -static void next_escc_init(DeviceState *pcdev) -{ - NeXTPC *next_pc =3D NEXT_PC(pcdev); - DeviceState *dev; - SysBusDevice *s; - - dev =3D qdev_new(TYPE_ESCC); - qdev_prop_set_uint32(dev, "disabled", 0); - qdev_prop_set_uint32(dev, "frequency", 9600 * 384); - qdev_prop_set_uint32(dev, "it_shift", 0); - qdev_prop_set_bit(dev, "bit_swap", true); - qdev_prop_set_chr(dev, "chrB", serial_hd(1)); - qdev_prop_set_chr(dev, "chrA", serial_hd(0)); - qdev_prop_set_uint32(dev, "chnBtype", escc_serial); - qdev_prop_set_uint32(dev, "chnAtype", escc_serial); - - s =3D SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(s, &error_fatal); - sysbus_connect_irq(s, 0, qdev_get_gpio_in(pcdev, NEXT_SCC_I)); - sysbus_connect_irq(s, 1, qdev_get_gpio_in(pcdev, NEXT_SCC_DMA_I)); - - memory_region_add_subregion(&next_pc->scrmem, 0x18000, - sysbus_mmio_get_region(s, 0)); -} - static void next_pc_reset(DeviceState *dev) { NeXTPC *s =3D NEXT_PC(dev); @@ -1043,6 +1020,28 @@ static void next_pc_realize(DeviceState *dev, Error = **errp) /* Floppy */ memory_region_add_subregion(&s->scrmem, 0x14108, &s->floppy_mem); + + /* ESCC */ + d =3D DEVICE(object_resolve_path_component(OBJECT(dev), "escc")); + qdev_prop_set_uint32(d, "disabled", 0); + qdev_prop_set_uint32(d, "frequency", 9600 * 384); + qdev_prop_set_uint32(d, "it_shift", 0); + qdev_prop_set_bit(d, "bit_swap", true); + qdev_prop_set_chr(d, "chrB", serial_hd(1)); + qdev_prop_set_chr(d, "chrA", serial_hd(0)); + qdev_prop_set_uint32(d, "chnBtype", escc_serial); + qdev_prop_set_uint32(d, "chnAtype", escc_serial); + + sbd =3D SYS_BUS_DEVICE(d); + if (!sysbus_realize(sbd, errp)) { + return; + } + sysbus_connect_irq(sbd, 0, qdev_get_gpio_in(dev, NEXT_SCC_I)); + sysbus_connect_irq(sbd, 1, qdev_get_gpio_in(dev, NEXT_SCC_DMA_I)); + + memory_region_add_subregion(&s->scrmem, 0x18000, + sysbus_mmio_get_region(sbd, 0)); + } =20 static void next_pc_init(Object *obj) @@ -1064,6 +1063,8 @@ static void next_pc_init(Object *obj) =20 memory_region_init_io(&s->floppy_mem, OBJECT(s), &next_floppy_ops, s, "next.floppy", 4); + + object_initialize_child(obj, "escc", &s->escc, TYPE_ESCC); } =20 /* @@ -1201,9 +1202,6 @@ static void next_cube_init(MachineState *machine) } } =20 - /* Serial */ - next_escc_init(pcdev); - /* TODO: */ /* Network */ =20 --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674014771433.23092912232164; Wed, 23 Oct 2024 02:00:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDr-0001St-VS; Wed, 23 Oct 2024 05:00:08 -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 1t3XDp-0001Lb-1f for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:05 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDn-0000Mo-9o for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:04 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDI-0008EL-Sl; Wed, 23 Oct 2024 09:59:37 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=wuCOgIx0u8iDtUKAWpWde2SdyjsVJfxwT4NhDTiKqMg=; b=pjahXJthNWOfYVTZEhCy5MLuty n+EBWuNcW5oFmEn2thOULGdR0PZLnUv1XH/uyGb1jrK9Pe3RqXG82Ic5394WML1D27h3Z5GmSnC7Q EeOL8HHwv8MHilxGhio5v5Q2Vy1aI09HazNRB70FFSJz7JnB9lyUV5XmhmQK5R01igXcXo0djNe62 AQIQhAbZtnVk2u7xfpHJJxbkUDX/CDWyKxpU3e9TMi+aGL87BRxPf+uWiyYDdD4WPNbMudgD2MiGB ZeT3stk2Uo2QTe6BBYbVXv95StLHF/XbUF2//uQyCn2fMCcrcKddpFf0jOxxLF9RzLfyaqzi7sSe3 dv6igQUd/nzlY4Mx6Rai2BvLmSie03r/kL+M3k/AFLRXAqa+I1aV11o+/wKPsaadBzVErN0EgLd83 Y79t7KierUAgxgPJkpfokRUyMieTIUOvjaCf2SsJaOYXnKt7iNf2hASGxc1xvzmjzbt1H78cFVEAg NVnlbCmQsTePe9aDz2w+2mp165m2ZoLHgrVd41k2UOuAgLJlLAeTMSzdkrQhaGvnyrmfnfFfK+Hd2 KWKK+0YX/Qab0oEQDm9YXb4XNJwbMT6OtWp0Bvnd2z919TMoHuhE481fRmPqXVc4vPjJB1/hFYT1G 0wO67QWPcP2oMzL26vxwD5GoFyJkTDTfpQ4dV8YbA=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:30 +0100 Message-Id: <20241023085852.1061031-15-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 14/36] next-cube: move timer MMIO to separate memory region on next-pc device X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674016047116600 Content-Type: text/plain; charset="utf-8" Move the timer MMIO accesses to a separate memory region on the next-pc dev= ice instead of being part of the next.scr MMIO memory region. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 63 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 915dd80f6f..402aa7ea8e 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -109,6 +109,7 @@ struct NeXTPC { M68kCPU *cpu; =20 MemoryRegion floppy_mem; + MemoryRegion timer_mem; MemoryRegion mmiomem; MemoryRegion scrmem; =20 @@ -371,17 +372,6 @@ static uint64_t next_scr_readfn(void *opaque, hwaddr a= ddr, unsigned size) uint64_t val; =20 switch (addr) { - /* - * These 4 registers are the hardware timer, not sure which register - * is the latch instead of data, but no problems so far. - * - * Hack: We need to have the LSB change consistently to make it work - */ - case 0x1a000 ... 0x1a003: - val =3D extract32(clock(), (4 - (addr - 0x1a000) - size) << 3, - size << 3); - break; - /* For now return dummy byte to allow the Ethernet test to timeout */ case 0x6000: val =3D 0xff; @@ -400,8 +390,6 @@ static void next_scr_writefn(void *opaque, hwaddr addr,= uint64_t val, unsigned size) { switch (addr) { - /* Hardware timer latch - not implemented yet */ - case 0x1a000: default: DPRINTF("BMAP Write @ 0x%x with 0x%"PRIx64 " size %u\n", (unsigned int)addr, val, size); @@ -980,6 +968,50 @@ static const MemoryRegionOps next_floppy_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 +static void next_timer_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) +{ + switch (addr) { + case 0 ... 3: + /* Hardware timer latch - not implemented yet */ + break; + + default: + g_assert_not_reached(); + } +} + +static uint64_t next_timer_read(void *opaque, hwaddr addr, unsigned size) +{ + uint64_t val; + + switch (addr) { + case 0 ... 3: + /* + * These 4 registers are the hardware timer, not sure which regist= er + * is the latch instead of data, but no problems so far. + * + * Hack: We need to have the LSB change consistently to make it wo= rk + */ + val =3D extract32(clock(), (4 - addr - size) << 3, + size << 3); + break; + + default: + g_assert_not_reached(); + } + + return val; +} + +static const MemoryRegionOps next_timer_ops =3D { + .read =3D next_timer_read, + .write =3D next_timer_write, + .valid.min_access_size =3D 1, + .valid.max_access_size =3D 4, + .endianness =3D DEVICE_BIG_ENDIAN, +}; + static void next_pc_reset(DeviceState *dev) { NeXTPC *s =3D NEXT_PC(dev); @@ -1042,6 +1074,8 @@ static void next_pc_realize(DeviceState *dev, Error *= *errp) memory_region_add_subregion(&s->scrmem, 0x18000, sysbus_mmio_get_region(sbd, 0)); =20 + /* Timer */ + memory_region_add_subregion(&s->scrmem, 0x1a000, &s->timer_mem); } =20 static void next_pc_init(Object *obj) @@ -1065,6 +1099,9 @@ static void next_pc_init(Object *obj) "next.floppy", 4); =20 object_initialize_child(obj, "escc", &s->escc, TYPE_ESCC); + + memory_region_init_io(&s->timer_mem, OBJECT(s), &next_timer_ops, s, + "next.timer", 4); } =20 /* --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674030741255.69516249607068; Wed, 23 Oct 2024 02:00:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDu-0001XH-Hj; Wed, 23 Oct 2024 05:00:10 -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 1t3XDp-0001N0-PX for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:07 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDn-0000Mu-OV for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:05 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDN-0008EL-FK; Wed, 23 Oct 2024 09:59:37 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=jHCPHwYNdJVTOr6wFMmpu+w67QlujWQpzGyzvLt7Qgc=; b=aQsPnB2xFLAh+Z5IB5qqY1jPfs +9KlkIpNo6ABXPiGbRRdQjH/HBNpAtqEc3YZrJBDtjs5Rk5+G9qcrnnY2/OG7z5ABHVCWUOEgy2pm RNsrY6XkhJst9WtHH80vQM0x/yzrpXM15+9/kzC9J83Bn+UyP3o7eXCAGyUzkmaVNC1zn+LpqRGeP dgc1fEtJfjq1ZMeiemAyyTsWj6BKcMzbNRGzmEucfC+eUSNH5HzdomIYEyP6bBjbknO8ucdXm3xEs UTeJFZufG8D0R7NfCjGp9Cnv7FcssOWQ4CK43PdixWnZ0VZ7AFxp8xdfurrgrZhxBW9AfnqXem+xK otD218BzInbM9nrp77i/8638kwzlYh3VTalY4qR5i5ImfujjrML+6UCPKmp1JUZ8XCgNzhIzjhVmh ofpCSOVHk92rEFwHeG5UDqQ6qZLPh3qHwrPoPKf/wkSXUFJXHYpMrJn2LgaBPdL8qGI2twLBORfvl 5g4fVmnY6OJRyxd6sr0OMVXmbh8MlhIt0QbrdclWo1gXKcZs0d90fbVoO9n/thJIkiG/tKCON0hLF OqjJBmORKyRk62xRagAsOVzrSd5LBLJNXTR7vNfDlDHCOr3FlFxnULtoUHGgeMhdHf7cn6QeuL6+L xBUS8fFsSNRPwDQBC0umqFlOPsBaF0iDCb243A1nQ=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:31 +0100 Message-Id: <20241023085852.1061031-16-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 15/36] next-cube: move en ethernet MMIO to separate memory region on next-pc device X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674032239116600 Content-Type: text/plain; charset="utf-8" Move the en ethernet MMIO accesses to a separate memory region on the next-= pc device instead of being part of the next.scr MMIO memory region. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 48 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 402aa7ea8e..3278970890 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -110,6 +110,7 @@ struct NeXTPC { =20 MemoryRegion floppy_mem; MemoryRegion timer_mem; + MemoryRegion dummyen_mem; MemoryRegion mmiomem; MemoryRegion scrmem; =20 @@ -372,11 +373,6 @@ static uint64_t next_scr_readfn(void *opaque, hwaddr a= ddr, unsigned size) uint64_t val; =20 switch (addr) { - /* For now return dummy byte to allow the Ethernet test to timeout */ - case 0x6000: - val =3D 0xff; - break; - default: DPRINTF("BMAP Read @ 0x%x size %u\n", (unsigned int)addr, size); val =3D 0; @@ -1012,6 +1008,38 @@ static const MemoryRegionOps next_timer_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 +static void next_dummy_en_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) +{ + /* Do nothing */ + return; +} + +static uint64_t next_dummy_en_read(void *opaque, hwaddr addr, unsigned siz= e) +{ + uint64_t val; + + switch (addr) { + case 0: + /* For now return dummy byte to allow the Ethernet test to timeout= */ + val =3D 0xff; + break; + + default: + val =3D 0; + } + + return val; +} + +static const MemoryRegionOps next_dummy_en_ops =3D { + .read =3D next_dummy_en_read, + .write =3D next_dummy_en_write, + .valid.min_access_size =3D 1, + .valid.max_access_size =3D 4, + .endianness =3D DEVICE_BIG_ENDIAN, +}; + static void next_pc_reset(DeviceState *dev) { NeXTPC *s =3D NEXT_PC(dev); @@ -1034,6 +1062,10 @@ static void next_pc_realize(DeviceState *dev, Error = **errp) SysBusDevice *sbd; DeviceState *d; =20 + /* en network (dummy) */ + memory_region_add_subregion(&s->scrmem, 0x6000, + &s->dummyen_mem); + /* SCSI */ sbd =3D SYS_BUS_DEVICE(&s->next_scsi); if (!sysbus_realize(sbd, errp)) { @@ -1093,6 +1125,9 @@ static void next_pc_init(Object *obj) sysbus_init_mmio(sbd, &s->mmiomem); sysbus_init_mmio(sbd, &s->scrmem); =20 + memory_region_init_io(&s->dummyen_mem, OBJECT(s), &next_dummy_en_ops, = s, + "next.en", 0x20); + object_initialize_child(obj, "next-scsi", &s->next_scsi, TYPE_NEXT_SCS= I); =20 memory_region_init_io(&s->floppy_mem, OBJECT(s), &next_floppy_ops, s, @@ -1239,9 +1274,6 @@ static void next_cube_init(MachineState *machine) } } =20 - /* TODO: */ - /* Network */ - /* DMA */ memory_region_init_io(&m->dmamem, NULL, &next_dma_ops, machine, "next.dma", 0x5000); --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674093431930.3791119803545; Wed, 23 Oct 2024 02:01:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XDz-0001gi-RW; Wed, 23 Oct 2024 05:00: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 1t3XDu-0001Y3-5l for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:10 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDs-0000N6-AZ for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:09 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDO-0008EL-2U; Wed, 23 Oct 2024 09:59:42 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=62yV6jFw3OK6jnsA0lQzJsjXvP3TJGM1iHN4+6yoExE=; b=cd1aPNmfGD6+ZrnKGED+C3ZCnD N7sQGLtpB97BPYOJAlEl+Rbv0cCa4V1zO6mwbUkfAefBiv5LibqW20pQ89KqNcgTEJZjvZk//aCnE jivF5992cHoKj+D+P8MT8ZIgTLJMtG6nUB+lJYE5bk3akc+K3l/EB+pkA0pmM7o5y0itDETY6dNBo OtWXEl8nDbIG1+Fz03kxIZf72XGZDnJeov6aaKWSEl7iMfALcaY3CQmwAWBIO6GVzxD49+D/3O5Ht j/BPTfuo5oniPwjbh72VGqjgQBdxpSkcSZb01dJp3addMhwwm1UNaA0MG42aukYzyTuMEfh44Ryvq RbRqURNCf8DB2rPBP4JlokTjXaU5kdyc2kUyw1tvvzhsG1eNRzsxZUmToZ0aWHGkNKORqxe29wOpq UxY4OPvVRNwr8z/l+R+6t3BAZzWrBhJ5XzF7O+uEZvV5mzopG4wZhaQJ4iZwhe4dpacS8RDx2Qm4B f8w+Ma30W6tqQPxQOrsXMQM8Znl8DiZ9veghsn8ZNeXnjWhLBGfpcXvb/1bGMAJjDgO7D++Kq226o V9L5pVjyz/V9ntu7Rtj6P4s6qQ+tJzs7CVim0/Ijyx9ySCFXZNf3ymrNsTgcJuzvUxJbiiSEsJcEN yH7Q6C7f4lgL9SpNNsp14UlZ3JivPODsyCN6hfBMA=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:32 +0100 Message-Id: <20241023085852.1061031-17-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 16/36] next-cube: add empty slots for unknown accesses to next.scr memory region X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674094481116600 Content-Type: text/plain; charset="utf-8" The next.scr memory is now effectively unused, however there are 3 separate= region accesses still logged that occur when booting a NeXTStep disk image. Use the empty_slot device to capture and ignore memory accesses to these 3 memory r= egions. Signed-off-by: Mark Cave-Ayland --- hw/m68k/Kconfig | 1 + hw/m68k/next-cube.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/hw/m68k/Kconfig b/hw/m68k/Kconfig index 0092cda4e9..aff769b30f 100644 --- a/hw/m68k/Kconfig +++ b/hw/m68k/Kconfig @@ -18,6 +18,7 @@ config NEXTCUBE depends on M68K select FRAMEBUFFER select ESCC + select EMPTY_SLOT =20 config Q800 bool diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 3278970890..ac6d3cb634 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -22,6 +22,7 @@ #include "qom/object.h" #include "hw/char/escc.h" /* ZILOG 8530 Serial Emulation */ #include "hw/block/fdc.h" +#include "hw/misc/empty_slot.h" #include "hw/qdev-properties.h" #include "qapi/error.h" #include "qemu/error-report.h" @@ -1239,6 +1240,11 @@ static void next_cube_init(MachineState *machine) /* BMAP IO - acts as a catch-all for now */ sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 1, 0x02100000); =20 + /* unknown */ + empty_slot_init("next.unknown", 0x02110000, 0x10); + empty_slot_init("next.unknown", 0x02112000, 0x10); + empty_slot_init("next.unknown", 0x02118004, 0x10); + /* BMAP memory */ memory_region_init_ram_flags_nomigrate(&m->bmapm1, NULL, "next.bmapmem= ", 64, RAM_SHARED, &error_fatal); --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674267471548.0277967518476; Wed, 23 Oct 2024 02:04:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XE7-0001tk-Dv; Wed, 23 Oct 2024 05:00:25 -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 1t3XDy-0001j5-KR for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:15 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDw-0000NS-To for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:14 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDS-0008EL-G8; Wed, 23 Oct 2024 09:59:46 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=CJLU2gf1PtR/4LdcpSn3IQ5UdBpQxuaoWhk57k0A3/E=; b=FHxgcIKkHZPvxQZmMCY+NsA645 dOgjEgxWX4rECUKejfveQV+T16H51R2caNlrGQib3c6qoBWeuoxlThjWGX9jvVgwo64IemuH53Yd4 rxQR6GQaMvu6NeHNK/1FkebLnh4TLISdGtyadeu4lt2QzknnnxywgYKJuKjlrBNj6/kYnwNg6/sbf FjvPZ2bE0J1Q657+NmFwPRC6Ee/QYunQgQUYIIv9wUpFJZXv3bqGztV1bTRlASQiOC/3G4abvWRQn EwatQH8nPnlm7ixrop1SleYm62Kg6ZK3FMnD6AvZOm2WKd9fi8XFzmRjInk82xOJXXzo7okk1Tw8X DLT89B+wOL4Ww9zM1dSVlB3nxHEo0IDiQUiUSw2C9hV1sOEhmZkLwztZqjT6HF0xroABdLnMmv7Bo SKJfj3h6PSCcG3GPGBzowsrerOqwg9ORvUANMkkXKa8OT6WJ185QgBonH+DsPepujtApjZjG+nDad vKoBXZP7RaAsnDZvAyZFDZgEjjB4wJ7SiZDGEKl1lYJo45iP+/X07kdxvQLQy+MDN3NNg+ZpcN577 2Pc+KD++1rXbeoaMH5zmSkteolBqFnlxPCBldeGIJn4rGWU1jQoTeWSHiPGkSZces6QAZhKfjk5A0 yL/8LhHnnYXNfMQr8uzAXHiklLSU2iVD19yKEMevo=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:33 +0100 Message-Id: <20241023085852.1061031-18-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 17/36] next-cube: remove unused next.scr memory region X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674269294116600 Content-Type: text/plain; charset="utf-8" Now that the next.scr memory region is unused it can be removed and the nex= t-pc devices mapped directly within the machine init function. This is the last remaining overlapping memory region within the NeXTCube machine. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 73 +++++++++++---------------------------------- 1 file changed, 18 insertions(+), 55 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index ac6d3cb634..9541f88dca 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -369,38 +369,6 @@ static const MemoryRegionOps next_mmio_ops =3D { #define SCSICSR_CPUDMA 0x10 /* if set, dma enabled */ #define SCSICSR_INTMASK 0x20 /* if set, interrupt enabled */ =20 -static uint64_t next_scr_readfn(void *opaque, hwaddr addr, unsigned size) -{ - uint64_t val; - - switch (addr) { - default: - DPRINTF("BMAP Read @ 0x%x size %u\n", (unsigned int)addr, size); - val =3D 0; - break; - } - - return val; -} - -static void next_scr_writefn(void *opaque, hwaddr addr, uint64_t val, - unsigned size) -{ - switch (addr) { - default: - DPRINTF("BMAP Write @ 0x%x with 0x%"PRIx64 " size %u\n", - (unsigned int)addr, val, size); - } -} - -static const MemoryRegionOps next_scr_ops =3D { - .read =3D next_scr_readfn, - .write =3D next_scr_writefn, - .valid.min_access_size =3D 1, - .valid.max_access_size =3D 4, - .endianness =3D DEVICE_BIG_ENDIAN, -}; - #define NEXTDMA_SCSI(x) (0x10 + x) #define NEXTDMA_FD(x) (0x10 + x) #define NEXTDMA_ENTX(x) (0x110 + x) @@ -1063,17 +1031,11 @@ static void next_pc_realize(DeviceState *dev, Error= **errp) SysBusDevice *sbd; DeviceState *d; =20 - /* en network (dummy) */ - memory_region_add_subregion(&s->scrmem, 0x6000, - &s->dummyen_mem); - /* SCSI */ sbd =3D SYS_BUS_DEVICE(&s->next_scsi); if (!sysbus_realize(sbd, errp)) { return; } - memory_region_add_subregion(&s->scrmem, 0x14000, - sysbus_mmio_get_region(sbd, 0)); =20 d =3D DEVICE(object_resolve_path_component(OBJECT(&s->next_scsi), "esp= ")); sysbus_connect_irq(SYS_BUS_DEVICE(d), 0, @@ -1082,10 +1044,6 @@ static void next_pc_realize(DeviceState *dev, Error = **errp) s->scsi_reset =3D qdev_get_gpio_in(d, 0); s->scsi_dma =3D qdev_get_gpio_in(d, 1); =20 - /* Floppy */ - memory_region_add_subregion(&s->scrmem, 0x14108, - &s->floppy_mem); - /* ESCC */ d =3D DEVICE(object_resolve_path_component(OBJECT(dev), "escc")); qdev_prop_set_uint32(d, "disabled", 0); @@ -1103,12 +1061,6 @@ static void next_pc_realize(DeviceState *dev, Error = **errp) } sysbus_connect_irq(sbd, 0, qdev_get_gpio_in(dev, NEXT_SCC_I)); sysbus_connect_irq(sbd, 1, qdev_get_gpio_in(dev, NEXT_SCC_DMA_I)); - - memory_region_add_subregion(&s->scrmem, 0x18000, - sysbus_mmio_get_region(sbd, 0)); - - /* Timer */ - memory_region_add_subregion(&s->scrmem, 0x1a000, &s->timer_mem); } =20 static void next_pc_init(Object *obj) @@ -1120,24 +1072,27 @@ static void next_pc_init(Object *obj) =20 memory_region_init_io(&s->mmiomem, OBJECT(s), &next_mmio_ops, s, "next.mmio", 0x9000); - memory_region_init_io(&s->scrmem, OBJECT(s), &next_scr_ops, s, - "next.scr", 0x20000); - sysbus_init_mmio(sbd, &s->mmiomem); - sysbus_init_mmio(sbd, &s->scrmem); =20 memory_region_init_io(&s->dummyen_mem, OBJECT(s), &next_dummy_en_ops, = s, "next.en", 0x20); + sysbus_init_mmio(sbd, &s->dummyen_mem); =20 object_initialize_child(obj, "next-scsi", &s->next_scsi, TYPE_NEXT_SCS= I); + sysbus_init_mmio(sbd, + sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->next_scsi),= 0)); =20 memory_region_init_io(&s->floppy_mem, OBJECT(s), &next_floppy_ops, s, "next.floppy", 4); + sysbus_init_mmio(sbd, &s->floppy_mem); =20 object_initialize_child(obj, "escc", &s->escc, TYPE_ESCC); + sysbus_init_mmio(sbd, + sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->escc), 0)); =20 memory_region_init_io(&s->timer_mem, OBJECT(s), &next_timer_ops, s, "next.timer", 4); + sysbus_init_mmio(sbd, &s->timer_mem); } =20 /* @@ -1237,13 +1192,21 @@ static void next_cube_init(MachineState *machine) /* MMIO */ sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 0, 0x02005000); =20 - /* BMAP IO - acts as a catch-all for now */ - sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 1, 0x02100000); - + /* en network (dummy) */ + sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 1, 0x02106000); /* unknown */ empty_slot_init("next.unknown", 0x02110000, 0x10); empty_slot_init("next.unknown", 0x02112000, 0x10); + /* SCSI */ + sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 2, 0x02114000); + /* Floppy */ + sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 3, 0x02114108); + /* ESCC */ + sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 4, 0x02118000); + /* unknown */ empty_slot_init("next.unknown", 0x02118004, 0x10); + /* Timer */ + sysbus_mmio_map(SYS_BUS_DEVICE(pcdev), 5, 0x0211a000); =20 /* BMAP memory */ memory_region_init_ram_flags_nomigrate(&m->bmapm1, NULL, "next.bmapmem= ", --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674035215515.4075961875084; Wed, 23 Oct 2024 02:00:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XE9-0001vm-Db; Wed, 23 Oct 2024 05:00:25 -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 1t3XDz-0001jf-GL for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:15 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XDx-0000OZ-Vg for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:15 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDX-0008EL-3U; Wed, 23 Oct 2024 09:59:47 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=AedC5yvyaKrJjlmi/7+EtW4aSwdqKKcglTh/UG0YVcU=; b=BdSxp1kAR/h6zwBo2V6tPvphO5 +bOpxu5nd3+btKtYjQJjwmg7HC4zgq6l3zPrY37LYWIS6K453ptIAIP2/Fwru8Z8DU9sbtqAk+sbJ jRRIOgOz7S2DNoWy4T8XnLby/c9p5176PNPNUrD9NLSQqKE+vxIPmP5V0cpgZJO+e/FQC1bRxal/7 /tyefyR+9DOHAVSP3TTFykP81urvdqnaNngi6OYc+Z3AnQaknT9AvWQzq1ef4gNNfv99S/HceJQcP YNjIwSDxg+sI2e4dL321g9SkhRFwdWbxbdrmROw7Etu5ChCIvhAYJAVTZ9u+bI35rfn8+Gj5Higea YuZeyvSlE8du2Rsmh2ROVPmd1sUln+q8+yfuogknv+5IVS2e7QXVdy3flgy7qSLrBscMosNR/upb2 Ngf5xNblTw7qZcNd2g8pD2yc9BG5XeSLd6ZyJQUJ6MFu1wFJ/6vJG8m+eGMZMfW7uGPbWabwIQB4/ 6/9QeEjYsKBA2SnyDB4uZ9STMzrhNG2FKJnQIsE2j/WtMfeRb/OXaBgKCMwlEe/xdqwQnLBpzPDc9 iU7QvTxfwusoe+Dmb6TJcJTah6jmLanipH3iSvkE/LtQo82s1P3gS+Mwh4Of2OpJuuE/Y2PQmrgnD 3rqLgqzLUoZYzGPsI6KZAb+T8VFjsuBZZcGx5AXFY=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:34 +0100 Message-Id: <20241023085852.1061031-19-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 18/36] next-cube: rearrange NeXTState declarations to improve readability X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674036092116600 Content-Type: text/plain; charset="utf-8" Move the NeXTState, next_dma and TYPE_NEXT_MACHINE definition to the same a= rea at the top of next-cube.c. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 64 ++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 9541f88dca..9829f49387 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -38,30 +38,10 @@ #define DPRINTF(fmt, ...) do { } while (0) #endif =20 -#define TYPE_NEXT_MACHINE MACHINE_TYPE_NAME("next-cube") -OBJECT_DECLARE_SIMPLE_TYPE(NeXTState, NEXT_MACHINE) - #define ENTRY 0x0100001e #define RAM_SIZE 0x4000000 #define ROM_FILE "Rev_2.5_v66.bin" =20 -typedef struct next_dma { - uint32_t csr; - - uint32_t saved_next; - uint32_t saved_limit; - uint32_t saved_start; - uint32_t saved_stop; - - uint32_t next; - uint32_t limit; - uint32_t start; - uint32_t stop; - - uint32_t next_initbuf; - uint32_t size; -} next_dma; - typedef struct NextRtc { int8_t phase; uint8_t ram[32]; @@ -72,18 +52,6 @@ typedef struct NextRtc { uint8_t retval; } NextRtc; =20 -struct NeXTState { - MachineState parent; - - MemoryRegion rom; - MemoryRegion rom2; - MemoryRegion dmamem; - MemoryRegion bmapm1; - MemoryRegion bmapm2; - - next_dma dma[10]; -}; - #define TYPE_NEXT_SCSI "next-scsi" OBJECT_DECLARE_SIMPLE_TYPE(NeXTSCSI, NEXT_SCSI) =20 @@ -132,6 +100,38 @@ struct NeXTPC { NextRtc rtc; }; =20 +typedef struct next_dma { + uint32_t csr; + + uint32_t saved_next; + uint32_t saved_limit; + uint32_t saved_start; + uint32_t saved_stop; + + uint32_t next; + uint32_t limit; + uint32_t start; + uint32_t stop; + + uint32_t next_initbuf; + uint32_t size; +} next_dma; + +#define TYPE_NEXT_MACHINE MACHINE_TYPE_NAME("next-cube") +OBJECT_DECLARE_SIMPLE_TYPE(NeXTState, NEXT_MACHINE) + +struct NeXTState { + MachineState parent; + + MemoryRegion rom; + MemoryRegion rom2; + MemoryRegion dmamem; + MemoryRegion bmapm1; + MemoryRegion bmapm2; + + next_dma dma[10]; +}; + /* Thanks to NeXT forums for this */ /* static const uint8_t rtc_ram3[32] =3D { --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 172967405233172.45773464843592; Wed, 23 Oct 2024 02:00:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEB-00022j-Gq; Wed, 23 Oct 2024 05:00:28 -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 1t3XE3-0001rw-GB for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:21 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XE2-0000UE-40 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:19 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDX-0008EL-QS; Wed, 23 Oct 2024 09:59:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=AIl9dcgBjs/BNzbTjDq9bdKlGEB3p1fydOhN1x9h4+4=; b=bqYUwH3wr3nfmTLttUERPnlgYi x3j4hA5C58b3t5qyCbvVKx9GSE+0+KIroEJfz+JuDYCZYv7ilwmA70RPE+vYeQ9bCKwfH6qVl/kJd CtCUHZkHBsGxiucMe/PXfzpEdICenHEg/u8QVtt2Sn/gju2PnHwfgozpn6B77dSBwT631MwPgEvYG yPSk42cIsHTJXQokAEFdMb07iBKz4QyJo6mGFe4V9Awp1HTKqrx8Yn9HLQrAP9tWU0L4IY2VpNEqp 0w7Muq2YwUv8s1KYdo5+ikERBs43Vw1S2TQFTgqF6V1exDBXP4Np0LOUCovcRui43F0/AMsL0vRJ7 JimSni+KQozGLvpcUa/L5X6DdUmmKDW9IrsMgv5kgprfMx2u4hmqm4qP7nCvK3ukysKUMGqDCMG4P kXgw9dTWy4L1iTBFaX7wZNN+lKjT3jdVqp8S3lMcdZ3zTRQB+BDFow9dyDi0bffbj+9cyAxFYHO8v AVIyevWIF2hJdUdcGdZ94/c1G7sS5X74lx2MZ/5PQTVuyQuirDemM5NbKl8UAPqkfE77gbSJy16xr Gm5/MIMEWSncU+TROXcLBbujYPD/4VXz5rb9vG/msu+7TPiGIXEM2LPTusETFLrKkuU+m1vDkxLLV at8SPGiDHjyeTBKkc6Fv6Scquowxz1SIjwehxgDH8=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:35 +0100 Message-Id: <20241023085852.1061031-20-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 19/36] next-cube: convert next-pc device to use Resettable interface X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674054108116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Mark Cave-Ayland Acked-by: Thomas Huth --- hw/m68k/next-cube.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 9829f49387..c44a1c6f0c 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -1009,9 +1009,9 @@ static const MemoryRegionOps next_dummy_en_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 -static void next_pc_reset(DeviceState *dev) +static void next_pc_reset_hold(Object *obj, ResetType type) { - NeXTPC *s =3D NEXT_PC(dev); + NeXTPC *s =3D NEXT_PC(obj); =20 /* Set internal registers to initial values */ /* 0x0000XX00 << vital bits */ @@ -1141,12 +1141,13 @@ static const VMStateDescription next_pc_vmstate =3D= { static void next_pc_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + ResettableClass *rc =3D RESETTABLE_CLASS(klass); =20 dc->desc =3D "NeXT Peripheral Controller"; dc->realize =3D next_pc_realize; - device_class_set_legacy_reset(dc, next_pc_reset); device_class_set_props(dc, next_pc_properties); dc->vmsd =3D &next_pc_vmstate; + rc->phases.hold =3D next_pc_reset_hold; } =20 static const TypeInfo next_pc_info =3D { --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674048352774.7835123399758; Wed, 23 Oct 2024 02:00:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEG-00028P-0P; Wed, 23 Oct 2024 05:00:35 -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 1t3XE7-0001wQ-SV for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:25 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XE6-0000ay-Gd for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:23 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDc-0008EL-An; Wed, 23 Oct 2024 09:59:56 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=JYUNgCBaSrNjNfi3V+GM52Q1gvx7zMGo9VvSL+qYecA=; b=dcS2lqvfmd0jbNOUEBX7ZDk22P 9PNqh1JANjMfq+bvjqVRTwoSiW6EY8dLuQp13yX/ca60jGZSGACWutRAXsI/MpDkBrIy4rL6X/d1Y StuMv7anQTYngbN4NDTUU9Y7bsurGLpUVTOoWnj7Le0/G6OtCP4J6okeEwaQQFcvwzwoP22Qky1rY q8hpYXy7LCm35ozXC9B0e7IYeVzFiiWaI9OPkN2EapPoHy1U6KMzcQe1m+n/7n6dpUQY7LoIJRpzq USrk/JY19CZkYVy+pJT3RUIAkMF0bZXmxRA1RQW+IkKlkMBS825iVPLF58SAnx9lNFgc4sn9+yP3C dGRIlrK6niuirky9nWzNUsgB/lvxm7Efhm97M7dsDQu6y2zDnEOnIP0eVzJu8V7P+6ugjRwDwRQO4 AA7vRdo7Z/8XIMIh4Xfd8ALgeFHF/WZRpg59Nlngl7UbQoqklE386nFi5BAGiIPcZ1n6/bKdrl9im j6DrJ7jAUk2SauHgcnTwjGAQxB6TsE59otknUJ1z/HJhcFKLCKuOcSd9ZFY063tgFlr0CLPDmCLbv nQSGNlXxov5omDQGw+gYXguC9rGj1PZ2j/2PGRjKn9Ut9Zd4aPUtMF3Itra5JEHkQR/hwFwK5PT4r Zs3WtcESH/CiSPLScDaiRDm8MFDqy4q0mUOWrzunc=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:36 +0100 Message-Id: <20241023085852.1061031-21-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 20/36] next-cube: rename typedef struct NextRtc to NeXTRTC X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674050233116600 Content-Type: text/plain; charset="utf-8" This brings the capitalisation in line with the other NeXTCube definitions. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index c44a1c6f0c..33297f01b8 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -42,7 +42,7 @@ #define RAM_SIZE 0x4000000 #define ROM_FILE "Rev_2.5_v66.bin" =20 -typedef struct NextRtc { +typedef struct NeXTRTC { int8_t phase; uint8_t ram[32]; uint8_t command; @@ -50,7 +50,7 @@ typedef struct NextRtc { uint8_t status; uint8_t control; uint8_t retval; -} NextRtc; +} NeXTRTC; =20 #define TYPE_NEXT_SCSI "next-scsi" OBJECT_DECLARE_SIMPLE_TYPE(NeXTSCSI, NEXT_SCSI) @@ -97,7 +97,7 @@ struct NeXTPC { =20 ESCCState escc; =20 - NextRtc rtc; + NeXTRTC rtc; }; =20 typedef struct next_dma { @@ -167,7 +167,7 @@ static void next_scr2_led_update(NeXTPC *s) static void next_scr2_rtc_update(NeXTPC *s) { uint8_t old_scr2, scr2_2; - NextRtc *rtc =3D &s->rtc; + NeXTRTC *rtc =3D &s->rtc; =20 old_scr2 =3D extract32(s->old_scr2, 8, 8); scr2_2 =3D extract32(s->scr2, 8, 8); @@ -1111,13 +1111,13 @@ static const VMStateDescription next_rtc_vmstate = =3D { .version_id =3D 2, .minimum_version_id =3D 2, .fields =3D (const VMStateField[]) { - VMSTATE_INT8(phase, NextRtc), - VMSTATE_UINT8_ARRAY(ram, NextRtc, 32), - VMSTATE_UINT8(command, NextRtc), - VMSTATE_UINT8(value, NextRtc), - VMSTATE_UINT8(status, NextRtc), - VMSTATE_UINT8(control, NextRtc), - VMSTATE_UINT8(retval, NextRtc), + VMSTATE_INT8(phase, NeXTRTC), + VMSTATE_UINT8_ARRAY(ram, NeXTRTC, 32), + VMSTATE_UINT8(command, NeXTRTC), + VMSTATE_UINT8(value, NeXTRTC), + VMSTATE_UINT8(status, NeXTRTC), + VMSTATE_UINT8(control, NeXTRTC), + VMSTATE_UINT8(retval, NeXTRTC), VMSTATE_END_OF_LIST() }, }; @@ -1133,7 +1133,7 @@ static const VMStateDescription next_pc_vmstate =3D { VMSTATE_UINT32(int_mask, NeXTPC), VMSTATE_UINT32(int_status, NeXTPC), VMSTATE_UINT32(led, NeXTPC), - VMSTATE_STRUCT(rtc, NeXTPC, 0, next_rtc_vmstate, NextRtc), + VMSTATE_STRUCT(rtc, NeXTPC, 0, next_rtc_vmstate, NeXTRTC), VMSTATE_END_OF_LIST() }, }; --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674195965936.3048076343217; Wed, 23 Oct 2024 02:03:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XES-0002V9-Ol; Wed, 23 Oct 2024 05:00:44 -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 1t3XEF-0002F4-LC for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:31 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEB-0000bi-4e for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:29 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDg-0008EL-Vh; Wed, 23 Oct 2024 10:00:01 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=plgyIRELuJgsSWoEKO5PlBOncWGcc+Kig0rZ6sIFh1w=; b=NHhBHOIKTimS3ozza1YqldFhTf tq6dwY0vGcXpkvSrn5F0DBQ/v4lBI+wOUcvS2fED4CR2khud+tEPS8tM4MKCzHSbvpkSnsz5OIoSu S2ANtd9WGwm2iM7qaL3GNZzyOAjdcL9/+pewhLv/0fbv9/f+6yROHTbJDGEovIHWmqDO5l1VOYRvF NPMsQOTbKWiS5G0MEVPjNsv4LueFlfnq1BSeQLIW0oQp3MiNkvBseL1c5YkY/ZeJpoqcx+4pZYJv5 RaJ3w/h8F73cQWlhEIG9T3C9kBScC/EPpn99d7pP6fvGMqY3zyQuU8EojZiIQ/bhLlCEvs6z0ZJHU AIclL6Na+H1Ud6PSTHEsR7T0H1/J7j3UMycLV7SYsjlvnTjqu0gOBS8etKpEcrL18/vWp1pgDbzMu Xb0HH3Ix2I2y22lKA1PkU0XFUR1u3E8PjBPBZIlK73FFR8zfArK1L0iP13KNdJD606X82ZZjIrQ0t KhUmvGetcGjbFc2o01vQkYyPM7IaBes0GJoF8oTD6zyHrtzl9PXfqeKwY1hZCHLpbLp7hs1kn1jlW Qa4INI9D4xpQJWPBIk5Dj7BWBnF2BFMT8Q0jEV+Tqsi/73/KZB0LJSieeKgvnC8fYBORI2LyfVCU8 G/cRYW/EzpZWGm/nBrMQnHOw+DOpdr1+kSAe18kY4=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:37 +0100 Message-Id: <20241023085852.1061031-22-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 21/36] next-cube: use qemu_irq to drive int_status in next_scr2_rtc_update() X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674196985116600 Content-Type: text/plain; charset="utf-8" Rather than directly clear bit 3 in int_status in next_scr2_rtc_update(), u= se a qemu_irq to drive the equivalent NEXT_PWR_I signal. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 33297f01b8..bb375b63ca 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -98,6 +98,7 @@ struct NeXTPC { ESCCState escc; =20 NeXTRTC rtc; + qemu_irq rtc_power_irq; }; =20 typedef struct next_dma { @@ -267,7 +268,7 @@ static void next_scr2_rtc_update(NeXTPC *s) /* clear FTU */ if (rtc->value & 0x04) { rtc->status =3D rtc->status & (~0x18); - s->int_status =3D s->int_status & (~0x04); + qemu_irq_lower(s->rtc_power_irq); } } } @@ -1093,6 +1094,8 @@ static void next_pc_init(Object *obj) memory_region_init_io(&s->timer_mem, OBJECT(s), &next_timer_ops, s, "next.timer", 4); sysbus_init_mmio(sbd, &s->timer_mem); + + s->rtc_power_irq =3D qdev_get_gpio_in(DEVICE(obj), NEXT_PWR_I); } =20 /* --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674121015351.6660931459228; Wed, 23 Oct 2024 02:02:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEU-0002bA-W2; Wed, 23 Oct 2024 05:00:47 -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 1t3XEL-0002NK-PW for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:43 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEF-0000bz-RM for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:33 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDl-0008EL-EH; Wed, 23 Oct 2024 10:00:05 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=w8gCVyqkhRz2bCL7+5ToSXDZkWqzb+mPrbuIc1HGRDQ=; b=ANx5FMAiX1KKzZlEacNA4RLVc6 UDpCgRTh6BnY93WHBihkUKLV8b20YoFUxxBTjRg6QosWBUk5l0JNC2JCiPmPNhf7VoR8e6UNXsavB CIMIPwiZcl0x/pDaQARFtHNtG0i/dOLUBFUC2eT9ovPmJEjUZerK55jzcGyRZtdemAZe1LfuWdGns yke15NbiiOc08AAQAjwlxRbTwq7aJyyBvc1oUkIiUsMWGUJObNeklh8KD2spgzltvIOtlP+6g36Bo o17WsE8nSCZBSRaxy8z1Dp9omJKPIR0y/G+ErdSlo3C5hWArwWIct+/Wi6nUoHIV3lXm1an1WHgvV 2zo66R5kx/wzqdclQcGvFNaB3S20fwYdzm2+rQ0uC5ceeEb1NzZpQ4qwXV3exMcjr6iSAwupvkQcg lEKAIQkFA8rzer/Mh1CnB5jOidw5THW4HpFJmDQx/YXbJ6yYajsvWbTXipocU9tuK7KKt/wPkgKqe O3NCxDSZBh98pXFh9ySMrXfz9pXKnIQgBuy6sK8nzQtWBfzFQKtDrDW3mckrznW5eR1KgWqYn9txA KT5Xpx1HrWqNyrdktDAcEpodZExCf8LZ/69rFJrkJaV1nNZ6Y5vIDqOgt8ugGyPb3QDd6NxShzoG4 RsIezOsBG13vn1c1hjVQM3meaTNbSdcyaAEeYQiGo=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:38 +0100 Message-Id: <20241023085852.1061031-23-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 22/36] next-cube: separate rtc read and write shift logic X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674122675116600 Content-Type: text/plain; charset="utf-8" Introduce a new next_rtc_cmd_is_write() function to determine if an rtc com= mand is a read or write, and start by using it to avoid shifting the rtc input v= alue if a rtc read command is executed. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 138 ++++++++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 64 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index bb375b63ca..4aed80c9fe 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -165,6 +165,12 @@ static void next_scr2_led_update(NeXTPC *s) } } =20 +static bool next_rtc_cmd_is_write(uint8_t cmd) +{ + return (cmd >=3D 0x80 && cmd <=3D 0x9f) || + (cmd =3D=3D 0xb1); +} + static void next_scr2_rtc_update(NeXTPC *s) { uint8_t old_scr2, scr2_2; @@ -186,76 +192,80 @@ static void next_scr2_rtc_update(NeXTPC *s) ((scr2_2 & SCR2_RTDATA) ? 1 : 0); } if (rtc->phase >=3D 8 && rtc->phase < 16) { - rtc->value =3D (rtc->value << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - - /* if we read RAM register, output RT_DATA bit */ - if (rtc->command <=3D 0x1F) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - if (rtc->ram[rtc->command] & (0x80 >> (rtc->phase - 8)= )) { - scr2_2 |=3D SCR2_RTDATA; - } - - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } - /* read the status 0x30 */ - if (rtc->command =3D=3D 0x30) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - /* for now status =3D 0x98 (new rtc + FTU) */ - if (rtc->status & (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; + if (next_rtc_cmd_is_write(rtc->command)) { + /* Shift in value to write */ + rtc->value =3D (rtc->value << 1) | + ((scr2_2 & SCR2_RTDATA) ? 1 : 0); + } else { + /* Shift out value to read */ + + /* if we read RAM register, output RT_DATA bit */ + if (rtc->command <=3D 0x1F) { + scr2_2 =3D scr2_2 & (~SCR2_RTDATA); + if (rtc->ram[rtc->command] & + (0x80 >> (rtc->phase - 8))) { + scr2_2 |=3D SCR2_RTDATA; + } + + rtc->retval =3D (rtc->retval << 1) | + ((scr2_2 & SCR2_RTDATA) ? 1 : 0); } - - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } - /* read the status 0x31 */ - if (rtc->command =3D=3D 0x31) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - if (rtc->control & (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; + /* read the status 0x30 */ + if (rtc->command =3D=3D 0x30) { + scr2_2 =3D scr2_2 & (~SCR2_RTDATA); + /* for now status =3D 0x98 (new rtc + FTU) */ + if (rtc->status & (0x80 >> (rtc->phase - 8))) { + scr2_2 |=3D SCR2_RTDATA; + } + + rtc->retval =3D (rtc->retval << 1) | + ((scr2_2 & SCR2_RTDATA) ? 1 : 0); } - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } - - if ((rtc->command >=3D 0x20) && (rtc->command <=3D 0x2F)) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - /* for now 0x00 */ - time_t time_h =3D time(NULL); - struct tm *info =3D localtime(&time_h); - int ret =3D 0; - - switch (rtc->command) { - case 0x20: - ret =3D SCR2_TOBCD(info->tm_sec); - break; - case 0x21: - ret =3D SCR2_TOBCD(info->tm_min); - break; - case 0x22: - ret =3D SCR2_TOBCD(info->tm_hour); - break; - case 0x24: - ret =3D SCR2_TOBCD(info->tm_mday); - break; - case 0x25: - ret =3D SCR2_TOBCD((info->tm_mon + 1)); - break; - case 0x26: - ret =3D SCR2_TOBCD((info->tm_year - 100)); - break; - + /* read the status 0x31 */ + if (rtc->command =3D=3D 0x31) { + scr2_2 =3D scr2_2 & (~SCR2_RTDATA); + if (rtc->control & (0x80 >> (rtc->phase - 8))) { + scr2_2 |=3D SCR2_RTDATA; + } + rtc->retval =3D (rtc->retval << 1) | + ((scr2_2 & SCR2_RTDATA) ? 1 : 0); } =20 - if (ret & (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; + if ((rtc->command >=3D 0x20) && (rtc->command <=3D 0x2= F)) { + scr2_2 =3D scr2_2 & (~SCR2_RTDATA); + /* for now 0x00 */ + time_t time_h =3D time(NULL); + struct tm *info =3D localtime(&time_h); + int ret =3D 0; + + switch (rtc->command) { + case 0x20: + ret =3D SCR2_TOBCD(info->tm_sec); + break; + case 0x21: + ret =3D SCR2_TOBCD(info->tm_min); + break; + case 0x22: + ret =3D SCR2_TOBCD(info->tm_hour); + break; + case 0x24: + ret =3D SCR2_TOBCD(info->tm_mday); + break; + case 0x25: + ret =3D SCR2_TOBCD((info->tm_mon + 1)); + break; + case 0x26: + ret =3D SCR2_TOBCD((info->tm_year - 100)); + break; + } + + if (ret & (0x80 >> (rtc->phase - 8))) { + scr2_2 |=3D SCR2_RTDATA; + } + rtc->retval =3D (rtc->retval << 1) | + ((scr2_2 & SCR2_RTDATA) ? 1 : 0); } - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); } - } =20 rtc->phase++; --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674181801643.6626492374481; Wed, 23 Oct 2024 02:03:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEW-0002nr-SR; Wed, 23 Oct 2024 05:00:49 -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 1t3XER-0002Oa-If for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:43 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEK-0000cM-AY for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:38 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDp-0008EL-Uv; Wed, 23 Oct 2024 10:00:10 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=nUcp+w8Fh2G1W3jfhfSio7O1n3oHdDz2TKbys7bs9Nc=; b=z+8d/yBahWykfPKg2Ot4cnVugf rvkaNgpreQRjJquAsQhs296X/hNajYOfGEcbLE/MdBURnec/2SHNy9bBe80MyFSD2dvvcSlGdBlKe JpAiIbQwhklGVKAoWi5nAtPLlQQNDSKpy0+V85XLWat+kLp4UrlQSQdQ1YzMH0plT4NF8LfBWgAxy Dei79WkHD9PdKPJjXK44+wUWD6qIX1h56d9/ceNXft50IHwKF8kpOfL+Jt3PthHJv7DGsZwxAw2yC 86uR6Fp7Yjlw8703HtNvmfHYIHFBoXVyAgFG64E4qkqfTin/0ptjpQXlC0unooW5g54RHVUcgNdoM 0eS/QggbkFVd/FVodqhb3OSgiX3gSH+Jc9AnhTb/j3TVtlwvD/7XHE2uaIFfA0HnrZrwe9H0DxVbF VOaKJnXipi6UrYVZUWnfvB3yr1HxEPZUEqxTR0fu+dQQ0sTOmOeWyIhRTLmhJiVhGO1ORp9NteJPR IegPA5bMV/Tem6nhPBVPiB6WMcdTgulUUyUxK5UQ+c+5IsBqFOClcKFhx0iFuDSkkoj5OCPCs/4N9 v3qzY2E9asPA4Vy00QQYW/NeOchUy69/eRe4gTHc2nKvVoLphJ7aN76yh0VZojy0kECMd3GIELlyx lzJcRtVeN9hHrJsxcYho9Y4R4fq9N3oqrQmAgKt7Q=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:39 +0100 Message-Id: <20241023085852.1061031-24-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 23/36] next-cube: always use retval to return rtc read values X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674182981116600 Content-Type: text/plain; charset="utf-8" Instead of shifting out rtc read values from individual rtc registers, chan= ge the logic so that rtc read commands are executed when the last bit of the r= tc command is received and the result stored in retval. This simplifies the rtc read logic such that the shift out logic can be consolidated for rtc phases between 8 and 16. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 99 ++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 59 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 4aed80c9fe..bca975065f 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -190,93 +190,74 @@ static void next_scr2_rtc_update(NeXTPC *s) if (rtc->phase < 8) { rtc->command =3D (rtc->command << 1) | ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } - if (rtc->phase >=3D 8 && rtc->phase < 16) { - if (next_rtc_cmd_is_write(rtc->command)) { - /* Shift in value to write */ - rtc->value =3D (rtc->value << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } else { - /* Shift out value to read */ =20 - /* if we read RAM register, output RT_DATA bit */ - if (rtc->command <=3D 0x1F) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - if (rtc->ram[rtc->command] & - (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; - } - - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } - /* read the status 0x30 */ - if (rtc->command =3D=3D 0x30) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - /* for now status =3D 0x98 (new rtc + FTU) */ - if (rtc->status & (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; - } - - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } - /* read the status 0x31 */ - if (rtc->command =3D=3D 0x31) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - if (rtc->control & (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; - } - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); + if (rtc->phase =3D=3D 7 && !next_rtc_cmd_is_write(rtc->com= mand)) { + if (rtc->command <=3D 0x1f) { + /* RAM registers */ + rtc->retval =3D rtc->ram[rtc->command]; } - if ((rtc->command >=3D 0x20) && (rtc->command <=3D 0x2= F)) { - scr2_2 =3D scr2_2 & (~SCR2_RTDATA); - /* for now 0x00 */ + /* RTC */ time_t time_h =3D time(NULL); struct tm *info =3D localtime(&time_h); - int ret =3D 0; + rtc->retval =3D 0; =20 switch (rtc->command) { case 0x20: - ret =3D SCR2_TOBCD(info->tm_sec); + rtc->retval =3D SCR2_TOBCD(info->tm_sec); break; case 0x21: - ret =3D SCR2_TOBCD(info->tm_min); + rtc->retval =3D SCR2_TOBCD(info->tm_min); break; case 0x22: - ret =3D SCR2_TOBCD(info->tm_hour); + rtc->retval =3D SCR2_TOBCD(info->tm_hour); break; case 0x24: - ret =3D SCR2_TOBCD(info->tm_mday); + rtc->retval =3D SCR2_TOBCD(info->tm_mday); break; case 0x25: - ret =3D SCR2_TOBCD((info->tm_mon + 1)); + rtc->retval =3D SCR2_TOBCD((info->tm_mon + 1)); break; case 0x26: - ret =3D SCR2_TOBCD((info->tm_year - 100)); + rtc->retval =3D SCR2_TOBCD((info->tm_year - 10= 0)); break; } - - if (ret & (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; - } - rtc->retval =3D (rtc->retval << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); + } + if (rtc->command =3D=3D 0x30) { + /* read the status 0x30 */ + rtc->retval =3D rtc->status; + } + if (rtc->command =3D=3D 0x31) { + /* read the control 0x31 */ + rtc->retval =3D rtc->control; + } + } + } + if (rtc->phase >=3D 8 && rtc->phase < 16) { + if (next_rtc_cmd_is_write(rtc->command)) { + /* Shift in value to write */ + rtc->value =3D (rtc->value << 1) | + ((scr2_2 & SCR2_RTDATA) ? 1 : 0); + } else { + /* Shift out value to read */ + if (rtc->retval & (0x80 >> (rtc->phase - 8))) { + scr2_2 |=3D SCR2_RTDATA; + } else { + scr2_2 &=3D ~SCR2_RTDATA; } } } =20 rtc->phase++; - if (rtc->phase =3D=3D 16) { - if (rtc->command >=3D 0x80 && rtc->command <=3D 0x9F) { + if (rtc->phase =3D=3D 16 && next_rtc_cmd_is_write(rtc->command= )) { + if (rtc->command >=3D 0x80 && rtc->command <=3D 0x9f) { + /* RAM registers */ rtc->ram[rtc->command - 0x80] =3D rtc->value; } - /* write to x30 register */ - if (rtc->command =3D=3D 0xB1) { - /* clear FTU */ + if (rtc->command =3D=3D 0xb1) { + /* write to 0x30 register */ if (rtc->value & 0x04) { + /* clear FTU */ rtc->status =3D rtc->status & (~0x18); qemu_irq_lower(s->rtc_power_irq); } --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674058734657.0276619864968; Wed, 23 Oct 2024 02:00:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEX-0002wA-O0; Wed, 23 Oct 2024 05:00:49 -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 1t3XES-0002XV-TF for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:44 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEP-0000cf-1y for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:44 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDu-0008EL-F8; Wed, 23 Oct 2024 10:00:14 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=zqxGnF/qV7BdR0oz3jvXLm+F7TTOtd3gMdpcwNcWh1c=; b=Q3XSDVyrJvu8byKfWx/uruwxhJ N0KMfGmC+f2gtWe9uDxrMTBDz/vnc3HTH+fsN7dBvMDVNH8Z46PHqxq8dcg+8aF4QOI2kBskdQw6w dNNnCXEtuUtz53HMNTnrdjrJM/G902IOa/pYQmooLs2konYZndKfGF4IBxe0paTx5uv7BBGqAeeli kegVY+CSB/U8AHZ2HrkkEKXmpd7/kAzuMd8J6D9JqeEPYX7lcy/XBCGfcpjcbXBm27q+quXFsu4Gn 0MGOc5jG154nT82Q9+GdDJBwOczU1ayk5xClOBiDXL06H1DMS3htCCh6dXQN9COV3dJjTEaygnILO T66xT9Sms9O7LEeDBJL11fNNTXJ8VyqBP/xexgJ0EFrHFogMsq4Mob8g/pEQBvYrOCP8Gd+I5YMwN 35L4Y8gWYEmsty8Fe7BR3fhsg6sLnejwUL8+pyIHfkQt72hp70idmeKzMw6lmQXsL4AkeskSu7DXU 0tHBeGlUD4h3XwUv6DXLsOeCu2RGcNF25nMzKyJO/xPXQ+B60F+Mn+xFX2juDI/QwhQ8vuqKWFlNu iKOQ9h2fa14FxOwTeuH5dBychQNk0HPmM5vdzyvSTJM1GWPIinReKrtvhvy03jIfp7213xtr15gpw g+QjCElSIhh1DqMcRmUBP8AeQk8P35rsESaQ1Y810=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:40 +0100 Message-Id: <20241023085852.1061031-25-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 24/36] next-cube: use named gpio to set RTC data bit in scr2 X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674060153116600 Content-Type: text/plain; charset="utf-8" This is in preparation for moving NeXTRTC to its own separate device. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index bca975065f..2a2e970830 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -240,10 +240,13 @@ static void next_scr2_rtc_update(NeXTPC *s) ((scr2_2 & SCR2_RTDATA) ? 1 : 0); } else { /* Shift out value to read */ + qemu_irq rtc_data_in_irq =3D qdev_get_gpio_in_named( + DEVICE(s), "pc-rtc-data-in", 0); + if (rtc->retval & (0x80 >> (rtc->phase - 8))) { - scr2_2 |=3D SCR2_RTDATA; + qemu_irq_raise(rtc_data_in_irq); } else { - scr2_2 &=3D ~SCR2_RTDATA; + qemu_irq_lower(rtc_data_in_irq); } } } @@ -270,8 +273,6 @@ static void next_scr2_rtc_update(NeXTPC *s) rtc->command =3D 0; rtc->value =3D 0; } - - s->scr2 =3D deposit32(s->scr2, 8, 8, scr2_2); } =20 static uint64_t next_mmio_read(void *opaque, hwaddr addr, unsigned size) @@ -1001,6 +1002,20 @@ static const MemoryRegionOps next_dummy_en_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 +static void next_pc_rtc_data_in_irq(void *opaque, int n, int level) +{ + NeXTPC *s =3D NEXT_PC(opaque); + uint8_t scr2_2 =3D extract32(s->scr2, 8, 8); + + if (level) { + scr2_2 |=3D SCR2_RTDATA; + } else { + scr2_2 &=3D ~SCR2_RTDATA; + } + + s->scr2 =3D deposit32(s->scr2, 8, 8, scr2_2); +} + static void next_pc_reset_hold(Object *obj, ResetType type) { NeXTPC *s =3D NEXT_PC(obj); @@ -1087,6 +1102,8 @@ static void next_pc_init(Object *obj) sysbus_init_mmio(sbd, &s->timer_mem); =20 s->rtc_power_irq =3D qdev_get_gpio_in(DEVICE(obj), NEXT_PWR_I); + qdev_init_gpio_in_named(DEVICE(obj), next_pc_rtc_data_in_irq, + "pc-rtc-data-in", 1); } =20 /* --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674252817701.9597885084908; Wed, 23 Oct 2024 02:04:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEa-0003LW-Bf; Wed, 23 Oct 2024 05:00:52 -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 1t3XEX-0002vA-AK for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:49 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEV-0000dC-Eq for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:49 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XDy-0008EL-VD; Wed, 23 Oct 2024 10:00:19 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=QY10F09QlfEQvbT6rSAMeZBWG/Liys0PzYKyrLbJLYk=; b=W8iNuhefZVgu383uoNHrH8aSTA C6sFGJCp0E2vGBlj/1vDsFnq5JFxGi6GsNHru4zcShsxE+JYGo13YuJxfabIVnqkbBUX9Mj2GKEj9 pIgIRWFcnYhrNtF+w/q9eV9ts/ZjQm18Y3F9j2ZUJX+emaxFVTnryf+Wa5tFHmbVG4pEv3Vv0khzR Jf2JJpCTY/xrClxBzPOdwCdljoONHL+pqhqi8ry5JCUdaSjLkdf+i9i1pTABRIHVDY8jSL1yGGCAB FzgCtCO+Gs9VatH1vhZ/EnMqZSyBRPBgq6zB7LrM4l1Fl8P+s86UbIcmy0ytayLFoP8APVpCWIJHr N+wY8qzS5mOYmxsdwgQ51UPivKy8W9R7tx/+GartFp/uttL71YEXzlDVfp5D5m6rFfNNnHp6yHYBu YdGThEEFj8MBuGI/8taLUDSGDTxvjQhYuD8KmH7tfy1vQ5nz78fhFQJ6R7y7C0ONbPo0ojEr7yWWC lyxEgZj0IMe8e80yw6LpYWlrh3CGR5Xc19EXdDHnqxjFMOvv69DfZO8ZUQovYdVr3FH5VtAdvU1yB wToQExVwFFEOnjFfyVekR14cNvK323R48Q7z64TvsxBJ37s6cCq71JrRj8M3cs4SELAnVjJfEWXTH 4Zr91GcWds7cLujuEUl3vZPdlwHImN8yo1yQn453w=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:41 +0100 Message-Id: <20241023085852.1061031-26-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 25/36] next-cube: use named gpio to read RTC data bit in scr2 X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674253284116600 Content-Type: text/plain; charset="utf-8" This is in preparation for moving NeXTRTC to its own separate device. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 169 ++++++++++++++++++++++++-------------------- 1 file changed, 92 insertions(+), 77 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 2a2e970830..43b2c775c0 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -171,6 +171,90 @@ static bool next_rtc_cmd_is_write(uint8_t cmd) (cmd =3D=3D 0xb1); } =20 +static void next_rtc_data_in_irq(void *opaque, int n, int level) +{ + NeXTPC *s =3D NEXT_PC(opaque); + NeXTRTC *rtc =3D &s->rtc; + + if (rtc->phase < 8) { + rtc->command =3D (rtc->command << 1) | level; + + if (rtc->phase =3D=3D 7 && !next_rtc_cmd_is_write(rtc->command)) { + if (rtc->command <=3D 0x1f) { + /* RAM registers */ + rtc->retval =3D rtc->ram[rtc->command]; + } + if ((rtc->command >=3D 0x20) && (rtc->command <=3D 0x2f)) { + /* RTC */ + time_t time_h =3D time(NULL); + struct tm *info =3D localtime(&time_h); + rtc->retval =3D 0; + + switch (rtc->command) { + case 0x20: + rtc->retval =3D SCR2_TOBCD(info->tm_sec); + break; + case 0x21: + rtc->retval =3D SCR2_TOBCD(info->tm_min); + break; + case 0x22: + rtc->retval =3D SCR2_TOBCD(info->tm_hour); + break; + case 0x24: + rtc->retval =3D SCR2_TOBCD(info->tm_mday); + break; + case 0x25: + rtc->retval =3D SCR2_TOBCD((info->tm_mon + 1)); + break; + case 0x26: + rtc->retval =3D SCR2_TOBCD((info->tm_year - 100)); + break; + } + } + if (rtc->command =3D=3D 0x30) { + /* read the status 0x30 */ + rtc->retval =3D rtc->status; + } + if (rtc->command =3D=3D 0x31) { + /* read the control 0x31 */ + rtc->retval =3D rtc->control; + } + } + } + if (rtc->phase >=3D 8 && rtc->phase < 16) { + if (next_rtc_cmd_is_write(rtc->command)) { + /* Shift in value to write */ + rtc->value =3D (rtc->value << 1) | level; + } else { + /* Shift out value to read */ + qemu_irq rtc_data_in_irq =3D qdev_get_gpio_in_named( + DEVICE(s), "pc-rtc-data-in", 0); + + if (rtc->retval & (0x80 >> (rtc->phase - 8))) { + qemu_irq_raise(rtc_data_in_irq); + } else { + qemu_irq_lower(rtc_data_in_irq); + } + } + } + + rtc->phase++; + if (rtc->phase =3D=3D 16 && next_rtc_cmd_is_write(rtc->command)) { + if (rtc->command >=3D 0x80 && rtc->command <=3D 0x9f) { + /* RAM registers */ + rtc->ram[rtc->command - 0x80] =3D rtc->value; + } + if (rtc->command =3D=3D 0xb1) { + /* write to 0x30 register */ + if (rtc->value & 0x04) { + /* clear FTU */ + rtc->status =3D rtc->status & (~0x18); + qemu_irq_lower(s->rtc_power_irq); + } + } + } +} + static void next_scr2_rtc_update(NeXTPC *s) { uint8_t old_scr2, scr2_2; @@ -187,84 +271,13 @@ static void next_scr2_rtc_update(NeXTPC *s) /* If we are in going down clock... do something */ if (((old_scr2 & SCR2_RTCLK) !=3D (scr2_2 & SCR2_RTCLK)) && ((scr2_2 & SCR2_RTCLK) =3D=3D 0)) { - if (rtc->phase < 8) { - rtc->command =3D (rtc->command << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - - if (rtc->phase =3D=3D 7 && !next_rtc_cmd_is_write(rtc->com= mand)) { - if (rtc->command <=3D 0x1f) { - /* RAM registers */ - rtc->retval =3D rtc->ram[rtc->command]; - } - if ((rtc->command >=3D 0x20) && (rtc->command <=3D 0x2= F)) { - /* RTC */ - time_t time_h =3D time(NULL); - struct tm *info =3D localtime(&time_h); - rtc->retval =3D 0; - - switch (rtc->command) { - case 0x20: - rtc->retval =3D SCR2_TOBCD(info->tm_sec); - break; - case 0x21: - rtc->retval =3D SCR2_TOBCD(info->tm_min); - break; - case 0x22: - rtc->retval =3D SCR2_TOBCD(info->tm_hour); - break; - case 0x24: - rtc->retval =3D SCR2_TOBCD(info->tm_mday); - break; - case 0x25: - rtc->retval =3D SCR2_TOBCD((info->tm_mon + 1)); - break; - case 0x26: - rtc->retval =3D SCR2_TOBCD((info->tm_year - 10= 0)); - break; - } - } - if (rtc->command =3D=3D 0x30) { - /* read the status 0x30 */ - rtc->retval =3D rtc->status; - } - if (rtc->command =3D=3D 0x31) { - /* read the control 0x31 */ - rtc->retval =3D rtc->control; - } - } - } - if (rtc->phase >=3D 8 && rtc->phase < 16) { - if (next_rtc_cmd_is_write(rtc->command)) { - /* Shift in value to write */ - rtc->value =3D (rtc->value << 1) | - ((scr2_2 & SCR2_RTDATA) ? 1 : 0); - } else { - /* Shift out value to read */ - qemu_irq rtc_data_in_irq =3D qdev_get_gpio_in_named( - DEVICE(s), "pc-rtc-data-in", 0); - - if (rtc->retval & (0x80 >> (rtc->phase - 8))) { - qemu_irq_raise(rtc_data_in_irq); - } else { - qemu_irq_lower(rtc_data_in_irq); - } - } - } + qemu_irq rtc_data_in_irq =3D qdev_get_gpio_in_named( + DEVICE(s), "rtc-data-in", 0); =20 - rtc->phase++; - if (rtc->phase =3D=3D 16 && next_rtc_cmd_is_write(rtc->command= )) { - if (rtc->command >=3D 0x80 && rtc->command <=3D 0x9f) { - /* RAM registers */ - rtc->ram[rtc->command - 0x80] =3D rtc->value; - } - if (rtc->command =3D=3D 0xb1) { - /* write to 0x30 register */ - if (rtc->value & 0x04) { - /* clear FTU */ - rtc->status =3D rtc->status & (~0x18); - qemu_irq_lower(s->rtc_power_irq); - } - } + if (scr2_2 & SCR2_RTDATA) { + qemu_irq_raise(rtc_data_in_irq); + } else { + qemu_irq_lower(rtc_data_in_irq); } } } else { @@ -1104,6 +1117,8 @@ static void next_pc_init(Object *obj) s->rtc_power_irq =3D qdev_get_gpio_in(DEVICE(obj), NEXT_PWR_I); qdev_init_gpio_in_named(DEVICE(obj), next_pc_rtc_data_in_irq, "pc-rtc-data-in", 1); + qdev_init_gpio_in_named(DEVICE(obj), next_rtc_data_in_irq, + "rtc-data-in", 1); } =20 /* --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674427755823.3997262766458; Wed, 23 Oct 2024 02:07:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEf-00040E-9L; Wed, 23 Oct 2024 05:00:57 -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 1t3XEc-0003ay-O6 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:54 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEb-0000dU-9p for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:54 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XE3-0008EL-Cw; Wed, 23 Oct 2024 10:00:23 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=M4+AbyFd+V47Vor7a4c4MKuK0UJtVeO2xqGDORQ6zn0=; b=hQImOxIataCvVr7YsSPoHQea89 9U+vQ9cf4N0I3J2+SuEo1cb/depQAEyxndylW/3iaHWzLBm32hFxrW71dZflae+CMocetckOd0a6r 261dI+D9Sf+vfaoBTi9xQJ5WzELl77uUSjRLovdK7VLSpj8FaLcTP8pHwMcGwd/YyBZ13BHSejFDn DAtQAJLMvIVF/LwOst3hddI4al7HeycNUqjkSBpAd2GI7DTKtiDkuAAz/iSF61VI/luZ3qxmWPqVr WEbVKiTF2roUc4iGNnQbA6AW4Jnex+f0apY/POFlOnXdVN+kh/K4n2+eU3FU6bfBmFlC/UFBY7tY6 Cn+cboosjj6LlPR5AyoHABzmL6ezCtBVfSB2tUJRBX0Ie6/ZY81iPRxI8UPlcKFISAOttdhSpIyeL jzNMJd+zFWvc5FTZfNFK+bf9+2c9znTXjSwOrhDUKkoakUgMhAIPmHocEZJbf69Gk3dXs7VMakCRl YWRrJKucdRP8YZOv7oqO4xxagsZkkGtMaFNw5KR5I099WOIKZVO4rkF8etuwJ/z9YLMbeSBEmHSRa O/uBsUS+HT0jLndZfDX7fCWKszHqRILaGHI2bo8+JJzZFlryTJKU+N29aPofX65AEGELiwkmUpD1n ynGCscceSl+XBjtRAS8XsCrg/oguGpPtlSFardZzQ=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:42 +0100 Message-Id: <20241023085852.1061031-27-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 26/36] next-cube: don't use rtc phase value of -1 X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674427955116600 Content-Type: text/plain; charset="utf-8" The rtc phase value of -1 is directly equivalent to using a phase value of = 0 so simplify the logic to use an initial rtc phase of 0. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 43b2c775c0..e4d0083eb0 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -265,9 +265,6 @@ static void next_scr2_rtc_update(NeXTPC *s) =20 if (scr2_2 & 0x1) { /* DPRINTF("RTC %x phase %i\n", scr2_2, rtc->phase); */ - if (rtc->phase =3D=3D -1) { - rtc->phase =3D 0; - } /* If we are in going down clock... do something */ if (((old_scr2 & SCR2_RTCLK) !=3D (scr2_2 & SCR2_RTCLK)) && ((scr2_2 & SCR2_RTCLK) =3D=3D 0)) { @@ -282,7 +279,7 @@ static void next_scr2_rtc_update(NeXTPC *s) } } else { /* else end or abort */ - rtc->phase =3D -1; + rtc->phase =3D 0; rtc->command =3D 0; rtc->value =3D 0; } --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 172967414684414.646388584011902; Wed, 23 Oct 2024 02:02:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEh-0004Fs-DU; Wed, 23 Oct 2024 05:00:59 -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 1t3XEd-0003he-Ez for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:55 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEb-0000dY-BS for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:55 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XE7-0008EL-Ru; Wed, 23 Oct 2024 10:00:24 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=NhCZyCFErLCszre0CM34JVp5DnPOhwrf2z4MZ65ATyc=; b=OFZocslB+2ocVCIMgPZhYV/CYS 1PEm2st68Wr84tAooVDE+VuWavkXSRs1eAjCysnP5ObFC5AKa7hbDPZwprFGKarG7Lw3eNetOHCfN hbdroG5+gsU+QA+Q0RjZhhSN7frdhN+STFu/poi33IJZZM4gabrgtM2kbwouGRuQHDDPyii27tXr9 19KzmT8brBuyEDVIwZVrvZmFaZKTqSWE9l9sdb+icAtXpwNLvTmNLAG7jal0v04ZZOcH8V74NuWcJ ysXZ0sK8Gql/+ImZKETaBGnot501o94V7es/gX8b6UOyAfKRRE04ekIqxD/Jp/0RaMUoAGFxYUgSh ObcfgKGNz5j5C3UXZdqSWAzX0vu4o8wnlwAV7wrNbAOvUvZ4fXbiCEijG28gWzaUXVlm3AlwGqW69 ZnTQnk1K99wCauBLa+5AATTBlZqje8f5tXt4qaHB2ivB6ourAe6WcObus2e176dy3UV3EHWRQlgfv C5ONfhpB6BnP/JqAoZZS6R4XcVzYB51xvRPdRFIaA86Q/D9o0VwEZ5kvf/cytEDWs0IdHCDcu1He5 rgNF4zXw7iAOVRwJkXSUeWws9hzbUjrP2QLz1aba9d+2MsBssZ+ruU/E1F/EX/U0rp8XrTi/kC/7g fTpyk3Xm+NcVWjityp/ca7a4l4efYs64ROve5cb4Q=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:43 +0100 Message-Id: <20241023085852.1061031-28-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 27/36] next-cube: QOMify NeXTRTC X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674148830116600 Content-Type: text/plain; charset="utf-8" This is to allow the RTC functionality to be maintained within its own sepa= rate device. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 66 ++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 18 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index e4d0083eb0..6b574d39cf 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -42,7 +42,13 @@ #define RAM_SIZE 0x4000000 #define ROM_FILE "Rev_2.5_v66.bin" =20 -typedef struct NeXTRTC { + +#define TYPE_NEXT_RTC "next-rtc" +OBJECT_DECLARE_SIMPLE_TYPE(NeXTRTC, NEXT_RTC) + +struct NeXTRTC { + SysBusDevice parent_obj; + int8_t phase; uint8_t ram[32]; uint8_t command; @@ -50,7 +56,7 @@ typedef struct NeXTRTC { uint8_t status; uint8_t control; uint8_t retval; -} NeXTRTC; +}; =20 #define TYPE_NEXT_SCSI "next-scsi" OBJECT_DECLARE_SIMPLE_TYPE(NeXTSCSI, NEXT_SCSI) @@ -1012,6 +1018,37 @@ static const MemoryRegionOps next_dummy_en_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 +static const VMStateDescription next_rtc_vmstate =3D { + .name =3D "next-rtc", + .version_id =3D 3, + .minimum_version_id =3D 3, + .fields =3D (const VMStateField[]) { + VMSTATE_INT8(phase, NeXTRTC), + VMSTATE_UINT8_ARRAY(ram, NeXTRTC, 32), + VMSTATE_UINT8(command, NeXTRTC), + VMSTATE_UINT8(value, NeXTRTC), + VMSTATE_UINT8(status, NeXTRTC), + VMSTATE_UINT8(control, NeXTRTC), + VMSTATE_UINT8(retval, NeXTRTC), + VMSTATE_END_OF_LIST() + }, +}; + +static void next_rtc_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->desc =3D "NeXT RTC"; + dc->vmsd =3D &next_rtc_vmstate; +} + +static const TypeInfo next_rtc_info =3D { + .name =3D TYPE_NEXT_RTC, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_size =3D sizeof(NeXTRTC), + .class_init =3D next_rtc_class_init, +}; + static void next_pc_rtc_data_in_irq(void *opaque, int n, int level) { NeXTPC *s =3D NEXT_PC(opaque); @@ -1078,6 +1115,12 @@ static void next_pc_realize(DeviceState *dev, Error = **errp) } sysbus_connect_irq(sbd, 0, qdev_get_gpio_in(dev, NEXT_SCC_I)); sysbus_connect_irq(sbd, 1, qdev_get_gpio_in(dev, NEXT_SCC_DMA_I)); + + /* RTC */ + d =3D DEVICE(object_resolve_path_component(OBJECT(dev), "rtc")); + if (!sysbus_realize(SYS_BUS_DEVICE(d), errp)) { + return; + } } =20 static void next_pc_init(Object *obj) @@ -1111,6 +1154,8 @@ static void next_pc_init(Object *obj) "next.timer", 4); sysbus_init_mmio(sbd, &s->timer_mem); =20 + object_initialize_child(obj, "rtc", &s->rtc, TYPE_NEXT_RTC); + s->rtc_power_irq =3D qdev_get_gpio_in(DEVICE(obj), NEXT_PWR_I); qdev_init_gpio_in_named(DEVICE(obj), next_pc_rtc_data_in_irq, "pc-rtc-data-in", 1); @@ -1129,22 +1174,6 @@ static Property next_pc_properties[] =3D { DEFINE_PROP_END_OF_LIST(), }; =20 -static const VMStateDescription next_rtc_vmstate =3D { - .name =3D "next-rtc", - .version_id =3D 2, - .minimum_version_id =3D 2, - .fields =3D (const VMStateField[]) { - VMSTATE_INT8(phase, NeXTRTC), - VMSTATE_UINT8_ARRAY(ram, NeXTRTC, 32), - VMSTATE_UINT8(command, NeXTRTC), - VMSTATE_UINT8(value, NeXTRTC), - VMSTATE_UINT8(status, NeXTRTC), - VMSTATE_UINT8(control, NeXTRTC), - VMSTATE_UINT8(retval, NeXTRTC), - VMSTATE_END_OF_LIST() - }, -}; - static const VMStateDescription next_pc_vmstate =3D { .name =3D "next-pc", .version_id =3D 3, @@ -1297,6 +1326,7 @@ static void next_register_type(void) type_register_static(&next_typeinfo); type_register_static(&next_pc_info); type_register_static(&next_scsi_info); + type_register_static(&next_rtc_info); } =20 type_init(next_register_type) --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674144306257.17223710767314; Wed, 23 Oct 2024 02:02:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEh-0004GC-DV; Wed, 23 Oct 2024 05:00:59 -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 1t3XEe-0003tw-CC for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:56 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEc-0000ds-RM for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:00:56 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XE8-0008EL-Lm; Wed, 23 Oct 2024 10:00:28 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=NVM1a7JPqNMZo7+ti/aMMMUS2mvWk/Skn52FPAnUgng=; b=MM4EJiAJJyHTRf7pdjgeLpid7Y 8Y9x0EMlWp6XOM0EW6WDv/zLkaxXOYBvFRAIQHGjLKLYY460xCcGi868cdKMvDnmp93xClYGpo1qv GAeM9E39u78BGzq9bRqMPht+2AQTFSWBvT2mJgybFrnXZB6o1j3xDiicuB5vfyyQgNFbJ4dZMTstj kj9G/ZbOW7hOTKsXOeIz6Qdn8eGKacm/QITcIEgIKjRF1TWAiRqX4Ym0aE1smZuaJd9DL5aAZGlj7 wJ7sa/Nlvm6SghMnUWT//M+Z/CtatYMX+bC4e+UzRUdg7UIO7Z6DexwQ2w3sIjAFG9lLdhWqWbe2v xlDoCLdQKok/9QavhoPFIkWdSRAEv0qKXLONivNogv6PgmJLt0Pg2TlGmZmgZecbIzlRIgAhocgyd zP3W7DIk25OWxFeLrr9QJ3tVN+eHDl1wyHv3vrptLHZQTF9xqCWB4i8uAA/DiQm1cJsxfvf/AYL49 dGbK/pD0BJs5o9V2rZunYo32DW6AZ5hglUvAY8RV6Ubs/dyjyJ06jjd4aIj0dH8qYHAjlnLWhFExf jgrnfd7nkvZzgXpY5SqQgqasH6VSzj9Kzc1NGTJ9EukN/1jWyRKHem7+eQhLnlj7Bt1isCbPOpYL/ Yq1OkhcQUsI7JUVOFcd/GMeJ1/dnnpaswSViD8g/Y=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:44 +0100 Message-Id: <20241023085852.1061031-29-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 28/36] next-cube: move reset of next-rtc fields from next-pc to next-rtc X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674144729116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 6b574d39cf..24f59480c5 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -1018,6 +1018,16 @@ static const MemoryRegionOps next_dummy_en_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 +static void next_rtc_reset_hold(Object *obj, ResetType type) +{ + NeXTRTC *rtc =3D NEXT_RTC(obj); + + rtc->status =3D 0x90; + + /* Load RTC RAM - TODO: provide possibility to load contents from file= */ + memcpy(rtc->ram, rtc_ram2, 32); +} + static const VMStateDescription next_rtc_vmstate =3D { .name =3D "next-rtc", .version_id =3D 3, @@ -1037,9 +1047,11 @@ static const VMStateDescription next_rtc_vmstate =3D= { static void next_rtc_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); + ResettableClass *rc =3D RESETTABLE_CLASS(klass); =20 dc->desc =3D "NeXT RTC"; dc->vmsd =3D &next_rtc_vmstate; + rc->phases.hold =3D next_rtc_reset_hold; } =20 static const TypeInfo next_rtc_info =3D { @@ -1072,11 +1084,6 @@ static void next_pc_reset_hold(Object *obj, ResetTyp= e type) s->scr1 =3D 0x00011102; s->scr2 =3D 0x00ff0c80; s->old_scr2 =3D s->scr2; - - s->rtc.status =3D 0x90; - - /* Load RTC RAM - TODO: provide possibility to load contents from file= */ - memcpy(s->rtc.ram, rtc_ram2, 32); } =20 static void next_pc_realize(DeviceState *dev, Error **errp) --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674152307897.5824532639348; Wed, 23 Oct 2024 02:02:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEm-0004yQ-4J; Wed, 23 Oct 2024 05:01:04 -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 1t3XEi-0004bg-UG for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:01 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEh-0000eO-8b for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:00 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XED-0008EL-2r; Wed, 23 Oct 2024 10:00:33 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=GrBEYFBWEhOoILa8euNAD2f9MNgEsnBUX+JJ2AL4SLA=; b=ZiALyprsYxRp+LXgoEJPu0K5pv DvFqOEjTvzV2ruFj4srIfB6T719UP3+JcSi1m2uqGxL4/5GF87TbTDqeDOpbwEeDp3Pga3W7jukY7 KCc2ljklBx1T7lKxl2zN85ghtyF6yc0vqc5VhF7kaNcpsFPBcbv/wOOIzzIIYtLCeHyq2RuYZBCZH h1Dvr54cBA2RksvrKvKfKF0l8twuEjzbR+8G4B/hBhNUlJJp9X03e5zyF5vXO7OnZsUPxl1VZQqyP jwkAI9BpjaKagmqE5YXW6asI6GmSQ3Fg4R61T1oSXiZ+x7j8AklOdKKwiD1CwaErnbuAJlffE94c5 Wi8ftsPTMAfGeitOhL6K//erW1gCiGLvL84iXw8+F9/eWOHx9C+tt/vREcx/UZ6xaSODUvJmL0QHF Ny2HeHT+AAEd0ZUU7QPYnDEXcQtWXSAQdTP2oUtlBTdTPFN4IKc+i6QBtPIR4cSDXUblNy9uVpMGx G6bUo8JoMjWdmnQpUd0MXUoKRZZPf76wzk4JN5RSdCZQ3TSZ/LJQjIG1zrDk+6h7VvmSPamk8kB6N djjdQ1IxcpIO5Sw8/734a271LundiDumNcNBKr67pk7EgIZxl8b9jC/nvm1RBjcQLH98EXXdi7x3b 2SKBrxLgVim2ml0Go/dQsWwbaicLLFz1G5ab8Drvo=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:45 +0100 Message-Id: <20241023085852.1061031-30-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 29/36] next-cube: move rtc-data-in gpio from next-pc to next-rtc device X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674152785116600 Content-Type: text/plain; charset="utf-8" Add a new rtc-data-out gpio to the next-pc device and wire it up to the nex= t-rtc rtc-data-in gpio using the standard qdev gpio APIs. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 24f59480c5..111a2c0311 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -105,6 +105,7 @@ struct NeXTPC { =20 NeXTRTC rtc; qemu_irq rtc_power_irq; + qemu_irq rtc_data_irq; }; =20 typedef struct next_dma { @@ -179,8 +180,8 @@ static bool next_rtc_cmd_is_write(uint8_t cmd) =20 static void next_rtc_data_in_irq(void *opaque, int n, int level) { - NeXTPC *s =3D NEXT_PC(opaque); - NeXTRTC *rtc =3D &s->rtc; + NeXTRTC *rtc =3D NEXT_RTC(opaque); + NeXTPC *s =3D NEXT_PC(container_of(rtc, NeXTPC, rtc)); =20 if (rtc->phase < 8) { rtc->command =3D (rtc->command << 1) | level; @@ -274,13 +275,10 @@ static void next_scr2_rtc_update(NeXTPC *s) /* If we are in going down clock... do something */ if (((old_scr2 & SCR2_RTCLK) !=3D (scr2_2 & SCR2_RTCLK)) && ((scr2_2 & SCR2_RTCLK) =3D=3D 0)) { - qemu_irq rtc_data_in_irq =3D qdev_get_gpio_in_named( - DEVICE(s), "rtc-data-in", 0); - if (scr2_2 & SCR2_RTDATA) { - qemu_irq_raise(rtc_data_in_irq); + qemu_irq_raise(s->rtc_data_irq); } else { - qemu_irq_lower(rtc_data_in_irq); + qemu_irq_lower(s->rtc_data_irq); } } } else { @@ -1028,6 +1026,12 @@ static void next_rtc_reset_hold(Object *obj, ResetTy= pe type) memcpy(rtc->ram, rtc_ram2, 32); } =20 +static void next_rtc_init(Object *obj) +{ + qdev_init_gpio_in_named(DEVICE(obj), next_rtc_data_in_irq, + "rtc-data-in", 1); +} + static const VMStateDescription next_rtc_vmstate =3D { .name =3D "next-rtc", .version_id =3D 3, @@ -1057,6 +1061,7 @@ static void next_rtc_class_init(ObjectClass *klass, v= oid *data) static const TypeInfo next_rtc_info =3D { .name =3D TYPE_NEXT_RTC, .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_init =3D next_rtc_init, .instance_size =3D sizeof(NeXTRTC), .class_init =3D next_rtc_class_init, }; @@ -1128,6 +1133,9 @@ static void next_pc_realize(DeviceState *dev, Error *= *errp) if (!sysbus_realize(SYS_BUS_DEVICE(d), errp)) { return; } + /* Data from NeXTPC to RTC */ + qdev_connect_gpio_out_named(dev, "rtc-data-out", 0, + qdev_get_gpio_in_named(d, "rtc-data-in", 0= )); } =20 static void next_pc_init(Object *obj) @@ -1166,8 +1174,8 @@ static void next_pc_init(Object *obj) s->rtc_power_irq =3D qdev_get_gpio_in(DEVICE(obj), NEXT_PWR_I); qdev_init_gpio_in_named(DEVICE(obj), next_pc_rtc_data_in_irq, "pc-rtc-data-in", 1); - qdev_init_gpio_in_named(DEVICE(obj), next_rtc_data_in_irq, - "rtc-data-in", 1); + qdev_init_gpio_out_named(DEVICE(obj), &s->rtc_data_irq, + "rtc-data-out", 1); } =20 /* --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674437151205.69208574902427; Wed, 23 Oct 2024 02:07:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XEp-0005Ie-VF; Wed, 23 Oct 2024 05:01:08 -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 1t3XEn-00054J-65 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:05 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEl-0000eo-LV for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:04 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XEH-0008EL-HV; Wed, 23 Oct 2024 10:00:37 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=NnhCv+sFCvIgZI3uwsFTJLbSMye2vSV27nRH83CfyJ8=; b=gWPC/0Tbb5ubm2JiDS6l1VMXml 0v9b96dYukAQ0X737vtPELif3pfsGXkbocM4sYnpUbhBl32OszKhK3n2dBELiq9cgRd0RRihSp1IW O8Xei16xBR7l0E0Fe512GKu+a7bHU/fxC1byHyNAX+FSVLCWCrDK96xlznVLVE1KTnbQ49wFCSi/E onF7xw647qIpiziPz4eN9IMBcHeCnzjQSupbxX1qYl7tluL4o0PItjTTD0vHBoTMX8vwj85SaNPHD gtXSs7rhfDsj8uA5HWrfyphfQaSPEbf6pqXBkn3iyVoGM9zc2Fx8mIxAJ+IuuQGdv7FgaIJ/wXAur 1BaBG4eYi7C7fSs/aAbxwXek7HLb9KUBPBqZZaDXd1C8Aimjaj1SE/i/rdN0W4tBJVrFUZ9wKmTV2 nJh5QlLDHJmUgOcobdgMW2jbowwshDJNrdGK/BpDV/9d5FXYRkuKaYVgotcimVIqLfoQK6cE/Ow5g 0OtmQDOfcxqs+psZlGRGFARRk3JsAmaM4x1zfr/u8ObgFgptdac6z6CC62pJuPkuiKFLs1QzxjhQu j4QMx7LCiagTqKmwGP1eJYvSQoj3zE86cXp9yqzRNojdxAO9qZT2uTM45o1i+DUu1xif8zYFJo8EE uPx1bF2Ozm6sJsiwhYoozpC7bk/6b4JWHriBaJezg=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:46 +0100 Message-Id: <20241023085852.1061031-31-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 30/36] next-cube: use named gpio output for next-rtc data X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674437999116600 Content-Type: text/plain; charset="utf-8" Add a named gpio output for the next-rtc data and then update next_rtc_data_in_irq() to drive the IRQ directly. This enables the next-rtc= to next-pc data to be wired up using the standard qdev gpio APIs. At the same time rename the pc-rtc-data-in gpio to rtc-data-in which is pos= sible now that the previous rtc-data-in gpio has been moved to the next-rtc devic= e. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 111a2c0311..bd24359913 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -56,6 +56,8 @@ struct NeXTRTC { uint8_t status; uint8_t control; uint8_t retval; + + qemu_irq data_out_irq; }; =20 #define TYPE_NEXT_SCSI "next-scsi" @@ -234,13 +236,10 @@ static void next_rtc_data_in_irq(void *opaque, int n,= int level) rtc->value =3D (rtc->value << 1) | level; } else { /* Shift out value to read */ - qemu_irq rtc_data_in_irq =3D qdev_get_gpio_in_named( - DEVICE(s), "pc-rtc-data-in", 0); - if (rtc->retval & (0x80 >> (rtc->phase - 8))) { - qemu_irq_raise(rtc_data_in_irq); + qemu_irq_raise(rtc->data_out_irq); } else { - qemu_irq_lower(rtc_data_in_irq); + qemu_irq_lower(rtc->data_out_irq); } } } @@ -1028,8 +1027,12 @@ static void next_rtc_reset_hold(Object *obj, ResetTy= pe type) =20 static void next_rtc_init(Object *obj) { + NeXTRTC *rtc =3D NEXT_RTC(obj); + qdev_init_gpio_in_named(DEVICE(obj), next_rtc_data_in_irq, "rtc-data-in", 1); + qdev_init_gpio_out_named(DEVICE(obj), &rtc->data_out_irq, + "rtc-data-out", 1); } =20 static const VMStateDescription next_rtc_vmstate =3D { @@ -1136,6 +1139,10 @@ static void next_pc_realize(DeviceState *dev, Error = **errp) /* Data from NeXTPC to RTC */ qdev_connect_gpio_out_named(dev, "rtc-data-out", 0, qdev_get_gpio_in_named(d, "rtc-data-in", 0= )); + /* Data from RTC to NeXTPC */ + qdev_connect_gpio_out_named(d, "rtc-data-out", 0, + qdev_get_gpio_in_named(dev, + "rtc-data-in", 0)); } =20 static void next_pc_init(Object *obj) @@ -1173,7 +1180,7 @@ static void next_pc_init(Object *obj) =20 s->rtc_power_irq =3D qdev_get_gpio_in(DEVICE(obj), NEXT_PWR_I); qdev_init_gpio_in_named(DEVICE(obj), next_pc_rtc_data_in_irq, - "pc-rtc-data-in", 1); + "rtc-data-in", 1); qdev_init_gpio_out_named(DEVICE(obj), &s->rtc_data_irq, "rtc-data-out", 1); } --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674400347382.0966184801508; Wed, 23 Oct 2024 02:06:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XFG-0006RO-58; Wed, 23 Oct 2024 05:01:34 -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 1t3XF8-0005rw-KA for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:29 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEq-0000fO-8u for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:10 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XEM-0008EL-3e; Wed, 23 Oct 2024 10:00:42 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=9hgI9wHEp96S4mDM3UnvmlpnSfzsc5IbQTYXfl2EKP0=; b=hmmZMHKv6kbc9wGc9DfvqbRUjR nORnaO/vOyizyH8AH8C31J1kTMVpL45qbdWlXxXQi9nrxbFcjbrWskC73xY+BKhGK0UhmTDF+8QGW PLR8tL4K5f/B/naROgVnkCYFyvEmpqdt9UtMjb8ezeEcoaVQFUd7uiBbT9MysX+oHyCu3dSjBgMlO gAWF1aX+ftcymIsHHDmF1OKGFU/+8psQ0DKFaxJcPnXx6Gpvyu/TXn9+6NL3JWCAfm7/w1i6BAc66 Np3fSmKpwhMwYgCXlzhRJOH93nl/XCB5/l5PrjL/RM7D/u8IIAsgn/aOownudkLFmwNehmuGANXOt eNnRzgAEK3wqcPHqTdCCuTD/Cz/S3JBpc7PNvIwwXZA0bX1C1JexYURA/fSRuJYjJeozxpxr1ONEM X1t9OUINZwhp1VsCjLOuZisALbVGTjysaqQM9BB80iXH490uTrw63AbgKKCvjiMbl81nx1vi9uMKq Bxau9wU+b5eU5FT3yX9sPWsM/tjsaY/lM1DMj8o+PhhU5DgL5u7Qy/SdpOO5/SfsLNljpECG49o1G p35Vl6dtrg+6IZnsWux6nuLDD1Agbp6U6i1ZrLGJqd1U7I+H2aQ1NA0Aj/2JQfZe3bQICId9xBckl 5Ft1tjxTdjsmXBs36mD7vzLhjdLgIYx6/scq7UJEI=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:47 +0100 Message-Id: <20241023085852.1061031-32-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 31/36] next-cube: add rtc-cmd-reset named gpio to reset the rtc state machine X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674401793116600 Content-Type: text/plain; charset="utf-8" This allows us to decouple the next-pc and next-rtc devices from each other in next_scr2_rtc_update(). Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index bd24359913..16b16e9956 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -108,6 +108,7 @@ struct NeXTPC { NeXTRTC rtc; qemu_irq rtc_power_irq; qemu_irq rtc_data_irq; + qemu_irq rtc_cmd_reset_irq; }; =20 typedef struct next_dma { @@ -264,7 +265,6 @@ static void next_rtc_data_in_irq(void *opaque, int n, i= nt level) static void next_scr2_rtc_update(NeXTPC *s) { uint8_t old_scr2, scr2_2; - NeXTRTC *rtc =3D &s->rtc; =20 old_scr2 =3D extract32(s->old_scr2, 8, 8); scr2_2 =3D extract32(s->scr2, 8, 8); @@ -282,9 +282,7 @@ static void next_scr2_rtc_update(NeXTPC *s) } } else { /* else end or abort */ - rtc->phase =3D 0; - rtc->command =3D 0; - rtc->value =3D 0; + qemu_irq_raise(s->rtc_cmd_reset_irq); } } =20 @@ -1015,6 +1013,17 @@ static const MemoryRegionOps next_dummy_en_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 +static void next_rtc_cmd_reset_irq(void *opaque, int n, int level) +{ + NeXTRTC *rtc =3D NEXT_RTC(opaque); + + if (level) { + rtc->phase =3D 0; + rtc->command =3D 0; + rtc->value =3D 0; + } +} + static void next_rtc_reset_hold(Object *obj, ResetType type) { NeXTRTC *rtc =3D NEXT_RTC(obj); @@ -1033,6 +1042,8 @@ static void next_rtc_init(Object *obj) "rtc-data-in", 1); qdev_init_gpio_out_named(DEVICE(obj), &rtc->data_out_irq, "rtc-data-out", 1); + qdev_init_gpio_in_named(DEVICE(obj), next_rtc_cmd_reset_irq, + "rtc-cmd-reset", 1); } =20 static const VMStateDescription next_rtc_vmstate =3D { @@ -1143,6 +1154,8 @@ static void next_pc_realize(DeviceState *dev, Error *= *errp) qdev_connect_gpio_out_named(d, "rtc-data-out", 0, qdev_get_gpio_in_named(dev, "rtc-data-in", 0)); + qdev_connect_gpio_out_named(dev, "rtc-cmd-reset", 0, + qdev_get_gpio_in_named(d, "rtc-cmd-reset",= 0)); } =20 static void next_pc_init(Object *obj) @@ -1183,6 +1196,8 @@ static void next_pc_init(Object *obj) "rtc-data-in", 1); qdev_init_gpio_out_named(DEVICE(obj), &s->rtc_data_irq, "rtc-data-out", 1); + qdev_init_gpio_out_named(DEVICE(obj), &s->rtc_cmd_reset_irq, + "rtc-cmd-reset", 1); } =20 /* --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674141321447.1524175488739; Wed, 23 Oct 2024 02:02:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XFJ-0006iw-8r; Wed, 23 Oct 2024 05:01:37 -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 1t3XFA-0005vf-Rf for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:29 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEu-0000fl-SU for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:28 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XEQ-0008EL-Js; Wed, 23 Oct 2024 10:00:46 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=3o3zJl28+zK1DsjubfX2ONYgr4Pr+G+uw4x/QSidXqg=; b=vU02BvQPGhx0X5TJzxeASFPv6/ xftNWcMq9xH/nOsjwysKAHVx1F5ZGeWYONJ6693YCK0UEht1Qrn0juSQUk8O00eFPrFGVbPuWbdUV WqWuPZlylExkaMp8K1XFm9ty1Z6eKjUWEcCXjCpk1p3ealDVcyCNQgSjUx1i4KxeznI+olJvjJP+q b6bcl/jWIJTb3W34FzgwQXeZKV4OfyjV6f8IrCiHpSDaP4ja0vzOemEXOlVG9f4T69EGluLkwrd4j 7t1zWMo5ZKuI6rrXxMeNLjNcsn7BMp/GKIYuZL+Ol+TNEH1RK1zfHuW2lyAqZwBfXmCKt/SqqgrTS TB71s0YKdez9Lyo7snz+nqb5l5P0NyznbBkHYRmYh7FfxqidvF0jsuHgc5nNkUSAkDoclEmWyJ1Fh c9mV/y5lDJQarT3hDC2gCqhHcDP9YbqCVybllCc+ldViHbFMgH1YyxRLz/V6gLNQ+72Fdrc1krXtZ s2NvNX22J92J40KY02yGeYQWny6XUpH+8gtomdy49Mu9mA12n0qdFOnxp4trQrdkezAe1W96+1Lco ONp9sbtpin4XWyop7tHgQvOMkbeLTU1ILXz3nGnGmluaoDFprnbMmbPBYYG6YzIuPeUtXTilD+cZk xq6TcptkNcrc1jzVeG4ZXNqzRy2HinTbXfbrABtlY=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:48 +0100 Message-Id: <20241023085852.1061031-33-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 32/36] next-cube: add rtc-power-out named gpio to reset the rtc state machine X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674142724116600 Content-Type: text/plain; charset="utf-8" This allows us to decouple the next-pc and next-rtc devices from each other in next_rtc_data_in_irq(). Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 16b16e9956..0a8b899515 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -58,6 +58,7 @@ struct NeXTRTC { uint8_t retval; =20 qemu_irq data_out_irq; + qemu_irq power_irq; }; =20 #define TYPE_NEXT_SCSI "next-scsi" @@ -106,7 +107,6 @@ struct NeXTPC { ESCCState escc; =20 NeXTRTC rtc; - qemu_irq rtc_power_irq; qemu_irq rtc_data_irq; qemu_irq rtc_cmd_reset_irq; }; @@ -184,7 +184,6 @@ static bool next_rtc_cmd_is_write(uint8_t cmd) static void next_rtc_data_in_irq(void *opaque, int n, int level) { NeXTRTC *rtc =3D NEXT_RTC(opaque); - NeXTPC *s =3D NEXT_PC(container_of(rtc, NeXTPC, rtc)); =20 if (rtc->phase < 8) { rtc->command =3D (rtc->command << 1) | level; @@ -256,7 +255,7 @@ static void next_rtc_data_in_irq(void *opaque, int n, i= nt level) if (rtc->value & 0x04) { /* clear FTU */ rtc->status =3D rtc->status & (~0x18); - qemu_irq_lower(s->rtc_power_irq); + qemu_irq_lower(rtc->power_irq); } } } @@ -1044,6 +1043,8 @@ static void next_rtc_init(Object *obj) "rtc-data-out", 1); qdev_init_gpio_in_named(DEVICE(obj), next_rtc_cmd_reset_irq, "rtc-cmd-reset", 1); + qdev_init_gpio_out_named(DEVICE(obj), &rtc->power_irq, + "rtc-power-out", 1); } =20 static const VMStateDescription next_rtc_vmstate =3D { @@ -1156,6 +1157,8 @@ static void next_pc_realize(DeviceState *dev, Error *= *errp) "rtc-data-in", 0)); qdev_connect_gpio_out_named(dev, "rtc-cmd-reset", 0, qdev_get_gpio_in_named(d, "rtc-cmd-reset",= 0)); + qdev_connect_gpio_out_named(d, "rtc-power-out", 0, + qdev_get_gpio_in(dev, NEXT_PWR_I)); } =20 static void next_pc_init(Object *obj) @@ -1191,7 +1194,6 @@ static void next_pc_init(Object *obj) =20 object_initialize_child(obj, "rtc", &s->rtc, TYPE_NEXT_RTC); =20 - s->rtc_power_irq =3D qdev_get_gpio_in(DEVICE(obj), NEXT_PWR_I); qdev_init_gpio_in_named(DEVICE(obj), next_pc_rtc_data_in_irq, "rtc-data-in", 1); qdev_init_gpio_out_named(DEVICE(obj), &s->rtc_data_irq, --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674272448936.6294498796241; Wed, 23 Oct 2024 02:04:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XFG-0006MN-2u; Wed, 23 Oct 2024 05:01:34 -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 1t3XF9-0005tf-TD for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:29 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XEz-0000g6-By for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:27 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XEV-0008EL-79; Wed, 23 Oct 2024 10:00:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=Zkf4E9xSwfU0NaWXZbfTcqEQP2V9EDxty6Leuw/m/Qk=; b=HvsgiwtlHvedJ1WSaJCWqjA9hC qvqJp2bRrycDtl2zX0h9RKFBvjpMpO6XrbyO+XquUFwbtj9O8Hb0D4CR48xrD6N04IDpzw/iWxGZk V5Iv4HYRADBsMbiOIceL5jLU6Vr1+g/phD+L6vKi2A59Ejdog+RjYl+9bMNUm2XuMZEG28S3nSMMi DierqeuKoql+4IbGsikPcLBexB0gMtWE918mujj61wYGFSAcYSZ+6LSsYPVTTOmTKhpLs8UORW14j OIZQoVNk8QxreCLupwgpKtFnxPB83S5wnvbpeTA7+ljsupG01YI9KloQO/Syvq36THaIh6aY1w5T5 G6qIICLZc6kekX82MbK67s39MmWSKndG+nyTMBfbXDQeWj18iBm2GhT5ZA4Bjoil8t6KL7fAS6x2O mtIRE2kZZEM+3pfOfO4kypPnKZzpryoWdnMwVYRz9vp8pX77R22bHNbm6ZbsPMpYg2N53sGS7FxoI GlwDyyV23sD2GhnhnRNNq+oX6cMg5rWjqWsWzQSXWUWe/mAL8dcNwDCfPh9RPaPZKSEM0kXmozy5w xNy+BIeC2/QhkMdDGiU8R9MIIzyt8KP1aUOcw90M2CfDbL8L1guuJXq0ivOqDx1dqp+Z1H09ta1EG xqKnAhACNs+RheofKpAbgWGzLYX4LReG3HdTuYeEs=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:49 +0100 Message-Id: <20241023085852.1061031-34-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 33/36] next-cube: move next_rtc_cmd_is_write() and next_rtc_data_in_irq() functions X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674273357116600 Content-Type: text/plain; charset="utf-8" Move these functions in next-cube.c so that they are with the rest of the next-rtc functions. Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 172 ++++++++++++++++++++++---------------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 0a8b899515..076c9d1f3a 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -175,92 +175,6 @@ static void next_scr2_led_update(NeXTPC *s) } } =20 -static bool next_rtc_cmd_is_write(uint8_t cmd) -{ - return (cmd >=3D 0x80 && cmd <=3D 0x9f) || - (cmd =3D=3D 0xb1); -} - -static void next_rtc_data_in_irq(void *opaque, int n, int level) -{ - NeXTRTC *rtc =3D NEXT_RTC(opaque); - - if (rtc->phase < 8) { - rtc->command =3D (rtc->command << 1) | level; - - if (rtc->phase =3D=3D 7 && !next_rtc_cmd_is_write(rtc->command)) { - if (rtc->command <=3D 0x1f) { - /* RAM registers */ - rtc->retval =3D rtc->ram[rtc->command]; - } - if ((rtc->command >=3D 0x20) && (rtc->command <=3D 0x2f)) { - /* RTC */ - time_t time_h =3D time(NULL); - struct tm *info =3D localtime(&time_h); - rtc->retval =3D 0; - - switch (rtc->command) { - case 0x20: - rtc->retval =3D SCR2_TOBCD(info->tm_sec); - break; - case 0x21: - rtc->retval =3D SCR2_TOBCD(info->tm_min); - break; - case 0x22: - rtc->retval =3D SCR2_TOBCD(info->tm_hour); - break; - case 0x24: - rtc->retval =3D SCR2_TOBCD(info->tm_mday); - break; - case 0x25: - rtc->retval =3D SCR2_TOBCD((info->tm_mon + 1)); - break; - case 0x26: - rtc->retval =3D SCR2_TOBCD((info->tm_year - 100)); - break; - } - } - if (rtc->command =3D=3D 0x30) { - /* read the status 0x30 */ - rtc->retval =3D rtc->status; - } - if (rtc->command =3D=3D 0x31) { - /* read the control 0x31 */ - rtc->retval =3D rtc->control; - } - } - } - if (rtc->phase >=3D 8 && rtc->phase < 16) { - if (next_rtc_cmd_is_write(rtc->command)) { - /* Shift in value to write */ - rtc->value =3D (rtc->value << 1) | level; - } else { - /* Shift out value to read */ - if (rtc->retval & (0x80 >> (rtc->phase - 8))) { - qemu_irq_raise(rtc->data_out_irq); - } else { - qemu_irq_lower(rtc->data_out_irq); - } - } - } - - rtc->phase++; - if (rtc->phase =3D=3D 16 && next_rtc_cmd_is_write(rtc->command)) { - if (rtc->command >=3D 0x80 && rtc->command <=3D 0x9f) { - /* RAM registers */ - rtc->ram[rtc->command - 0x80] =3D rtc->value; - } - if (rtc->command =3D=3D 0xb1) { - /* write to 0x30 register */ - if (rtc->value & 0x04) { - /* clear FTU */ - rtc->status =3D rtc->status & (~0x18); - qemu_irq_lower(rtc->power_irq); - } - } - } -} - static void next_scr2_rtc_update(NeXTPC *s) { uint8_t old_scr2, scr2_2; @@ -1012,6 +926,92 @@ static const MemoryRegionOps next_dummy_en_ops =3D { .endianness =3D DEVICE_BIG_ENDIAN, }; =20 +static bool next_rtc_cmd_is_write(uint8_t cmd) +{ + return (cmd >=3D 0x80 && cmd <=3D 0x9f) || + (cmd =3D=3D 0xb1); +} + +static void next_rtc_data_in_irq(void *opaque, int n, int level) +{ + NeXTRTC *rtc =3D NEXT_RTC(opaque); + + if (rtc->phase < 8) { + rtc->command =3D (rtc->command << 1) | level; + + if (rtc->phase =3D=3D 7 && !next_rtc_cmd_is_write(rtc->command)) { + if (rtc->command <=3D 0x1f) { + /* RAM registers */ + rtc->retval =3D rtc->ram[rtc->command]; + } + if ((rtc->command >=3D 0x20) && (rtc->command <=3D 0x2f)) { + /* RTC */ + time_t time_h =3D time(NULL); + struct tm *info =3D localtime(&time_h); + rtc->retval =3D 0; + + switch (rtc->command) { + case 0x20: + rtc->retval =3D SCR2_TOBCD(info->tm_sec); + break; + case 0x21: + rtc->retval =3D SCR2_TOBCD(info->tm_min); + break; + case 0x22: + rtc->retval =3D SCR2_TOBCD(info->tm_hour); + break; + case 0x24: + rtc->retval =3D SCR2_TOBCD(info->tm_mday); + break; + case 0x25: + rtc->retval =3D SCR2_TOBCD((info->tm_mon + 1)); + break; + case 0x26: + rtc->retval =3D SCR2_TOBCD((info->tm_year - 100)); + break; + } + } + if (rtc->command =3D=3D 0x30) { + /* read the status 0x30 */ + rtc->retval =3D rtc->status; + } + if (rtc->command =3D=3D 0x31) { + /* read the control 0x31 */ + rtc->retval =3D rtc->control; + } + } + } + if (rtc->phase >=3D 8 && rtc->phase < 16) { + if (next_rtc_cmd_is_write(rtc->command)) { + /* Shift in value to write */ + rtc->value =3D (rtc->value << 1) | level; + } else { + /* Shift out value to read */ + if (rtc->retval & (0x80 >> (rtc->phase - 8))) { + qemu_irq_raise(rtc->data_out_irq); + } else { + qemu_irq_lower(rtc->data_out_irq); + } + } + } + + rtc->phase++; + if (rtc->phase =3D=3D 16 && next_rtc_cmd_is_write(rtc->command)) { + if (rtc->command >=3D 0x80 && rtc->command <=3D 0x9f) { + /* RAM registers */ + rtc->ram[rtc->command - 0x80] =3D rtc->value; + } + if (rtc->command =3D=3D 0xb1) { + /* write to 0x30 register */ + if (rtc->value & 0x04) { + /* clear FTU */ + rtc->status =3D rtc->status & (~0x18); + qemu_irq_lower(rtc->power_irq); + } + } + } +} + static void next_rtc_cmd_reset_irq(void *opaque, int n, int level) { NeXTRTC *rtc =3D NEXT_RTC(opaque); --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 172967414648152.58690422526797; Wed, 23 Oct 2024 02:02:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XFE-0006IU-O1; Wed, 23 Oct 2024 05:01: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 1t3XFA-0005ut-KX for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:29 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XF0-0000gC-2n for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:28 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XEZ-0008EL-N7; Wed, 23 Oct 2024 10:00:52 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=3EbIROTZd4e52z2Z0DQSIJIiPTukBp63B6OrJktQ+WU=; b=G7/USuMSSXbx9HO71jGPDt6w74 usVsimefUwf07buiMr6jnJBc5w8FKy/XSSYDR1rlgm/pt/hwSaSi3gFdQiKVUGYg6HR/j1kZJByJc NFax361luma3xsC8aUxdrnR9t7upZHZizG3znJxedMujkweEVFfpLegz0Kue36HlrhZk1aaVRhG0F wKfYh09MZXCpeDqL9g2wN6xJGbQautyTVgUwCzFhMXRkLCHIMAp6lb3LDwA0GTldxkCV3y7YHJMZ/ 1l+/qYNYG/poa3oolZp1ZasyxOAGOhU16o0d53GslC91GuSenh4POLaYF+aldBbp/TwX3YueppE0V JLNhlo/HASA0rOVeRRNoNW5DmyJgRyjQM1YMQFpJrcbKyXFuE/35W/fKaIRM2zVYc26sEoD3DsHud Sv925U8AZ3RenCypF8pKOHO82EtUXrCpGlfP+y3B81W+nQU1/PXHS7UglLAEHjKYJtpnYnmUmzpWg hbvz+9mnHd4W0lZMNLNrQvPyq8ezRW6DTQNb9HHByzb1DL3QGtZcf+XwLHuZNL7IY8cDfjRDV2geu mGobWPTKgcqCde1BttiVZQv4gmDxbtb9vipesIQNDHmaU+sdSKnyZb+hItfPVPeouuIVlln4zGiNr 8PUmgGgTabcwXs0hRcuphAl9kq7fc7Alz3ZJ9FtyY=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:50 +0100 Message-Id: <20241023085852.1061031-35-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 34/36] next-cube: rename old_scr2 and scr2_2 in next_scr2_rtc_update() X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674146730116600 Content-Type: text/plain; charset="utf-8" Rename them to old_scr2_rtc and scr2_rtc to reflect that they contain the p= revious and current values of the SCR2 RTC bits. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 076c9d1f3a..ece63f20b1 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -177,17 +177,17 @@ static void next_scr2_led_update(NeXTPC *s) =20 static void next_scr2_rtc_update(NeXTPC *s) { - uint8_t old_scr2, scr2_2; + uint8_t old_scr2_rtc, scr2_rtc; =20 - old_scr2 =3D extract32(s->old_scr2, 8, 8); - scr2_2 =3D extract32(s->scr2, 8, 8); + old_scr2_rtc =3D extract32(s->old_scr2, 8, 8); + scr2_rtc =3D extract32(s->scr2, 8, 8); =20 - if (scr2_2 & 0x1) { + if (scr2_rtc & 0x1) { /* DPRINTF("RTC %x phase %i\n", scr2_2, rtc->phase); */ /* If we are in going down clock... do something */ - if (((old_scr2 & SCR2_RTCLK) !=3D (scr2_2 & SCR2_RTCLK)) && - ((scr2_2 & SCR2_RTCLK) =3D=3D 0)) { - if (scr2_2 & SCR2_RTDATA) { + if (((old_scr2_rtc & SCR2_RTCLK) !=3D (scr2_rtc & SCR2_RTCLK)) && + ((scr2_rtc & SCR2_RTCLK) =3D=3D 0)) { + if (scr2_rtc & SCR2_RTDATA) { qemu_irq_raise(s->rtc_data_irq); } else { qemu_irq_lower(s->rtc_data_irq); --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1729674442847315.88866774800056; Wed, 23 Oct 2024 02:07:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XFM-00073W-I0; Wed, 23 Oct 2024 05:01:40 -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 1t3XFJ-0006nA-A3 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:37 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XFH-0000gV-R9 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:37 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XEa-0008EL-B4; Wed, 23 Oct 2024 10:00:56 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=Kt3DF77J7u9ygeIOtT6f2eEtNvXaiodXXADYjic7OP4=; b=BFzKC2I+XWT3ahEywSp5U8f4pd psHuvupDxIq3Zxtwb/sx6CD3Rdq6HTBOTOLw9KnQOCINP5IZmG3rTj1bSyqI12l7DAePAde7UvXTt dyNYA1L2+BzB0A6R16n4bpUR8Ya6sqUCHhR14Ney57pXbgb2+1HtnjRm7KSObvyZ29VHQ9iTGLOBp c4wjQ5K0nR1I0INZxKP2H5/bkTcWIiMGTemO6H6jfp5NOxIFhSFNQDJEr4RLCKf6RbehLEtMmJHnw 1/L0SP8I1GIuBkOP6LptGtxkGFDozQX86bQEOcWXbLotN7+9aivBNWYKjX/i3V4qy6gjPRJHjEXCS 5dNkvpXjwKHJC3iU38FeBXKvDFkT+VXY2nZfmOqouH8gAZzYE/2M4PQzxOuGTuIEFv8HmtDnRbOsP R7alj98zblEqAU7VsP73BCp6xTtAWB4XlWc5twpDgW8FyLqr7MIRvFvJlBxJcO/6D4DC7xsL3Jc+U 4btxEWqr2P+6khBMq1iTtHryfSxpQuWrceXE3LSWRipxJomdW7sAw7+VuzyElkqOtFs/m/ANITVqu IgOTDWToVLoxix7Y08WvvnEdUj9kl1Dpx8l+y9A7rKQBShOskoEEaLEyXa6C9jE6QVu1yu/YV/Usv GaKvvXm+3UQRqPiLkqMvYjyKkbciTcAtoy2p0x48U=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:51 +0100 Message-Id: <20241023085852.1061031-36-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 35/36] next-cube: add my copyright to the top of the file X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674444118116600 Content-Type: text/plain; charset="utf-8" This series has involved rewriting and/or updating a considerable part of t= he next-cube emulation so update the copyright in next-cube.c to reflect this. Signed-off-by: Mark Cave-Ayland Reviewed-by: Thomas Huth --- hw/m68k/next-cube.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index ece63f20b1..eefb372dca 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -2,6 +2,7 @@ * NeXT Cube System Driver * * Copyright (c) 2011 Bryce Lanham + * Copyright (c) 2024 Mark Cave-Ayland * * This code is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published --=20 2.39.5 From nobody Sat Nov 23 19:25:18 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17296741560131019.961552044356; Wed, 23 Oct 2024 02:02:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3XFV-0007ID-71; Wed, 23 Oct 2024 05:01:52 -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 1t3XFJ-0006ou-Pr for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:38 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3XFI-0000gZ-A9 for qemu-devel@nongnu.org; Wed, 23 Oct 2024 05:01:37 -0400 Received: from [2a02:8012:c93d:0:260e:bf57:a4e9:8142] (helo=cheesecake.fritz.box) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3XEe-0008EL-Nc; Wed, 23 Oct 2024 10:00:57 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=YUp+9Ok3O7O5nHbjGFIWHC4xrAB0n/7Y/kZOS+6DUio=; b=N04Ws25wdHa9PgGLgTYkDGwd2K +HxyozIFIvkIJOWSdiTO+BOn2xXtHudwgbaaOyt8+Loj9uvATTAbeZ2DL9cewMULYnTnPZitYnCl4 s3CAYd6rXl7sg60O9G4WVRfLvhkbujFQ12MOhI4H+kA61iHasShoQeOawHsJTJ3oWF9Qb7ioOwXvJ P4Nuk2d8TKxn+vhie2Ikq5hM5L8kVZMGdElG5oCVzf3FMg6JiS4XlNkorBf/8i0mPEEyDR0hsSnJe SKAivD+mW1dixyBilB+ym9UP+HSPkNDdKM2WiQMDBJmgzgd7XOwdmG4WZpthWn58FjwLDju8Be3GC Y7WAj/0LAXrU2i+uYKW1rLbre/rJt6MzkPRvoVM+M2pPtCQCrLef80dp/RRQ8wL74CUi2ECTXkHwc 7ZcAQsY5UrWjDKHVtBen6zrdbekqSr9KveY5flv38e1pS0u0qgRMrPI54NGjnVzGvC/atNUhMj+yv coZJNVrwYnjdzIwGjjuWR3HpLFZSWOI2zh355k39TuCyqZuplQMlrAJLEAuUliAhOlCCkn8rtr16b /Cl4PgvJanKGVTJmpyXH7RrODkCHopL7m4inoJamh9Mos1rTK6k93QhCe+EpKmBE46fPVDw31LMvg Lj6MAT4tln/bxt+0ADs04ANxAnSMQeItdJjxgDhVs=; From: Mark Cave-Ayland To: huth@tuxfamily.org, qemu-devel@nongnu.org Date: Wed, 23 Oct 2024 09:58:52 +0100 Message-Id: <20241023085852.1061031-37-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> References: <20241023085852.1061031-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a02:8012:c93d:0:260e:bf57:a4e9:8142 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH 36/36] next-cube: replace boiler-plate GPL 2.0 or later license text with SPDX identifier X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) 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=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1729674156808116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Mark Cave-Ayland --- hw/m68k/next-cube.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index eefb372dca..c961d5fef6 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -4,10 +4,7 @@ * Copyright (c) 2011 Bryce Lanham * Copyright (c) 2024 Mark Cave-Ayland * - * This code is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation; either version 2 of the License, - * or (at your option) any later version. + * SPDX-License-Identifier: GPL-2.0-or-later */ =20 #include "qemu/osdep.h" --=20 2.39.5