KVM ARM Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
@ 2019-06-04  4:43 Viresh Kumar
  2019-06-04  8:30 ` Marc Zyngier
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Viresh Kumar @ 2019-06-04  4:43 UTC (permalink / raw)
  To: Dave Martin, Marc Zyngier, James Morse, Julien Thierry,
	Suzuki K Pouloze, Catalin Marinas, Will Deacon
  Cc: Viresh Kumar, Vincent Guittot, kvmarm, linux-arm-kernel, linux-kernel

We currently get following compilation warning:

arch/arm64/kvm/guest.c: In function 'set_sve_vls':
arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'

The argument can't be const, as it is copied at runtime using
copy_from_user(). Drop const from the prototype of vq_present().

Fixes: 9033bba4b535 ("KVM: arm64/sve: Add pseudo-register for the guest's vector lengths")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 arch/arm64/kvm/guest.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
index 3ae2f82fca46..78f5a4f45e0a 100644
--- a/arch/arm64/kvm/guest.c
+++ b/arch/arm64/kvm/guest.c
@@ -209,7 +209,7 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
 #define vq_mask(vq) ((u64)1 << ((vq) - SVE_VQ_MIN) % 64)
 
 static bool vq_present(
-	const u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
+	u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
 	unsigned int vq)
 {
 	return (*vqs)[vq_word(vq)] & vq_mask(vq);
-- 
2.21.0.rc0.269.g1a574e7a288b

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  4:43 [PATCH] KVM: arm64: Drop 'const' from argument of vq_present() Viresh Kumar
@ 2019-06-04  8:30 ` Marc Zyngier
  2019-06-04  8:39   ` Viresh Kumar
  2019-06-04  8:43 ` Catalin Marinas
  2019-06-04  9:59 ` Dave Martin
  2 siblings, 1 reply; 12+ messages in thread
From: Marc Zyngier @ 2019-06-04  8:30 UTC (permalink / raw)
  To: Viresh Kumar, Dave Martin, James Morse, Julien Thierry,
	Suzuki K Pouloze, Catalin Marinas, Will Deacon
  Cc: Vincent Guittot, kvmarm, linux-arm-kernel, linux-kernel

On 04/06/2019 05:43, Viresh Kumar wrote:
> We currently get following compilation warning:
> 
> arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'

Using which toolchain? My GCC 8.3.0 doesn't say anything.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  8:30 ` Marc Zyngier
@ 2019-06-04  8:39   ` Viresh Kumar
  0 siblings, 0 replies; 12+ messages in thread
From: Viresh Kumar @ 2019-06-04  8:39 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: Vincent Guittot, Catalin Marinas, Will Deacon, linux-kernel,
	kvmarm, Dave Martin, linux-arm-kernel

On 04-06-19, 09:30, Marc Zyngier wrote:
> On 04/06/2019 05:43, Viresh Kumar wrote:
> > We currently get following compilation warning:
> > 
> > arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> > arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> > arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'
> 
> Using which toolchain? My GCC 8.3.0 doesn't say anything.

I haven't updated mine since a long time it seems :)

aarch64-linux-gnu-gcc (Linaro GCC 4.9-2015.05) 4.9.3 20150413 (prerelease)

-- 
viresh
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  4:43 [PATCH] KVM: arm64: Drop 'const' from argument of vq_present() Viresh Kumar
  2019-06-04  8:30 ` Marc Zyngier
@ 2019-06-04  8:43 ` Catalin Marinas
  2019-06-04  8:55   ` Viresh Kumar
  2019-06-04  9:01   ` Marc Zyngier
  2019-06-04  9:59 ` Dave Martin
  2 siblings, 2 replies; 12+ messages in thread
From: Catalin Marinas @ 2019-06-04  8:43 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Vincent Guittot, Marc Zyngier, Will Deacon, linux-kernel, kvmarm,
	Dave Martin, linux-arm-kernel

On Tue, Jun 04, 2019 at 10:13:19AM +0530, Viresh Kumar wrote:
> We currently get following compilation warning:
> 
> arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'

Since the vq_present() function does not modify the vqs array, I don't
understand why this warning. Compiler bug?

-- 
Catalin
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  8:43 ` Catalin Marinas
@ 2019-06-04  8:55   ` Viresh Kumar
  2019-06-04  9:26     ` Dave Martin
  2019-06-04  9:01   ` Marc Zyngier
  1 sibling, 1 reply; 12+ messages in thread
From: Viresh Kumar @ 2019-06-04  8:55 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Vincent Guittot, Marc Zyngier, Will Deacon, linux-kernel, kvmarm,
	Dave Martin, linux-arm-kernel

On 04-06-19, 09:43, Catalin Marinas wrote:
> On Tue, Jun 04, 2019 at 10:13:19AM +0530, Viresh Kumar wrote:
> > We currently get following compilation warning:
> > 
> > arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> > arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> > arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'
> 
> Since the vq_present() function does not modify the vqs array, I don't
> understand why this warning. Compiler bug?

Probably yes. Also marking array argument to functions as const is a
right thing to do, to declare that the function wouldn't change the
array values.

I tried a recent toolchain and this doesn't happen anymore.

Sorry for the noise.

-- 
viresh
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  8:43 ` Catalin Marinas
  2019-06-04  8:55   ` Viresh Kumar
@ 2019-06-04  9:01   ` Marc Zyngier
  1 sibling, 0 replies; 12+ messages in thread
From: Marc Zyngier @ 2019-06-04  9:01 UTC (permalink / raw)
  To: Catalin Marinas, Viresh Kumar
  Cc: Vincent Guittot, Will Deacon, linux-kernel, kvmarm, Dave Martin,
	linux-arm-kernel

On 04/06/2019 09:43, Catalin Marinas wrote:
> On Tue, Jun 04, 2019 at 10:13:19AM +0530, Viresh Kumar wrote:
>> We currently get following compilation warning:
>>
>> arch/arm64/kvm/guest.c: In function 'set_sve_vls':
>> arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
>> arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'
> 
> Since the vq_present() function does not modify the vqs array, I don't
> understand why this warning. Compiler bug?

Yeah, I'm a bit puzzled by that one. Also checked with clang, which is
usually much more picky about things, but it didn't complain.

We could drop the const without much harm, but I really wish we weed out
these ancient compilers...

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  8:55   ` Viresh Kumar
@ 2019-06-04  9:26     ` Dave Martin
  2019-06-04  9:31       ` Viresh Kumar
  0 siblings, 1 reply; 12+ messages in thread
From: Dave Martin @ 2019-06-04  9:26 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Vincent Guittot, Marc Zyngier, Catalin Marinas, Will Deacon,
	linux-kernel, kvmarm, linux-arm-kernel

On Tue, Jun 04, 2019 at 02:25:45PM +0530, Viresh Kumar wrote:
> On 04-06-19, 09:43, Catalin Marinas wrote:
> > On Tue, Jun 04, 2019 at 10:13:19AM +0530, Viresh Kumar wrote:
> > > We currently get following compilation warning:
> > > 
> > > arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> > > arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> > > arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'
> > 
> > Since the vq_present() function does not modify the vqs array, I don't
> > understand why this warning. Compiler bug?
> 
> Probably yes. Also marking array argument to functions as const is a
> right thing to do, to declare that the function wouldn't change the
> array values.
> 
> I tried a recent toolchain and this doesn't happen anymore.
> 
> Sorry for the noise.

Sparse is already warning about this, but I had dismissed it as a false
positive.

I think this is an instance of disallowing implicit conversions of the
form

	T ** -> T const **

because this allows a const pointer to be silently de-consted, e.g.:

static const T bar;

void foo(T const **p)
{
	*p = &bar;
}

T *baz(void)
{
	T *q; 
	foo(&q);
	return q;
}


I _suspect_ that what's going on here is that the compiler is
eliminating a level of indirection during inlining (i.e. converting
pass-by-reference to direct access, which is precisely what I wanted
to happen).  This removes the potentially invalid behaviour as a
side-effect.

This relies on the compiler optimising / analysing the code
aggressively enough though.

So, I don't have a problem with dropping the extra extra const, e.g.:

static bool vq_present(
	u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
	unsigned int vq)

Since this function is static and only used very locally, I don't see a
big risk: the only reason for the extra const was to check that
vq_present() doesn't modify vqs when it shouldn't.  But it's a trivial
function, and the intent is pretty clear without the extra type
modifier.


I'm in two minds about whether this is worth fixing, but if you want to
post a patch to remove the extra const (or convert vq_present() to a
macro), I'll take a look at it.

Cheers
---Dave
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  9:26     ` Dave Martin
@ 2019-06-04  9:31       ` Viresh Kumar
  2019-06-04  9:57         ` Dave Martin
  0 siblings, 1 reply; 12+ messages in thread
From: Viresh Kumar @ 2019-06-04  9:31 UTC (permalink / raw)
  To: Dave Martin
  Cc: Vincent Guittot, Marc Zyngier, Catalin Marinas, Will Deacon,
	linux-kernel, kvmarm, linux-arm-kernel

On 04-06-19, 10:26, Dave Martin wrote:
> I'm in two minds about whether this is worth fixing, but if you want to
> post a patch to remove the extra const (or convert vq_present() to a
> macro), I'll take a look at it.

This patch already does what you are asking for (remove the extra
const), isn't it ?

I looked at my textbook (The C programming Language, By Brian W.
Kernighan and Dennis M. Ritchie.) and it says:

"
The const declaration can also be used with array arguments, to
indicate that the function does not change that array:

int strlen(const char[]);
"

and so this patch isn't necessary for sure.

-- 
viresh
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  9:31       ` Viresh Kumar
@ 2019-06-04  9:57         ` Dave Martin
  0 siblings, 0 replies; 12+ messages in thread
From: Dave Martin @ 2019-06-04  9:57 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Vincent Guittot, Marc Zyngier, Catalin Marinas, Will Deacon,
	linux-kernel, kvmarm, linux-arm-kernel

On Tue, Jun 04, 2019 at 03:01:53PM +0530, Viresh Kumar wrote:
> On 04-06-19, 10:26, Dave Martin wrote:
> > I'm in two minds about whether this is worth fixing, but if you want to
> > post a patch to remove the extra const (or convert vq_present() to a
> > macro), I'll take a look at it.
> 
> This patch already does what you are asking for (remove the extra
> const), isn't it ?

Yes, sorry -- I didn't scroll back far enough.

> I looked at my textbook (The C programming Language, By Brian W.
> Kernighan and Dennis M. Ritchie.) and it says:
> 
> "
> The const declaration can also be used with array arguments, to
> indicate that the function does not change that array:
> 
> int strlen(const char[]);
> "
> 
> and so this patch isn't necessary for sure.

This is an array to which a pointer argument points, not an array
argument.  I think that's how we hit the constified double-indirection
problem.

Cheers
---Dave
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  4:43 [PATCH] KVM: arm64: Drop 'const' from argument of vq_present() Viresh Kumar
  2019-06-04  8:30 ` Marc Zyngier
  2019-06-04  8:43 ` Catalin Marinas
@ 2019-06-04  9:59 ` Dave Martin
  2019-06-07  6:00   ` Viresh Kumar
  2 siblings, 1 reply; 12+ messages in thread
From: Dave Martin @ 2019-06-04  9:59 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Marc Zyngier, Catalin Marinas, Will Deacon, linux-kernel, kvmarm,
	linux-arm-kernel

On Tue, Jun 04, 2019 at 10:13:19AM +0530, Viresh Kumar wrote:
> We currently get following compilation warning:
> 
> arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'
> 
> The argument can't be const, as it is copied at runtime using
> copy_from_user(). Drop const from the prototype of vq_present().
> 
> Fixes: 9033bba4b535 ("KVM: arm64/sve: Add pseudo-register for the guest's vector lengths")
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  arch/arm64/kvm/guest.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
> index 3ae2f82fca46..78f5a4f45e0a 100644
> --- a/arch/arm64/kvm/guest.c
> +++ b/arch/arm64/kvm/guest.c
> @@ -209,7 +209,7 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
>  #define vq_mask(vq) ((u64)1 << ((vq) - SVE_VQ_MIN) % 64)
>  
>  static bool vq_present(
> -	const u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
> +	u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
>  	unsigned int vq)
>  {
>  	return (*vqs)[vq_word(vq)] & vq_mask(vq);

Ack, but maybe this should just be converted to a macro?

It already feels a bit like overkill for this to be a function.

Cheers
---Dave
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-04  9:59 ` Dave Martin
@ 2019-06-07  6:00   ` Viresh Kumar
  2019-06-07 14:42     ` Dave Martin
  0 siblings, 1 reply; 12+ messages in thread
From: Viresh Kumar @ 2019-06-07  6:00 UTC (permalink / raw)
  To: Dave Martin
  Cc: Marc Zyngier, Catalin Marinas, Will Deacon, linux-kernel, kvmarm,
	linux-arm-kernel

On 04-06-19, 10:59, Dave Martin wrote:
> On Tue, Jun 04, 2019 at 10:13:19AM +0530, Viresh Kumar wrote:
> > We currently get following compilation warning:
> > 
> > arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> > arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> > arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'
> > 
> > The argument can't be const, as it is copied at runtime using
> > copy_from_user(). Drop const from the prototype of vq_present().
> > 
> > Fixes: 9033bba4b535 ("KVM: arm64/sve: Add pseudo-register for the guest's vector lengths")
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > ---
> >  arch/arm64/kvm/guest.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
> > index 3ae2f82fca46..78f5a4f45e0a 100644
> > --- a/arch/arm64/kvm/guest.c
> > +++ b/arch/arm64/kvm/guest.c
> > @@ -209,7 +209,7 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
> >  #define vq_mask(vq) ((u64)1 << ((vq) - SVE_VQ_MIN) % 64)
> >  
> >  static bool vq_present(
> > -	const u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
> > +	u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
> >  	unsigned int vq)
> >  {
> >  	return (*vqs)[vq_word(vq)] & vq_mask(vq);
> 
> Ack, but maybe this should just be converted to a macro?

I will send a patch with that if that's what you want.

Thanks.

-- 
viresh
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] KVM: arm64: Drop 'const' from argument of vq_present()
  2019-06-07  6:00   ` Viresh Kumar
@ 2019-06-07 14:42     ` Dave Martin
  0 siblings, 0 replies; 12+ messages in thread
From: Dave Martin @ 2019-06-07 14:42 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Marc Zyngier, Catalin Marinas, Will Deacon, linux-kernel, kvmarm,
	linux-arm-kernel

On Fri, Jun 07, 2019 at 11:30:37AM +0530, Viresh Kumar wrote:
> On 04-06-19, 10:59, Dave Martin wrote:
> > On Tue, Jun 04, 2019 at 10:13:19AM +0530, Viresh Kumar wrote:
> > > We currently get following compilation warning:
> > > 
> > > arch/arm64/kvm/guest.c: In function 'set_sve_vls':
> > > arch/arm64/kvm/guest.c:262:18: warning: passing argument 1 of 'vq_present' from incompatible pointer type
> > > arch/arm64/kvm/guest.c:212:13: note: expected 'const u64 (* const)[8]' but argument is of type 'u64 (*)[8]'
> > > 
> > > The argument can't be const, as it is copied at runtime using
> > > copy_from_user(). Drop const from the prototype of vq_present().
> > > 
> > > Fixes: 9033bba4b535 ("KVM: arm64/sve: Add pseudo-register for the guest's vector lengths")
> > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > > ---
> > >  arch/arm64/kvm/guest.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
> > > index 3ae2f82fca46..78f5a4f45e0a 100644
> > > --- a/arch/arm64/kvm/guest.c
> > > +++ b/arch/arm64/kvm/guest.c
> > > @@ -209,7 +209,7 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
> > >  #define vq_mask(vq) ((u64)1 << ((vq) - SVE_VQ_MIN) % 64)
> > >  
> > >  static bool vq_present(
> > > -	const u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
> > > +	u64 (*const vqs)[KVM_ARM64_SVE_VLS_WORDS],
> > >  	unsigned int vq)
> > >  {
> > >  	return (*vqs)[vq_word(vq)] & vq_mask(vq);
> > 
> > Ack, but maybe this should just be converted to a macro?
> 
> I will send a patch with that if that's what you want.

I think this would solve the problem and simplify the code a bit at the
same time.

So go for it.

Cheers
---Dave
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, back to index

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-04  4:43 [PATCH] KVM: arm64: Drop 'const' from argument of vq_present() Viresh Kumar
2019-06-04  8:30 ` Marc Zyngier
2019-06-04  8:39   ` Viresh Kumar
2019-06-04  8:43 ` Catalin Marinas
2019-06-04  8:55   ` Viresh Kumar
2019-06-04  9:26     ` Dave Martin
2019-06-04  9:31       ` Viresh Kumar
2019-06-04  9:57         ` Dave Martin
2019-06-04  9:01   ` Marc Zyngier
2019-06-04  9:59 ` Dave Martin
2019-06-07  6:00   ` Viresh Kumar
2019-06-07 14:42     ` Dave Martin

KVM ARM Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/kvmarm/0 kvmarm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kvmarm kvmarm/ https://lore.kernel.org/kvmarm \
		kvmarm@lists.cs.columbia.edu kvmarm@archiver.kernel.org
	public-inbox-index kvmarm


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/edu.columbia.cs.lists.kvmarm


AGPL code for this site: git clone https://public-inbox.org/ public-inbox