cpuport.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2020-08-20 zx.chen The first version
  9. */
  10. #ifndef CPUPORT_H__
  11. #define CPUPORT_H__
  12. #include <rtconfig.h>
  13. /* bytes of register width */
  14. #ifdef ARCH_RISCV_64
  15. #define DFSTORE fsd
  16. #define DFLOAD fld
  17. #define SFSTORE fsw
  18. #define SFLOAD flw
  19. #define STORE sd
  20. #define LOAD ld
  21. #define REGBYTES 8
  22. #define SFREGBYTES 4
  23. #define DFREGBYTES 8
  24. #else
  25. #define DFSTORE fsd
  26. #define DFLOAD fld
  27. #define SFSTORE fsw
  28. #define SFLOAD flw
  29. #define STORE sw
  30. #define LOAD lw
  31. #define REGBYTES 4
  32. #define SFREGBYTES 4
  33. #define DFREGBYTES 8
  34. #endif
  35. #ifdef ARCH_RISCV_FPU
  36. #ifdef ARCH_RISCV_FPU_D
  37. #define FSTORE fsd
  38. #define FLOAD fld
  39. #define FREGBYTES 8
  40. #define rv_floatreg_t rt_int64_t
  41. #endif
  42. #ifdef ARCH_RISCV_FPU_S
  43. #define FSTORE fsw
  44. #define FLOAD flw
  45. #define FREGBYTES 4
  46. #define rv_floatreg_t rt_int32_t
  47. #endif
  48. #endif
  49. #endif