mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
The assembly code in tape0.S loads the kernel from tape to offset 0x4000. After loading the kernel it loads the parm file and stores it to the address provided by zipl. zipl doesn't know about the 0x4000 load offset, so this address is inside of the kernel image and will silently corrupt the loaded image in memory. Fix this by copying the kernel to the final destination before loading the parm files and initrd. We can do this because we can strip the first 0x10000 bytes like the zipl C code does for non-tape IPL. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>