From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754974AbcHSBfQ (ORCPT ); Thu, 18 Aug 2016 21:35:16 -0400 Received: from gate.crashing.org ([63.228.1.57]:50410 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754212AbcHSBdN (ORCPT ); Thu, 18 Aug 2016 21:33:13 -0400 Date: Thu, 18 Aug 2016 12:54:11 -0500 From: Segher Boessenkool To: Christophe Leroy Cc: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Scott Wood , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] powerpc/8xx: use SPRN_EIE and SPRN_EID to enable/disable interrupts Message-ID: <20160818175411.GD24467@gate.crashing.org> References: <20160818155602.DAD601A2459@localhost.localdomain> <20160818163431.GB24467@gate.crashing.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.4.2.3i Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 18, 2016 at 06:52:47PM +0200, Christophe Leroy wrote: > Le 18/08/2016 à 18:34, Segher Boessenkool a écrit : > >On Thu, Aug 18, 2016 at 05:56:02PM +0200, Christophe Leroy wrote: > >>The 8xx has two special registers called EID (External Interrupt > >>Disable) and EIE (External Interrupt Enable) for clearing/setting > >>EE in MSR. It avoids the three instructions set mfmsr/ori/mtmsr or > >>mfmsr/rlwinm/mtmsr. > > > >All 8xx? What other models? (5xx for example). > > At least 823, 860, 866 and 885 have it. I haven't been able to find a manual for all 8xx. But there is AN2055, which suggests EIE etc. is for all 8xx indeed. > Looks like the 5xx have it too (at least the 565). Does Linux supports > that one at all ? All 5xx have it, there is a manual for *that* ("RCPU") :-) > >>+/* Special MSR manipulation registers */ > >>+#define SPRN_EIE 80 /* External interrupt enable (EE=1, RI=1) */ > >>+#define SPRN_EID 81 /* External interrupt disable (EE=0, RI=1) */ > >>+#define SPRN_NRI 81 /* Non Recoverable interrupt (EE=0, RI=0) */ Is it correct to set RI in all places you do now? > >This is wrong (NRI is 82). Don't write code you cannot test / don't submit > >code you haven't tested? :-) > > Oops. You're right, copy/paste failure. > Was tested on an 885. Unfortunatly SPRN_NRI is not used (yet) :-( Well, that was my point! Segher