Home
last modified time | relevance | path

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

/linux-4.4.14/arch/x86/kvm/
Dlapic.c78 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 …]
Dlapic.h64 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 …]
Dpmu.c260 if (vcpu->arch.apic) in kvm_pmu_deliver_pmi()
261 kvm_apic_local_deliver(vcpu->arch.apic, APIC_LVTPC); in kvm_pmu_deliver_pmi()
Dtrace.h461 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;
Dirq.h117 return vcpu->arch.apic != NULL; in lapic_in_kernel()
Dcpuid.c64 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()
Dioapic.c411 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()
Dx86.c2752 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 …]
Dvmx.c4555 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/
Dprobe_32.c75 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 …]
Dprobe_64.c31 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()
Dio_apic.c86 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 …]
Dapic_flat_64.c25 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 = {
Dipi.c76 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()
Dapic_numachip.c24 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 = {
Dx2apic_phys.c13 static struct apic apic_x2apic_phys;
90 return apic == &apic_x2apic_phys; in x2apic_phys_probe()
93 static struct apic apic_x2apic_phys = {
Dbigsmp_32.c150 static struct apic apic_bigsmp = {
209 apic = &apic_bigsmp; in generic_bigsmp_probe()
Dvector.c137 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()
Dmsi.c39 ((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()
Dhw_nmi.c33 apic->send_IPI_mask(mask, NMI_VECTOR); in nmi_raise_cpu_backtrace()
Dhtirq.c126 ((apic->irq_dest_mode == 0) ? in htirq_domain_activate()
130 ((apic->irq_delivery_mode != dest_LowestPrio) ? in htirq_domain_activate()
DMakefile5 obj-$(CONFIG_X86_LOCAL_APIC) += apic.o apic_noop.o ipi.o vector.o
Dx2apic_cluster.c66 __x2apic_send_IPI_dest(dest, vector, apic->dest_logical); in __x2apic_send_IPI_mask()
237 static struct apic apic_x2apic_cluster = {
Dapic.c231 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()
Dapic_noop.c111 struct apic apic_noop = {
Dx2apic_uv_x.c56 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/
Dapic.h252 #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 …]
Dipi.h135 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()
Dio_apic.h184 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()
Dx86_init.h182 unsigned int (*read) (unsigned int apic, unsigned int reg);
Dkvm_host.h402 struct kvm_lapic *apic; /* kernel irqchip context */ member
/linux-4.4.14/arch/x86/xen/
Dapic.c13 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()
DMakefile16 p2m.o apic.o pmu.o
/linux-4.4.14/arch/x86/kernel/
Dsmp.c128 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()
Dsmpboot.c552 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()
Dvsmp_64.c227 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()
Dirq_work.c41 apic->send_IPI_self(IRQ_WORK_VECTOR); in arch_irq_work_raise()
Dnmi_selftest.c77 apic->send_IPI_mask(mask, NMI_VECTOR); in test_nmi_ipi()
DMakefile67 obj-y += apic/
Dreboot.c758 apic->send_IPI_allbutself(NMI_VECTOR); in smp_send_nmi_allbutself()
Dkgdb.c440 apic->send_IPI_allbutself(APIC_DM_NMI); in kgdb_roundup_cpus()
/linux-4.4.14/arch/x86/kernel/cpu/
Dtopology.c79 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()
Dcommon.c521 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()
Dperf_event_p6.c213 .apic = 1,
Dperf_event_knc.c302 .apic = 1,
Dperf_event_amd.c639 .apic = 1,
Dperf_event.h534 int apic; member
Dperf_event.c1434 if (!x86_pmu.apic || !x86_pmu_initialized()) in perf_events_lapic_init()
1520 x86_pmu.apic = 0; in pmu_check_apic()
Dperf_event_p4.c1320 .apic = 1,
Dperf_event_intel.c2956 .apic = 1,
2996 .apic = 1,
/linux-4.4.14/drivers/acpi/
Dprocessor_core.c53 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/
Dboot.c1144 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/
Duv_irq.c38 entry->delivery_mode = apic->irq_delivery_mode; in uv_program_mmr()
39 entry->dest_mode = apic->irq_dest_mode; in uv_program_mmr()
Duv_nmi.c284 apic->send_IPI_mask(uv_nmi_cpu_mask, APIC_DM_NMI); in uv_nmi_nr_cpus_ping()
/linux-4.4.14/drivers/iommu/
Dintel_irq_remapping.c213 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()
Damd_iommu.c3864 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/
Dmce_amd.c126 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()
Dmce-inject.c180 apic->send_IPI_mask(mce_inject_cpumask, in raise_mce()
/linux-4.4.14/arch/x86/mm/
Dsrat.c89 if (!apic->apic_id_valid(apic_id)) { in acpi_numa_x2apic_affinity_init()
/linux-4.4.14/Documentation/virtual/kvm/
Dmsr.txt244 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
Dapi.txt199 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/
Dboot.c212 if (!apic->apic_id_valid(apic_id) && enabled) in acpi_parse_x2apic()
/linux-4.4.14/Documentation/x86/x86_64/
Dboot-options.txt70 apic Use IO-APIC. Default
/linux-4.4.14/Documentation/
Dkernel-parameters.txt469 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/
DKconfig358 This allows 32-bit apic IDs (so it can support very large systems),
359 and accesses the local apic via MSRs not via mmio.