/kernel/linux/linux-6.6/arch/x86/kvm/ |
H A D | lapic.c | 69 static int kvm_lapic_msr_read(struct kvm_lapic *apic, u32 reg, u64 *data); 70 static int kvm_lapic_msr_write(struct kvm_lapic *apic, u32 reg, u64 data); 77 static inline void kvm_lapic_set_reg(struct kvm_lapic *apic, int reg_off, u32 val) in kvm_lapic_set_reg() argument 79 __kvm_lapic_set_reg(apic->regs, reg_off, val); in kvm_lapic_set_reg() 88 static __always_inline u64 kvm_lapic_get_reg64(struct kvm_lapic *apic, int reg) in kvm_lapic_get_reg64() argument 90 return __kvm_lapic_get_reg64(apic->regs, reg); in kvm_lapic_get_reg64() 99 static __always_inline void kvm_lapic_set_reg64(struct kvm_lapic *apic, in kvm_lapic_set_reg64() argument 102 __kvm_lapic_set_reg64(apic->regs, reg, val); in kvm_lapic_set_reg64() 112 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_pending_eoi() local 131 apic_enabled(struct kvm_lapic *apic) apic_enabled() argument 143 kvm_x2apic_id(struct kvm_lapic *apic) kvm_x2apic_id() argument 222 struct kvm_lapic *apic = vcpu->arch.apic; kvm_recalculate_phys_map() local 297 struct kvm_lapic *apic = vcpu->arch.apic; kvm_recalculate_logical_map() local 486 apic_set_spiv(struct kvm_lapic *apic, u32 val) apic_set_spiv() argument 509 kvm_apic_set_xapic_id(struct kvm_lapic *apic, u8 id) kvm_apic_set_xapic_id() argument 515 kvm_apic_set_ldr(struct kvm_lapic *apic, u32 id) kvm_apic_set_ldr() argument 521 kvm_apic_set_dfr(struct kvm_lapic *apic, u32 val) kvm_apic_set_dfr() argument 527 kvm_apic_set_x2apic_id(struct kvm_lapic *apic, u32 id) kvm_apic_set_x2apic_id() argument 538 apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type) apic_lvt_enabled() argument 543 apic_lvtt_oneshot(struct kvm_lapic *apic) apic_lvtt_oneshot() argument 548 apic_lvtt_period(struct kvm_lapic *apic) apic_lvtt_period() argument 553 apic_lvtt_tscdeadline(struct kvm_lapic *apic) apic_lvtt_tscdeadline() argument 563 kvm_lapic_lvt_supported(struct kvm_lapic *apic, int lvt_index) kvm_lapic_lvt_supported() argument 575 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_version() local 599 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_after_set_mcg_cap() local 692 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_update_irr() local 701 apic_search_irr(struct kvm_lapic *apic) apic_search_irr() argument 706 apic_find_highest_irr(struct kvm_lapic *apic) apic_find_highest_irr() argument 723 apic_clear_irr(int vec, struct kvm_lapic *apic) apic_clear_irr() argument 744 apic_set_isr(int vec, struct kvm_lapic *apic) apic_set_isr() argument 768 apic_find_highest_isr(struct kvm_lapic *apic) apic_find_highest_isr() argument 787 apic_clear_isr(int vec, struct kvm_lapic *apic) apic_clear_isr() argument 826 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_irq() local 932 apic_has_interrupt_for_ppr(struct kvm_lapic *apic, u32 ppr) apic_has_interrupt_for_ppr() argument 944 __apic_update_ppr(struct kvm_lapic *apic, u32 *new_ppr) __apic_update_ppr() argument 966 apic_update_ppr(struct kvm_lapic *apic) apic_update_ppr() argument 981 apic_set_tpr(struct kvm_lapic *apic, u32 tpr) apic_set_tpr() argument 987 kvm_apic_broadcast(struct kvm_lapic *apic, u32 mda) kvm_apic_broadcast() argument 993 kvm_apic_match_physical_addr(struct kvm_lapic *apic, u32 mda) kvm_apic_match_physical_addr() argument 1013 kvm_apic_match_logical_addr(struct kvm_lapic *apic, u32 mda) kvm_apic_match_logical_addr() argument 1291 __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, int vector, int level, int trig_mode, struct dest_map *dest_map) __apic_accept_irq() argument 1437 kvm_ioapic_handles_vector(struct kvm_lapic *apic, int vector) kvm_ioapic_handles_vector() argument 1442 kvm_ioapic_send_eoi(struct kvm_lapic *apic, int vector) kvm_ioapic_send_eoi() argument 1465 apic_set_eoi(struct kvm_lapic *apic) apic_set_eoi() argument 1496 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_eoi_accelerated() local 1505 kvm_apic_send_ipi(struct kvm_lapic *apic, u32 icr_low, u32 icr_high) kvm_apic_send_ipi() argument 1530 apic_get_tmcct(struct kvm_lapic *apic) apic_get_tmcct() argument 1551 __report_tpr_access(struct kvm_lapic *apic, bool write) __report_tpr_access() argument 1561 report_tpr_access(struct kvm_lapic *apic, bool write) report_tpr_access() argument 1567 __apic_read(struct kvm_lapic *apic, unsigned int offset) __apic_read() argument 1608 kvm_lapic_readable_reg_mask(struct kvm_lapic *apic) kvm_lapic_readable_reg_mask() argument 1646 kvm_lapic_reg_read(struct kvm_lapic *apic, u32 offset, int len, void *data) kvm_lapic_reg_read() argument 1683 apic_mmio_in_range(struct kvm_lapic *apic, gpa_t addr) apic_mmio_in_range() argument 1692 struct kvm_lapic *apic = to_lapic(this); apic_mmio_read() local 1712 update_divide_count(struct kvm_lapic *apic) update_divide_count() argument 1722 limit_periodic_timer_frequency(struct kvm_lapic *apic) limit_periodic_timer_frequency() argument 1745 cancel_apic_timer(struct kvm_lapic *apic) cancel_apic_timer() argument 1755 apic_update_lvtt(struct kvm_lapic *apic) apic_update_lvtt() argument 1780 struct kvm_lapic *apic = vcpu->arch.apic; lapic_timer_int_injected() local 1819 struct kvm_lapic *apic = vcpu->arch.apic; adjust_lapic_timer_advance() local 1847 struct kvm_lapic *apic = vcpu->arch.apic; __kvm_wait_lapic_expire() local 1880 kvm_apic_inject_pending_timer_irqs(struct kvm_lapic *apic) kvm_apic_inject_pending_timer_irqs() argument 1893 apic_timer_expired(struct kvm_lapic *apic, bool from_timer_fn) apic_timer_expired() argument 1931 start_sw_tscdeadline(struct kvm_lapic *apic) start_sw_tscdeadline() argument 1964 tmict_to_ns(struct kvm_lapic *apic, u32 tmict) tmict_to_ns() argument 1969 update_target_expiration(struct kvm_lapic *apic, uint32_t old_divisor) update_target_expiration() argument 1993 set_target_expiration(struct kvm_lapic *apic, u32 count_reg) set_target_expiration() argument 2043 advance_periodic_target_expiration(struct kvm_lapic *apic) advance_periodic_target_expiration() argument 2064 start_sw_period(struct kvm_lapic *apic) start_sw_period() argument 2092 cancel_hv_timer(struct kvm_lapic *apic) cancel_hv_timer() argument 2100 start_hv_timer(struct kvm_lapic *apic) start_hv_timer() argument 2142 start_sw_timer(struct kvm_lapic *apic) start_sw_timer() argument 2159 restart_apic_timer(struct kvm_lapic *apic) restart_apic_timer() argument 2174 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_expired_hv_timer() local 2200 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_switch_to_sw_timer() local 2211 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_restart_hv_timer() local 2217 __start_apic_timer(struct kvm_lapic *apic, u32 count_reg) __start_apic_timer() argument 2228 start_apic_timer(struct kvm_lapic *apic) start_apic_timer() argument 2233 apic_manage_nmi_watchdog(struct kvm_lapic *apic, u32 lvt0_val) apic_manage_nmi_watchdog() argument 2256 kvm_lapic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val) kvm_lapic_reg_write() argument 2410 struct kvm_lapic *apic = to_lapic(this); apic_mmio_write() local 2449 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_write_nodecode() local 2471 struct kvm_lapic *apic = vcpu->arch.apic; kvm_free_lapic() local 2497 struct kvm_lapic *apic = vcpu->arch.apic; kvm_get_lapic_tscdeadline_msr() local 2507 struct kvm_lapic *apic = vcpu->arch.apic; kvm_set_lapic_tscdeadline_msr() local 2534 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_set_base() local 2581 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_update_apicv() local 2672 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_reset() local 2748 lapic_is_periodic(struct kvm_lapic *apic) lapic_is_periodic() argument 2755 struct kvm_lapic *apic = vcpu->arch.apic; apic_has_pending_timer() local 2763 kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type) kvm_apic_local_deliver() argument 2784 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_nmi_wd_deliver() local 2798 struct kvm_lapic *apic = container_of(ktimer, struct kvm_lapic, lapic_timer); apic_timer_fn() local 2812 struct kvm_lapic *apic; kvm_create_lapic() local 2861 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_has_interrupt() local 2886 struct kvm_lapic *apic = vcpu->arch.apic; kvm_inject_apic_timer_irqs() local 2897 struct kvm_lapic *apic = vcpu->arch.apic; kvm_get_apic_interrupt() local 2986 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_state() local 3049 apic_sync_pv_eoi_from_guest(struct kvm_vcpu *vcpu, struct kvm_lapic *apic) apic_sync_pv_eoi_from_guest() argument 3095 apic_sync_pv_eoi_to_guest(struct kvm_vcpu *vcpu, struct kvm_lapic *apic) apic_sync_pv_eoi_to_guest() argument 3119 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_sync_to_vapic() local 3155 kvm_x2apic_icr_write(struct kvm_lapic *apic, u64 data) kvm_x2apic_icr_write() argument 3165 kvm_lapic_msr_read(struct kvm_lapic *apic, u32 reg, u64 *data) kvm_lapic_msr_read() argument 3182 kvm_lapic_msr_write(struct kvm_lapic *apic, u32 reg, u64 data) kvm_lapic_msr_write() argument 3201 struct kvm_lapic *apic = vcpu->arch.apic; kvm_x2apic_msr_write() local 3212 struct kvm_lapic *apic = vcpu->arch.apic; kvm_x2apic_msr_read() local 3265 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_accept_events() local [all...] |
H A D | lapic.h | 113 int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type); 120 void kvm_apic_send_ipi(struct kvm_lapic *apic, u32 icr_low, u32 icr_high); 139 int kvm_x2apic_icr_write(struct kvm_lapic *apic, u64 data); 149 u64 kvm_lapic_readable_reg_mask(struct kvm_lapic *apic); 164 static inline void kvm_lapic_set_irr(int vec, struct kvm_lapic *apic) in kvm_lapic_set_irr() argument 166 kvm_lapic_set_vector(vec, apic->regs + APIC_IRR); in kvm_lapic_set_irr() 171 apic->irr_pending = true; in kvm_lapic_set_irr() 179 static inline u32 kvm_lapic_get_reg(struct kvm_lapic *apic, int reg_off) in kvm_lapic_get_reg() argument 181 return __kvm_lapic_get_reg(apic->regs, reg_off); in kvm_lapic_get_reg() 189 return vcpu->arch.apic; in lapic_in_kernel() 195 kvm_apic_hw_enabled(struct kvm_lapic *apic) kvm_apic_hw_enabled() argument 204 kvm_apic_sw_enabled(struct kvm_lapic *apic) kvm_apic_sw_enabled() argument 221 apic_x2apic_mode(struct kvm_lapic *apic) apic_x2apic_mode() argument 276 kvm_xapic_id(struct kvm_lapic *apic) kvm_xapic_id() argument [all...] |
/kernel/linux/linux-5.10/arch/x86/kvm/ |
H A D | lapic.c | 78 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_pending_eoi() local 80 return apic_test_vector(vector, apic->regs + APIC_ISR) || in kvm_apic_pending_eoi() 81 apic_test_vector(vector, apic->regs + APIC_IRR); in kvm_apic_pending_eoi() 97 static inline int apic_enabled(struct kvm_lapic *apic) in apic_enabled() argument 99 return kvm_apic_sw_enabled(apic) && kvm_apic_hw_enabled(apic); in apic_enabled() 109 static inline u32 kvm_x2apic_id(struct kvm_lapic *apic) in kvm_x2apic_id() argument 111 return apic->vcpu->vcpu_id; in kvm_x2apic_id() 210 max_id = max(max_id, kvm_x2apic_id(vcpu->arch.apic)); in kvm_recalculate_apic_map() 222 struct kvm_lapic *apic = vcpu->arch.apic; kvm_recalculate_apic_map() local 285 apic_set_spiv(struct kvm_lapic *apic, u32 val) apic_set_spiv() argument 306 kvm_apic_set_xapic_id(struct kvm_lapic *apic, u8 id) kvm_apic_set_xapic_id() argument 312 kvm_apic_set_ldr(struct kvm_lapic *apic, u32 id) kvm_apic_set_ldr() argument 318 kvm_apic_set_dfr(struct kvm_lapic *apic, u32 val) kvm_apic_set_dfr() argument 329 kvm_apic_set_x2apic_id(struct kvm_lapic *apic, u32 id) kvm_apic_set_x2apic_id() argument 340 apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type) apic_lvt_enabled() argument 345 apic_lvtt_oneshot(struct kvm_lapic *apic) apic_lvtt_oneshot() argument 350 apic_lvtt_period(struct kvm_lapic *apic) apic_lvtt_period() argument 355 apic_lvtt_tscdeadline(struct kvm_lapic *apic) apic_lvtt_tscdeadline() argument 367 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_version() local 455 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_update_irr() local 461 apic_search_irr(struct kvm_lapic *apic) apic_search_irr() argument 466 apic_find_highest_irr(struct kvm_lapic *apic) apic_find_highest_irr() argument 483 apic_clear_irr(int vec, struct kvm_lapic *apic) apic_clear_irr() argument 508 apic_set_isr(int vec, struct kvm_lapic *apic) apic_set_isr() argument 536 apic_find_highest_isr(struct kvm_lapic *apic) apic_find_highest_isr() argument 555 apic_clear_isr(int vec, struct kvm_lapic *apic) apic_clear_isr() argument 598 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_irq() local 705 apic_has_interrupt_for_ppr(struct kvm_lapic *apic, u32 ppr) apic_has_interrupt_for_ppr() argument 717 __apic_update_ppr(struct kvm_lapic *apic, u32 *new_ppr) __apic_update_ppr() argument 739 apic_update_ppr(struct kvm_lapic *apic) apic_update_ppr() argument 754 apic_set_tpr(struct kvm_lapic *apic, u32 tpr) apic_set_tpr() argument 760 kvm_apic_broadcast(struct kvm_lapic *apic, u32 mda) kvm_apic_broadcast() argument 766 kvm_apic_match_physical_addr(struct kvm_lapic *apic, u32 mda) kvm_apic_match_physical_addr() argument 786 kvm_apic_match_logical_addr(struct kvm_lapic *apic, u32 mda) kvm_apic_match_logical_addr() argument 1065 __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, int vector, int level, int trig_mode, struct dest_map *dest_map) __apic_accept_irq() argument 1213 kvm_ioapic_handles_vector(struct kvm_lapic *apic, int vector) kvm_ioapic_handles_vector() argument 1218 kvm_ioapic_send_eoi(struct kvm_lapic *apic, int vector) kvm_ioapic_send_eoi() argument 1241 apic_set_eoi(struct kvm_lapic *apic) apic_set_eoi() argument 1271 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_eoi_accelerated() local 1280 kvm_apic_send_ipi(struct kvm_lapic *apic, u32 icr_low, u32 icr_high) kvm_apic_send_ipi() argument 1301 apic_get_tmcct(struct kvm_lapic *apic) apic_get_tmcct() argument 1326 __report_tpr_access(struct kvm_lapic *apic, bool write) __report_tpr_access() argument 1336 report_tpr_access(struct kvm_lapic *apic, bool write) report_tpr_access() argument 1342 __apic_read(struct kvm_lapic *apic, unsigned int offset) __apic_read() argument 1383 kvm_lapic_reg_read(struct kvm_lapic *apic, u32 offset, int len, void *data) kvm_lapic_reg_read() argument 1442 apic_mmio_in_range(struct kvm_lapic *apic, gpa_t addr) apic_mmio_in_range() argument 1451 struct kvm_lapic *apic = to_lapic(this); apic_mmio_read() local 1471 update_divide_count(struct kvm_lapic *apic) update_divide_count() argument 1481 limit_periodic_timer_frequency(struct kvm_lapic *apic) limit_periodic_timer_frequency() argument 1504 apic_update_lvtt(struct kvm_lapic *apic) apic_update_lvtt() argument 1533 struct kvm_lapic *apic = vcpu->arch.apic; lapic_timer_int_injected() local 1572 struct kvm_lapic *apic = vcpu->arch.apic; adjust_lapic_timer_advance() local 1600 struct kvm_lapic *apic = vcpu->arch.apic; __kvm_wait_lapic_expire() local 1625 kvm_apic_inject_pending_timer_irqs(struct kvm_lapic *apic) kvm_apic_inject_pending_timer_irqs() argument 1638 apic_timer_expired(struct kvm_lapic *apic, bool from_timer_fn) apic_timer_expired() argument 1676 start_sw_tscdeadline(struct kvm_lapic *apic) start_sw_tscdeadline() argument 1709 tmict_to_ns(struct kvm_lapic *apic, u32 tmict) tmict_to_ns() argument 1714 update_target_expiration(struct kvm_lapic *apic, uint32_t old_divisor) update_target_expiration() argument 1738 set_target_expiration(struct kvm_lapic *apic, u32 count_reg) set_target_expiration() argument 1784 advance_periodic_target_expiration(struct kvm_lapic *apic) advance_periodic_target_expiration() argument 1805 start_sw_period(struct kvm_lapic *apic) start_sw_period() argument 1834 cancel_hv_timer(struct kvm_lapic *apic) cancel_hv_timer() argument 1842 start_hv_timer(struct kvm_lapic *apic) start_hv_timer() argument 1884 start_sw_timer(struct kvm_lapic *apic) start_sw_timer() argument 1901 restart_apic_timer(struct kvm_lapic *apic) restart_apic_timer() argument 1916 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_expired_hv_timer() local 1943 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_switch_to_sw_timer() local 1955 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_restart_hv_timer() local 1961 __start_apic_timer(struct kvm_lapic *apic, u32 count_reg) __start_apic_timer() argument 1972 start_apic_timer(struct kvm_lapic *apic) start_apic_timer() argument 1977 apic_manage_nmi_watchdog(struct kvm_lapic *apic, u32 lvt0_val) apic_manage_nmi_watchdog() argument 1990 kvm_lapic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val) kvm_lapic_reg_write() argument 2141 struct kvm_lapic *apic = to_lapic(this); apic_mmio_write() local 2194 struct kvm_lapic *apic = vcpu->arch.apic; kvm_free_lapic() local 2220 struct kvm_lapic *apic = vcpu->arch.apic; kvm_get_lapic_tscdeadline_msr() local 2230 struct kvm_lapic *apic = vcpu->arch.apic; kvm_set_lapic_tscdeadline_msr() local 2257 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_set_base() local 2299 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_update_apicv() local 2314 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_reset() local 2381 lapic_is_periodic(struct kvm_lapic *apic) lapic_is_periodic() argument 2388 struct kvm_lapic *apic = vcpu->arch.apic; apic_has_pending_timer() local 2396 kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type) kvm_apic_local_deliver() argument 2417 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_nmi_wd_deliver() local 2431 struct kvm_lapic *apic = container_of(ktimer, struct kvm_lapic, lapic_timer); apic_timer_fn() local 2445 struct kvm_lapic *apic; kvm_create_lapic() local 2492 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_has_interrupt() local 2517 struct kvm_lapic *apic = vcpu->arch.apic; kvm_inject_apic_timer_irqs() local 2528 struct kvm_lapic *apic = vcpu->arch.apic; kvm_get_apic_interrupt() local 2604 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_set_state() local 2666 apic_sync_pv_eoi_from_guest(struct kvm_vcpu *vcpu, struct kvm_lapic *apic) apic_sync_pv_eoi_from_guest() argument 2719 apic_sync_pv_eoi_to_guest(struct kvm_vcpu *vcpu, struct kvm_lapic *apic) apic_sync_pv_eoi_to_guest() argument 2743 struct kvm_lapic *apic = vcpu->arch.apic; kvm_lapic_sync_to_vapic() local 2781 struct kvm_lapic *apic = vcpu->arch.apic; kvm_x2apic_msr_write() local 2798 struct kvm_lapic *apic = vcpu->arch.apic; kvm_x2apic_msr_read() local 2819 struct kvm_lapic *apic = vcpu->arch.apic; kvm_hv_vapic_msr_write() local 2832 struct kvm_lapic *apic = vcpu->arch.apic; kvm_hv_vapic_msr_read() local 2871 struct kvm_lapic *apic = vcpu->arch.apic; kvm_apic_accept_events() local [all...] |
H A D | lapic.h | 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) in kvm_lapic_set_irr() argument 152 kvm_lapic_set_vector(vec, apic->regs + APIC_IRR); in kvm_lapic_set_irr() 157 apic->irr_pending = true; in kvm_lapic_set_irr() 160 static inline u32 kvm_lapic_get_reg(struct kvm_lapic *apic, int reg_off) in kvm_lapic_get_reg() argument 162 return *((u32 *) (apic->regs + reg_off)); in kvm_lapic_get_reg() 170 static inline void kvm_lapic_set_reg(struct kvm_lapic *apic, in argument 186 kvm_apic_hw_enabled(struct kvm_lapic *apic) kvm_apic_hw_enabled() argument 195 kvm_apic_sw_enabled(struct kvm_lapic *apic) kvm_apic_sw_enabled() argument 212 apic_x2apic_mode(struct kvm_lapic *apic) apic_x2apic_mode() argument 261 kvm_xapic_id(struct kvm_lapic *apic) kvm_xapic_id() argument [all...] |
/kernel/linux/linux-6.6/arch/x86/kernel/apic/ |
H A D | init.c | 4 #include <asm/apic.h> 15 DEFINE_STATIC_CALL_NULL(apic_call_##__cb, *apic->__cb) 41 apic->__cb = __x86_apic_override.__cb 62 static_call_update(apic_call_##__cb, *apic->__cb) 86 apic->native_eoi = apic->eoi; in apic_setup_apic_calls() 91 void __init apic_install_driver(struct apic *driver) in apic_install_driver() 93 if (apic == driver) in apic_install_driver() 96 apic = driver; in apic_install_driver() 98 if (IS_ENABLED(CONFIG_X86_X2APIC) && apic in apic_install_driver() [all...] |
H A D | io_apic.c | 67 #include <asm/apic.h> 90 int apic, pin; member 269 static inline void io_apic_eoi(unsigned int apic, unsigned int vector) in io_apic_eoi() argument 271 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_eoi() 275 unsigned int native_io_apic_read(unsigned int apic, unsigned int reg) in native_io_apic_read() argument 277 struct io_apic __iomem *io_apic = io_apic_base(apic); in native_io_apic_read() 282 static void io_apic_write(unsigned int apic, unsigned int reg, in io_apic_write() argument 285 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_write() 291 static struct IO_APIC_route_entry __ioapic_read_entry(int apic, int pin) in __ioapic_read_entry() argument 295 entry.w1 = io_apic_read(apic, in __ioapic_read_entry() 301 ioapic_read_entry(int apic, int pin) ioapic_read_entry() argument 319 __ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e) __ioapic_write_entry() argument 325 ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e) ioapic_write_entry() argument 339 ioapic_mask_entry(int apic, int pin) ioapic_mask_entry() argument 355 __add_pin_to_irq_node(struct mp_chip_data *data, int node, int apic, int pin) __add_pin_to_irq_node() argument 378 __remove_pin_from_irq(struct mp_chip_data *data, int apic, int pin) __remove_pin_from_irq() argument 390 add_pin_to_irq_node(struct mp_chip_data *data, int node, int apic, int pin) add_pin_to_irq_node() argument 486 __eoi_ioapic_pin(int apic, int pin, int vector) __eoi_ioapic_pin() argument 521 clear_IO_APIC_pin(unsigned int apic, unsigned int pin) clear_IO_APIC_pin() argument 570 int apic, pin; clear_IO_APIC() local 619 int apic, pin; save_ioapic_entries() local 641 int apic, pin; mask_ioapic_entries() local 664 int apic, pin; restore_ioapic_entries() local 1231 io_apic_print_entries(unsigned int apic, unsigned int nr_entries) io_apic_print_entries() argument 1362 static struct { int pin, apic; } ioapic_i8259 = { -1, -1 }; global() member 1367 int apic, pin; enable_IO_APIC() local 2075 int apic, pin, i; unlock_ExtINT_logic() local [all...] |
H A D | apic_flat_64.c | 16 #include <asm/apic.h> 20 static struct apic apic_physflat; 21 static struct apic apic_flat; 23 struct apic *apic __ro_after_init = &apic_flat; 24 EXPORT_SYMBOL_GPL(apic); variable 79 static struct apic apic_flat __ro_after_init = { 136 printk(KERN_DEBUG "IBM Summit detected, will use apic physical"); in physflat_acpi_madt_oem_check() 146 return apic == &apic_physflat || num_possible_cpus() > 8 || jailhouse_paravirt(); in physflat_probe() 149 static struct apic apic_physfla [all...] |
H A D | probe_32.c | 16 #include <asm/apic.h> 32 static struct apic apic_default __ro_after_init = { 72 struct apic *apic __ro_after_init = &apic_default; 73 EXPORT_SYMBOL_GPL(apic); variable 78 struct apic **drv; in parse_apic() 94 early_param("apic", parse_apic); 128 struct apic **drv; in x86_32_probe_apic()
|
H A D | probe_64.c | 12 #include <asm/apic.h> 19 struct apic **drv; in x86_64_probe_apic() 33 struct apic **drv; in default_acpi_madt_oem_check()
|
H A D | x2apic_phys.c | 10 static struct apic apic_x2apic_phys; 16 if (apic->x2apic_set_max_apicid) in x2apic_set_max_apicid() 17 apic->max_apic_id = apicid; in x2apic_set_max_apicid() 124 return apic == &apic_x2apic_phys; in x2apic_phys_probe() 142 static struct apic apic_x2apic_phys __ro_after_init = {
|
H A D | bigsmp_32.c | 11 #include <asm/apic.h> 51 printk(KERN_NOTICE "%s detected: force use of apic=bigsmp\n", d->ident); in hp_ht_bigsmp() 78 static struct apic apic_bigsmp __ro_after_init = { 117 return apic == &apic_bigsmp || !cmdline_override; in apic_bigsmp_possible() 122 if (apic != &apic_bigsmp) in apic_bigsmp_force()
|
/kernel/linux/linux-5.10/arch/x86/kernel/apic/ |
H A D | probe_32.c | 14 #include <asm/apic.h> 64 static struct apic apic_default __ro_after_init = { 116 struct apic *apic __ro_after_init = &apic_default; 117 EXPORT_SYMBOL_GPL(apic); variable 122 struct apic **drv; in parse_apic() 129 apic = *drv; in parse_apic() 138 early_param("apic", parse_apic); 162 * - There is no apic= option specified by the user in default_setup_apic_routing() 167 if (!cmdline_apic && apic in default_setup_apic_routing() [all...] |
H A D | probe_64.c | 12 #include <asm/apic.h> 21 struct apic **drv; in default_setup_apic_routing() 27 if (apic != *drv) { in default_setup_apic_routing() 28 apic = *drv; in default_setup_apic_routing() 30 apic->name); in default_setup_apic_routing() 39 struct apic **drv; in default_acpi_madt_oem_check() 43 if (apic != *drv) { in default_acpi_madt_oem_check() 44 apic = *drv; in default_acpi_madt_oem_check() 46 apic->name); in default_acpi_madt_oem_check()
|
H A D | io_apic.c | 67 #include <asm/apic.h> 88 int apic, pin; member 267 static inline void io_apic_eoi(unsigned int apic, unsigned int vector) in io_apic_eoi() argument 269 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_eoi() 273 unsigned int native_io_apic_read(unsigned int apic, unsigned int reg) in native_io_apic_read() argument 275 struct io_apic __iomem *io_apic = io_apic_base(apic); in native_io_apic_read() 280 static void io_apic_write(unsigned int apic, unsigned int reg, in io_apic_write() argument 283 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_write() 294 static struct IO_APIC_route_entry __ioapic_read_entry(int apic, int pin) in __ioapic_read_entry() argument 298 eu.w1 = io_apic_read(apic, in __ioapic_read_entry() 304 ioapic_read_entry(int apic, int pin) ioapic_read_entry() argument 322 __ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e) __ioapic_write_entry() argument 331 ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e) ioapic_write_entry() argument 345 ioapic_mask_entry(int apic, int pin) ioapic_mask_entry() argument 361 __add_pin_to_irq_node(struct mp_chip_data *data, int node, int apic, int pin) __add_pin_to_irq_node() argument 384 __remove_pin_from_irq(struct mp_chip_data *data, int apic, int pin) __remove_pin_from_irq() argument 396 add_pin_to_irq_node(struct mp_chip_data *data, int node, int apic, int pin) add_pin_to_irq_node() argument 497 __eoi_ioapic_pin(int apic, int pin, int vector) __eoi_ioapic_pin() argument 532 clear_IO_APIC_pin(unsigned int apic, unsigned int pin) clear_IO_APIC_pin() argument 581 int apic, pin; clear_IO_APIC() local 630 int apic, pin; save_ioapic_entries() local 652 int apic, pin; mask_ioapic_entries() local 675 int apic, pin; restore_ioapic_entries() local 1230 io_apic_print_entries(unsigned int apic, unsigned int nr_entries) io_apic_print_entries() argument 1361 static struct { int pin, apic; } ioapic_i8259 = { -1, -1 }; global() member 1366 int apic, pin; enable_IO_APIC() local 2039 int apic, pin, i; unlock_ExtINT_logic() local [all...] |
H A D | ipi.c | 55 apic->send_IPI_allbutself(vector); in apic_send_IPI_allbutself() 57 apic->send_IPI_mask_allbutself(cpu_online_mask, vector); in apic_send_IPI_allbutself() 71 apic->send_IPI(cpu, RESCHEDULE_VECTOR); in native_smp_send_reschedule() 76 apic->send_IPI(cpu, CALL_FUNCTION_SINGLE_VECTOR); in native_send_call_func_single_ipi() 88 apic->send_IPI_all(CALL_FUNCTION_VECTOR); in native_send_call_func_ipi() 90 apic->send_IPI_allbutself(CALL_FUNCTION_VECTOR); in native_send_call_func_ipi() 95 apic->send_IPI_mask(mask, CALL_FUNCTION_VECTOR); in native_send_call_func_ipi() 227 apic->send_IPI_mask(cpumask_of(cpu), vector); in default_send_IPI_single() 263 vector, apic->dest_logical); in default_send_IPI_mask_sequence_logical() 282 vector, apic in default_send_IPI_mask_allbutself_logical() [all...] |
H A D | apic_flat_64.c | 16 #include <asm/apic.h> 20 static struct apic apic_physflat; 21 static struct apic apic_flat; 23 struct apic *apic __ro_after_init = &apic_flat; 24 EXPORT_SYMBOL_GPL(apic); variable 56 __default_send_IPI_dest_field(mask, vector, apic->dest_logical); in _flat_send_IPI_mask() 109 static struct apic apic_flat __ro_after_init = { 175 printk(KERN_DEBUG "IBM Summit detected, will use apic physical"); in physflat_acpi_madt_oem_check() 194 if (apic in physflat_probe() [all...] |
H A D | apic_numachip.c | 24 static const struct apic apic_numachip1; 25 static const struct apic apic_numachip2; 162 return apic == &apic_numachip1; in numachip1_probe() 167 return apic == &apic_numachip2; in numachip2_probe() 242 static const struct apic apic_numachip1 __refconst = { 291 static const struct apic apic_numachip2 __refconst = {
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | apic.h | 32 * This can be turned up by using apic=verbose for more 33 * information and apic=debug for _lots_ of information. 34 * apic_verbosity is defined in apic.c 82 * With 82489DX we can't rely on apic feature bit 84 * such an apic chip so we assume that SMP configuration 282 struct apic { struct 356 extern struct apic *apic; 361 * of different apic driver files in the Makefile. 363 * For the files having two apic driver [all...] |
/kernel/linux/linux-5.10/arch/x86/hyperv/ |
H A D | hv_apic.c | 31 #include <asm/apic.h> 35 static struct apic orig_apic; 262 orig_apic = *apic; in hv_apic_init() 264 apic->send_IPI = hv_send_ipi; in hv_apic_init() 265 apic->send_IPI_mask = hv_send_ipi_mask; in hv_apic_init() 266 apic->send_IPI_mask_allbutself = hv_send_ipi_mask_allbutself; in hv_apic_init() 267 apic->send_IPI_allbutself = hv_send_ipi_allbutself; in hv_apic_init() 268 apic->send_IPI_all = hv_send_ipi_all; in hv_apic_init() 269 apic->send_IPI_self = hv_send_ipi_self; in hv_apic_init() 288 apic in hv_apic_init() [all...] |
/kernel/linux/linux-5.10/arch/x86/xen/ |
H A D | apic.c | 6 #include <asm/apic.h> 16 static unsigned int xen_io_apic_read(unsigned apic, unsigned reg) in xen_io_apic_read() argument 21 apic_op.apic_physbase = mpc_ioapic_addr(apic); in xen_io_apic_read() 31 return apic << 24; in xen_io_apic_read() 144 static struct apic xen_pv_apic = { 194 if (apic == &xen_pv_apic) in xen_apic_check() 197 pr_info("Switched APIC routing from %s to %s.\n", apic->name, in xen_apic_check() 199 apic = &xen_pv_apic; in xen_apic_check() 207 apic = &xen_pv_apic; in xen_init_apic()
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | apic.h | 33 * This can be turned up by using apic=verbose for more 34 * information and apic=debug for _lots_ of information. 35 * apic_verbosity is defined in apic.c 69 * With 82489DX we can't rely on apic feature bit 71 * such an apic chip so we assume that SMP configuration 257 struct apic { struct 334 extern struct apic *apic; 339 * of different apic driver files in the Makefile. 341 * For the files having two apic driver [all...] |
/kernel/linux/linux-5.10/arch/x86/kvm/svm/ |
H A D | avic.c | 270 if (!svm->vcpu.arch.apic->regs) in avic_init_backing_page() 281 svm->avic_backing_page = virt_to_page(svm->vcpu.arch.apic->regs); in avic_init_backing_page() 304 struct kvm_lapic *apic = svm->vcpu.arch.apic; in avic_incomplete_ipi_interception() local 321 kvm_lapic_reg_write(apic, APIC_ICR2, icrh); in avic_incomplete_ipi_interception() 322 kvm_lapic_reg_write(apic, APIC_ICR, icrl); in avic_incomplete_ipi_interception() 328 struct kvm_lapic *apic = svm->vcpu.arch.apic; in avic_incomplete_ipi_interception() local 336 bool m = kvm_apic_match_dest(vcpu, apic, in avic_incomplete_ipi_interception() 374 int apic in avic_get_logical_id_entry() local 480 struct kvm_lapic *apic = svm->vcpu.arch.apic; avic_unaccel_trap_write() local [all...] |
/kernel/linux/linux-5.10/arch/x86/kernel/cpu/ |
H A D | topology.c | 9 #include <asm/apic.h> 79 * initial apic id, which also represents 32-bit extended x2apic id. in detect_extended_topology_early() 149 c->cpu_core_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 153 c->cpu_die_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 157 c->phys_proc_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 162 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in detect_extended_topology()
|
/kernel/linux/linux-6.6/arch/x86/kernel/cpu/ |
H A D | topology.c | 9 #include <asm/apic.h> 79 * initial apic id, which also represents 32-bit extended x2apic id. in detect_extended_topology_early() 149 c->cpu_core_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 153 c->cpu_die_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 157 c->phys_proc_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 162 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in detect_extended_topology()
|
/kernel/linux/linux-6.6/arch/x86/xen/ |
H A D | apic.c | 6 #include <asm/apic.h> 16 static unsigned int xen_io_apic_read(unsigned apic, unsigned reg) in xen_io_apic_read() argument 21 apic_op.apic_physbase = mpc_ioapic_addr(apic); in xen_io_apic_read() 31 return apic << 24; in xen_io_apic_read() 126 static struct apic xen_pv_apic __ro_after_init = {
|