diff options
author | H. Peter Anvin <hpa@zytor.com> | 2012-02-19 10:06:34 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-02-20 12:52:05 -0800 |
commit | d1a797f388d6d30fa502915d1b9937ed758b7137 (patch) | |
tree | ab16d4c32792dea0f0f841d7bce9f37ef962ad79 /arch/x86/kernel/entry_64.S | |
parent | c5a373942bbc41698724fc948c74f959f73407e5 (diff) | |
download | linux-d1a797f388d6d30fa502915d1b9937ed758b7137.tar.gz linux-d1a797f388d6d30fa502915d1b9937ed758b7137.tar.bz2 linux-d1a797f388d6d30fa502915d1b9937ed758b7137.zip |
x32: Handle process creation
Allow an x32 process to be started.
Originally-by: H. J. Lu <hjl.tools@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 53dc821f0a62..9e036f0ce5e0 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S @@ -763,6 +763,21 @@ ENTRY(stub_x32_rt_sigreturn) CFI_ENDPROC END(stub_x32_rt_sigreturn) +ENTRY(stub_x32_execve) + CFI_STARTPROC + addq $8, %rsp + PARTIAL_FRAME 0 + SAVE_REST + FIXUP_TOP_OF_STACK %r11 + movq %rsp, %rcx + call sys32_execve + RESTORE_TOP_OF_STACK %r11 + movq %rax,RAX(%rsp) + RESTORE_REST + jmp int_ret_from_sys_call + CFI_ENDPROC +END(stub_x32_execve) + #endif /* |