ARM: 8017/1: Move asm macro get_thread_info to asm/assembler.h
asm/assembler.h is a better place for this macro since it is used by asm files outside arch/arm/kernel/ 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:
parent
a5d4506d07
commit
39ad04ccd6
4 changed files with 18 additions and 13 deletions
|
@ -174,6 +174,16 @@
|
||||||
restore_irqs_notrace \oldcpsr
|
restore_irqs_notrace \oldcpsr
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get current thread_info.
|
||||||
|
*/
|
||||||
|
.macro get_thread_info, rd
|
||||||
|
ARM( mov \rd, sp, lsr #13 )
|
||||||
|
THUMB( mov \rd, sp )
|
||||||
|
THUMB( lsr \rd, \rd, #13 )
|
||||||
|
mov \rd, \rd, lsl #13
|
||||||
|
.endm
|
||||||
|
|
||||||
#define USER(x...) \
|
#define USER(x...) \
|
||||||
9999: x; \
|
9999: x; \
|
||||||
.pushsection __ex_table,"a"; \
|
.pushsection __ex_table,"a"; \
|
||||||
|
|
|
@ -236,11 +236,6 @@
|
||||||
movs pc, lr @ return & move spsr_svc into cpsr
|
movs pc, lr @ return & move spsr_svc into cpsr
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro get_thread_info, rd
|
|
||||||
mov \rd, sp, lsr #13
|
|
||||||
mov \rd, \rd, lsl #13
|
|
||||||
.endm
|
|
||||||
|
|
||||||
@
|
@
|
||||||
@ 32-bit wide "mov pc, reg"
|
@ 32-bit wide "mov pc, reg"
|
||||||
@
|
@
|
||||||
|
@ -306,12 +301,6 @@
|
||||||
.endm
|
.endm
|
||||||
#endif /* ifdef CONFIG_CPU_V7M / else */
|
#endif /* ifdef CONFIG_CPU_V7M / else */
|
||||||
|
|
||||||
.macro get_thread_info, rd
|
|
||||||
mov \rd, sp
|
|
||||||
lsr \rd, \rd, #13
|
|
||||||
mov \rd, \rd, lsl #13
|
|
||||||
.endm
|
|
||||||
|
|
||||||
@
|
@
|
||||||
@ 32-bit wide "mov pc, reg"
|
@ 32-bit wide "mov pc, reg"
|
||||||
@
|
@
|
||||||
|
|
|
@ -8,9 +8,12 @@
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/linkage.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/vfpmacros.h>
|
#include <asm/vfpmacros.h>
|
||||||
#include "../kernel/entry-header.S"
|
#include <asm/assembler.h>
|
||||||
|
#include <asm/asm-offsets.h>
|
||||||
|
|
||||||
@ VFP entry point.
|
@ VFP entry point.
|
||||||
@
|
@
|
||||||
|
|
|
@ -14,10 +14,13 @@
|
||||||
* r10 points at the start of the private FP workspace in the thread structure
|
* r10 points at the start of the private FP workspace in the thread structure
|
||||||
* sp points to a struct pt_regs (as defined in include/asm/proc/ptrace.h)
|
* sp points to a struct pt_regs (as defined in include/asm/proc/ptrace.h)
|
||||||
*/
|
*/
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/linkage.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/vfpmacros.h>
|
#include <asm/vfpmacros.h>
|
||||||
#include <linux/kern_levels.h>
|
#include <linux/kern_levels.h>
|
||||||
#include "../kernel/entry-header.S"
|
#include <asm/assembler.h>
|
||||||
|
#include <asm/asm-offsets.h>
|
||||||
|
|
||||||
.macro DBGSTR, str
|
.macro DBGSTR, str
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
|
Loading…
Add table
Reference in a new issue