android_kernel_samsung_msm8976/arch/arm64/mm
Swetha Chikkaboraiah 1fdc33cb78 arm64: move sp_el0 and tpidr_el1 into cpu_suspend_ctx.
When returning from idle, we rely on the fact that thread_info lives at
the end of the kernel stack, and restore this by masking the saved stack
pointer. Subsequent patches will sever the relationship between the
stack and thread_info, and to cater for this we must save/restore sp_el0
explicitly, storing it in cpu_suspend_ctx.

As cpu_suspend_ctx must be doubleword aligned, this leaves us with an
extra slot in cpu_suspend_ctx. We can use this to save/restore tpidr_el1
in the same way, which simplifies the code, avoiding pointer chasing on
the restore path (as we no longer need to load thread_info::cpu followed
by the relevant slot in __per_cpu_offset based on this).

This patch stashes both registers in cpu_suspend_ctx.

Change-Id: Icd9395e4783c252d7e7f9ee5e991e38777014ccc
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Laura Abbott <labbott@redhat.com>
Cc: James Morse <james.morse@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Git-commit: 623b476fc815464a0241ea7483da7b3580b7d8ac
Git-repo: https://source.codeaurora.org/quic/la/kernel/msm-3.10.git
[schikk@codeaurora.org: Resolved merge conflicts.
Ignored the sp_el0 changes as changes to support sp_el0
are not there in this baseline ]
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
Signed-off-by: Rajshekar Eashwarappa <reashw@codeaurora.org>
2019-07-27 21:50:38 +02:00
..
Kconfig
Makefile
cache.S
context.c arm64: Add skeleton to harden the branch predictor against aliasing attacks. 2019-07-27 21:50:35 +02:00
copypage.c
dma-mapping.c arm: dma-mapping: page align size before flush tlb 2016-11-08 04:52:07 -08:00
dump.c
extable.c
fault.c arm64: Add skeleton to harden the branch predictor against aliasing attacks. 2019-07-27 21:50:35 +02:00
flush.c
hugetlbpage.c
init.c Merge remote-tracking branch 'f2fs/linux-3.10.y' into HEAD 2017-04-18 17:02:28 +02:00
iomap.c
ioremap.c
mm.h
mmap.c BACKPORT: FROMLIST: mm: ASLR: use get_random_long() 2016-05-18 14:36:13 +05:30
mmu.c Revert "arm64: mm: ensure that the zero page is visible to the page table walker" 2017-04-18 17:24:53 +02:00
pageattr.c
pgd.c
proc-macros.S
proc.S arm64: move sp_el0 and tpidr_el1 into cpu_suspend_ctx. 2019-07-27 21:50:38 +02:00