Lines Matching defs:apic

86 int kvm_lapic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val);
87 int kvm_lapic_reg_read(struct kvm_lapic *apic, u32 offset, int len,
98 int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type);
103 void kvm_apic_send_ipi(struct kvm_lapic *apic, u32 icr_low, u32 icr_high);
150 static inline void kvm_lapic_set_irr(int vec, struct kvm_lapic *apic)
152 kvm_lapic_set_vector(vec, apic->regs + APIC_IRR);
157 apic->irr_pending = true;
160 static inline u32 kvm_lapic_get_reg(struct kvm_lapic *apic, int reg_off)
162 return *((u32 *) (apic->regs + reg_off));
170 static inline void kvm_lapic_set_reg(struct kvm_lapic *apic, int reg_off, u32 val)
172 __kvm_lapic_set_reg(apic->regs, reg_off, val);
180 return vcpu->arch.apic;
186 static inline int kvm_apic_hw_enabled(struct kvm_lapic *apic)
189 return apic->vcpu->arch.apic_base & MSR_IA32_APICBASE_ENABLE;
195 static inline bool kvm_apic_sw_enabled(struct kvm_lapic *apic)
198 return apic->sw_enabled;
204 return lapic_in_kernel(vcpu) && kvm_apic_hw_enabled(vcpu->arch.apic);
209 return kvm_apic_present(vcpu) && kvm_apic_sw_enabled(vcpu->arch.apic);
212 static inline int apic_x2apic_mode(struct kvm_lapic *apic)
214 return apic->vcpu->arch.apic_base & X2APIC_ENABLE;
219 return vcpu->arch.apic && vcpu->arch.apicv_active;
224 return lapic_in_kernel(vcpu) && vcpu->arch.apic->pending_events;
235 return lapic_in_kernel(vcpu) && test_bit(KVM_APIC_INIT, &vcpu->arch.apic->pending_events);
261 static inline u8 kvm_xapic_id(struct kvm_lapic *apic)
263 return kvm_lapic_get_reg(apic, APIC_ID) >> 24;