Lines Matching defs:hcr
138 HCR hcr = tc->readMiscReg(MISCREG_HCR);
140 if (!(intStatus || hcr.va || hcr.vi || hcr.vf))
147 bool allowVIrq = !cpsr.i && hcr.imo && !isSecure && !isHypMode;
148 bool allowVFiq = !cpsr.f && hcr.fmo && !isSecure && !isHypMode;
149 bool allowVAbort = !cpsr.a && hcr.amo && !isSecure && !isHypMode;
151 if ( !(intStatus || (hcr.vi && allowVIrq) || (hcr.vf && allowVFiq) ||
152 (hcr.va && allowVAbort)) )
162 ((interrupts[INT_VIRT_IRQ] || hcr.vi) && allowVIrq) ||
163 ((interrupts[INT_VIRT_FIQ] || hcr.vf) && allowVFiq) ||
164 (hcr.va && allowVAbort) ||
176 checkWfiWake(HCR hcr, CPSR cpsr, SCR scr) const
183 virtWake = (hcr.vi || interrupts[INT_VIRT_IRQ]) && hcr.imo;
184 virtWake |= (hcr.vf || interrupts[INT_VIRT_FIQ]) && hcr.fmo;
185 virtWake |= hcr.va && hcr.amo;
191 getISR(HCR hcr, CPSR cpsr, SCR scr)
197 isr.i = (useHcrMux & hcr.imo) ? (interrupts[INT_VIRT_IRQ] || hcr.vi)
199 isr.f = (useHcrMux & hcr.fmo) ? (interrupts[INT_VIRT_FIQ] || hcr.vf)
201 isr.a = (useHcrMux & hcr.amo) ? hcr.va : interrupts[INT_ABT];
229 HCR hcr = tc->readMiscReg(MISCREG_HCR);
237 bool allowVIrq = !cpsr.i && hcr.imo && !isSecure && !isHypMode;
238 bool allowVFiq = !cpsr.f && hcr.fmo && !isSecure && !isHypMode;
239 bool allowVAbort = !cpsr.a && hcr.amo && !isSecure && !isHypMode;
247 if ((interrupts[INT_VIRT_IRQ] || hcr.vi) && allowVIrq)
251 if ((interrupts[INT_VIRT_FIQ] || hcr.vf) && allowVFiq)
255 if (hcr.va && allowVAbort)