xtensa: move internal ptrace definitions from uapi/asm to asm
Stack frame layout diagram, kernel stack size and exception_handlers offsets are used by the kernel and are not supposed to be accessible to userspace. Move these definitions from uapi/asm/ptrace.h to asm/ptrace.h Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
Родитель
1b47a683a0
Коммит
0700ed072f
|
@ -12,6 +12,45 @@
|
|||
|
||||
#include <uapi/asm/ptrace.h>
|
||||
|
||||
/*
|
||||
* Kernel stack
|
||||
*
|
||||
* +-----------------------+ -------- STACK_SIZE
|
||||
* | register file | |
|
||||
* +-----------------------+ |
|
||||
* | struct pt_regs | |
|
||||
* +-----------------------+ | ------ PT_REGS_OFFSET
|
||||
* double : 16 bytes spill area : | ^
|
||||
* excetion :- - - - - - - - - - - -: | |
|
||||
* frame : struct pt_regs : | |
|
||||
* :- - - - - - - - - - - -: | |
|
||||
* | | | |
|
||||
* | memory stack | | |
|
||||
* | | | |
|
||||
* ~ ~ ~ ~
|
||||
* ~ ~ ~ ~
|
||||
* | | | |
|
||||
* | | | |
|
||||
* +-----------------------+ | | --- STACK_BIAS
|
||||
* | struct task_struct | | | ^
|
||||
* current --> +-----------------------+ | | |
|
||||
* | struct thread_info | | | |
|
||||
* +-----------------------+ --------
|
||||
*/
|
||||
|
||||
#define KERNEL_STACK_SIZE (2 * PAGE_SIZE)
|
||||
|
||||
/* Offsets for exception_handlers[] (3 x 64-entries x 4-byte tables). */
|
||||
|
||||
#define EXC_TABLE_KSTK 0x004 /* Kernel Stack */
|
||||
#define EXC_TABLE_DOUBLE_SAVE 0x008 /* Double exception save area for a0 */
|
||||
#define EXC_TABLE_FIXUP 0x00c /* Fixup handler */
|
||||
#define EXC_TABLE_PARAM 0x010 /* For passing a parameter to fixup */
|
||||
#define EXC_TABLE_SYSCALL_SAVE 0x014 /* For fast syscall handler */
|
||||
#define EXC_TABLE_FAST_USER 0x100 /* Fast user exception handler */
|
||||
#define EXC_TABLE_FAST_KERNEL 0x200 /* Fast kernel exception handler */
|
||||
#define EXC_TABLE_DEFAULT 0x300 /* Default C-Handler */
|
||||
#define EXC_TABLE_SIZE 0x400
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
|
|
|
@ -11,46 +11,6 @@
|
|||
#ifndef _UAPI_XTENSA_PTRACE_H
|
||||
#define _UAPI_XTENSA_PTRACE_H
|
||||
|
||||
/*
|
||||
* Kernel stack
|
||||
*
|
||||
* +-----------------------+ -------- STACK_SIZE
|
||||
* | register file | |
|
||||
* +-----------------------+ |
|
||||
* | struct pt_regs | |
|
||||
* +-----------------------+ | ------ PT_REGS_OFFSET
|
||||
* double : 16 bytes spill area : | ^
|
||||
* excetion :- - - - - - - - - - - -: | |
|
||||
* frame : struct pt_regs : | |
|
||||
* :- - - - - - - - - - - -: | |
|
||||
* | | | |
|
||||
* | memory stack | | |
|
||||
* | | | |
|
||||
* ~ ~ ~ ~
|
||||
* ~ ~ ~ ~
|
||||
* | | | |
|
||||
* | | | |
|
||||
* +-----------------------+ | | --- STACK_BIAS
|
||||
* | struct task_struct | | | ^
|
||||
* current --> +-----------------------+ | | |
|
||||
* | struct thread_info | | | |
|
||||
* +-----------------------+ --------
|
||||
*/
|
||||
|
||||
#define KERNEL_STACK_SIZE (2 * PAGE_SIZE)
|
||||
|
||||
/* Offsets for exception_handlers[] (3 x 64-entries x 4-byte tables). */
|
||||
|
||||
#define EXC_TABLE_KSTK 0x004 /* Kernel Stack */
|
||||
#define EXC_TABLE_DOUBLE_SAVE 0x008 /* Double exception save area for a0 */
|
||||
#define EXC_TABLE_FIXUP 0x00c /* Fixup handler */
|
||||
#define EXC_TABLE_PARAM 0x010 /* For passing a parameter to fixup */
|
||||
#define EXC_TABLE_SYSCALL_SAVE 0x014 /* For fast syscall handler */
|
||||
#define EXC_TABLE_FAST_USER 0x100 /* Fast user exception handler */
|
||||
#define EXC_TABLE_FAST_KERNEL 0x200 /* Fast kernel exception handler */
|
||||
#define EXC_TABLE_DEFAULT 0x300 /* Default C-Handler */
|
||||
#define EXC_TABLE_SIZE 0x400
|
||||
|
||||
/* Registers used by strace */
|
||||
|
||||
#define REG_A_BASE 0x0000
|
||||
|
|
Загрузка…
Ссылка в новой задаче