Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1732852
| From | Auger Eric <eric.auger@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC] KVM: arm/arm64: Introduce KVM_DEV_ARM_ITS_CTRL_RESET |
| Date | 2017-09-15 14:30 +0200 |
| Message-ID | <upXUS-2J1-19@gated-at.bofh.it> (permalink) |
| References | <upya5-2LQ-3@gated-at.bofh.it> <upFOh-7RX-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi, On 14/09/2017 19:06, Marc Zyngier wrote: > On Thu, Sep 14 2017 at 10:57:28 am BST, Eric Auger <eric.auger@redhat.com> wrote: >> At the moment, the in-kernel emulated ITS is not properly reset. >> On guest restart/reset some registers keep their old values and >> internal structures like device, ITE, collection lists are not emptied. >> >> This may lead to various bugs. Among them, we can have incorrect state >> backup or failure when saving the ITS state at early guest boot stage. >> >> This patch introduces a new attribute, KVM_DEV_ARM_ITS_CTRL_RESET in >> the KVM_DEV_ARM_VGIC_GRP_CTRL group. >> >> Upon this action, we can invalidate the various memory structures >> pointed by GITS_BASERn and GITS_CBASER, free the ITS internal caches >> and reset the relevant registers. >> >> Signed-off-by: Eric Auger <eric.auger@redhat.com> >> >> --- >> >> An alternative would consist in having the userspace writing >> individual registers with default values: GITS_BASERn, GITS_CBASER >> and GITS_CTLR. On kernel side we would reset related lists when >> detecting the valid bit is set to false. > > I'm not sure this is necessarily a "either/or" situation. It looks to me > that we're not completely doing the right thing when writing to the > GITS_BASER registers, and that writing a new value (with the valid bit > set or not) should have an action of some sort on the fate of the > existing mappings. I agree. I think whenever the GITS_BASERn or GITS_CBASER validity bit is reset, we should empty the internal lists and assure the code does not attempt to read the data structures in caches/RAM anymore. I will follow up with some patches. Thanks Eric > > Thoughts? > > M. >
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RFC] KVM: arm/arm64: Introduce KVM_DEV_ARM_ITS_CTRL_RESET Eric Auger <eric.auger@redhat.com> - 2017-09-14 11:00 +0200
Re: [RFC] KVM: arm/arm64: Introduce KVM_DEV_ARM_ITS_CTRL_RESET Christoffer Dall <cdall@linaro.org> - 2017-09-14 18:50 +0200
Re: [RFC] KVM: arm/arm64: Introduce KVM_DEV_ARM_ITS_CTRL_RESET Marc Zyngier <marc.zyngier@arm.com> - 2017-09-14 19:10 +0200
Re: [RFC] KVM: arm/arm64: Introduce KVM_DEV_ARM_ITS_CTRL_RESET Auger Eric <eric.auger@redhat.com> - 2017-09-15 14:30 +0200
Re: [RFC] KVM: arm/arm64: Introduce KVM_DEV_ARM_ITS_CTRL_RESET Christoffer Dall <cdall@linaro.org> - 2017-09-15 20:00 +0200
Re: [RFC] KVM: arm/arm64: Introduce KVM_DEV_ARM_ITS_CTRL_RESET Marc Zyngier <marc.zyngier@arm.com> - 2017-09-16 00:40 +0200
csiph-web