On Tue, 13 Mar 2012 08:57:14 +0000, Peter Maydell <peter.maydell at linaro.org> wrote: > On 13 March 2012 02:43, Rusty Russell <rusty at rustcorp.com.au> wrote: > > On Sun, 11 Mar 2012 22:05:47 -0400, Christoffer Dall <c.dall at virtualopensystems.com> wrote: > > - ? ? ? /* Top two bits non-zero? ?Unconditional. */ > > + ? ? ? /* > > + ? ? ? ?* From ARM ARM DDI0406C, pp1416-1417: > > + ? ? ? ?* > > + ? ? ? ?* ?For EC values that are nonzero and have the two most-significant > > + ? ? ? ?* ?bits 0b00, ISS[24:20] provides the condition code field for the > > + ? ? ? ?* ?trapped instruction... > > + ? ? ? ?* > > + ? ? ? ?* So, if top two bits are non-zero, it's unconditional. */ > > No, it may also be a conditional instruction which is guaranteed to have > passed its condition check. For instance, we won't ever trap to Hyp mode for > an SMC which fails its condition check, and Data Abort to Hyp mode obviously > requires that we were executing the insn so it must have passed its ccheck. Yes, "unconditional" is too strong a term here, I meant we don't have to check. I'll rework all this to use the existing cond check code... Thanks, Rusty. -- How could I marry someone with more hair than me? http://baldalex.org