All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit
@ 2014-04-06 21:35 ` Alexander Graf
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Graf @ 2014-04-06 21:35 UTC (permalink / raw)
  To: kvm-ppc; +Cc: kvm, aneesh.kumar

The book3s_32 target can get built as module which means we don't see the
config define for it in code. Instead, check on the bool define
CONFIG_KVM_BOOK3S_32_HANDLER whenever we want to know whether we're building
for a book3s_32 host.

This fixes running book3s_32 kvm as a module for me.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 arch/powerpc/kvm/book3s.c    | 6 +++---
 arch/powerpc/kvm/book3s_pr.c | 8 +++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
index 94e597e..7af190a 100644
--- a/arch/powerpc/kvm/book3s.c
+++ b/arch/powerpc/kvm/book3s.c
@@ -886,7 +886,7 @@ static int kvmppc_book3s_init(void)
 	r = kvm_init(NULL, sizeof(struct kvm_vcpu), 0, THIS_MODULE);
 	if (r)
 		return r;
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	r = kvmppc_book3s_init_pr();
 #endif
 	return r;
@@ -895,7 +895,7 @@ static int kvmppc_book3s_init(void)
 
 static void kvmppc_book3s_exit(void)
 {
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	kvmppc_book3s_exit_pr();
 #endif
 	kvm_exit();
@@ -905,7 +905,7 @@ module_init(kvmppc_book3s_init);
 module_exit(kvmppc_book3s_exit);
 
 /* On 32bit this is our one and only kernel module */
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 MODULE_ALIAS_MISCDEV(KVM_MINOR);
 MODULE_ALIAS("devname:kvm");
 #endif
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index c5c052a..4f00bda 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -1153,7 +1153,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
 		goto free_vcpu;
 	vcpu->arch.book3s = vcpu_book3s;
 
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	vcpu->arch.shadow_vcpu =
 		kzalloc(sizeof(*vcpu->arch.shadow_vcpu), GFP_KERNEL);
 	if (!vcpu->arch.shadow_vcpu)
@@ -1198,7 +1198,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
 uninit_vcpu:
 	kvm_vcpu_uninit(vcpu);
 free_shadow_vcpu:
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	kfree(vcpu->arch.shadow_vcpu);
 free_vcpu3s:
 #endif
@@ -1215,7 +1215,7 @@ static void kvmppc_core_vcpu_free_pr(struct kvm_vcpu *vcpu)
 
 	free_page((unsigned long)vcpu->arch.shared & PAGE_MASK);
 	kvm_vcpu_uninit(vcpu);
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	kfree(vcpu->arch.shadow_vcpu);
 #endif
 	vfree(vcpu_book3s);
@@ -1491,6 +1491,8 @@ int kvmppc_book3s_init_pr(void)
 {
 	int r;
 
+printk(KERN_INFO "%s:%d\n", __func__, __LINE__);
+
 	r = kvmppc_core_check_processor_compat_pr();
 	if (r < 0)
 		return r;
-- 
1.8.1.4

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

* [PATCH] KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit
@ 2014-04-06 21:35 ` Alexander Graf
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Graf @ 2014-04-06 21:35 UTC (permalink / raw)
  To: kvm-ppc; +Cc: kvm, aneesh.kumar

The book3s_32 target can get built as module which means we don't see the
config define for it in code. Instead, check on the bool define
CONFIG_KVM_BOOK3S_32_HANDLER whenever we want to know whether we're building
for a book3s_32 host.

This fixes running book3s_32 kvm as a module for me.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 arch/powerpc/kvm/book3s.c    | 6 +++---
 arch/powerpc/kvm/book3s_pr.c | 8 +++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
index 94e597e..7af190a 100644
--- a/arch/powerpc/kvm/book3s.c
+++ b/arch/powerpc/kvm/book3s.c
@@ -886,7 +886,7 @@ static int kvmppc_book3s_init(void)
 	r = kvm_init(NULL, sizeof(struct kvm_vcpu), 0, THIS_MODULE);
 	if (r)
 		return r;
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	r = kvmppc_book3s_init_pr();
 #endif
 	return r;
@@ -895,7 +895,7 @@ static int kvmppc_book3s_init(void)
 
 static void kvmppc_book3s_exit(void)
 {
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	kvmppc_book3s_exit_pr();
 #endif
 	kvm_exit();
@@ -905,7 +905,7 @@ module_init(kvmppc_book3s_init);
 module_exit(kvmppc_book3s_exit);
 
 /* On 32bit this is our one and only kernel module */
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 MODULE_ALIAS_MISCDEV(KVM_MINOR);
 MODULE_ALIAS("devname:kvm");
 #endif
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index c5c052a..4f00bda 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -1153,7 +1153,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
 		goto free_vcpu;
 	vcpu->arch.book3s = vcpu_book3s;
 
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	vcpu->arch.shadow_vcpu  		kzalloc(sizeof(*vcpu->arch.shadow_vcpu), GFP_KERNEL);
 	if (!vcpu->arch.shadow_vcpu)
@@ -1198,7 +1198,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
 uninit_vcpu:
 	kvm_vcpu_uninit(vcpu);
 free_shadow_vcpu:
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	kfree(vcpu->arch.shadow_vcpu);
 free_vcpu3s:
 #endif
@@ -1215,7 +1215,7 @@ static void kvmppc_core_vcpu_free_pr(struct kvm_vcpu *vcpu)
 
 	free_page((unsigned long)vcpu->arch.shared & PAGE_MASK);
 	kvm_vcpu_uninit(vcpu);
-#ifdef CONFIG_KVM_BOOK3S_32
+#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
 	kfree(vcpu->arch.shadow_vcpu);
 #endif
 	vfree(vcpu_book3s);
@@ -1491,6 +1491,8 @@ int kvmppc_book3s_init_pr(void)
 {
 	int r;
 
+printk(KERN_INFO "%s:%d\n", __func__, __LINE__);
+
 	r = kvmppc_core_check_processor_compat_pr();
 	if (r < 0)
 		return r;
-- 
1.8.1.4


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

* Re: [PATCH] KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit
  2014-04-06 21:35 ` Alexander Graf
@ 2014-04-06 22:05   ` Alexander Graf
  -1 siblings, 0 replies; 6+ messages in thread
From: Alexander Graf @ 2014-04-06 22:05 UTC (permalink / raw)
  To: kvm-ppc; +Cc: kvm, aneesh.kumar


On 06.04.14 23:35, Alexander Graf wrote:
> The book3s_32 target can get built as module which means we don't see the
> config define for it in code. Instead, check on the bool define
> CONFIG_KVM_BOOK3S_32_HANDLER whenever we want to know whether we're building
> for a book3s_32 host.
>
> This fixes running book3s_32 kvm as a module for me.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
>   arch/powerpc/kvm/book3s.c    | 6 +++---
>   arch/powerpc/kvm/book3s_pr.c | 8 +++++---
>   2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
> index 94e597e..7af190a 100644
> --- a/arch/powerpc/kvm/book3s.c
> +++ b/arch/powerpc/kvm/book3s.c
> @@ -886,7 +886,7 @@ static int kvmppc_book3s_init(void)
>   	r = kvm_init(NULL, sizeof(struct kvm_vcpu), 0, THIS_MODULE);
>   	if (r)
>   		return r;
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	r = kvmppc_book3s_init_pr();
>   #endif
>   	return r;
> @@ -895,7 +895,7 @@ static int kvmppc_book3s_init(void)
>   
>   static void kvmppc_book3s_exit(void)
>   {
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	kvmppc_book3s_exit_pr();
>   #endif
>   	kvm_exit();
> @@ -905,7 +905,7 @@ module_init(kvmppc_book3s_init);
>   module_exit(kvmppc_book3s_exit);
>   
>   /* On 32bit this is our one and only kernel module */
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   MODULE_ALIAS_MISCDEV(KVM_MINOR);
>   MODULE_ALIAS("devname:kvm");
>   #endif
> diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
> index c5c052a..4f00bda 100644
> --- a/arch/powerpc/kvm/book3s_pr.c
> +++ b/arch/powerpc/kvm/book3s_pr.c
> @@ -1153,7 +1153,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>   		goto free_vcpu;
>   	vcpu->arch.book3s = vcpu_book3s;
>   
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	vcpu->arch.shadow_vcpu =
>   		kzalloc(sizeof(*vcpu->arch.shadow_vcpu), GFP_KERNEL);
>   	if (!vcpu->arch.shadow_vcpu)
> @@ -1198,7 +1198,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>   uninit_vcpu:
>   	kvm_vcpu_uninit(vcpu);
>   free_shadow_vcpu:
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	kfree(vcpu->arch.shadow_vcpu);
>   free_vcpu3s:
>   #endif
> @@ -1215,7 +1215,7 @@ static void kvmppc_core_vcpu_free_pr(struct kvm_vcpu *vcpu)
>   
>   	free_page((unsigned long)vcpu->arch.shared & PAGE_MASK);
>   	kvm_vcpu_uninit(vcpu);
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	kfree(vcpu->arch.shadow_vcpu);
>   #endif
>   	vfree(vcpu_book3s);
> @@ -1491,6 +1491,8 @@ int kvmppc_book3s_init_pr(void)
>   {
>   	int r;
>   
> +printk(KERN_INFO "%s:%d\n", __func__, __LINE__);
> +

Without this debug hunk of course ;)


Alex

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

* Re: [PATCH] KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit
@ 2014-04-06 22:05   ` Alexander Graf
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Graf @ 2014-04-06 22:05 UTC (permalink / raw)
  To: kvm-ppc; +Cc: kvm, aneesh.kumar


On 06.04.14 23:35, Alexander Graf wrote:
> The book3s_32 target can get built as module which means we don't see the
> config define for it in code. Instead, check on the bool define
> CONFIG_KVM_BOOK3S_32_HANDLER whenever we want to know whether we're building
> for a book3s_32 host.
>
> This fixes running book3s_32 kvm as a module for me.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
>   arch/powerpc/kvm/book3s.c    | 6 +++---
>   arch/powerpc/kvm/book3s_pr.c | 8 +++++---
>   2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
> index 94e597e..7af190a 100644
> --- a/arch/powerpc/kvm/book3s.c
> +++ b/arch/powerpc/kvm/book3s.c
> @@ -886,7 +886,7 @@ static int kvmppc_book3s_init(void)
>   	r = kvm_init(NULL, sizeof(struct kvm_vcpu), 0, THIS_MODULE);
>   	if (r)
>   		return r;
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	r = kvmppc_book3s_init_pr();
>   #endif
>   	return r;
> @@ -895,7 +895,7 @@ static int kvmppc_book3s_init(void)
>   
>   static void kvmppc_book3s_exit(void)
>   {
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	kvmppc_book3s_exit_pr();
>   #endif
>   	kvm_exit();
> @@ -905,7 +905,7 @@ module_init(kvmppc_book3s_init);
>   module_exit(kvmppc_book3s_exit);
>   
>   /* On 32bit this is our one and only kernel module */
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   MODULE_ALIAS_MISCDEV(KVM_MINOR);
>   MODULE_ALIAS("devname:kvm");
>   #endif
> diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
> index c5c052a..4f00bda 100644
> --- a/arch/powerpc/kvm/book3s_pr.c
> +++ b/arch/powerpc/kvm/book3s_pr.c
> @@ -1153,7 +1153,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>   		goto free_vcpu;
>   	vcpu->arch.book3s = vcpu_book3s;
>   
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	vcpu->arch.shadow_vcpu >   		kzalloc(sizeof(*vcpu->arch.shadow_vcpu), GFP_KERNEL);
>   	if (!vcpu->arch.shadow_vcpu)
> @@ -1198,7 +1198,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>   uninit_vcpu:
>   	kvm_vcpu_uninit(vcpu);
>   free_shadow_vcpu:
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	kfree(vcpu->arch.shadow_vcpu);
>   free_vcpu3s:
>   #endif
> @@ -1215,7 +1215,7 @@ static void kvmppc_core_vcpu_free_pr(struct kvm_vcpu *vcpu)
>   
>   	free_page((unsigned long)vcpu->arch.shared & PAGE_MASK);
>   	kvm_vcpu_uninit(vcpu);
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>   	kfree(vcpu->arch.shadow_vcpu);
>   #endif
>   	vfree(vcpu_book3s);
> @@ -1491,6 +1491,8 @@ int kvmppc_book3s_init_pr(void)
>   {
>   	int r;
>   
> +printk(KERN_INFO "%s:%d\n", __func__, __LINE__);
> +

Without this debug hunk of course ;)


Alex


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

* Re: [PATCH] KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit
  2014-04-06 21:35 ` Alexander Graf
@ 2014-04-07  5:24   ` Aneesh Kumar K.V
  -1 siblings, 0 replies; 6+ messages in thread
From: Aneesh Kumar K.V @ 2014-04-07  5:12 UTC (permalink / raw)
  To: Alexander Graf, kvm-ppc; +Cc: kvm

Alexander Graf <agraf@suse.de> writes:

> The book3s_32 target can get built as module which means we don't see the
> config define for it in code. Instead, check on the bool define
> CONFIG_KVM_BOOK3S_32_HANDLER whenever we want to know whether we're building
> for a book3s_32 host.
>
> This fixes running book3s_32 kvm as a module for me.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>

I thought Greg  Kurz had sent a patch for this. Remember discussing this
on irc. 

Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>

> ---
>  arch/powerpc/kvm/book3s.c    | 6 +++---
>  arch/powerpc/kvm/book3s_pr.c | 8 +++++---
>  2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
> index 94e597e..7af190a 100644
> --- a/arch/powerpc/kvm/book3s.c
> +++ b/arch/powerpc/kvm/book3s.c
> @@ -886,7 +886,7 @@ static int kvmppc_book3s_init(void)
>  	r = kvm_init(NULL, sizeof(struct kvm_vcpu), 0, THIS_MODULE);
>  	if (r)
>  		return r;
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	r = kvmppc_book3s_init_pr();
>  #endif
>  	return r;
> @@ -895,7 +895,7 @@ static int kvmppc_book3s_init(void)
>  
>  static void kvmppc_book3s_exit(void)
>  {
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	kvmppc_book3s_exit_pr();
>  #endif
>  	kvm_exit();
> @@ -905,7 +905,7 @@ module_init(kvmppc_book3s_init);
>  module_exit(kvmppc_book3s_exit);
>  
>  /* On 32bit this is our one and only kernel module */
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  MODULE_ALIAS_MISCDEV(KVM_MINOR);
>  MODULE_ALIAS("devname:kvm");
>  #endif
> diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
> index c5c052a..4f00bda 100644
> --- a/arch/powerpc/kvm/book3s_pr.c
> +++ b/arch/powerpc/kvm/book3s_pr.c
> @@ -1153,7 +1153,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>  		goto free_vcpu;
>  	vcpu->arch.book3s = vcpu_book3s;
>  
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	vcpu->arch.shadow_vcpu =
>  		kzalloc(sizeof(*vcpu->arch.shadow_vcpu), GFP_KERNEL);
>  	if (!vcpu->arch.shadow_vcpu)
> @@ -1198,7 +1198,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>  uninit_vcpu:
>  	kvm_vcpu_uninit(vcpu);
>  free_shadow_vcpu:
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	kfree(vcpu->arch.shadow_vcpu);
>  free_vcpu3s:
>  #endif
> @@ -1215,7 +1215,7 @@ static void kvmppc_core_vcpu_free_pr(struct kvm_vcpu *vcpu)
>  
>  	free_page((unsigned long)vcpu->arch.shared & PAGE_MASK);
>  	kvm_vcpu_uninit(vcpu);
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	kfree(vcpu->arch.shadow_vcpu);
>  #endif
>  	vfree(vcpu_book3s);
> @@ -1491,6 +1491,8 @@ int kvmppc_book3s_init_pr(void)
>  {
>  	int r;
>  
> +printk(KERN_INFO "%s:%d\n", __func__, __LINE__);
> +
>  	r = kvmppc_core_check_processor_compat_pr();
>  	if (r < 0)
>  		return r;
> -- 
> 1.8.1.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit
@ 2014-04-07  5:24   ` Aneesh Kumar K.V
  0 siblings, 0 replies; 6+ messages in thread
From: Aneesh Kumar K.V @ 2014-04-07  5:24 UTC (permalink / raw)
  To: Alexander Graf, kvm-ppc; +Cc: kvm

Alexander Graf <agraf@suse.de> writes:

> The book3s_32 target can get built as module which means we don't see the
> config define for it in code. Instead, check on the bool define
> CONFIG_KVM_BOOK3S_32_HANDLER whenever we want to know whether we're building
> for a book3s_32 host.
>
> This fixes running book3s_32 kvm as a module for me.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>

I thought Greg  Kurz had sent a patch for this. Remember discussing this
on irc. 

Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>

> ---
>  arch/powerpc/kvm/book3s.c    | 6 +++---
>  arch/powerpc/kvm/book3s_pr.c | 8 +++++---
>  2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
> index 94e597e..7af190a 100644
> --- a/arch/powerpc/kvm/book3s.c
> +++ b/arch/powerpc/kvm/book3s.c
> @@ -886,7 +886,7 @@ static int kvmppc_book3s_init(void)
>  	r = kvm_init(NULL, sizeof(struct kvm_vcpu), 0, THIS_MODULE);
>  	if (r)
>  		return r;
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	r = kvmppc_book3s_init_pr();
>  #endif
>  	return r;
> @@ -895,7 +895,7 @@ static int kvmppc_book3s_init(void)
>  
>  static void kvmppc_book3s_exit(void)
>  {
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	kvmppc_book3s_exit_pr();
>  #endif
>  	kvm_exit();
> @@ -905,7 +905,7 @@ module_init(kvmppc_book3s_init);
>  module_exit(kvmppc_book3s_exit);
>  
>  /* On 32bit this is our one and only kernel module */
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  MODULE_ALIAS_MISCDEV(KVM_MINOR);
>  MODULE_ALIAS("devname:kvm");
>  #endif
> diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
> index c5c052a..4f00bda 100644
> --- a/arch/powerpc/kvm/book3s_pr.c
> +++ b/arch/powerpc/kvm/book3s_pr.c
> @@ -1153,7 +1153,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>  		goto free_vcpu;
>  	vcpu->arch.book3s = vcpu_book3s;
>  
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	vcpu->arch.shadow_vcpu >  		kzalloc(sizeof(*vcpu->arch.shadow_vcpu), GFP_KERNEL);
>  	if (!vcpu->arch.shadow_vcpu)
> @@ -1198,7 +1198,7 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,
>  uninit_vcpu:
>  	kvm_vcpu_uninit(vcpu);
>  free_shadow_vcpu:
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	kfree(vcpu->arch.shadow_vcpu);
>  free_vcpu3s:
>  #endif
> @@ -1215,7 +1215,7 @@ static void kvmppc_core_vcpu_free_pr(struct kvm_vcpu *vcpu)
>  
>  	free_page((unsigned long)vcpu->arch.shared & PAGE_MASK);
>  	kvm_vcpu_uninit(vcpu);
> -#ifdef CONFIG_KVM_BOOK3S_32
> +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
>  	kfree(vcpu->arch.shadow_vcpu);
>  #endif
>  	vfree(vcpu_book3s);
> @@ -1491,6 +1491,8 @@ int kvmppc_book3s_init_pr(void)
>  {
>  	int r;
>  
> +printk(KERN_INFO "%s:%d\n", __func__, __LINE__);
> +
>  	r = kvmppc_core_check_processor_compat_pr();
>  	if (r < 0)
>  		return r;
> -- 
> 1.8.1.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

end of thread, other threads:[~2014-04-07  5:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-06 21:35 [PATCH] KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit Alexander Graf
2014-04-06 21:35 ` Alexander Graf
2014-04-06 22:05 ` Alexander Graf
2014-04-06 22:05   ` Alexander Graf
2014-04-07  5:12 ` Aneesh Kumar K.V
2014-04-07  5:24   ` Aneesh Kumar K.V

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.