<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Dear Silvain,<br>
<br>
On 1/31/10 1:34 PM, Sylvain Ageneau wrote:
<blockquote cite="mid:236118.35732.qm@web26906.mail.ukl.yahoo.com"
 type="cite">
  <style type="text/css"><!-- DIV {margin:0px;} --></style>
  <div
 style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: rgb(0, 64, 127);">
  <div>
  <div
 style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: rgb(0, 64, 127);">
  <div>Hello,<br>
  <br>
I'd like to announce that <a moz-do-not-send="true" rel="nofollow"
 target="_blank" href="http://tinyscheme.sourceforge.net/home.html">tinyscheme</a>
can now run as a coreboot payload.<br>
  <br>
TinyScheme is a lightweight Scheme interpreter that implements as large
a subset of R5RS as was possible without getting very large and
complicated. It is meant to be used as an embedded scripting
interpreter
for other programs. As such, it does not offer IDEs or extensive
toolkits
although it does sport a small top-level loop, included conditionally.
A lot of functionality in TinyScheme is included conditionally, to
allow
developers freedom in balancing features and footprint.
Programmatically, foreign functions in C can be added and values
can be defined in the Scheme environment. <br>
  </div>
  </div>
  </div>
  </div>
</blockquote>
Thank you very much for your efforts.<br>
<blockquote cite="mid:236118.35732.qm@web26906.mail.ukl.yahoo.com"
 type="cite">
  <div
 style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: rgb(0, 64, 127);">
  <div>
  <div
 style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: rgb(0, 64, 127);">
  <div>The
port was quite straightforward, most of the needed fonctionality needed
was already in libpayload. It was probably possible to adapt tinyscheme
to run on an unmodified libpayload but it didn't seem difficult to take
the needed C functions from dietlibc (mostly stdio / math stuff) so I
went that way instead (just needed to make some stubs for some low
level functions like read/write). I don't know what your policy is with
respect to integrating code from another GPL project but it looks like
quite a bit of dietlibc could be easily integrated into libpayload.
Some stuff uses syscalls and the like but other code doesn't require
any fancy OS functionality.<br>
  </div>
  </div>
  </div>
  </div>
</blockquote>
Please note that libpayload is _not_ released under the GPL, but under
the BSD license (just like tinyscheme, btw), so it can not share code
with GPL projects.<br>
<br>
Please also check
<a class="moz-txt-link-freetext" href="http://www.coreboot.org/Development_Guidelines#How_to_contribute">http://www.coreboot.org/Development_Guidelines#How_to_contribute</a>,
especially the section on signing off patches. :-)<br>
<br>
Best regards,<br>
<br>
Stefan<br>
<br>
</body>
</html>