I tried to find why the system crashes, and while doing so, it went
away ! The way I did it makes me suspect it's a timing problem, and
of course, my solution is not a *real* solution because it just
slows down the machine.
Here's how I made the crash disappear:
a) define CONFIG_SERIAL_ECHO in linux/drivers/char/console.c
you'll get most kernel-messages on either cua0 or cua1.
b) since console_print() doesnt give me all messages, I commented
out serial_echo_print() in console.c and inserted that instead
into linux/kernel/printk.c.
c) at critical points in the teles driver (i.e. teles_interrupt() etc...)
I inserted message like printk("enter <routine>\n"); and prinkt("done ..")
now I don't get any crashes anymore.
conclusion: since logging to cua? is slow (9600bps), the crash could
be time dependent. maybe ... a routing which is moving data around,
get interrupted, a pointer is set, and on RETI the interrupted
routine continues with the the now wrong pointer. I have no proof,
that's just a suspection.
Q: console.c says something like "serial_echo_outb(0x00,UART_DLM)"
which sets the speed to 9600. does anyone know which value to set
for 38400bps ?
/herp