Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/powerpc/minidump_machdep.c
Show First 20 Lines • Show All 83 Lines • ▼ Show 20 Lines | |||||
static int | static int | ||||
blk_flush(struct dumperinfo *di) | blk_flush(struct dumperinfo *di) | ||||
{ | { | ||||
int error; | int error; | ||||
if (fragsz == 0) | if (fragsz == 0) | ||||
return (0); | return (0); | ||||
error = dump_append(di, crashdumpmap, 0, fragsz); | error = dump_append(di, crashdumpmap, fragsz); | ||||
DBG(dumptotal += fragsz;) | DBG(dumptotal += fragsz;) | ||||
fragsz = 0; | fragsz = 0; | ||||
return (error); | return (error); | ||||
} | } | ||||
static int | static int | ||||
blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz) | blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz) | ||||
{ | { | ||||
Show All 28 Lines | blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz) | ||||
while (sz) { | while (sz) { | ||||
len = maxdumpsz - fragsz; | len = maxdumpsz - fragsz; | ||||
if (len > sz) | if (len > sz) | ||||
len = sz; | len = sz; | ||||
dumpsys_pb_progress(len); | dumpsys_pb_progress(len); | ||||
if (ptr) { | if (ptr) { | ||||
error = dump_append(di, ptr, 0, len); | error = dump_append(di, ptr, len); | ||||
if (error) | if (error) | ||||
return (error); | return (error); | ||||
DBG(dumptotal += len;) | DBG(dumptotal += len;) | ||||
ptr += len; | ptr += len; | ||||
} else { | } else { | ||||
for (i = 0; i < len; i += PAGE_SIZE) | for (i = 0; i < len; i += PAGE_SIZE) | ||||
pmap_kenter_temporary( | pmap_kenter_temporary( | ||||
(vm_offset_t)crashdumpmap + fragsz + i, | (vm_offset_t)crashdumpmap + fragsz + i, | ||||
▲ Show 20 Lines • Show All 194 Lines • Show Last 20 Lines |