Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Jan 2001 09:40:04 -0800 (PST)
From:      Jake Burkholder <jake@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/i386 exception.s genassym.c globals.s machdep.c support.s swtch.s src/sys/i386/include asmacros.h globaldata.h globals.h src/sys/i386/isa icu_vector.s
Message-ID:  <200101061740.f06He4J18857@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jake        2001/01/06 09:40:04 PST

  Modified files:
    sys/i386/i386        exception.s genassym.c globals.s 
                         machdep.c support.s swtch.s 
    sys/i386/include     asmacros.h globaldata.h globals.h 
    sys/i386/isa         icu_vector.s 
  Log:
  Use %fs to access per-cpu variables in uni-processor kernels the same
  as multi-processor kernels.  The old way made it difficult for kernel
  modules to be portable between uni-processor and multi-processor
  kernels.  It is no longer necessary to jump through hoops.
  
  - always load %fs with the private segment on entry to the kernel
  - change the type of the self referntial pointer from struct privatespace
    to struct globaldata
  - make the globaldata symbol have value 0 in all cases, so the symbols
    in globals.s are always offsets, not aliases for fields in globaldata
  - define the globaldata space used for uniprocessor kernels in C, rather
    than assembler
  - change the assmebly language accessors to use %fs, add a macro
    PCPU_ADDR(member, reg), which loads the register reg with the address
    of the per-cpu variable member
  
  Revision  Changes    Path
  1.75      +6 -12     src/sys/i386/i386/exception.s
  1.97      +2 -4      src/sys/i386/i386/genassym.c
  1.17      +2 -12     src/sys/i386/i386/globals.s
  1.426     +11 -4     src/sys/i386/i386/machdep.c
  1.77      +1 -3      src/sys/i386/i386/support.s
  1.104     +2 -7      src/sys/i386/i386/swtch.s
  1.20      +4 -4      src/sys/i386/include/asmacros.h
  1.16      +2 -4      src/sys/i386/include/globaldata.h
  1.14      +3 -6      src/sys/i386/include/globals.h
  1.25      +3 -1      src/sys/i386/isa/icu_vector.s



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?200101061740.f06He4J18857>