android_kernel_oneplus_msm8998/arch/arm64/kernel
Will Deacon c6e2ad951f FROMLIST: arm64: erratum: Work around Falkor erratum #E1003 in trampoline code
We rely on an atomic swizzling of TTBR1 when transitioning from the entry
trampoline to the kernel proper on an exception. We can't rely on this
atomicity in the face of Falkor erratum #E1003, so on affected cores we
can issue a TLB invalidation to invalidate the walk cache prior to
jumping into the kernel. There is still the possibility of a TLB conflict
here due to conflicting walk cache entries prior to the invalidation, but
this doesn't appear to be the case on these CPUs in practice.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Laura Abbott <labbott@redhat.com>
Tested-by: Shanker Donthineni <shankerd@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
 commit d1777e686ad10ba7c594304429c6045fb79255a1)

Change-Id: Ia6c7ffd47745c179738250afa01cb8bf8594b235
[ghackmann@google.com: replace runtime alternative_if with a
 compile-time check for Code Aurora's out-of-tree CONFIG_ARCH_MSM8996.
 Kryo needs this workaround too, and 4.4 doesn't have any of the
 upstream Falkor errata infrastructure needed to detect this at boot time.]
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-01-06 11:14:01 +01:00
..
vdso UPSTREAM: arm64: vdso: fix clock_getres for 4GiB-aligned res 2017-11-29 20:54:38 +00:00
.gitignore arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
acpi.c Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
acpi_parking_protocol.c BACKPORT: arm64: Use __pa_symbol for kernel symbols 2017-11-20 14:19:05 -08:00
alternative.c UPSTREAM: arm64: mm: fold alternatives into .init 2016-09-18 13:19:45 -07:00
arm64ksyms.c ARM: 8480/2: arm64: add implementation for arm-smccc 2017-12-02 06:53:26 +00:00
armv8_deprecated.c This is the 4.4.72 stable release 2017-06-14 16:33:25 +02:00
asm-offsets.c FROMLIST: arm64: mm: Map entry trampoline into trampoline and kernel page tables 2018-01-06 11:14:01 +01:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c UPSTREAM: arm64: Add workaround for Cavium erratum 27456 2016-09-29 10:52:56 -07:00
cpu_ops.c BACKPORT: arm64: kernel: implement ACPI parking protocol 2016-09-22 13:38:22 -07:00
cpufeature.c BACKPORT: arm64: Use __pa_symbol for kernel symbols 2017-11-20 14:19:05 -08:00
cpuidle.c arm64: cpuidle: add __init section marker to arm_cpuidle_init 2015-07-02 17:44:27 +01:00
cpuinfo.c Merge remote-tracking branch 'common/android-4.4' into android-4.4.y 2016-09-26 14:58:53 -07:00
debug-monitors.c arm64: debug: avoid resetting stepping state machine when TIF_SINGLESTEP 2016-10-07 15:23:42 +02:00
efi-entry.S UPSTREAM: arm64: avoid dynamic relocations in early boot code 2016-09-22 13:38:22 -07:00
efi.c UPSTREAM: arm64/efi: refactor EFI init and runtime code for reuse by 32-bit ARM 2016-09-29 10:52:56 -07:00
entry-fpsimd.S arm64: fpsimd: fix a typo in fpsimd_save_partial_state ENDPROC 2014-07-31 11:42:42 +01:00
entry-ftrace.S arm64: ftrace: fix function_graph tracer panic 2015-10-02 11:12:56 +01:00
entry.S FROMLIST: arm64: erratum: Work around Falkor erratum #E1003 in trampoline code 2018-01-06 11:14:01 +01:00
entry32.S arm64: entry32: remove pointless register assignment 2015-07-10 16:47:13 +01:00
fpsimd.c This is the 4.4.86 stable release 2017-09-04 13:22:07 +02:00
ftrace.c UPSTREAM: arm64: ftrace: modify a stack frame in a safe way 2016-09-18 14:11:03 -07:00
head.S This is the 4.4.90 stable release 2017-10-05 10:03:13 +02:00
hw_breakpoint.c This is the 4.4.72 stable release 2017-06-14 16:33:25 +02:00
hyp-stub.S irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
image.h UPSTREAM: arm64: avoid R_AARCH64_ABS64 relocations for Image header fields 2016-09-22 13:38:22 -07:00
insn.c BACKPORT: arm64: Use __pa_symbol for kernel symbols 2017-11-20 14:19:05 -08:00
io.c FROMLIST: arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}io 2017-11-08 21:59:38 +00:00
irq.c UPSTREAM: arm64: remove irq_count and do_softirq_own_stack() 2016-09-18 14:09:39 -07:00
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kaslr.c UPSTREAM: arm64: relocatable: deal with physically misaligned kernel images 2016-10-14 12:48:53 -07:00
kgdb.c arm64/debug: Simplify BRK insn opcode declarations 2015-07-27 11:08:42 +01:00
kuser32.S arm64: Add __NR_* definitions for compat syscalls 2014-07-10 11:02:40 +01:00
Makefile ARM: 8481/2: drivers: psci: replace psci firmware calls 2017-12-02 06:53:26 +00:00
module-plts.c UPSTREAM: arm64: add support for module PLTs 2016-09-22 13:38:22 -07:00
module.c BACKPORT: arm64: add support for kernel ASLR 2016-09-22 13:38:22 -07:00
module.lds UPSTREAM: arm64: add support for module PLTs 2016-09-22 13:38:22 -07:00
pci.c ARM64: PCI: do not enable resources on PROBE_ONLY systems 2015-07-30 20:17:07 +01:00
perf_callchain.c UPSTREAM: arm64: ftrace: fix a stack tracer's output under function graph tracer 2016-09-18 14:13:26 -07:00
perf_event.c arm64: kernel: enforce pmuserenr_el0 initialization and restore 2016-01-31 11:29:04 -08:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c This is the 4.4.106 stable release 2017-12-18 10:49:53 +01:00
psci.c BACKPORT: arm64: Use __pa_symbol for kernel symbols 2017-11-20 14:19:05 -08:00
ptrace.c Merge remote-tracking branch 'common/android-4.4' into android-4.4.y 2017-02-15 18:02:55 -08:00
return_address.c UPSTREAM: arm64: factor out current_stack_pointer 2017-08-09 15:23:23 +01:00
setup.c UPSTREAM: arm64: setup: introduce kaslr_offset() 2017-12-18 09:41:57 -08:00
signal.c arm64: Rework valid_user_regs 2016-07-27 09:47:33 -07:00
signal32.c arm64: Rework valid_user_regs 2016-07-27 09:47:33 -07:00
sleep.S BACKPORT: arm64: move sp_el0 and tpidr_el1 into cpu_suspend_ctx 2017-08-09 15:23:23 +01:00
smccc-call.S ARM: 8480/2: arm64: add implementation for arm-smccc 2017-12-02 06:53:26 +00:00
smp.c BACKPORT: arm64: split thread_info from task stack 2017-08-09 15:23:23 +01:00
smp_spin_table.c BACKPORT: arm64: Use __pa_symbol for kernel symbols 2017-11-20 14:19:05 -08:00
stacktrace.c UPSTREAM: arm64: prep stack walkers for THREAD_INFO_IN_TASK 2017-08-09 15:23:23 +01:00
suspend.c BACKPORT: arm64: move sp_el0 and tpidr_el1 into cpu_suspend_ctx 2017-08-09 15:23:23 +01:00
sys.c arm64: make sys_call_table const 2015-01-27 09:38:08 +00:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
time.c UPSTREAM: arm64: ftrace: fix a stack tracer's output under function graph tracer 2016-09-18 14:13:26 -07:00
topology.c arm64: Set SD_ASYM_CPUCAPACITY sched_domain flag on DIE level 2017-06-02 08:01:52 -07:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: fix dump_instr when PAN and UAO are in use 2017-11-24 08:32:25 +01:00
vdso.c BACKPORT: time: Clean up CLOCK_MONOTONIC_RAW time handling 2017-11-29 13:37:51 -08:00
vmlinux.lds.S FROMLIST: arm64: entry: Add exception trampoline page for exceptions from EL0 2018-01-06 11:09:28 +01:00