On Tue, Aug 03, 2004 at 06:56:10PM +0200, Marc Kleine-Budde wrote: > Hmm - After winding though about 4-5 layers[1]....this function calls > the svctable.faulthandler, only if a xnthread is active.
> [1] From there fault to the handling..... > > 1) > rthal catches all HW faults from adeos: > adeos_catch_event(trapnr,&rthal_trap_fault); > > 2) > rthal_trap_fault calls rthal_trap_handler if in RT-mode > note: rthal_trap_handler is a functionpointer > > 3) > rthal_trap_handler is set by rthal_set_trap_handler > > 4) > during xnarch_init(): > rthal_set_trap_handler(&xnarch_trap_fault); > > 5) > in xnarch_trap_fault(): > xnpod_trap_fault() is called > > 6) > xnpod_trap_fault() finally calls the faulthandler defined in the > svctable > > note: steps 1, 3, 4 are done during system-setup, not runtime > > during faul-runtime its: > adeos -> rthal_trap_fault -> xnarch_trap_fault -> xnpod_trap_fault -> > svctable.faulthandler I thought you would have said sth to this.... The exception of the faults is very labyrinthic :) It goes through several 'real' layers. This was needed in RTAI 3.0 and 3.1 but I think If somebody has enough/too much :) time, it should be redesigned... xnpod_trap_fault should be directly registered within the Adeos layer. At least something for someones TODO list :) just my 2 cent - Marc -- #!/bin/sh set - `type $0` 'tr "[a-zA-Z]" "[n-za-mN-ZA-M]"';while [ "$2" != "" ];do \ shift;done; echo 'frq -a -rc '`echo "$0"| $1 `'>$UBZR/.`rpub signature|'`\ echo $1|$1`'`;rpub "Jr ner fvtangher bs obet. Erfvfgnapr vf shgvyr!"'|$1|sh
