1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
freebsd/sys/ia64
Marcel Moolenaar 1f0fa5e154 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.
2002-04-30 06:37:25 +00:00
..
acpica
compile
conf Remove KTR_EXTEND. 2002-04-30 02:14:24 +00:00
ia32 Initial support for executing IA-32 binaries. This will not compile 2002-04-10 19:34:51 +00:00
ia64 Add ar.lc and ar.ec to the trapframe. These are not saved for syscalls, 2002-04-30 06:37:25 +00:00
include Add ar.lc and ar.ec to the trapframe. These are not saved for syscalls, 2002-04-30 06:37:25 +00:00
isa Tidy up some loose ends. 2002-04-29 07:43:16 +00:00
pci