Lines Matching refs:kvm_lapic
68 static int kvm_lapic_msr_read(struct kvm_lapic *apic, u32 reg, u64 *data);
69 static int kvm_lapic_msr_write(struct kvm_lapic *apic, u32 reg, u64 data);
76 static inline void kvm_lapic_set_reg(struct kvm_lapic *apic, int reg_off, u32 val) in kvm_lapic_set_reg()
87 static __always_inline u64 kvm_lapic_get_reg64(struct kvm_lapic *apic, int reg) in kvm_lapic_get_reg64()
98 static __always_inline void kvm_lapic_set_reg64(struct kvm_lapic *apic, in kvm_lapic_set_reg64()
111 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_pending_eoi()
130 static inline int apic_enabled(struct kvm_lapic *apic) in apic_enabled()
142 static inline u32 kvm_x2apic_id(struct kvm_lapic *apic) in kvm_x2apic_id()
171 u32 dest_id, struct kvm_lapic ***cluster, u16 *mask) { in kvm_apic_map_get_logical_dest()
221 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_recalculate_phys_map()
296 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_recalculate_logical_map()
298 struct kvm_lapic **cluster; in kvm_recalculate_logical_map()
420 sizeof(struct kvm_lapic *) * ((u64)max_id + 1), in kvm_recalculate_apic_map()
485 static inline void apic_set_spiv(struct kvm_lapic *apic, u32 val) in apic_set_spiv()
506 static inline void kvm_apic_set_xapic_id(struct kvm_lapic *apic, u8 id) in kvm_apic_set_xapic_id()
512 static inline void kvm_apic_set_ldr(struct kvm_lapic *apic, u32 id) in kvm_apic_set_ldr()
518 static inline void kvm_apic_set_dfr(struct kvm_lapic *apic, u32 val) in kvm_apic_set_dfr()
524 static inline void kvm_apic_set_x2apic_id(struct kvm_lapic *apic, u32 id) in kvm_apic_set_x2apic_id()
535 static inline int apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type) in apic_lvt_enabled()
540 static inline int apic_lvtt_oneshot(struct kvm_lapic *apic) in apic_lvtt_oneshot()
545 static inline int apic_lvtt_period(struct kvm_lapic *apic) in apic_lvtt_period()
550 static inline int apic_lvtt_tscdeadline(struct kvm_lapic *apic) in apic_lvtt_tscdeadline()
560 static inline bool kvm_lapic_lvt_supported(struct kvm_lapic *apic, int lvt_index) in kvm_lapic_lvt_supported()
572 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_set_version()
596 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_after_set_mcg_cap()
689 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_update_irr()
698 static inline int apic_search_irr(struct kvm_lapic *apic) in apic_search_irr()
703 static inline int apic_find_highest_irr(struct kvm_lapic *apic) in apic_find_highest_irr()
720 static inline void apic_clear_irr(int vec, struct kvm_lapic *apic) in apic_clear_irr()
741 static inline void apic_set_isr(int vec, struct kvm_lapic *apic) in apic_set_isr()
765 static inline int apic_find_highest_isr(struct kvm_lapic *apic) in apic_find_highest_isr()
784 static inline void apic_clear_isr(int vec, struct kvm_lapic *apic) in apic_clear_isr()
816 static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode,
823 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_set_irq()
929 static int apic_has_interrupt_for_ppr(struct kvm_lapic *apic, u32 ppr) in apic_has_interrupt_for_ppr()
941 static bool __apic_update_ppr(struct kvm_lapic *apic, u32 *new_ppr) in __apic_update_ppr()
963 static void apic_update_ppr(struct kvm_lapic *apic) in apic_update_ppr()
978 static void apic_set_tpr(struct kvm_lapic *apic, u32 tpr) in apic_set_tpr()
984 static bool kvm_apic_broadcast(struct kvm_lapic *apic, u32 mda) in kvm_apic_broadcast()
990 static bool kvm_apic_match_physical_addr(struct kvm_lapic *apic, u32 mda) in kvm_apic_match_physical_addr()
1010 static bool kvm_apic_match_logical_addr(struct kvm_lapic *apic, u32 mda) in kvm_apic_match_logical_addr()
1053 struct kvm_lapic *source, struct kvm_lapic *target) in kvm_apic_mda()
1064 bool kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source, in kvm_apic_match_dest()
1067 struct kvm_lapic *target = vcpu->arch.apic; in kvm_apic_match_dest()
1113 static bool kvm_apic_is_broadcast_dest(struct kvm *kvm, struct kvm_lapic **src, in kvm_apic_is_broadcast_dest()
1140 struct kvm_lapic **src, struct kvm_lapic_irq *irq, in kvm_apic_map_get_dest_lapic()
1141 struct kvm_apic_map *map, struct kvm_lapic ***dst, in kvm_apic_map_get_dest_lapic()
1205 bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src, in kvm_irq_delivery_to_apic_fast()
1210 struct kvm_lapic **dst = NULL; in kvm_irq_delivery_to_apic_fast()
1261 struct kvm_lapic **dst = NULL; in kvm_intr_is_single_vcpu_fast()
1288 static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, in __apic_accept_irq()
1394 struct kvm_lapic **dest_vcpu = NULL; in kvm_bitmap_or_dest_vcpus()
1395 struct kvm_lapic *src = NULL; in kvm_bitmap_or_dest_vcpus()
1434 static bool kvm_ioapic_handles_vector(struct kvm_lapic *apic, int vector) in kvm_ioapic_handles_vector()
1439 static void kvm_ioapic_send_eoi(struct kvm_lapic *apic, int vector) in kvm_ioapic_send_eoi()
1462 static int apic_set_eoi(struct kvm_lapic *apic) in apic_set_eoi()
1493 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_set_eoi_accelerated()
1502 void kvm_apic_send_ipi(struct kvm_lapic *apic, u32 icr_low, u32 icr_high) in kvm_apic_send_ipi()
1527 static u32 apic_get_tmcct(struct kvm_lapic *apic) in apic_get_tmcct()
1548 static void __report_tpr_access(struct kvm_lapic *apic, bool write) in __report_tpr_access()
1558 static inline void report_tpr_access(struct kvm_lapic *apic, bool write) in report_tpr_access()
1564 static u32 __apic_read(struct kvm_lapic *apic, unsigned int offset) in __apic_read()
1596 static inline struct kvm_lapic *to_lapic(struct kvm_io_device *dev) in to_lapic()
1598 return container_of(dev, struct kvm_lapic, dev); in to_lapic()
1605 u64 kvm_lapic_readable_reg_mask(struct kvm_lapic *apic) in kvm_lapic_readable_reg_mask()
1643 static int kvm_lapic_reg_read(struct kvm_lapic *apic, u32 offset, int len, in kvm_lapic_reg_read()
1680 static int apic_mmio_in_range(struct kvm_lapic *apic, gpa_t addr) in apic_mmio_in_range()
1689 struct kvm_lapic *apic = to_lapic(this); in apic_mmio_read()
1709 static void update_divide_count(struct kvm_lapic *apic) in update_divide_count()
1719 static void limit_periodic_timer_frequency(struct kvm_lapic *apic) in limit_periodic_timer_frequency()
1740 static void cancel_hv_timer(struct kvm_lapic *apic);
1742 static void cancel_apic_timer(struct kvm_lapic *apic) in cancel_apic_timer()
1752 static void apic_update_lvtt(struct kvm_lapic *apic) in apic_update_lvtt()
1777 struct kvm_lapic *apic = vcpu->arch.apic; in lapic_timer_int_injected()
1816 struct kvm_lapic *apic = vcpu->arch.apic; in adjust_lapic_timer_advance()
1844 struct kvm_lapic *apic = vcpu->arch.apic; in __kvm_wait_lapic_expire()
1877 static void kvm_apic_inject_pending_timer_irqs(struct kvm_lapic *apic) in kvm_apic_inject_pending_timer_irqs()
1890 static void apic_timer_expired(struct kvm_lapic *apic, bool from_timer_fn) in apic_timer_expired()
1928 static void start_sw_tscdeadline(struct kvm_lapic *apic) in start_sw_tscdeadline()
1961 static inline u64 tmict_to_ns(struct kvm_lapic *apic, u32 tmict) in tmict_to_ns()
1966 static void update_target_expiration(struct kvm_lapic *apic, uint32_t old_divisor) in update_target_expiration()
1990 static bool set_target_expiration(struct kvm_lapic *apic, u32 count_reg) in set_target_expiration()
2040 static void advance_periodic_target_expiration(struct kvm_lapic *apic) in advance_periodic_target_expiration()
2061 static void start_sw_period(struct kvm_lapic *apic) in start_sw_period()
2089 static void cancel_hv_timer(struct kvm_lapic *apic) in cancel_hv_timer()
2097 static bool start_hv_timer(struct kvm_lapic *apic) in start_hv_timer()
2139 static void start_sw_timer(struct kvm_lapic *apic) in start_sw_timer()
2156 static void restart_apic_timer(struct kvm_lapic *apic) in restart_apic_timer()
2171 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_lapic_expired_hv_timer()
2197 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_lapic_switch_to_sw_timer()
2208 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_lapic_restart_hv_timer()
2214 static void __start_apic_timer(struct kvm_lapic *apic, u32 count_reg) in __start_apic_timer()
2225 static void start_apic_timer(struct kvm_lapic *apic) in start_apic_timer()
2230 static void apic_manage_nmi_watchdog(struct kvm_lapic *apic, u32 lvt0_val) in apic_manage_nmi_watchdog()
2253 static int kvm_lapic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val) in kvm_lapic_reg_write()
2407 struct kvm_lapic *apic = to_lapic(this); in apic_mmio_write()
2446 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_write_nodecode()
2468 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_free_lapic()
2494 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_get_lapic_tscdeadline_msr()
2504 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_set_lapic_tscdeadline_msr()
2531 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_lapic_set_base()
2578 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_update_apicv()
2669 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_lapic_reset()
2743 static bool lapic_is_periodic(struct kvm_lapic *apic) in lapic_is_periodic()
2750 struct kvm_lapic *apic = vcpu->arch.apic; in apic_has_pending_timer()
2758 int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type) in kvm_apic_local_deliver()
2779 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_nmi_wd_deliver()
2793 struct kvm_lapic *apic = container_of(ktimer, struct kvm_lapic, lapic_timer); in apic_timer_fn()
2807 struct kvm_lapic *apic; in kvm_create_lapic()
2856 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_has_interrupt()
2881 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_inject_apic_timer_irqs()
2892 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_get_apic_interrupt()
2981 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_set_state()
3043 struct kvm_lapic *apic) in apic_sync_pv_eoi_from_guest()
3089 struct kvm_lapic *apic) in apic_sync_pv_eoi_to_guest()
3112 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_lapic_sync_to_vapic()
3148 int kvm_x2apic_icr_write(struct kvm_lapic *apic, u64 data) in kvm_x2apic_icr_write()
3158 static int kvm_lapic_msr_read(struct kvm_lapic *apic, u32 reg, u64 *data) in kvm_lapic_msr_read()
3175 static int kvm_lapic_msr_write(struct kvm_lapic *apic, u32 reg, u64 data) in kvm_lapic_msr_write()
3194 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_x2apic_msr_write()
3205 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_x2apic_msr_read()
3258 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_accept_events()