Subject: Re: Vancouver Lisp Users Group meeting for February 2008 - Doing Evil Things with CL
From: (Rob Warnock)
Date: Tue, 05 Feb 2008 21:39:41 -0600
Newsgroups: comp.lang.lisp,comp.lang.scheme
Message-ID: <>
billc  <> wrote:
| Topic: Doing Evil Things with CL
| Presenter: Brad Beveridge
| Summary: Brad will be talking about various low-level bits and pieces,
| including:
| - Loading code that is normally a Linux driver into a Lisp image

Hey, that's *my* trick!!  ;-}

Well, no, actually. My signature hack is writing the driver in a
Lisp image in the first place, and, only after it's functionally
complete *and* tested by mmap()'ing the hardware into the Lisp
image and using the Lisp-based driver to poke at the hardware
including DMA'ing into pinned user-mode pages, then hand-compiling[1]
it to C and dropping it into the Unix/Linux kernel...


[1] Well, I do tend to automatically generate the C header files,
    mainly the hardware register bit definitions (structs & manifest
    constants) from within the Lisp image. And also some simple
    C macros. And initialized arrays of magic constants. And also
    sometimes function prototypes. But the body of the executable
    function code is still hand-compiled to C.

Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607