]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: simplify sysreg manipulation
authorMark Rutland <mark.rutland@arm.com>
Thu, 8 Sep 2016 12:55:38 +0000 (13:55 +0100)
committerWill Deacon <will.deacon@arm.com>
Fri, 9 Sep 2016 10:43:50 +0000 (11:43 +0100)
commit215c5a9b095f94c32b54d6f61e2c049554cab02b
treef3bb449f2bda4e8992983b5d87e7dab1415fa17e
parentb3739d1ef41660ea7d624e57d75a30b2c0a63cde
arm64: simplify sysreg manipulation

A while back we added {read,write}_sysreg accessors to handle accesses
to system registers, without the usual boilerplate asm volatile,
temporary variable, etc.

This patch makes use of these across arm64 to make code shorter and
clearer. For sequences with a trailing ISB, the existing isb() macro is
also used so that asm blocks can be removed entirely.

A few uses of inline assembly for msr/mrs are left as-is. Those
manipulating sp_el0 for the current thread_info value have special
clobber requiremends.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/hw_breakpoint.h
arch/arm64/include/asm/mmu_context.h
arch/arm64/include/asm/pgtable-hwdef.h
arch/arm64/include/asm/sysreg.h
arch/arm64/include/asm/thread_info.h
arch/arm64/kernel/cacheinfo.c
arch/arm64/kernel/debug-monitors.c
arch/arm64/kernel/process.c
arch/arm64/kernel/sys_compat.c