Hi all, On Thu, 15 Jun 2023 12:22:01 +1000 Stephen Rothwell wrote: > > Today's linux-next merge of the kvm-arm tree got a conflict in: > > arch/arm64/kernel/cpufeature.c > > between commits: > > b7564127ffcb ("arm64: mops: detect and enable FEAT_MOPS") > 2b760046a2d3 ("arm64: cpufeature: add TCR2 cpucap") > e43454c44232 ("arm64: cpufeature: add Permission Indirection Extension cpucap") > > from the arm64 tree and commits: > > c876c3f182a5 ("KVM: arm64: Relax trapping of CTR_EL0 when FEAT_EVT is available") > e2d6c906f0ac ("arm64: Add KVM_HVHE capability and has_hvhe() predicate") > > from the kvm-arm 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/arm64/kernel/cpufeature.c > index 6ea7f23b1287,f6e3598760f1..000000000000 > --- a/arch/arm64/kernel/cpufeature.c > +++ b/arch/arm64/kernel/cpufeature.c > @@@ -2662,27 -2656,23 +2677,44 @@@ static const struct arm64_cpu_capabilit > .cpu_enable = cpu_enable_dit, > ARM64_CPUID_FIELDS(ID_AA64PFR0_EL1, DIT, IMP) > }, > + { > + .desc = "Memory Copy and Memory Set instructions", > + .capability = ARM64_HAS_MOPS, > + .type = ARM64_CPUCAP_SYSTEM_FEATURE, > + .matches = has_cpuid_feature, > + .cpu_enable = cpu_enable_mops, > + ARM64_CPUID_FIELDS(ID_AA64ISAR2_EL1, MOPS, IMP) > + }, > + { > + .capability = ARM64_HAS_TCR2, > + .type = ARM64_CPUCAP_SYSTEM_FEATURE, > + .matches = has_cpuid_feature, > + ARM64_CPUID_FIELDS(ID_AA64MMFR3_EL1, TCRX, IMP) > + }, > + { > + .desc = "Stage-1 Permission Indirection Extension (S1PIE)", > + .capability = ARM64_HAS_S1PIE, > + .type = ARM64_CPUCAP_BOOT_CPU_FEATURE, > + .matches = has_cpuid_feature, > + ARM64_CPUID_FIELDS(ID_AA64MMFR3_EL1, S1PIE, IMP) > + }, > + { > + .desc = "Enhanced Virtualization Traps", > + .capability = ARM64_HAS_EVT, > + .type = ARM64_CPUCAP_SYSTEM_FEATURE, > + .sys_reg = SYS_ID_AA64MMFR2_EL1, > + .sign = FTR_UNSIGNED, > + .field_pos = ID_AA64MMFR2_EL1_EVT_SHIFT, > + .field_width = 4, > + .min_field_value = ID_AA64MMFR2_EL1_EVT_IMP, > + .matches = has_cpuid_feature, > + }, > + { > + .desc = "VHE for hypervisor only", > + .capability = ARM64_KVM_HVHE, > + .type = ARM64_CPUCAP_SYSTEM_FEATURE, > + .matches = hvhe_possible, > + }, > {}, > }; > This is now a conflict between the kvm tree and Linus' tree. -- Cheers, Stephen Rothwell