[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