Home
last modified time | relevance | path

Searched refs:apic (Results 1 – 25 of 43) sorted by relevance

12

/linux/arch/x86/kvm/
H A Dlapic.c81 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 Dlapic.h114 int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type);
124 void kvm_apic_send_ipi(struct kvm_lapic *apic, u32 icr_low, u32 icr_high);
142 int kvm_x2apic_icr_write_fast(struct kvm_lapic *apic, u64 data);
152 u64 kvm_lapic_readable_reg_mask(struct kvm_lapic *apic);
154 static inline void kvm_lapic_set_irr(int vec, struct kvm_lapic *apic) in kvm_lapic_set_irr() argument
156 apic_set_vector(vec, apic->regs + APIC_IRR); in kvm_lapic_set_irr()
161 apic->irr_pending = true; in kvm_lapic_set_irr()
164 static inline u32 kvm_lapic_get_reg(struct kvm_lapic *apic, int reg_off) in kvm_lapic_get_reg() argument
166 return apic_get_reg(apic->regs, reg_off); in kvm_lapic_get_reg()
174 return vcpu->arch.apic; in lapic_in_kernel()
[all …]
H A Dioapic.c548 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_ioapic_update_eoi_one() local
564 kvm_lapic_get_reg(apic, APIC_SPIV) & APIC_SPIV_DIRECTED_EOI) in kvm_ioapic_update_eoi_one()
H A Ddebugfs.c18 *val = vcpu->arch.apic->lapic_timer.timer_advance_ns; in vcpu_get_timer_advance_ns()
/linux/arch/x86/kernel/apic/
H A Dinit.c15 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 Dio_apic.c90 int apic, pin; member
264 static inline void io_apic_eoi(unsigned int apic, unsigned int vector) in io_apic_eoi() argument
266 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_eoi()
271 unsigned int native_io_apic_read(unsigned int apic, unsigned int reg) in native_io_apic_read() argument
273 struct io_apic __iomem *io_apic = io_apic_base(apic); in native_io_apic_read()
279 static void io_apic_write(unsigned int apic, unsigned int reg, in io_apic_write() argument
282 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_write()
288 static struct IO_APIC_route_entry __ioapic_read_entry(int apic, int pin) in __ioapic_read_entry() argument
292 entry.w1 = io_apic_read(apic, 0x10 + 2 * pin); in __ioapic_read_entry()
293 entry.w2 = io_apic_read(apic, 0x11 + 2 * pin); in __ioapic_read_entry()
[all …]
H A Dapic_flat_64.c32 static struct apic apic_physflat __ro_after_init = {
67 struct apic *apic __ro_after_init = &apic_physflat;
68 EXPORT_SYMBOL_GPL(apic);
H A Dx2apic_phys.c10 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()
132 static struct apic apic_x2apic_phys __ro_after_init = {
H A Dx2apic_cluster.c111 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 Dprobe_64.c19 struct apic **drv; in x86_64_probe_apic()
33 struct apic **drv; in default_acpi_madt_oem_check()
H A Dapic.c1177 if (apic->teardown) in disable_local_APIC()
1178 apic->teardown(); in disable_local_APIC()
1399 if (apic->disable_esr) { in lapic_setup_esr()
1513 if (apic->setup) in setup_local_APIC()
1514 apic->setup(); in setup_local_APIC()
1526 if (lapic_is_integrated() && apic->disable_esr) { in setup_local_APIC()
1540 if (apic->init_apic_ldr) in setup_local_APIC()
1541 apic->init_apic_ldr(); in setup_local_APIC()
2291 msg->arch_addr_lo.dest_mode_logical = apic->dest_mode_logical; in __irq_msi_compose_msg()
H A DMakefile10 obj-$(CONFIG_X86_LOCAL_APIC) += apic.o apic_common.o apic_noop.o ipi.o vector.o init.o
/linux/arch/x86/include/asm/
H A Dapic.h274 struct apic { struct
349 extern struct apic *apic;
357 static const struct apic *__apicdrivers_##sym __used \
358 __aligned(sizeof(struct apic *)) \
361 extern struct apic *__apicdrivers[], *__apicdrivers_end[];
374 void __init apic_install_driver(struct apic *driver);
378 apic->_callback = _fn; \
384 DECLARE_STATIC_CALL(apic_call_##__cb, *apic->__cb)
469 return apic->safe_wait_icr_idle ? apic->safe_wait_icr_idle() : 0; in safe_apic_wait_icr_idle()
474 return apic_id <= apic->max_apic_id; in apic_id_valid()
[all …]
H A Dio_apic.h162 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 Dx86_init.h336 unsigned int (*io_apic_read) (unsigned int apic, unsigned int reg);
/linux/arch/x86/xen/
H A Dapic.c14 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 = {
H A DMakefile26 obj-$(CONFIG_XEN_PV) += apic.o
/linux/arch/x86/kvm/svm/
H A Davic.c169 if (x2avic_enabled && (!vcpu || apic_x2apic_mode(vcpu->arch.apic))) in __avic_get_max_physical_id()
205 if (x2avic_enabled && apic_x2apic_mode(svm->vcpu.arch.apic)) { in avic_activate_vmcb()
359 return __sme_set(__pa(svm->vcpu.arch.apic->regs)); in avic_get_backing_page_address()
394 vcpu->arch.apic->apicv_active = false; in avic_init_backing_page()
401 if (WARN_ON_ONCE(!vcpu->arch.apic->regs)) in avic_init_backing_page()
458 vcpu->arch.apic->irr_pending = true; in avic_kick_vcpu()
613 struct kvm_lapic *apic = vcpu->arch.apic; in avic_incomplete_ipi_interception() local
635 kvm_apic_send_ipi(apic, icrl, icrh); in avic_incomplete_ipi_interception()
643 avic_kick_target_vcpus(vcpu->kvm, apic, icrl, icrh, index); in avic_incomplete_ipi_interception()
696 flat = kvm_lapic_get_reg(vcpu->arch.apic, APIC_DFR) == APIC_DFR_FLAT; in avic_ldr_write()
[all …]
/linux/arch/x86/kernel/
H A Dsmpboot.c916 if (apic->wakeup_secondary_cpu_64) in do_boot_cpu()
962 if (apic->wakeup_secondary_cpu_64) in do_boot_cpu()
963 ret = apic->wakeup_secondary_cpu_64(apicid, start_ip, cpu); in do_boot_cpu()
964 else if (apic->wakeup_secondary_cpu) in do_boot_cpu()
965 ret = apic->wakeup_secondary_cpu(apicid, start_ip, cpu); in do_boot_cpu()
977 u32 apicid = apic->cpu_present_to_apicid(cpu); in native_kick_ap()
/linux/arch/x86/hyperv/
H A Dhv_apic.c35 static struct apic orig_apic;
309 orig_apic = *apic; in hv_apic_init()
/linux/arch/x86/kvm/vmx/
H A Dx86_ops.h51 void vmx_deliver_interrupt(struct kvm_lapic *apic, int delivery_mode,
141 void tdx_deliver_interrupt(struct kvm_lapic *apic, int delivery_mode,
H A Dmain.c301 static void vt_deliver_interrupt(struct kvm_lapic *apic, int delivery_mode, in vt_deliver_interrupt() argument
304 if (is_td_vcpu(apic->vcpu)) { in vt_deliver_interrupt()
305 tdx_deliver_interrupt(apic, delivery_mode, trig_mode, in vt_deliver_interrupt()
310 vmx_deliver_interrupt(apic, delivery_mode, trig_mode, vector); in vt_deliver_interrupt()
/linux/lib/zstd/common/
H A Dcpu.h139 D(apic, 9)
/linux/arch/x86/platform/uv/
H A Duv_irq.c39 entry->dest_mode = apic->dest_mode_logical; in uv_program_mmr()
/linux/arch/x86/kernel/cpu/microcode/
H A Dcore.c572 apic->send_IPI(smp_processor_id(), NMI_VECTOR); in load_cpus_stopped()
698 (microcode_ops->use_nmi && apic->nmi_to_offline_cpu); in setup_cpus()

12