cvs commit: src/sys/powerpc/powerpc trap_subr.S

Peter Grehan grehan at FreeBSD.org
Wed Feb 4 05:10:29 PST 2004


grehan      2004/02/04 05:10:26 PST

  FreeBSD src repository

  Modified files:
    sys/powerpc/powerpc  trap_subr.S 
  Log:
  Major overhaul of common trap code
   - remove unused 601 and tlb exception code
   - remove interrupt-time PTE spill code. The pmap code
     will now take care of pinning kernel PTEs, and there
     are no longer issues about physical mapping of PTE
     data structures
   - All segment registers are switched on kernel entry/exit,
     allowing the kernel to have more virtual space and for
     user virtual space to extend to 4G.
   - The temporary register save area has been shifted from
     unused exception vector space to the per-cpu data area.
     This allows interrupts to be delivered to multiple CPUs
   - ISI traps no longer spill to BAT tables. It is assumed
     that all of kernel instruction memory is pinned.
   - shift from 'ldmw/stmw' instructions to individual register
     loads/stores when saving context. All PPC manuals indicate
     this should be much faster.
   - use '%r' for register names throughout.
  
  TODO: need to test if DSI traps were the result of kernel stack
  guard-page hits.
  
  Reworked from:  NetBSD
  
  Revision  Changes    Path
  1.10      +359 -812  src/sys/powerpc/powerpc/trap_subr.S


More information about the cvs-src mailing list