From: Christoffer Dall <cdall@linaro.org>
To: "Paolo Bonzini" <pbonzini@redhat.com>,
"Radim Krčmář" <rkrcmar@redhat.com>
Cc: Christoffer Dall <cdall@linaro.org>,
kvm@vger.kernel.org, Marc Zyngier <marc.zyngier@arm.com>,
kvmarm@lists.cs.columbia.edu,
linux-arm-kernel@lists.infradead.org
Subject: [PULL 36/37] KVM: arm/arm64: Don't call map_resources when restoring ITS tables
Date: Tue, 9 May 2017 12:45:05 +0200 [thread overview]
Message-ID: <20170509104506.30929-37-cdall@linaro.org> (raw)
In-Reply-To: <20170509104506.30929-1-cdall@linaro.org>
The only reason we called kvm_vgic_map_resources() when restoring the
ITS tables was because we wanted to have the KVM iodevs registered in
the KVM IO bus framework at the time when the ITS was restored such that
a restored and active device can inject MSIs prior to otherwise calling
kvm_vgic_map_resources() from the first run of a VCPU.
Since we now register the KVM iodevs for the redestributors and ITS as
soon as possible (when setting the base addresses), we no longer need
this call and kvm_vgic_map_resources() is again called only when first
running a VCPU.
Signed-off-by: Christoffer Dall <cdall@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
---
virt/kvm/arm/vgic/vgic-its.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c
index 89acaef..9aeaff0 100644
--- a/virt/kvm/arm/vgic/vgic-its.c
+++ b/virt/kvm/arm/vgic/vgic-its.c
@@ -2308,20 +2308,12 @@ static int vgic_its_restore_tables_v0(struct vgic_its *its)
goto out;
ret = vgic_its_restore_device_tables(its);
-
out:
unlock_all_vcpus(kvm);
mutex_unlock(&its->its_lock);
mutex_unlock(&kvm->lock);
- if (ret)
- return ret;
-
- /*
- * On restore path, MSI injections can happen before the
- * first VCPU run so let's complete the GIC init here.
- */
- return kvm_vgic_map_resources(its->dev->kvm);
+ return ret;
}
static int vgic_its_commit_v0(struct vgic_its *its)
--
2.9.0
next prev parent reply other threads:[~2017-05-09 10:42 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-09 10:44 [PULL 00/37] KVM/ARM Changes for v4.12 - Round 2 Christoffer Dall
2017-05-09 10:44 ` [PULL 01/37] arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses Christoffer Dall
2017-05-09 10:44 ` [PULL 02/37] KVM: arm/arm64: Move shared files to virt/kvm/arm Christoffer Dall
2017-05-09 10:44 ` [PULL 03/37] KVM: arm/arm64: Add ITS save/restore API documentation Christoffer Dall
2017-05-09 10:44 ` [PULL 04/37] KVM: arm/arm64: Add GICV3 pending table save " Christoffer Dall
2017-05-09 10:44 ` [PULL 05/37] KVM: arm/arm64: vgic-its: rename itte into ite Christoffer Dall
2017-05-09 10:44 ` [PULL 06/37] arm/arm64: vgic: turn vgic_find_mmio_region into public Christoffer Dall
2017-05-09 10:44 ` [PULL 07/37] KVM: arm64: vgic-its: KVM_DEV_ARM_VGIC_GRP_ITS_REGS group Christoffer Dall
2017-05-09 10:44 ` [PULL 08/37] KVM: arm/arm64: vgic: expose (un)lock_all_vcpus Christoffer Dall
2017-05-09 10:44 ` [PULL 09/37] KVM: arm64: vgic-its: Implement vgic_its_has_attr_regs and attr_regs_access Christoffer Dall
2017-05-09 10:44 ` [PULL 10/37] KVM: arm64: vgic-its: Implement vgic_mmio_uaccess_write_its_creadr Christoffer Dall
2017-05-09 10:44 ` [PULL 11/37] KVM: arm64: vgic-its: Introduce migration ABI infrastructure Christoffer Dall
2017-05-09 10:44 ` [PULL 12/37] KVM: arm64: vgic-its: Implement vgic_mmio_uaccess_write_its_iidr Christoffer Dall
2017-05-09 10:44 ` [PULL 13/37] KVM: arm64: vgic-its: Interpret MAPD Size field and check related errors Christoffer Dall
2017-05-09 10:44 ` [PULL 14/37] KVM: arm64: vgic-its: Interpret MAPD ITT_addr field Christoffer Dall
2017-05-09 10:44 ` [PULL 15/37] KVM: arm64: vgic-its: Check the device id matches TYPER DEVBITS range Christoffer Dall
2017-05-09 10:44 ` [PULL 16/37] KVM: arm64: vgic-v3: vgic_v3_lpi_sync_pending_status Christoffer Dall
2017-05-09 10:44 ` [PULL 17/37] KVM: arm64: vgic-its: Read config and pending bit in add_lpi() Christoffer Dall
2017-05-09 10:44 ` [PULL 18/37] KVM: arm64: vgic-its: KVM_DEV_ARM_ITS_SAVE/RESTORE_TABLES Christoffer Dall
2017-05-09 10:44 ` [PULL 19/37] KVM: arm64: vgic-its: vgic_its_alloc_ite/device Christoffer Dall
2017-05-09 10:44 ` [PULL 20/37] KVM: arm64: vgic-its: Add infrastructure for table lookup Christoffer Dall
2017-05-09 10:44 ` [PULL 21/37] KVM: arm64: vgic-its: Collection table save/restore Christoffer Dall
2017-05-09 10:44 ` [PULL 22/37] KVM: arm64: vgic-its: vgic_its_check_id returns the entry's GPA Christoffer Dall
2017-05-09 10:44 ` [PULL 23/37] KVM: arm64: vgic-its: Device table save/restore Christoffer Dall
2017-05-09 10:44 ` [PULL 24/37] KVM: arm64: vgic-its: ITT save and restore Christoffer Dall
2017-05-09 10:44 ` [PULL 25/37] KVM: arm64: vgic-its: Fix pending table sync Christoffer Dall
2017-05-09 10:44 ` [PULL 26/37] KVM: arm64: vgic-v3: KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES Christoffer Dall
2017-05-09 10:44 ` [PULL 27/37] KVM: arm/arm64: Clarification and relaxation to ITS save/restore ABI Christoffer Dall
2017-05-09 10:44 ` [PULL 28/37] KVM: arm/arm64: vgic: Rename kvm_vgic_vcpu_init to kvm_vgic_vcpu_enable Christoffer Dall
2017-05-09 10:44 ` [PULL 29/37] KVM: Add kvm_vcpu_get_idx to get vcpu index in kvm->vcpus Christoffer Dall
2017-05-09 10:44 ` [PULL 30/37] KVM: arm/arm64: Refactor vgic_register_redist_iodevs Christoffer Dall
2017-05-09 10:45 ` [PULL 31/37] KVM: arm/arm64: Make vgic_v3_check_base more broadly usable Christoffer Dall
2017-05-09 10:45 ` [PULL 32/37] KVM: arm/arm64: Slightly rework kvm_vgic_addr Christoffer Dall
2017-05-09 10:45 ` [PULL 33/37] KVM: arm/arm64: Register iodevs when setting redist base and creating VCPUs Christoffer Dall
2017-05-09 10:45 ` [PULL 34/37] KVM: arm/arm64: Get rid of its->initialized field Christoffer Dall
2017-05-09 10:45 ` [PULL 35/37] KVM: arm/arm64: Register ITS iodev when setting base address Christoffer Dall
2017-05-09 10:45 ` Christoffer Dall [this message]
2017-05-09 10:45 ` [PULL 37/37] KVM: arm/arm64: vgic-its: Cleanup after failed ITT restore Christoffer Dall
2017-05-09 10:52 ` [PULL 00/37] KVM/ARM Changes for v4.12 - Round 2 Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170509104506.30929-37-cdall@linaro.org \
--to=cdall@linaro.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=marc.zyngier@arm.com \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox