Re: [PATCH] [fix] kernel does not compile without CONFIG_KVM_ARM_VGIC

2014-03-12 Thread Christoffer Dall
On Thu, Mar 06, 2014 at 03:30:46AM +, Marc Zyngier wrote:
 Paolo, Michele,
 
 On 2014-03-04 15:31, Paolo Bonzini wrote:
 Il 04/03/2014 16:10, Michele Paolino ha scritto:
 When the kernel is configured without CONFIG_KVM_ARM_VGIC, the
 compilation process fails with :
 
 arch/arm/kvm/arm.c: In function 'kvm_vm_ioctl_set_device_addr':
 arch/arm/kvm/arm.c:797:3: error: implicit declaration of
   function 'kvm_vgic_addr' [-Werror=implicit-function-declaration]
return kvm_vgic_addr(kvm, type, dev_addr-addr, true)
 
 Signed-off-by: Michele Paolino m.paol...@virtualopensystems.com
 ---
  include/kvm/arm_vgic.h |2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
 index be85127..0bab057 100644
 --- a/include/kvm/arm_vgic.h
 +++ b/include/kvm/arm_vgic.h
 @@ -143,8 +143,8 @@ struct kvm_vcpu;
  struct kvm_run;
  struct kvm_exit_mmio;
 
 -#ifdef CONFIG_KVM_ARM_VGIC
  int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64
 *addr, bool write);
 +#ifdef CONFIG_KVM_ARM_VGIC
  int kvm_vgic_hyp_init(void);
  int kvm_vgic_init(struct kvm *kvm);
  int kvm_vgic_create(struct kvm *kvm);
 
 
 Christoffer, Marc, I can queue this directly for kvm/master if
 it's okay
 for you.
 
 This patch looks a bit wrong. Why would we need to configure the
 vgic addresses if the vgic is explicitly disabled?
 Furthermore, I doubt it leads to a kernel that actually links, as
 the file containing kvm_vgic_addr will not be compiled...
 
 Instead, please consider applying the attached patch (quickly tested
 on a Cubietruck).
 
 Thanks,
 
 M.
 -- 
 Fast, cheap, reliable. Pick two.

 From 0876a7f6851e011b24f61ccbada35a5e8b898dd2 Mon Sep 17 00:00:00 2001
 From: Marc Zyngier marc.zyng...@arm.com
 Date: Thu, 6 Mar 2014 03:21:36 +
 Subject: [PATCH] ARM: KVM: fix non-VGIC compilation
 
 Add a stub for kvm_vgic_addr when compiling without
 CONFIG_KVM_ARM_VGIC. The usefulness of this configurarion is extremely
 doubtful, but let's fix it anyway (until we decide that we'll always
 support a VGIC).
 
 Reported-by: Michele Paolino m.paol...@virtualopensystems.com
 Cc: Paolo Bonzini pbonz...@redhat.com
 Cc: Christoffer Dall christoffer.d...@linaro.org
 Signed-off-by: Marc Zyngier marc.zyng...@arm.com
 ---
  include/kvm/arm_vgic.h | 5 +
  1 file changed, 5 insertions(+)
 
 diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
 index be85127..f27000f 100644
 --- a/include/kvm/arm_vgic.h
 +++ b/include/kvm/arm_vgic.h
 @@ -171,6 +171,11 @@ static inline int kvm_vgic_set_addr(struct kvm *kvm, 
 unsigned long type, u64 add
   return 0;
  }
  
 +static inline int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 
 *addr, bool write)
 +{
 + return -ENXIO;
 +}
 +
  static inline int kvm_vgic_init(struct kvm *kvm)
  {
   return 0;
 -- 
 1.9.0
 

This looks right to me.  I can queue this for the next -rc release.

Thanks,
-Christoffer
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] [fix] kernel does not compile without CONFIG_KVM_ARM_VGIC

2014-03-12 Thread Christoffer Dall
On Thu, Mar 06, 2014 at 03:30:46AM +, Marc Zyngier wrote:
 Paolo, Michele,
 
 On 2014-03-04 15:31, Paolo Bonzini wrote:
 Il 04/03/2014 16:10, Michele Paolino ha scritto:
 When the kernel is configured without CONFIG_KVM_ARM_VGIC, the
 compilation process fails with :
 
 arch/arm/kvm/arm.c: In function 'kvm_vm_ioctl_set_device_addr':
 arch/arm/kvm/arm.c:797:3: error: implicit declaration of
   function 'kvm_vgic_addr' [-Werror=implicit-function-declaration]
return kvm_vgic_addr(kvm, type, dev_addr-addr, true)
 
 Signed-off-by: Michele Paolino m.paol...@virtualopensystems.com
 ---
  include/kvm/arm_vgic.h |2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
 index be85127..0bab057 100644
 --- a/include/kvm/arm_vgic.h
 +++ b/include/kvm/arm_vgic.h
 @@ -143,8 +143,8 @@ struct kvm_vcpu;
  struct kvm_run;
  struct kvm_exit_mmio;
 
 -#ifdef CONFIG_KVM_ARM_VGIC
  int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64
 *addr, bool write);
 +#ifdef CONFIG_KVM_ARM_VGIC
  int kvm_vgic_hyp_init(void);
  int kvm_vgic_init(struct kvm *kvm);
  int kvm_vgic_create(struct kvm *kvm);
 
 
 Christoffer, Marc, I can queue this directly for kvm/master if
 it's okay
 for you.
 
 This patch looks a bit wrong. Why would we need to configure the
 vgic addresses if the vgic is explicitly disabled?
 Furthermore, I doubt it leads to a kernel that actually links, as
 the file containing kvm_vgic_addr will not be compiled...
 
 Instead, please consider applying the attached patch (quickly tested
 on a Cubietruck).
 
 Thanks,
 
 M.
 -- 
 Fast, cheap, reliable. Pick two.

 From 0876a7f6851e011b24f61ccbada35a5e8b898dd2 Mon Sep 17 00:00:00 2001
 From: Marc Zyngier marc.zyng...@arm.com
 Date: Thu, 6 Mar 2014 03:21:36 +
 Subject: [PATCH] ARM: KVM: fix non-VGIC compilation
 
 Add a stub for kvm_vgic_addr when compiling without
 CONFIG_KVM_ARM_VGIC. The usefulness of this configurarion is extremely
 doubtful, but let's fix it anyway (until we decide that we'll always
 support a VGIC).
 
 Reported-by: Michele Paolino m.paol...@virtualopensystems.com
 Cc: Paolo Bonzini pbonz...@redhat.com
 Cc: Christoffer Dall christoffer.d...@linaro.org
 Signed-off-by: Marc Zyngier marc.zyng...@arm.com
 ---
  include/kvm/arm_vgic.h | 5 +
  1 file changed, 5 insertions(+)
 
 diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
 index be85127..f27000f 100644
 --- a/include/kvm/arm_vgic.h
 +++ b/include/kvm/arm_vgic.h
 @@ -171,6 +171,11 @@ static inline int kvm_vgic_set_addr(struct kvm *kvm, 
 unsigned long type, u64 add
   return 0;
  }
  
 +static inline int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 
 *addr, bool write)
 +{
 + return -ENXIO;
 +}
 +
  static inline int kvm_vgic_init(struct kvm *kvm)
  {
   return 0;
 -- 
 1.9.0
 

Ah, never mind, it was already applied.  Thanks Paolo.
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] [fix] kernel does not compile without CONFIG_KVM_ARM_VGIC

2014-03-05 Thread Marc Zyngier

Paolo, Michele,

On 2014-03-04 15:31, Paolo Bonzini wrote:

Il 04/03/2014 16:10, Michele Paolino ha scritto:

When the kernel is configured without CONFIG_KVM_ARM_VGIC, the
compilation process fails with :

arch/arm/kvm/arm.c: In function 'kvm_vm_ioctl_set_device_addr':
arch/arm/kvm/arm.c:797:3: error: implicit declaration of
  function 'kvm_vgic_addr' [-Werror=implicit-function-declaration]
   return kvm_vgic_addr(kvm, type, dev_addr-addr, true)

Signed-off-by: Michele Paolino m.paol...@virtualopensystems.com
---
 include/kvm/arm_vgic.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index be85127..0bab057 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -143,8 +143,8 @@ struct kvm_vcpu;
 struct kvm_run;
 struct kvm_exit_mmio;

-#ifdef CONFIG_KVM_ARM_VGIC
 int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, 
bool write);

+#ifdef CONFIG_KVM_ARM_VGIC
 int kvm_vgic_hyp_init(void);
 int kvm_vgic_init(struct kvm *kvm);
 int kvm_vgic_create(struct kvm *kvm);



Christoffer, Marc, I can queue this directly for kvm/master if it's 
okay

for you.


This patch looks a bit wrong. Why would we need to configure the vgic 
addresses if the vgic is explicitly disabled?
Furthermore, I doubt it leads to a kernel that actually links, as the 
file containing kvm_vgic_addr will not be compiled...


Instead, please consider applying the attached patch (quickly tested on 
a Cubietruck).


Thanks,

M.
--
Fast, cheap, reliable. Pick two.From 0876a7f6851e011b24f61ccbada35a5e8b898dd2 Mon Sep 17 00:00:00 2001
From: Marc Zyngier marc.zyng...@arm.com
Date: Thu, 6 Mar 2014 03:21:36 +
Subject: [PATCH] ARM: KVM: fix non-VGIC compilation

Add a stub for kvm_vgic_addr when compiling without
CONFIG_KVM_ARM_VGIC. The usefulness of this configurarion is extremely
doubtful, but let's fix it anyway (until we decide that we'll always
support a VGIC).

Reported-by: Michele Paolino m.paol...@virtualopensystems.com
Cc: Paolo Bonzini pbonz...@redhat.com
Cc: Christoffer Dall christoffer.d...@linaro.org
Signed-off-by: Marc Zyngier marc.zyng...@arm.com
---
 include/kvm/arm_vgic.h | 5 +
 1 file changed, 5 insertions(+)

diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index be85127..f27000f 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -171,6 +171,11 @@ static inline int kvm_vgic_set_addr(struct kvm *kvm, 
unsigned long type, u64 add
return 0;
 }
 
+static inline int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 
*addr, bool write)
+{
+   return -ENXIO;
+}
+
 static inline int kvm_vgic_init(struct kvm *kvm)
 {
return 0;
-- 
1.9.0



[PATCH] [fix] kernel does not compile without CONFIG_KVM_ARM_VGIC

2014-03-04 Thread Michele Paolino
When the kernel is configured without CONFIG_KVM_ARM_VGIC, the
compilation process fails with :

arch/arm/kvm/arm.c: In function 'kvm_vm_ioctl_set_device_addr':
arch/arm/kvm/arm.c:797:3: error: implicit declaration of
  function 'kvm_vgic_addr' [-Werror=implicit-function-declaration]
   return kvm_vgic_addr(kvm, type, dev_addr-addr, true)

Signed-off-by: Michele Paolino m.paol...@virtualopensystems.com
---
 include/kvm/arm_vgic.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index be85127..0bab057 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -143,8 +143,8 @@ struct kvm_vcpu;
 struct kvm_run;
 struct kvm_exit_mmio;
 
-#ifdef CONFIG_KVM_ARM_VGIC
 int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write);
+#ifdef CONFIG_KVM_ARM_VGIC
 int kvm_vgic_hyp_init(void);
 int kvm_vgic_init(struct kvm *kvm);
 int kvm_vgic_create(struct kvm *kvm);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] [fix] kernel does not compile without CONFIG_KVM_ARM_VGIC

2014-03-04 Thread Paolo Bonzini

Il 04/03/2014 16:10, Michele Paolino ha scritto:

When the kernel is configured without CONFIG_KVM_ARM_VGIC, the
compilation process fails with :

arch/arm/kvm/arm.c: In function 'kvm_vm_ioctl_set_device_addr':
arch/arm/kvm/arm.c:797:3: error: implicit declaration of
  function 'kvm_vgic_addr' [-Werror=implicit-function-declaration]
   return kvm_vgic_addr(kvm, type, dev_addr-addr, true)

Signed-off-by: Michele Paolino m.paol...@virtualopensystems.com
---
 include/kvm/arm_vgic.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index be85127..0bab057 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -143,8 +143,8 @@ struct kvm_vcpu;
 struct kvm_run;
 struct kvm_exit_mmio;

-#ifdef CONFIG_KVM_ARM_VGIC
 int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write);
+#ifdef CONFIG_KVM_ARM_VGIC
 int kvm_vgic_hyp_init(void);
 int kvm_vgic_init(struct kvm *kvm);
 int kvm_vgic_create(struct kvm *kvm);



Christoffer, Marc, I can queue this directly for kvm/master if it's okay 
for you.


Paolo
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html