cpuport.h 1017 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-10-03 Bernard The first version
  9. * 2020/11/20 BalanceTWK Add FPU support
  10. */
  11. #ifndef CPUPORT_H__
  12. #define CPUPORT_H__
  13. #include <rtconfig.h>
  14. /* bytes of register width */
  15. #define STORE sw
  16. #define LOAD lw
  17. #define REGBYTES 4
  18. #ifdef __riscv_flen
  19. #define ARCH_RISCV_FPU
  20. #if __riscv_flen == 32
  21. #define ARCH_RISCV_FPU_S
  22. #endif
  23. #if __riscv_flen == 64
  24. #define ARCH_RISCV_FPU_D
  25. #endif
  26. #endif
  27. #ifdef ARCH_RISCV_FPU
  28. #ifdef ARCH_RISCV_FPU_D
  29. #define FSTORE fsd
  30. #define FLOAD fld
  31. #define FREGBYTES 8
  32. #define rv_floatreg_t rt_int64_t
  33. #endif
  34. #ifdef ARCH_RISCV_FPU_S
  35. #define FSTORE fsw
  36. #define FLOAD flw
  37. #define FREGBYTES 4
  38. #define rv_floatreg_t rt_int32_t
  39. #endif
  40. #endif
  41. #endif