[llvm-commits] CVS: llvm-www/ProjectsWithLLVM/index.html
Misha Brukman
brukman at cs.uiuc.edu
Thu Jan 8 16:06:03 PST 2004
Changes in directory llvm-www/ProjectsWithLLVM:
index.html updated: 1.6 -> 1.7
---
Log message:
Added abstract for the LLVA-emu project.
---
Diffs of the changes: (+25 -3)
Index: llvm-www/ProjectsWithLLVM/index.html
diff -u llvm-www/ProjectsWithLLVM/index.html:1.6 llvm-www/ProjectsWithLLVM/index.html:1.7
--- llvm-www/ProjectsWithLLVM/index.html:1.6 Thu Jan 8 15:32:06 2004
+++ llvm-www/ProjectsWithLLVM/index.html Thu Jan 8 16:05:50 2004
@@ -37,9 +37,31 @@
<a href="http://www.students.uiuc.edu/~gaeke/">Brian Gaeke</a>
</div>
-<p>
-Abstract to appear, so says Misha. :)
-</p>
+<p>"Traditional architectures use the hardware instruction set for dual
+purposes: first, as a language in which to express the semantics of software
+programs, and second, as a means for controlling the hardware. The thesis of
+the <a href="/pubs/2003-10-01-LLVA.html">Low-Level Virtual Architecture</a>
+project is to decouple these two uses from one another, allowing software to be
+expressed in a semantically richer, more easily-manipulated format, and
+allowing for more powerful optimizations and whole-program analyses directly on
+compiled code.</p>
+
+<p>The semantically rich format we use in LLVA, which is based on the LLVM
+compiler infrastructure's intermediate representation, can best be understood
+as a "virtual instruction set". This means that while its instructions are
+closely matched to those available in the underlying hardware, they may not
+correspond exactly to the instructions understood by the underlying hardware.
+These underlying instructions we call the "implementation instruction set."
+Between the two layers lives the translation layer, typically implemented in
+software.</p>
+
+<p>In this project, we have taken our next logical steps in this effort by (1)
+porting the entire Linux kernel to LLVA, and (2) engineering an environment in
+which a kernel can be run directly from its LLVM bytecode representation --
+essentially, a minimal, but complete, emulated computer system with LLVA as its
+native instruction set. The emulator we have invented, llva-emu, executes
+kernel code by translating programs "just-in-time" from the LLVM bytecode
+format to the processor's native instruction set.</p>
<p>
Project report: <a href="2003-Fall-CS497YYZ-LLVA-emu.ps">PS</a>,
More information about the llvm-commits
mailing list