[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Schemix-devel] Using AVCALL library to call random functions in the
Re: [Schemix-devel] Using AVCALL library to call random functions in the kernel
Mon, 20 Nov 2006 16:05:10 -0500
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060607 Debian/1.7.12-1.2
I updated schemix to use AVCALL, but it now segfaults in an area I
didn't touch. I'm trying to set up user-mode linux so I can use the
My tree is uploaded under patches on savannah. Can I get cvs access?
I put in a request through the system.
You may be able to give me a clue about my current problem.
According to your example, the first one should work, but I get the
error shown. I think the last one is the way it should work, but
op_ctype() gets called with car(sc->code) == 0, so something along the
line is not working. Clues?
# echo "(kernel-lambda (char*) kernel::printk)" > /dev/schemix && cat
Error: eval: unbound variable: char*
# echo "(kernel-lambda ('char*) kernel::printk)" > /dev/schemix && cat
Error: illegal function char*
# echo "(kernel-lambda '(char*) kernel::printk)" > /dev/schemix && cat
William Bland wrote:
> Hi Cory,
> As you probably guessed from how long it took me to reply, I don't get
> much time these days to play with Schemix. I took a quick look at
> AVCALL though, and it looks perfect for allowing Schemix to call
> arbitrary kernel functions. Excellent find!
> If there's anything I can do to help out, feel free to ping me and/or
> this list again. I can't promise I'll be able to reply quickly, but
> I'll do what I can. Good luck!
> On 10/26/06, Cory Cross <address@hidden> wrote:
>> Hello everyone (anyone?),
>> I stopped working on this a while ago after getting dead-locked on a
>> foreign-function-interface library but remained interested. I ran across
>> AVCALL many months ago and finally decided to make it work. I tried
>> libffi, but it has many userland dependencies.
>> Progress: Got compilation and primitive function of avcall.
>> Next steps: Bring in vacall. Make both access any given function in the
>> kernel. Integrate into Schemix's kernel-lambda. (Of course, I still need
>> to locate my old Schemix files somewhere...)
>> My steps:
>> 1. Download attached files and place in separate directory mod-avcall
>> 2. Download ffcall (I used version 1.10) and compile avcall
>> 3. From avcall directory, copy avcall.h and .libs/libavcall.a to
>> 4. Run "make" in mod-avcall
>> 5. I added "V=1" to the Makefile for verbosity. The last thing "make"
>> does is link cory.o and cory.mod.o to create cory.ko. Copy this command,
>> then add "libavcall.a" to the end, in effect linking cory.o, cory.mod.o,
>> and libavcall.a to create a kernel module "cory.ko"
>> Cory Cross
>> #MODULE := cory.ko
>> OBJS := cory.o libavcall.a
>> obj-m := cory.o
>> #CFLAGS += -E
>> LDFLAGS = -v
>> make -C /lib/modules/$(shell uname -r)/build M=$(PWD) V=1
>> make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
>> Schemix-devel mailing list