Debug helpers for BNX2X
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 26 Feb 2015 17:22:33 +0000 (12:22 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 2 Mar 2015 16:59:11 +0000 (11:59 -0500)
Poor-ftrace is too noisy without some blacklisted functions, at least for
bnx2x.

The FP / PC print is useful if you're concerned about running off the stack.

kern/arch/x86/kdebug.c
kern/src/kdebug.c

index 1e6178e..0a145e2 100644 (file)
@@ -314,6 +314,7 @@ size_t backtrace_list(uintptr_t pc, uintptr_t fp, uintptr_t *pcs,
        while (fp && nr_pcs < nr_slots) {
                /* could put some sanity checks in here... */
                pcs[nr_pcs++] = pc;
+               printd("PC %p FP %p\n", pc, fp);
                if (!is_kaddr((void*)fp))
                        break;
                /* PC becomes the retaddr - 1.  the -1 is to put our PC back inside the
index 87f8132..5890731 100644 (file)
@@ -62,6 +62,26 @@ static const char *blacklist[] = {
        "limborexmit",
        "rangecompare",
        "walkadd",
+       "bnx2x_alloc_rx_data",
+       "bnx2x_frag_alloc",
+       "__dma_map_single",
+       "__dma_mapping_error",
+       "__dma_zalloc_coherent",
+       "__dma_alloc_coherent",
+       "bnx2x_ilt_line_mem_op",
+       "bnx2x_ilt_line_init_op",
+       "bnx2x_ilt_line_wr",
+       "bnx2x_wr_64",
+       "pci_write_config_dword",
+       "bnx2x_init_str_wr",
+       "bnx2x_init_fill",
+       "bnx2x_init_block",
+       "bnx2x_write_big_buf",
+       "bnx2x_init_wr_wb",
+       "bnx2x_write_big_buf_wb",
+       "bnx2x_cl45_read",
+       "bnx2x_cl45_write",
+       "bnx2x_set_mdio_clk",
 };
 
 static bool is_blacklisted(const char *s)