]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/IAR/RISC-V/portmacro.h
Replace portasmHAS_CLINT with configMTIME_BASE_ADDRESS and configMTIMECMP_BASE_ADDRES...
[freertos] / FreeRTOS / Source / portable / IAR / RISC-V / portmacro.h
index 4fbaeb5fb04ce0d036a863948d6b8a86c298d1de..19116dbc025c623eddf3fd0332c0b7bbdaf494fb 100644 (file)
@@ -147,6 +147,27 @@ the source code because to do so would cause other compilers to generate
 warnings. */\r
 #pragma diag_suppress=Pa082\r
 \r
+/* configCLINT_BASE_ADDRESS is a legacy definition that was replaced by the\r
+configMTIME_BASE_ADDRESS and configMTIMECMP_BASE_ADDRESS definitions.  For\r
+backward compatibility derive the newer definitions from the old if the old\r
+definition is found. */\r
+#if defined( configCLINT_BASE_ADDRESS ) && !defined( configMTIME_BASE_ADDRESS ) && ( configCLINT_BASE_ADDRESS == 0 )\r
+       /* Legacy case where configCLINT_BASE_ADDRESS was defined as 0 to indicate\r
+       there was no CLINT.  Equivalent now is to set the MTIME and MTIMECMP\r
+       addresses to 0. */\r
+       #define configMTIME_BASE_ADDRESS        ( 0 )\r
+       #define configMTIMECMP_BASE_ADDRESS ( 0 )\r
+#elif defined( configCLINT_BASE_ADDRESS ) && !defined( configMTIME_BASE_ADDRESS )\r
+       /* Legacy case where configCLINT_BASE_ADDRESS was set to the base address of\r
+       the CLINT.  Equivalent now is to derive the MTIME and MTIMECMP addresses\r
+       from the CLINT address. */\r
+       #define configMTIME_BASE_ADDRESS        ( ( configCLINT_BASE_ADDRESS ) + 0xBFF8UL )\r
+       #define configMTIMECMP_BASE_ADDRESS ( ( configCLINT_BASE_ADDRESS ) + 0x4000UL )\r
+#elif !defined( configMTIME_BASE_ADDRESS ) || !defined( configMTIMECMP_BASE_ADDRESS )\r
+       #error configMTIME_BASE_ADDRESS and configMTIMECMP_BASE_ADDRESS must be defined in FreeRTOSConfig.h.  Set them to zero if there is no MTIME (machine time) clock.  See https://www.freertos.org/Using-FreeRTOS-on-RISC-V.html\r
+#endif\r
+\r
+\r
 \r
 #ifdef __cplusplus\r
 }\r