diff mbox

next-20160222 build: 5 failures 9 warnings (next-20160222)

Message ID 56CAE5E6.7030707@arm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marc Zyngier Feb. 22, 2016, 10:41 a.m. UTC
On 22/02/16 10:08, Mark Brown wrote:
> On Mon, Feb 22, 2016 at 08:36:46AM +0000, Build bot for Mark Brown wrote:
> 
> Today's -next fails to build on arm64 due to:
> 
>> 	arm64-allnoconfig
>> ../arch/arm64/include/asm/kvm_host.h:338:2: error: implicit declaration of function 'kvm_call_hyp' [-Werror=implicit-function-declaration]
>>
>> 	arm64-allmodconfig
>> ../arch/arm64/include/asm/kvm_host.h:338:2: error: implicit declaration of function 'kvm_call_hyp' [-Werror=implicit-function-declaration]
> 
>> 	arm64-defconfig
>> ../arch/arm64/include/asm/kvm_host.h:338:2: error: implicit declaration of function 'kvm_call_hyp' [-Werror=implicit-function-declaration]
> 
> triggered by the merge of the kvm-arm tree with -next today, it looks
> like changes in that tree and arm64 aren't playing nicely with each
> other (bisect came down to the merge and visual inspection of the
> changes didn't immediately show anything else though the issue is
> obvious in the code).

I'm about to push the following patch on top of the KVM tree:


This will create a new conflict, but will make the resolution 100% clear.

Thanks,

	M.

Comments

Brian Starkey Feb. 22, 2016, 11:52 a.m. UTC | #1
Hi Mark,

On Mon, Feb 22, 2016 at 10:41:42AM +0000, Marc Zyngier wrote:
>I'm about to push the following patch on top of the KVM tree:
>
>diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
>index 43688d9..31fe7d6 100644
>--- a/arch/arm64/include/asm/kvm_host.h
>+++ b/arch/arm64/include/asm/kvm_host.h
>@@ -333,11 +333,6 @@ static inline void __cpu_init_hyp_mode(phys_addr_t boot_pgd_ptr,
> 		     hyp_stack_ptr, vector_ptr);
> }
>
>-static inline void __cpu_init_stage2(void)
>-{
>-	kvm_call_hyp(__init_stage2_translation);
>-}
>-
> static inline void kvm_arch_hardware_disable(void) {}
> static inline void kvm_arch_hardware_unsetup(void) {}
> static inline void kvm_arch_sync_events(struct kvm *kvm) {}
>@@ -349,4 +344,11 @@ void kvm_arm_setup_debug(struct kvm_vcpu *vcpu);
> void kvm_arm_clear_debug(struct kvm_vcpu *vcpu);
> void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu);
>
>+/* #define kvm_call_hyp(f, ...) __kvm_call_hyp(kvm_ksym_ref(f), ##__VA_ARGS__) */
>+
>+static inline void __cpu_init_stage2(void)
>+{
>+	kvm_call_hyp(__init_stage2_translation);
>+}
>+
> #endif /* __ARM64_KVM_HOST_H__ */
>
>This will create a new conflict, but will make the resolution 100% clear.

I applied this, but arm64 defconfig wouldn't build until I uncommented
the '#define kvm_call_hyp(...' line.

Is that right?

Thanks,
Brian

>
>Thanks,
>
>	M.
>-- 
>Jazz is not dead. It just smells funny...
>
>_______________________________________________
>linux-arm-kernel mailing list
>linux-arm-kernel@lists.infradead.org
>http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Marc Zyngier Feb. 22, 2016, noon UTC | #2
On 22/02/16 11:52, Brian Starkey wrote:
> Hi Mark,
> 
> On Mon, Feb 22, 2016 at 10:41:42AM +0000, Marc Zyngier wrote:
>> I'm about to push the following patch on top of the KVM tree:
>>
>> diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
>> index 43688d9..31fe7d6 100644
>> --- a/arch/arm64/include/asm/kvm_host.h
>> +++ b/arch/arm64/include/asm/kvm_host.h
>> @@ -333,11 +333,6 @@ static inline void __cpu_init_hyp_mode(phys_addr_t boot_pgd_ptr,
>> 		     hyp_stack_ptr, vector_ptr);
>> }
>>
>> -static inline void __cpu_init_stage2(void)
>> -{
>> -	kvm_call_hyp(__init_stage2_translation);
>> -}
>> -
>> static inline void kvm_arch_hardware_disable(void) {}
>> static inline void kvm_arch_hardware_unsetup(void) {}
>> static inline void kvm_arch_sync_events(struct kvm *kvm) {}
>> @@ -349,4 +344,11 @@ void kvm_arm_setup_debug(struct kvm_vcpu *vcpu);
>> void kvm_arm_clear_debug(struct kvm_vcpu *vcpu);
>> void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu);
>>
>> +/* #define kvm_call_hyp(f, ...) __kvm_call_hyp(kvm_ksym_ref(f), ##__VA_ARGS__) */
>> +
>> +static inline void __cpu_init_stage2(void)
>> +{
>> +	kvm_call_hyp(__init_stage2_translation);
>> +}
>> +
>> #endif /* __ARM64_KVM_HOST_H__ */
>>
>> This will create a new conflict, but will make the resolution 100% clear.
> 
> I applied this, but arm64 defconfig wouldn't build until I uncommented
> the '#define kvm_call_hyp(...' line.
> 
> Is that right?

This patch is intended as a merge indication so that when you do the
merge with the arm64 tree, it conflicts and you can resolve it by going
the right thing (merging the non-comment version of this line).

So yes, uncommenting it is the right thing to do.

Thanks,

	M.
Brian Starkey Feb. 22, 2016, 12:07 p.m. UTC | #3
On Mon, Feb 22, 2016 at 12:00:40PM +0000, Marc Zyngier wrote:
>On 22/02/16 11:52, Brian Starkey wrote:
>>> This will create a new conflict, but will make the resolution 100% 
>>> clear.
>>
>> I applied this, but arm64 defconfig wouldn't build until I uncommented
>> the '#define kvm_call_hyp(...' line.
>>
>> Is that right?
>
>This patch is intended as a merge indication so that when you do the
>merge with the arm64 tree, it conflicts and you can resolve it by going
>the right thing (merging the non-comment version of this line).

Right, now I understand "make the resolution 100% clear" - I guess 100%
clear isn't clear enough for me :-(

I've not seen that used as notation before, thanks for explaining.

-Brian

>
>So yes, uncommenting it is the right thing to do.
>
>Thanks,
>
>	M.
>-- 
>Jazz is not dead. It just smells funny...
>
Marc Zyngier Feb. 22, 2016, 12:44 p.m. UTC | #4
On 22/02/16 12:07, Brian Starkey wrote:
> On Mon, Feb 22, 2016 at 12:00:40PM +0000, Marc Zyngier wrote:
>> On 22/02/16 11:52, Brian Starkey wrote:
>>>> This will create a new conflict, but will make the resolution 100% 
>>>> clear.
>>>
>>> I applied this, but arm64 defconfig wouldn't build until I uncommented
>>> the '#define kvm_call_hyp(...' line.
>>>
>>> Is that right?
>>
>> This patch is intended as a merge indication so that when you do the
>> merge with the arm64 tree, it conflicts and you can resolve it by going
>> the right thing (merging the non-comment version of this line).
> 
> Right, now I understand "make the resolution 100% clear" - I guess 100%
> clear isn't clear enough for me :-(

It is not meant to be clear to you, but to whoever is actually performing the merge:

$ git checkout arm64/for-next/core
Note: checking out 'arm64/for-next/core'.
$ git merge kvmarm-master/next
Auto-merging virt/kvm/arm/hyp/vgic-v2-sr.c
Auto-merging virt/kvm/arm/hyp/timer-sr.c
Auto-merging arch/arm64/mm/fault.c
Removing arch/arm64/kvm/hyp/hyp.h
Auto-merging arch/arm64/kvm/hyp/debug-sr.c
Auto-merging arch/arm64/kvm/hyp.S
CONFLICT (content): Merge conflict in arch/arm64/kvm/hyp.S
Auto-merging arch/arm64/kernel/image.h
Auto-merging arch/arm64/kernel/head.S
Auto-merging arch/arm64/kernel/debug-monitors.c
Auto-merging arch/arm64/kernel/cpufeature.c
CONFLICT (content): Merge conflict in arch/arm64/kernel/cpufeature.c
Auto-merging arch/arm64/include/asm/kvm_host.h
CONFLICT (content): Merge conflict in arch/arm64/include/asm/kvm_host.h
Auto-merging arch/arm64/include/asm/kvm_asm.h
Auto-merging arch/arm64/include/asm/cpufeature.h
CONFLICT (content): Merge conflict in arch/arm64/include/asm/cpufeature.h
Auto-merging arch/arm64/Kconfig
Removing arch/arm/kvm/interrupts_head.S
Auto-merging arch/arm/kvm/arm.c
CONFLICT (content): Merge conflict in arch/arm/kvm/arm.c
Auto-merging arch/arm/include/asm/kvm_asm.h
Automatic merge failed; fix conflicts and then commit the result.
maz@approximate:~/Work/arm-platforms$ git diff arch/arm64/include/asm/kvm_host.h
diff --cc arch/arm64/include/asm/kvm_host.h
index e3d67ff,31fe7d6..0000000
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@@ -343,6 -344,11 +344,15 @@@ void kvm_arm_setup_debug(struct kvm_vcp
  void kvm_arm_clear_debug(struct kvm_vcpu *vcpu);
  void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu);
  
++<<<<<<< HEAD
 +#define kvm_call_hyp(f, ...) __kvm_call_hyp(kvm_ksym_ref(f), ##__VA_ARGS__)
++=======
+ /* #define kvm_call_hyp(f, ...) __kvm_call_hyp(kvm_ksym_ref(f), ##__VA_ARGS__) */
+ 
+ static inline void __cpu_init_stage2(void)
+ {
+       kvm_call_hyp(__init_stage2_translation);
+ }
++>>>>>>> kvmarm-master/next
  
  #endif /* __ARM64_KVM_HOST_H__ */

Thanks,

	M.
Stephen Rothwell Feb. 22, 2016, 1:19 p.m. UTC | #5
Hi Marc,

On Mon, 22 Feb 2016 12:44:15 +0000 Marc Zyngier <marc.zyngier@arm.com> wrote:
>
> On 22/02/16 12:07, Brian Starkey wrote:
> > On Mon, Feb 22, 2016 at 12:00:40PM +0000, Marc Zyngier wrote:  
> >> On 22/02/16 11:52, Brian Starkey wrote:  
> >>>> This will create a new conflict, but will make the resolution 100% 
> >>>> clear.  
> >>>
> >>> I applied this, but arm64 defconfig wouldn't build until I uncommented
> >>> the '#define kvm_call_hyp(...' line.
> >>>
> >>> Is that right?  
> >>
> >> This patch is intended as a merge indication so that when you do the
> >> merge with the arm64 tree, it conflicts and you can resolve it by going
> >> the right thing (merging the non-comment version of this line).  
> > 
> > Right, now I understand "make the resolution 100% clear" - I guess 100%
> > clear isn't clear enough for me :-(  
> 
> It is not meant to be clear to you, but to whoever is actually performing the merge:

Excellent, thanks for that - hopefully I will get it right tomorrow.
Mark Brown Feb. 24, 2016, 3:28 a.m. UTC | #6
On Mon, Feb 22, 2016 at 10:41:42AM +0000, Marc Zyngier wrote:
> On 22/02/16 10:08, Mark Brown wrote:
> > On Mon, Feb 22, 2016 at 08:36:46AM +0000, Build bot for Mark Brown wrote:

> > Today's -next fails to build on arm64 due to:

> >> 	arm64-allnoconfig
> >> ../arch/arm64/include/asm/kvm_host.h:338:2: error: implicit declaration of function 'kvm_call_hyp' [-Werror=implicit-function-declaration]

> I'm about to push the following patch on top of the KVM tree:

> This will create a new conflict, but will make the resolution 100% clear.

That didn't work out unfortunately, the error is still there today.
Stephen Rothwell Feb. 24, 2016, 3:48 a.m. UTC | #7
Hi Mark,

On Wed, 24 Feb 2016 12:28:42 +0900 Mark Brown <broonie@kernel.org> wrote:
>
> That didn't work out unfortunately, the error is still there today.

Yeah, the patch didn't hit -next yesterday and I missed the opportunity
to fix in manually.  However, it should be fixed in today's linux-next
(out in a few hours, hopefully).
Mark Brown Feb. 24, 2016, 4:16 a.m. UTC | #8
On Wed, Feb 24, 2016 at 02:48:59PM +1100, Stephen Rothwell wrote:
> On Wed, 24 Feb 2016 12:28:42 +0900 Mark Brown <broonie@kernel.org> wrote:

> > That didn't work out unfortunately, the error is still there today.

> Yeah, the patch didn't hit -next yesterday and I missed the opportunity
> to fix in manually.  However, it should be fixed in today's linux-next
> (out in a few hours, hopefully).

Ah, good - it was just too late rather than not working.
diff mbox

Patch

diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 43688d9..31fe7d6 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -333,11 +333,6 @@  static inline void __cpu_init_hyp_mode(phys_addr_t boot_pgd_ptr,
 		     hyp_stack_ptr, vector_ptr);
 }
 
-static inline void __cpu_init_stage2(void)
-{
-	kvm_call_hyp(__init_stage2_translation);
-}
-
 static inline void kvm_arch_hardware_disable(void) {}
 static inline void kvm_arch_hardware_unsetup(void) {}
 static inline void kvm_arch_sync_events(struct kvm *kvm) {}
@@ -349,4 +344,11 @@  void kvm_arm_setup_debug(struct kvm_vcpu *vcpu);
 void kvm_arm_clear_debug(struct kvm_vcpu *vcpu);
 void kvm_arm_reset_debug_ptr(struct kvm_vcpu *vcpu);
 
+/* #define kvm_call_hyp(f, ...) __kvm_call_hyp(kvm_ksym_ref(f), ##__VA_ARGS__) */
+
+static inline void __cpu_init_stage2(void)
+{
+	kvm_call_hyp(__init_stage2_translation);
+}
+
 #endif /* __ARM64_KVM_HOST_H__ */