[PATCH] Clean up ARM compressed loader
Nicolas Pitre
nico at fluxnic.net
Thu Feb 25 13:35:32 EST 2010
On Thu, 25 Feb 2010, Hector Martin wrote:
> If you can programmatically ensure that the decompressors do not use
> anything but GOT entries to access data, that's certainly a better
> solution than what we have now (I don't mean actually "fixing" them as
> in -Dstatic=, just something that makes the build fail if this is not
> the case so someone else can go and make the required changes). Maybe
> building the object and then grepping the relocations for offenders, or
> something like that.
Russell made a patch which simply ends up discarding .data section.
> However, considering my second patch can be adapted to avoid the two
> extra copies, I still think that's a cleaner solution. All I have to do
> is move things around in the linker script so the piggy is at the end of
> the zImage, avoid copying that the first time around (and instead pass
> the old pointer to ROM to the decompressor), and introduce the real
> decompressed uncompressed kernel size to the mix so I can relocate the
> decompressor to ZRELADDR+kernel_size (and fix the relocation check code
> so it uses the real size, not some 4x guess), which would avoid the
> second copy.
You are still copying the actual decompressor code which is less optimal
than what we already have. The current solution, as I explained
already, involves _zero_ copying.
Nicolas
More information about the linux-arm-kernel
mailing list