Dynamically altering code segments

From: Collins, Tom (Tom.Collins@Surgient.com)
Date: Tue Feb 27 2001 - 11:43:02 EST


Hi...

This is my first post, so if this is off topic for this list, please direct
me
to another one that is more appropriate. Thanks

That said, I am wanting to dynamically modify the kernel in specific places
to
implement a custom kernel trace mechanism. The general idea is that, when
the
"trace" is off, there are NOP instruction sequences at various places in the
kernel. When the "trace" is turned on, those same NOPs are replaced by JMPs
to code that implements the trace (such as logging events, using the MSR and
PMC's etc..).

This was a trick that was done in my old days of OS/2 performance tools
developement to get trace information from the running kernel. In that
case,
we simply remapped the appropriate code segments to data segments (I think
back then it was called 'aliasing code segments') and used that segment to
make changes to the kernel code on the fly.

Is it possible to do the same thing in Linux?

Thanks

Tom

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 28 2001 - 21:00:14 EST