On Tue, 2004-08-03 at 16:52, Marc Kleine-Budde wrote:
> On Tue, Aug 03, 2004 at 02:18:51PM +0200, Marc Kleine-Budde wrote:
> > I'm interested when and by whom the pod.svctable functions are used.
> > What I've figured out so far:
>
> > .tickhandler = set by xnpod_start_timer, called every tick in
> > periodic mode, in aperiodic mode at every shot
>
> I've looked at the tickhandler a bit deeper.
>
> In the function xnpod_start_timer function, the svctable.tickhandler is
> set to the given tickhandler, then the tickhandler is registered to
> be the handler of the timerinterrupt. With the effect, if you change the
> svctable.tickhandler, the interrupt still calls the old function.
>
> int xnpod_start_timer (u_long nstick, xnisr_t tickhandler)
> {
> ...
> nkpod->svctable.tickhandler = tickhandler;
> ...
> xnintr_init(&nkclock,0,nkpod->svctable.tickhandler,0);
> ...
> }
>
> The svctable.tickhandler is never used again in the whole system. Or
> have I missed sth in the VM oder the simulator.
>
This one is indeed deprecated. It was only useful with a threaded
interrupt model to allow the skin for catching the timer bottom-half,
but since fusion now implements a monolithic interrupt model, it's
useless: the bottom-half is exposed now. I'll remove this hook in 0.4.
> Marc
--
Philippe.