From: "Suzuki K. Poulose" <Suzuki.Poulose@arm.com>
To: Marc Zyngier <marc.zyngier@arm.com>,
linux-arm-kernel@lists.infradead.org
Cc: catalin.marinas@arm.com, will.deacon@arm.com,
linux-kernel@vger.kernel.org, ynorov@caviumnetworks.com,
kvmarm@lists.cs.columbia.edu
Subject: Re: [PATCH v2 8/8] arm64: kvm: Check support for AArch32 for 32bit guests
Date: Mon, 14 Mar 2016 12:27:43 +0000 [thread overview]
Message-ID: <56E6AE3F.2030800@arm.com> (raw)
In-Reply-To: <56D6AD72.8010108@arm.com>
On 02/03/16 09:08, Marc Zyngier wrote:
> On 25/02/16 09:52, Suzuki K Poulose wrote:
>> Add a check to make sure the system supports AArch32 state
>> before initialising a 32bit guest.
>>
>> Cc: Christoffer Dall <christoffer.dall@linaro.org>
>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>> Cc: kvmarm@lists.cs.columbia.edu
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
...
>> @@ -338,6 +340,12 @@ static inline void kvm_arch_sync_events(struct kvm *kvm) {}
>> static inline void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu) {}
>> static inline void kvm_arch_sched_in(struct kvm_vcpu *vcpu, int cpu) {}
>>
>> +static inline bool kvm_arch_vcpu_validate_features(struct kvm_vcpu_arch *arch_vcpu)
>> +{
>> + return !test_bit(KVM_ARM_VCPU_EL1_32BIT, arch_vcpu->features) ||
>> + system_supports_32bit_el0();
>> +}
>> +
>
> This is really convoluted (it took me 5 minutes staring at the
> expression and remembering that AArch32 EL1 implies AArch32 EL0 to get it).
>
> Now, we already have kvm_reset_vcpu() that validates AArch32 support. It
> would probably be better to move things there. Thoughts?
I think we can leave the kvm bits as it is now, discarding this patch, as
we already do the right thing. Also system_supports_32bit_el0() doesn't
guarantee system_supports_32bit_el1(). The negation and converse are
both true though.
i.e,
!32bit_el0_support => !32bit_el1_support
&
32bit_el1_support => 32bit_el0_support
Thanks
Suzuki
WARNING: multiple messages have this Message-ID (diff)
From: Suzuki.Poulose@arm.com (Suzuki K. Poulose)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 8/8] arm64: kvm: Check support for AArch32 for 32bit guests
Date: Mon, 14 Mar 2016 12:27:43 +0000 [thread overview]
Message-ID: <56E6AE3F.2030800@arm.com> (raw)
In-Reply-To: <56D6AD72.8010108@arm.com>
On 02/03/16 09:08, Marc Zyngier wrote:
> On 25/02/16 09:52, Suzuki K Poulose wrote:
>> Add a check to make sure the system supports AArch32 state
>> before initialising a 32bit guest.
>>
>> Cc: Christoffer Dall <christoffer.dall@linaro.org>
>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>> Cc: kvmarm at lists.cs.columbia.edu
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
...
>> @@ -338,6 +340,12 @@ static inline void kvm_arch_sync_events(struct kvm *kvm) {}
>> static inline void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu) {}
>> static inline void kvm_arch_sched_in(struct kvm_vcpu *vcpu, int cpu) {}
>>
>> +static inline bool kvm_arch_vcpu_validate_features(struct kvm_vcpu_arch *arch_vcpu)
>> +{
>> + return !test_bit(KVM_ARM_VCPU_EL1_32BIT, arch_vcpu->features) ||
>> + system_supports_32bit_el0();
>> +}
>> +
>
> This is really convoluted (it took me 5 minutes staring at the
> expression and remembering that AArch32 EL1 implies AArch32 EL0 to get it).
>
> Now, we already have kvm_reset_vcpu() that validates AArch32 support. It
> would probably be better to move things there. Thoughts?
I think we can leave the kvm bits as it is now, discarding this patch, as
we already do the right thing. Also system_supports_32bit_el0() doesn't
guarantee system_supports_32bit_el1(). The negation and converse are
both true though.
i.e,
!32bit_el0_support => !32bit_el1_support
&
32bit_el1_support => 32bit_el0_support
Thanks
Suzuki
WARNING: multiple messages have this Message-ID (diff)
From: "Suzuki K. Poulose" <Suzuki.Poulose@arm.com>
To: Marc Zyngier <marc.zyngier@arm.com>,
linux-arm-kernel@lists.infradead.org
Cc: christoffer.dall@linaro.org, will.deacon@arm.com,
ynorov@caviumnetworks.com, catalin.marinas@arm.com,
mark.rutland@arm.com, linux-kernel@vger.kernel.org,
kvmarm@lists.cs.columbia.edu
Subject: Re: [PATCH v2 8/8] arm64: kvm: Check support for AArch32 for 32bit guests
Date: Mon, 14 Mar 2016 12:27:43 +0000 [thread overview]
Message-ID: <56E6AE3F.2030800@arm.com> (raw)
In-Reply-To: <56D6AD72.8010108@arm.com>
On 02/03/16 09:08, Marc Zyngier wrote:
> On 25/02/16 09:52, Suzuki K Poulose wrote:
>> Add a check to make sure the system supports AArch32 state
>> before initialising a 32bit guest.
>>
>> Cc: Christoffer Dall <christoffer.dall@linaro.org>
>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>> Cc: kvmarm@lists.cs.columbia.edu
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
...
>> @@ -338,6 +340,12 @@ static inline void kvm_arch_sync_events(struct kvm *kvm) {}
>> static inline void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu) {}
>> static inline void kvm_arch_sched_in(struct kvm_vcpu *vcpu, int cpu) {}
>>
>> +static inline bool kvm_arch_vcpu_validate_features(struct kvm_vcpu_arch *arch_vcpu)
>> +{
>> + return !test_bit(KVM_ARM_VCPU_EL1_32BIT, arch_vcpu->features) ||
>> + system_supports_32bit_el0();
>> +}
>> +
>
> This is really convoluted (it took me 5 minutes staring at the
> expression and remembering that AArch32 EL1 implies AArch32 EL0 to get it).
>
> Now, we already have kvm_reset_vcpu() that validates AArch32 support. It
> would probably be better to move things there. Thoughts?
I think we can leave the kvm bits as it is now, discarding this patch, as
we already do the right thing. Also system_supports_32bit_el0() doesn't
guarantee system_supports_32bit_el1(). The negation and converse are
both true though.
i.e,
!32bit_el0_support => !32bit_el1_support
&
32bit_el1_support => 32bit_el0_support
Thanks
Suzuki
next prev parent reply other threads:[~2016-03-14 12:27 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-25 9:52 [PATCH v2 0/8] arm64: Support for systems without AArch32 state Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 1/8] arm64: hwcaps: Cleanup naming Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 2/8] arm64: HWCAP: Split COMPAT HWCAP table entries Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 3/8] arm64: Add helpers for detecting AArch32 support at EL0 Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 4/8] arm64: cpufeature: Check availability of AArch32 Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 5/8] arm64: cpufeature: Track 32bit EL0 support Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 6/8] arm64: Add a wrapper for personality() syscall Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 7/8] arm64: compat: Check for AArch32 state Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` [PATCH v2 8/8] arm64: kvm: Check support for AArch32 for 32bit guests Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-02-25 9:52 ` Suzuki K Poulose
2016-03-02 9:08 ` Marc Zyngier
2016-03-02 9:08 ` Marc Zyngier
2016-03-02 9:08 ` Marc Zyngier
2016-03-02 10:22 ` Suzuki K. Poulose
2016-03-02 10:22 ` Suzuki K. Poulose
2016-03-02 10:22 ` Suzuki K. Poulose
2016-03-14 12:27 ` Suzuki K. Poulose [this message]
2016-03-14 12:27 ` Suzuki K. Poulose
2016-03-14 12:27 ` Suzuki K. Poulose
2016-03-01 21:19 ` [PATCH v2 0/8] arm64: Support for systems without AArch32 state Yury Norov
2016-03-01 21:19 ` Yury Norov
2016-03-01 21:19 ` Yury Norov
2016-03-02 15:07 ` Yury Norov
2016-03-02 15:07 ` Yury Norov
2016-03-02 15:07 ` Yury Norov
2016-03-02 15:24 ` Mark Rutland
2016-03-02 15:24 ` Mark Rutland
2016-03-02 15:24 ` Mark Rutland
2016-03-02 15:25 ` Suzuki K. Poulose
2016-03-02 15:25 ` Suzuki K. Poulose
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=56E6AE3F.2030800@arm.com \
--to=suzuki.poulose@arm.com \
--cc=catalin.marinas@arm.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=will.deacon@arm.com \
--cc=ynorov@caviumnetworks.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 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.