All of lore.kernel.org
 help / color / mirror / Atom feed
* [Adeos-main] ppc Linux(root-domain) syscall
@ 2006-12-17 18:09 barbalace
  2006-12-17 18:27 ` Philippe Gerum
  0 siblings, 1 reply; 2+ messages in thread
From: barbalace @ 2006-12-17 18:09 UTC (permalink / raw)
  To: adeos-main


Reading Adeos patch (adeos-ipipe-2.6.14-ppc-1.3-05.patch) I see that after a
0xc00 (System call) is issued entry.S call __ipipe_syscall_root; this one in
arch/ppc/kernel/ipipe-root.c dispatch the event and after this return
eventually DoSyscall is executed if __ipipe_syscall_root return 0.
If I don't missunderstand the code why not execute DoSyscall in the event
dispatching?

Thanks
Antonio


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Adeos-main] ppc Linux(root-domain) syscall
  2006-12-17 18:09 [Adeos-main] ppc Linux(root-domain) syscall barbalace
@ 2006-12-17 18:27 ` Philippe Gerum
  0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2006-12-17 18:27 UTC (permalink / raw)
  To: barbalace; +Cc: adeos-main

On Sun, 2006-12-17 at 19:09 +0100, barbalace@domain.hid wrote:
> Reading Adeos patch (adeos-ipipe-2.6.14-ppc-1.3-05.patch) I see that after a
> 0xc00 (System call) is issued entry.S call __ipipe_syscall_root; this one in
> arch/ppc/kernel/ipipe-root.c dispatch the event and after this return
> eventually DoSyscall is executed if __ipipe_syscall_root return 0.
> If I don't missunderstand the code why not execute DoSyscall in the event
> dispatching?

Because you don't want to run all the code present in DoSyscall when you
don't run over the Linux domain, and the system call entry point may be
invoked from a non-Linux context, e.g. some RTOS running in parallel.
In the latter case, __ipipe_syscall root may return non-zero,
specifically 1 or -1.

The former means "the last syscall was not a Linux one, please forget
completly and exit", and the latter means "this was not a Linux syscall,
but it might have changed something Linux should be aware of, so check
for pending signals, rescheduling opportunities etc.". This is how
Xenomai interposes on all syscalls issued from a RT task in user-space,
and dispatches them depending on who wants to process it (i.e. the RTOS
kernel first, and eventually Linux if applicable).

> 
> Thanks
> Antonio
> 
> _______________________________________________
> Adeos-main mailing list
> Adeos-main@domain.hid
> https://mail.gna.org/listinfo/adeos-main
-- 
Philippe.




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-12-17 18:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-17 18:09 [Adeos-main] ppc Linux(root-domain) syscall barbalace
2006-12-17 18:27 ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.