All of lore.kernel.org
 help / color / mirror / Atom feed
* [Adeos-main] adeos_enter/exit_syscall
@ 2004-08-04 22:16 aaron durbin
  2004-08-04 22:24 ` Philippe Gerum
  2004-08-04 22:27 ` Marc Kleine-Budde
  0 siblings, 2 replies; 3+ messages in thread
From: aaron durbin @ 2004-08-04 22:16 UTC (permalink / raw)
  To: 'adeos-main@gna.org'

I have a question concerning the adeos_enter_syscall routine.  Is there
normally event monitors for syscall entry (SYSCALL_PROLOGUE)?  If so and
handle_event returns non-zero then one automatically restores the registers
and returns w/o calling the system call.  Doesn't this destroy the call?

-Aaron


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

* Re: [Adeos-main] adeos_enter/exit_syscall
  2004-08-04 22:16 [Adeos-main] adeos_enter/exit_syscall aaron durbin
@ 2004-08-04 22:24 ` Philippe Gerum
  2004-08-04 22:27 ` Marc Kleine-Budde
  1 sibling, 0 replies; 3+ messages in thread
From: Philippe Gerum @ 2004-08-04 22:24 UTC (permalink / raw)
  To: aaron durbin; +Cc: 'adeos-main@gna.org'

On Thu, 2004-08-05 at 00:16, aaron durbin wrote:
> I have a question concerning the adeos_enter_syscall routine.  Is there
> normally event monitors for syscall entry (SYSCALL_PROLOGUE)? 

Not normally when no domain is loaded. The Linux domain by itself does
not intercept (its own) syscalls. But other domains might want this
(RTAI does).

>  If so and
> handle_event returns non-zero then one automatically restores the registers
> and returns w/o calling the system call.  Doesn't this destroy the call?
> 

It prevents its execution by the Linux kernel actually. Think of a more
prioritary (in the sense higher in the pipeline than Linux) that wants
to intercept some specific syscalls issued by regular Linux apps, and
provides a replacement for them. In such a case, you might not want the
original syscall to be handled by Linux too; so you make sure that it is
not propagated to Linux -- this translates in having handle_event return
non-zero (because adeos_propagate_event is not called for the said
syscall in the upper domain handler).

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

Philippe.



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

* Re: [Adeos-main] adeos_enter/exit_syscall
  2004-08-04 22:16 [Adeos-main] adeos_enter/exit_syscall aaron durbin
  2004-08-04 22:24 ` Philippe Gerum
@ 2004-08-04 22:27 ` Marc Kleine-Budde
  1 sibling, 0 replies; 3+ messages in thread
From: Marc Kleine-Budde @ 2004-08-04 22:27 UTC (permalink / raw)
  To: aaron durbin; +Cc: 'adeos-main@gna.org'

Hi!

Let's hope I've understand the concept... :)

On Wed, Aug 04, 2004 at 05:16:07PM -0500, aaron durbin wrote:
> I have a question concerning the adeos_enter_syscall routine.  Is there
> normally event monitors for syscall entry (SYSCALL_PROLOGUE)?  If so and

There can be a monitor, but there must not be one. 

> handle_event returns non-zero then one automatically restores the registers
> and returns w/o calling the system call.  Doesn't this destroy the call?

Yes - It should - This way you can handle syscall in the RTHAL domain
und substitute it with you own syscall, doing the same, but better then
linux (e.g. nanosleep).

Or the syscalls to the nucleus and skins, they are completely handled
outside of the linux kernel.

hth - 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


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

end of thread, other threads:[~2004-08-04 22:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-04 22:16 [Adeos-main] adeos_enter/exit_syscall aaron durbin
2004-08-04 22:24 ` Philippe Gerum
2004-08-04 22:27 ` Marc Kleine-Budde

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.