# HG changeset patch # User Mychaela Falconia # Date 1509386604 0 # Node ID ed3e588600c144e1ab80d1f2b1968574aa9eb052 # Parent bc7ca94e52e761b6f1a307cc01d1930efaafe19f README update for the successful completion of the L1 reconstruction project diff -r bc7ca94e52e7 -r ed3e588600c1 README --- a/README Mon Oct 30 17:27:58 2017 +0000 +++ b/README Mon Oct 30 18:03:24 2017 +0000 @@ -1,16 +1,19 @@ -This Hg repository contains a version of TI's TCS211 firmware based on our sole -available TCS211 semi-src with the L1 component almost fully deblobbed. -Specifically, we have deblobbed all of L1 with the exception of GPRS-specific -l1p_*, macs and p_tpudr12 modules - all other L1 modules are recompiled from -reconstructed C sources, producing objects that work in the place of the -original blobs - sometimes matching bit for bit, in other cases differing in -the bits, but matching in logic. See STATUS for a detailed analysis of the -reconstruction matches and differences. +This Hg repository contains the result of the two year long project to deblob +the L1 component in our copy of TCS211 from Sotovik by reconstructing the lost +C source - see the Hg history for how this reconstruction has been accomplished. +This reconstruction and deblobbing of TCS211 L1 is now complete: BuSyB XML +config file g23m/system/busyb/deliverydefs/dlvcfg0.xml has been edited to +rebuild all of L1 from source (L1_LIB_DLV, L1_CUST_LIB_DLV and L1_TPU_LIB_DLV +all set to 0), pdt_2091.mak has been regenerated in this configuration, and all +L1 libs are compiled from the reconstructed source under chipsetsw/layer1. -Building the firmware in this tree requires a trick because of the not-yet- -deblobbed L1_GPRS modules - see README.old for the details. This tree only -supports the original gtamodem target; see FreeCalypso Magnetite for other -target support. +In most cases the reconstructed C source is perfect in that the resulting +object is a bit-for-bit match to the original blob; in other cases the bits do +not match exactly, but the logic has been verified to match nonetheless. See +STATUS for a detailed analysis of the reconstruction matches and differences. + +This tree only supports the original gtamodem target; see FreeCalypso Magnetite +for other target support. Choice of version for reconstruction ==================================== @@ -26,12 +29,12 @@ The differences between the two versions are limited to just 3 objects: l1_cmplx.obj and l1p_cmpl.obj in l1_ext.lib, and l1_ctl.obj in l1_int.lib. -When we were reconstructing l1_cmplx.c and l1_ctl.c from the available LoCosto -source, the reconstruction of the original 20070608 version came more easily -than the 20080421 update, and our reconstruction of these two modules matches -the 20070608 objects bit for bit. It thus appears that whatever changes TI's -customer support group made in that 20080421 version were not on TI's internal -mainline. +When we were reconstructing l1_cmplx.c, l1_ctl.c and l1p_cmpl.c from the +available LoCosto source, the reconstruction of the original 20070608 version +came more easily than the 20080421 update, and our reconstruction of these 3 +modules matches the 20070608 objects bit for bit. It thus appears that +whatever changes TI's customer support group made in that 20080421 version were +not on TI's internal mainline. Because the 20080421 L1 libs update was made for no other purpose except an attempt to debug or fix what was erroneously believed to be a firmware problem @@ -40,9 +43,3 @@ 20070608 version was easier to source-reconstruct than the other, we are adopting the original 20070608 version and our reconstruction of its C source form as the canonical version of TCS211 L1 for FreeCalypso. - -Note that because we have not source-reconstructed the GPRS-specific l1p_* -modules yet, we haven't looked at the l1p_cmpl.obj differences yet. However, -when building a complete fw image with GPRS included using our partially -reconstructed L1, one should use the 20070608 version of the l1p_cmpl.obj blob -for consistency, like we do in FreeCalypso Magnetite.