Skip to content

Commit

Permalink
Blackfin arch: If we double fault, rather than hang forever, reset
Browse files Browse the repository at this point in the history
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
  • Loading branch information
Robin Getz authored and Bryan Wu committed Jul 26, 2008
1 parent 9de3a0b commit 2d20098
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions arch/blackfin/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,9 @@ void __init setup_arch(char **cmdline_p)

_bfin_swrst = bfin_read_SWRST();

/* If we double fault, reset the system - otherwise we hang forever */
bfin_write_SWRST(DOUBLE_FAULT);

if (_bfin_swrst & RESET_DOUBLE)
printk(KERN_INFO "Recovering from Double Fault event\n");
else if (_bfin_swrst & RESET_WDOG)
Expand Down Expand Up @@ -1017,10 +1020,10 @@ static int show_cpuinfo(struct seq_file *m, void *v)
}

/* Is it turned on? */
if (bfin_read_DMEM_CONTROL() & (ENDCPLB | DMC_ENABLE) != (ENDCPLB | DMC_ENABLE))
if ((bfin_read_DMEM_CONTROL() & (ENDCPLB | DMC_ENABLE)) != (ENDCPLB | DMC_ENABLE))
dcache_size = 0;

if (bfin_read_IMEM_CONTROL() & (IMC | ENICPLB) == (IMC | ENICPLB))
if ((bfin_read_IMEM_CONTROL() & (IMC | ENICPLB)) == (IMC | ENICPLB))
icache_size = 0;

seq_printf(m, "cache size\t: %d KB(L1 icache) "
Expand Down

0 comments on commit 2d20098

Please sign in to comment.