/Linux-v5.15/arch/x86/kvm/ |
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() 212 max_id = max(max_id, kvm_x2apic_id(vcpu->arch.apic)); in kvm_recalculate_apic_map() 224 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_recalculate_apic_map() local 234 xapic_id = kvm_xapic_id(apic); in kvm_recalculate_apic_map() [all …]
|
D | lapic.h | 88 int kvm_lapic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val); 89 int kvm_lapic_reg_read(struct kvm_lapic *apic, u32 offset, int len, 100 int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type); 105 void kvm_apic_send_ipi(struct kvm_lapic *apic, u32 icr_low, u32 icr_high); 146 static inline void kvm_lapic_set_irr(int vec, struct kvm_lapic *apic) in kvm_lapic_set_irr() argument 148 kvm_lapic_set_vector(vec, apic->regs + APIC_IRR); in kvm_lapic_set_irr() 153 apic->irr_pending = true; in kvm_lapic_set_irr() 156 static inline u32 kvm_lapic_get_reg(struct kvm_lapic *apic, int reg_off) in kvm_lapic_get_reg() argument 158 return *((u32 *) (apic->regs + reg_off)); in kvm_lapic_get_reg() 166 static inline void kvm_lapic_set_reg(struct kvm_lapic *apic, int reg_off, u32 val) in kvm_lapic_set_reg() argument [all …]
|
/Linux-v5.15/arch/x86/kernel/apic/ |
D | probe_32.c | 64 static struct apic apic_default __ro_after_init = { 113 struct apic *apic __ro_after_init = &apic_default; 114 EXPORT_SYMBOL_GPL(apic); 119 struct apic **drv; in parse_apic() 126 apic = *drv; in parse_apic() 164 if (!cmdline_apic && apic == &apic_default) in default_setup_apic_routing() 168 if (apic->setup_apic_routing) in default_setup_apic_routing() 169 apic->setup_apic_routing(); in default_setup_apic_routing() 175 struct apic **drv; in generic_apic_probe() 179 apic = *drv; in generic_apic_probe() [all …]
|
D | probe_64.c | 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()
|
D | io_apic.c | 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() 289 static struct IO_APIC_route_entry __ioapic_read_entry(int apic, int pin) in __ioapic_read_entry() argument 293 entry.w1 = io_apic_read(apic, 0x10 + 2 * pin); in __ioapic_read_entry() 294 entry.w2 = io_apic_read(apic, 0x11 + 2 * pin); in __ioapic_read_entry() [all …]
|
D | apic_flat_64.c | 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); 109 static struct apic apic_flat __ro_after_init = { 192 if (apic == &apic_physflat || num_possible_cpus() > 8 || in physflat_probe() 199 static struct apic apic_physflat __ro_after_init = {
|
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()
|
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 = { 289 static const struct apic apic_numachip2 __refconst = {
|
D | x2apic_phys.c | 10 static struct apic apic_x2apic_phys; 103 return apic == &apic_x2apic_phys; in x2apic_phys_probe() 155 static struct apic apic_x2apic_phys __ro_after_init = {
|
D | bigsmp_32.c | 122 static struct apic apic_bigsmp __ro_after_init = { 176 apic = &apic_bigsmp; in generic_bigsmp_probe()
|
D | apic.c | 247 apic = &apic_noop; in apic_disable() 528 apic->send_IPI_mask(mask, LOCAL_TIMER_VECTOR); in lapic_timer_broadcast() 1453 if (apic->disable_esr) { in lapic_setup_esr() 1579 if (lapic_is_integrated() && apic->disable_esr) { in setup_local_APIC() 1590 BUG_ON(!apic->apic_id_registered()); in setup_local_APIC() 1597 apic->init_apic_ldr(); in setup_local_APIC() 1600 if (apic->dest_mode_logical) { in setup_local_APIC() 2499 apic->x86_32_early_logical_apicid(cpu); in generic_processor_info() 2520 msg->arch_addr_lo.dest_mode_logical = apic->dest_mode_logical; in __irq_msi_compose_msg() 2562 struct apic **drv; in apic_set_eoi_write() [all …]
|
D | hw_nmi.c | 34 apic->send_IPI_mask(mask, NMI_VECTOR); in nmi_raise_cpu_backtrace()
|
D | Makefile | 10 obj-$(CONFIG_X86_LOCAL_APIC) += apic.o apic_common.o apic_noop.o ipi.o vector.o
|
/Linux-v5.15/arch/x86/include/asm/ |
D | apic.h | 282 struct apic { struct 355 extern struct apic *apic; argument 366 static const struct apic *__apicdrivers_##sym __used \ 367 __aligned(sizeof(struct apic *)) \ 371 static struct apic *__apicdrivers_##sym1##sym2[2] __used \ 372 __aligned(sizeof(struct apic *)) \ 375 extern struct apic *__apicdrivers[], *__apicdrivers_end[]; 389 return apic->read(reg); in apic_read() 394 apic->write(reg, val); in apic_write() 399 apic->eoi_write(APIC_EOI, APIC_EOI_ACK); in apic_eoi() [all …]
|
D | io_apic.h | 163 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-v5.15/arch/x86/hyperv/ |
D | hv_apic.c | 35 static struct apic orig_apic; 285 orig_apic = *apic; in hv_apic_init() 287 apic->send_IPI = hv_send_ipi; in hv_apic_init() 288 apic->send_IPI_mask = hv_send_ipi_mask; in hv_apic_init() 289 apic->send_IPI_mask_allbutself = hv_send_ipi_mask_allbutself; in hv_apic_init() 290 apic->send_IPI_allbutself = hv_send_ipi_allbutself; in hv_apic_init() 291 apic->send_IPI_all = hv_send_ipi_all; in hv_apic_init() 292 apic->send_IPI_self = hv_send_ipi_self; in hv_apic_init() 311 apic->read = hv_apic_read; in hv_apic_init() 312 apic->write = hv_apic_write; in hv_apic_init() [all …]
|
D | hv_spinlock.c | 23 apic->send_IPI(cpu, X86_PLATFORM_IPI_VECTOR); in hv_qlock_kick() 71 if (!hv_pvspin || !apic || in hv_init_spinlocks()
|
/Linux-v5.15/arch/x86/xen/ |
D | apic.c | 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 = { 191 if (apic == &xen_pv_apic) in xen_apic_check() 194 pr_info("Switched APIC routing from %s to %s.\n", apic->name, in xen_apic_check() 196 apic = &xen_pv_apic; in xen_apic_check() 204 apic = &xen_pv_apic; in xen_init_apic()
|
/Linux-v5.15/arch/x86/kvm/svm/ |
D | avic.c | 264 if (!vcpu->arch.apic->regs) in avic_init_backing_page() 275 svm->avic_backing_page = virt_to_page(vcpu->arch.apic->regs); in avic_init_backing_page() 316 struct kvm_lapic *apic = vcpu->arch.apic; in avic_incomplete_ipi_interception() local 333 kvm_lapic_reg_write(apic, APIC_ICR2, icrh); in avic_incomplete_ipi_interception() 334 kvm_lapic_reg_write(apic, APIC_ICR, icrl); in avic_incomplete_ipi_interception() 342 avic_kick_target_vcpus(vcpu->kvm, apic, icrl, icrh); in avic_incomplete_ipi_interception() 374 int apic = ffs(dlid & 0x0f) - 1; in avic_get_logical_id_entry() local 376 if ((apic < 0) || (apic > 7) || in avic_get_logical_id_entry() 379 index = (cluster << 2) + apic; in avic_get_logical_id_entry() 392 flat = kvm_lapic_get_reg(vcpu->arch.apic, APIC_DFR) == APIC_DFR_FLAT; in avic_ldr_write() [all …]
|
/Linux-v5.15/arch/x86/kernel/cpu/ |
D | topology.c | 142 c->cpu_core_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 146 c->cpu_die_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 150 c->phys_proc_id = apic->phys_pkg_id(c->initial_apicid, in detect_extended_topology() 155 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in detect_extended_topology()
|
/Linux-v5.15/drivers/acpi/ |
D | processor_core.c | 51 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-v5.15/arch/x86/kernel/ |
D | irq_work.c | 31 apic->send_IPI_self(IRQ_WORK_VECTOR); in arch_irq_work_raise()
|
D | smpboot.c | 759 u32 dm = apic->dest_mode_logical ? APIC_DEST_LOGICAL : APIC_DEST_PHYSICAL; in wakeup_secondary_cpu_via_nmi() 993 id = apic->dest_mode_logical ? cpu0_logical_apicid : apicid; in wakeup_cpu_via_init_nmi() 1087 if (apic->wakeup_secondary_cpu) in do_boot_cpu() 1088 boot_error = apic->wakeup_secondary_cpu(apicid, start_ip); in do_boot_cpu() 1139 int apicid = apic->cpu_present_to_apicid(cpu); in native_cpu_up() 1150 !apic->apic_id_valid(apicid)) { in native_cpu_up() 1287 if (!apic->check_phys_apicid_present(boot_cpu_physical_apicid)) { in smp_sanity_check() 1474 if (apic->cpu_present_to_apicid(0) == BAD_APICID && in prefill_possible_map() 1475 apic->apic_id_valid(apicid)) in prefill_possible_map()
|
/Linux-v5.15/arch/x86/platform/uv/ |
D | uv_irq.c | 38 entry->delivery_mode = apic->delivery_mode; in uv_program_mmr() 39 entry->dest_mode = apic->dest_mode_logical; in uv_program_mmr()
|
/Linux-v5.15/drivers/iommu/intel/ |
D | irq_remapping.c | 218 static struct intel_iommu *map_ioapic_to_iommu(int apic) in map_ioapic_to_iommu() argument 223 if (ir_ioapic[i].id == apic && ir_ioapic[i].iommu) in map_ioapic_to_iommu() 308 static int set_ioapic_sid(struct irte *irte, int apic) in set_ioapic_sid() argument 318 if (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) { in set_ioapic_sid() 326 pr_warn("Failed to set source-id of IOAPIC (%d)\n", apic); in set_ioapic_sid() 1112 irte->dst_mode = apic->dest_mode_logical; in prepare_irte() 1121 irte->dlvry_mode = apic->delivery_mode; in prepare_irte()
|