Merge remote-tracking branch 'lsk/v3.10/topic/kvm' into linux-linaro-lsk
authorMark Brown <broonie@kernel.org>
Fri, 10 Oct 2014 23:38:34 +0000 (00:38 +0100)
committerMark Brown <broonie@kernel.org>
Sat, 11 Oct 2014 10:28:22 +0000 (11:28 +0100)
Conflicts:
arch/arm/kvm/arm.c
arch/arm64/Makefile
arch/arm64/kernel/asm-offsets.c
virt/kvm/kvm_main.c

26 files changed:
1  2 
MAINTAINERS
arch/arm/include/asm/assembler.h
arch/arm/include/asm/pgtable-3level.h
arch/arm/include/asm/pgtable.h
arch/arm/kernel/perf_event_cpu.c
arch/arm/kernel/smp.c
arch/arm/mm/idmap.c
arch/arm64/Kconfig
arch/arm64/Makefile
arch/arm64/include/asm/cputype.h
arch/arm64/kernel/asm-offsets.c
arch/arm64/kernel/debug-monitors.c
arch/arm64/mm/proc.S
arch/mips/kvm/kvm_mips.c
arch/powerpc/kvm/book3s_hv.c
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/mmu.c
arch/x86/kvm/paging_tmpl.h
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c
include/linux/irqchip/arm-gic.h
include/linux/mm.h
mm/memory.c
virt/kvm/ioapic.c
virt/kvm/iommu.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
index 0b48a38e3cf47a5fdcd2f84e6041557c36f3e505,0e9609657c796ed6b3b3268617fb6364a91c4042..e0665b871f5b46a508dc98067d90a254955a78bf
@@@ -240,48 -205,37 +238,40 @@@ static int probe_current_pmu(struct arm
  
        pr_info("probing PMU on CPU %d\n", cpu);
  
+       switch (read_cpuid_part()) {
        /* ARM Ltd CPUs. */
-       if (implementor == ARM_CPU_IMP_ARM) {
-               switch (part_number) {
-               case ARM_CPU_PART_ARM1136:
-               case ARM_CPU_PART_ARM1156:
-               case ARM_CPU_PART_ARM1176:
-                       ret = armv6pmu_init(pmu);
-                       break;
-               case ARM_CPU_PART_ARM11MPCORE:
-                       ret = armv6mpcore_pmu_init(pmu);
-                       break;
-               case ARM_CPU_PART_CORTEX_A8:
-                       ret = armv7_a8_pmu_init(pmu);
-                       break;
-               case ARM_CPU_PART_CORTEX_A9:
-                       ret = armv7_a9_pmu_init(pmu);
-                       break;
-               case ARM_CPU_PART_CORTEX_A5:
-                       ret = armv7_a5_pmu_init(pmu);
-                       break;
-               case ARM_CPU_PART_CORTEX_A15:
-                       ret = armv7_a15_pmu_init(pmu);
-                       break;
-               case ARM_CPU_PART_CORTEX_A7:
-                       ret = armv7_a7_pmu_init(pmu);
-                       break;
-               }
-       /* Intel CPUs [xscale]. */
-       } else if (implementor == ARM_CPU_IMP_INTEL) {
-               switch (xscale_cpu_arch_version()) {
-               case ARM_CPU_XSCALE_ARCH_V1:
-                       ret = xscale1pmu_init(pmu);
-                       break;
-               case ARM_CPU_XSCALE_ARCH_V2:
-                       ret = xscale2pmu_init(pmu);
-                       break;
+       case ARM_CPU_PART_ARM1136:
+       case ARM_CPU_PART_ARM1156:
+       case ARM_CPU_PART_ARM1176:
+               ret = armv6pmu_init(pmu);
+               break;
+       case ARM_CPU_PART_ARM11MPCORE:
+               ret = armv6mpcore_pmu_init(pmu);
+               break;
+       case ARM_CPU_PART_CORTEX_A8:
+               ret = armv7_a8_pmu_init(pmu);
+               break;
+       case ARM_CPU_PART_CORTEX_A9:
+               ret = armv7_a9_pmu_init(pmu);
+               break;
+       default:
+               if (read_cpuid_implementor() == ARM_CPU_IMP_INTEL) {
+                       switch (xscale_cpu_arch_version()) {
+                       case ARM_CPU_XSCALE_ARCH_V1:
+                               ret = xscale1pmu_init(pmu);
+                               break;
+                       case ARM_CPU_XSCALE_ARCH_V2:
+                               ret = xscale2pmu_init(pmu);
+                               break;
+                       }
                }
+               break;
        }
  
 +      /* assume PMU support all the CPUs in this case */
 +      cpumask_setall(&pmu->valid_cpus);
 +
        put_cpu();
        return ret;
  }
Simple merge
Simple merge
index e0a9b48b02c31e829633d8e3eaf5320a0ec4f3db,de9eeb43f622e9edec903865c8f745d02a7b7657..279594b83781796340db6d2b2e0a81cb2c0b41af
@@@ -439,10 -273,10 +439,12 @@@ source "net/Kconfig
  
  source "drivers/Kconfig"
  
 +source "drivers/firmware/Kconfig"
 +
  source "fs/Kconfig"
  
+ source "arch/arm64/kvm/Kconfig"
  source "arch/arm64/Kconfig.debug"
  
  source "security/Kconfig"
index 8f63c8a21b7edd7f8ffcab513c8a230d8859a5c1,7ab6b358cc35194079f7d7613b246608afd46eaf..8a311839e2d7e0207fb193e9d3e74bbe9720c858
@@@ -43,7 -37,7 +43,8 @@@ TEXT_OFFSET := 0x0008000
  export        TEXT_OFFSET GZFLAGS
  
  core-y                += arch/arm64/kernel/ arch/arm64/mm/
+ core-$(CONFIG_KVM) += arch/arm64/kvm/
 +core-$(CONFIG_CRYPTO) += arch/arm64/crypto/
  libs-y                := arch/arm64/lib/ $(libs-y)
  libs-y                += $(LIBGCC)
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 13439bac2967a7178fb05141abb0674befb1b021,4483adb61c88e70d710569a9bf7c3035352d18d5..1f004b16641ee8210edefb07370dc654bfdbc4ce
  #define GIC_CPU_EOI                   0x10
  #define GIC_CPU_RUNNINGPRI            0x14
  #define GIC_CPU_HIGHPRI                       0x18
+ #define GIC_CPU_ALIAS_BINPOINT                0x1c
+ #define GIC_CPU_ACTIVEPRIO            0xd0
+ #define GIC_CPU_IDENT                 0xfc
  
 +#define GICC_IAR_INT_ID_MASK          0x3ff
 +
  #define GIC_DIST_CTRL                 0x000
  #define GIC_DIST_CTR                  0x004
  #define GIC_DIST_IGROUP                       0x080
@@@ -80,17 -85,6 +92,16 @@@ static inline void gic_init(unsigned in
        gic_init_bases(nr, start, dist, cpu, 0, NULL);
  }
  
 -#endif /* __ASSEMBLY */
 +void gic_send_sgi(unsigned int cpu_id, unsigned int irq);
 +int gic_get_cpu_id(unsigned int cpu);
 +void gic_migrate_target(unsigned int new_cpu_id);
 +unsigned long gic_get_sgir_physaddr(void);
  
- #endif /* __ASSEMBLY */
 +extern const struct irq_domain_ops *gic_routable_irq_domain_ops;
 +static inline void __init register_routable_domain_ops
 +                                      (const struct irq_domain_ops *ops)
 +{
 +      gic_routable_irq_domain_ops = ops;
 +}
++#endif /* __ASSEMBLY */
  #endif
Simple merge
diff --cc mm/memory.c
Simple merge
Simple merge
Simple merge