> Date: Sun, 3 Apr 2016 12:04:47 -0700
> From: Philip Guenther <[email protected]>
>
> 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;
>
>