[LinuxBIOS] changes in decompress coming.
Ronald G Minnich
rminnich at lanl.gov
Thu Sep 14 16:55:28 CEST 2006
I have added some changes to the decompression options. All work on
abuild, little or no testing has been possible. It's really just some
CONFIG_PRECOMPRESSED_ROM_STREAM means that linuxbios need not run any
programs in the makefiles to compress the rom stream. The rom stream is
already compressed; linuxbios needs to include code to uncompress it
properly. It is an error to set this variable, and not set one of the
variables mentioned below; this error is only caught at compile time
(Sorry! This is called "Why we need to change the Config system". )
CONFIG_COMPRESSED_ROM_STREAM now means that the rom stream is nrv2b
compressed. This name is deprecated, I have tried to remove every usage
of it in the tree, and this name WILL GO AWAY soon.
CONFIG_COMPRESSED_ROM_STREAM_NRV2B now means that the rom stream is
nrv2b compressed. If CONFIG_PRECOMPRESSED_ROM_STREAM is not set, the
makefile will try to run nrv2b on the file.
CONFIG_COMPRESSED_ROM_STREAM_LZMA now means that the rom stream is lzma
compressed. The lzma uncompresser is not tested.If
CONFIG_PRECOMPRESSED_ROM_STREAM is not set, the makefile will try to run
lzma on the file.
I have tested all combinations of these options in a build, and they all
properly build a linuxbios rom image. I have not yet tested them on a
board, but almost no targets use them; I hope not to cause trouble.
Also, due to other issues, I have moved the destination of all
decompressers to the 16 MB boundary. This Is A Hack. But, the other way
(at the end of linuxbios, usually 2M) ran into trouble on OLPC and would
have run into trouble on other systems. We need streaming decompressers.
It is an error to:
set CONFIG_PRECOMPRESSED_ROM_STREAM and not set one of the others, or
to set more than one of CONFIG_COMPRESSED_ROM_STREAM,
CONFIG_COMPRESSED_ROM_STREAM_LZMA. This error is only caught at compile
time. Again, sorry.
All this builds. Few platforms save OLPC use it. I doubt this change
will break much if anything.
More information about the coreboot