ARM: 8018/1: Add {inc,dec}_preempt_count asm macros
The patch adds asm macros for inc_preempt_count and dec_preempt_count_ti (which also gets the current thread_info) instead of open-coding them in arch/arm/vfp/*.S files. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Tested-by: Arun KS <getarunks@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:

committed by
Russell King

parent
39ad04ccd6
commit
0b1f68e836
@@ -23,6 +23,7 @@
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/domain.h>
|
||||
#include <asm/opcodes-virt.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
#define IOMEM(x) (x)
|
||||
|
||||
@@ -184,6 +185,37 @@
|
||||
mov \rd, \rd, lsl #13
|
||||
.endm
|
||||
|
||||
/*
|
||||
* Increment/decrement the preempt count.
|
||||
*/
|
||||
#ifdef CONFIG_PREEMPT_COUNT
|
||||
.macro inc_preempt_count, ti, tmp
|
||||
ldr \tmp, [\ti, #TI_PREEMPT] @ get preempt count
|
||||
add \tmp, \tmp, #1 @ increment it
|
||||
str \tmp, [\ti, #TI_PREEMPT]
|
||||
.endm
|
||||
|
||||
.macro dec_preempt_count, ti, tmp
|
||||
ldr \tmp, [\ti, #TI_PREEMPT] @ get preempt count
|
||||
sub \tmp, \tmp, #1 @ decrement it
|
||||
str \tmp, [\ti, #TI_PREEMPT]
|
||||
.endm
|
||||
|
||||
.macro dec_preempt_count_ti, ti, tmp
|
||||
get_thread_info \ti
|
||||
dec_preempt_count \ti, \tmp
|
||||
.endm
|
||||
#else
|
||||
.macro inc_preempt_count, ti, tmp
|
||||
.endm
|
||||
|
||||
.macro dec_preempt_count, ti, tmp
|
||||
.endm
|
||||
|
||||
.macro dec_preempt_count_ti, ti, tmp
|
||||
.endm
|
||||
#endif
|
||||
|
||||
#define USER(x...) \
|
||||
9999: x; \
|
||||
.pushsection __ex_table,"a"; \
|
||||
|
Reference in New Issue
Block a user