l4v2: l4linux2.6 Syscall logging via IPC in l4

Andrew Davenport gtg259m at mail.gatech.edu
Thu Jul 7 21:50:13 CEST 2005


Thanks Martin,

But I want this capability to be built into the kernel (l4 microkernel), and I
would rather not use 3rd party packages.  Right now Im logging in
Thread::do_send.  I get the trap state as such:

Trap_state *ts = (Trap_state*)_utcb_handler;

from there i get: Unsigned32 intNo = ts->err >> 3;
and Unsigned32 eax = ts->eax, and so on for ebx, etc...

I am simply looking for an easy to filter out non-linux-syscalls so I only pay
attention to linux syscalls.  I think intNo gets changed somehow bc checking if
(intNo == 80) does not log anything!

Thanks,
Andrew

Quoting Martin Pohlack <mp26 at os.inf.tu-dresden.de>:

 Andrew Davenport wrote:
 > Hello,
 >
 > I am trying to log linux syscalls from l4linux2.6 on top of l4v2.  What is
 the
 > simplest way to log this at the IPC level (i have enabled exception IPC) and
 log
 > all the parameters?

 There are several approaches you might want to check out:

  - Use IPC tracing in the kernel debugger,
  - Use rt_mon or its successor GRTMon to instrument l4linux code.  There
    is a Diplomathesis about GRTMon "A Generalized Approach to Runtime
    Monitoring for Real-Time Systems" available from here:
    http://os/project/finished/finished.xml.de

 I'm not sure whether grtmon is already in our remote CVS, but I don't
 see a reason why it could not be ...

 Regards,
 Martin






More information about the l4-hackers mailing list