Sorry, I should have been a little more explicit. Yes, I meant to say zImage (including zImage.initrd, duh). No, yaboot does not do compression.
The only reason we couldn't boot zImages before, was that yaboot _always_ loaded the image from the FS into memory at KERNELADDR. This is what vmlinux wants/expects. OTOH, zImage (or any other program) expects to be loaded into memory where it was linked at. The code now detects if we're loading a vmlinux or not. If it's a vmlinux, then yaboot loads the image at KERNELADDR, otherwise it loads it at the p_vaddr value for each ELF segment. To detect if we're loading a vmlinux, we look at the e_entry value and if it is equal to 0xC0000000 for ELF32 or 0xC000000000000000 for ELF64, then we _assume_ it's a vmlinux. Peter