[Yaffs] [Yaffs-archive] YAFFS code repartitioning for YAFFS2 etc

Charles Manning manningc2@actrix.gen.nz
Sat, 25 Oct 2003 21:08:53 +1300


--------------Boundary-00=_TYZA64BZ0YMOVJHGB2G5
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

One of the things that is needed to align the YAFFS codebase for YAFFS2 is to 
make a cleaner division between the YAFFS guts and device specific routines. 
There are already some uglinesses in yaffs_guts to support hw ecc etc., so 
this repartitioning should help to make the system integrator's job easier 
too.

Herewith a repartitioning proposal. I'd like people to give this a read 
(particularly anyone who has dabbled with the yaffs_mtd interface  or 
equivalent) and comment.

Thanx

-- Charles

--------------Boundary-00=_TYZA64BZ0YMOVJHGB2G5
Content-Type: text/html;
  charset="iso-8859-1";
  name="YAFFS_code_repartitioning.html"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="YAFFS_code_repartitioning.html"

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMi8vRU4iPgo8SFRNTD4K
PEhFQUQ+Cgk8TUVUQSBIVFRQLUVRVUlWPSJDT05URU5ULVRZUEUiIENPTlRFTlQ9InRleHQvaHRt
bDsgY2hhcnNldD1pc28tODg1OS0xIj4KCTxUSVRMRT5ZQUZGUyBjb2RlIHJlcGFydGl0aW9uaW5n
PC9USVRMRT4KCTxNRVRBIE5BTUU9IkdFTkVSQVRPUiIgQ09OVEVOVD0iU3Rhck9mZmljZS81LjIg
KExpbnV4KSI+Cgk8TUVUQSBOQU1FPSJBVVRIT1IiIENPTlRFTlQ9IkFkbWluaXN0cmF0b3IiPgoJ
PE1FVEEgTkFNRT0iQ1JFQVRFRCIgQ09OVEVOVD0iMjAwMzEwMjU7MTI1NzAwMDAiPgoJPE1FVEEg
TkFNRT0iQ0hBTkdFREJZIiBDT05URU5UPSJBZG1pbmlzdHJhdG9yIj4KCTxNRVRBIE5BTUU9IkNI
QU5HRUQiIENPTlRFTlQ9IjIwMDMxMDI1OzE4NTMwMDAwIj4KCTxTVFlMRT4KCTwhLS0KCQlAcGFn
ZSB7IHNpemU6IDIxLjU5Y20gMjkuN2NtOyBtYXJnaW4tbGVmdDogMmNtOyBtYXJnaW4tcmlnaHQ6
IDMuMThjbTsgbWFyZ2luLXRvcDogMi41NGNtOyBtYXJnaW4tYm90dG9tOiAyLjU0Y20gfQoJCUgx
IHsgbWFyZ2luLWJvdHRvbTogMC4yMWNtOyBmb250LWZhbWlseTogImhlbHZldGljYSIsIHNhbnMt
c2VyaWY7IGZvbnQtc2l6ZTogMTZwdDsgd2lkb3dzOiAyOyBvcnBoYW5zOiAyIH0KCS0tPgoJPC9T
VFlMRT4KPC9IRUFEPgo8Qk9EWT4KPEgxPllBRkZTIGNvZGUgcmVwYXJ0aXRpb25pbmcgcHJvcG9z
YWw8L0gxPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj48QlI+CjwvUD4KPFAgU1RZTEU9
Im1hcmdpbi1ib3R0b206IDBjbSI+Q3VycmVudGx5IHRoZSBZQUZGUyBjb2RlIGhhcyB0aGUKZm9s
bG93aW5nIGJhc2ljIHN0cnVjdHVyZS48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20i
PllhZmZzX2ZzLmMgKG9yIHNpbWlsYXIpOiBZQUZGUyBmaWxlCnN5c3RlbSBpbnRlcmZhY2UgdG8g
aG9vayB1cCBZQUZGUyB0byB0aGUgT1MuIEVnLCBVbmRlciBMaW51eCB0aGlzCmltcGxlbWVudHMg
dGhlIFZGUyBpbnRlcmZhY2UuPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj5ZYWZm
c19ndXRzLmM6IFRoZSBmaWxlIHN5c3RlbSAmcXVvdDtndXRzJnF1b3Q7LgpUaGlzIGlzIHRoZSAo
cG9ydGFibGUpIGNvZGUgdGhhdCBpbXBsZW1lbnRzIHRoZSBZQUZGUyBmaWxlIHN5dGVtCmFsZ29y
aXRobXMuIAo8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPllhZmZzX210ZGlmLmMg
KG9yIGVxdWl2YWxlbnQpOiBSb3V0aW5lcwp0byBhY2Nlc3MgdGhlIE5BTkQgZmxhc2guPC9QPgo8
UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj5ZYWZmY19lY2MuYzogRUNDIGFsZ29yaXRobXMu
PC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj48QlI+CjwvUD4KPFAgU1RZTEU9Im1h
cmdpbi1ib3R0b206IDBjbSI+Q3VycmVudGx5LCB5YWZmc19ndXRzICZxdW90O2tub3dzCmFib3V0
JnF1b3Q7IEVDQywgc3BhcmUgKG91dCBvZiBiYW5kKSByZWdpb25zLCBiYWQgYmxvY2sgYWxnb3Jp
dGhtcwphbmQgc3VjaCBsb3ctbGV2ZWwgTkFORCBhY3Rpb25zLiBUaGlzIG1lYW5zIHRoYXQgeWFm
ZnNfZ3V0cyBnZXRzIGEKYml0IG1lc3N5IHdoZW4gZGVhbGluZyBkZXZpY2VzIHdoZXJlIHRoZXNl
IGFsZ29yaXRobXMgbmVlZCB0byBiZQpjaGFuZ2VkLiBGb3IgaW5zdGFuY2U6PC9QPgo8VUw+Cgk8
TEk+PFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBjbSI+RGV2aWNlcyB3aXRoIGRpZmZlcmVudCBi
YWQgYmxvY2sKCW1hcmtpbmcgc3RyYXRlZ2llcy48L1A+Cgk8TEk+PFAgU1RZTEU9Im1hcmdpbi1i
b3R0b206IDBjbSI+RGV2aWNlcyB3aXRoIGhhcmR3YXJlIEVDQy48L1A+Cgk8TEk+PFAgU1RZTEU9
Im1hcmdpbi1ib3R0b206IDBjbSI+RGV2aWNlcyB3aGVyZSB0aGUgc3BhcmUgZGF0YQoJbGF5b3V0
IGlzIGRpZmZlcmVudC48L1A+Cgk8TEk+PFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBjbSI+RGVh
bGluZyB3aXRoIGRpZmZlcmVudCBjaHVuawoJc2l6ZXMsIHBhcnRpY3VsYXJseSB0aGUgZGlmZmVy
ZW50IEVDQyBzaXplcyBmb3IgWUFGRlMyLjwvUD4KCTxMST48UCBTVFlMRT0ibWFyZ2luLWJvdHRv
bTogMGNtIj5EZWFsaW5nIHdpdGggd3JpdGUgdmVyaWZpY2F0aW9uLjwvUD4KPC9VTD4KPFAgU1RZ
TEU9Im1hcmdpbi1ib3R0b206IDBjbSI+PEJSPgo8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9t
OiAwY20iPlRoaXMgZGlzY3Vzc2lvbiBwcm9wb3NlcyBhCnJlLXBhcnRpdGlvbmluZyBvZiB0aGUg
aW50ZXJmYWNlIGJldHdlZW4gdGhlIHlhZmZzX2d1dHMuIEFuZAp5YWZmc19tdGQuYyB0byBjbGVh
biB1cCB0aGVzZSBpc3N1ZXMsIHRodXMgbWFraW5nIGl0IGVhc2llciAoYW5kCmNsZWFuZXIpIHRv
IGRlYWwgd2l0aCB0aGVzZSBkaWZmZXJlbmNlcy48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9t
OiAwY20iPjxCUj4KPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj5UaGUgY3VycmVu
dCBpbnRlcmZhY2UgY29tcHJpc2VzIDQKZnVuY3Rpb25zOjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1i
b3R0b206IDBjbSI+PEJSPgo8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxGT05U
IEZBQ0U9IkNvdXJpZXIsIG1vbm9zcGFjZSI+PEZPTlQgU0laRT0yPmludApXcml0ZUNodW5rVG9O
QU5EKHlhZmZzX0RldmljZSAqZGV2LGludCBjaHVua0luTkFORCwgY29uc3QgX191OCAqZGF0YSwK
eWFmZnNfU3BhcmUgKnNwYXJlKTs8L0ZPTlQ+PC9GT05UPjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1i
b3R0b206IDBjbSI+PEZPTlQgRkFDRT0iQ291cmllciwgbW9ub3NwYWNlIj48Rk9OVCBTSVpFPTI+
aW50ClJlYWRDaHVua0Zyb21OQU5EKHlhZmZzX0RldmljZSAqZGV2LGludCBjaHVua0luTkFORCwg
X191OCAqZGF0YSwKeWFmZnNfU3BhcmUgKnNwYXJlKTs8L0ZPTlQ+PC9GT05UPjwvUD4KPFAgU1RZ
TEU9Im1hcmdpbi1ib3R0b206IDBjbSI+PEZPTlQgRkFDRT0iQ291cmllciwgbW9ub3NwYWNlIj48
Rk9OVCBTSVpFPTI+aW50CkVyYXNlQmxvY2tJbk5BTkQoeWFmZnNfRGV2aWNlICpkZXYsaW50IGJs
b2NrSW5OQU5EKTs8L0ZPTlQ+PC9GT05UPjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBj
bSI+PEZPTlQgRkFDRT0iQ291cmllciwgbW9ub3NwYWNlIj48Rk9OVCBTSVpFPTI+aW50CkluaXRp
YWxpc2VOQU5EKHlhZmZzX0RldmljZSAqZGV2KTs8L0ZPTlQ+PC9GT05UPjwvUD4KPFAgU1RZTEU9
Im1hcmdpbi1ib3R0b206IDBjbSI+PEJSPgo8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAw
Y20iPkFzIGxpc3RlZCBhYm92ZSwgb2YgdGhlIDQgbWFqb3IKcGFydGl0aW9uaW5nIGlzc3Vlcywg
dGhyZWUgYXJlIHJlbGF0ZWQgdG8gZGVhbGluZyB3aXRoIHRoZSBzcGFyZSBhcmVhCihhbmQgaXQn
cyBFQ0Mgc2lkZS1raWNrKS4gVGhlIHNwYXJlIGFyZWEgaXMgdXNlZCB0byBob2xkIEVDQyBpbmZv
LApiYWQgYmxvY2sgbWFya2VycywgYW5kIHRhZ3MuIE9mIHRoZXNlLCB0aGUgRUNDIGFuZCBiYWQg
YmxvY2sgbWFya2VycwphcmUgZGV2aWNlIGRlcGVuZGVudC4gVGhlIG1peGluZyBvZiBkZXZpY2Ug
ZGVwZW5kZW50IGFuZCAmcXVvdDtsb2dpY2FsJnF1b3Q7CmVudGl0aWVzIChpZSB0aGUgdGFncykg
dGhyb3VnaCB0aGUgb25lIGludGVyZmFjZSBtYWtlcyB0aGUgaW50ZXJmYWNlCnJhdGhlciBtZXNz
eS4gV2hhdCBJIHByb3Bvc2UgaXMgdGhhdCB0aGlzIGludGVyZmFjZSBiZSByZS1zdHJ1Y3R1cmVk
CnRvIGRlYWwgd2l0aCB0aGUgbG9naWNhbCBlbnRpdGllcyAodGFncykgb25seS48L1A+CjxQIFNU
WUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxCUj4KPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRv
bTogMGNtIj5BbHNvLCBJIHByb3Bvc2UgdGhhdCB0aGUgYmFkIGJsb2NrCmhhbmRsaW5nIGFsZ29y
aXRobSBiZSBwYXJ0aXRpb25lZCBvZmYgc28gdGhhdCBpdCBtYXkgYmUgZWFzaWx5CmNoYW5nZWQg
dG8gc3VwcG9ydCBkaWZmZXJlbnQgZGV2aWNlcy48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9t
OiAwY20iPjxCUj4KPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj5JZS4gdGhlIG5l
dyBwcm9wb3NlZCBpbnRlcmZhY2UgaXM6PC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNt
Ij48Rk9OVCBGQUNFPSJDb3VyaWVyLCBtb25vc3BhY2UiPjxGT05UIFNJWkU9Mj5pbnQKV3JpdGVD
aHVua1RvTkFORCh5YWZmc19EZXZpY2UgKmRldixpbnQgY2h1bmtJbk5BTkQsIGNvbnN0IF9fdTgg
KmRhdGEsCnlhZmZzX1NwYXJlICpzcGFyZSk7PC9GT05UPjwvRk9OVD48L1A+CjxQIFNUWUxFPSJt
YXJnaW4tYm90dG9tOiAwY20iPjxGT05UIEZBQ0U9IkNvdXJpZXIsIG1vbm9zcGFjZSI+PEZPTlQg
U0laRT0yPmludApSZWFkQ2h1bmtGcm9tTkFORCh5YWZmc19EZXZpY2UgKmRldixpbnQgY2h1bmtJ
bk5BTkQsIF9fdTggKmRhdGEsCnlhZmZzX1NwYXJlICpzcGFyZSk7PC9GT05UPjwvRk9OVD48L1A+
CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxGT05UIEZBQ0U9IkNvdXJpZXIsIG1vbm9z
cGFjZSI+PEZPTlQgU0laRT0yPmludApFcmFzZUJsb2NrSW5OQU5EKHlhZmZzX0RldmljZSAqZGV2
LGludCBibG9ja0luTkFORCk7PC9GT05UPjwvRk9OVD48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90
dG9tOiAwY20iPjxGT05UIEZBQ0U9IkNvdXJpZXIsIG1vbm9zcGFjZSI+PEZPTlQgU0laRT0yPmlu
dApJbml0aWFsaXNlTkFORCh5YWZmc19EZXZpY2UgKmRldik7PC9GT05UPjwvRk9OVD48L1A+CjxQ
IFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxGT05UIEZBQ0U9IkNvdXJpZXIsIG1vbm9zcGFj
ZSI+PEZPTlQgU0laRT0yPmludApDaGVja0Jsb2NrQmFkKHlhZmZzX0RldmljZSAqZGV2LGludCBi
bG9ja0luTkFORCk7PC9GT05UPjwvRk9OVD48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAw
Y20iPjxGT05UIEZBQ0U9IkNvdXJpZXIsIG1vbm9zcGFjZSI+PEZPTlQgU0laRT0yPmludApNYXJr
QmxvY2tCYWQoeWFmZnNfRGV2aWNlICpkZXYsaW50IGJsb2NrSW5OQU5EKTs8L0ZPTlQ+PC9GT05U
PjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBjbSI+PEJSPgo8L1A+CjxQIFNUWUxFPSJt
YXJnaW4tYm90dG9tOiAwY20iPk5vdywgdGhlIG5hbmQgaW50ZXJmYWNlIGxheWVyIChlZy4KeWFm
ZnNfbXRkaWYuYykgYmVjb21lcyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgYWxsIEVDQywgc3Bh
cmUgdG8KdGFncyBtYXBwaW5nIGFuZCB0aGUgYmFkIGJsb2NrIGhhbmRsaW5nLjwvUD4KPFAgU1RZ
TEU9Im1hcmdpbi1ib3R0b206IDBjbSI+PEJSPgo8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9t
OiAwY20iPkZvciB0aGUgbW9zdCBwYXJ0IChmb3IgZXhpc3RpbmcgY29kZQphbmQgZGV2aWNlcyks
IHRoaXMganVzdCBtZWFucyBzaGlmdGluZyBjb2RlIGFyb3VuZCByYXRoZXIgdGhhbgp3cml0aW5n
IG5ldyBjb2RlLiBPbmNlIHRoaXMgaXMgZG9uZSwgdGhlIGNvZGUgY2hhbmdlcyB0byBzdXBwb3J0
CnZhcmlvdXMgZGV2aWNlcyAoYXMgd2VsbCBhcyBmdXR1cmUgY2hhbmdlcyB0byBtdGQgZXRjKSBj
YW4gYmUgYmV0dGVyCm1haW50YWluZWQgd2l0aG91dCBpbXBhY3Rpbmcgb24geWFmZnNfZ3V0cy5j
LiBUaGlzIHNob3VsZCBtYWtlIGl0IGZhcgplYXNpZXIgZm9yIGJvdGggbWUgKHRoZSB5YWZmc19n
dXRzIG1haW50YWluZXIpIHNpbmNlIEkgd29uJ3QgbmVlZCB0bwp3b3JyeSBhYm91dCBjb25kaXRp
b25hbCBjb2RlIGZvciB2YXJpb3VzIGRldmljZXMgYW5kIHRoZSBtZXNzaW5lc3MKdGhhdCBjYXVz
ZXMuIEl0IGFsc28gbWFrZXMgbGlmZSBlYXNpZXIgZWFzaWVyIGZvciBzeXN0ZW0gaW50ZWdyYXRv
cnMKc2luY2UgdGhleSBuZWVkIG5vdCBnbyBkZWVwIGludG8geWFmZnNfZ3V0cyB0byBtYWtlIGNo
YW5nZXMuPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj48QlI+CjwvUD4KPFAgU1RZ
TEU9Im1hcmdpbi1ib3R0b206IDBjbSI+TW9yZSBkZXRhaWxzIG9uIHRoZSBmdW5jdGlvbnM8L1A+
CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxCUj4KPC9QPgo8UCBTVFlMRT0ibWFyZ2lu
LWJvdHRvbTogMGNtIj48Qj5pbnQgV3JpdGVDaHVua1RvTkFORCh5YWZmc19EZXZpY2UKKmRldixp
bnQgY2h1bmtJbk5BTkQsIGNvbnN0IF9fdTggKmRhdGEsIGNvbnN0IHlhZmZzX1RhZ3MgKnRhZ3Mp
OzwvQj48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxCUj4KPC9QPgo8UCBTVFlM
RT0ibWFyZ2luLWJvdHRvbTogMGNtIj5XaGVuIGNhbGxlZCwgZGF0YSBtaWdodCBiZSBOVUxMLCBi
dXQKdGFncyBzaG91bGQgbmV2ZXIgYmUuPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNt
Ij5Xcml0aW5nIGNhbiBmYWlsIGR1ZSB0bzo8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAw
Y20iPldyaXRlIGVycm9yPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj5WZXJpZmlj
YXRpb24gZmFpbHVyZTwvUD4KPFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBjbSI+PEI+aW50IFJl
YWRDaHVua0Zyb21OQU5EKHlhZmZzX0RldmljZQoqZGV2LGludCBjaHVua0luTkFORCwgX191OCAq
ZGF0YSwgeWFmZnNfVGFncyAqdGFncyk7PC9CPjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1ib3R0b206
IDBjbSI+PEJSPgo8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPkRhdGEgb3IgdGFn
cyBtaWdodCBiZSBOVUxMIGluIHdoaWNoCmNhc2UgdGhlc2UgYXJlIG5vdCB3cml0dGVuL3JlYWQu
PC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj5UaGUgZnVuY3Rpb24gcGVyZm9ybXMg
YWxsIEVDQyBldGMsIGJ1dApyZXR1cm5zIHRoZSBmb2xsb3dpbmcgcmVzdWx0cy48QlI+RGF0YSBP
Sy48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPkVDQyBjb3JyZWN0ZWQgCjwvUD4K
PFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBjbSI+RUNDIG5vdCBjb3JyZWN0ZWQ8L1A+CjxQIFNU
WUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPlRhZ3MgT0s8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90
dG9tOiAwY20iPlRhZ3MgY29ycmVjdGVkPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNt
Ij5UYWdzIG5vdCBjb3JyZWN0ZWQ8L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxC
Uj4KPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj48Qj5pbnQgRXJhc2VCbG9ja0lu
TkFORCh5YWZmc19EZXZpY2UKKmRldixpbnQgYmxvY2tJbk5BTkQpOzwvQj48L1A+CjxQIFNUWUxF
PSJtYXJnaW4tYm90dG9tOiAwY20iPkVyYXNlIGNhbiByZXR1cm4gYW4gZXJyb3IgaWYgdGhlCmVy
YXN1cmUgZmFpbGVkLjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBjbSI+PEJSPgo8L1A+
CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxCPmludCBDaGVja0Jsb2NrQmFkKHlhZmZz
X0RldmljZQoqZGV2LGludCBibG9ja0luTkFORCk7PC9CPjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1i
b3R0b206IDBjbSI+UmV0dXJucyBhIEJvb2xlYW4gcmVzdWx0IGFzIHRvIHdoZXRoZXIKdGhlIGJs
b2NrIGlzIGJhZCBvciBub3QuPC9QPgo8UCBTVFlMRT0ibWFyZ2luLWJvdHRvbTogMGNtIj48QlI+
CjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1ib3R0b206IDBjbSI+PEI+aW50IE1hcmtCbG9ja0JhZCh5
YWZmc19EZXZpY2UKKmRldixpbnQgYmxvY2tJbk5BTkQpOzwvQj48L1A+CjxQIFNUWUxFPSJtYXJn
aW4tYm90dG9tOiAwY20iPk1hcmtzIGEgYmxvY2sgYXMgYSBiYWQgYmxvY2suPC9QPgo8UCBTVFlM
RT0ibWFyZ2luLWJvdHRvbTogMGNtIj48QlI+CjwvUD4KPFAgU1RZTEU9Im1hcmdpbi1ib3R0b206
IDBjbSI+aW50IEluaXRpYWxpc2VOQU5EKHlhZmZzX0RldmljZSAqZGV2KTs8L1A+CjxQIFNUWUxF
PSJtYXJnaW4tYm90dG9tOiAwY20iPkEgY2FsbCBZQUZGUyBtYWtlcyB0byB0aGUgTkFORCBsYXll
cgpkdXJpbmcgaXRzIGluaXRpYWxpc2F0aW9uIChiZWZvcmUgaXQgdXNlcyB0aGUgb3RoZXIgTkFO
RCBmdW5jdGlvbnMpLgpUaGlzIGNhbGwgY2FuIG1vZGlmeSBzb21lIG9mIHlhZmZzX0RldmljZSBz
dHJ1Y3R1cmUgbWVtYmVycy48L1A+CjxQIFNUWUxFPSJtYXJnaW4tYm90dG9tOiAwY20iPjxCUj4K
PC9QPgo8L0JPRFk+CjwvSFRNTD4=

--------------Boundary-00=_TYZA64BZ0YMOVJHGB2G5--

---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.