diff doc/Blob-status @ 50:a62e5bf88434

first round of documentation
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 18 Oct 2020 18:08:15 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/Blob-status	Sun Oct 18 18:08:15 2020 +0000
@@ -0,0 +1,32 @@
+State of blobs in FreeCalypso firmware
+======================================
+
+FC Tourmaline is almost completely deblobbed.  Only the following very small
+components exist in the form of blobs (prebuilt binary objects for which we
+have no exact corresponding source) in the standard Tourmaline build:
+
+* OSL and OSX glue components of GPF: 14992 bytes of code
+* TMS470 compiler's RTS library (libc/libgcc equivalent): 13152 bytes of code
+
+For OSL and OSX we do have reconstructed C code written based on disassembly of
+the blobs, but I (Mother Mychaela) do not consider the current state of this C
+reconstruction to be fit for production use - hence standard Tourmaline fw
+builds use blob versions of these components.  However, our configuration and
+build system gives you the freedom to select which version of each component
+you would rather use; the selection is made with Bourne shell config variables
+on the configure.sh invokation line:
+
+OSL=0	use the blob version of OSL
+OSL=1	use the reconstructed C version of OSL
+OSX=0	use the blob version of OSX
+OSX=1	use the reconstructed C version of OSX
+
+The current default is OSL=0 and OSX=0.
+
+RTS library
+===========
+
+We do have source code for some versions of the TMS470 compiler's RTS library,
+but they may not be exactly corresponding to the blob version from TCS211 which
+we are using.  This area is deemed to be such a low priority that no real
+investigation has been done yet.