entry.S 665 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 ([email protected])
  8. *
  9. */
  10. .macro size, sym:req
  11. .size \sym, . - \sym
  12. .endm
  13. .text
  14. .globl purgatory_start
  15. purgatory_start:
  16. lla sp, .Lstack
  17. mv s0, a0 /* The hartid of the current hart */
  18. mv s1, a1 /* Phys address of the FDT image */
  19. jal purgatory
  20. /* Start new image. */
  21. mv a0, s0
  22. mv a1, s1
  23. ld a2, riscv_kernel_entry
  24. jr a2
  25. size purgatory_start
  26. .align 4
  27. .rept 256
  28. .quad 0
  29. .endr
  30. .Lstack:
  31. .data
  32. .globl riscv_kernel_entry
  33. riscv_kernel_entry:
  34. .quad 0
  35. size riscv_kernel_entry
  36. .end