[coreboot] [PATCH] The filo crashes if the filo and coreboot overlap.
patrick at georgi-clan.de
Fri Nov 6 16:28:53 CET 2009
Am 04.11.2009 03:34, schrieb Bao, Zheng:
> Marc and Patrick,
> The LZMA compressing way doesn't work on my board. I haven't found any solution to resolve the overlapping in current code. ulzma() doesn't seem to know that overlapping happens. It is a problem that has to be solved.
Thanks for your fix, but I'd like to come back to the ulzma issue.
What do you mean, that LZMA compression doesn't work on your board?
There is a known problem that decompression takes _very_ long (several
minutes for a moderately sized payload such as FILO).
If it looks like the boards was stuck in the decompression phase, please
try again and wait to see if it moves on eventually (15 minutes should
be enough with some safety margin), so we know if you ran into that
known issue, or if you found another bug.
If it's something entirely different, I'd also like to hear about it, of
As for ulzma():
ulzma really doesn't know about the overlap, but the compression related
code compensates for that. The bounce buffer function returns the start
address of the bounce buffer. The location that is used for
decompression is (segment_start - RAMBASE + bouncebuffer_base).
If the segment starts before the rambase, the segment is decompressed to
the bounce buffer and the memory region before it. Right after
decompression, the memory region before the bounce buffer is copied.
That solution has its own share of problems, but the bounce buffer
handling code is quite nasty, and I wanted to keep the changes as small
More information about the coreboot