You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2016/05/21 01:12:39 UTC

incubator-mynewt-core git commit: coredump; rename dump_core -> coredump_dump. Add var to temporarily prevent coredump from taking place.

Repository: incubator-mynewt-core
Updated Branches:
  refs/heads/develop e62cabf54 -> bd4a45687


coredump; rename dump_core -> coredump_dump.
Add var to temporarily prevent coredump from taking place.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/bd4a4568
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/bd4a4568
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/bd4a4568

Branch: refs/heads/develop
Commit: bd4a456874370f5642386b0c0ab50678f89c59fb
Parents: e62cabf
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Fri May 20 18:08:02 2016 -0700
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Fri May 20 18:09:26 2016 -0700

----------------------------------------------------------------------
 libs/os/src/arch/cortex_m0/os_fault.c    | 2 +-
 libs/os/src/arch/cortex_m4/os_fault.c    | 3 +--
 sys/coredump/include/coredump/coredump.h | 7 ++++++-
 sys/coredump/src/coredump.c              | 7 ++++++-
 4 files changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/bd4a4568/libs/os/src/arch/cortex_m0/os_fault.c
----------------------------------------------------------------------
diff --git a/libs/os/src/arch/cortex_m0/os_fault.c b/libs/os/src/arch/cortex_m0/os_fault.c
index f3d1ffb..58be78c 100644
--- a/libs/os/src/arch/cortex_m0/os_fault.c
+++ b/libs/os/src/arch/cortex_m0/os_fault.c
@@ -143,7 +143,7 @@ os_default_irq(struct trap_frame *tf)
     console_printf("ICSR:0x%08lx\n", SCB->ICSR);
 #ifdef COREDUMP_PRESENT
     trap_to_coredump(tf, &regs);
-    dump_core(&regs, sizeof(regs));
+    coredump_dump(&regs, sizeof(regs));
 #endif
     system_reset();
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/bd4a4568/libs/os/src/arch/cortex_m4/os_fault.c
----------------------------------------------------------------------
diff --git a/libs/os/src/arch/cortex_m4/os_fault.c b/libs/os/src/arch/cortex_m4/os_fault.c
index d248e59..9bc1db4 100644
--- a/libs/os/src/arch/cortex_m4/os_fault.c
+++ b/libs/os/src/arch/cortex_m4/os_fault.c
@@ -147,8 +147,7 @@ os_default_irq(struct trap_frame *tf)
 
 #ifdef COREDUMP_PRESENT
     trap_to_coredump(tf, &regs);
-    dump_core(&regs, sizeof(regs));
+    coredump_dump(&regs, sizeof(regs));
 #endif
-
     system_reset();
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/bd4a4568/sys/coredump/include/coredump/coredump.h
----------------------------------------------------------------------
diff --git a/sys/coredump/include/coredump/coredump.h b/sys/coredump/include/coredump/coredump.h
index e3eeadd..09696f5 100644
--- a/sys/coredump/include/coredump/coredump.h
+++ b/sys/coredump/include/coredump/coredump.h
@@ -50,7 +50,12 @@ struct coredump_header {
     uint32_t ch_size;                   /* Size of everything */
 };
 
-void dump_core(void *regs, int regs_sz);
+void coredump_dump(void *regs, int regs_sz);
+
+/*
+ * Set this to non-zero to prevent coredump from taking place.
+ */
+extern uint8_t coredump_disabled;
 
 #ifdef __cplusplus
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/bd4a4568/sys/coredump/src/coredump.c
----------------------------------------------------------------------
diff --git a/sys/coredump/src/coredump.c b/sys/coredump/src/coredump.c
index 2161ef8..40c32ab 100644
--- a/sys/coredump/src/coredump.c
+++ b/sys/coredump/src/coredump.c
@@ -23,6 +23,8 @@
 #include <imgmgr/imgmgr.h>
 #include <coredump/coredump.h>
 
+uint8_t coredump_disabled;
+
 static void
 dump_core_tlv(const struct flash_area *fa, uint32_t *off,
   struct coredump_tlv *tlv, void *data)
@@ -35,7 +37,7 @@ dump_core_tlv(const struct flash_area *fa, uint32_t *off,
 }
 
 void
-dump_core(void *regs, int regs_sz)
+coredump_dump(void *regs, int regs_sz)
 {
     struct coredump_header hdr;
     struct coredump_tlv tlv;
@@ -47,6 +49,9 @@ dump_core(void *regs, int regs_sz)
     uint32_t off;
     uint32_t area_off, area_end;
 
+    if (coredump_disabled) {
+        return;
+    }
     if (flash_area_open(FLASH_AREA_CORE, &fa)) {
         return;
     }