> Date: Sun, 3 Apr 2016 12:04:47 -0700
> From: Philip Guenther <guent...@gmail.com>
> 
> amd64's savectx() only updates pcb_rsp and pcb_rbp, which in cpu_fork() 
> are promptly overwriten in the child's pcb, so do the same simplification 
> as on i386.
> 
> ok?

ok kettenis@

> Index: vm_machdep.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/amd64/amd64/vm_machdep.c,v
> retrieving revision 1.34
> diff -u -p -r1.34 vm_machdep.c
> --- vm_machdep.c      3 Apr 2016 17:48:33 -0000       1.34
> +++ vm_machdep.c      3 Apr 2016 18:33:03 -0000
> @@ -89,13 +89,8 @@ cpu_fork(struct proc *p1, struct proc *p
>  
>       p2->p_md.md_flags = p1->p_md.md_flags;
>  
> -     /* Copy pcb from proc p1 to p2. */
> -     if (p1 == curproc) {
> -             /* Sync the PCB before we copy it. */
> -             savectx(curpcb);
> -     }
>  #ifdef DIAGNOSTIC
> -     else if (p1 != &proc0)
> +     if (p1 != curproc && p1 != &proc0)
>               panic("cpu_fork: curproc");
>  #endif
>       *pcb = p1->p_addr->u_pcb;
> 
> 

Reply via email to