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.
Do you guys agree that my patch anyway fix the bug for non-compressed payloads?
Zheng
-----Original Message----- From: Marc Jones [mailto:marcj303@gmail.com] Sent: Wednesday, November 04, 2009 6:42 AM To: Patrick Georgi Cc: Bao, Zheng; coreboot@coreboot.org Subject: Re: [coreboot] [PATCH] The filo crashes if the filo and coreboot overlap.
On Tue, Nov 3, 2009 at 9:12 AM, Patrick Georgi patrick@georgi-clan.de wrote:
Am 03.11.2009 04:23, schrieb Bao, Zheng:
If the coreboot and filo overlap, it will "slice off" a piece at the beginning or end. In the beginning case, a new segment is inserted before the current one. The ptr will move forward and doesn't seem to have any chance to process the "new" segment.
You are aware that your patch only has an effect for non-compressed payloads?
Patrick and Zheng,
I'm struggling to understand the bug. If the payload is uncompressed, it can put a segment before coreboot in the bouncebuffer (this seems to be the bug?). Then the loop needs to be re-run on the newly split/added segment. If it is compressed, It will skip all of the coreboot area and not allocate a segment before coreboot (put the entire thing in the bounce buffer?).
Does this get back to the CONFIG_RAMBASE=0x00200000 on fam10?
Marc