efisetjmp_arch.h 597 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause */
  2. #ifndef GNU_EFI_RISCV64_SETJMP_H
  3. #define GNU_EFI_RISCV64_SETJMP_H
  4. #define JMPBUF_ALIGN 8
  5. typedef struct {
  6. /* GP regs */
  7. UINT64 s0;
  8. UINT64 s1;
  9. UINT64 s2;
  10. UINT64 s3;
  11. UINT64 s4;
  12. UINT64 s5;
  13. UINT64 s6;
  14. UINT64 s7;
  15. UINT64 s8;
  16. UINT64 s9;
  17. UINT64 s10;
  18. UINT64 s11;
  19. UINT64 sp;
  20. UINT64 ra;
  21. /* FP regs */
  22. UINT64 fs0;
  23. UINT64 fs1;
  24. UINT64 fs2;
  25. UINT64 fs3;
  26. UINT64 fs4;
  27. UINT64 fs5;
  28. UINT64 fs6;
  29. UINT64 fs7;
  30. UINT64 fs8;
  31. UINT64 fs9;
  32. UINT64 fs10;
  33. UINT64 fs11;
  34. } ALIGN(JMPBUF_ALIGN) jmp_buf[1];
  35. #endif /* GNU_EFI_RISCV64_SETJMP_H */