Home
last modified time | relevance | path

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

/linux-4.1.27/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 …]
Dtrace.h443 TP_PROTO(struct kvm_lapic *apic, int vector),
444 TP_ARGS(apic, vector),
452 __entry->apicid = apic->vcpu->vcpu_id;
460 TP_PROTO(struct kvm_lapic *apic, int vector),
461 TP_ARGS(apic, vector),
469 __entry->apicid = apic->vcpu->vcpu_id;
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.c427 struct kvm_lapic *apic = vcpu->arch.apic; in __kvm_ioapic_update_eoi() local
450 kvm_apic_get_reg(apic, APIC_SPIV) & APIC_SPIV_DIRECTED_EOI) in __kvm_ioapic_update_eoi()
Dpmu.c92 if (vcpu->arch.apic) in kvm_deliver_pmi()
93 kvm_apic_local_deliver(vcpu->arch.apic, APIC_LVTPC); in kvm_deliver_pmi()
Dx86.c2978 memcpy(s->regs, vcpu->arch.apic->regs, sizeof *s); in kvm_vcpu_ioctl_get_lapic()
3151 vcpu->arch.apic->sipi_vector = events->sipi_vector; in kvm_vcpu_ioctl_x86_set_vcpu_events()
3377 if (!vcpu->arch.apic) in kvm_arch_vcpu_ioctl()
3395 if (!vcpu->arch.apic) in kvm_arch_vcpu_ioctl()
4151 if (!(vcpu->arch.apic && in vcpu_mmio_write()
4152 !kvm_iodevice_write(vcpu, &vcpu->arch.apic->dev, addr, n, v)) in vcpu_mmio_write()
4171 if (!(vcpu->arch.apic && in vcpu_mmio_read()
4172 !kvm_iodevice_read(vcpu, &vcpu->arch.apic->dev, in vcpu_mmio_read()
6062 if (!vcpu->arch.apic) in update_cr8_intercept()
6065 if (!vcpu->arch.apic->vapic_addr) in update_cr8_intercept()
[all …]
Dvmx.c2191 apic_x2apic_mode(vcpu->arch.apic)) { in vmx_set_msr_bitmap()
4407 apic->send_IPI_mask(get_cpu_mask(vcpu->cpu), in kvm_vcpu_trigger_posted_interrupt()
4796 __pa(vmx->vcpu.arch.apic->regs)); in vmx_vcpu_reset()
8951 if (apic_x2apic_mode(vcpu->arch.apic) && e->index >> 8 == 0x8) in nested_vmx_msr_check_common()
/linux-4.1.27/arch/x86/kernel/apic/
Dprobe_32.c75 static struct apic apic_default = {
130 struct apic *apic = &apic_default; variable
131 EXPORT_SYMBOL_GPL(apic);
136 struct apic **drv; in parse_apic()
143 apic = *drv; in parse_apic()
179 if (!cmdline_apic && apic == &apic_default) in default_setup_apic_routing()
183 if (apic->setup_apic_routing) in default_setup_apic_routing()
184 apic->setup_apic_routing(); in default_setup_apic_routing()
193 struct apic **drv; in generic_apic_probe()
197 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.c221 int apic, pin; member
286 void io_apic_eoi(unsigned int apic, unsigned int vector) in io_apic_eoi() argument
288 struct io_apic __iomem *io_apic = io_apic_base(apic); in io_apic_eoi()
292 unsigned int native_io_apic_read(unsigned int apic, unsigned int reg) in native_io_apic_read() argument
294 struct io_apic __iomem *io_apic = io_apic_base(apic); in native_io_apic_read()
299 void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int value) in native_io_apic_write() argument
301 struct io_apic __iomem *io_apic = io_apic_base(apic); in native_io_apic_write()
313 void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value) in native_io_apic_modify() argument
315 struct io_apic __iomem *io_apic = io_apic_base(apic); in native_io_apic_modify()
327 static struct IO_APIC_route_entry __ioapic_read_entry(int apic, int pin) in __ioapic_read_entry() argument
[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 = {
257 if (apic == &apic_physflat || num_possible_cpus() > 8) in physflat_probe()
263 static struct apic apic_physflat = {
Dhtirq.c75 err = assign_irq_vector(irq, cfg, apic->target_cpus()); in arch_setup_ht_irq()
79 err = apic->cpu_mask_to_apicid_and(cfg->domain, in arch_setup_ht_irq()
80 apic->target_cpus(), &dest); in arch_setup_ht_irq()
90 ((apic->irq_dest_mode == 0) ? in arch_setup_ht_irq()
94 ((apic->irq_delivery_mode != dest_LowestPrio) ? in arch_setup_ht_irq()
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()
Dmsi.c36 ((apic->irq_dest_mode == 0) ? in native_compose_msi_msg()
39 ((apic->irq_delivery_mode != dest_LowestPrio) ? in native_compose_msi_msg()
47 ((apic->irq_delivery_mode != dest_LowestPrio) ? in native_compose_msi_msg()
64 err = assign_irq_vector(irq, cfg, apic->target_cpus()); in msi_compose_msg()
68 err = apic->cpu_mask_to_apicid_and(cfg->domain, in msi_compose_msg()
69 apic->target_cpus(), &dest); in msi_compose_msg()
Dx2apic_phys.c13 static struct apic apic_x2apic_phys;
88 return apic == &apic_x2apic_phys; in x2apic_phys_probe()
91 static struct apic apic_x2apic_phys = {
Dapic_numachip.c35 static const struct apic apic_numachip;
155 return apic == &apic_numachip; in numachip_probe()
199 static const struct apic apic_numachip __refconst = {
Dvector.c132 apic->vector_allocation_domain(cpu, tmp_mask, mask); in __assign_irq_vector()
330 apic->send_IPI_mask(cpumask_of(cpu), cfg->vector); in apic_retrigger_irq()
365 err = apic->cpu_mask_to_apicid_and(mask, cfg->domain, dest_id); in apic_set_affinity()
386 apic->send_IPI_mask(cpumask_of(i), in send_cleanup_vector()
390 apic->send_IPI_mask(cleanup_mask, IRQ_MOVE_CLEANUP_VECTOR); in send_cleanup_vector()
445 apic->send_IPI_self(IRQ_MOVE_CLEANUP_VECTOR); in smp_irq_move_cleanup_interrupt()
499 ret = __assign_irq_vector(irq, cfg, apic->target_cpus()); in arch_setup_hwirq()
Dbigsmp_32.c150 static struct apic apic_bigsmp = {
210 apic = &apic_bigsmp; in generic_bigsmp_probe()
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()
1172 if (apic->disable_esr) { in lapic_setup_esr()
1228 if (lapic_is_integrated() && apic->disable_esr) { in setup_local_APIC()
1241 BUG_ON(!apic->apic_id_registered()); in setup_local_APIC()
1248 apic->init_apic_ldr(); in setup_local_APIC()
2091 apic->x86_32_early_logical_apicid(cpu); in generic_processor_info()
2141 struct apic **drv; in apic_set_eoi_write()
Dapic_noop.c111 struct apic apic_noop = {
Dhw_nmi.c89 apic->send_IPI_mask(to_cpumask(backtrace_mask), NMI_VECTOR); in arch_trigger_all_cpu_backtrace()
Dx2apic_uv_x.c56 static struct apic apic_x2apic_uv_x;
375 return apic == &apic_x2apic_uv_x; in uv_probe()
378 static struct apic __refdata apic_x2apic_uv_x = {
/linux-4.1.27/arch/x86/include/asm/
Dio_apic.h155 extern void native_eoi_ioapic_pin(int apic, int pin, int vector);
214 extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
215 extern void native_io_apic_write(unsigned int apic, unsigned int reg, unsigned int val);
216 extern void native_io_apic_modify(unsigned int apic, unsigned int reg, unsigned int val);
218 extern void native_io_apic_print_entries(unsigned int apic, unsigned int nr_entries);
219 extern void intel_ir_io_apic_print_entries(unsigned int apic, unsigned int nr_entries);
224 static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg) in io_apic_read() argument
226 return x86_io_apic_ops.read(apic, reg); in io_apic_read()
229 static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value) in io_apic_write() argument
231 x86_io_apic_ops.write(apic, reg, value); in io_apic_write()
[all …]
Dapic.h252 #define SET_APIC_ID(x) (apic->set_apic_id(x))
267 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()
[all …]
Dx86_init.h194 unsigned int (*read) (unsigned int apic, unsigned int reg);
195 void (*write) (unsigned int apic, unsigned int reg, unsigned int value);
196 void (*modify) (unsigned int apic, unsigned int reg, unsigned int value);
198 void (*print_entries)(unsigned int apic, unsigned int nr_entries);
205 void (*eoi_ioapic_pin)(int apic, int pin, int vector);
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()
Dkvm_host.h366 struct kvm_lapic *apic; /* kernel irqchip context */ member
/linux-4.1.27/arch/x86/xen/
Dapic.c12 static unsigned int xen_io_apic_read(unsigned apic, unsigned reg) in xen_io_apic_read() argument
17 apic_op.apic_physbase = mpc_ioapic_addr(apic); in xen_io_apic_read()
27 return apic << 24; in xen_io_apic_read()
139 static struct apic xen_pv_apic = {
197 if (apic == &xen_pv_apic) in xen_apic_check()
200 pr_info("Switched APIC routing from %s to %s.\n", apic->name, in xen_apic_check()
202 apic = &xen_pv_apic; in xen_apic_check()
210 apic = &xen_pv_apic; in xen_init_apic()
DMakefile16 p2m.o apic.o
/linux-4.1.27/arch/x86/kernel/
Dsmp.c127 apic->send_IPI_mask(cpumask_of(cpu), RESCHEDULE_VECTOR); in native_smp_send_reschedule()
132 apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); in native_send_call_func_single_ipi()
140 apic->send_IPI_mask(mask, CALL_FUNCTION_VECTOR); in native_send_call_func_ipi()
149 apic->send_IPI_allbutself(CALL_FUNCTION_VECTOR); in native_send_call_func_ipi()
151 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.c157 if (apic->wait_for_init_deassert && cpuid) in smp_callin()
530 apic_icr_write(APIC_DM_NMI | apic->dest_logical, apicid); in wakeup_secondary_cpu_via_nmi()
766 if (apic->dest_logical == APIC_DEST_LOGICAL) in wakeup_cpu_via_init_nmi()
862 if (apic->wakeup_secondary_cpu) in do_boot_cpu()
863 boot_error = apic->wakeup_secondary_cpu(apicid, start_ip); in do_boot_cpu()
925 int apicid = apic->cpu_present_to_apicid(cpu); in native_cpu_up()
935 !apic->apic_id_valid(apicid)) { in native_cpu_up()
1077 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.c47 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()
DMakefile68 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.1.27/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.c537 c->phys_proc_id = apic->phys_pkg_id(c->initial_apicid, index_msb); in detect_ht()
545 c->cpu_core_id = apic->phys_pkg_id(c->initial_apicid, index_msb) & in detect_ht()
847 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in generic_identify()
914 c->apicid = apic->phys_pkg_id(c->initial_apicid, 0); in identify_cpu()
Dperf_event_p6.c213 .apic = 1,
Dperf_event_knc.c300 .apic = 1,
Dperf_event_amd.c639 .apic = 1,
Dperf_event.h520 int apic; member
Dperf_event.c1416 if (!x86_pmu.apic || !x86_pmu_initialized()) in perf_events_lapic_init()
1498 x86_pmu.apic = 0; in pmu_check_apic()
Dperf_event_p4.c1320 .apic = 1,
Dperf_event_intel.c2716 .apic = 1,
2754 .apic = 1,
/linux-4.1.27/arch/x86/platform/uv/
Duv_irq.c147 err = apic->cpu_mask_to_apicid_and(eligible_cpu, eligible_cpu, &dest); in arch_enable_uv_irq()
162 entry->delivery_mode = apic->irq_delivery_mode; in arch_enable_uv_irq()
163 entry->dest_mode = apic->irq_dest_mode; in arch_enable_uv_irq()
214 entry->delivery_mode = apic->irq_delivery_mode; in uv_set_irq_affinity()
215 entry->dest_mode = apic->irq_dest_mode; in uv_set_irq_affinity()
Duv_nmi.c284 apic->send_IPI_mask(uv_nmi_cpu_mask, APIC_DM_NMI); in uv_nmi_nr_cpus_ping()
/linux-4.1.27/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.1.27/arch/x86/lguest/
Dboot.c1149 apic->read = lguest_apic_read; in set_lguest_basic_apic_ops()
1150 apic->write = lguest_apic_write; in set_lguest_basic_apic_ops()
1151 apic->icr_read = lguest_apic_icr_read; in set_lguest_basic_apic_ops()
1152 apic->icr_write = lguest_apic_icr_write; in set_lguest_basic_apic_ops()
1153 apic->wait_icr_idle = lguest_apic_wait_icr_idle; in set_lguest_basic_apic_ops()
1154 apic->safe_wait_icr_idle = lguest_apic_safe_wait_icr_idle; in set_lguest_basic_apic_ops()
/linux-4.1.27/drivers/iommu/
Dintel_irq_remapping.c214 static struct intel_iommu *map_ioapic_to_ir(int apic) in map_ioapic_to_ir() argument
219 if (ir_ioapic[i].id == apic && ir_ioapic[i].iommu) in map_ioapic_to_ir()
318 static int set_ioapic_sid(struct irte *irte, int apic) in set_ioapic_sid() argument
328 if (ir_ioapic[i].iommu && ir_ioapic[i].id == apic) { in set_ioapic_sid()
336 pr_warning("Failed to set source-id of IOAPIC (%d)\n", apic); in set_ioapic_sid()
954 irte->dst_mode = apic->irq_dest_mode; in prepare_irte()
963 irte->dlvry_mode = apic->irq_delivery_mode; in prepare_irte()
1075 err = apic->cpu_mask_to_apicid_and(cfg->domain, mask, &dest); in intel_ioapic_set_affinity()
Dirq_remapping.c143 static void eoi_ioapic_pin_remapped(int apic, int pin, int vector) in eoi_ioapic_pin_remapped() argument
151 io_apic_eoi(apic, pin); in eoi_ioapic_pin_remapped()
Damd_iommu.c4100 irte.fields.int_type = apic->irq_delivery_mode; in setup_ioapic_entry()
4102 irte.fields.dm = apic->irq_dest_mode; in setup_ioapic_entry()
4151 err = apic->cpu_mask_to_apicid_and(cfg->domain, mask, &dest); in set_affinity()
4203 irte.fields.int_type = apic->irq_delivery_mode; in compose_msi_msg()
4205 irte.fields.dm = apic->irq_dest_mode; in compose_msi_msg()
/linux-4.1.27/arch/x86/kernel/cpu/mcheck/
Dmce_amd.c117 static int lvt_off_valid(struct threshold_block *b, int apic, u32 lo, u32 hi) in lvt_off_valid() argument
121 if (apic < 0) { in lvt_off_valid()
128 if (apic != msr) { in lvt_off_valid()
131 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.1.27/arch/x86/mm/
Dsrat.c89 if (!apic->apic_id_valid(apic_id)) { in acpi_numa_x2apic_affinity_init()
/linux-4.1.27/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)
/linux-4.1.27/Documentation/x86/x86_64/
Dboot-options.txt67 apic Use IO-APIC. Default
/linux-4.1.27/arch/x86/kernel/acpi/
Dboot.c212 if (!apic->apic_id_valid(apic_id) && enabled) in acpi_parse_x2apic()
/linux-4.1.27/Documentation/
Dkernel-parameters.txt462 apic= [APIC,X86-32] Advanced Programmable Interrupt Controller
472 Limit apic dumping. The parameter defines the maximal
476 The parameter valid if only apic=debug or
477 apic=verbose is specified.
478 Example: apic=debug show_lapic=all
1740 lapic_timer_c2_ok [X86,APIC] trust the local apic timer
/linux-4.1.27/arch/x86/
DKconfig348 This allows 32-bit apic IDs (so it can support very large systems),
349 and accesses the local apic via MSRs not via mmio.