Home
last modified time | relevance | path

Searched full:ioapic (Results 1 – 25 of 46) sorted by relevance

12

/linux/arch/x86/kvm/
H A Dioapic.c32 #include "ioapic.h"
40 static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic) in ioapic_read_indirect() argument
44 switch (ioapic->ioregsel) { in ioapic_read_indirect()
52 result = ((ioapic->id & 0xf) << 24); in ioapic_read_indirect()
57 u32 redir_index = (ioapic->ioregsel - 0x10) >> 1; in ioapic_read_indirect()
64 redir_content = ioapic->redirtbl[index].bits; in ioapic_read_indirect()
67 result = (ioapic->ioregsel & 0x1) ? in ioapic_read_indirect()
77 static void rtc_irq_eoi_tracking_reset(struct kvm_ioapic *ioapic) in rtc_irq_eoi_tracking_reset() argument
79 ioapic->rtc_status.pending_eoi = 0; in rtc_irq_eoi_tracking_reset()
80 bitmap_zero(ioapic in rtc_irq_eoi_tracking_reset()
85 rtc_status_pending_eoi_check_valid(struct kvm_ioapic * ioapic) rtc_status_pending_eoi_check_valid() argument
94 struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic; __rtc_irq_eoi_tracking_restore_one() local
123 struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic; kvm_rtc_eoi_tracking_restore_one() local
130 kvm_rtc_eoi_tracking_restore_all(struct kvm_ioapic * ioapic) kvm_rtc_eoi_tracking_restore_all() argument
143 rtc_irq_eoi(struct kvm_ioapic * ioapic,struct kvm_vcpu * vcpu,int vector) rtc_irq_eoi() argument
157 rtc_irq_check_coalesced(struct kvm_ioapic * ioapic) rtc_irq_check_coalesced() argument
165 ioapic_lazy_update_eoi(struct kvm_ioapic * ioapic,int irq) ioapic_lazy_update_eoi() argument
187 ioapic_set_irq(struct kvm_ioapic * ioapic,unsigned int irq,int irq_level,bool line_status) ioapic_set_irq() argument
247 kvm_ioapic_inject_all(struct kvm_ioapic * ioapic,unsigned long irr) kvm_ioapic_inject_all() argument
261 struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic; kvm_ioapic_scan_entry() local
297 struct kvm_ioapic *ioapic = kvm->arch.vioapic; kvm_register_irq_mask_notifier() local
317 struct kvm_ioapic *ioapic = kvm->arch.vioapic; kvm_fire_mask_notifiers() local
331 ioapic_write_indirect(struct kvm_ioapic * ioapic,u32 val) ioapic_write_indirect() argument
457 ioapic_service(struct kvm_ioapic * ioapic,int irq,bool line_status) ioapic_service() argument
503 struct kvm_ioapic *ioapic = kvm->arch.vioapic; kvm_ioapic_set_irq() local
522 struct kvm_ioapic *ioapic = container_of(work, struct kvm_ioapic, kvm_ioapic_eoi_inject_work() local
539 kvm_ioapic_update_eoi_one(struct kvm_vcpu * vcpu,struct kvm_ioapic * ioapic,int trigger_mode,int pin) kvm_ioapic_update_eoi_one() argument
588 struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic; kvm_ioapic_update_eoi() local
607 ioapic_in_range(struct kvm_ioapic * ioapic,gpa_t addr) ioapic_in_range() argument
616 struct kvm_ioapic *ioapic = to_ioapic(this); ioapic_mmio_read() local
656 struct kvm_ioapic *ioapic = to_ioapic(this); ioapic_mmio_write() local
695 kvm_ioapic_reset(struct kvm_ioapic * ioapic) kvm_ioapic_reset() argument
718 struct kvm_ioapic *ioapic; kvm_ioapic_init() local
745 struct kvm_ioapic *ioapic = kvm->arch.vioapic; kvm_ioapic_destroy() local
760 struct kvm_ioapic *ioapic = kvm->arch.vioapic; kvm_get_ioapic() local
770 struct kvm_ioapic *ioapic = kvm->arch.vioapic; kvm_set_ioapic() local
[all...]
H A Di8254.h11 #include "ioapic.h"
H A Dirq.c17 #include "ioapic.h"
600 kvm_get_ioapic(kvm, &chip->chip.ioapic); in kvm_vm_ioctl_get_irqchip()
629 kvm_set_ioapic(kvm, &chip->chip.ioapic); in kvm_vm_ioctl_set_irqchip()
/linux/drivers/acpi/
H A Dioapic.c3 * IOAPIC/IOxAPIC/IOSAPIC driver
10 * Based on original drivers/pci/ioapic.c
21 #define pr_fmt(fmt) "ACPI: IOAPIC: " fmt
87 *type = "IOAPIC"; in acpi_is_ioapic()
102 struct acpi_pci_ioapic *ioapic; in handle_ioapic_add() local
111 list_for_each_entry(ioapic, &ioapic_list, list) in handle_ioapic_add()
112 if (ioapic->handle == handle) { in handle_ioapic_add()
123 ioapic = kzalloc_obj(*ioapic); in handle_ioapic_add()
124 if (!ioapic) { in handle_ioapic_add()
125 pr_err("cannot allocate memory for new IOAPIC\n"); in handle_ioapic_add()
[all …]
H A DMakefile99 obj-$(CONFIG_ACPI_HOTPLUG_IOAPIC) += ioapic.o
H A Dacpi_platform.c28 {"ACPI000A", 0}, /* IOAPIC */
/linux/arch/x86/kernel/apic/
H A Dio_apic.c107 static struct ioapic { struct
138 static inline int mp_ioapic_pin_count(int ioapic) in mp_ioapic_pin_count() argument
140 struct mp_ioapic_gsi *gsi_cfg = mp_ioapic_gsi_routing(ioapic); in mp_ioapic_pin_count()
145 static inline u32 mp_pin_to_gsi(int ioapic, int pin) in mp_pin_to_gsi() argument
147 return mp_ioapic_gsi_routing(ioapic)->gsi_base + pin; in mp_pin_to_gsi()
155 static inline struct irq_domain *mp_ioapic_irqdomain(int ioapic) in mp_ioapic_irqdomain() argument
157 return ioapics[ioapic].irqdomain; in mp_ioapic_irqdomain()
180 * disable_ioapic_support() - disables ioapic support at runtime
228 pr_err("IOAPIC %d: suspend/resume impossible!\n", idx); in alloc_ioapic_saved_registers()
598 * Restore IO APIC entries which was saved in the ioapic structur
113 mp_configioapic global() argument
115 gsi_configioapic global() argument
116 irqdomain_cfgioapic global() argument
767 int ioapic, pin, idx; __acpi_get_override_irq() local
882 alloc_irq_from_domain(struct irq_domain * domain,int ioapic,u32 gsi,struct irq_alloc_info * info) alloc_irq_from_domain() argument
923 alloc_isa_irq_from_domain(struct irq_domain * domain,int irq,int ioapic,int pin,struct irq_alloc_info * info) alloc_isa_irq_from_domain() argument
953 mp_map_pin_to_irq(u32 gsi,int idx,int ioapic,int pin,unsigned int flags,struct irq_alloc_info * info) mp_map_pin_to_irq() argument
1004 pin_2_irq(int idx,int ioapic,int pin,unsigned int flags) pin_2_irq() argument
1033 int ioapic, pin, idx; mp_map_gsi_to_irq() local
1128 unsigned int ioapic, pin; setup_IO_APIC_irqs() local
2009 mp_alloc_timer_irq(int ioapic,int pin) mp_alloc_timer_irq() argument
2213 mp_irqdomain_create(int ioapic) mp_irqdomain_create() argument
2276 int ioapic; setup_IO_APIC() local
2344 io_apic_get_redir_entries(int ioapic) io_apic_get_redir_entries() argument
2378 io_apic_get_unique_id(int ioapic,int apic_id) io_apic_get_unique_id() argument
2484 io_apic_get_version(int ioapic) io_apic_get_version() argument
2625 mp_find_ioapic_pin(int ioapic,u32 gsi) mp_find_ioapic_pin() argument
2678 int idx, ioapic, entries; mp_register_ioapic() local
2768 int ioapic, pin; mp_unregister_ioapic() local
2811 int ioapic; mp_ioapic_registered() local
2865 int ret, ioapic, pin; mp_irqdomain_alloc() local
[all...]
H A Dvector.c3 * Local APIC related interfaces to support IOAPIC, MSI, etc.
594 * Legacy vectors are already assigned when the IOAPIC in x86_vector_alloc_irqs()
676 "intel,ce4100-ioapic"); in x86_fwspec_is_ioapic()
832 /* Check whether the irq is handled by the IOAPIC */ in __setup_vector_irq()
968 * and in the worst case the ioapic irq line becomes stale. in apic_force_complete_move()
982 * able to expose this, but AFAICT the IOAPIC emulation is not in apic_force_complete_move()
/linux/Documentation/devicetree/bindings/interrupt-controller/
H A Dintel,ce4100-ioapic.yaml4 $id: http://devicetree.org/schemas/interrupt-controller/intel,ce4100-ioapic.yaml#
18 from internal sources and from an external I/O APIC (ioapic).
22 Many of the Intel's generic devices like hpet, ioapic, lapic have
32 const: intel,ce4100-ioapic
56 compatible = "intel,ce4100-ioapic";
H A Dintel,ce4100-lapic.yaml18 from internal sources and from an external I/O APIC (ioapic).
22 Many of the Intel's generic devices like hpet, ioapic, lapic have
/linux/Documentation/translations/zh_CN/core-api/irq/
H A Dirq-domain.rst175 Device --> IOAPIC -> Interrupt remapping Controller -> Local APIC -> CPU
179 1) IOAPIC 控制器
196 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
/linux/arch/x86/include/asm/
H A Dhw_irq.h70 * @ioapic: IOAPIC specific allocation data
83 struct ioapic_alloc_info ioapic; member
H A Dio_apic.h103 extern int mpc_ioapic_id(int ioapic);
104 extern unsigned int mpc_ioapic_addr(int ioapic);
145 extern int mp_find_ioapic_pin(int ioapic, u32 gsi);
/linux/drivers/platform/x86/
H A Dintel_scu_wdt.c37 /* IOAPIC builds identity mapping between GSI and IRQ on MID */ in tangier_probe()
41 dev_warn(&pdev->dev, "cannot find interrupt %d in ioapic\n", gsi); in tangier_probe()
/linux/arch/x86/kernel/
H A Dmpparse.c328 struct mpc_ioapic ioapic; in construct_ioapic_table() local
355 ioapic.type = MP_IOAPIC; in construct_ioapic_table()
356 ioapic.apicid = 2; in construct_ioapic_table()
357 ioapic.apicver = mpc_default_type > 4 ? 0x10 : 0x01; in construct_ioapic_table()
358 ioapic.flags = MPC_APIC_USABLE; in construct_ioapic_table()
359 ioapic.apicaddr = IO_APIC_DEFAULT_PHYS_BASE; in construct_ioapic_table()
360 MP_ioapic_info(&ioapic); in construct_ioapic_table()
H A Ddevicetree.c273 tmp.ioapic.pin = fwspec->param[0];
307 for_each_compatible_node(dn, NULL, "intel,ce4100-ioapic") in x86_flattree_get_config()
/linux/drivers/iommu/
H A Dhyperv-iommu.c
H A Dirq_remapping.c37 * both IOAPIC RTE as well as interrupt-remapping table entry). in irq_remapping_restore_boot_irq_mode()
/linux/arch/x86/platform/ce4100/
H A Dfalconfalls.dts34 compatible = "intel,ce4100-ioapic";
62 compatible = "intel,ce4100-ioapic";
/linux/arch/x86/hyperv/
H A Dirqdomain.c411 hv_devid.ioapic.ioapic_id = (u8)ioapic_id; in hv_map_ioapic_interrupt()
424 hv_devid.ioapic.ioapic_id = (u8)ioapic_id;
/linux/drivers/tty/serial/8250/
H A D8250_ce4100.c68 * PCI memmaped driver hangs the IOAPIC. in ce4100_serial_fixup()
/linux/arch/x86/pci/
H A Dintel_mid.c276 * MRST only have IOAPIC, the PCI irq lines are 1:1 mapped to in intel_mid_pci_irq_enable()
277 * IOAPIC RTE entries, so we just enable RTE for the device. in intel_mid_pci_irq_enable()
H A Dxen.c93 name = "ioapic-edge"; in xen_register_pirq()
96 name = "ioapic-level"; in xen_register_pirq()
/linux/drivers/mfd/
H A Dintel_soc_pmic_mrfld.c24 * as a separate RTE in IOAPIC.
/linux/Documentation/virt/
H A Dne_overview.rst61 APIC and IOAPIC - to get interrupts from virtio-vsock device. The virtio-mmio

12