PSR_MODE32_BIT
return !!(*vcpu_cpsr(vcpu) & PSR_MODE32_BIT);
switch (ctxt->regs.pstate & (PSR_MODE32_BIT | PSR_MODE_MASK)) {
(((regs)->pstate & (PSR_MODE32_BIT | PSR_MODE_MASK)) == \
(PSR_MODE32_BIT | PSR_MODE_EL0t))
if (user_mode(regs) && (regs->pstate & PSR_MODE32_BIT) &&
regs->pstate |= PSR_MODE32_BIT;
if (user_mode(regs) && !(regs->pstate & PSR_MODE32_BIT) &&
mode = regs->pstate & (PSR_MODE32_BIT | PSR_MODE_MASK);
else if (mode & PSR_MODE32_BIT)
(spsr & PSR_MODE32_BIT) ||
PSR_MODE_MASK | PSR_MODE32_BIT);
mode = pstate & (PSR_MODE_MASK | PSR_MODE32_BIT);
if (*vcpu_cpsr(vcpu) & PSR_MODE32_BIT) {
mode = *vcpu_cpsr(vcpu) & (PSR_MODE_MASK | PSR_MODE32_BIT);
else if (!(mode & PSR_MODE32_BIT))
u64 mode = ctxt->regs.pstate & (PSR_MODE_MASK | PSR_MODE32_BIT);
return (ctxt->regs.pstate & ~(PSR_MODE_MASK | PSR_MODE32_BIT)) | mode;
if (!(mode & PSR_MODE32_BIT) && mode >= PSR_MODE_EL2t)
mode = spsr & (PSR_MODE_MASK | PSR_MODE32_BIT);
spsr = (spsr & ~(PSR_MODE_MASK | PSR_MODE32_BIT)) | mode;
u64 mode = *vcpu_cpsr(vcpu) & (PSR_MODE_MASK | PSR_MODE32_BIT);
*vcpu_cpsr(vcpu) &= ~(PSR_MODE_MASK | PSR_MODE32_BIT);
__entry->target_mode = spsr_el2 & (PSR_MODE_MASK | PSR_MODE32_BIT);
__entry->source_mode = *vcpu_cpsr(vcpu) & (PSR_MODE_MASK | PSR_MODE32_BIT);
uc->uc_mcontext.pstate ^= PSR_MODE32_BIT;