• Robin Getz's avatar
    [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. · 13fe24f3
    Robin Getz authored
    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. Thi...
    13fe24f3
irqpanic.c 4.21 KB