svn commit: r272766 - in head/sys: amd64/amd64 amd64/include arm/arm arm/include i386/i386 i386/include mips/include mips/mips x86/x86
Mark Johnston
markj at FreeBSD.org
Wed Oct 8 20:25:25 UTC 2014
Author: markj
Date: Wed Oct 8 20:25:21 2014
New Revision: 272766
URL: https://svnweb.freebsd.org/changeset/base/272766
Log:
Pass up the error status of minidumpsys() to its callers.
PR: 193761
Submitted by: Conrad Meyer <conrad.meyer at isilon.com>
Sponsored by: EMC / Isilon Storage Division
Modified:
head/sys/amd64/amd64/minidump_machdep.c
head/sys/amd64/include/md_var.h
head/sys/arm/arm/dump_machdep.c
head/sys/arm/arm/minidump_machdep.c
head/sys/arm/include/md_var.h
head/sys/i386/i386/minidump_machdep.c
head/sys/i386/include/md_var.h
head/sys/mips/include/md_var.h
head/sys/mips/mips/dump_machdep.c
head/sys/mips/mips/minidump_machdep.c
head/sys/x86/x86/dump_machdep.c
Modified: head/sys/amd64/amd64/minidump_machdep.c
==============================================================================
--- head/sys/amd64/amd64/minidump_machdep.c Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/amd64/amd64/minidump_machdep.c Wed Oct 8 20:25:21 2014 (r272766)
@@ -215,7 +215,7 @@ blk_write(struct dumperinfo *di, char *p
/* A fake page table page, to avoid having to handle both 4K and 2M pages */
static pd_entry_t fakepd[NPDEPG];
-void
+int
minidumpsys(struct dumperinfo *di)
{
uint32_t pmapsize;
@@ -441,7 +441,7 @@ minidumpsys(struct dumperinfo *di)
/* Signal completion, signoff and exit stage left. */
dump_write(di, NULL, 0, 0, 0);
printf("\nDump complete\n");
- return;
+ return (0);
fail:
if (error < 0)
@@ -462,6 +462,7 @@ minidumpsys(struct dumperinfo *di)
printf("Dump failed. Partition too small.\n");
else
printf("** DUMP FAILED (ERROR %d) **\n", error);
+ return (error);
}
void
Modified: head/sys/amd64/include/md_var.h
==============================================================================
--- head/sys/amd64/include/md_var.h Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/amd64/include/md_var.h Wed Oct 8 20:25:21 2014 (r272766)
@@ -118,7 +118,7 @@ void pagezero(void *addr);
void printcpuinfo(void);
void setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist);
int user_dbreg_trap(void);
-void minidumpsys(struct dumperinfo *);
+int minidumpsys(struct dumperinfo *);
struct savefpu *get_pcb_user_save_td(struct thread *td);
struct savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
struct pcb *get_pcb_td(struct thread *td);
Modified: head/sys/arm/arm/dump_machdep.c
==============================================================================
--- head/sys/arm/arm/dump_machdep.c Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/arm/arm/dump_machdep.c Wed Oct 8 20:25:21 2014 (r272766)
@@ -280,10 +280,8 @@ dumpsys(struct dumperinfo *di)
size_t hdrsz;
int error;
- if (do_minidump) {
- minidumpsys(di);
- return (0);
- }
+ if (do_minidump)
+ return (minidumpsys(di));
bzero(&ehdr, sizeof(ehdr));
ehdr.e_ident[EI_MAG0] = ELFMAG0;
Modified: head/sys/arm/arm/minidump_machdep.c
==============================================================================
--- head/sys/arm/arm/minidump_machdep.c Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/arm/arm/minidump_machdep.c Wed Oct 8 20:25:21 2014 (r272766)
@@ -196,7 +196,7 @@ blk_write_cont(struct dumperinfo *di, vm
/* A fake page table page, to avoid having to handle both 4K and 2M pages */
static pt_entry_t fakept[NPTEPG];
-void
+int
minidumpsys(struct dumperinfo *di)
{
struct minidumphdr mdhdr;
@@ -460,7 +460,7 @@ minidumpsys(struct dumperinfo *di)
/* Signal completion, signoff and exit stage left. */
dump_write(di, NULL, 0, 0, 0);
printf("\nDump complete\n");
- return;
+ return (0);
fail:
if (error < 0)
@@ -472,6 +472,7 @@ fail:
printf("\nDump failed. Partition too small.\n");
else
printf("\n** DUMP FAILED (ERROR %d) **\n", error);
+ return (error);
}
void
Modified: head/sys/arm/include/md_var.h
==============================================================================
--- head/sys/arm/include/md_var.h Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/arm/include/md_var.h Wed Oct 8 20:25:21 2014 (r272766)
@@ -68,6 +68,6 @@ extern int busdma_swi_pending;
void busdma_swi(void);
void dump_add_page(vm_paddr_t);
void dump_drop_page(vm_paddr_t);
-void minidumpsys(struct dumperinfo *);
+int minidumpsys(struct dumperinfo *);
#endif /* !_MACHINE_MD_VAR_H_ */
Modified: head/sys/i386/i386/minidump_machdep.c
==============================================================================
--- head/sys/i386/i386/minidump_machdep.c Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/i386/i386/minidump_machdep.c Wed Oct 8 20:25:21 2014 (r272766)
@@ -178,7 +178,7 @@ blk_write(struct dumperinfo *di, char *p
/* A fake page table page, to avoid having to handle both 4K and 2M pages */
static pt_entry_t fakept[NPTEPG];
-void
+int
minidumpsys(struct dumperinfo *di)
{
uint64_t dumpsize;
@@ -377,7 +377,7 @@ minidumpsys(struct dumperinfo *di)
/* Signal completion, signoff and exit stage left. */
dump_write(di, NULL, 0, 0, 0);
printf("\nDump complete\n");
- return;
+ return (0);
fail:
if (error < 0)
@@ -389,6 +389,7 @@ minidumpsys(struct dumperinfo *di)
printf("\nDump failed. Partition too small.\n");
else
printf("\n** DUMP FAILED (ERROR %d) **\n", error);
+ return (error);
}
void
Modified: head/sys/i386/include/md_var.h
==============================================================================
--- head/sys/i386/include/md_var.h Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/i386/include/md_var.h Wed Oct 8 20:25:21 2014 (r272766)
@@ -113,6 +113,6 @@ void ppro_reenable_apic(void);
void printcpuinfo(void);
void setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int selec);
int user_dbreg_trap(void);
-void minidumpsys(struct dumperinfo *);
+int minidumpsys(struct dumperinfo *);
#endif /* !_MACHINE_MD_VAR_H_ */
Modified: head/sys/mips/include/md_var.h
==============================================================================
--- head/sys/mips/include/md_var.h Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/mips/include/md_var.h Wed Oct 8 20:25:21 2014 (r272766)
@@ -79,5 +79,5 @@ void busdma_swi(void);
struct dumperinfo;
void dump_add_page(vm_paddr_t);
void dump_drop_page(vm_paddr_t);
-void minidumpsys(struct dumperinfo *);
+int minidumpsys(struct dumperinfo *);
#endif /* !_MACHINE_MD_VAR_H_ */
Modified: head/sys/mips/mips/dump_machdep.c
==============================================================================
--- head/sys/mips/mips/dump_machdep.c Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/mips/mips/dump_machdep.c Wed Oct 8 20:25:21 2014 (r272766)
@@ -266,10 +266,8 @@ dumpsys(struct dumperinfo *di)
size_t hdrsz;
int error;
- if (do_minidump) {
- minidumpsys(di);
- return (0);
- }
+ if (do_minidump)
+ return (minidumpsys(di));
bzero(&ehdr, sizeof(ehdr));
ehdr.e_ident[EI_MAG0] = ELFMAG0;
Modified: head/sys/mips/mips/minidump_machdep.c
==============================================================================
--- head/sys/mips/mips/minidump_machdep.c Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/mips/mips/minidump_machdep.c Wed Oct 8 20:25:21 2014 (r272766)
@@ -153,7 +153,7 @@ write_buffer(struct dumperinfo *di, char
return (0);
}
-void
+int
minidumpsys(struct dumperinfo *di)
{
struct minidumphdr mdhdr;
@@ -325,7 +325,7 @@ minidumpsys(struct dumperinfo *di)
/* Signal completion, signoff and exit stage left. */
dump_write(di, NULL, 0, 0, 0);
printf("\nDump complete\n");
- return;
+ return (0);
fail:
if (error < 0)
@@ -337,4 +337,5 @@ fail:
printf("\nDump failed. Partition too small.\n");
else
printf("\n** DUMP FAILED (ERROR %d) **\n", error);
+ return (error);
}
Modified: head/sys/x86/x86/dump_machdep.c
==============================================================================
--- head/sys/x86/x86/dump_machdep.c Wed Oct 8 19:54:42 2014 (r272765)
+++ head/sys/x86/x86/dump_machdep.c Wed Oct 8 20:25:21 2014 (r272766)
@@ -275,10 +275,9 @@ dumpsys(struct dumperinfo *di)
size_t hdrsz;
int error;
- if (do_minidump) {
- minidumpsys(di);
- return (0);
- }
+ if (do_minidump)
+ return (minidumpsys(di));
+
bzero(&ehdr, sizeof(ehdr));
ehdr.e_ident[EI_MAG0] = ELFMAG0;
ehdr.e_ident[EI_MAG1] = ELFMAG1;
More information about the svn-src-all
mailing list