1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * purgatory: Runs between two kernels 4 * 5 * Copyright (C) 2022 Huawei Technologies Co, Ltd. 6 * 7 * Author: Li Zhengyu (lizhengyu3@huawei.com) 8 * 9 */ 10#include <asm/asm.h> 11#include <linux/linkage.h> 12 13.text 14 15SYM_CODE_START(purgatory_start) 16 17 lla sp, .Lstack 18 mv s0, a0 /* The hartid of the current hart */ 19 mv s1, a1 /* Phys address of the FDT image */ 20 21 jal purgatory 22 23 /* Start new image. */ 24 mv a0, s0 25 mv a1, s1 26 ld a2, riscv_kernel_entry 27 jr a2 28SYM_CODE_END(purgatory_start) 29 30.align 4 31 .rept 256 32 .quad 0 33 .endr 34.Lstack: 35 36.data 37 38.align LGREG 39SYM_DATA(riscv_kernel_entry, .quad 0) 40 41.end 42