Home
last modified time | relevance | path

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

123

/Linux-v6.6/arch/x86/kvm/
Dlapic.c68 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() argument
78 __kvm_lapic_set_reg(apic->regs, reg_off, 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() argument
89 return __kvm_lapic_get_reg64(apic->regs, reg); in kvm_lapic_get_reg64()
98 static __always_inline void kvm_lapic_set_reg64(struct kvm_lapic *apic, in kvm_lapic_set_reg64() argument
101 __kvm_lapic_set_reg64(apic->regs, reg, val); in kvm_lapic_set_reg64()
111 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_pending_eoi() local
113 return apic_test_vector(vector, apic->regs + APIC_ISR) || in kvm_apic_pending_eoi()
[all …]
Dlapic.h113 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()
[all …]
/Linux-v6.6/arch/x86/kernel/apic/
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 …]
Dio_apic.c90 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, 0x10 + 2 * pin); in __ioapic_read_entry()
296 entry.w2 = io_apic_read(apic, 0x11 + 2 * pin); in __ioapic_read_entry()
[all …]
Dapic_flat_64.c20 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);
79 static struct apic apic_flat __ro_after_init = {
146 return apic == &apic_physflat || num_possible_cpus() > 8 || jailhouse_paravirt(); in physflat_probe()
149 static struct apic apic_physflat __ro_after_init = {
Dprobe_32.c32 static struct apic apic_default __ro_after_init = {
72 struct apic *apic __ro_after_init = &apic_default;
73 EXPORT_SYMBOL_GPL(apic);
78 struct apic **drv; in parse_apic()
128 struct apic **drv; in x86_32_probe_apic()
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()
142 static struct apic apic_x2apic_phys __ro_after_init = {
Dapic_numachip.c24 static const struct apic apic_numachip1;
25 static const struct apic apic_numachip2;
151 return apic == &apic_numachip1; in numachip1_probe()
156 return apic == &apic_numachip2; in numachip2_probe()
220 static const struct apic apic_numachip1 __refconst = {
257 static const struct apic apic_numachip2 __refconst = {
Dbigsmp_32.c78 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()
Dprobe_64.c19 struct apic **drv; in x86_64_probe_apic()
33 struct apic **drv; in default_acpi_madt_oem_check()
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()
224 static struct apic apic_x2apic_cluster __ro_after_init = {
DMakefile10 obj-$(CONFIG_X86_LOCAL_APIC) += apic.o apic_common.o apic_noop.o ipi.o vector.o init.o
Dapic_noop.c45 struct apic apic_noop __ro_after_init = {
Dapic.c1417 if (apic->disable_esr) { in lapic_setup_esr()
1543 if (lapic_is_integrated() && apic->disable_esr) { in setup_local_APIC()
1551 BUG_ON(apic->apic_id_registered && !apic->apic_id_registered()); in setup_local_APIC()
1560 if (apic->init_apic_ldr) in setup_local_APIC()
1561 apic->init_apic_ldr(); in setup_local_APIC()
2454 msg->arch_addr_lo.dest_mode_logical = apic->dest_mode_logical; in __irq_msi_compose_msg()
2491 apic_write(APIC_ID, apic->set_apic_id(boot_cpu_physical_apicid)); in apic_bsp_up_setup()
/Linux-v6.6/arch/x86/include/asm/
Dapic.h257 struct apic { struct
334 extern struct apic *apic;
345 static const struct apic *__apicdrivers_##sym __used \
346 __aligned(sizeof(struct apic *)) \
350 static struct apic *__apicdrivers_##sym1##sym2[2] __used \
351 __aligned(sizeof(struct apic *)) \
354 extern struct apic *__apicdrivers[], *__apicdrivers_end[];
367 void __init apic_install_driver(struct apic *driver);
371 apic->_callback = _fn; \
377 DECLARE_STATIC_CALL(apic_call_##__cb, *apic->__cb)
[all …]
Dio_apic.h163 extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
166 static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg) in io_apic_read() argument
168 return x86_apic_ops.io_apic_read(apic, reg); in io_apic_read()
/Linux-v6.6/arch/x86/xen/
Dapic.c16 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 = {
/Linux-v6.6/arch/x86/kernel/cpu/
Dtopology.c149 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()
/Linux-v6.6/arch/x86/kvm/svm/
Davic.c101 if (x2avic_enabled && apic_x2apic_mode(svm->vcpu.arch.apic)) { in avic_activate_vmcb()
287 if (!vcpu->arch.apic->regs) in avic_init_backing_page()
304 svm->avic_backing_page = virt_to_page(vcpu->arch.apic->regs); in avic_init_backing_page()
342 vcpu->arch.apic->irr_pending = true; in avic_kick_vcpu()
497 struct kvm_lapic *apic = vcpu->arch.apic; in avic_incomplete_ipi_interception() local
519 kvm_apic_send_ipi(apic, icrl, icrh); in avic_incomplete_ipi_interception()
527 avic_kick_target_vcpus(vcpu->kvm, apic, icrl, icrh, index); in avic_incomplete_ipi_interception()
583 flat = kvm_lapic_get_reg(vcpu->arch.apic, APIC_DFR) == APIC_DFR_FLAT; in avic_ldr_write()
602 if (apic_x2apic_mode(vcpu->arch.apic)) in avic_invalidate_logical_id_entry()
613 u32 ldr = kvm_lapic_get_reg(vcpu->arch.apic, APIC_LDR); in avic_handle_ldr_update()
[all …]
/Linux-v6.6/drivers/acpi/
Dprocessor_core.c51 struct acpi_madt_local_x2apic *apic = in map_x2apic_id() local
54 if (!(apic->lapic_flags & ACPI_MADT_ENABLED)) in map_x2apic_id()
57 if (device_declaration && (apic->uid == acpi_id)) { in map_x2apic_id()
58 *apic_id = apic->local_apic_id; in map_x2apic_id()
/Linux-v6.6/arch/x86/platform/uv/
Duv_irq.c38 entry->delivery_mode = apic->delivery_mode; in uv_program_mmr()
39 entry->dest_mode = apic->dest_mode_logical; in uv_program_mmr()
/Linux-v6.6/arch/x86/kernel/
Dsmpboot.c992 if (apic->wakeup_secondary_cpu_64) in do_boot_cpu()
1038 if (apic->wakeup_secondary_cpu_64) in do_boot_cpu()
1039 ret = apic->wakeup_secondary_cpu_64(apicid, start_ip); in do_boot_cpu()
1040 else if (apic->wakeup_secondary_cpu) in do_boot_cpu()
1041 ret = apic->wakeup_secondary_cpu(apicid, start_ip); in do_boot_cpu()
1053 int apicid = apic->cpu_present_to_apicid(cpu); in native_kick_ap()
/Linux-v6.6/arch/x86/hyperv/
Dhv_apic.c35 static struct apic orig_apic;
296 orig_apic = *apic; in hv_apic_init()
Dhv_spinlock.c71 if (!hv_pvspin || !apic || in hv_init_spinlocks()
/Linux-v6.6/drivers/iommu/intel/
Dirq_remapping.c212 static struct intel_iommu *map_ioapic_to_iommu(int apic) in map_ioapic_to_iommu() argument
217 if (ir_ioapic[i].id == apic && ir_ioapic[i].iommu) in map_ioapic_to_iommu()
302 static int set_ioapic_sid(struct irte *irte, int apic) in set_ioapic_sid() argument
311 if (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) { in set_ioapic_sid()
318 pr_warn("Failed to set source-id of IOAPIC (%d)\n", apic); in set_ioapic_sid()
1106 irte->dst_mode = apic->dest_mode_logical; in prepare_irte()
1115 irte->dlvry_mode = apic->delivery_mode; in prepare_irte()

123