Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Nov 1996 03:43:03 -0800 (PST)
From:      Peter Wemm <peter>
To:        freebsd-smp
Subject:   cvs commit:  sys/i386/i386 locore.s swtch.s sys/i386/include pmap.h
Message-ID:  <199611251143.DAA10036@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
peter       96/11/25 03:42:59

  Modified:    i386/include  pmap.h
               i386/i386  locore.s swtch.s
  Log:
  Implement part 1 of per-cpu private pages.
  
  This lowers th max kernel VM from 252MB to 248MB so that we can steal
  a PDE slot for the per-cpu page table.  This is copied on cpu_switch().
  
  Note, this is not complete yet.  Presently, only one set is created for
  boot cpu.
  
  At present, there is a 4K page at 0xff800000, there is a 4K page
  mapping the default local apic address to 0xff801000, and the IO apic
  to 0xff802000.  These are just for experimenting, don't panic. :-)
  
  Things like curproc, curpcb, runtime, cpu_id, etc will be linked to load
  in the private page once it's finished, eliminating the need for macros
  looking up arrays with NCPU elements etc.
  
  Each private page is also mapped into the global kvm space, there will be
  an array of pointers to them, so it'll be possible to get to cpu#6's
  curproc by doing doing something like:  cpudata[6]->curproc.  This assumes
  there will be a 'struct' to make dereferenced accesses to the private
  pages.
  
  Revision  Changes    Path
  1.2       +86 -45    sys/i386/include/pmap.h
  1.31      +64 -0     sys/i386/i386/locore.s
  1.27      +25 -0     sys/i386/i386/swtch.s



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