xive              324 arch/powerpc/include/asm/kvm_host.h 	struct kvmppc_xive *xive;    /* Current XIVE device in use */
xive              183 arch/powerpc/kernel/prom_init.c 	bool xive;
xive             1238 arch/powerpc/kernel/prom_init.c 		support->xive = !prom_xive_disable;
xive             1249 arch/powerpc/kernel/prom_init.c 		support->xive = true;
xive             1286 arch/powerpc/kernel/prom_init.c 		.xive = false
xive             1334 arch/powerpc/kernel/prom_init.c 	if (supported.xive) {
xive              248 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = xc->xive;
xive              257 arch/powerpc/kvm/book3s_xive.c 	qpage = (__be32 *)__get_free_pages(GFP_KERNEL, xive->q_page_order);
xive              263 arch/powerpc/kvm/book3s_xive.c 	memset(qpage, 0, 1 << xive->q_order);
xive              273 arch/powerpc/kvm/book3s_xive.c 					 xive->q_order, true);
xive              283 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              287 arch/powerpc/kvm/book3s_xive.c 	lockdep_assert_held(&xive->lock);
xive              290 arch/powerpc/kvm/book3s_xive.c 	if (xive->qmap & (1 << prio))
xive              300 arch/powerpc/kvm/book3s_xive.c 		if (rc == 0 && !xive->single_escalation)
xive              302 arch/powerpc/kvm/book3s_xive.c 						      xive->single_escalation);
xive              309 arch/powerpc/kvm/book3s_xive.c 	xive->qmap |= (1 << prio);
xive              391 arch/powerpc/kvm/book3s_xive.c static u8 xive_lock_and_mask(struct kvmppc_xive *xive,
xive              436 arch/powerpc/kvm/book3s_xive.c 				kvmppc_xive_vp(xive, state->act_server),
xive              471 arch/powerpc/kvm/book3s_xive.c static void xive_finish_unmask(struct kvmppc_xive *xive,
xive              492 arch/powerpc/kvm/book3s_xive.c 				kvmppc_xive_vp(xive, state->act_server),
xive              532 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              569 arch/powerpc/kvm/book3s_xive.c 					 kvmppc_xive_vp(xive, server),
xive              616 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              623 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive              631 arch/powerpc/kvm/book3s_xive.c 		mutex_lock(&xive->lock);
xive              632 arch/powerpc/kvm/book3s_xive.c 		rc = xive_check_provisioning(xive->kvm,
xive              634 arch/powerpc/kvm/book3s_xive.c 		mutex_unlock(&xive->lock);
xive              641 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive              661 arch/powerpc/kvm/book3s_xive.c 		xive_lock_and_mask(xive, sb, state);
xive              702 arch/powerpc/kvm/book3s_xive.c 		xive_finish_unmask(xive, sb, state, priority);
xive              717 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              722 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive              725 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive              739 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              744 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive              747 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive              770 arch/powerpc/kvm/book3s_xive.c 	xive_finish_unmask(xive, sb, state, state->saved_priority);
xive              778 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              783 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive              786 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive              796 arch/powerpc/kvm/book3s_xive.c 	state->saved_priority = xive_lock_and_mask(xive, sb, state);
xive              802 arch/powerpc/kvm/book3s_xive.c static bool xive_restore_pending_irq(struct kvmppc_xive *xive, u32 irq)
xive              808 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive              840 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = vcpu->kvm->arch.xive;
xive              844 arch/powerpc/kvm/book3s_xive.c 	if (!xc || !xive)
xive              887 arch/powerpc/kvm/book3s_xive.c 	if (xisr > XICS_IPI && !xive_restore_pending_irq(xive, xisr)) {
xive              889 arch/powerpc/kvm/book3s_xive.c 		xive->delayed_irqs++;
xive              899 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              909 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive              914 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, guest_irq, &idx);
xive              943 arch/powerpc/kvm/book3s_xive.c 	prio = xive_lock_and_mask(xive, sb, state);
xive              954 arch/powerpc/kvm/book3s_xive.c 	if (xive->ops && xive->ops->reset_mapped)
xive              955 arch/powerpc/kvm/book3s_xive.c 		xive->ops->reset_mapped(kvm, guest_irq);
xive              968 arch/powerpc/kvm/book3s_xive.c 				  kvmppc_xive_vp(xive, state->act_server),
xive              996 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive             1004 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive             1009 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, guest_irq, &idx);
xive             1019 arch/powerpc/kvm/book3s_xive.c 	prio = xive_lock_and_mask(xive, sb, state);
xive             1046 arch/powerpc/kvm/book3s_xive.c 	if (xive->ops && xive->ops->reset_mapped) {
xive             1047 arch/powerpc/kvm/book3s_xive.c 		xive->ops->reset_mapped(kvm, guest_irq);
xive             1052 arch/powerpc/kvm/book3s_xive.c 				  kvmppc_xive_vp(xive, state->act_server),
xive             1078 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive             1081 arch/powerpc/kvm/book3s_xive.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive             1082 arch/powerpc/kvm/book3s_xive.c 		struct kvmppc_xive_src_block *sb = xive->src_blocks[i];
xive             1153 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = vcpu->kvm->arch.xive;
xive             1174 arch/powerpc/kvm/book3s_xive.c 			if (xc->xive->single_escalation)
xive             1196 arch/powerpc/kvm/book3s_xive.c 				   xive->q_page_order);
xive             1217 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = dev->private;
xive             1228 arch/powerpc/kvm/book3s_xive.c 	if (xive->kvm != vcpu->kvm)
xive             1238 arch/powerpc/kvm/book3s_xive.c 	mutex_lock(&xive->lock);
xive             1240 arch/powerpc/kvm/book3s_xive.c 	vp_id = kvmppc_xive_vp(xive, cpu);
xive             1241 arch/powerpc/kvm/book3s_xive.c 	if (kvmppc_xive_vp_in_use(xive->kvm, vp_id)) {
xive             1254 arch/powerpc/kvm/book3s_xive.c 	xc->xive = xive;
xive             1286 arch/powerpc/kvm/book3s_xive.c 	r = xive_native_enable_vp(xc->vp_id, xive->single_escalation);
xive             1303 arch/powerpc/kvm/book3s_xive.c 		if (i == 7 && xive->single_escalation)
xive             1307 arch/powerpc/kvm/book3s_xive.c 		if (xive->qmap & (1 << i)) {
xive             1309 arch/powerpc/kvm/book3s_xive.c 			if (r == 0 && !xive->single_escalation)
xive             1311 arch/powerpc/kvm/book3s_xive.c 					vcpu, i, xive->single_escalation);
xive             1326 arch/powerpc/kvm/book3s_xive.c 	r = kvmppc_xive_attach_escalation(vcpu, 0, xive->single_escalation);
xive             1336 arch/powerpc/kvm/book3s_xive.c 	mutex_unlock(&xive->lock);
xive             1349 arch/powerpc/kvm/book3s_xive.c static void xive_pre_save_set_queued(struct kvmppc_xive *xive, u32 irq)
xive             1355 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive             1379 arch/powerpc/kvm/book3s_xive.c static void xive_pre_save_mask_irq(struct kvmppc_xive *xive,
xive             1389 arch/powerpc/kvm/book3s_xive.c 	state->saved_scan_prio = xive_lock_and_mask(xive, sb, state);
xive             1399 arch/powerpc/kvm/book3s_xive.c static void xive_pre_save_unmask_irq(struct kvmppc_xive *xive,
xive             1417 arch/powerpc/kvm/book3s_xive.c 		xive_finish_unmask(xive, sb, state, state->saved_scan_prio);
xive             1423 arch/powerpc/kvm/book3s_xive.c static void xive_pre_save_queue(struct kvmppc_xive *xive, struct xive_q *q)
xive             1432 arch/powerpc/kvm/book3s_xive.c 			xive_pre_save_set_queued(xive, irq);
xive             1436 arch/powerpc/kvm/book3s_xive.c static void xive_pre_save_scan(struct kvmppc_xive *xive)
xive             1445 arch/powerpc/kvm/book3s_xive.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive             1446 arch/powerpc/kvm/book3s_xive.c 		struct kvmppc_xive_src_block *sb = xive->src_blocks[i];
xive             1450 arch/powerpc/kvm/book3s_xive.c 			xive_pre_save_mask_irq(xive, sb, j);
xive             1454 arch/powerpc/kvm/book3s_xive.c 	kvm_for_each_vcpu(i, vcpu, xive->kvm) {
xive             1460 arch/powerpc/kvm/book3s_xive.c 				xive_pre_save_queue(xive, &xc->queues[j]);
xive             1465 arch/powerpc/kvm/book3s_xive.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive             1466 arch/powerpc/kvm/book3s_xive.c 		struct kvmppc_xive_src_block *sb = xive->src_blocks[i];
xive             1470 arch/powerpc/kvm/book3s_xive.c 			xive_pre_save_unmask_irq(xive, sb, j);
xive             1474 arch/powerpc/kvm/book3s_xive.c static void xive_post_save_scan(struct kvmppc_xive *xive)
xive             1479 arch/powerpc/kvm/book3s_xive.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive             1480 arch/powerpc/kvm/book3s_xive.c 		struct kvmppc_xive_src_block *sb = xive->src_blocks[i];
xive             1488 arch/powerpc/kvm/book3s_xive.c 	xive->saved_src_count = 0;
xive             1494 arch/powerpc/kvm/book3s_xive.c static int xive_get_source(struct kvmppc_xive *xive, long irq, u64 addr)
xive             1502 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive             1529 arch/powerpc/kvm/book3s_xive.c 	if (xive->saved_src_count == 0)
xive             1530 arch/powerpc/kvm/book3s_xive.c 		xive_pre_save_scan(xive);
xive             1531 arch/powerpc/kvm/book3s_xive.c 	xive->saved_src_count++;
xive             1567 arch/powerpc/kvm/book3s_xive.c 	if (xive->saved_src_count == xive->src_count)
xive             1568 arch/powerpc/kvm/book3s_xive.c 		xive_post_save_scan(xive);
xive             1578 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive, int irq)
xive             1585 arch/powerpc/kvm/book3s_xive.c 	mutex_lock(&xive->lock);
xive             1588 arch/powerpc/kvm/book3s_xive.c 	if (xive->src_blocks[bid])
xive             1606 arch/powerpc/kvm/book3s_xive.c 	xive->src_blocks[bid] = sb;
xive             1608 arch/powerpc/kvm/book3s_xive.c 	if (bid > xive->max_sbid)
xive             1609 arch/powerpc/kvm/book3s_xive.c 		xive->max_sbid = bid;
xive             1612 arch/powerpc/kvm/book3s_xive.c 	mutex_unlock(&xive->lock);
xive             1613 arch/powerpc/kvm/book3s_xive.c 	return xive->src_blocks[bid];
xive             1616 arch/powerpc/kvm/book3s_xive.c static bool xive_check_delayed_irq(struct kvmppc_xive *xive, u32 irq)
xive             1618 arch/powerpc/kvm/book3s_xive.c 	struct kvm *kvm = xive->kvm;
xive             1630 arch/powerpc/kvm/book3s_xive.c 			xive->delayed_irqs--;
xive             1637 arch/powerpc/kvm/book3s_xive.c static int xive_set_source(struct kvmppc_xive *xive, long irq, u64 addr)
xive             1654 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive             1657 arch/powerpc/kvm/book3s_xive.c 		sb = kvmppc_xive_create_src_block(xive, irq);
xive             1699 arch/powerpc/kvm/book3s_xive.c 	xive_lock_and_mask(xive, sb, state);
xive             1722 arch/powerpc/kvm/book3s_xive.c 		mutex_lock(&xive->lock);
xive             1723 arch/powerpc/kvm/book3s_xive.c 		rc = xive_check_provisioning(xive->kvm, act_prio);
xive             1724 arch/powerpc/kvm/book3s_xive.c 		mutex_unlock(&xive->lock);
xive             1728 arch/powerpc/kvm/book3s_xive.c 			rc = xive_target_interrupt(xive->kvm, state,
xive             1741 arch/powerpc/kvm/book3s_xive.c 	if (xive->delayed_irqs && xive_check_delayed_irq(xive, irq)) {
xive             1788 arch/powerpc/kvm/book3s_xive.c 		xive_finish_unmask(xive, sb, state, guest_prio);
xive             1794 arch/powerpc/kvm/book3s_xive.c 		xive->src_count++;
xive             1803 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive             1808 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive             1811 arch/powerpc/kvm/book3s_xive.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive             1839 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = dev->private;
xive             1844 arch/powerpc/kvm/book3s_xive.c 		return xive_set_source(xive, attr->attr, attr->addr);
xive             1851 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = dev->private;
xive             1856 arch/powerpc/kvm/book3s_xive.c 		return xive_get_source(xive, attr->attr, attr->addr);
xive             1907 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = dev->private;
xive             1908 arch/powerpc/kvm/book3s_xive.c 	struct kvm *kvm = xive->kvm;
xive             1923 arch/powerpc/kvm/book3s_xive.c 	debugfs_remove(xive->dentry);
xive             1948 arch/powerpc/kvm/book3s_xive.c 	kvm->arch.xive = NULL;
xive             1951 arch/powerpc/kvm/book3s_xive.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive             1952 arch/powerpc/kvm/book3s_xive.c 		if (xive->src_blocks[i])
xive             1953 arch/powerpc/kvm/book3s_xive.c 			kvmppc_xive_free_sources(xive->src_blocks[i]);
xive             1954 arch/powerpc/kvm/book3s_xive.c 		kfree(xive->src_blocks[i]);
xive             1955 arch/powerpc/kvm/book3s_xive.c 		xive->src_blocks[i] = NULL;
xive             1958 arch/powerpc/kvm/book3s_xive.c 	if (xive->vp_base != XIVE_INVALID_VP)
xive             1959 arch/powerpc/kvm/book3s_xive.c 		xive_native_free_vp_block(xive->vp_base);
xive             1985 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = *kvm_xive_device;
xive             1987 arch/powerpc/kvm/book3s_xive.c 	if (!xive) {
xive             1988 arch/powerpc/kvm/book3s_xive.c 		xive = kzalloc(sizeof(*xive), GFP_KERNEL);
xive             1989 arch/powerpc/kvm/book3s_xive.c 		*kvm_xive_device = xive;
xive             1991 arch/powerpc/kvm/book3s_xive.c 		memset(xive, 0, sizeof(*xive));
xive             1994 arch/powerpc/kvm/book3s_xive.c 	return xive;
xive             2002 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive;
xive             2009 arch/powerpc/kvm/book3s_xive.c 	if (kvm->arch.xive)
xive             2012 arch/powerpc/kvm/book3s_xive.c 	xive = kvmppc_xive_get_device(kvm, type);
xive             2013 arch/powerpc/kvm/book3s_xive.c 	if (!xive)
xive             2016 arch/powerpc/kvm/book3s_xive.c 	dev->private = xive;
xive             2017 arch/powerpc/kvm/book3s_xive.c 	xive->dev = dev;
xive             2018 arch/powerpc/kvm/book3s_xive.c 	xive->kvm = kvm;
xive             2019 arch/powerpc/kvm/book3s_xive.c 	mutex_init(&xive->lock);
xive             2022 arch/powerpc/kvm/book3s_xive.c 	xive->q_order = xive_native_default_eq_shift();
xive             2023 arch/powerpc/kvm/book3s_xive.c 	if (xive->q_order < PAGE_SHIFT)
xive             2024 arch/powerpc/kvm/book3s_xive.c 		xive->q_page_order = 0;
xive             2026 arch/powerpc/kvm/book3s_xive.c 		xive->q_page_order = xive->q_order - PAGE_SHIFT;
xive             2029 arch/powerpc/kvm/book3s_xive.c 	xive->vp_base = xive_native_alloc_vp_block(KVM_MAX_VCPUS);
xive             2030 arch/powerpc/kvm/book3s_xive.c 	pr_devel("VP_Base=%x\n", xive->vp_base);
xive             2032 arch/powerpc/kvm/book3s_xive.c 	if (xive->vp_base == XIVE_INVALID_VP)
xive             2035 arch/powerpc/kvm/book3s_xive.c 	xive->single_escalation = xive_native_has_single_escalation();
xive             2040 arch/powerpc/kvm/book3s_xive.c 	kvm->arch.xive = xive;
xive             2084 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = m->private;
xive             2085 arch/powerpc/kvm/book3s_xive.c 	struct kvm *kvm = xive->kvm;
xive             2142 arch/powerpc/kvm/book3s_xive.c static void xive_debugfs_init(struct kvmppc_xive *xive)
xive             2146 arch/powerpc/kvm/book3s_xive.c 	name = kasprintf(GFP_KERNEL, "kvm-xive-%p", xive);
xive             2152 arch/powerpc/kvm/book3s_xive.c 	xive->dentry = debugfs_create_file(name, S_IRUGO, powerpc_debugfs_root,
xive             2153 arch/powerpc/kvm/book3s_xive.c 					   xive, &xive_debug_fops);
xive             2161 arch/powerpc/kvm/book3s_xive.c 	struct kvmppc_xive *xive = (struct kvmppc_xive *)dev->private;
xive             2164 arch/powerpc/kvm/book3s_xive.c 	xive_debugfs_init(xive);
xive              147 arch/powerpc/kvm/book3s_xive.h 	struct kvmppc_xive	*xive;
xive              205 arch/powerpc/kvm/book3s_xive.h static inline struct kvmppc_xive_src_block *kvmppc_xive_find_source(struct kvmppc_xive *xive,
xive              215 arch/powerpc/kvm/book3s_xive.h 	return xive->src_blocks[bid];
xive              218 arch/powerpc/kvm/book3s_xive.h static inline u32 kvmppc_xive_vp(struct kvmppc_xive *xive, u32 server)
xive              220 arch/powerpc/kvm/book3s_xive.h 	return xive->vp_base + kvmppc_pack_vcpu_id(xive->kvm, server);
xive              291 arch/powerpc/kvm/book3s_xive.h 	struct kvmppc_xive *xive, int irq);
xive               92 arch/powerpc/kvm/book3s_xive_native.c 			if (xc->xive->single_escalation)
xive              124 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = dev->private;
xive              135 arch/powerpc/kvm/book3s_xive_native.c 	if (xive->kvm != vcpu->kvm)
xive              144 arch/powerpc/kvm/book3s_xive_native.c 	mutex_lock(&xive->lock);
xive              146 arch/powerpc/kvm/book3s_xive_native.c 	vp_id = kvmppc_xive_vp(xive, server_num);
xive              147 arch/powerpc/kvm/book3s_xive_native.c 	if (kvmppc_xive_vp_in_use(xive->kvm, vp_id)) {
xive              160 arch/powerpc/kvm/book3s_xive_native.c 	xc->xive = xive;
xive              178 arch/powerpc/kvm/book3s_xive_native.c 	rc = xive_native_enable_vp(xc->vp_id, xive->single_escalation);
xive              190 arch/powerpc/kvm/book3s_xive_native.c 	mutex_unlock(&xive->lock);
xive              202 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = kvm->arch.xive;
xive              214 arch/powerpc/kvm/book3s_xive_native.c 	mutex_lock(&xive->mapping_lock);
xive              215 arch/powerpc/kvm/book3s_xive_native.c 	if (xive->mapping)
xive              216 arch/powerpc/kvm/book3s_xive_native.c 		unmap_mapping_range(xive->mapping,
xive              219 arch/powerpc/kvm/book3s_xive_native.c 	mutex_unlock(&xive->mapping_lock);
xive              231 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = dev->private;
xive              248 arch/powerpc/kvm/book3s_xive_native.c 	sb = kvmppc_xive_find_source(xive, irq, &src);
xive              304 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = dev->private;
xive              327 arch/powerpc/kvm/book3s_xive_native.c 	xive->mapping = vma->vm_file->f_mapping;
xive              331 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_native_set_source(struct kvmppc_xive *xive, long irq,
xive              346 arch/powerpc/kvm/book3s_xive_native.c 	sb = kvmppc_xive_find_source(xive, irq, &idx);
xive              349 arch/powerpc/kvm/book3s_xive_native.c 		sb = kvmppc_xive_create_src_block(xive, irq);
xive              397 arch/powerpc/kvm/book3s_xive_native.c 		xive->src_count++;
xive              408 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_native_update_source_config(struct kvmppc_xive *xive,
xive              414 arch/powerpc/kvm/book3s_xive_native.c 	struct kvm *kvm = xive->kvm;
xive              440 arch/powerpc/kvm/book3s_xive_native.c 					       kvmppc_xive_vp(xive, server),
xive              455 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_native_set_source_config(struct kvmppc_xive *xive,
xive              468 arch/powerpc/kvm/book3s_xive_native.c 	sb = kvmppc_xive_find_source(xive, irq, &src);
xive              497 arch/powerpc/kvm/book3s_xive_native.c 	return kvmppc_xive_native_update_source_config(xive, sb, state, server,
xive              501 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_native_sync_source(struct kvmppc_xive *xive,
xive              513 arch/powerpc/kvm/book3s_xive_native.c 	sb = kvmppc_xive_find_source(xive, irq, &src);
xive              551 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_native_set_queue_config(struct kvmppc_xive *xive,
xive              554 arch/powerpc/kvm/book3s_xive_native.c 	struct kvm *kvm = xive->kvm;
xive              692 arch/powerpc/kvm/book3s_xive_native.c 					   xive->single_escalation);
xive              699 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_native_get_queue_config(struct kvmppc_xive *xive,
xive              702 arch/powerpc/kvm/book3s_xive_native.c 	struct kvm *kvm = xive->kvm;
xive              797 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_reset(struct kvmppc_xive *xive)
xive              799 arch/powerpc/kvm/book3s_xive_native.c 	struct kvm *kvm = xive->kvm;
xive              805 arch/powerpc/kvm/book3s_xive_native.c 	mutex_lock(&xive->lock);
xive              819 arch/powerpc/kvm/book3s_xive_native.c 			if (prio == 7 && xive->single_escalation)
xive              833 arch/powerpc/kvm/book3s_xive_native.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive              834 arch/powerpc/kvm/book3s_xive_native.c 		struct kvmppc_xive_src_block *sb = xive->src_blocks[i];
xive              843 arch/powerpc/kvm/book3s_xive_native.c 	mutex_unlock(&xive->lock);
xive              906 arch/powerpc/kvm/book3s_xive_native.c static int kvmppc_xive_native_eq_sync(struct kvmppc_xive *xive)
xive              908 arch/powerpc/kvm/book3s_xive_native.c 	struct kvm *kvm = xive->kvm;
xive              914 arch/powerpc/kvm/book3s_xive_native.c 	mutex_lock(&xive->lock);
xive              915 arch/powerpc/kvm/book3s_xive_native.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive              916 arch/powerpc/kvm/book3s_xive_native.c 		struct kvmppc_xive_src_block *sb = xive->src_blocks[i];
xive              928 arch/powerpc/kvm/book3s_xive_native.c 	mutex_unlock(&xive->lock);
xive              936 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = dev->private;
xive              942 arch/powerpc/kvm/book3s_xive_native.c 			return kvmppc_xive_reset(xive);
xive              944 arch/powerpc/kvm/book3s_xive_native.c 			return kvmppc_xive_native_eq_sync(xive);
xive              948 arch/powerpc/kvm/book3s_xive_native.c 		return kvmppc_xive_native_set_source(xive, attr->attr,
xive              951 arch/powerpc/kvm/book3s_xive_native.c 		return kvmppc_xive_native_set_source_config(xive, attr->attr,
xive              954 arch/powerpc/kvm/book3s_xive_native.c 		return kvmppc_xive_native_set_queue_config(xive, attr->attr,
xive              957 arch/powerpc/kvm/book3s_xive_native.c 		return kvmppc_xive_native_sync_source(xive, attr->attr,
xive              966 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = dev->private;
xive              970 arch/powerpc/kvm/book3s_xive_native.c 		return kvmppc_xive_native_get_queue_config(xive, attr->attr,
xive             1005 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = dev->private;
xive             1006 arch/powerpc/kvm/book3s_xive_native.c 	struct kvm *kvm = xive->kvm;
xive             1016 arch/powerpc/kvm/book3s_xive_native.c 	mutex_lock(&xive->mapping_lock);
xive             1017 arch/powerpc/kvm/book3s_xive_native.c 	xive->mapping = NULL;
xive             1018 arch/powerpc/kvm/book3s_xive_native.c 	mutex_unlock(&xive->mapping_lock);
xive             1030 arch/powerpc/kvm/book3s_xive_native.c 	debugfs_remove(xive->dentry);
xive             1055 arch/powerpc/kvm/book3s_xive_native.c 	kvm->arch.xive = NULL;
xive             1057 arch/powerpc/kvm/book3s_xive_native.c 	for (i = 0; i <= xive->max_sbid; i++) {
xive             1058 arch/powerpc/kvm/book3s_xive_native.c 		if (xive->src_blocks[i])
xive             1059 arch/powerpc/kvm/book3s_xive_native.c 			kvmppc_xive_free_sources(xive->src_blocks[i]);
xive             1060 arch/powerpc/kvm/book3s_xive_native.c 		kfree(xive->src_blocks[i]);
xive             1061 arch/powerpc/kvm/book3s_xive_native.c 		xive->src_blocks[i] = NULL;
xive             1064 arch/powerpc/kvm/book3s_xive_native.c 	if (xive->vp_base != XIVE_INVALID_VP)
xive             1065 arch/powerpc/kvm/book3s_xive_native.c 		xive_native_free_vp_block(xive->vp_base);
xive             1082 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive;
xive             1088 arch/powerpc/kvm/book3s_xive_native.c 	if (kvm->arch.xive)
xive             1091 arch/powerpc/kvm/book3s_xive_native.c 	xive = kvmppc_xive_get_device(kvm, type);
xive             1092 arch/powerpc/kvm/book3s_xive_native.c 	if (!xive)
xive             1095 arch/powerpc/kvm/book3s_xive_native.c 	dev->private = xive;
xive             1096 arch/powerpc/kvm/book3s_xive_native.c 	xive->dev = dev;
xive             1097 arch/powerpc/kvm/book3s_xive_native.c 	xive->kvm = kvm;
xive             1098 arch/powerpc/kvm/book3s_xive_native.c 	mutex_init(&xive->mapping_lock);
xive             1099 arch/powerpc/kvm/book3s_xive_native.c 	mutex_init(&xive->lock);
xive             1106 arch/powerpc/kvm/book3s_xive_native.c 	xive->vp_base = xive_native_alloc_vp_block(KVM_MAX_VCPUS);
xive             1107 arch/powerpc/kvm/book3s_xive_native.c 	pr_devel("VP_Base=%x\n", xive->vp_base);
xive             1109 arch/powerpc/kvm/book3s_xive_native.c 	if (xive->vp_base == XIVE_INVALID_VP)
xive             1112 arch/powerpc/kvm/book3s_xive_native.c 	xive->single_escalation = xive_native_has_single_escalation();
xive             1113 arch/powerpc/kvm/book3s_xive_native.c 	xive->ops = &kvmppc_xive_native_ops;
xive             1118 arch/powerpc/kvm/book3s_xive_native.c 	kvm->arch.xive = xive;
xive             1169 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = vcpu->kvm->arch.xive;
xive             1177 arch/powerpc/kvm/book3s_xive_native.c 	if (!xc || !xive)
xive             1205 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = m->private;
xive             1206 arch/powerpc/kvm/book3s_xive_native.c 	struct kvm *kvm = xive->kvm;
xive             1248 arch/powerpc/kvm/book3s_xive_native.c static void xive_native_debugfs_init(struct kvmppc_xive *xive)
xive             1252 arch/powerpc/kvm/book3s_xive_native.c 	name = kasprintf(GFP_KERNEL, "kvm-xive-%p", xive);
xive             1258 arch/powerpc/kvm/book3s_xive_native.c 	xive->dentry = debugfs_create_file(name, 0444, powerpc_debugfs_root,
xive             1259 arch/powerpc/kvm/book3s_xive_native.c 					   xive, &xive_native_debug_fops);
xive             1267 arch/powerpc/kvm/book3s_xive_native.c 	struct kvmppc_xive *xive = (struct kvmppc_xive *)dev->private;
xive             1270 arch/powerpc/kvm/book3s_xive_native.c 	xive_native_debugfs_init(xive);
xive              373 arch/powerpc/kvm/book3s_xive_template.c static void GLUE(X_PFX,scan_for_rerouted_irqs)(struct kvmppc_xive *xive,
xive              406 arch/powerpc/kvm/book3s_xive_template.c 			sb = kvmppc_xive_find_source(xive, irq, &src);
xive              442 arch/powerpc/kvm/book3s_xive_template.c 	struct kvmppc_xive *xive = vcpu->kvm->arch.xive;
xive              488 arch/powerpc/kvm/book3s_xive_template.c 		GLUE(X_PFX,scan_for_rerouted_irqs)(xive, xc);
xive              500 arch/powerpc/kvm/book3s_xive_template.c 	struct kvmppc_xive *xive = vcpu->kvm->arch.xive;
xive              533 arch/powerpc/kvm/book3s_xive_template.c 	sb = kvmppc_xive_find_source(xive, irq, &src);
xive               16 arch/powerpc/kvm/irq.h 	ret = ret || (kvm->arch.xive != NULL);
xive             1993 arch/powerpc/kvm/powerpc.c 	if (kvm->arch.xics || kvm->arch.xive)