freebsd-dev/sys/ia64/include
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
..
pc
_inttypes.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
_limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
ansi.h Remove the hack for segsz_t from <sys/types.h>; use the normal 2002-04-10 15:58:13 +00:00
asm.h o Revert previous commit in asm.h. There's no need to undefine 2002-03-27 02:20:09 +00:00
atomic.h Implement atomic_{set,clear,add,subtract}_{acq_,rel_,}_ptr() 2000-10-25 00:16:38 +00:00
bootinfo.h Use some (now) spare space for passing through a pointer to the FPSWA 2001-11-19 07:07:09 +00:00
bus_memio.h
bus_pio.h
bus.h Add the following functions/macros to support byte order conversions and 2002-02-27 17:16:18 +00:00
clock.h Remove __P. 2002-03-20 23:30:31 +00:00
clockvar.h Don't pretend the argument to clockattach is a device - it isn't. 2001-10-04 15:28:27 +00:00
cpu.h Remove __P. 2002-03-20 23:30:31 +00:00
cpufunc.h Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
critical.h Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
db_machdep.h Fix some -Wunused warnings by "using" a macro argument 2002-03-12 00:19:14 +00:00
efi.h Initial cut at calling the EFI-provided FPSWA (Floating Point Software 2001-11-19 07:25:42 +00:00
elf.h o Add architecture specific segment types. 2002-04-04 06:42:49 +00:00
endian.h Add manifest constants: _LITTLE_ENDIAN, _BIG_ENDIAN, _PDP_ENDIAN, and 2002-04-10 14:39:14 +00:00
exec.h
float.h Assume round-to-nearest mode for floating point. 2001-10-06 15:57:22 +00:00
floatingpoint.h
fpu.h
frame.h Add ar.lc and ar.ec to the trapframe. These are not saved for syscalls, 2002-04-30 06:37:25 +00:00
ia64_cpu.h Add definitions for IA-32 exceptions, interrupts and intercepts. 2002-04-10 19:22:45 +00:00
ieee.h
ieeefp.h Implement <machine/ieeefp.h> 2001-11-03 15:51:14 +00:00
in_cksum.h
inst.h Shift the code which packs and unpacks instruction bundles out of DDB 2001-10-18 16:20:04 +00:00
intr.h Wire up most of the interrupt handling infrastructure. Not sure it works 2001-10-05 10:30:09 +00:00
intrcnt.h Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00
ioctl_bt848.h
ioctl_meteor.h
limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
mca.h Machine Check Architecture (MCA) structures and constants. 2002-04-26 19:16:59 +00:00
md_var.h Remove __P. 2002-03-20 23:30:31 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
nexusvar.h Start hooking up devices. 2001-09-29 11:11:18 +00:00
pal.h Add define for the PIB default address and include a reference to 2001-10-21 05:52:54 +00:00
param.h Merge fixes for dbtob() and btodb() from alpha/include/param.h. This stops 2002-04-06 12:55:48 +00:00
pcb.h Add fields for saving/restoring the IA-32 state. 2002-04-10 19:23:21 +00:00
pci_cfgreg.h Start hooking up devices. 2001-09-29 11:11:18 +00:00
pcpu.h Remove unused MD fields (pc_pending_ipis, pc_next_asn and 2001-12-30 09:39:41 +00:00
pmap.h Tidy up some loose ends. 2002-04-29 07:43:16 +00:00
proc.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
profile.h Change critical_t to register_t for intr_disable/restore. 2002-03-21 09:50:11 +00:00
pte.h Define PS and VE fields of region register correctly. 2001-11-09 13:07:44 +00:00
ptrace.h Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to the 2002-03-16 00:25:53 +00:00
reg.h Remove __P. 2002-03-20 23:30:31 +00:00
reloc.h
resource.h
rse.h * Factor out common code for manipulating the RSE backing store. 2001-10-29 12:04:23 +00:00
sal.h Add state information types. 2002-04-22 06:35:40 +00:00
sapicreg.h Wire up most of the interrupt handling infrastructure. Not sure it works 2001-10-05 10:30:09 +00:00
sapicvar.h Add debug code to print SAPIC registers. 2002-03-14 10:17:08 +00:00
setjmp.h Reserve space for signal state. 2001-10-20 15:19:43 +00:00
sigframe.h style(9) the structure definitions. 2001-09-05 01:36:46 +00:00
signal.h Add ucode values for SIGFPE etc. Copied from i386/include/signal.h. 2002-04-10 19:24:08 +00:00
smp.h Cleanup the IPIs. 2001-12-30 09:41:29 +00:00
stdarg.h Fix definition of va_start: We don't need to take the address of 2002-04-12 06:50:51 +00:00
sysarch.h
types.h style(9) 2001-12-09 19:12:07 +00:00
ucontext.h * Various fixes to breakage introduced by the atomic and mutex reorgs. 2000-10-24 19:54:38 +00:00
unwind.h * Factor out common code for manipulating the RSE backing store. 2001-10-29 12:04:23 +00:00
varargs.h
vmparam.h Believe it or not, I ran into the 32MB stack size limit using a natively 2002-03-19 11:07:09 +00:00