On Mon, Aug 13, 2001 at 03:38:36PM +0200, Maciej W. Rozycki wrote:
> Unlike most architectures which only handle memory faults/privilege
> violations via __ex_table, the MIPS port allows to handle bus error
> exceptions via __dbe_table. Unfortunately, the latter table is not
> exported to modules, so if a modularized driver needs to probe the address
> space for a device it's out of luck.
> The following patch implements the kernel part of __dbe_table support. A
> separate patch is needed for modutils.
> A side effect of the patch is a fix to unhandled bus error exceptions
> which happen in the kernel mode. Currently they cause the faulting code
> to be reexecuted which results in a hang in an infinite loop. With the
> patch applied, the kernel's response is an "Oops" similar to the one
> printed when a memory fault happens.
> I hope it's fine to apply.
Looks fine at the first view. I'll apply it but duplicate it for mips64
The whole mechanism has it's problems though. On the Origin certain
accesses like an attempt to write to a non-existant serial interface
take down the machine though. I don't have an explanation nor did Kanoj