diff options
Diffstat (limited to '')
-rw-r--r-- | bsps/i386/shared/cache/cache.c (renamed from c/src/lib/libcpu/i386/cache.c) | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/c/src/lib/libcpu/i386/cache.c b/bsps/i386/shared/cache/cache.c index da31a38bee..df7909489d 100644 --- a/c/src/lib/libcpu/i386/cache.c +++ b/bsps/i386/shared/cache/cache.c @@ -3,10 +3,13 @@ */ #include <rtems.h> -#include "cache_.h" #include <rtems/score/cpu.h> #include <libcpu/page.h> +#define I386_CACHE_ALIGNMENT 16 +#define CPU_DATA_CACHE_ALIGNMENT I386_CACHE_ALIGNMENT +#define CPU_INSTRUCTION_CACHE_ALIGNEMNT I386_CACHE_ALIGNMENT + void _CPU_disable_cache(void) { unsigned int regCr0; @@ -44,45 +47,47 @@ void _CPU_enable_cache(void) */ #if defined(I386_CACHE_ALIGNMENT) -void _CPU_cache_flush_1_data_line(const void *d_addr) {} -void _CPU_cache_invalidate_1_data_line(const void *d_addr) {} -void _CPU_cache_freeze_data(void) {} -void _CPU_cache_unfreeze_data(void) {} -void _CPU_cache_invalidate_1_instruction_line ( const void *d_addr ) {} -void _CPU_cache_freeze_instruction(void) {} -void _CPU_cache_unfreeze_instruction(void) {} - -void _CPU_cache_flush_entire_data(void) +static void _CPU_cache_flush_1_data_line(const void *d_addr) {} +static void _CPU_cache_invalidate_1_data_line(const void *d_addr) {} +static void _CPU_cache_freeze_data(void) {} +static void _CPU_cache_unfreeze_data(void) {} +static void _CPU_cache_invalidate_1_instruction_line ( const void *d_addr ) {} +static void _CPU_cache_freeze_instruction(void) {} +static void _CPU_cache_unfreeze_instruction(void) {} + +static void _CPU_cache_flush_entire_data(void) { __asm__ volatile ("wbinvd"); } -void _CPU_cache_invalidate_entire_data(void) +static void _CPU_cache_invalidate_entire_data(void) { __asm__ volatile ("invd"); } -void _CPU_cache_enable_data(void) +static void _CPU_cache_enable_data(void) { _CPU_enable_cache(); } -void _CPU_cache_disable_data(void) +static void _CPU_cache_disable_data(void) { _CPU_disable_cache(); } -void _CPU_cache_invalidate_entire_instruction(void) +static void _CPU_cache_invalidate_entire_instruction(void) { __asm__ volatile ("invd"); } -void _CPU_cache_enable_instruction(void) +static void _CPU_cache_enable_instruction(void) { _CPU_enable_cache(); } -void _CPU_cache_disable_instruction( void ) +static void _CPU_cache_disable_instruction( void ) { _CPU_disable_cache(); } #endif + +#include "../../../shared/cache/cacheimpl.h" |