• Geoff Levand's avatar
    arm64: Add back cpu reset routines · f9076ecf
    Geoff Levand authored
    Commit 68234df4 ("arm64: kill flush_cache_all()") removed the global
    arm64 routines cpu_reset() and cpu_soft_restart() needed by the arm64
    kexec and kdump support.  Add back a simplified version of
    cpu_soft_restart() with some changes needed for kexec in the new files
    cpu_reset.S, and cpu_reset.h.
    When a CPU is reset it needs to be put into the exception level it had when
    it entered the kernel. Update cpu_soft_restart() to accept an argument
    which signals if the reset address should be entered at EL1 or EL2, and
    add a new hypercall HVC_SOFT_RESTART which is used for the EL2 switch.
    Signed-off-by: default avatarGeoff Levand <geoff@infradead.org>
    Reviewed-by: default avatarJames Morse <james.morse@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
cpu-reset.S 1.35 KB