diff options
author | Liav Rehana <liavr@mellanox.com> | 2017-06-15 11:44:00 +0300 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2017-08-28 15:17:36 -0700 |
commit | 28923f6b74060b183207a373ddae4ce4948cabea (patch) | |
tree | c2c393d1e3821cd51942614d94146f2af9601d0e /arch/arc/include/asm/ptrace.h | |
parent | 5b2189ab6ee0717babac912f779dcd440e942173 (diff) | |
download | lwn-28923f6b74060b183207a373ddae4ce4948cabea.tar.gz lwn-28923f6b74060b183207a373ddae4ce4948cabea.zip |
ARC: [plat-eznps] handle extra aux regs #2: kernel/entry exit
Preserve eflags and gpa1 aux during entry/exit into kernel as these
could be modified by kernel mode
These registers used by compare exchange instructions.
- GPA1 is used for compare value,
- EFLAGS got bit reflects atomic operation response.
EFLAGS is zeroed for each new user task so it won't get its
parent value.
Signed-off-by: Liav Rehana <liavr@mellanox.com>
Signed-off-by: Noam Camus <noamc@ezchip.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm/ptrace.h')
-rw-r--r-- | arch/arc/include/asm/ptrace.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h index 5297faa8a378..5a8cb22724a1 100644 --- a/arch/arc/include/asm/ptrace.h +++ b/arch/arc/include/asm/ptrace.h @@ -19,6 +19,11 @@ #ifdef CONFIG_ISA_ARCOMPACT struct pt_regs { +#ifdef CONFIG_ARC_PLAT_EZNPS + unsigned long eflags; /* Extended FLAGS */ + unsigned long gpa1; /* General Purpose Aux */ +#endif + /* Real registers */ unsigned long bta; /* bta_l1, bta_l2, erbta */ |