Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_dump.c
Show All 21 Lines | |||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
*/ | */ | ||||
#include <sys/cdefs.h> | #include <sys/cdefs.h> | ||||
__FBSDID("$FreeBSD$"); | __FBSDID("$FreeBSD$"); | ||||
#include "opt_watchdog.h" | |||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/systm.h> | #include <sys/systm.h> | ||||
#include <sys/conf.h> | #include <sys/conf.h> | ||||
#include <sys/cons.h> | #include <sys/cons.h> | ||||
#include <sys/kernel.h> | #include <sys/kernel.h> | ||||
#include <sys/proc.h> | #include <sys/proc.h> | ||||
#include <sys/kerneldump.h> | #include <sys/kerneldump.h> | ||||
#ifdef SW_WATCHDOG | |||||
#include <sys/watchdog.h> | #include <sys/watchdog.h> | ||||
#endif | |||||
#include <vm/vm.h> | #include <vm/vm.h> | ||||
#include <vm/vm_param.h> | #include <vm/vm_param.h> | ||||
#include <vm/pmap.h> | #include <vm/pmap.h> | ||||
#include <machine/dump.h> | #include <machine/dump.h> | ||||
#include <machine/elf.h> | #include <machine/elf.h> | ||||
#include <machine/md_var.h> | #include <machine/md_var.h> | ||||
#include <machine/pcb.h> | #include <machine/pcb.h> | ||||
▲ Show 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | while (pgs) { | ||||
sz = chunk << PAGE_SHIFT; | sz = chunk << PAGE_SHIFT; | ||||
counter += sz; | counter += sz; | ||||
if (counter >> 24) { | if (counter >> 24) { | ||||
printf(" %ju", (uintmax_t)PG2MB(pgs)); | printf(" %ju", (uintmax_t)PG2MB(pgs)); | ||||
counter &= (1 << 24) - 1; | counter &= (1 << 24) - 1; | ||||
} | } | ||||
dumpsys_map_chunk(pa, chunk, &va); | dumpsys_map_chunk(pa, chunk, &va); | ||||
#ifdef SW_WATCHDOG | |||||
wdog_kern_pat(WD_LASTVAL); | wdog_kern_pat(WD_LASTVAL); | ||||
#endif | |||||
error = dump_append(di, va, 0, sz); | error = dump_append(di, va, 0, sz); | ||||
dumpsys_unmap_chunk(pa, chunk, va); | dumpsys_unmap_chunk(pa, chunk, va); | ||||
if (error) | if (error) | ||||
break; | break; | ||||
pgs -= chunk; | pgs -= chunk; | ||||
pa += sz; | pa += sz; | ||||
▲ Show 20 Lines • Show All 176 Lines • Show Last 20 Lines |