Message ID | 1319099290-19267-1-git-send-email-joachim.foerster@missinglinkelectronics.com |
---|---|
State | Accepted |
Commit | f956ad98b2ba10901b6ea04983e679bc5ddc4d7a |
Headers | show |
On 10/20/2011 04:28 PM, Joachim Foerster wrote: > AFAIK the NIOS2 architecture does not have any possibility to > dynamically switch off the data cache. So _status() always reports 1 and > _enable/_disable() just issue a flush of everything. > > For example, common/cmd_elf.c depends on these symbols. > > Signed-off-by: Joachim Foerster<joachim.foerster@missinglinkelectronics.com> > --- > Changes for v3: > - #include proper header file for flush_dcache() > Changes for v2: > - Remove return; from added void functions > > arch/nios2/cpu/cpu.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > Tested-by: Thomas Chou <thomas@wytron.com.tw>
On 10/20/2011 04:28 PM, Joachim Foerster wrote: > AFAIK the NIOS2 architecture does not have any possibility to > dynamically switch off the data cache. So _status() always reports 1 and > _enable/_disable() just issue a flush of everything. > > For example, common/cmd_elf.c depends on these symbols. > > Signed-off-by: Joachim Foerster<joachim.foerster@missinglinkelectronics.com> > --- > Changes for v3: > - #include proper header file for flush_dcache() > Changes for v2: > - Remove return; from added void functions > > arch/nios2/cpu/cpu.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > Hi Joachim, Applied. Thanks. Best regards, Thomas
diff --git a/arch/nios2/cpu/cpu.c b/arch/nios2/cpu/cpu.c index ef360ee..edf2560 100644 --- a/arch/nios2/cpu/cpu.c +++ b/arch/nios2/cpu/cpu.c @@ -24,6 +24,7 @@ #include <common.h> #include <nios2.h> #include <nios2-io.h> +#include <asm/cache.h> #if defined (CONFIG_SYS_NIOS_SYSID_BASE) extern void display_sysid (void); @@ -47,3 +48,18 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) nios2_callr(CONFIG_SYS_RESET_ADDR); return 0; } + +int dcache_status(void) +{ + return 1; +} + +void dcache_enable(void) +{ + flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE); +} + +void dcache_disable(void) +{ + flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE); +}
AFAIK the NIOS2 architecture does not have any possibility to dynamically switch off the data cache. So _status() always reports 1 and _enable/_disable() just issue a flush of everything. For example, common/cmd_elf.c depends on these symbols. Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com> --- Changes for v3: - #include proper header file for flush_dcache() Changes for v2: - Remove return; from added void functions arch/nios2/cpu/cpu.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)