The new global level is computed with min, not max.

--HG--
extra : convert_revision : 6339c82d3655694445c3eb43e467b9aa6b4c8224
This commit is contained in:
Gabe Black 2006-11-08 04:18:15 -05:00
parent 8cb7ac0900
commit f0c4d36649

View file

@ -291,9 +291,9 @@ void doNormalFault(ThreadContext *tc, TrapType tt)
//Update the global register level //Update the global register level
if(1/*We're delivering the trap in priveleged mode*/) if(1/*We're delivering the trap in priveleged mode*/)
tc->setMiscReg(MISCREG_GL, max<int>(GL+1, MaxGL)); tc->setMiscReg(MISCREG_GL, min<int>(GL+1, MaxGL));
else else
tc->setMiscReg(MISCREG_GL, max<int>(GL+1, MaxPGL)); tc->setMiscReg(MISCREG_GL, min<int>(GL+1, MaxPGL));
//PSTATE.mm is unchanged //PSTATE.mm is unchanged
//PSTATE.pef = whether or not an fpu is present //PSTATE.pef = whether or not an fpu is present