diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-29 09:50:47 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-29 09:50:47 +0200 |
commit | 9bb3ce3918261c5392abbe4b65902e5d4b6dff07 (patch) | |
tree | a0ce25f5619672f3afd222cfe79460e88858d2da /c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c | |
parent | arm/raspberrypi: resolve BSP warnings. (diff) | |
download | rtems-9bb3ce3918261c5392abbe4b65902e5d4b6dff07.tar.bz2 |
score: Fix SMP message handling
According to the C11 standard only atomic read-modify-write operations
guarantee that the last value written in modification order is read, see
"7.17.3 Order and consistency". Thus we must use a read-modify-write in
_SMP_Inter_processor_interrupt_handler() to make sure we read an
up-to-date message.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c index 844f2b66b5..7bc7ec3089 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c @@ -267,10 +267,5 @@ void _CPU_SMP_Prepare_start_multitasking(void) void _CPU_SMP_Send_interrupt(uint32_t target_processor_index) { -#ifdef __PPC_CPU_E6500__ - ppc_light_weight_synchronize(); -#else - ppc_synchronize_data(); -#endif qoriq.pic.ipidr [IPI_INDEX].reg = 1U << target_processor_index; } |