linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in: arch/powerpc/sysdev/xive/common.c between commit: cbc06f051c52 ("powerpc/xive: Do not skip CPU-less nodes when creating the IPIs") from Linus' tree and commit: 17df41fec5b8 ("powerpc: use IRQF_NO_DEBUG for IPIs") from the powerpc tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc arch/powerpc/sysdev/xive/common.c index 943fd30095af,458645c7a72b.. --- a/arch/powerpc/sysdev/xive/common.c +++ b/arch/powerpc/sysdev/xive/common.c @@@ -1170,22 -1166,6 +1157,22 @@@ out return ret; } +static int __init xive_request_ipi(unsigned int cpu) +{ + struct xive_ipi_desc *xid = _ipis[early_cpu_to_node(cpu)]; + int ret; + + if (atomic_inc_return(>started) > 1) + return 0; + + ret = request_irq(xid->irq, xive_muxed_ipi_action, - IRQF_PERCPU | IRQF_NO_THREAD, ++IRQF_NO_DEBUG | IRQF_PERCPU | IRQF_NO_THREAD, +xid->name, NULL); + + WARN(ret < 0, "Failed to request IPI %d: %d\n", xid->irq, ret); + return ret; +} + static int xive_setup_cpu_ipi(unsigned int cpu) { unsigned int xive_ipi_irq = xive_ipi_cpu_to_irq(cpu); pgpBXawloJ5y6.pgp Description: OpenPGP digital signature
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in: Documentation/admin-guide/kernel-parameters.txt between commits: 05736e4ac13c ("cpu/hotplug: Provide knobs to control SMT") 506a66f37489 ("Revert "x86/apic: Ignore secondary threads if nosmt=force"") from Linus' tree and commit: 26cb1f36c43e ("Documentation: Add nospectre_v1 parameter") from the powerpc tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc Documentation/admin-guide/kernel-parameters.txt index 5a67e409d370,4167bbea51e1.. --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@@ -2761,10 -2687,10 +2761,14 @@@ nosmt [KNL,S390] Disable symmetric multithreading (SMT). Equivalent to smt=1. + [KNL,x86] Disable symmetric multithreading (SMT). + nosmt=force: Force disable SMT, cannot be undone + via the sysfs control file. + + nospectre_v1[PPC] Disable mitigations for Spectre Variant 1 (bounds + check bypass). With this option data leaks are possible + in the system. + nospectre_v2[X86] Disable all mitigations for the Spectre variant 2 (indirect branch prediction) vulnerability. System may allow data leaks with this option, which is equivalent pgpMw0YI5f61K.pgp Description: OpenPGP digital signature
Re: linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, On Mon, 30 Oct 2017 12:51:33 + Mark Brownwrote: > > Hi all, > > Today's linux-next merge of the powerpc tree got a conflict in: > > arch/powerpc/kvm/powerpc.c > > between commit: > > ac64115a66c1 ("KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM") > > from Linus' tree and commit: > > 2a3d6553cbd7 ("KVM: PPC: Tie KVM_CAP_PPC_HTM to the user-visible TM > feature") > > from the powerpc tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > diff --cc arch/powerpc/kvm/powerpc.c > index ee279c7f4802,a3746b98ec11.. > --- a/arch/powerpc/kvm/powerpc.c > +++ b/arch/powerpc/kvm/powerpc.c > @@@ -644,7 -644,8 +644,8 @@@ int kvm_vm_ioctl_check_extension(struc > break; > #endif > case KVM_CAP_PPC_HTM: > - r = cpu_has_feature(CPU_FTR_TM_COMP) && hv_enabled; > -r = is_kvmppc_hv_enabled(kvm) && > ++r = hv_enabled && > + (cur_cpu_spec->cpu_user_features2 & PPC_FEATURE2_HTM_COMP); > break; > default: > r = 0; Just a reminder that this conflict still exists. -- Cheers, Stephen Rothwell
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in: arch/powerpc/mm/tlb-radix.c between commit: 26e53d5ebe2e ("powerpc/64s/radix: Fix preempt imbalance in TLB flush") from Linus' tree and commit: dffe8449c5dd ("powerpc/64s/radix: Improve preempt handling in TLB code") from the powerpc tree. I fixed it up (I effectively dropped the former as it seems to be fixed in the latter as well) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in: arch/powerpc/kvm/powerpc.c between commit: ac64115a66c1 ("KVM: PPC: Fix oops when checking KVM_CAP_PPC_HTM") from Linus' tree and commit: 2a3d6553cbd7 ("KVM: PPC: Tie KVM_CAP_PPC_HTM to the user-visible TM feature") from the powerpc tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. diff --cc arch/powerpc/kvm/powerpc.c index ee279c7f4802,a3746b98ec11.. --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@@ -644,7 -644,8 +644,8 @@@ int kvm_vm_ioctl_check_extension(struc break; #endif case KVM_CAP_PPC_HTM: - r = cpu_has_feature(CPU_FTR_TM_COMP) && hv_enabled; - r = is_kvmppc_hv_enabled(kvm) && ++ r = hv_enabled && + (cur_cpu_spec->cpu_user_features2 & PPC_FEATURE2_HTM_COMP); break; default: r = 0; signature.asc Description: PGP signature
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, FIXME: Add owner of second tree to To: Add author(s)/SOB of conflicting commits. Today's linux-next merge of the powerpc tree got a conflict in: arch/powerpc/kernel/asm-offsets.c between commit: f2574030b0e3 ("powerpc: Revert the initial stack protector support") from Linus' tree and commit: 454656155110 ("powerpc/asm: Use OFFSET macro in asm-offsets.c") from the powerpc tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc arch/powerpc/kernel/asm-offsets.c index 195a9fc8f81c,b6709021fee5.. --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c @@@ -88,39 -91,42 +91,39 @@@ int main(void #endif /* CONFIG_PPC64 */ #ifdef CONFIG_LIVEPATCH - DEFINE(TI_livepatch_sp, offsetof(struct thread_info, livepatch_sp)); + OFFSET(TI_livepatch_sp, thread_info, livepatch_sp); #endif - DEFINE(KSP, offsetof(struct thread_struct, ksp)); - DEFINE(PT_REGS, offsetof(struct thread_struct, regs)); -#ifdef CONFIG_CC_STACKPROTECTOR - DEFINE(TSK_STACK_CANARY, offsetof(struct task_struct, stack_canary)); -#endif + OFFSET(KSP, thread_struct, ksp); + OFFSET(PT_REGS, thread_struct, regs); #ifdef CONFIG_BOOKE - DEFINE(THREAD_NORMSAVES, offsetof(struct thread_struct, normsave[0])); + OFFSET(THREAD_NORMSAVES, thread_struct, normsave[0]); #endif - DEFINE(THREAD_FPEXC_MODE, offsetof(struct thread_struct, fpexc_mode)); - DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fp_state)); - DEFINE(THREAD_FPSAVEAREA, offsetof(struct thread_struct, fp_save_area)); - DEFINE(FPSTATE_FPSCR, offsetof(struct thread_fp_state, fpscr)); - DEFINE(THREAD_LOAD_FP, offsetof(struct thread_struct, load_fp)); + OFFSET(THREAD_FPEXC_MODE, thread_struct, fpexc_mode); + OFFSET(THREAD_FPSTATE, thread_struct, fp_state); + OFFSET(THREAD_FPSAVEAREA, thread_struct, fp_save_area); + OFFSET(FPSTATE_FPSCR, thread_fp_state, fpscr); + OFFSET(THREAD_LOAD_FP, thread_struct, load_fp); #ifdef CONFIG_ALTIVEC - DEFINE(THREAD_VRSTATE, offsetof(struct thread_struct, vr_state)); - DEFINE(THREAD_VRSAVEAREA, offsetof(struct thread_struct, vr_save_area)); - DEFINE(THREAD_VRSAVE, offsetof(struct thread_struct, vrsave)); - DEFINE(THREAD_USED_VR, offsetof(struct thread_struct, used_vr)); - DEFINE(VRSTATE_VSCR, offsetof(struct thread_vr_state, vscr)); - DEFINE(THREAD_LOAD_VEC, offsetof(struct thread_struct, load_vec)); + OFFSET(THREAD_VRSTATE, thread_struct, vr_state); + OFFSET(THREAD_VRSAVEAREA, thread_struct, vr_save_area); + OFFSET(THREAD_VRSAVE, thread_struct, vrsave); + OFFSET(THREAD_USED_VR, thread_struct, used_vr); + OFFSET(VRSTATE_VSCR, thread_vr_state, vscr); + OFFSET(THREAD_LOAD_VEC, thread_struct, load_vec); #endif /* CONFIG_ALTIVEC */ #ifdef CONFIG_VSX - DEFINE(THREAD_USED_VSR, offsetof(struct thread_struct, used_vsr)); + OFFSET(THREAD_USED_VSR, thread_struct, used_vsr); #endif /* CONFIG_VSX */ #ifdef CONFIG_PPC64 - DEFINE(KSP_VSID, offsetof(struct thread_struct, ksp_vsid)); + OFFSET(KSP_VSID, thread_struct, ksp_vsid); #else /* CONFIG_PPC64 */ - DEFINE(PGDIR, offsetof(struct thread_struct, pgdir)); + OFFSET(PGDIR, thread_struct, pgdir); #ifdef CONFIG_SPE - DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0])); - DEFINE(THREAD_ACC, offsetof(struct thread_struct, acc)); - DEFINE(THREAD_SPEFSCR, offsetof(struct thread_struct, spefscr)); - DEFINE(THREAD_USED_SPE, offsetof(struct thread_struct, used_spe)); + OFFSET(THREAD_EVR0, thread_struct, evr[0]); + OFFSET(THREAD_ACC, thread_struct, acc); + OFFSET(THREAD_SPEFSCR, thread_struct, spefscr); + OFFSET(THREAD_USED_SPE, thread_struct, used_spe); #endif /* CONFIG_SPE */ #endif /* CONFIG_PPC64 */ #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
Re: linux-next: manual merge of the powerpc tree with Linus' tree
On Wed, 2016-06-29 at 10:54 +0530, Naveen N. Rao wrote: > On 2016/06/29 10:35AM, Stephen Rothwell wrote: > > > > Today's linux-next merge of the powerpc tree got a conflict in: > > > > arch/powerpc/Kconfig > > > > between commit: > > > > 844e3be47693 ("powerpc/bpf/jit: Disable classic BPF JIT on ppc64le") > > Ah, I see that the above commit is not part of powerpc next tree, which > explains the conflict. I'll probably merge the fixes branch into next at some point, so then it will be sorted. > > I fixed it up (see below - I am not sure this entirely correct) and can That resolution is fine. cheers ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: linux-next: manual merge of the powerpc tree with Linus' tree
On 2016/06/29 10:35AM, Stephen Rothwell wrote: > Hi all, Hi Stephen, > > Today's linux-next merge of the powerpc tree got a conflict in: > > arch/powerpc/Kconfig > > between commit: > > 844e3be47693 ("powerpc/bpf/jit: Disable classic BPF JIT on ppc64le") Ah, I see that the above commit is not part of powerpc next tree, which explains the conflict. > > from Linus' tree and commit: > > 156d0e290e96 ("powerpc/ebpf/jit: Implement JIT compiler for extended BPF") > > from the powerpc tree. > > I fixed it up (see below - I am not sure this entirely correct) and can > carry the fix as necessary. This is now fixed as far as linux-next is > concerned, but any non trivial conflicts should be mentioned to your > upstream maintainer when your tree is submitted for merging. You may > also want to consider cooperating with the maintainer of the > conflicting tree to minimise any particularly complex conflicts. > > -- > Cheers, > Stephen Rothwell > > diff --cc arch/powerpc/Kconfig > index 0a9d439bcda6,ee82f9a09a85.. > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@@ -128,7 -128,8 +128,8 @@@ config PP > select IRQ_FORCED_THREADING > select HAVE_RCU_TABLE_FREE if SMP > select HAVE_SYSCALL_TRACEPOINTS > - select HAVE_CBPF_JIT if CPU_BIG_ENDIAN > -select HAVE_CBPF_JIT if !PPC64 > ++select HAVE_CBPF_JIT if !PPC64 && CPU_BIG_ENDIAN 'if !PPC64' condition is sufficient, though having the BIG_ENDIAN check should be ok too. Thanks, Naveen > + select HAVE_EBPF_JIT if PPC64 > select HAVE_ARCH_JUMP_LABEL > select ARCH_HAVE_NMI_SAFE_CMPXCHG > select ARCH_HAS_GCOV_PROFILE_ALL > ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in: arch/powerpc/Kconfig between commit: 844e3be47693 ("powerpc/bpf/jit: Disable classic BPF JIT on ppc64le") from Linus' tree and commit: 156d0e290e96 ("powerpc/ebpf/jit: Implement JIT compiler for extended BPF") from the powerpc tree. I fixed it up (see below - I am not sure this entirely correct) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc arch/powerpc/Kconfig index 0a9d439bcda6,ee82f9a09a85.. --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@@ -128,7 -128,8 +128,8 @@@ config PP select IRQ_FORCED_THREADING select HAVE_RCU_TABLE_FREE if SMP select HAVE_SYSCALL_TRACEPOINTS - select HAVE_CBPF_JIT if CPU_BIG_ENDIAN - select HAVE_CBPF_JIT if !PPC64 ++ select HAVE_CBPF_JIT if !PPC64 && CPU_BIG_ENDIAN + select HAVE_EBPF_JIT if PPC64 select HAVE_ARCH_JUMP_LABEL select ARCH_HAVE_NMI_SAFE_CMPXCHG select ARCH_HAS_GCOV_PROFILE_ALL ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in: arch/powerpc/kernel/prom.c between commits: beff82374b25 ("powerpc: Update cpu_user_features2 in scan_features()") 4705e02498d6 ("powerpc: Update TM user feature bits in scan_features()") from Linus' tree and commit: 5ddd6bb5968e ("powerpc/mm/radix: Use firmware feature to enable Radix MMU") from the powerpc tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc arch/powerpc/kernel/prom.c index a15fe1d4e84a,d924cd60fc8e.. --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c @@@ -153,20 -153,20 +154,21 @@@ static struct ibm_pa_feature unsigned char pabit; /* bit number (big-endian) */ unsigned char invert; /* if 1, pa bit set => clear feature */ } ibm_pa_features[] __initdata = { - {0, 0, PPC_FEATURE_HAS_MMU, 0, 0, 0}, - {0, 0, PPC_FEATURE_HAS_FPU, 0, 1, 0}, - {CPU_FTR_CTRL, 0, 0,0, 3, 0}, - {CPU_FTR_NOEXECUTE, 0, 0, 0, 6, 0}, - {CPU_FTR_NODSISRALIGN, 0, 0,1, 1, 1}, - {0, MMU_FTR_CI_LARGE_PAGE, 0, 1, 2, 0}, - {CPU_FTR_REAL_LE, PPC_FEATURE_TRUE_LE, 5, 0, 0}, + {0, 0, PPC_FEATURE_HAS_MMU, 0, 0, 0, 0}, + {0, 0, PPC_FEATURE_HAS_FPU, 0, 0, 1, 0}, + {CPU_FTR_CTRL, 0, 0, 0, 0, 3, 0}, + {CPU_FTR_NOEXECUTE, 0, 0, 0,0, 6, 0}, + {CPU_FTR_NODSISRALIGN, 0, 0, 0, 1, 1, 1}, + {0, MMU_FTR_CI_LARGE_PAGE, 0, 0,1, 2, 0}, + {CPU_FTR_REAL_LE, 0, PPC_FEATURE_TRUE_LE, 0, 5, 0, 0}, /* - * If the kernel doesn't support TM (ie. CONFIG_PPC_TRANSACTIONAL_MEM=n), - * we don't want to turn on CPU_FTR_TM here, so we use CPU_FTR_TM_COMP - * which is 0 if the kernel doesn't support TM. + * If the kernel doesn't support TM (ie CONFIG_PPC_TRANSACTIONAL_MEM=n), + * we don't want to turn on TM here, so we use the *_COMP versions + * which are 0 if the kernel doesn't support TM. */ - {CPU_FTR_TM_COMP, 0, 0, 22, 0, 0}, - {0, MMU_FTR_RADIX, 0, 40, 0, 0}, + {CPU_FTR_TM_COMP, 0, 0, + PPC_FEATURE2_HTM_COMP|PPC_FEATURE2_HTM_NOSC_COMP, 22, 0, 0}, ++ {0, MMU_FTR_RADIX, 0, 0,40, 0, 0}, }; static void __init scan_features(unsigned long node, const unsigned char *ftrs, ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in arch/powerpc/include/asm/sections.h between commit b18db0b80867 (KVM guest: Make pv trampoline code executable) from the tree and commit 07de8377f748 (powerpc: Fix ABIv2 issue with dereference_function_descriptor) from the powerpc tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc arch/powerpc/include/asm/sections.h index 521790330672,d1bb96d5a298.. --- a/arch/powerpc/include/asm/sections.h +++ b/arch/powerpc/include/asm/sections.h @@@ -39,17 -39,7 +39,18 @@@ static inline int overlaps_kernel_text( (unsigned long)_stext end; } +static inline int overlaps_kvm_tmp(unsigned long start, unsigned long end) +{ +#ifdef CONFIG_KVM_GUEST + extern char kvm_tmp[]; + return start (unsigned long)kvm_tmp + (unsigned long)kvm_tmp[1024 * 1024] end; +#else + return 0; +#endif +} + + #if !defined(_CALL_ELF) || _CALL_ELF != 2 #undef dereference_function_descriptor static inline void *dereference_function_descriptor(void *ptr) { signature.asc Description: PGP signature ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
linux-next: manual merge of the powerpc tree with Linus' tree
Hi all, Today's linux-next merge of the powerpc tree got a conflict in include/linux/kvm.h between commit 3cfc3092f40bc37c57ba556cfd8de4218f2135ab (KVM: x86: Add KVM_GET/SET_VCPU_EVENTS) (and others) from Linus' tree and commit e15a113700324f7fdcee95589875daed2b98a2fe (powerpc/kvm: Sync guest visible MMU state) from the powerpc tree. Just overlapping additions. I fixed it up (see below) and can carry the fix for a while. -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc include/linux/kvm.h index 2d241da,caf6173..000 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h @@@ -487,15 -436,9 +487,18 @@@ struct kvm_ioeventfd #endif #define KVM_CAP_IOEVENTFD 36 #define KVM_CAP_SET_IDENTITY_MAP_ADDR 37 +#ifdef __KVM_HAVE_XEN_HVM +#define KVM_CAP_XEN_HVM 38 +#endif +#define KVM_CAP_ADJUST_CLOCK 39 +#define KVM_CAP_INTERNAL_ERROR_DATA 40 +#ifdef __KVM_HAVE_VCPU_EVENTS +#define KVM_CAP_VCPU_EVENTS 41 +#endif +#define KVM_CAP_S390_PSW 42 + /* KVM upstream has more features, but we synched this number. +Linux, please remove this comment on rebase. */ + #define KVM_CAP_PPC_SEGSTATE 43 #ifdef KVM_CAP_IRQ_ROUTING ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev