diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-14 08:07:06 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-15 14:23:38 +0100 |
commit | 819a6b35cc7ad4b3bc542e738c0933d55a132ccf (patch) | |
tree | 93fab0f3fcef97b2539311b7b0bfa5ca737d4d72 /cpukit/score/cpu/arm/armv7m-exception-handler-set.c | |
parent | arm: Accept Cortex-M7 multilib (diff) | |
download | rtems-819a6b35cc7ad4b3bc542e738c0933d55a132ccf.tar.bz2 |
arm: Honor cache for Cortex-M7 support
Diffstat (limited to 'cpukit/score/cpu/arm/armv7m-exception-handler-set.c')
-rw-r--r-- | cpukit/score/cpu/arm/armv7m-exception-handler-set.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/cpukit/score/cpu/arm/armv7m-exception-handler-set.c b/cpukit/score/cpu/arm/armv7m-exception-handler-set.c index d76dfa88b4..2718f80838 100644 --- a/cpukit/score/cpu/arm/armv7m-exception-handler-set.c +++ b/cpukit/score/cpu/arm/armv7m-exception-handler-set.c @@ -5,10 +5,10 @@ */ /* - * Copyright (c) 2011 Sebastian Huber. All rights reserved. + * Copyright (c) 2011, 2016 Sebastian Huber. All rights reserved. * * embedded brains GmbH - * Obere Lagerstr. 30 + * Dornierstr. 4 * 82178 Puchheim * Germany * <rtems@embedded-brains.de> @@ -23,6 +23,7 @@ #endif #include <rtems/score/armv7m.h> +#include <rtems/rtems/cache.h> #ifdef ARM_MULTILIB_ARCH_V7M @@ -33,6 +34,14 @@ void _ARMV7M_Set_exception_handler( { if ( _ARMV7M_SCB->vtor [index] != handler ) { _ARMV7M_SCB->vtor [index] = handler; + rtems_cache_flush_multiple_data_lines( + &_ARMV7M_SCB->vtor [index], + sizeof(_ARMV7M_SCB->vtor [index]) + ); + rtems_cache_invalidate_multiple_instruction_lines( + &_ARMV7M_SCB->vtor [index], + sizeof(_ARMV7M_SCB->vtor [index]) + ); } } |