Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add portMEMORY_BARRIER() to RX MCU ports #864

Merged
merged 14 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MISRA.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# MISRA Compliance

FreeRTOS-Kernel conforms to [MISRA C:2012](https://www.misra.org.uk/misra-c)
FreeRTOS-Kernel conforms to [MISRA C:2012](https://misra.org.uk/misra-c/)
guidelines, with the deviations listed below. Compliance is checked with
Coverity static analysis. Since the FreeRTOS kernel is designed for
small-embedded devices, it needs to have a very small memory footprint and
Expand Down
2 changes: 2 additions & 0 deletions portable/GCC/RX100/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
2 changes: 2 additions & 0 deletions portable/GCC/RX200/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
2 changes: 2 additions & 0 deletions portable/GCC/RX600/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
2 changes: 2 additions & 0 deletions portable/GCC/RX600v2/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
2 changes: 2 additions & 0 deletions portable/GCC/RX700v3_DPFPU/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
7 changes: 7 additions & 0 deletions portable/Renesas/RX100/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
6 changes: 6 additions & 0 deletions portable/Renesas/RX200/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
7 changes: 7 additions & 0 deletions portable/Renesas/RX600/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
7 changes: 7 additions & 0 deletions portable/Renesas/RX600v2/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
7 changes: 7 additions & 0 deletions portable/Renesas/RX700v3_DPFPU/portmacro.h
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,13 @@ extern void vTaskExitCritical( void );
/* 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
}
Expand Down
Loading