cvs commit: src/sys/alpha/alpha vm_machdep.c src/sys/i386/i386 vm_machdep.c src/sys/ia64/ia64 vm_machdep.c src/sys/kern kern_thr.c kern_thread.c src/sys/powerpc/powerpc vm_machdep.c src/sys/sparc64/sparc64 vm_machdep.c src/sys/sys proc.h

From: Marcel Moolenaar <marcel_at_FreeBSD.org>
Date: Wed, 4 Jun 2003 14:13:21 -0700 (PDT)
marcel      2003/06/04 14:13:21 PDT

  FreeBSD src repository

  Modified files:
    sys/alpha/alpha      vm_machdep.c 
    sys/i386/i386        vm_machdep.c 
    sys/ia64/ia64        vm_machdep.c 
    sys/kern             kern_thr.c kern_thread.c 
    sys/powerpc/powerpc  vm_machdep.c 
    sys/sparc64/sparc64  vm_machdep.c 
    sys/sys              proc.h 
  Log:
  Change the second (and last) argument of cpu_set_upcall(). Previously
  we were passing in a void* representing the PCB of the parent thread.
  Now we pass a pointer to the parent thread itself.
  The prime reason for this change is to allow cpu_set_upcall() to copy
  (parts of) the trapframe instead of having it done in MI code in each
  caller of cpu_set_upcall(). Copying the trapframe cannot always be
  done with a simply bcopy() or may not always be optimal that way. On
  ia64 specifically the trapframe contains information that is specific
  to an entry into the kernel and can only be used by the corresponding
  exit from the kernel. A trapframe copied verbatim from another frame
  is in most cases useless without some additional normalization.
  
  Note that this change removes the assignment to td->td_frame in some
  implementations of cpu_set_upcall(). The assignment is redundant.
  A previous call to cpu_thread_setup() already did the exact same
  assignment. An added benefit of removing the redundant assignment is
  that we can now change td_pcb without nasty side-effects.
  
  This change officially marks the ability on ia64 for 1:1 threading.
  
  Not tested on: amd64, powerpc
  Compile & boot tested on: alpha, sparc64
  Functionally tested on: i386, ia64
  
  Revision  Changes    Path
  1.85      +3 -3      src/sys/alpha/alpha/vm_machdep.c
  1.210     +3 -3      src/sys/i386/i386/vm_machdep.c
  1.61      +6 -6      src/sys/ia64/ia64/vm_machdep.c
  1.9       +1 -2      src/sys/kern/kern_thr.c
  1.134     +1 -2      src/sys/kern/kern_thread.c
  1.86      +1 -1      src/sys/powerpc/powerpc/vm_machdep.c
  1.45      +3 -1      src/sys/sparc64/sparc64/vm_machdep.c
  1.333     +1 -1      src/sys/sys/proc.h
Received on Wed Jun 04 2003 - 14:13:22 UTC