linux/arch/blackfin/mach-common
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
..
arch_checks.c Blackfin arch: to do some consolidation of common code and common name spaces 2007-10-10 23:55:26 +08:00
cache.S Blackfin arch: use HI/LO macros rather than masking the bit ranges ourselves 2007-07-25 10:11:42 +08:00
cacheinit.S Blackfin arch: to do some consolidation of common code and common name spaces 2007-10-10 23:55:26 +08:00
cplbhdlr.S Blackfin arch: to do some consolidation of common code and common name spaces 2007-10-10 23:55:26 +08:00
cplbinfo.c Blackfin arch: fix spurious newline in header 2007-11-17 23:24:07 +08:00
cplbmgr.S [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. 2008-01-27 15:38:56 +08:00
dpmc.S Blackfin arch: Fix CCLK and SCLK checks 2007-08-03 18:07:17 +08:00
entry.S Blackfin arch: use common __INIT/__FINIT defines rather than setting the .section ourselves to .init.text 2007-11-21 16:45:08 +08:00
interrupt.S [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. 2008-01-27 15:38:56 +08:00
ints-priority-dc.c Blackfin arch: remove useless CONFIG_IRQCHIP_DEMUX_GPIO 2007-11-15 21:12:32 +08:00
ints-priority-sc.c Blackfin arch: remove useless CONFIG_IRQCHIP_DEMUX_GPIO 2007-11-15 21:12:32 +08:00
irqpanic.c [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. 2008-01-27 15:38:56 +08:00
lock.S Blackfin arch: to do some consolidation of common code and common name spaces 2007-10-10 23:55:26 +08:00
Makefile Blackfin arch: Fix CCLK and SCLK checks 2007-08-03 18:07:17 +08:00
pm.c PM: Rework struct platform_suspend_ops 2007-10-18 14:37:18 -07:00