Message ID | 56CAE5E6.7030707@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 >
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.
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... >
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.
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.
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.
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).
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 --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__ */