Merge branch 'spectre' of git://git.armlinux.org.uk/~rmk/linux-arm
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 18 Nov 2018 18:45:09 +0000 (10:45 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 18 Nov 2018 18:45:09 +0000 (10:45 -0800)
Pull ARM spectre updates from Russell King:
 "These are the currently known final bits that resolve the Spectre
  issues. big.Little systems used to be sufficiently identical in that
  there were no differences between individual CPUs in the system that
  mattered to the kernel. With the advent of the Spectre problem, the
  CPUs now have differences in how the workaround is applied.

  As a result of previous Spectre patches, these systems ended up
  reporting quite a lot of:

     "CPUx: Spectre v2: incorrect context switching function, system vulnerable"

  messages due to the action of the big.Little switcher causing the CPUs
  to be re-initialised regularly. This series resolves that issue by
  making the CPU vtable unique to each CPU.

  However, since this is used very early, before per-cpu is setup,
  per-cpu can't be used. We also have a problem that two of the methods
  are not called from preempt-safe paths, but thankfully these remain
  identical between all CPUs in the system. To make sure, we validate
  that these are identical during boot"

* 'spectre' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: spectre-v2: per-CPU vtables to work around big.Little systems
  ARM: add PROC_VTABLE and PROC_TABLE macros
  ARM: clean up per-processor check_bugs method call
  ARM: split out processor lookup
  ARM: make lookup_processor_type() non-__init

1  2 
arch/arm/include/asm/cputype.h
arch/arm/kernel/setup.c
arch/arm/kernel/smp.c

index 0d289240b6ca110ab961a280ddd20fc1c567f2a4,f6df4bb4e543f72cb9ce77ef14c5ac059701d603..775cac3c02bb0a31facb970e16feef83f86c6632
  /* Qualcomm implemented cores */
  #define ARM_CPU_PART_SCORPION         0x510002d0
  
 +#ifndef __ASSEMBLY__
 +
 +#include <linux/stringify.h>
 +#include <linux/kernel.h>
 +
  extern unsigned int processor_id;
+ struct proc_info_list *lookup_processor(u32 midr);
  
  #ifdef CONFIG_CPU_CP15
  #define read_cpuid(reg)                                                       \
Simple merge
Simple merge