From owner-freebsd-arm@freebsd.org Sun Apr 7 19:08:30 2019 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4EA391567F6E for ; Sun, 7 Apr 2019 19:08:30 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.ysv.freebsd.org (mxrelay.ysv.freebsd.org [IPv6:2001:1900:2254:206a::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.ysv.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D8B286DC2F for ; Sun, 7 Apr 2019 19:08:29 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.ysv.freebsd.org (Postfix) with ESMTPS id 15C1B7C37 for ; Sun, 7 Apr 2019 19:08:29 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id x37J8SHZ066319 for ; Sun, 7 Apr 2019 19:08:28 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id x37J8S2o066315 for freebsd-arm@FreeBSD.org; Sun, 7 Apr 2019 19:08:28 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: freebsd-arm@FreeBSD.org Subject: [Bug 237078] generic_timer not handling interrupts properly Date: Sun, 07 Apr 2019 19:08:29 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: arm X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: andrew@tao11.riddles.org.uk X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-arm@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Apr 2019 19:08:30 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D237078 Bug ID: 237078 Summary: generic_timer not handling interrupts properly Product: Base System Version: CURRENT Hardware: arm OS: Any Status: New Severity: Affects Some People Priority: --- Component: arm Assignee: freebsd-arm@FreeBSD.org Reporter: andrew@tao11.riddles.org.uk generic_timer.c installs interrupt handlers for up to four timer interrupts, causing those interrupts to be enabled on the local PIC. But the handler th= at it installs assumes that all interrupts come from a specific timer (either = the physical one on 32bit or the virtual one on 64bit). If an interrupt occurs on the other timer, then the interrupt is never mask= ed or cleared, so a CPU is put into a permanent interrupt handling loop; this = is commonly observed on RPI2 platforms at least. The unexpected interrupt can occur because while the driver attach routine tries to mask off both the physical and virtual (on 32bit) interrupts, it d= oes this on only one CPU, when in fact each CPU has its own timer. I have tested a crude workaround (not installing handlers for the unused interrupts) which fixes the observed problems as far as I can determine. This bug could potentially apply on 64bit as well, but I am not in a positi= on to test that. --=20 You are receiving this mail because: You are the assignee for the bug.=