Author: ian
Date: Sun Mar  9 14:54:05 2014
New Revision: 262949
URL: http://svnweb.freebsd.org/changeset/base/262949

Log:
  When a thread begins life it doesn't own the VFP hardware state on any cpu.

Modified:
  head/sys/arm/arm/machdep.c
  head/sys/arm/arm/vm_machdep.c

Modified: head/sys/arm/arm/machdep.c
==============================================================================
--- head/sys/arm/arm/machdep.c  Sun Mar  9 14:24:05 2014        (r262948)
+++ head/sys/arm/arm/machdep.c  Sun Mar  9 14:54:05 2014        (r262949)
@@ -993,6 +993,7 @@ init_proc0(vm_offset_t kstack)
        thread0.td_pcb = (struct pcb *)
                (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
        thread0.td_pcb->pcb_flags = 0;
+       thread0.td_pcb->pcb_vfpcpu = -1;
        thread0.td_frame = &proc0_tf;
        pcpup->pc_curpcb = thread0.td_pcb;
 }

Modified: head/sys/arm/arm/vm_machdep.c
==============================================================================
--- head/sys/arm/arm/vm_machdep.c       Sun Mar  9 14:24:05 2014        
(r262948)
+++ head/sys/arm/arm/vm_machdep.c       Sun Mar  9 14:54:05 2014        
(r262949)
@@ -146,6 +146,7 @@ cpu_fork(register struct thread *td1, re
        bcopy(&td1->td_proc->p_md, mdp2, sizeof(*mdp2));
        pcb2->un_32.pcb32_sp = td2->td_kstack +
            USPACE_SVC_STACK_TOP - sizeof(*pcb2);
+       pcb2->pcb_vfpcpu = -1;
        pmap_activate(td2);
        td2->td_frame = tf = (struct trapframe *)STACKALIGN(
            pcb2->un_32.pcb32_sp - sizeof(struct trapframe));
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to