| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * purgatory: Runs between two kernels
- *
- * Copyright (C) 2022 Huawei Technologies Co, Ltd.
- *
- * Author: Li Zhengyu (lizhengyu3@huawei.com)
- *
- */
- #include <asm/asm.h>
- #include <linux/linkage.h>
- .text
- SYM_CODE_START(purgatory_start)
- lla sp, .Lstack
- mv s0, a0 /* The hartid of the current hart */
- mv s1, a1 /* Phys address of the FDT image */
- jal purgatory
- /* Start new image. */
- mv a0, s0
- mv a1, s1
- ld a2, riscv_kernel_entry
- jr a2
- SYM_CODE_END(purgatory_start)
- .align 4
- .rept 256
- .quad 0
- .endr
- .Lstack:
- .data
- .align LGREG
- SYM_DATA(riscv_kernel_entry, .quad 0)
- .end
|