Wolfgang Denk wrote: > Dear [EMAIL PROTECTED], > > In message <[EMAIL PROTECTED]> you wrote: > >>--===============1314021165== >> >>From: Dirk Behme <[EMAIL PROTECTED]> >> >>Add ARM Cortex A8 common directory >> >>Signed-off-by: Dirk Behme <[EMAIL PROTECTED]> > > ... > > >>+static void cp_delay(void) >>+{ >>+ volatile int i; >>+ >>+ /* Many OMAP regs need at least 2 nops */ >>+ for (i = 0; i < 100; i++) ; > > > There is not much reason for the compiler not to optimize this code > away. > > >>+void icache_disable(void) >>+{ >>+ ulong reg; >>+ >>+ reg = read_p15_c1(); >>+ cp_delay(); >>+ write_p15_c1(reg & ~C1_IC); >>+} >>+ >>+void dcache_disable (void) >>+{ >>+ ulong reg; >>+ >>+ reg = read_p15_c1 (); >>+ cp_delay (); >>+ write_p15_c1 (reg & ~C1_DC); >>+} > > > Would it make sense to flush caches before disbling?
Basically yes. But regarding the logic used in existing code, e.g. cpu/arm1176/cpu.c (cleanup_before_linux()) I'm not sure about this. The logic seems to be to provide single functions for each cache operation and then call the functions in the correct order. >>+ /* someone ought to write a more effiction fiq_save_user_regs */ > > > effiction ? > > > Best regards, > > Wolfgang Denk > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot