Wolfgang Denk <w...@denx.de> wrote in news:20090716211129.e9241832e...@gemini.denx.de:
> Maybe lzmaBuffToBuffDecompress() stores an incorrect value in unc_len? Hi, this is correct, the unpatched version of lib_generic/lzma/LzmaTools.c has this code in line 137: *uncompressedSize = outProcessed; I added the same code to the lzma465 patch and it works for me: --- u-boot-2009.06.org/lib_generic/lzma/LzmaTools.c 2009-07-17 08:12:52.000000000 +0200 +++ u-boot-2009.06/lib_generic/lzma/LzmaTools.c 2009-07-17 08:15:37.000000000 +0200 @@ -116,6 +117,7 @@ outStream, &outProcessed, inStream + LZMA_DATA_OFFSET, &compressedSize, inStream, LZMA_PROPS_SIZE, LZMA_FINISH_ANY, &state, &g_Alloc); + *uncompressedSize = outProcessed; if (res != SZ_OK) { return res; } Attached you will find a patch which also includes the watchdog stuff I need along with the formentioned patch. I do not know if all WATCHDOG_RESET() calls are really necessary but I have a 66 MHz CPU here which takes 12s to decompress a 550kb LZMA-compressed kernel. Cheers, rhabarber1848 =ybegin line=128 size=3334 name=u-boot-2009.06_lzma_watchdog.diff JWxJWW\ZZcXZ`XYY¤Yv¤nXJWW\ZZcXZ`YY¤Yv¤nX4WWWJWW\ZZcXZ`XY Y¤Yv¤nX3\ZZcWZaW[aJZbd[\d_\XZZZZZZZZZJUZ\ZZ4UUUJWW\ZZcXZ`YY¤Yv¤nX3\ZZcWZaW[aJZbd[]d\_XZZZZZZ ZZZJUZ\ZZ4jjJW[V`JU[VcJjj4JYTJv¤nXJWWJvwkJn4J\ZZbW[[WZ`JdJsJz JdJzJJTY4J4UMJfXh4UM JfXh4UMJf¡Xh4JMJLv¤nXL4J4JMJfXh4jjJW[_`V`JU[_cVcJjj4JJJs]\JJgJWh e4JJJs]\JJgJWhe4J4UMJRmyxpsqrk~mrnyqSJ¦¦JRmyxpsqk~mrnyqS4U3k~mrnyq|o}o~RSe4UM4JJJ4 JJJ¥4JJJJJmv¤zJTe4jjJW[a`V`JU[b\VcJjj4JJJJJJJJRJfJxv}S4JJJJJJJ¥4JJJJJJJJJ£JgJ[e4UMJRmyxp sqrk~mrnyqSJ¦¦JRmyxpsqk~mrnyqS4U3k~mrnyq|o}o~RSe4UM4JJJJJJJJJJ¥Jqo~ls~RJUJ£VJ£SJ§J¡JR£ JfJZ¢[ZZSe4JJJJJJJ§4JJJJJJJ4jjJW[b]V`JU[c\VcJjj4JJJJJJJJJJl£JgJWh RzJWJZSJUJRRzJfJZSJ iJl}¤JdJZSe4JJJJJJJJJJJgJZ¢[ZZe4JJJJJJJJJ£JgJ[e4UMJRmyxpsqrk~mrnyqSJ¦¦JRmyxpsqk~m rnyqS4U3k~mrnyq|o}o~RSe4UM4JJJJJJJJJ4JJJJJJJJJ¥4JJJJJJJJJJJJe4jjJW][`V`JU]\bVcJjj4JJJJJJJJJJJJJ¥4JJJJJJJJJJJ JJJJs]\JJgJ[e4JJJJJJJJJJJJJJJJJgJ[e4UMJRmyxpsqrk~mrnyqSJ¦¦JRmyxpsqk~mrnyqS4U3k~mrnyq|o}o ~RSe4UM4JJJJJJJJJJJJJJJ4JJJJJJJJJJJJJJJ¥4JJJJJJJJJJJJJJJJJqo~ls~\RJUJVJVJeJVJJ¦gJSe4jjJW]\aV`JU]^\VcJj j4JJJJJJJJJJJ4JJJJJJJJJJJ¥4JJJJJJJJJJJJJnlJWgJxkle4UMJRmyxpsqrk~mrnyqSJ¦¦JRmyxpsq k~mrnyqS4U3k~mrnyq|o}o~RSe4UM4JJJJJJJJJJJJJ4JJJJJJJJJJJJJ¥4JJJJJJJJJJJJJJJxy|wkvso4jjJW]ccV[\JU^[aV[bJjj4JJJJJJJJJJJ JJgJRSJWJRSze4JJJJJJJJJJJJl£JTJgJJUJve4JJJJJJJJJJJzJUgJve4UMJ Rmyxpsqrk~mrnyqSJ¦¦JRmyxpsqk~mrnyqS4U3k~mrnyq|o}o~RSe4UM4JJJJJJJJJJJ4JJJJJJJJJJJJJTRSJgJRl£ST RJUJSe4JJJJJJJJJJJ¡JRUUJKgJSe4JJJJJJJJJ§4JJJJJJJJJ4JJJJJJJJJ¥4UMJRmyxpsqrk~mrnyqSJ¦¦JR myxpsqk~mrnyqS4U3k~mrnyq|o}o~RSe4UM4JJJJJJJJJJJ4JJJJJJJJJJJ¥4JJJJJJJJJJJJJ zUUJgJ e4jjJW^[aV`JU^^[VcJ jj4JJJJJ§4JJJ§4JJJ¡JRzJfJJPPJJfJvSe4UMJRmyxpsqrk~mrnyqSJ¦¦JRmyxpsqk~mrnyqS4U3k~mr nyq|o}o~RSe4UM4JJJxy|wkvsoe4JJJWhJgJe4JJJWhJgJe4JWxJWW\ZZcXZ`XYY¤Yv¤~ XJWW\ZZcXZ`YY¤Yv¤~X4WWWJWW\ZZcXZ`XYY¤Yv¤~X3\ZZcWZaW[aJZbd[\d_\XZZZZZZZZZ JUZ\ZZ4UUUJWW\ZZcXZ`YY¤Yv¤~X3\ZZcWZaW[aJZbd[]d]^XZZZZZZZZZJUZ\ZZ4jjJW]`V`JU]`VaJjj4J4JMJf Xh4JMJfXh4UMJf¡Xh4J4JMJmyxpsqvwk4J4jjJW[[\V[ZJU[[]V[^Jjj4J4JJJJJYTJnJTY4JJJJJz JgJ}¤pe4UMJRmyxpsqrk~mrnyqSJ¦¦JRmyxpsqk~mrnyqS4U3k~mrnyq|o}o~RSe4UM4JJJJJJgJv¤n R4JJJJJJJJJ}VJPzV4JJJJJJJJJ}JUJvwknk~kypp}o~VJP}¤V4JJJJJJJJJ}VJvwkz|yz}} soVJvwkpsxs}rkxVJPVJPkSe4UJJJJT}¤JgJze4JJJJJJRJKgJ}yuSJJ¥4JJJJJJJJJJe4J JJJJ§4 =yend size=3369 crc32=ba1b8df2
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot