diff options
Diffstat (limited to 'src/gfile')
-rw-r--r-- | src/gfile/gfile_fatfs_diskio_chibios.c | 11 | ||||
-rw-r--r-- | src/gfile/gfile_petitfs_diskio_chibios.c | 11 |
2 files changed, 16 insertions, 6 deletions
diff --git a/src/gfile/gfile_fatfs_diskio_chibios.c b/src/gfile/gfile_fatfs_diskio_chibios.c index 1f4638d5..13c7403d 100644 --- a/src/gfile/gfile_fatfs_diskio_chibios.c +++ b/src/gfile/gfile_fatfs_diskio_chibios.c @@ -40,9 +40,14 @@ // specified data structure is aligned on a cache line boundary - not a good assumption. // Solution: We increase the size provided to ChibiOS so that it does it properly. // This assumes of course that we know the size of the cpu cache line. -#define CPU_CACHE_LINE_SIZE 32 -#define CACHE_FLUSH(buf, sz) dmaBufferFlush((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) -#define CACHE_INVALIDATE(buf, sz) dmaBufferInvalidate((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) +#if CH_KERNEL_MAJOR > 2 + #define CPU_CACHE_LINE_SIZE 32 + #define CACHE_FLUSH(buf, sz) dmaBufferFlush((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) + #define CACHE_INVALIDATE(buf, sz) dmaBufferInvalidate((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) +#else + #define CACHE_FLUSH(buf, sz) + #define CACHE_INVALIDATE(buf, sz) +#endif /* Initialize a Drive */ DSTATUS disk_initialize ( diff --git a/src/gfile/gfile_petitfs_diskio_chibios.c b/src/gfile/gfile_petitfs_diskio_chibios.c index 61917ee5..bbaf0e4b 100644 --- a/src/gfile/gfile_petitfs_diskio_chibios.c +++ b/src/gfile/gfile_petitfs_diskio_chibios.c @@ -35,9 +35,14 @@ // specified data structure is aligned on a cache line boundary - not a good assumption. // Solution: We increase the size provided to ChibiOS so that it does it properly. // This assumes of course that we know the size of the cpu cache line. -#define CPU_CACHE_LINE_SIZE 32 -#define CACHE_FLUSH(buf, sz) dmaBufferFlush((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) -#define CACHE_INVALIDATE(buf, sz) dmaBufferInvalidate((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) +#if CH_KERNEL_MAJOR > 2 + #define CPU_CACHE_LINE_SIZE 32 + #define CACHE_FLUSH(buf, sz) dmaBufferFlush((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) + #define CACHE_INVALIDATE(buf, sz) dmaBufferInvalidate((buf), (sz)+(CPU_CACHE_LINE_SIZE-1)) +#else + #define CACHE_FLUSH(buf, sz) + #define CACHE_INVALIDATE(buf, sz) +#endif /*-----------------------------------------------------------------------*/ /* Initialize a Drive */ |