Home
last modified time | relevance | path

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

123456

/openbmc/linux/arch/x86/kvm/
H A Dioapic.c46 #include "ioapic.h"
54 struct kvm_ioapic *ioapic,
58 static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic) in ioapic_read_indirect() argument
62 switch (ioapic->ioregsel) { in ioapic_read_indirect()
70 result = ((ioapic->id & 0xf) << 24); in ioapic_read_indirect()
75 u32 redir_index = (ioapic->ioregsel - 0x10) >> 1; in ioapic_read_indirect()
82 redir_content = ioapic->redirtbl[index].bits; in ioapic_read_indirect()
85 result = (ioapic->ioregsel & 0x1) ? in ioapic_read_indirect()
95 static void rtc_irq_eoi_tracking_reset(struct kvm_ioapic *ioapic) in rtc_irq_eoi_tracking_reset() argument
97 ioapic->rtc_status.pending_eoi = 0; in rtc_irq_eoi_tracking_reset()
[all …]
H A Dioapic.h14 #define IOAPIC_VERSION_ID 0x11 /* IOAPIC version */
26 #define IOAPIC_REG_APIC_ID 0x00 /* x86 IOAPIC only */
28 #define IOAPIC_REG_ARB_ID 0x02 /* x86 IOAPIC only */
30 /*ioapic delivery mode*/
114 int kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int irq_source_id,
116 void kvm_ioapic_clear_all(struct kvm_ioapic *ioapic, int irq_source_id);
/openbmc/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(sizeof(*ioapic), GFP_KERNEL); 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 Dprocessor_core.c326 struct acpi_madt_io_apic *ioapic = (struct acpi_madt_io_apic *)entry; in get_ioapic_id() local
328 if (ioapic->global_irq_base != gsi_base) in get_ioapic_id()
331 *phys_addr = ioapic->address; in get_ioapic_id()
332 *ioapic_id = ioapic->id; in get_ioapic_id()
393 * acpi_get_ioapic_id - Get IOAPIC ID and physical address matching @gsi_base
394 * @handle: ACPI object for IOAPIC device
396 * @phys_addr: Pointer to store physical address of matching IOAPIC record
399 * for an ACPI IOAPIC record matching @gsi_base.
400 * Return IOAPIC id and store physical address in @phys_addr if found a match,
/openbmc/linux/arch/x86/kernel/apic/
H A Dio_apic.c107 static struct ioapic { struct
142 static inline int mp_ioapic_pin_count(int ioapic) in mp_ioapic_pin_count() argument
144 struct mp_ioapic_gsi *gsi_cfg = mp_ioapic_gsi_routing(ioapic); in mp_ioapic_pin_count()
149 static inline u32 mp_pin_to_gsi(int ioapic, int pin) in mp_pin_to_gsi() argument
151 return mp_ioapic_gsi_routing(ioapic)->gsi_base + pin; in mp_pin_to_gsi()
159 static inline struct irq_domain *mp_ioapic_irqdomain(int ioapic) in mp_ioapic_irqdomain() argument
161 return ioapics[ioapic].irqdomain; in mp_ioapic_irqdomain()
184 * disable_ioapic_support() - disables ioapic support at runtime
233 pr_err("IOAPIC %d: suspend/resume impossible!\n", idx); in alloc_ioapic_saved_registers()
652 * Restore IO APIC entries which was saved in the ioapic structure.
[all …]
/openbmc/u-boot/arch/x86/cpu/
H A Dioapic.c8 #include <asm/ioapic.h>
27 debug("IOAPIC: Initialising IOAPIC at %08x\n", IO_APIC_ADDR); in io_apic_set_id()
28 debug("IOAPIC: Bootstrap Processor Local APIC = %#02x\n", bsp_lapicid); in io_apic_set_id()
31 debug("IOAPIC: ID = 0x%02x\n", ioapic_id); in io_apic_set_id()
32 /* Set IOAPIC ID if it has been specified */ in io_apic_set_id()
/openbmc/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
/openbmc/qemu/hw/intc/
H A Dioapic.c2 * ioapic.c IOAPIC emulation logic
6 * Split the ioapic logic from apic.c
29 #include "hw/intc/ioapic.h"
49 /* fields parsed from IOAPIC entries */
135 * the IOAPIC message into a MSI one, and its in ioapic_service()
158 * to GSI 2. GSI maps to ioapic 1-1. This is not in ioapic_set_irq()
246 * When IOAPIC is in the userspace while APIC is still in in ioapic_eoi_broadcast()
250 * means the irq bypassed userspace IOAPIC (so the irr and in ioapic_eoi_broadcast()
341 * simulate clearing the Remote IRR bit of IOAPIC entry using the
352 * cleared by IOAPIC hardware when configured as edge-triggered
[all …]
H A Dioapic-stub.c2 * ioapic.c IOAPIC emulation logic
6 * Split the ioapic logic from apic.c
25 #include "hw/intc/ioapic.h"
H A Dioapic_internal.h2 * IOAPIC emulation logic - internal interfaces
26 #include "hw/intc/ioapic.h"
51 /* Bits that are read-only for IOAPIC entry */
87 #define TYPE_IOAPIC_COMMON "ioapic-common"
H A Dioapic_common.c2 * IOAPIC emulation logic - common bits of emulated and KVM kernel model
27 #include "hw/intc/ioapic.h"
185 .name = "ioapic",
/openbmc/qemu/include/hw/intc/
H A Dioapic.h2 * ioapic.c IOAPIC emulation logic
28 #define TYPE_KVM_IOAPIC "kvm-ioapic"
29 #define TYPE_IOAPIC "ioapic"
/openbmc/linux/arch/x86/kernel/acpi/
H A Dboot.c78 * Locks related to IOAPIC hotplug
464 int ioapic; in mp_config_acpi_gsi() local
483 ioapic = mp_find_ioapic(gsi); in mp_config_acpi_gsi()
484 mp_irq.dstapic = mpc_ioapic_id(ioapic); in mp_config_acpi_gsi()
485 mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi); in mp_config_acpi_gsi()
495 int ioapic, pin; in mp_register_ioapic_irq() local
497 /* Convert 'gsi' to 'ioapic.pin'(INTIN#) */ in mp_register_ioapic_irq()
498 ioapic = mp_find_ioapic(gsi); in mp_register_ioapic_irq()
499 if (ioapic < 0) { in mp_register_ioapic_irq()
500 pr_warn("Failed to find ioapic for gsi : %u\n", gsi); in mp_register_ioapic_irq()
[all …]
/openbmc/qemu/hw/i386/kvm/
H A Dioapic.c52 IOAPICCommonState ioapic; member
69 kioapic = &chip.chip.ioapic; in kvm_ioapic_get()
86 kioapic = &chip.chip.ioapic; in kvm_ioapic_put()
126 memory_region_init_io(&s->io_memory, OBJECT(dev), NULL, NULL, "kvm-ioapic", 0x1000); in kvm_ioapic_realize()
128 * KVM ioapic only supports 0x11 now. This will only be used when in kvm_ioapic_realize()
129 * we want to dump ioapic version. in kvm_ioapic_realize()
/openbmc/qemu/tests/qtest/
H A Dwdt_ib700-test.c62 qtest_irq_intercept_in(s, "ioapic"); in ib700_pause()
75 qtest_irq_intercept_in(s, "ioapic"); in ib700_reset()
89 qtest_irq_intercept_in(s, "ioapic"); in ib700_shutdown()
102 qtest_irq_intercept_in(s, "ioapic"); in ib700_none()
/openbmc/linux/Documentation/translations/zh_CN/core-api/irq/
H A Dirq-domain.rst185 Device --> IOAPIC -> Interrupt remapping Controller -> Local APIC -> CPU
189 1) IOAPIC 控制器
206 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
/openbmc/u-boot/arch/x86/lib/
H A Dacpi_table.c17 #include <asm/ioapic.h>
210 int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id, in acpi_create_madt_ioapic() argument
213 ioapic->type = ACPI_APIC_IOAPIC; in acpi_create_madt_ioapic()
214 ioapic->length = sizeof(struct acpi_madt_ioapic); in acpi_create_madt_ioapic()
215 ioapic->reserved = 0x00; in acpi_create_madt_ioapic()
216 ioapic->gsi_base = gsi_base; in acpi_create_madt_ioapic()
217 ioapic->ioapic_id = id; in acpi_create_madt_ioapic()
218 ioapic->ioapic_addr = addr; in acpi_create_madt_ioapic()
220 return ioapic->length; in acpi_create_madt_ioapic()
/openbmc/linux/arch/x86/include/asm/
H A Dhw_irq.h72 * @ioapic: IOAPIC specific allocation data
85 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);
146 extern int mp_find_ioapic_pin(int ioapic, u32 gsi);
/openbmc/qemu/include/hw/i386/
H A Dx86.h25 #include "hw/intc/ioapic.h"
89 * Address space used by IOAPIC device. All IOAPIC interrupts
/openbmc/qemu/hw/i386/
H A DKconfig53 select IOAPIC
123 select IOAPIC
H A Dmicrovm-dt.c166 fprintf(stderr, "unknown ioapic @ %" PRIx64 "\n", base); in dt_add_ioapic()
170 nodename = g_strdup_printf("/ioapic%d@%" PRIx64, index + 1, base); in dt_add_ioapic()
173 "compatible", "intel,ce4100-ioapic"); in dt_add_ioapic()
266 /* ioapic */ in dt_setup_sys_bus()
308 /* ioapic already added in first pass */ in dt_setup_sys_bus()
/openbmc/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()
/openbmc/linux/Documentation/core-api/irq/
H A Dirq-domain.rst222 Device --> IOAPIC -> Interrupt remapping Controller -> Local APIC -> CPU
226 1) IOAPIC controller
243 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)

123456