diff options
| author | Tejun Heo <tj@kernel.org> | 2012-11-06 15:26:23 -0500 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2012-11-06 15:26:23 -0500 |
| commit | 5b805f2a7675634fbdf9ac1c9b2256905ab2ea68 (patch) | |
| tree | ee00d1e3d757458d66209b926d274491c6c3f61c /arch/arm64/include/asm/processor.h | |
| parent | 1db1e31b1ee3ae126ef98f39083b5f213c7b41bf (diff) | |
| parent | 201e72acb2d3821e2de9ce6091e98859c316b29a (diff) | |
Merge branch 'cgroup/for-3.7-fixes' into cgroup/for-3.8
This is to receive device_cgroup fixes so that further device_cgroup
changes can be made in cgroup/for-3.8.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/arm64/include/asm/processor.h')
| -rw-r--r-- | arch/arm64/include/asm/processor.h | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h index 39a208a392f7..5d810044feda 100644 --- a/arch/arm64/include/asm/processor.h +++ b/arch/arm64/include/asm/processor.h | |||
| @@ -92,30 +92,20 @@ static inline void start_thread_common(struct pt_regs *regs, unsigned long pc) | |||
| 92 | static inline void start_thread(struct pt_regs *regs, unsigned long pc, | 92 | static inline void start_thread(struct pt_regs *regs, unsigned long pc, |
| 93 | unsigned long sp) | 93 | unsigned long sp) |
| 94 | { | 94 | { |
| 95 | unsigned long *stack = (unsigned long *)sp; | ||
| 96 | |||
| 97 | start_thread_common(regs, pc); | 95 | start_thread_common(regs, pc); |
| 98 | regs->pstate = PSR_MODE_EL0t; | 96 | regs->pstate = PSR_MODE_EL0t; |
| 99 | regs->sp = sp; | 97 | regs->sp = sp; |
| 100 | regs->regs[2] = stack[2]; /* x2 (envp) */ | ||
| 101 | regs->regs[1] = stack[1]; /* x1 (argv) */ | ||
| 102 | regs->regs[0] = stack[0]; /* x0 (argc) */ | ||
| 103 | } | 98 | } |
| 104 | 99 | ||
| 105 | #ifdef CONFIG_COMPAT | 100 | #ifdef CONFIG_COMPAT |
| 106 | static inline void compat_start_thread(struct pt_regs *regs, unsigned long pc, | 101 | static inline void compat_start_thread(struct pt_regs *regs, unsigned long pc, |
| 107 | unsigned long sp) | 102 | unsigned long sp) |
| 108 | { | 103 | { |
| 109 | unsigned int *stack = (unsigned int *)sp; | ||
| 110 | |||
| 111 | start_thread_common(regs, pc); | 104 | start_thread_common(regs, pc); |
| 112 | regs->pstate = COMPAT_PSR_MODE_USR; | 105 | regs->pstate = COMPAT_PSR_MODE_USR; |
| 113 | if (pc & 1) | 106 | if (pc & 1) |
| 114 | regs->pstate |= COMPAT_PSR_T_BIT; | 107 | regs->pstate |= COMPAT_PSR_T_BIT; |
| 115 | regs->compat_sp = sp; | 108 | regs->compat_sp = sp; |
| 116 | regs->regs[2] = stack[2]; /* x2 (envp) */ | ||
| 117 | regs->regs[1] = stack[1]; /* x1 (argv) */ | ||
| 118 | regs->regs[0] = stack[0]; /* x0 (argc) */ | ||
| 119 | } | 109 | } |
| 120 | #endif | 110 | #endif |
| 121 | 111 | ||
