Attention is currently required from: Harshit Sharma. Krystian Hebel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/41963 )
Change subject: lib: Upgrade LZMA Decoder to version 19.0 ......................................................................
Patch Set 5:
(1 comment)
Patchset:
PS5: Just tested this on a ramstage that was copied to RAM before decompression (PPC64, mmap_helper_region_device is used because flash is protected with ECC) and I see a speed improvement. Before: ``` FMAP REGION: COREBOOT Name Offset Type Size Comp cbfs master header 0x0 cbfs header 32 none fallback/romstage 0x80 stage 51634 none fallback/ramstage 0xca80 stage 23842 none config 0x12800 raw 177 none revision 0x12900 raw 674 none (empty) 0x12c00 null 315800 none header pointer 0x5fdc0 cbfs header 4 none
---------------
CBFS: Found 'fallback/ramstage' @0xca80 size 0x5d22 in mcache @0x00013070 Timestamp - starting to load ramstage: 4315892 Timestamp - starting LZMA decompress (ignore for x86): 4327646 Timestamp - finished LZMA decompress (ignore for x86): 4332315 Timestamp - finished loading ramstage: 4332708 ```
After: ``` FMAP REGION: COREBOOT Name Offset Type Size Comp cbfs master header 0x0 cbfs header 32 none fallback/romstage 0x80 stage 55225 none fallback/ramstage 0xd880 stage 26339 none config 0x13fc0 raw 177 none revision 0x140c0 raw 674 none (empty) 0x143c0 null 309720 none header pointer 0x5fdc0 cbfs header 4 none
---------------
CBFS: Found 'fallback/ramstage' @0xd880 size 0x66e3 in mcache @0x00013070 Timestamp - starting to load ramstage: 4321871 Timestamp - starting LZMA decompress (ignore for x86): 4334852 Timestamp - finished LZMA decompress (ignore for x86): 4339430 Timestamp - finished loading ramstage: 4339818 ```
This gives ~2% shorter time required for decompressing ~10% bigger ramstage, so the change is somewhat noticeable. This ramstage is relatively small so printing the timestamps through serial may take more time than the decompression itself. Unfortunately I must print them, this port is not ready yet so I have no way of reading them later.