Saving all registers in syscall so that return from fork is easier.

Child needs rewound function stack in order to reach registers r9-r12
that have original userspace values. But we jump to return_from_syscall
without rewinding the stack. Therefore to ease context restore, we save
r9-r12 on the stack as well upon syscall entry.
This commit is contained in:
Bahadir Balban
2008-09-01 16:19:03 +03:00
parent 021bd6bc99
commit afc0599d49
3 changed files with 28 additions and 12 deletions

View File

@@ -33,6 +33,10 @@ typedef struct syscall_context {
u32 r6; /* MR3 */
u32 r7; /* MR4 */
u32 r8; /* MR5 */
u32 r9;
u32 r10;
u32 r11;
u32 r12;
u32 sp_usr;
u32 lr_usr;
} __attribute__((__packed__)) syscall_context_t;