50e2347e68
For UP, we were using $tmp_stk as a stack from the data section. If the kernel text section grew beyond ~3MB, the data section would be pushed beyond the temporary 4MB P==V mapping. This would cause the trampoline up to high memory to fault. The hack workaround I did was to use all of the page table pages that we already have while preparing the initial P==V mapping, instead of just the first one. For SMP, the AP bootstrap process suffered the same sort of problem and got the same treatment. MFC candidate - this breaks on 4.x just the same.. Thanks to: Richard Todd <rmtodd@ichotolot.servalan.com> |
||
---|---|---|
.. | ||
pc | ||
apicreg.h | ||
asm.h | ||
asmacros.h | ||
atomic.h | ||
bus_amd64.h | ||
bus_at386.h | ||
bus_dma.h | ||
bus_memio.h | ||
bus_pio.h | ||
bus.h | ||
clock.h | ||
cpu.h | ||
cpufunc.h | ||
cputypes.h | ||
db_machdep.h | ||
elf.h | ||
exec.h | ||
float.h | ||
floatingpoint.h | ||
fpu.h | ||
frame.h | ||
ieeefp.h | ||
in_cksum.h | ||
legacyvar.h | ||
md_var.h | ||
mptable.h | ||
mutex.h | ||
npx.h | ||
pcb_ext.h | ||
pcb.h | ||
pci_cfgreg.h | ||
pcpu.h | ||
pmap.h | ||
proc.h | ||
profile.h | ||
psl.h | ||
ptrace.h | ||
reg.h | ||
reloc.h | ||
resource.h | ||
segments.h | ||
setjmp.h | ||
sigframe.h | ||
signal.h | ||
smp.h | ||
specialreg.h | ||
sysarch.h | ||
trap.h | ||
tss.h | ||
ucontext.h | ||
varargs.h | ||
vmparam.h |