ioapic            125 arch/x86/include/asm/io_apic.h extern int mpc_ioapic_id(int ioapic);
ioapic            126 arch/x86/include/asm/io_apic.h extern unsigned int mpc_ioapic_addr(int ioapic);
ioapic            168 arch/x86/include/asm/io_apic.h extern int mp_find_ioapic_pin(int ioapic, u32 gsi);
ioapic            378 arch/x86/kernel/acpi/boot.c 	int ioapic;
ioapic            397 arch/x86/kernel/acpi/boot.c 	ioapic = mp_find_ioapic(gsi);
ioapic            398 arch/x86/kernel/acpi/boot.c 	mp_irq.dstapic = mpc_ioapic_id(ioapic);
ioapic            399 arch/x86/kernel/acpi/boot.c 	mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi);
ioapic            410 arch/x86/kernel/acpi/boot.c 	int ioapic, pin;
ioapic            413 arch/x86/kernel/acpi/boot.c 	ioapic = mp_find_ioapic(gsi);
ioapic            414 arch/x86/kernel/acpi/boot.c 	if (ioapic < 0) {
ioapic            416 arch/x86/kernel/acpi/boot.c 		return ioapic;
ioapic            419 arch/x86/kernel/acpi/boot.c 	pin = mp_find_ioapic_pin(ioapic, gsi);
ioapic            426 arch/x86/kernel/acpi/boot.c 	mp_irq.dstapic = mpc_ioapic_id(ioapic);
ioapic            437 arch/x86/kernel/acpi/boot.c 	struct acpi_madt_io_apic *ioapic = NULL;
ioapic            443 arch/x86/kernel/acpi/boot.c 	ioapic = (struct acpi_madt_io_apic *)header;
ioapic            445 arch/x86/kernel/acpi/boot.c 	if (BAD_MADT_ENTRY(ioapic, end))
ioapic            451 arch/x86/kernel/acpi/boot.c 	if (ioapic->global_irq_base < nr_legacy_irqs())
ioapic            454 arch/x86/kernel/acpi/boot.c 	mp_register_ioapic(ioapic->id, ioapic->address, ioapic->global_irq_base,
ioapic           1110 arch/x86/kernel/acpi/boot.c 		int ioapic, pin;
ioapic           1122 arch/x86/kernel/acpi/boot.c 		ioapic = mp_find_ioapic(gsi);
ioapic           1123 arch/x86/kernel/acpi/boot.c 		if (ioapic < 0)
ioapic           1125 arch/x86/kernel/acpi/boot.c 		pin = mp_find_ioapic_pin(ioapic, gsi);
ioapic           1126 arch/x86/kernel/acpi/boot.c 		dstapic = mpc_ioapic_id(ioapic);
ioapic            140 arch/x86/kernel/apic/io_apic.c static inline int mp_ioapic_pin_count(int ioapic)
ioapic            142 arch/x86/kernel/apic/io_apic.c 	struct mp_ioapic_gsi *gsi_cfg = mp_ioapic_gsi_routing(ioapic);
ioapic            147 arch/x86/kernel/apic/io_apic.c static inline u32 mp_pin_to_gsi(int ioapic, int pin)
ioapic            149 arch/x86/kernel/apic/io_apic.c 	return mp_ioapic_gsi_routing(ioapic)->gsi_base + pin;
ioapic            162 arch/x86/kernel/apic/io_apic.c static inline int mp_init_irq_at_boot(int ioapic, int irq)
ioapic            167 arch/x86/kernel/apic/io_apic.c 	return ioapic == 0 || mp_is_legacy_irq(irq);
ioapic            170 arch/x86/kernel/apic/io_apic.c static inline struct irq_domain *mp_ioapic_irqdomain(int ioapic)
ioapic            172 arch/x86/kernel/apic/io_apic.c 	return ioapics[ioapic].irqdomain;
ioapic            959 arch/x86/kernel/apic/io_apic.c static int alloc_irq_from_domain(struct irq_domain *domain, int ioapic, u32 gsi,
ioapic            964 arch/x86/kernel/apic/io_apic.c 	int type = ioapics[ioapic].irqdomain_cfg.type;
ioapic           1002 arch/x86/kernel/apic/io_apic.c 				     int irq, int ioapic, int pin,
ioapic           1017 arch/x86/kernel/apic/io_apic.c 		if (__add_pin_to_irq_node(irq_data->chip_data, node, ioapic,
ioapic           1034 arch/x86/kernel/apic/io_apic.c static int mp_map_pin_to_irq(u32 gsi, int idx, int ioapic, int pin,
ioapic           1041 arch/x86/kernel/apic/io_apic.c 	struct irq_domain *domain = mp_ioapic_irqdomain(ioapic);
ioapic           1059 arch/x86/kernel/apic/io_apic.c 		ioapic_copy_alloc_attr(&tmp, info, gsi, ioapic, pin);
ioapic           1062 arch/x86/kernel/apic/io_apic.c 							ioapic, pin, &tmp);
ioapic           1064 arch/x86/kernel/apic/io_apic.c 			irq = alloc_irq_from_domain(domain, ioapic, gsi, &tmp);
ioapic           1077 arch/x86/kernel/apic/io_apic.c static int pin_2_irq(int idx, int ioapic, int pin, unsigned int flags)
ioapic           1079 arch/x86/kernel/apic/io_apic.c 	u32 gsi = mp_pin_to_gsi(ioapic, pin);
ioapic           1107 arch/x86/kernel/apic/io_apic.c 	return  mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, NULL);
ioapic           1112 arch/x86/kernel/apic/io_apic.c 	int ioapic, pin, idx;
ioapic           1114 arch/x86/kernel/apic/io_apic.c 	ioapic = mp_find_ioapic(gsi);
ioapic           1115 arch/x86/kernel/apic/io_apic.c 	if (ioapic < 0)
ioapic           1118 arch/x86/kernel/apic/io_apic.c 	pin = mp_find_ioapic_pin(ioapic, gsi);
ioapic           1119 arch/x86/kernel/apic/io_apic.c 	idx = find_irq_entry(ioapic, pin, mp_INT);
ioapic           1123 arch/x86/kernel/apic/io_apic.c 	return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, info);
ioapic           1211 arch/x86/kernel/apic/io_apic.c 	unsigned int ioapic, pin;
ioapic           1216 arch/x86/kernel/apic/io_apic.c 	for_each_ioapic_pin(ioapic, pin) {
ioapic           1217 arch/x86/kernel/apic/io_apic.c 		idx = find_irq_entry(ioapic, pin, mp_INT);
ioapic           1221 arch/x86/kernel/apic/io_apic.c 				    mpc_ioapic_id(ioapic), pin);
ioapic           1223 arch/x86/kernel/apic/io_apic.c 			pin_2_irq(idx, ioapic, pin,
ioapic           1224 arch/x86/kernel/apic/io_apic.c 				  ioapic ? 0 : IOAPIC_MAP_ALLOC);
ioapic           2099 arch/x86/kernel/apic/io_apic.c static int mp_alloc_timer_irq(int ioapic, int pin)
ioapic           2102 arch/x86/kernel/apic/io_apic.c 	struct irq_domain *domain = mp_ioapic_irqdomain(ioapic);
ioapic           2108 arch/x86/kernel/apic/io_apic.c 		info.ioapic_id = mpc_ioapic_id(ioapic);
ioapic           2111 arch/x86/kernel/apic/io_apic.c 		irq = alloc_isa_irq_from_domain(domain, 0, ioapic, pin, &info);
ioapic           2297 arch/x86/kernel/apic/io_apic.c static int mp_irqdomain_create(int ioapic)
ioapic           2301 arch/x86/kernel/apic/io_apic.c 	int hwirqs = mp_ioapic_pin_count(ioapic);
ioapic           2302 arch/x86/kernel/apic/io_apic.c 	struct ioapic *ip = &ioapics[ioapic];
ioapic           2304 arch/x86/kernel/apic/io_apic.c 	struct mp_ioapic_gsi *gsi_cfg = mp_ioapic_gsi_routing(ioapic);
ioapic           2313 arch/x86/kernel/apic/io_apic.c 	info.ioapic_id = mpc_ioapic_id(ioapic);
ioapic           2324 arch/x86/kernel/apic/io_apic.c 		fn = irq_domain_alloc_named_id_fwnode(name, ioapic);
ioapic           2330 arch/x86/kernel/apic/io_apic.c 						 (void *)(long)ioapic);
ioapic           2359 arch/x86/kernel/apic/io_apic.c 	int ioapic;
ioapic           2367 arch/x86/kernel/apic/io_apic.c 	for_each_ioapic(ioapic)
ioapic           2368 arch/x86/kernel/apic/io_apic.c 		BUG_ON(mp_irqdomain_create(ioapic));
ioapic           2422 arch/x86/kernel/apic/io_apic.c static int io_apic_get_redir_entries(int ioapic)
ioapic           2428 arch/x86/kernel/apic/io_apic.c 	reg_01.raw = io_apic_read(ioapic, 1);
ioapic           2454 arch/x86/kernel/apic/io_apic.c static int io_apic_get_unique_id(int ioapic, int apic_id)
ioapic           2475 arch/x86/kernel/apic/io_apic.c 	reg_00.raw = io_apic_read(ioapic, 0);
ioapic           2480 arch/x86/kernel/apic/io_apic.c 			"%d\n", ioapic, apic_id, reg_00.bits.ID);
ioapic           2499 arch/x86/kernel/apic/io_apic.c 			"trying %d\n", ioapic, apic_id, i);
ioapic           2511 arch/x86/kernel/apic/io_apic.c 		io_apic_write(ioapic, 0, reg_00.raw);
ioapic           2512 arch/x86/kernel/apic/io_apic.c 		reg_00.raw = io_apic_read(ioapic, 0);
ioapic           2518 arch/x86/kernel/apic/io_apic.c 			       ioapic);
ioapic           2524 arch/x86/kernel/apic/io_apic.c 			"IOAPIC[%d]: Assigned apic_id %d\n", ioapic, apic_id);
ioapic           2585 arch/x86/kernel/apic/io_apic.c static int io_apic_get_version(int ioapic)
ioapic           2591 arch/x86/kernel/apic/io_apic.c 	reg_01.raw = io_apic_read(ioapic, 1);
ioapic           2599 arch/x86/kernel/apic/io_apic.c 	int ioapic, pin, idx;
ioapic           2604 arch/x86/kernel/apic/io_apic.c 	ioapic = mp_find_ioapic(gsi);
ioapic           2605 arch/x86/kernel/apic/io_apic.c 	if (ioapic < 0)
ioapic           2608 arch/x86/kernel/apic/io_apic.c 	pin = mp_find_ioapic_pin(ioapic, gsi);
ioapic           2612 arch/x86/kernel/apic/io_apic.c 	idx = find_irq_entry(ioapic, pin, mp_INT);
ioapic           2742 arch/x86/kernel/apic/io_apic.c int mp_find_ioapic_pin(int ioapic, u32 gsi)
ioapic           2746 arch/x86/kernel/apic/io_apic.c 	if (WARN_ON(ioapic < 0))
ioapic           2749 arch/x86/kernel/apic/io_apic.c 	gsi_cfg = mp_ioapic_gsi_routing(ioapic);
ioapic           2798 arch/x86/kernel/apic/io_apic.c 	int idx, ioapic, entries;
ioapic           2805 arch/x86/kernel/apic/io_apic.c 	for_each_ioapic(ioapic)
ioapic           2806 arch/x86/kernel/apic/io_apic.c 		if (ioapics[ioapic].mp_config.apicaddr == address) {
ioapic           2808 arch/x86/kernel/apic/io_apic.c 				address, ioapic);
ioapic           2838 arch/x86/kernel/apic/io_apic.c 	for_each_ioapic(ioapic) {
ioapic           2839 arch/x86/kernel/apic/io_apic.c 		gsi_cfg = mp_ioapic_gsi_routing(ioapic);
ioapic           2889 arch/x86/kernel/apic/io_apic.c 	int ioapic, pin;
ioapic           2892 arch/x86/kernel/apic/io_apic.c 	for_each_ioapic(ioapic)
ioapic           2893 arch/x86/kernel/apic/io_apic.c 		if (ioapics[ioapic].gsi_config.gsi_base == gsi_base) {
ioapic           2902 arch/x86/kernel/apic/io_apic.c 	for_each_pin(ioapic, pin) {
ioapic           2903 arch/x86/kernel/apic/io_apic.c 		u32 gsi = mp_pin_to_gsi(ioapic, pin);
ioapic           2911 arch/x86/kernel/apic/io_apic.c 					pin, ioapic);
ioapic           2918 arch/x86/kernel/apic/io_apic.c 	ioapics[ioapic].nr_registers  = 0;
ioapic           2919 arch/x86/kernel/apic/io_apic.c 	ioapic_destroy_irqdomain(ioapic);
ioapic           2920 arch/x86/kernel/apic/io_apic.c 	free_ioapic_saved_registers(ioapic);
ioapic           2921 arch/x86/kernel/apic/io_apic.c 	if (ioapics[ioapic].iomem_res)
ioapic           2922 arch/x86/kernel/apic/io_apic.c 		release_resource(ioapics[ioapic].iomem_res);
ioapic           2923 arch/x86/kernel/apic/io_apic.c 	clear_fixmap(FIX_IO_APIC_BASE_0 + ioapic);
ioapic           2924 arch/x86/kernel/apic/io_apic.c 	memset(&ioapics[ioapic], 0, sizeof(ioapics[ioapic]));
ioapic           2931 arch/x86/kernel/apic/io_apic.c 	int ioapic;
ioapic           2933 arch/x86/kernel/apic/io_apic.c 	for_each_ioapic(ioapic)
ioapic           2934 arch/x86/kernel/apic/io_apic.c 		if (ioapics[ioapic].gsi_config.gsi_base == gsi_base)
ioapic           2977 arch/x86/kernel/apic/io_apic.c 	int ret, ioapic, pin;
ioapic           2990 arch/x86/kernel/apic/io_apic.c 	ioapic = mp_irqdomain_ioapic_idx(domain);
ioapic           3011 arch/x86/kernel/apic/io_apic.c 	mp_irqdomain_get_attr(mp_pin_to_gsi(ioapic, pin), data, info);
ioapic           3014 arch/x86/kernel/apic/io_apic.c 	add_pin_to_irq_node(data, ioapic_alloc_attr_node(info), ioapic, pin);
ioapic           3026 arch/x86/kernel/apic/io_apic.c 		    ioapic, mpc_ioapic_id(ioapic), pin, cfg->vector,
ioapic            349 arch/x86/kernel/mpparse.c 	struct mpc_ioapic ioapic;
ioapic            376 arch/x86/kernel/mpparse.c 	ioapic.type	= MP_IOAPIC;
ioapic            377 arch/x86/kernel/mpparse.c 	ioapic.apicid	= 2;
ioapic            378 arch/x86/kernel/mpparse.c 	ioapic.apicver	= mpc_default_type > 4 ? 0x10 : 0x01;
ioapic            379 arch/x86/kernel/mpparse.c 	ioapic.flags	= MPC_APIC_USABLE;
ioapic            380 arch/x86/kernel/mpparse.c 	ioapic.apicaddr	= IO_APIC_DEFAULT_PHYS_BASE;
ioapic            381 arch/x86/kernel/mpparse.c 	MP_ioapic_info(&ioapic);
ioapic             52 arch/x86/kvm/ioapic.c static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic,
ioapic             58 arch/x86/kvm/ioapic.c 	switch (ioapic->ioregsel) {
ioapic             66 arch/x86/kvm/ioapic.c 		result = ((ioapic->id & 0xf) << 24);
ioapic             71 arch/x86/kvm/ioapic.c 			u32 redir_index = (ioapic->ioregsel - 0x10) >> 1;
ioapic             78 arch/x86/kvm/ioapic.c 				redir_content = ioapic->redirtbl[index].bits;
ioapic             81 arch/x86/kvm/ioapic.c 			result = (ioapic->ioregsel & 0x1) ?
ioapic             91 arch/x86/kvm/ioapic.c static void rtc_irq_eoi_tracking_reset(struct kvm_ioapic *ioapic)
ioapic             93 arch/x86/kvm/ioapic.c 	ioapic->rtc_status.pending_eoi = 0;
ioapic             94 arch/x86/kvm/ioapic.c 	bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID);
ioapic             97 arch/x86/kvm/ioapic.c static void kvm_rtc_eoi_tracking_restore_all(struct kvm_ioapic *ioapic);
ioapic             99 arch/x86/kvm/ioapic.c static void rtc_status_pending_eoi_check_valid(struct kvm_ioapic *ioapic)
ioapic            101 arch/x86/kvm/ioapic.c 	if (WARN_ON(ioapic->rtc_status.pending_eoi < 0))
ioapic            102 arch/x86/kvm/ioapic.c 		kvm_rtc_eoi_tracking_restore_all(ioapic);
ioapic            108 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic;
ioapic            109 arch/x86/kvm/ioapic.c 	struct dest_map *dest_map = &ioapic->rtc_status.dest_map;
ioapic            112 arch/x86/kvm/ioapic.c 	e = &ioapic->redirtbl[RTC_GSI];
ioapic            126 arch/x86/kvm/ioapic.c 		ioapic->rtc_status.pending_eoi++;
ioapic            129 arch/x86/kvm/ioapic.c 		ioapic->rtc_status.pending_eoi--;
ioapic            130 arch/x86/kvm/ioapic.c 		rtc_status_pending_eoi_check_valid(ioapic);
ioapic            136 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic;
ioapic            138 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            140 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            143 arch/x86/kvm/ioapic.c static void kvm_rtc_eoi_tracking_restore_all(struct kvm_ioapic *ioapic)
ioapic            151 arch/x86/kvm/ioapic.c 	rtc_irq_eoi_tracking_reset(ioapic);
ioapic            152 arch/x86/kvm/ioapic.c 	kvm_for_each_vcpu(i, vcpu, ioapic->kvm)
ioapic            156 arch/x86/kvm/ioapic.c static void rtc_irq_eoi(struct kvm_ioapic *ioapic, struct kvm_vcpu *vcpu)
ioapic            159 arch/x86/kvm/ioapic.c 			       ioapic->rtc_status.dest_map.map)) {
ioapic            160 arch/x86/kvm/ioapic.c 		--ioapic->rtc_status.pending_eoi;
ioapic            161 arch/x86/kvm/ioapic.c 		rtc_status_pending_eoi_check_valid(ioapic);
ioapic            165 arch/x86/kvm/ioapic.c static bool rtc_irq_check_coalesced(struct kvm_ioapic *ioapic)
ioapic            167 arch/x86/kvm/ioapic.c 	if (ioapic->rtc_status.pending_eoi > 0)
ioapic            173 arch/x86/kvm/ioapic.c static int ioapic_set_irq(struct kvm_ioapic *ioapic, unsigned int irq,
ioapic            181 arch/x86/kvm/ioapic.c 	entry = ioapic->redirtbl[irq];
ioapic            185 arch/x86/kvm/ioapic.c 		ioapic->irr &= ~mask;
ioapic            202 arch/x86/kvm/ioapic.c 		rtc_irq_check_coalesced(ioapic)) {
ioapic            207 arch/x86/kvm/ioapic.c 	old_irr = ioapic->irr;
ioapic            208 arch/x86/kvm/ioapic.c 	ioapic->irr |= mask;
ioapic            210 arch/x86/kvm/ioapic.c 		ioapic->irr_delivered &= ~mask;
ioapic            211 arch/x86/kvm/ioapic.c 		if (old_irr == ioapic->irr) {
ioapic            217 arch/x86/kvm/ioapic.c 	ret = ioapic_service(ioapic, irq, line_status);
ioapic            224 arch/x86/kvm/ioapic.c static void kvm_ioapic_inject_all(struct kvm_ioapic *ioapic, unsigned long irr)
ioapic            228 arch/x86/kvm/ioapic.c 	rtc_irq_eoi_tracking_reset(ioapic);
ioapic            230 arch/x86/kvm/ioapic.c 		ioapic_set_irq(ioapic, idx, 1, true);
ioapic            232 arch/x86/kvm/ioapic.c 	kvm_rtc_eoi_tracking_restore_all(ioapic);
ioapic            238 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic;
ioapic            239 arch/x86/kvm/ioapic.c 	struct dest_map *dest_map = &ioapic->rtc_status.dest_map;
ioapic            243 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            251 arch/x86/kvm/ioapic.c 		e = &ioapic->redirtbl[index];
ioapic            253 arch/x86/kvm/ioapic.c 		    kvm_irq_has_notifier(ioapic->kvm, KVM_IRQCHIP_IOAPIC, index) ||
ioapic            262 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            272 arch/x86/kvm/ioapic.c static void ioapic_write_indirect(struct kvm_ioapic *ioapic, u32 val)
ioapic            279 arch/x86/kvm/ioapic.c 	switch (ioapic->ioregsel) {
ioapic            285 arch/x86/kvm/ioapic.c 		ioapic->id = (val >> 24) & 0xf;
ioapic            292 arch/x86/kvm/ioapic.c 		index = (ioapic->ioregsel - 0x10) >> 1;
ioapic            297 arch/x86/kvm/ioapic.c 		e = &ioapic->redirtbl[index];
ioapic            302 arch/x86/kvm/ioapic.c 		if (ioapic->ioregsel & 1) {
ioapic            323 arch/x86/kvm/ioapic.c 			kvm_fire_mask_notifiers(ioapic->kvm, KVM_IRQCHIP_IOAPIC, index, mask_after);
ioapic            325 arch/x86/kvm/ioapic.c 		    && ioapic->irr & (1 << index))
ioapic            326 arch/x86/kvm/ioapic.c 			ioapic_service(ioapic, index, false);
ioapic            327 arch/x86/kvm/ioapic.c 		kvm_make_scan_ioapic_request(ioapic->kvm);
ioapic            332 arch/x86/kvm/ioapic.c static int ioapic_service(struct kvm_ioapic *ioapic, int irq, bool line_status)
ioapic            334 arch/x86/kvm/ioapic.c 	union kvm_ioapic_redirect_entry *entry = &ioapic->redirtbl[irq];
ioapic            353 arch/x86/kvm/ioapic.c 		ioapic->irr_delivered |= 1 << irq;
ioapic            362 arch/x86/kvm/ioapic.c 		BUG_ON(ioapic->rtc_status.pending_eoi != 0);
ioapic            363 arch/x86/kvm/ioapic.c 		ret = kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe,
ioapic            364 arch/x86/kvm/ioapic.c 					       &ioapic->rtc_status.dest_map);
ioapic            365 arch/x86/kvm/ioapic.c 		ioapic->rtc_status.pending_eoi = (ret < 0 ? 0 : ret);
ioapic            367 arch/x86/kvm/ioapic.c 		ret = kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe, NULL);
ioapic            375 arch/x86/kvm/ioapic.c int kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int irq_source_id,
ioapic            382 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            383 arch/x86/kvm/ioapic.c 	irq_level = __kvm_irq_line_state(&ioapic->irq_states[irq],
ioapic            385 arch/x86/kvm/ioapic.c 	ret = ioapic_set_irq(ioapic, irq, irq_level, line_status);
ioapic            387 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            392 arch/x86/kvm/ioapic.c void kvm_ioapic_clear_all(struct kvm_ioapic *ioapic, int irq_source_id)
ioapic            396 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            398 arch/x86/kvm/ioapic.c 		__clear_bit(irq_source_id, &ioapic->irq_states[i]);
ioapic            399 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            405 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = container_of(work, struct kvm_ioapic,
ioapic            407 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            409 arch/x86/kvm/ioapic.c 		union kvm_ioapic_redirect_entry *ent = &ioapic->redirtbl[i];
ioapic            414 arch/x86/kvm/ioapic.c 		if (ioapic->irr & (1 << i) && !ent->fields.remote_irr)
ioapic            415 arch/x86/kvm/ioapic.c 			ioapic_service(ioapic, i, false);
ioapic            417 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            423 arch/x86/kvm/ioapic.c 			struct kvm_ioapic *ioapic, int vector, int trigger_mode)
ioapic            425 arch/x86/kvm/ioapic.c 	struct dest_map *dest_map = &ioapic->rtc_status.dest_map;
ioapic            432 arch/x86/kvm/ioapic.c 		rtc_irq_eoi(ioapic, vcpu);
ioapic            435 arch/x86/kvm/ioapic.c 		union kvm_ioapic_redirect_entry *ent = &ioapic->redirtbl[i];
ioapic            448 arch/x86/kvm/ioapic.c 		spin_unlock(&ioapic->lock);
ioapic            449 arch/x86/kvm/ioapic.c 		kvm_notify_acked_irq(ioapic->kvm, KVM_IRQCHIP_IOAPIC, i);
ioapic            450 arch/x86/kvm/ioapic.c 		spin_lock(&ioapic->lock);
ioapic            458 arch/x86/kvm/ioapic.c 		if (!ent->fields.mask && (ioapic->irr & (1 << i))) {
ioapic            459 arch/x86/kvm/ioapic.c 			++ioapic->irq_eoi[i];
ioapic            460 arch/x86/kvm/ioapic.c 			if (ioapic->irq_eoi[i] == IOAPIC_SUCCESSIVE_IRQ_MAX_COUNT) {
ioapic            469 arch/x86/kvm/ioapic.c 				schedule_delayed_work(&ioapic->eoi_inject, HZ / 100);
ioapic            470 arch/x86/kvm/ioapic.c 				ioapic->irq_eoi[i] = 0;
ioapic            473 arch/x86/kvm/ioapic.c 				ioapic_service(ioapic, i, false);
ioapic            476 arch/x86/kvm/ioapic.c 			ioapic->irq_eoi[i] = 0;
ioapic            483 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic;
ioapic            485 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            486 arch/x86/kvm/ioapic.c 	__kvm_ioapic_update_eoi(vcpu, ioapic, vector, trigger_mode);
ioapic            487 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            495 arch/x86/kvm/ioapic.c static inline int ioapic_in_range(struct kvm_ioapic *ioapic, gpa_t addr)
ioapic            497 arch/x86/kvm/ioapic.c 	return ((addr >= ioapic->base_address &&
ioapic            498 arch/x86/kvm/ioapic.c 		 (addr < ioapic->base_address + IOAPIC_MEM_LENGTH)));
ioapic            504 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = to_ioapic(this);
ioapic            506 arch/x86/kvm/ioapic.c 	if (!ioapic_in_range(ioapic, addr))
ioapic            512 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            515 arch/x86/kvm/ioapic.c 		result = ioapic->ioregsel;
ioapic            519 arch/x86/kvm/ioapic.c 		result = ioapic_read_indirect(ioapic, addr, len);
ioapic            526 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            546 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = to_ioapic(this);
ioapic            548 arch/x86/kvm/ioapic.c 	if (!ioapic_in_range(ioapic, addr))
ioapic            570 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            573 arch/x86/kvm/ioapic.c 		ioapic->ioregsel = data & 0xFF; /* 8-bit register */
ioapic            577 arch/x86/kvm/ioapic.c 		ioapic_write_indirect(ioapic, data);
ioapic            583 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            587 arch/x86/kvm/ioapic.c static void kvm_ioapic_reset(struct kvm_ioapic *ioapic)
ioapic            591 arch/x86/kvm/ioapic.c 	cancel_delayed_work_sync(&ioapic->eoi_inject);
ioapic            593 arch/x86/kvm/ioapic.c 		ioapic->redirtbl[i].fields.mask = 1;
ioapic            594 arch/x86/kvm/ioapic.c 	ioapic->base_address = IOAPIC_DEFAULT_BASE_ADDRESS;
ioapic            595 arch/x86/kvm/ioapic.c 	ioapic->ioregsel = 0;
ioapic            596 arch/x86/kvm/ioapic.c 	ioapic->irr = 0;
ioapic            597 arch/x86/kvm/ioapic.c 	ioapic->irr_delivered = 0;
ioapic            598 arch/x86/kvm/ioapic.c 	ioapic->id = 0;
ioapic            599 arch/x86/kvm/ioapic.c 	memset(ioapic->irq_eoi, 0x00, sizeof(ioapic->irq_eoi));
ioapic            600 arch/x86/kvm/ioapic.c 	rtc_irq_eoi_tracking_reset(ioapic);
ioapic            610 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic;
ioapic            613 arch/x86/kvm/ioapic.c 	ioapic = kzalloc(sizeof(struct kvm_ioapic), GFP_KERNEL_ACCOUNT);
ioapic            614 arch/x86/kvm/ioapic.c 	if (!ioapic)
ioapic            616 arch/x86/kvm/ioapic.c 	spin_lock_init(&ioapic->lock);
ioapic            617 arch/x86/kvm/ioapic.c 	INIT_DELAYED_WORK(&ioapic->eoi_inject, kvm_ioapic_eoi_inject_work);
ioapic            618 arch/x86/kvm/ioapic.c 	kvm->arch.vioapic = ioapic;
ioapic            619 arch/x86/kvm/ioapic.c 	kvm_ioapic_reset(ioapic);
ioapic            620 arch/x86/kvm/ioapic.c 	kvm_iodevice_init(&ioapic->dev, &ioapic_mmio_ops);
ioapic            621 arch/x86/kvm/ioapic.c 	ioapic->kvm = kvm;
ioapic            623 arch/x86/kvm/ioapic.c 	ret = kvm_io_bus_register_dev(kvm, KVM_MMIO_BUS, ioapic->base_address,
ioapic            624 arch/x86/kvm/ioapic.c 				      IOAPIC_MEM_LENGTH, &ioapic->dev);
ioapic            628 arch/x86/kvm/ioapic.c 		kfree(ioapic);
ioapic            636 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = kvm->arch.vioapic;
ioapic            638 arch/x86/kvm/ioapic.c 	if (!ioapic)
ioapic            641 arch/x86/kvm/ioapic.c 	cancel_delayed_work_sync(&ioapic->eoi_inject);
ioapic            643 arch/x86/kvm/ioapic.c 	kvm_io_bus_unregister_dev(kvm, KVM_MMIO_BUS, &ioapic->dev);
ioapic            646 arch/x86/kvm/ioapic.c 	kfree(ioapic);
ioapic            651 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = kvm->arch.vioapic;
ioapic            653 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            654 arch/x86/kvm/ioapic.c 	memcpy(state, ioapic, sizeof(struct kvm_ioapic_state));
ioapic            655 arch/x86/kvm/ioapic.c 	state->irr &= ~ioapic->irr_delivered;
ioapic            656 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            661 arch/x86/kvm/ioapic.c 	struct kvm_ioapic *ioapic = kvm->arch.vioapic;
ioapic            663 arch/x86/kvm/ioapic.c 	spin_lock(&ioapic->lock);
ioapic            664 arch/x86/kvm/ioapic.c 	memcpy(ioapic, state, sizeof(struct kvm_ioapic_state));
ioapic            665 arch/x86/kvm/ioapic.c 	ioapic->irr = 0;
ioapic            666 arch/x86/kvm/ioapic.c 	ioapic->irr_delivered = 0;
ioapic            668 arch/x86/kvm/ioapic.c 	kvm_ioapic_inject_all(ioapic, state->irr);
ioapic            669 arch/x86/kvm/ioapic.c 	spin_unlock(&ioapic->lock);
ioapic            126 arch/x86/kvm/ioapic.h int kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int irq_source_id,
ioapic            128 arch/x86/kvm/ioapic.h void kvm_ioapic_clear_all(struct kvm_ioapic *ioapic, int irq_source_id);
ioapic             42 arch/x86/kvm/irq_comm.c 	struct kvm_ioapic *ioapic = kvm->arch.vioapic;
ioapic             43 arch/x86/kvm/irq_comm.c 	return kvm_ioapic_set_irq(ioapic, e->irqchip.pin, irq_source_id, level,
ioapic           4611 arch/x86/kvm/x86.c 		kvm_get_ioapic(kvm, &chip->chip.ioapic);
ioapic           4640 arch/x86/kvm/x86.c 		kvm_set_ioapic(kvm, &chip->chip.ioapic);
ioapic            101 drivers/acpi/ioapic.c 	struct acpi_pci_ioapic *ioapic;
ioapic            110 drivers/acpi/ioapic.c 	list_for_each_entry(ioapic, &ioapic_list, list)
ioapic            111 drivers/acpi/ioapic.c 		if (ioapic->handle == handle) {
ioapic            122 drivers/acpi/ioapic.c 	ioapic = kzalloc(sizeof(*ioapic), GFP_KERNEL);
ioapic            123 drivers/acpi/ioapic.c 	if (!ioapic) {
ioapic            127 drivers/acpi/ioapic.c 		ioapic->root_handle = (acpi_handle)context;
ioapic            128 drivers/acpi/ioapic.c 		ioapic->handle = handle;
ioapic            129 drivers/acpi/ioapic.c 		ioapic->gsi_base = (u32)gsi_base;
ioapic            130 drivers/acpi/ioapic.c 		INIT_LIST_HEAD(&ioapic->list);
ioapic            144 drivers/acpi/ioapic.c 		ioapic->pdev = dev;
ioapic            150 drivers/acpi/ioapic.c 	crs_res = &ioapic->res;
ioapic            172 drivers/acpi/ioapic.c 	list_add(&ioapic->list, &ioapic_list);
ioapic            187 drivers/acpi/ioapic.c 	if (ioapic->res.flags && ioapic->res.parent)
ioapic            188 drivers/acpi/ioapic.c 		release_resource(&ioapic->res);
ioapic            194 drivers/acpi/ioapic.c 	kfree(ioapic);
ioapic            214 drivers/acpi/ioapic.c 	struct acpi_pci_ioapic *ioapic, *tmp;
ioapic            217 drivers/acpi/ioapic.c 	list_for_each_entry_safe(ioapic, tmp, &ioapic_list, list) {
ioapic            218 drivers/acpi/ioapic.c 		if (root->device->handle != ioapic->root_handle)
ioapic            220 drivers/acpi/ioapic.c 		if (ioapic->pdev) {
ioapic            221 drivers/acpi/ioapic.c 			pci_release_region(ioapic->pdev, 0);
ioapic            222 drivers/acpi/ioapic.c 			pci_disable_device(ioapic->pdev);
ioapic            223 drivers/acpi/ioapic.c 			pci_dev_put(ioapic->pdev);
ioapic            232 drivers/acpi/ioapic.c 	struct acpi_pci_ioapic *ioapic, *tmp;
ioapic            235 drivers/acpi/ioapic.c 	list_for_each_entry_safe(ioapic, tmp, &ioapic_list, list) {
ioapic            236 drivers/acpi/ioapic.c 		if (root->device->handle != ioapic->root_handle)
ioapic            238 drivers/acpi/ioapic.c 		if (acpi_unregister_ioapic(ioapic->handle, ioapic->gsi_base))
ioapic            240 drivers/acpi/ioapic.c 		if (ioapic->res.flags && ioapic->res.parent)
ioapic            241 drivers/acpi/ioapic.c 			release_resource(&ioapic->res);
ioapic            242 drivers/acpi/ioapic.c 		list_del(&ioapic->list);
ioapic            243 drivers/acpi/ioapic.c 		kfree(ioapic);
ioapic            271 drivers/acpi/processor_core.c 	struct acpi_madt_io_apic *ioapic = (struct acpi_madt_io_apic *)entry;
ioapic            273 drivers/acpi/processor_core.c 	if (ioapic->global_irq_base != gsi_base)
ioapic            276 drivers/acpi/processor_core.c 	*phys_addr = ioapic->address;
ioapic            277 drivers/acpi/processor_core.c 	*ioapic_id = ioapic->id;
ioapic            138 include/uapi/linux/kvm.h 		struct kvm_ioapic_state ioapic;
ioapic            138 tools/include/uapi/linux/kvm.h 		struct kvm_ioapic_state ioapic;