f00519b613
a leftover from the days when a low-level debugger had hooks in the undefined exception vector and needed stack space to function. These days it effectively isn't used because we switch immediately to the svc32 mode stack on exception entry. For that, the single undef mode stack per core that gets set up at init time works fine. The stack wasn't necessary but it was harmful, because the space for it was carved out of the normal per-thread svc32 stack, in effect cutting that 8K stack in half. If svc32 mode used more than 4k of stack space it wandered down into the undef mode stack, and then an undef exception would overwrite a couple words on the stack while switching to svc32 mode, corrupting the scv32 stack. Having another stack abut the bottom of the svc32 stack also effectively mooted the guard page below the stack. This work is based on analysis and patches submitted by Juergen Weiss. |
||
---|---|---|
.. | ||
_align.h | ||
_bus.h | ||
_inttypes.h | ||
_limits.h | ||
_stdint.h | ||
_types.h | ||
armreg.h | ||
asm.h | ||
asmacros.h | ||
at91_gpio.h | ||
atags.h | ||
atomic.h | ||
blockio.h | ||
board.h | ||
bootconfig.h | ||
bus_dma.h | ||
bus.h | ||
clock.h | ||
counter.h | ||
cpu.h | ||
cpuconf.h | ||
cpufunc.h | ||
db_machdep.h | ||
devmap.h | ||
disassem.h | ||
elf.h | ||
endian.h | ||
exec.h | ||
fdt.h | ||
fiq.h | ||
float.h | ||
floatingpoint.h | ||
fp.h | ||
frame.h | ||
gdb_machdep.h | ||
ieee.h | ||
ieeefp.h | ||
in_cksum.h | ||
intr.h | ||
katelib.h | ||
kdb.h | ||
limits.h | ||
machdep.h | ||
md_var.h | ||
memdev.h | ||
metadata.h | ||
minidump.h | ||
ofw_machdep.h | ||
param.h | ||
pcb.h | ||
pcpu.h | ||
physmem.h | ||
pl310.h | ||
pmap.h | ||
pmc_mdep.h | ||
proc.h | ||
profile.h | ||
psl.h | ||
pte.h | ||
ptrace.h | ||
reg.h | ||
reloc.h | ||
resource.h | ||
runq.h | ||
sc_machdep.h | ||
setjmp.h | ||
sf_buf.h | ||
sigframe.h | ||
signal.h | ||
smp.h | ||
stack.h | ||
stdarg.h | ||
swi.h | ||
sysarch.h | ||
trap.h | ||
ucontext.h | ||
undefined.h | ||
utrap.h | ||
vdso.h | ||
vfp.h | ||
vm.h | ||
vmparam.h |