| /linux/arch/x86/kvm/ |
| H A D | lapic.c | 81 static int kvm_lapic_msr_read(struct kvm_lapic *apic, u32 reg, u64 *data); 82 static int kvm_lapic_msr_write(struct kvm_lapic *apic, u32 reg, u64 data); 84 static inline void kvm_lapic_set_reg(struct kvm_lapic *apic, int reg_off, u32 val) in kvm_lapic_set_reg() argument 86 apic_set_reg(apic->regs, reg_off, val); in kvm_lapic_set_reg() 89 static __always_inline u64 kvm_lapic_get_reg64(struct kvm_lapic *apic, int reg) in kvm_lapic_get_reg64() argument 91 return apic_get_reg64(apic->regs, reg); in kvm_lapic_get_reg64() 94 static __always_inline void kvm_lapic_set_reg64(struct kvm_lapic *apic, in kvm_lapic_set_reg64() argument 97 apic_set_reg64(apic->regs, reg, val); in kvm_lapic_set_reg64() 102 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_pending_eoi() local 104 return apic_test_vector(vector, apic->regs + APIC_ISR) || in kvm_apic_pending_eoi() [all …]
|
| H A D | ioapic.c | 544 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_ioapic_update_eoi_one() local 560 kvm_lapic_suppress_eoi_broadcast(apic)) in kvm_ioapic_update_eoi_one()
|
| H A D | trace.h | 666 TP_PROTO(struct kvm_lapic *apic, int vector), 667 TP_ARGS(apic, vector), 675 __entry->apicid = apic->vcpu->vcpu_id; 683 TP_PROTO(struct kvm_lapic *apic, int vector), 684 TP_ARGS(apic, vector), 692 __entry->apicid = apic->vcpu->vcpu_id;
|
| H A D | irq.c | 117 if (lapic_in_kernel(v) && v->arch.apic->guest_apic_protected) in kvm_cpu_has_interrupt()
|
| H A D | x86.c | 2262 if (!lapic_in_kernel(vcpu) || !apic_x2apic_mode(vcpu->arch.apic) || in __handle_fastpath_wrmsr() 2263 kvm_x2apic_icr_write_fast(vcpu->arch.apic, data)) in __handle_fastpath_wrmsr() 5302 if (vcpu->arch.apic->guest_apic_protected) in kvm_vcpu_ioctl_get_lapic() 5315 if (vcpu->arch.apic->guest_apic_protected) in kvm_vcpu_ioctl_set_lapic() 5460 kvm_apic_local_deliver(vcpu->arch.apic, APIC_LVTCMCI); in kvm_vcpu_x86_set_ucna() 5693 vcpu->arch.apic->sipi_vector = events->sipi_vector; in kvm_vcpu_ioctl_x86_set_vcpu_events() 5719 set_bit(KVM_APIC_INIT, &vcpu->arch.apic->pending_events); in kvm_vcpu_ioctl_x86_set_vcpu_events() 5721 clear_bit(KVM_APIC_INIT, &vcpu->arch.apic->pending_events); in kvm_vcpu_ioctl_x86_set_vcpu_events() 7787 !kvm_iodevice_write(vcpu, &vcpu->arch.apic->dev, addr, n, v)) in vcpu_mmio_write() 7807 !kvm_iodevice_read(vcpu, &vcpu->arch.apic->dev, in vcpu_mmio_read() [all …]
|
| /linux/arch/x86/kernel/apic/ |
| H A D | init.c | 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->x2apic_set_max_apicid) in apic_install_driver() 99 apic->max_apic_id = x2apic_max_apicid; in apic_install_driver() 102 if (!apic->native_eoi) in apic_install_driver() [all …]
|
| H A D | apic_flat_64.c | 32 static struct apic apic_physflat __ro_after_init = { 67 struct apic *apic __ro_after_init = &apic_physflat; 68 EXPORT_SYMBOL_GPL(apic);
|
| H A D | probe_64.c | 19 struct apic **drv; in x86_64_probe_apic() 33 struct apic **drv; in default_acpi_madt_oem_check()
|
| H A D | x2apic_cluster.c | 111 u32 apicid = apic->cpu_present_to_apicid(cpu_i); in prefill_clustermask() 147 u32 apicid = apic->cpu_present_to_apicid(cpu_i); in alloc_clustermask() 178 u32 phys_apicid = apic->cpu_present_to_apicid(cpu); in x2apic_prepare_cpu() 227 static struct apic apic_x2apic_cluster __ro_after_init = {
|
| H A D | Makefile | 10 obj-$(CONFIG_X86_LOCAL_APIC) += apic.o apic_common.o apic_noop.o ipi.o vector.o init.o
|
| H A D | x2apic_uv_x.c | 57 static struct apic apic_x2apic_uv_x; 750 return apic == &apic_x2apic_uv_x; in uv_probe() 753 static struct apic apic_x2apic_uv_x __ro_after_init = {
|
| /linux/arch/x86/xen/ |
| H A D | apic.c | 14 static unsigned int xen_io_apic_read(unsigned apic, unsigned reg) in xen_io_apic_read() argument 19 apic_op.apic_physbase = mpc_ioapic_addr(apic); in xen_io_apic_read() 29 return apic << 24; in xen_io_apic_read() 113 static struct apic xen_pv_apic __ro_after_init = {
|
| /linux/arch/x86/kvm/svm/ |
| H A D | avic.c | 157 if (x2avic_enabled && (!vcpu || apic_x2apic_mode(vcpu->arch.apic))) in __avic_get_max_physical_id() 222 if (x2avic_enabled && apic_x2apic_mode(svm->vcpu.arch.apic)) { in avic_activate_vmcb() 365 return __sme_set(__pa(svm->vcpu.arch.apic->regs)); in avic_get_backing_page_address() 400 vcpu->arch.apic->apicv_active = false; in avic_init_backing_page() 407 if (WARN_ON_ONCE(!vcpu->arch.apic->regs)) in avic_init_backing_page() 464 vcpu->arch.apic->irr_pending = true; in avic_kick_vcpu() 619 struct kvm_lapic *apic = vcpu->arch.apic; in avic_incomplete_ipi_interception() local 641 kvm_apic_send_ipi(apic, icrl, icrh); in avic_incomplete_ipi_interception() 649 avic_kick_target_vcpus(vcpu->kvm, apic, icrl, icrh, index); in avic_incomplete_ipi_interception() 702 flat = kvm_lapic_get_reg(vcpu->arch.apic, APIC_DFR) == APIC_DFR_FLAT; in avic_ldr_write() [all …]
|
| H A D | nested.c | 1727 struct kvm_lapic *apic = vcpu->arch.apic; in svm_check_nested_events() local 1745 test_bit(KVM_APIC_INIT, &apic->pending_events)) { in svm_check_nested_events()
|
| /linux/arch/x86/include/asm/ |
| H A D | io_apic.h | 162 extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg); 165 static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg) in io_apic_read() argument 167 return x86_apic_ops.io_apic_read(apic, reg); in io_apic_read()
|
| H A D | kvm_host.h | 841 struct kvm_lapic *apic; /* kernel irqchip context */ member 1907 void (*deliver_interrupt)(struct kvm_lapic *apic, int delivery_mode,
|
| /linux/arch/x86/kvm/vmx/ |
| H A D | x86_ops.h | 52 void vmx_deliver_interrupt(struct kvm_lapic *apic, int delivery_mode, 147 void tdx_deliver_interrupt(struct kvm_lapic *apic, int delivery_mode,
|
| H A D | main.c | 306 static void vt_deliver_interrupt(struct kvm_lapic *apic, int delivery_mode, in vt_deliver_interrupt() argument 309 if (is_td_vcpu(apic->vcpu)) { in vt_deliver_interrupt() 310 tdx_deliver_interrupt(apic, delivery_mode, trig_mode, in vt_deliver_interrupt() 315 vmx_deliver_interrupt(apic, delivery_mode, trig_mode, vector); in vt_deliver_interrupt()
|
| H A D | tdx.c | 685 vcpu->arch.apic->guest_apic_protected = true; in tdx_vcpu_create() 1083 apic->send_IPI_self(POSTED_INTR_VECTOR); in tdx_vcpu_run() 1085 if (pi_test_pir(kvm_lapic_get_reg(vcpu->arch.apic, APIC_LVTT) & in tdx_vcpu_run() 1894 void tdx_deliver_interrupt(struct kvm_lapic *apic, int delivery_mode, in tdx_deliver_interrupt() argument 1897 struct kvm_vcpu *vcpu = apic->vcpu; in tdx_deliver_interrupt()
|
| H A D | nested.c | 4299 struct kvm_lapic *apic = vcpu->arch.apic; in vmx_check_nested_events() local 4329 test_bit(KVM_APIC_INIT, &apic->pending_events)) { in vmx_check_nested_events() 4333 clear_bit(KVM_APIC_INIT, &apic->pending_events); in vmx_check_nested_events() 4343 test_bit(KVM_APIC_SIPI, &apic->pending_events)) { in vmx_check_nested_events() 4347 clear_bit(KVM_APIC_SIPI, &apic->pending_events); in vmx_check_nested_events() 4350 apic->sipi_vector & 0xFFUL); in vmx_check_nested_events()
|
| /linux/lib/zstd/common/ |
| H A D | cpu.h | 139 D(apic, 9)
|
| /linux/arch/x86/platform/uv/ |
| H A D | uv_irq.c | 39 entry->dest_mode = apic->dest_mode_logical; in uv_program_mmr()
|
| /linux/arch/x86/hyperv/ |
| H A D | hv_crash.c | 396 apic->send_IPI_allbutself(NMI_VECTOR); in hv_crash_stop_other_cpus()
|
| /linux/Documentation/virt/kvm/x86/ |
| H A D | msr.rst | 318 injection. Value of 1 means that guest can skip writing EOI to the apic 336 whether it can skip EOI apic write and between guest
|
| /linux/tools/testing/selftests/kvm/ |
| H A D | Makefile.kvm | 22 LIBKVM_x86 += lib/x86/apic.c
|