Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FreeRTOS/FreeRTOS-Kernel.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSoren Ptak <ptaksoren@gmail.com>2023-11-29 13:22:16 +0300
committerGitHub <noreply@github.com>2023-11-29 13:22:16 +0300
commit6a9f5a244a75ddec0017a7dda55f0f5323c67723 (patch)
treedad630679081a3c80d1e0d4d1887ffd456c7f20c
parent6a4143249812fbcf9023bd653c4d7acbdeba34b8 (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.h2
-rw-r--r--portable/GCC/RX200/portmacro.h2
-rw-r--r--portable/GCC/RX600/portmacro.h2
-rw-r--r--portable/GCC/RX600v2/portmacro.h2
-rw-r--r--portable/GCC/RX700v3_DPFPU/portmacro.h2
-rw-r--r--portable/Renesas/RX100/portmacro.h7
-rw-r--r--portable/Renesas/RX200/portmacro.h6
-rw-r--r--portable/Renesas/RX600/portmacro.h7
-rw-r--r--portable/Renesas/RX600v2/portmacro.h7
-rw-r--r--portable/Renesas/RX700v3_DPFPU/portmacro.h7
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
}