software: always provide flush_l2_cache implementation (even if empty) to avoid #ifdefs CONFIG_L2_SIZE.
This commit is contained in:
parent
3ce74f6e29
commit
fb05fbc5cc
|
@ -60,9 +60,7 @@ static void __attribute__((noreturn)) boot(unsigned long r1, unsigned long r2, u
|
||||||
#endif
|
#endif
|
||||||
flush_cpu_icache();
|
flush_cpu_icache();
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_CPU_TYPE_MOR1KX) && defined(CONFIG_CPU_VARIANT_LINUX)
|
#if defined(CONFIG_CPU_TYPE_MOR1KX) && defined(CONFIG_CPU_VARIANT_LINUX)
|
||||||
/* Mainline Linux expects to have exception vector base address set to the
|
/* Mainline Linux expects to have exception vector base address set to the
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
#include <generated/soc.h>
|
#include <generated/soc.h>
|
||||||
#include <generated/csr.h>
|
#include <generated/csr.h>
|
||||||
|
|
||||||
// #define MEMTEST_BUS_DEBUG
|
//#define MEMTEST_BUS_DEBUG
|
||||||
// #define MEMTEST_DATA_DEBUG
|
//#define MEMTEST_DATA_DEBUG
|
||||||
// #define MEMTEST_ADDR_DEBUG
|
//#define MEMTEST_ADDR_DEBUG
|
||||||
|
|
||||||
#define KIB 1024
|
#define KIB 1024
|
||||||
#define MIB (KIB*1024)
|
#define MIB (KIB*1024)
|
||||||
|
@ -54,9 +54,7 @@ int memtest_bus(unsigned int *addr, unsigned long size)
|
||||||
|
|
||||||
/* Flush caches */
|
/* Flush caches */
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Read/Verify One/Zero pattern */
|
/* Read/Verify One/Zero pattern */
|
||||||
for(i=0; i<size/4; i++) {
|
for(i=0; i<size/4; i++) {
|
||||||
|
@ -76,9 +74,7 @@ int memtest_bus(unsigned int *addr, unsigned long size)
|
||||||
|
|
||||||
/* Flush caches */
|
/* Flush caches */
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Read/Verify One/Zero pattern */
|
/* Read/Verify One/Zero pattern */
|
||||||
for(i = 0; i < size/4; i++) {
|
for(i = 0; i < size/4; i++) {
|
||||||
|
@ -112,9 +108,7 @@ int memtest_addr(unsigned int *addr, unsigned long size, int random)
|
||||||
|
|
||||||
/* Flush caches */
|
/* Flush caches */
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Read/Verify datas */
|
/* Read/Verify datas */
|
||||||
seed_16 = 1;
|
seed_16 = 1;
|
||||||
|
@ -177,9 +171,7 @@ int memtest_data(unsigned int *addr, unsigned long size, int random)
|
||||||
|
|
||||||
/* Flush caches */
|
/* Flush caches */
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Read/Verify datas */
|
/* Read/Verify datas */
|
||||||
seed_32 = 1;
|
seed_32 = 1;
|
||||||
|
@ -240,9 +232,7 @@ void memspeed(unsigned int *addr, unsigned long size, bool read_only)
|
||||||
|
|
||||||
/* flush caches */
|
/* flush caches */
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Measure Read speed */
|
/* Measure Read speed */
|
||||||
timer0_en_write(1);
|
timer0_en_write(1);
|
||||||
|
|
|
@ -5,15 +5,15 @@
|
||||||
#include <generated/mem.h>
|
#include <generated/mem.h>
|
||||||
#include <generated/csr.h>
|
#include <generated/csr.h>
|
||||||
|
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
void flush_l2_cache(void)
|
void flush_l2_cache(void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_L2_SIZE
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
for(i=0;i<2*CONFIG_L2_SIZE/4;i++) {
|
for(i=0;i<2*CONFIG_L2_SIZE/4;i++) {
|
||||||
((volatile unsigned int *) MAIN_RAM_BASE)[i];
|
((volatile unsigned int *) MAIN_RAM_BASE)[i];
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void busy_wait(unsigned int ms)
|
void busy_wait(unsigned int ms)
|
||||||
{
|
{
|
||||||
|
|
|
@ -62,12 +62,10 @@ void sata_read(uint32_t sector, uint32_t count, uint8_t* buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_CPU_HAS_DMA_BUS
|
#ifndef CONFIG_CPU_HAS_DMA_BUS
|
||||||
/* Flush CPU caches */
|
/* Flush caches */
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -488,12 +488,10 @@ void sdcard_read(uint32_t block, uint32_t count, uint8_t* buf)
|
||||||
sdcard_stop_transmission();
|
sdcard_stop_transmission();
|
||||||
|
|
||||||
#ifndef CONFIG_CPU_HAS_DMA_BUS
|
#ifndef CONFIG_CPU_HAS_DMA_BUS
|
||||||
/* Flush CPU caches */
|
/* Flush caches */
|
||||||
flush_cpu_dcache();
|
flush_cpu_dcache();
|
||||||
#ifdef CONFIG_L2_SIZE
|
|
||||||
flush_l2_cache();
|
flush_l2_cache();
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue