Lines Matching full:lr
130 static bool lr_triggers_eoi(u64 lr) in lr_triggers_eoi() argument
132 return !(lr & (ICH_LR_STATE | ICH_LR_HW)) && (lr & ICH_LR_EOI); in lr_triggers_eoi()
141 u64 lr = __vcpu_sys_reg(vcpu, ICH_LRN(i)); in vgic_compute_mi_state() local
143 if (lr_triggers_eoi(lr)) in vgic_compute_mi_state()
145 if (!(lr & ICH_LR_STATE)) in vgic_compute_mi_state()
147 pend |= (lr & ICH_LR_PENDING_BIT); in vgic_compute_mi_state()
224 u64 lr = __vcpu_sys_reg(vcpu, ICH_LRN(i)); in vgic_v3_create_shadow_lr() local
227 if (!(lr & ICH_LR_STATE)) in vgic_v3_create_shadow_lr()
228 lr = 0; in vgic_v3_create_shadow_lr()
230 if (!(lr & ICH_LR_HW)) in vgic_v3_create_shadow_lr()
234 irq = vgic_get_vcpu_irq(vcpu, FIELD_GET(ICH_LR_PHYS_ID_MASK, lr)); in vgic_v3_create_shadow_lr()
237 lr &= ~ICH_LR_HW; in vgic_v3_create_shadow_lr()
244 lr &= ~ICH_LR_EOI; in vgic_v3_create_shadow_lr()
247 lr &= ~ICH_LR_PHYS_ID_MASK; in vgic_v3_create_shadow_lr()
248 lr |= FIELD_PREP(ICH_LR_PHYS_ID_MASK, (u64)irq->hwintid); in vgic_v3_create_shadow_lr()
253 s_cpu_if->vgic_lr[index] = lr; in vgic_v3_create_shadow_lr()
254 if (lr) { in vgic_v3_create_shadow_lr()
270 u64 lr = __vcpu_sys_reg(vcpu, ICH_LRN(i)); in vgic_v3_sync_nested() local
273 if (!(lr & ICH_LR_HW) || !(lr & ICH_LR_STATE)) in vgic_v3_sync_nested()
277 * If we had a HW lr programmed by the guest hypervisor, we in vgic_v3_sync_nested()
281 irq = vgic_get_vcpu_irq(vcpu, FIELD_GET(ICH_LR_PHYS_ID_MASK, lr)); in vgic_v3_sync_nested()
285 lr = __gic_v3_get_lr(index); in vgic_v3_sync_nested()
286 if (!(lr & ICH_LR_STATE)) in vgic_v3_sync_nested()