From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NW3px-0005I7-GI for qemu-devel@nongnu.org; Sat, 16 Jan 2010 03:16:49 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NW3pr-0005HB-V0 for qemu-devel@nongnu.org; Sat, 16 Jan 2010 03:16:48 -0500 Received: from [199.232.76.173] (port=53626 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NW3pr-0005H6-SX for qemu-devel@nongnu.org; Sat, 16 Jan 2010 03:16:43 -0500 Received: from mx20.gnu.org ([199.232.41.8]:65033) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NW3pr-0008Jf-64 for qemu-devel@nongnu.org; Sat, 16 Jan 2010 03:16:43 -0500 Received: from mail-pw0-f43.google.com ([209.85.160.43]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NW3pq-00013y-Ix for qemu-devel@nongnu.org; Sat, 16 Jan 2010 03:16:42 -0500 Received: by pwj11 with SMTP id 11so851558pwj.2 for ; Sat, 16 Jan 2010 00:16:41 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <1263595050-17791-1-git-send-email-atar4qemu@google.com> References: <1263595050-17791-1-git-send-email-atar4qemu@google.com> From: Blue Swirl Date: Sat, 16 Jan 2010 08:16:21 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: sparc32 do not clear interrupts when masking List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Artyom Tarasenko Cc: qemu-devel@nongnu.org, Artyom Tarasenko On Fri, Jan 15, 2010 at 10:37 PM, Artyom Tarasenko wrote: > Don't clear interrupts on disabling, because > * Sun4M_SystemArchitecture_edited2.pdf doesn't describe > =C2=A0that masking or un-masking IRQ shall clear pending ones. > > * Field tests also show that SPARCstation-20 doesn't > =C2=A0clear them. Awesome work! > * The patch makes Solaris 2.5.1/2.6 boot ~1500 times > =C2=A0faster (~20 seconds instead of ~8 hours) Unfortunately there is some problem with the patch (or more likely there is some other bug that this uncovers), because all my Linux test now panic. NetBSD and OpenBSD are unaffected. For example, sparc-test: eth0: LANCE 52:54:00:12:34:56 esp0: no command in esp_handle() Kernel panic - not syncing: esp_handle: current_SC =3D=3D penguin within in= terrupt! <0>Press L1-A to return to the boot prom The bug may be in ESP interrupt handling (or in the interrupt chain between ESP, DMA controller and interrupt controller) as the panic always happens in ESP probe.