dump_avail[] is supposed to be a superset of phys_avail[] that describes all of the memory ranges that should be included in a full dump. minidumps don't consider pages described by dump_avail[] to be valid and thus they are excluded via the is_dumpable() function. Most MIPS platforms (including MALTA) set dump_avail[] to be identical to phys_avail[]. In particular, phys_avail[] doesn't include the kernel itself, so pages for the kernel and it's global variables are not considered dumpable and not included in the dump. Fix this by setting dump_avail[0] to the first memory address (0) rather than the end of the kernel. Several other MIPS platforms have the same bug, though I am only able to test malta in qemu. The correct fix is to set dump_avail[] to describe RAM and in particular to not set dump_avail[0] to the end of the kernel (kernel_kseg0_end). Sponsored by: DARPA / AFRL |
||
---|---|---|
.. | ||
asm_malta.S | ||
files.malta | ||
gt_pci_bus_space.c | ||
gt_pci_bus_space.h | ||
gt_pci.c | ||
gt.c | ||
gtreg.h | ||
gtvar.h | ||
malta_machdep.c | ||
malta_mp.c | ||
maltareg.h | ||
obio.c | ||
obiovar.h | ||
std.malta | ||
uart_bus_maltausart.c | ||
uart_cpu_maltausart.c | ||
yamon.c | ||
yamon.h |