Lines Matching defs:mode

198 // Fields: name, offset, cur{ELT,ELH}Offset, lowerEL{64,32}Offset, next mode,
302 assert(ArmSystem::haveSecurity(tc) || cpsr.mode != MODE_MON);
303 assert(ArmSystem::haveVirtualization(tc) || cpsr.mode != MODE_HYP);
305 switch (cpsr.mode)
428 // Determine source exception level and mode
429 fromMode = (OperatingMode) (uint8_t) cpsr.mode;
435 // mode (aarch32).
477 // Update fault state informations, like the starting mode (aarch32)
478 // or EL (aarch64) and the ending mode or EL.
480 // be handled in AArch64 mode (to64).
516 // Ensure Secure state if initially in Monitor mode
517 if (have_security && saved_cpsr.mode == MODE_MON) {
526 cpsr.mode = toMode;
528 // some bits are set differently if we have been routed to hyp mode
529 if (cpsr.mode == MODE_HYP) {
536 } else if (cpsr.mode == MODE_MON) {
537 // Special case handling when entering monitor mode
563 if (cpsr.mode == MODE_HYP) {
571 switch (cpsr.mode) {
679 OperatingMode64 mode = 0;
680 mode.spX = 1;
681 mode.el = toEL;
682 mode.width = 0;
683 cpsr.mode = mode;
731 assert(ArmSystem::haveSecurity(tc) || cpsr.mode != MODE_MON);
732 assert(ArmSystem::haveVirtualization(tc) || cpsr.mode != MODE_HYP);
758 cpsr.mode = MODE_HYP;
802 // if in Hyp mode then stay in Hyp mode
803 toHyp = scr.ns && (cpsr.mode == MODE_HYP);
804 // if HCR.TGE is set to 1, take to Hyp mode through Hyp Trap vector
805 toHyp |= !inSecureState(scr, cpsr) && hcr.tge && (cpsr.mode == MODE_USER);
850 OperatingMode mode = (OperatingMode)(uint8_t)cpsr.mode;
851 if (opModeIs64(mode))
874 // if in Hyp mode then stay in Hyp mode
875 toHyp = scr.ns && (cpsr.mode == MODE_HYP);
876 // if HCR.TGE is set to 1, take to Hyp mode through Hyp Trap vector
877 toHyp |= !inSecureState(scr, cpsr) && hcr.tge && (cpsr.mode == MODE_USER);
940 // mode, and its an exception type that would only do this if it has been
944 if (cpsr.mode == MODE_HYP) {
946 isHypTrap = spsr.mode != MODE_HYP;
1016 // if HCR.TGE is set to 1, take to Hyp mode through Hyp Trap vector
1085 if (cpsr.mode == MODE_HYP) {
1254 // the fault originated within HYP mode, or not. So override
1260 if (spsr.mode == MODE_HYP) {
1289 // if in Hyp mode then stay in Hyp mode
1290 toHyp = scr.ns && (cpsr.mode == MODE_HYP);
1291 // otherwise, check whether to take to Hyp mode through Hyp Trap vector
1293 ( (source == DebugEvent) && hdcr.tde && (cpsr.mode != MODE_HYP)) ||
1294 ( (source == SynchronousExternalAbort) && hcr.tge && (cpsr.mode == MODE_USER))
1315 // the fault originated within HYP mode, or not. So override
1321 if (spsr.mode == MODE_HYP) {
1350 // if in Hyp mode then stay in Hyp mode
1351 toHyp = scr.ns && (cpsr.mode == MODE_HYP);
1352 // otherwise, check whether to take to Hyp mode through Hyp Trap vector
1354 ( (cpsr.mode != MODE_HYP) && ( ((source == AsynchronousExternalAbort) && hcr.amo) ||
1357 ( (cpsr.mode == MODE_USER) && hcr.tge &&
1450 // Determine whether IRQs are routed to Hyp mode.
1452 (cpsr.mode == MODE_HYP);
1489 // Determine whether IRQs are routed to Hyp mode.
1491 (cpsr.mode == MODE_HYP);
1538 // if HCR.TGE is set to 1, take to Hyp mode through Hyp Trap vector