x86/boot/compressed/32: Save the output address instead of recalculating it
authorArvind Sankar <nivedita@alum.mit.edu>
Sun, 8 Mar 2020 08:08:46 +0000 (09:08 +0100)
committerIngo Molnar <mingo@kernel.org>
Sun, 8 Mar 2020 08:58:19 +0000 (09:58 +0100)
commit8ef44be393113dca5cece65bc142ebb8ef013af0
treef1a8a573fc98cf46ce7ff20d4b4f8c3e7751c99e
parentf3fa0efce2e765f24356b70bd0786f290d84328c
x86/boot/compressed/32: Save the output address instead of recalculating it

In preparation for being able to decompress into a buffer starting at a
different address than startup_32, save the calculated output address
instead of recalculating it later.

We now keep track of three addresses:

%edx: startup_32 as we were loaded by bootloader
%ebx: new location of compressed kernel
%ebp: start of decompression buffer

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200303221205.4048668-2-nivedita@alum.mit.edu
Link: https://lore.kernel.org/r/20200308080859.21568-16-ardb@kernel.org
arch/x86/boot/compressed/head_32.S