Section: binfmt_C (8)Updated: 2006 Jan 1Local indexUp
NAME
realksh.c - A shell for running Kernel-mode C code
SYNOPSIS
realksh.c
DESCRIPTION
realksh.c
is an interactive shell that runs C source code.
A line of input is handled as a line in
module_init()
function, and the resulting C code is compiled to build a kernel module.
The module is then inserted into the kernel, and removed from the kernel.
kernel message output prepended with
KMSG:
is copied to standard out for convenience, so that functions like
printk
can be used for easy debugging.
If a line starting with
#
such as
#include <stdio.h>
is entered, it is added to every code after that
at the start of sourcecode.
The list of such lines can be seen with
##
EXAMPLES
The following is an example session
$ sudo ./realksh.c
REAL ksh: printk ("hello\n");
Building modules, stage 2.
KMSG: <4>hello
REAL ksh: printk ("%x\n", mfmsr());
Building modules, stage 2.
KMSG: <4>9032
REAL ksh: printk ("%x\n", mfspr(SPRN_MMCR0));
Building modules, stage 2.
KMSG: <4>0
REAL ksh: