vm: remove stack handling for signals

. moved to the kernel as the handling was only
	  reading it; the kernel may as well write it too
This commit is contained in:
Ben Gras
2012-08-29 17:31:38 +02:00
parent 860224a4d4
commit 053fa581b5
16 changed files with 12 additions and 116 deletions

View File

@@ -545,6 +545,8 @@ void fpu_sigcontext(struct proc *pr, struct sigframe *fr, struct sigcontext *sc)
}
}
reg_t arch_get_sp(struct proc *p) { return p->p_reg.sp; }
#if !CONFIG_OXPCIE
static void ser_init(void)
{

View File

@@ -206,6 +206,7 @@ void arch_do_syscall(struct proc *proc);
int arch_phys_map(int index, phys_bytes *addr, phys_bytes *len, int
*flags);
int arch_phys_map_reply(int index, vir_bytes addr);
reg_t arch_get_sp(struct proc *p);
int arch_enable_paging(struct proc * caller);
int vm_check_range(struct proc *caller,
struct proc *target, vir_bytes vir_addr, size_t bytes);

View File

@@ -38,6 +38,7 @@ int do_sigsend(struct proc * caller, message * m_ptr)
return r;
/* Compute the user stack pointer where sigcontext will be stored. */
smsg.sm_stkptr = arch_get_sp(rp);
scp = (struct sigcontext *) smsg.sm_stkptr - 1;
/* Copy the registers to the sigcontext structure. */