Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Mar 2002 21:39:23 -0800 (PST)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_fork.c kern_prot.c kern_switch.c src/sys/sys proc.h src/sys/alpha/alpha critical.c src/sys/alpha/include cpufunc.h proc.h src/sys/conf files.alpha files.i386 files.ia64 files.pc98 files.powerpc files.sparc64 ...
Message-ID:  <200203270539.g2R5dOY96756@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      2002/03/26 21:39:23 PST

  Modified files:
    sys/kern             kern_fork.c kern_prot.c kern_switch.c 
    sys/sys              proc.h 
    sys/alpha/include    cpufunc.h proc.h 
    sys/conf             files.alpha files.i386 files.ia64 
                         files.pc98 files.powerpc files.sparc64 
    sys/i386/i386        exception.s genassym.c machdep.c 
                         mp_machdep.c mpapic.c swtch.s 
                         vm_machdep.c 
    sys/i386/include     cpufunc.h pcb.h pcpu.h proc.h 
    sys/i386/isa         apic_vector.s clock.c icu_vector.s 
                         intr_machdep.c intr_machdep.h npx.c 
    sys/ia64/include     cpufunc.h proc.h 
    sys/pc98/i386        machdep.c 
    sys/pc98/pc98        clock.c 
    sys/powerpc/include  cpufunc.h proc.h 
    sys/sparc64/include  cpufunc.h proc.h 
  Added files:
    sys/alpha/alpha      critical.c 
    sys/i386/i386        critical.c 
    sys/ia64/ia64        critical.c 
    sys/powerpc/powerpc  critical.c 
    sys/sparc64/sparc64  critical.c 
  Log:
  Compromise for critical*()/cpu_critical*() recommit.  Cleanup the interrupt
  disablement assumptions in kern_fork.c by adding another API call,
  cpu_critical_fork_exit().  Cleanup the td_savecrit field by moving it
  from MI to MD.  Temporarily move cpu_critical*() from <arch>/include/cpufunc.h
  to <arch>/<arch>/critical.c (stage-2 will clean this up).
  
  Implement interrupt deferral for i386 that allows interrupts to remain
  enabled inside critical sections.  This also fixes an IPI interlock bug,
  and requires uses of icu_lock to be enclosed in a true interrupt disablement.
  
  This is the stage-1 commit.  Stage-2 will occur after stage-1 has stabilized,
  and will move cpu_critical*() into its own header file(s) + other things.
  This commit may break non-i386 architectures in trivial ways.  This should
  be temporary.
  
  Reviewed by:    core
  Approved by:    core
  
  Revision  Changes    Path
  1.1       +59 -0     src/sys/alpha/alpha/critical.c (new)
  1.14      +5 -13     src/sys/alpha/include/cpufunc.h
  1.14      +1 -0      src/sys/alpha/include/proc.h
  1.82      +1 -0      src/sys/conf/files.alpha
  1.397     +1 -0      src/sys/conf/files.i386
  1.28      +1 -0      src/sys/conf/files.ia64
  1.228     +1 -0      src/sys/conf/files.pc98
  1.7       +1 -0      src/sys/conf/files.powerpc
  1.16      +1 -0      src/sys/conf/files.sparc64
  1.1       +220 -0    src/sys/i386/i386/critical.c (new)
  1.94      +19 -0     src/sys/i386/i386/exception.s
  1.124     +8 -0      src/sys/i386/i386/genassym.c
  1.506     +14 -5     src/sys/i386/i386/machdep.c
  1.183     +6 -0      src/sys/i386/i386/mp_machdep.c
  1.58      +5 -0      src/sys/i386/i386/mpapic.c
  1.131     +6 -0      src/sys/i386/i386/swtch.s
  1.187     +1 -0      src/sys/i386/i386/vm_machdep.c
  1.118     +7 -20     src/sys/i386/include/cpufunc.h
  1.45      +2 -1      src/sys/i386/include/pcb.h
  1.33      +5 -1      src/sys/i386/include/pcpu.h
  1.16      +1 -0      src/sys/i386/include/proc.h
  1.80      +162 -35   src/sys/i386/isa/apic_vector.s
  1.184     +12 -0     src/sys/i386/isa/clock.c
  1.34      +165 -58   src/sys/i386/isa/icu_vector.s
  1.70      +46 -0     src/sys/i386/isa/intr_machdep.c
  1.39      +14 -0     src/sys/i386/isa/intr_machdep.h
  1.129     +9 -3      src/sys/i386/isa/npx.c
  1.1       +58 -0     src/sys/ia64/ia64/critical.c (new)
  1.11      +5 -12     src/sys/ia64/include/cpufunc.h
  1.9       +1 -0      src/sys/ia64/include/proc.h
  1.140     +7 -3      src/sys/kern/kern_fork.c
  1.147     +11 -12    src/sys/kern/kern_prot.c
  1.24      +4 -3      src/sys/kern/kern_switch.c
  1.268     +9 -5      src/sys/pc98/i386/machdep.c
  1.111     +11 -0     src/sys/pc98/pc98/clock.c
  1.11      +7 -22     src/sys/powerpc/include/cpufunc.h
  1.6       +1 -0      src/sys/powerpc/include/proc.h
  1.1       +62 -0     src/sys/powerpc/powerpc/critical.c (new)
  1.13      +7 -18     src/sys/sparc64/include/cpufunc.h
  1.9       +1 -0      src/sys/sparc64/include/proc.h
  1.1       +60 -0     src/sys/sparc64/sparc64/critical.c (new)
  1.212     +0 -1      src/sys/sys/proc.h

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203270539.g2R5dOY96756>