diff options
author | Soren Ptak <ptaksoren@gmail.com> | 2023-11-29 13:22:16 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-29 13:22:16 +0300 |
commit | 6a9f5a244a75ddec0017a7dda55f0f5323c67723 (patch) | |
tree | dad630679081a3c80d1e0d4d1887ffd456c7f20c | |
parent | 6a4143249812fbcf9023bd653c4d7acbdeba34b8 (diff) |
Add portMEMORY_BARRIER() to RX MCU ports (#864)
* Add portMEMORY_BARRIER() to RX MCU ports
* Remove the memory barrier from the SH2A_FPU portable directory
---------
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
-rw-r--r-- | portable/GCC/RX100/portmacro.h | 2 | ||||
-rw-r--r-- | portable/GCC/RX200/portmacro.h | 2 | ||||
-rw-r--r-- | portable/GCC/RX600/portmacro.h | 2 | ||||
-rw-r--r-- | portable/GCC/RX600v2/portmacro.h | 2 | ||||
-rw-r--r-- | portable/GCC/RX700v3_DPFPU/portmacro.h | 2 | ||||
-rw-r--r-- | portable/Renesas/RX100/portmacro.h | 7 | ||||
-rw-r--r-- | portable/Renesas/RX200/portmacro.h | 6 | ||||
-rw-r--r-- | portable/Renesas/RX600/portmacro.h | 7 | ||||
-rw-r--r-- | portable/Renesas/RX600v2/portmacro.h | 7 | ||||
-rw-r--r-- | portable/Renesas/RX700v3_DPFPU/portmacro.h | 7 |
10 files changed, 44 insertions, 0 deletions
diff --git a/portable/GCC/RX100/portmacro.h b/portable/GCC/RX100/portmacro.h index b32d2007b..01bc3621b 100644 --- a/portable/GCC/RX100/portmacro.h +++ b/portable/GCC/RX100/portmacro.h @@ -147,6 +147,8 @@ void vPortSetIPL( uint32_t ulNewIPL ) __attribute__( ( naked ) ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/GCC/RX200/portmacro.h b/portable/GCC/RX200/portmacro.h index 2f153f87c..aee4e4de3 100644 --- a/portable/GCC/RX200/portmacro.h +++ b/portable/GCC/RX200/portmacro.h @@ -141,6 +141,8 @@ void vPortSetIPL( uint32_t ulNewIPL ) __attribute__( ( naked ) ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/GCC/RX600/portmacro.h b/portable/GCC/RX600/portmacro.h index 7d1fdb6c7..d441eb784 100644 --- a/portable/GCC/RX600/portmacro.h +++ b/portable/GCC/RX600/portmacro.h @@ -141,6 +141,8 @@ void vPortSetIPL( uint32_t ulNewIPL ) __attribute__( ( naked ) ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/GCC/RX600v2/portmacro.h b/portable/GCC/RX600v2/portmacro.h index 7d1fdb6c7..d441eb784 100644 --- a/portable/GCC/RX600v2/portmacro.h +++ b/portable/GCC/RX600v2/portmacro.h @@ -141,6 +141,8 @@ void vPortSetIPL( uint32_t ulNewIPL ) __attribute__( ( naked ) ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void * pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void * pvParameters ) +#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/GCC/RX700v3_DPFPU/portmacro.h b/portable/GCC/RX700v3_DPFPU/portmacro.h index 8e67724e9..4f9b8a087 100644 --- a/portable/GCC/RX700v3_DPFPU/portmacro.h +++ b/portable/GCC/RX700v3_DPFPU/portmacro.h @@ -185,6 +185,8 @@ void vPortSetIPL( uint32_t ulNewIPL ) __attribute__( ( naked ) ); /* Definition to allow compatibility with existing FreeRTOS Demo using flop.c. */ #define portTASK_USES_FLOATING_POINT() vPortTaskUsesDPFPU() +#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" ) + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/Renesas/RX100/portmacro.h b/portable/Renesas/RX100/portmacro.h index b82fdca24..a954bb71c 100644 --- a/portable/Renesas/RX100/portmacro.h +++ b/portable/Renesas/RX100/portmacro.h @@ -148,6 +148,13 @@ extern void vTaskExitCritical( void ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#pragma inline_asm vPortMemoryBarrier +static void vPortMemoryBarrier( void ) +{ +} + +#define portMEMORY_BARRIER() vPortMemoryBarrier() + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/Renesas/RX200/portmacro.h b/portable/Renesas/RX200/portmacro.h index 55278dacb..efb9d93c8 100644 --- a/portable/Renesas/RX200/portmacro.h +++ b/portable/Renesas/RX200/portmacro.h @@ -138,6 +138,12 @@ extern void vTaskExitCritical( void ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#pragma inline_asm vPortMemoryBarrier +static void vPortMemoryBarrier( void ) +{ +} + +#define portMEMORY_BARRIER() vPortMemoryBarrier() /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/Renesas/RX600/portmacro.h b/portable/Renesas/RX600/portmacro.h index 60106ae13..5ba1c067b 100644 --- a/portable/Renesas/RX600/portmacro.h +++ b/portable/Renesas/RX600/portmacro.h @@ -139,6 +139,13 @@ extern void vTaskExitCritical( void ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#pragma inline_asm vPortMemoryBarrier +static void vPortMemoryBarrier( void ) +{ +} + +#define portMEMORY_BARRIER() vPortMemoryBarrier() + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/Renesas/RX600v2/portmacro.h b/portable/Renesas/RX600v2/portmacro.h index 6efba647d..630a34eee 100644 --- a/portable/Renesas/RX600v2/portmacro.h +++ b/portable/Renesas/RX600v2/portmacro.h @@ -139,6 +139,13 @@ extern void vTaskExitCritical( void ); #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#pragma inline_asm vPortMemoryBarrier +static void vPortMemoryBarrier( void ) +{ +} + +#define portMEMORY_BARRIER() vPortMemoryBarrier() + /* *INDENT-OFF* */ #ifdef __cplusplus } diff --git a/portable/Renesas/RX700v3_DPFPU/portmacro.h b/portable/Renesas/RX700v3_DPFPU/portmacro.h index fef13556e..891024a22 100644 --- a/portable/Renesas/RX700v3_DPFPU/portmacro.h +++ b/portable/Renesas/RX700v3_DPFPU/portmacro.h @@ -183,6 +183,13 @@ /* Definition to allow compatibility with existing FreeRTOS Demo using flop.c. */ #define portTASK_USES_FLOATING_POINT() vPortTaskUsesDPFPU() +#pragma inline_asm vPortMemoryBarrier +static void vPortMemoryBarrier( void ) +{ +} + +#define portMEMORY_BARRIER() vPortMemoryBarrier() + /* *INDENT-OFF* */ #ifdef __cplusplus } |