LLVM and the windows xp/vista kernel

Hello,

I was wondering if anyone has had success at running the LLVM within the windows xp kernel? The XP kernel really does not like C++ or exceptions and there is a project which attempts at getting C++ in there. In your humble opinion, do you think it can be done?

My project is a reconfigurable device driver system which dynamically optimizes for the available hardware. two thirds is within the windows kernel. I’d like to rip out alot of the code and replace with llvm which then JIT for the given processor…

Sincerely,

Daniel Chapiesky

dchapiesky@juno.com wrote:

Hello,

I was wondering if anyone has had success at running the LLVM within the windows xp kernel? The XP kernel really does not like C++ or exceptions and there is a project which attempts at getting C++ in there. In your humble opinion, do you think it can be done?

No, it has not been done. Yes, in theory, it can be done. However, it will be very painful and will require a version of libstdc++ that does not rely on kernel services.

I tried something similar on Linux about 2 years ago. I managed to get a very small amount of bytecode parsed within the kernel. However, it required ripping stuff out of GCC's libstdc++ (because it checks environment variables and tries to open configuration files for locale information).

My project is a reconfigurable device driver system which dynamically optimizes for the available hardware. two thirds is within the windows kernel. I'd like to rip out alot of the code and replace with llvm which then JIT for the given processor....

A better approach is to run the JIT in user-space and have a special kernel driver give it access to the necessary portions of kernel memory. While the coordination between user and kernel space might be tricky, it's still probably easier than trying to get the whole JIT working in kernel space (especially on Windows, where the kernel library APIs is not a subset of the C API).

-- John T.