Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Apr 2002 23:37:26 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ia64/ia64 exception.s src/sys/ia64/include frame.h
Message-ID:  <200204300637.g3U6bQc25956@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
marcel      2002/04/29 23:37:25 PDT

  Modified files:
    sys/ia64/ia64        exception.s 
    sys/ia64/include     frame.h 
  Log:
  Add ar.lc and ar.ec to the trapframe. These are not saved for syscalls,
  only for exceptions.
  
  While adding this to exception_save and exception_restore, it was hard
  to find a good place to put the instructions. The code sequence was
  sufficiently arbitrarily ordered that the density was low (roughly 67%).
  No explicit bundling was used.
  Thus, I rewrote the functions to optimize for density (close to 80% now),
  and added explicit bundles and nop instructions. The immediate operand
  on the nop instruction has been incremented with each instance, to make
  debugging a bit easier when looking at recurring patterns. Redundant
  stops have been removed as much as possible. Future optimizations can
  focus more on performance. A well-placed lfetch can make all the
  difference here!
  
  Also, the FRAME_Fxx defines in frame.h were mostly bogus. FRAME_F10 to
  FRAME_F15 were copied from FRAME_F9 and still had the same index. We
  don't use them yet, so nothing was broken.
  
  Revision  Changes    Path
  1.34      +458 -171  src/sys/ia64/ia64/exception.s
  1.4       +13 -10    src/sys/ia64/include/frame.h

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?200204300637.g3U6bQc25956>