• Magnus Damm's avatar
    sh: add kexec jump support · b7cf6ddc
    Magnus Damm authored
    Add kexec jump support to the SuperH architecture.
    
    Similar to the x86 implementation, with the following
    exceptions:
    
    - Instead of separating the assembly code flow into
    two parts for regular kexec and kexec jump we use a
    single code path. In the assembly snippet regular
    kexec is just kexec jump that never comes back.
    
    - Instead of using a swap page when moving data between
    pages the page copy assembly routine has been modified
    to exchange the data between the pages using registers.
    
    - We walk the page list twice in machine_kexec() to
    do and undo physical to virtual address conversion.
    Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    b7cf6ddc
relocate_kernel.S 4.08 KB