diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-01-11 14:41:53 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-01-28 16:45:42 +0100 |
commit | c934a10dba246ef00390dbe64b75a966344dcf6b (patch) | |
tree | c25b0bab39f3baf16cc854b5b55a4bc32d24d1fb /c | |
parent | bsps/powerpc: Add option for write-through cache (diff) | |
download | rtems-c934a10dba246ef00390dbe64b75a966344dcf6b.tar.bz2 |
bsp/mpc55xx: Add BSP_DATA_CACHE_USE_WRITE_THROUGH
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/src/memcpy.c | 4 |
3 files changed, 13 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac index e691b364d8..63f6a9187d 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac @@ -32,6 +32,11 @@ RTEMS_BSPOPTS_SET_INSTRUCTION_CACHE_ENABLED([gwlcfm],[]) RTEMS_BSPOPTS_SET_INSTRUCTION_CACHE_ENABLED([*],[1]) RTEMS_BSPOPTS_HELP_INSTRUCTION_CACHE_ENABLED +RTEMS_BSPOPTS_SET([BSP_DATA_CACHE_USE_WRITE_THROUGH],[mpc5674f_ecu508*],[1]) +RTEMS_BSPOPTS_SET([BSP_DATA_CACHE_USE_WRITE_THROUGH],[*],[]) +RTEMS_BSPOPTS_HELP([BSP_DATA_CACHE_USE_WRITE_THROUGH], +[use write-through for data cache]) + RTEMS_BSPOPTS_SET([PPC_EXC_CONFIG_USE_FIXED_HANDLER],[*],[1]) RTEMS_BSPOPTS_HELP([PPC_EXC_CONFIG_USE_FIXED_HANDLER], [use fixed high-level exception handler]) diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c index 787a85ada4..6289530987 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c @@ -85,7 +85,11 @@ const struct MMU_tag mpc55xx_start_config_mmu [] = { MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0), MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M, 1, 0, 1, 0), /* External SRAM 2M */ - MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 0), + #ifndef BSP_DATA_CACHE_USE_WRITE_THROUGH + MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 0), + #else + MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 2), + #endif /* Internal SRAM 256k */ MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 0, 1, 1, 0), MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0), diff --git a/c/src/lib/libbsp/powerpc/shared/src/memcpy.c b/c/src/lib/libbsp/powerpc/shared/src/memcpy.c index e4ac29221c..9df0ffecea 100644 --- a/c/src/lib/libbsp/powerpc/shared/src/memcpy.c +++ b/c/src/lib/libbsp/powerpc/shared/src/memcpy.c @@ -15,7 +15,9 @@ #include <bspopts.h> #include <rtems/powerpc/powerpc.h> -#if BSP_DATA_CACHE_ENABLED && PPC_CACHE_ALIGNMENT == 32 +#if BSP_DATA_CACHE_ENABLED \ + && PPC_CACHE_ALIGNMENT == 32 \ + && !defined(BSP_DATA_CACHE_USE_WRITE_THROUGH) #include <string.h> #include <stdint.h> |