[ipxe-devel] [PATCH] Replace the nrv2b compression algorithm with lzo1x

Joshua C. joshuacov at googlemail.com
Sun May 6 16:46:33 UTC 2012

The UCL compression library and the nrv2b algorithm haven't been
actively developed since 2004. Some parts of the code are incomplete
and are set to not compile anyway. I decided to replace the nrv2b
algorithm with the lzo (especially the lzo1x_999) because it is in a
better shape and achieves a faster decompression speed. More info
here: http://www.oberhumer.com/opensource/lzo/#documentation

The only thing that needs to  be done is to replace the nrv2b
decompressor with the lzo. It's not that easy because the code is in
assembler. The assembler code for the decompressor is available in the
link above. I've turned on the debug switch in the patch. For easier
support in the future I've packed all lzo files in a separate
directory under /src/utils/lzo. Those come directly from the lzo-2.06
library and just need to be replaced with newer versions in the

I've attached that patch as xz because it got quite big and exceeded
the length limit for the mailing list.

@ Michael Brown
Can you help me with the assembler and the prefix?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Switch-from-nrv2b-to-lzo1x.tar.xz
Type: application/octet-stream
Size: 60328 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120506/e220d1e4/attachment.obj>

More information about the ipxe-devel mailing list