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?
Philip Guenther
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;