Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 May 2003 13:57:27 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ia64/ia64 syscall.s
Message-ID:  <200305312057.h4VKvRO1039186@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
marcel      2003/05/31 13:57:27 PDT

  FreeBSD src repository

  Modified files:
    sys/ia64/ia64        syscall.s 
  Log:
  Some ia32 related finetuning for the EPC syscall path:
  o  The SDM states that flushing the RSE in the cycle prior to the
     call to ia32 code yields the best performance. We don't really
     care to much about performance here, but we do the same anyway.
     I'm being paranoia and conservative here.
  o  Only initialize the ia32 state registers, not the registers used
     as scratch by the ia32 engine. This saves a couple of loads from
     the trapframe, but also helps debugging: we don't clobber useful
     debugging data (engineering hints :-)
  o  Make sure all general registers constituting ia32 state have been
     initialized. If there's no useful to be loaded from the trapframe,
     clear the register. This avoids accidentally leaking NaT bits.
  o  Make sure we set ar.k6 prior to clobbering ar.bspstore and also
     set ar.k7 prior to setting sp. This fixes a race seen for ia64
     native code as well (and previously fixed too).
  
  Revision  Changes    Path
  1.3       +32 -25    src/sys/ia64/ia64/syscall.s



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