/linux-4.4.14/arch/x86/kvm/ |
D | lapic.c | 78 static inline void apic_set_reg(struct kvm_lapic *apic, int reg_off, u32 val) in apic_set_reg() argument 80 *((u32 *) (apic->regs + reg_off)) = val; in apic_set_reg() 90 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_apic_pending_eoi() local 92 return apic_test_vector(vector, apic->regs + APIC_ISR) || in kvm_apic_pending_eoi() 93 apic_test_vector(vector, apic->regs + APIC_IRR); in kvm_apic_pending_eoi() 119 static inline int apic_enabled(struct kvm_lapic *apic) in apic_enabled() argument 121 return kvm_apic_sw_enabled(apic) && kvm_apic_hw_enabled(apic); in apic_enabled() 131 static inline int kvm_apic_id(struct kvm_lapic *apic) in kvm_apic_id() argument 133 return (kvm_apic_get_reg(apic, APIC_ID) >> 24) & 0xff; in kvm_apic_id() 172 struct kvm_lapic *apic = vcpu->arch.apic; in recalculate_apic_map() local [all …]
|
D | lapic.h | 64 int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type); 99 static inline u32 kvm_apic_get_reg(struct kvm_lapic *apic, int reg_off) in kvm_apic_get_reg() argument 101 return *((u32 *) (apic->regs + reg_off)); in kvm_apic_get_reg() 109 return vcpu->arch.apic; in kvm_vcpu_has_lapic() 115 static inline int kvm_apic_hw_enabled(struct kvm_lapic *apic) in kvm_apic_hw_enabled() argument 118 return apic->vcpu->arch.apic_base & MSR_IA32_APICBASE_ENABLE; in kvm_apic_hw_enabled() 124 static inline bool kvm_apic_sw_enabled(struct kvm_lapic *apic) in kvm_apic_sw_enabled() argument 127 return apic->sw_enabled; in kvm_apic_sw_enabled() 133 return kvm_vcpu_has_lapic(vcpu) && kvm_apic_hw_enabled(vcpu->arch.apic); in kvm_apic_present() 138 return kvm_apic_present(vcpu) && kvm_apic_sw_enabled(vcpu->arch.apic); in kvm_lapic_enabled() [all …]
|
D | pmu.c | 260 if (vcpu->arch.apic) in kvm_pmu_deliver_pmi() 261 kvm_apic_local_deliver(vcpu->arch.apic, APIC_LVTPC); in kvm_pmu_deliver_pmi()
|
D | trace.h | 461 TP_PROTO(struct kvm_lapic *apic, int vector), 462 TP_ARGS(apic, vector), 470 __entry->apicid = apic->vcpu->vcpu_id; 478 TP_PROTO(struct kvm_lapic *apic, int vector), 479 TP_ARGS(apic, vector), 487 __entry->apicid = apic->vcpu->vcpu_id;
|
D | irq.h | 117 return vcpu->arch.apic != NULL; in lapic_in_kernel()
|
D | cpuid.c | 64 struct kvm_lapic *apic = vcpu->arch.apic; in kvm_update_cpuid() local 77 if (apic) { in kvm_update_cpuid() 79 apic->lapic_timer.timer_mode_mask = 3 << 17; in kvm_update_cpuid() 81 apic->lapic_timer.timer_mode_mask = 1 << 17; in kvm_update_cpuid()
|
D | ioapic.c | 411 struct kvm_lapic *apic = vcpu->arch.apic; in __kvm_ioapic_update_eoi() local 434 kvm_apic_get_reg(apic, APIC_SPIV) & APIC_SPIV_DIRECTED_EOI) in __kvm_ioapic_update_eoi()
|
D | x86.c | 2752 memcpy(s->regs, vcpu->arch.apic->regs, sizeof *s); in kvm_vcpu_ioctl_get_lapic() 2973 vcpu->arch.apic->sipi_vector = events->sipi_vector; in kvm_vcpu_ioctl_x86_set_vcpu_events() 2987 set_bit(KVM_APIC_INIT, &vcpu->arch.apic->pending_events); in kvm_vcpu_ioctl_x86_set_vcpu_events() 2989 clear_bit(KVM_APIC_INIT, &vcpu->arch.apic->pending_events); in kvm_vcpu_ioctl_x86_set_vcpu_events() 3216 if (!vcpu->arch.apic) in kvm_arch_vcpu_ioctl() 3234 if (!vcpu->arch.apic) in kvm_arch_vcpu_ioctl() 4060 if (!(vcpu->arch.apic && in vcpu_mmio_write() 4061 !kvm_iodevice_write(vcpu, &vcpu->arch.apic->dev, addr, n, v)) in vcpu_mmio_write() 4080 if (!(vcpu->arch.apic && in vcpu_mmio_read() 4081 !kvm_iodevice_read(vcpu, &vcpu->arch.apic->dev, in vcpu_mmio_read() [all …]
|
D | vmx.c | 4555 apic->send_IPI_mask(get_cpu_mask(vcpu->cpu), in kvm_vcpu_trigger_posted_interrupt() 4944 __pa(vcpu->arch.apic->regs)); in vmx_vcpu_reset()
|
/linux-4.4.14/arch/x86/kernel/apic/ |
D | probe_32.c | 75 static struct apic apic_default = { 129 struct apic *apic = &apic_default; variable 130 EXPORT_SYMBOL_GPL(apic); 135 struct apic **drv; in parse_apic() 142 apic = *drv; in parse_apic() 178 if (!cmdline_apic && apic == &apic_default) in default_setup_apic_routing() 182 if (apic->setup_apic_routing) in default_setup_apic_routing() 183 apic->setup_apic_routing(); in default_setup_apic_routing() 192 struct apic **drv; in generic_apic_probe() 196 apic = *drv; in generic_apic_probe() [all …]
|
D | probe_64.c | 31 struct apic **drv; in default_setup_apic_routing() 37 if (apic != *drv) { in default_setup_apic_routing() 38 apic = *drv; in default_setup_apic_routing() 40 apic->name); in default_setup_apic_routing() 59 struct apic **drv; in default_acpi_madt_oem_check() 63 if (apic != *drv) { in default_acpi_madt_oem_check() 64 apic = *drv; in default_acpi_madt_oem_check() 66 apic->name); in default_acpi_madt_oem_check()
|
D | io_apic.c | 86 int apic, pin; member 278 static inline void io_apic_eoi(unsigned int apic, unsigned int vector) in io_apic_eoi() argument 280 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_eoi() 284 unsigned int native_io_apic_read(unsigned int apic, unsigned int reg) in native_io_apic_read() argument 286 struct io_apic __iomem *io_apic = io_apic_base(apic); in native_io_apic_read() 291 static void io_apic_write(unsigned int apic, unsigned int reg, in io_apic_write() argument 294 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_write() 305 static struct IO_APIC_route_entry __ioapic_read_entry(int apic, int pin) in __ioapic_read_entry() argument 309 eu.w1 = io_apic_read(apic, 0x10 + 2 * pin); in __ioapic_read_entry() 310 eu.w2 = io_apic_read(apic, 0x11 + 2 * pin); in __ioapic_read_entry() [all …]
|
D | apic_flat_64.c | 25 static struct apic apic_physflat; 26 static struct apic apic_flat; 28 struct apic __read_mostly *apic = &apic_flat; variable 29 EXPORT_SYMBOL_GPL(apic); 61 __default_send_IPI_dest_field(mask, vector, apic->dest_logical); in _flat_send_IPI_mask() 103 vector, apic->dest_logical); in flat_send_IPI_allbutself() 113 vector, apic->dest_logical); in flat_send_IPI_all() 157 static struct apic apic_flat = { 256 if (apic == &apic_physflat || num_possible_cpus() > 8) in physflat_probe() 262 static struct apic apic_physflat = {
|
D | ipi.c | 76 vector, apic->dest_logical); in default_send_IPI_mask_sequence_logical() 95 vector, apic->dest_logical); in default_send_IPI_mask_allbutself_logical() 113 __default_send_IPI_dest_field(mask, vector, apic->dest_logical); in default_send_IPI_mask_logical() 136 __default_send_IPI_shortcut(APIC_DEST_SELF, vector, apic->dest_logical); in default_send_IPI_self()
|
D | apic_numachip.c | 24 static const struct apic apic_numachip1; 25 static const struct apic apic_numachip2; 165 return apic == &apic_numachip1; in numachip1_probe() 170 return apic == &apic_numachip2; in numachip2_probe() 245 static const struct apic apic_numachip1 __refconst = { 296 static const struct apic apic_numachip2 __refconst = {
|
D | x2apic_phys.c | 13 static struct apic apic_x2apic_phys; 90 return apic == &apic_x2apic_phys; in x2apic_phys_probe() 93 static struct apic apic_x2apic_phys = {
|
D | bigsmp_32.c | 150 static struct apic apic_bigsmp = { 209 apic = &apic_bigsmp; in generic_bigsmp_probe()
|
D | vector.c | 137 apic->vector_allocation_domain(cpu, vector_cpumask, mask); in __assign_irq_vector() 223 BUG_ON(apic->cpu_mask_to_apicid_and(mask, d->domain, in __assign_irq_vector() 249 return assign_irq_vector(irq, data, apic->target_cpus()); in assign_irq_vector_policy() 505 apic->send_IPI_mask(cpumask_of(cpu), data->cfg.vector); in apic_retrigger_irq() 547 apic->send_IPI_mask(data->old_domain, IRQ_MOVE_CLEANUP_VECTOR); in __send_cleanup_vector() 624 apic->send_IPI_self(IRQ_MOVE_CLEANUP_VECTOR); in smp_irq_move_cleanup_interrupt()
|
D | msi.c | 39 ((apic->irq_dest_mode == 0) ? in irq_msi_compose_msg() 42 ((apic->irq_delivery_mode != dest_LowestPrio) ? in irq_msi_compose_msg() 50 ((apic->irq_delivery_mode != dest_LowestPrio) ? in irq_msi_compose_msg()
|
D | hw_nmi.c | 33 apic->send_IPI_mask(mask, NMI_VECTOR); in nmi_raise_cpu_backtrace()
|
D | htirq.c | 126 ((apic->irq_dest_mode == 0) ? in htirq_domain_activate() 130 ((apic->irq_delivery_mode != dest_LowestPrio) ? in htirq_domain_activate()
|
D | Makefile | 5 obj-$(CONFIG_X86_LOCAL_APIC) += apic.o apic_noop.o ipi.o vector.o
|
D | x2apic_cluster.c | 66 __x2apic_send_IPI_dest(dest, vector, apic->dest_logical); in __x2apic_send_IPI_mask() 237 static struct apic apic_x2apic_cluster = {
|
D | apic.c | 231 apic = &apic_noop; in apic_disable() 514 apic->send_IPI_mask(mask, LOCAL_TIMER_VECTOR); in lapic_timer_broadcast() 1176 if (apic->disable_esr) { in lapic_setup_esr() 1232 if (lapic_is_integrated() && apic->disable_esr) { in setup_local_APIC() 1245 BUG_ON(!apic->apic_id_registered()); in setup_local_APIC() 1252 apic->init_apic_ldr(); in setup_local_APIC() 2095 apic->x86_32_early_logical_apicid(cpu); in generic_processor_info() 2145 struct apic **drv; in apic_set_eoi_write()
|
D | apic_noop.c | 111 struct apic apic_noop = {
|
D | x2apic_uv_x.c | 56 static struct apic apic_x2apic_uv_x; 374 return apic == &apic_x2apic_uv_x; in uv_probe() 377 static struct apic __refdata apic_x2apic_uv_x = {
|
/linux-4.4.14/arch/x86/include/asm/ |
D | apic.h | 252 #define SET_APIC_ID(x) (apic->set_apic_id(x)) 267 struct apic { struct 354 extern struct apic *apic; argument 365 static const struct apic *__apicdrivers_##sym __used \ 366 __aligned(sizeof(struct apic *)) \ 370 static struct apic *__apicdrivers_##sym1##sym2[2] __used \ 371 __aligned(sizeof(struct apic *)) \ 374 extern struct apic *__apicdrivers[], *__apicdrivers_end[]; 387 return apic->read(reg); in apic_read() 392 apic->write(reg, val); in apic_write() [all …]
|
D | ipi.h | 135 apic->send_IPI_mask_allbutself(cpu_online_mask, vector); in __default_local_send_IPI_allbutself() 137 __default_send_IPI_shortcut(APIC_DEST_ALLBUT, vector, apic->dest_logical); in __default_local_send_IPI_allbutself() 143 apic->send_IPI_mask(cpu_online_mask, vector); in __default_local_send_IPI_all() 145 __default_send_IPI_shortcut(APIC_DEST_ALLINC, vector, apic->dest_logical); in __default_local_send_IPI_all()
|
D | io_apic.h | 184 extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg); 187 static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg) in io_apic_read() argument 189 return x86_io_apic_ops.read(apic, reg); in io_apic_read()
|
D | x86_init.h | 182 unsigned int (*read) (unsigned int apic, unsigned int reg);
|
D | kvm_host.h | 402 struct kvm_lapic *apic; /* kernel irqchip context */ member
|
/linux-4.4.14/arch/x86/xen/ |
D | apic.c | 13 static unsigned int xen_io_apic_read(unsigned apic, unsigned reg) in xen_io_apic_read() argument 18 apic_op.apic_physbase = mpc_ioapic_addr(apic); in xen_io_apic_read() 28 return apic << 24; in xen_io_apic_read() 145 static struct apic xen_pv_apic = { 203 if (apic == &xen_pv_apic) in xen_apic_check() 206 pr_info("Switched APIC routing from %s to %s.\n", apic->name, in xen_apic_check() 208 apic = &xen_pv_apic; in xen_apic_check() 216 apic = &xen_pv_apic; in xen_init_apic()
|
D | Makefile | 16 p2m.o apic.o pmu.o
|
/linux-4.4.14/arch/x86/kernel/ |
D | smp.c | 128 apic->send_IPI_mask(cpumask_of(cpu), RESCHEDULE_VECTOR); in native_smp_send_reschedule() 133 apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); in native_send_call_func_single_ipi() 141 apic->send_IPI_mask(mask, CALL_FUNCTION_VECTOR); in native_send_call_func_ipi() 150 apic->send_IPI_allbutself(CALL_FUNCTION_VECTOR); in native_send_call_func_ipi() 152 apic->send_IPI_mask(mask, CALL_FUNCTION_VECTOR); in native_send_call_func_ipi() 209 apic->send_IPI_allbutself(REBOOT_VECTOR); in native_stop_other_cpus() 233 apic->send_IPI_allbutself(NMI_VECTOR); in native_stop_other_cpus()
|
D | smpboot.c | 552 apic_icr_write(APIC_DM_NMI | apic->dest_logical, apicid); in wakeup_secondary_cpu_via_nmi() 794 if (apic->dest_logical == APIC_DEST_LOGICAL) in wakeup_cpu_via_init_nmi() 893 if (apic->wakeup_secondary_cpu) in do_boot_cpu() 894 boot_error = apic->wakeup_secondary_cpu(apicid, start_ip); in do_boot_cpu() 954 int apicid = apic->cpu_present_to_apicid(cpu); in native_cpu_up() 964 !apic->apic_id_valid(apicid)) { in native_cpu_up() 1117 if (!apic->check_phys_apicid_present(boot_cpu_physical_apicid)) { in smp_sanity_check()
|
D | vsmp_64.c | 227 apic->phys_pkg_id = apicid_phys_pkg_id; in vsmp_apic_post_init() 230 apic->vector_allocation_domain = fill_vector_allocation_domain; in vsmp_apic_post_init()
|
D | irq_work.c | 41 apic->send_IPI_self(IRQ_WORK_VECTOR); in arch_irq_work_raise()
|
D | nmi_selftest.c | 77 apic->send_IPI_mask(mask, NMI_VECTOR); in test_nmi_ipi()
|
D | Makefile | 67 obj-y += apic/
|
D | reboot.c | 758 apic->send_IPI_allbutself(NMI_VECTOR); in smp_send_nmi_allbutself()
|
D | kgdb.c | 440 apic->send_IPI_allbutself(APIC_DM_NMI); in kgdb_roundup_cpus()
|
/linux-4.4.14/arch/x86/kernel/cpu/ |
D | topology.c | 79 c->cpu_core_id = apic->phys_pkg_id(c->initial_apicid, ht_mask_width) in detect_extended_topology() 81 c->phys_proc_id = apic->phys_pkg_id(c->initial_apicid, core_plus_mask_width); in detect_extended_topology() 85 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in detect_extended_topology()
|
D | common.c | 521 c->phys_proc_id = apic->phys_pkg_id(c->initial_apicid, index_msb); in detect_ht() 529 c->cpu_core_id = apic->phys_pkg_id(c->initial_apicid, index_msb) & in detect_ht() 832 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in generic_identify() 899 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in identify_cpu()
|
D | perf_event_p6.c | 213 .apic = 1,
|
D | perf_event_knc.c | 302 .apic = 1,
|
D | perf_event_amd.c | 639 .apic = 1,
|
D | perf_event.h | 534 int apic; member
|
D | perf_event.c | 1434 if (!x86_pmu.apic || !x86_pmu_initialized()) in perf_events_lapic_init() 1520 x86_pmu.apic = 0; in pmu_check_apic()
|
D | perf_event_p4.c | 1320 .apic = 1,
|
D | perf_event_intel.c | 2956 .apic = 1, 2996 .apic = 1,
|
/linux-4.4.14/drivers/acpi/ |
D | processor_core.c | 53 struct acpi_madt_local_x2apic *apic = in map_x2apic_id() local 56 if (!(apic->lapic_flags & ACPI_MADT_ENABLED)) in map_x2apic_id() 59 if (device_declaration && (apic->uid == acpi_id)) { in map_x2apic_id() 60 *apic_id = apic->local_apic_id; in map_x2apic_id()
|
/linux-4.4.14/arch/x86/lguest/ |
D | boot.c | 1144 apic->read = lguest_apic_read; in set_lguest_basic_apic_ops() 1145 apic->write = lguest_apic_write; in set_lguest_basic_apic_ops() 1146 apic->icr_read = lguest_apic_icr_read; in set_lguest_basic_apic_ops() 1147 apic->icr_write = lguest_apic_icr_write; in set_lguest_basic_apic_ops() 1148 apic->wait_icr_idle = lguest_apic_wait_icr_idle; in set_lguest_basic_apic_ops() 1149 apic->safe_wait_icr_idle = lguest_apic_safe_wait_icr_idle; in set_lguest_basic_apic_ops()
|
/linux-4.4.14/arch/x86/platform/uv/ |
D | uv_irq.c | 38 entry->delivery_mode = apic->irq_delivery_mode; in uv_program_mmr() 39 entry->dest_mode = apic->irq_dest_mode; in uv_program_mmr()
|
D | uv_nmi.c | 284 apic->send_IPI_mask(uv_nmi_cpu_mask, APIC_DM_NMI); in uv_nmi_nr_cpus_ping()
|
/linux-4.4.14/drivers/iommu/ |
D | intel_irq_remapping.c | 213 static struct intel_iommu *map_ioapic_to_ir(int apic) in map_ioapic_to_ir() argument 218 if (ir_ioapic[i].id == apic && ir_ioapic[i].iommu) in map_ioapic_to_ir() 294 static int set_ioapic_sid(struct irte *irte, int apic) in set_ioapic_sid() argument 304 if (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) { in set_ioapic_sid() 312 pr_warn("Failed to set source-id of IOAPIC (%d)\n", apic); in set_ioapic_sid() 1045 irte->dst_mode = apic->irq_dest_mode; in prepare_irte() 1054 irte->dlvry_mode = apic->irq_delivery_mode; in prepare_irte()
|
D | amd_iommu.c | 3864 irte->fields.int_type = apic->irq_delivery_mode; in irq_remapping_prepare_irte() 3866 irte->fields.dm = apic->irq_dest_mode; in irq_remapping_prepare_irte()
|
/linux-4.4.14/arch/x86/kernel/cpu/mcheck/ |
D | mce_amd.c | 126 static int lvt_off_valid(struct threshold_block *b, int apic, u32 lo, u32 hi) in lvt_off_valid() argument 130 if (apic < 0) { in lvt_off_valid() 137 if (apic != msr) { in lvt_off_valid() 140 b->cpu, apic, b->bank, b->block, b->address, hi, lo); in lvt_off_valid()
|
D | mce-inject.c | 180 apic->send_IPI_mask(mce_inject_cpumask, in raise_mce()
|
/linux-4.4.14/arch/x86/mm/ |
D | srat.c | 89 if (!apic->apic_id_valid(apic_id)) { in acpi_numa_x2apic_affinity_init()
|
/linux-4.4.14/Documentation/virtual/kvm/ |
D | msr.txt | 244 injection. Value of 1 means that guest can skip writing EOI to the apic 262 whether it can skip EOI apic write and between guest
|
D | api.txt | 199 Parameters: vcpu id (apic id on x86) 3658 Create a local apic for each processor in the kernel. This can be used
|
/linux-4.4.14/arch/x86/kernel/acpi/ |
D | boot.c | 212 if (!apic->apic_id_valid(apic_id) && enabled) in acpi_parse_x2apic()
|
/linux-4.4.14/Documentation/x86/x86_64/ |
D | boot-options.txt | 70 apic Use IO-APIC. Default
|
/linux-4.4.14/Documentation/ |
D | kernel-parameters.txt | 469 apic= [APIC,X86-32] Advanced Programmable Interrupt Controller 479 Limit apic dumping. The parameter defines the maximal 483 The parameter valid if only apic=debug or 484 apic=verbose is specified. 485 Example: apic=debug show_lapic=all 1805 lapic_timer_c2_ok [X86,APIC] trust the local apic timer
|
/linux-4.4.14/arch/x86/ |
D | Kconfig | 358 This allows 32-bit apic IDs (so it can support very large systems), 359 and accesses the local apic via MSRs not via mmio.
|