linux/arch/blackfin
Robin Getz 13fe24f37d [Blackfin] arch: fix bug - trap_tests fails to recover on some tests.
http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3719

When the CPLBs get a miss, we do:
  - find a victim in the HW table
  - remove the victim
  - find the replacement in the software table
  - put it into the HW table.

If we can't find a replacement in the software table, we accidently
leave a duplicate in the HW table. This patch ensures that duplicate
is marked as not valid.

What we should do is find the replacement in the software table, before
we find a victim in the HW table - but its too late in the release cycle
to do that much restructuring of this code.

Rather that duplicate code, connect Hardware Errors (irq5) into trap_c,
so user space processes get killed properly.

The rest of irq_panic() can be moved into traps.c (later)

There is still a small corner case that causes problems when a
pheriperal interrupt goes off a single cycle before a user space
hardware error. This causes a kernel panic, rather than the user
space process being killed.

But, this checkin makes things work in 99.9% of the cases, and is a vast
improvement from what is there today (which fails 100% of the time).

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
2008-01-27 15:38:56 +08:00
..
boot Blackfin arch: add a cheesy install target 2007-10-22 00:45:55 +08:00
configs Blackfin arch: update defconfig files 2007-11-21 16:23:51 +08:00
kernel [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. 2008-01-27 15:38:56 +08:00
lib Blackfin arch: move EXPORT_SYMBOL() to C files where the symbol is actually defined 2007-11-21 15:34:51 +08:00
mach-bf527 Blackfin arch: Dont use cs_change_per_word, since the AD7877 driver doesnt require it anymore; fix bus numbers, fix typos 2007-11-15 21:33:31 +08:00
mach-bf533 Blackfin arch: Typo: "CONFIG_RTC_BFIN_MODULE" -> "CONFIG_RTC_DRV_BFIN_MODULE" 2007-11-17 22:57:03 +08:00
mach-bf537 Blackfin arch: fix bug when enable uart1 with uart0 disabled => no initial console 2007-11-21 17:04:41 +08:00
mach-bf548 Blackfin arch: fix building for BF542 processors which only have 1 TWI 2007-11-21 16:03:07 +08:00
mach-bf561 Blackfin arch: add AXIS AX88180 Gigabit Ethernet Hardware and Driver to board files 2007-11-17 23:56:08 +08:00
mach-common [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. 2008-01-27 15:38:56 +08:00
mm Blackfin arch: do not include linux/autoconf.h 2007-11-15 21:22:53 +08:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
Kconfig Fix Blackfin HARDWARE_PM support 2008-01-15 12:32:30 -08:00
Kconfig.debug Blackfin arch: split debug stuff off into Kconfig.debug like everyone else 2007-11-21 23:50:49 +08:00
Makefile Blackfin arch: add BF547 to list of accepted procs 2007-11-15 21:10:21 +08:00