From: Oliver Upton <oupton@google.com> To: Alexandru Elisei <alexandru.elisei@arm.com> Cc: maz@kernel.org, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH] KVM/arm64: Don't emulate a PMU for 32-bit guests if feature not set Date: Tue, 26 Apr 2022 08:05:11 +0000 [thread overview] Message-ID: <Yment8uGahyB+wgK@google.com> (raw) In-Reply-To: <20220425145530.723858-1-alexandru.elisei@arm.com> Hi Alex, On Mon, Apr 25, 2022 at 03:55:30PM +0100, Alexandru Elisei wrote: [...] > The root cause remains the same: kvm->arch.pmuver was never set to > something sensible because the VCPU feature itself was never set. > > The odroid-c4 is somewhat of a special case, because Linux doesn't probe > the PMU. But the above errors can easily be reproduced on any hardware, > with or without a PMU driver, as long as userspace doesn't set the PMU > feature. This note has me wondering if we could do more negative testing with kvm-unit-tests just by selectively turning on/off features, with the expectation that tests either skip or pass. > Work around the fact that KVM advertises a PMU even when the VCPU feature > is not set by gating all PMU emulation on the feature. The guest can still > access the registers without KVM injecting an undefined exception. We're going to need something similar even after KVM conditionally advertises the PMU. WDYT about wiring up sys_reg_desc::visibility for the AArch32 PMU registers? For now just treat them as REG_RAZ (probably extend this to imply WI too) then promote to REG_HIDDEN in a later patch. -- Thanks, Oliver _______________________________________________ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
WARNING: multiple messages have this Message-ID (diff)
From: Oliver Upton <oupton@google.com> To: Alexandru Elisei <alexandru.elisei@arm.com> Cc: maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu Subject: Re: [PATCH] KVM/arm64: Don't emulate a PMU for 32-bit guests if feature not set Date: Tue, 26 Apr 2022 08:05:11 +0000 [thread overview] Message-ID: <Yment8uGahyB+wgK@google.com> (raw) In-Reply-To: <20220425145530.723858-1-alexandru.elisei@arm.com> Hi Alex, On Mon, Apr 25, 2022 at 03:55:30PM +0100, Alexandru Elisei wrote: [...] > The root cause remains the same: kvm->arch.pmuver was never set to > something sensible because the VCPU feature itself was never set. > > The odroid-c4 is somewhat of a special case, because Linux doesn't probe > the PMU. But the above errors can easily be reproduced on any hardware, > with or without a PMU driver, as long as userspace doesn't set the PMU > feature. This note has me wondering if we could do more negative testing with kvm-unit-tests just by selectively turning on/off features, with the expectation that tests either skip or pass. > Work around the fact that KVM advertises a PMU even when the VCPU feature > is not set by gating all PMU emulation on the feature. The guest can still > access the registers without KVM injecting an undefined exception. We're going to need something similar even after KVM conditionally advertises the PMU. WDYT about wiring up sys_reg_desc::visibility for the AArch32 PMU registers? For now just treat them as REG_RAZ (probably extend this to imply WI too) then promote to REG_HIDDEN in a later patch. -- Thanks, Oliver _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-26 8:05 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-25 14:55 [PATCH] KVM/arm64: Don't emulate a PMU for 32-bit guests if feature not set Alexandru Elisei 2022-04-25 14:55 ` Alexandru Elisei 2022-04-25 17:14 ` Marc Zyngier 2022-04-25 17:14 ` Marc Zyngier 2022-04-25 17:26 ` Oliver Upton 2022-04-25 17:26 ` Oliver Upton 2022-04-26 9:30 ` Alexandru Elisei 2022-04-26 9:30 ` Alexandru Elisei 2022-04-26 8:05 ` Oliver Upton [this message] 2022-04-26 8:05 ` Oliver Upton 2022-04-26 9:01 ` Alexandru Elisei 2022-04-26 9:01 ` Alexandru Elisei 2022-04-27 7:57 ` Oliver Upton 2022-04-27 7:57 ` Oliver Upton 2022-04-27 9:45 ` Alexandru Elisei 2022-04-27 9:45 ` Alexandru Elisei 2022-04-27 21:10 ` Marc Zyngier 2022-04-27 21:10 ` Marc Zyngier 2022-04-28 19:58 ` Marc Zyngier 2022-04-28 19:58 ` Marc Zyngier
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=Yment8uGahyB+wgK@google.com \ --to=oupton@google.com \ --cc=alexandru.elisei@arm.com \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=maz@kernel.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.