From nobody Tue Feb 10 19:48:47 2026 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 169601055427892.4476632483628; Fri, 29 Sep 2023 11:02:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qmHnH-0003cx-D9; Fri, 29 Sep 2023 14:00: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 1qmHnG-0003Yb-7x for qemu-devel@nongnu.org; Fri, 29 Sep 2023 14:00: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 1qmHnD-0005np-5r for qemu-devel@nongnu.org; Fri, 29 Sep 2023 14:00:49 -0400 Received: from [2a00:23c4:8baf:5f00:c237:5189:8121:f752] (helo=localhost.localdomain) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qmHmp-00033Y-64; Fri, 29 Sep 2023 19:00: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:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=9zLC/uDHsvUmDFmACSVAKRdOeabbtND1MoQn3tvMvYk=; b=Jjy9tTTfPVcVyPT1kP7eQi+bDH zmlhxf3z5iveakKW2P6+vikidQGG6kgtQIQr52SVd5ri0kSxzf1yfknVNE9VVpHlNZcNoAirZz/gc X2YwwtG///P2JgLsKpB3IueEOXeoO9AtXfNJmywo2cmFIEY05A3Pd01g09+zicpfa5Mc+3mKPQY9Y u3bhMy1F7y3FpqzxZXHyMWCoOj4Tq7+3GNKKlT+90qOmY0spKO9RxpsrwQU6DMTWUgRExX4y4S7p6 CpWYcSrFqBnke/K8ydWgEwOemOejmhRyFyQBvyZ734CNOU3upr6ExvM6iNw7dbgjQKnbgVn+r0AhS 8sDzTNQTzKjMwRHhpD5muYrI+3A13jzBJzQQE8CQy0coUPIS4kPfp+jOBhH0Q8CtWP49ennCRbnBx JKG7Bw8tqzIZI6sy8v8v4G4iq86/mkAGJVmGG+0yT2r2D4Ykb0DROiQSvhW40Q/HffqvMjr4JVLLz O3wrHkx8ZqDBAWFxwBQ/RvorOTdlbY7qyYKza9E58CZ2NH/Ds2YgegSgTG2kPOFgScWGEGDg8tAiP xhyqzR2HSPl/+lcD2QEmZDkx+2BBX9hkCbtXvU53XQl6zlYV4pC+DfoAgvKfnuXSzsUwXopxK2M3c KyaNu3fsmE+J/ZyOCu5jU9izo1qfFR3jYQoLKjmFU=; From: Mark Cave-Ayland To: laurent@vivier.eu, qemu-devel@nongnu.org Date: Fri, 29 Sep 2023 18:59:14 +0100 Message-Id: <20230929175917.511133-18-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230929175917.511133-1-mark.cave-ayland@ilande.co.uk> References: <20230929175917.511133-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 2a00:23c4:8baf:5f00:c237:5189:8121:f752 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PATCH v3 17/20] mac_via: always clear ADB interrupt when switching to A/UX mode 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: 1696010556190100005 Content-Type: text/plain; charset="utf-8" When the NetBSD kernel initialises it can leave the ADB interrupt asserted depending upon where in the ADB poll cycle the MacOS ADB interrupt handler is when the NetBSD kernel disables interrupts. The NetBSD ADB driver uses the ADB interrupt state to determine if the ADB is busy and refuses to send ADB commands unless it is clear. To ensure that this doesn't happen, always clear the ADB interrupt when switching to A/UX mode to ensure that the bus enumeration always occurs. Signed-off-by: Mark Cave-Ayland Reviewed-by: Laurent Vivier --- hw/misc/mac_via.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c index 3c41d6263d..500ece5872 100644 --- a/hw/misc/mac_via.c +++ b/hw/misc/mac_via.c @@ -875,6 +875,15 @@ static void via1_auxmode_update(MOS6522Q800VIA1State *= v1s) if (irq !=3D oldirq) { trace_via1_auxmode(irq); qemu_set_irq(v1s->auxmode_irq, irq); + + /* + * Clear the ADB interrupt. MacOS can leave VIA1B_vADBInt asserted + * (low) if a poll sequence doesn't complete before NetBSD disables + * interrupts upon boot. Fortunately NetBSD switches to the so-cal= led + * "A/UX" interrupt mode after it initialises, so we can use this = as + * a convenient place to clear the ADB interrupt for now. + */ + s->b |=3D VIA1B_vADBInt; } } =20 --=20 2.39.2