cvs commit: src/sys/amd64/amd64 exception.S

Konstantin Belousov kib at
Mon Aug 18 08:47:44 UTC 2008

kib         2008-08-18 08:47:27 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      exception.S 
  SVN rev 181823 on 2008-08-18 08:47:27Z by kib
  The doreti_iret_fault code is always called with gs base MSR containing
  kernel gs base, because %rip is adjusted only on kernel-mode trap caused
  by iretq execution. On the other hand, the stack contains (hardware
  part of) trap frame from the usermode. As a consequence, checking for
  frame mode and doing swapgs causes the kernel to enter trap() with
  usermode gs base.
  Remove the check for mode and conditional swapgs, we already have right
  gs base in the MSR.
  Submitted by:   Nate Eldredge <neldredge math ucsd edu>
  MFC after:      3 days
  Revision  Changes    Path
  1.133     +3 -6      src/sys/amd64/amd64/exception.S

More information about the cvs-all mailing list