freebsd-dev/sys/ia64/ia64
Marcel Moolenaar 290245ea4c Don't call malloc() and free() while in the debugger and unwinding
to get a stacktrace. This does not work even with M_NOWAIT when we
have WITNESS and is generally a bad idea (pointed out by bde@). We
allocate an 8K heap for use by the unwinder when ddb is active. A
stack trace roughly takes up half of that in any case, so we have
some room for complex unwind situations. We don't want to waste too
much space though. Due to the nature of unwinding, we don't worry
too much about fragmentation or performance of unwinding while in
the debugger. For now we have our own heap management, but we may
be able to leverage from existing code at some later time.

While here:
o  Make sure we actually free the unwind environment after unwinding.
   This fixes a memory leak.
o  Replace Doug's license with mine in unwind.c and unwind.h. Both
   files don't have much, if any, of Doug's code left since the EPC
   syscall overhaul and the import of the unwinder.
o  Remove dead code.
o  Replace M_NOWAIT with M_WAITOK for all remaining malloc() calls.
2003-07-05 23:21:58 +00:00
..
autoconf.c Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
busdma_machdep.c The use of SYSINIT requires the inclusion of <sys/kernel.h> 2003-07-02 01:22:29 +00:00
clock_if.m
clock.c Rename the "IA64 ITC" counter to "ITC" counter. We don't call the 2003-05-20 06:51:20 +00:00
context.S In swapctx(), put the RSE in enforced lazy mode before we flush the 2003-05-23 23:16:43 +00:00
critical.c Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
db_disasm.c Work around an apparent compiler bug with gcc-3.1, although it might be 2002-03-19 11:09:24 +00:00
db_interface.c Revamp of the syscall path, exception and context handling. The 2003-05-16 21:26:42 +00:00
db_trace.c Don't call malloc() and free() while in the debugger and unwinding 2003-07-05 23:21:58 +00:00
dump_machdep.c Check that the dump device is large enough. Otherwise we could 2002-12-17 02:51:56 +00:00
efi.c Remove special casing for running in the simulator from the kernel 2003-02-01 22:50:09 +00:00
eficlock.c
elf_machdep.c Revamp of the syscall path, exception and context handling. The 2003-05-16 21:26:42 +00:00
exception.S A flushrs must be the first in an instruction group. 2003-05-27 07:10:58 +00:00
genassym.c Revamp of the syscall path, exception and context handling. The 2003-05-16 21:26:42 +00:00
ia64-gdbstub.c #if 0 out some unused code. 2002-03-19 11:06:01 +00:00
in_cksum.c
interrupt.c Revamp of the syscall path, exception and context handling. The 2003-05-16 21:26:42 +00:00
locore.S Fix an alpha inheritance bug: 2003-05-24 00:17:34 +00:00
machdep.c Add a machine depended function thread_siginfo, SA signal code 2003-06-28 06:34:08 +00:00
mca.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
mem.c Fix the dreaded double counting that was present on alpha as well and 2003-06-04 21:56:10 +00:00
mp_machdep.c Revamp of the syscall path, exception and context handling. The 2003-05-16 21:26:42 +00:00
nexus.c Change the max IRQ from 63 to 255. I realize we have to block some out 2002-07-20 06:25:47 +00:00
pal.S Remove special casing for running in the simulator from the kernel 2003-02-01 22:50:09 +00:00
pmap.c Background: pmap_object_init_pt() premaps the pages of a object in 2003-07-03 20:18:02 +00:00
sal.c Remove special casing for running in the simulator from the kernel 2003-02-01 22:50:09 +00:00
sapic.c Move ia64_sapics and ia64_sapic_count from interrupt.c to sapic.c 2003-01-06 02:09:08 +00:00
setjmp.S
ssc.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
sscdisk.c Include <geom/geom_disk.h> and stop including <sys/disk.h>. The 2003-04-05 21:14:05 +00:00
support.S Fix fu{byte|word*} and su{byte|word*}: 2003-05-27 01:00:12 +00:00
sys_machdep.c - Push down Giant into the sysarch() calls that still need Giant. 2003-04-25 20:04:02 +00:00
syscall.S Some ia32 related finetuning for the EPC syscall path: 2003-05-31 20:57:26 +00:00
timerreg.h
trap.c Rename P_THREADED to P_SA. P_SA means a process is using scheduler 2003-06-15 00:31:24 +00:00
unaligned.c Move the sysctls of the misalignment handler to where they belong 2003-05-29 06:30:36 +00:00
unwind.c Don't call malloc() and free() while in the debugger and unwinding 2003-07-05 23:21:58 +00:00
vm_machdep.c Implement cpu_set_upcall_kse(). Elementary testing shows that this 2003-06-28 09:22:25 +00:00