Hi Shinya, Thanks for your support and your code patches. I'm waiting for a Lauterbach trace32 to debug deeply the code and understand better the behaviour. I'll send you my feedback next week.
Best regards, luigi On sab, 2008-02-16 at 18:06 +0900, Shinya Kuribayashi wrote: > Shinya Kuribayashi wrote: > > Shinya Kuribayashi wrote: > >>> I think that on my application the UNCACHED_SDRAM should map the address > >>> on KSEG1 (how it is now) but this simply doesn't work. Instead, using > >>> the PHYSADDR(a) macro... the kernel is able to start. > >>> > >>> I suspect that there are issues on cache management. Can be? > >> IMHO it's not related to cache. > > > > How do you set ERL and EXL bits? Please try to clear them at the > > STATUS register initialization like: > > > > reset: > > <snip> > > > > /* STATUS register */ > > mfc0 k0, CP0_STATUS > > - li k1, ~ST0_IE > > + li k1, ~(ST0_ERL | ST0_EXL | ST0_IE) > > and k0, k1 > > mtc0 k0, CP0_STATUS > > > > ERL and EXL disable exceptions. Due to this spec, we are in danger > > of overlooking something critical. If this change brings in new > > exception(s), please fix the causes of them first. Hope this helps. > > Err, sorry for confusing example. Here's the right one: > > diff --git a/cpu/mips/start.S b/cpu/mips/start.S > index c92b162..02797f7 100644 > --- a/cpu/mips/start.S > +++ b/cpu/mips/start.S > @@ -211,14 +211,20 @@ reset: > mtc0 zero, CP0_WATCHLO > mtc0 zero, CP0_WATCHHI > > + /* Inhibit deffered WATCH exception */ > + mfc0 k0, CP0_CAUSE > + li k1, ~(1UL << 22) # CP0.Cause.WP = 0 > + and k0, k0, k1 > + mtc0 k0, CP0_CAUSE > + > /* STATUS register */ > #ifdef CONFIG_TB0229 > li k0, ST0_CU0 > #else > mfc0 k0, CP0_STATUS > #endif > - li k1, ~ST0_IE > - and k0, k1 > + ori k0, (ST0_ERL | ST0_EXL | ST0_IE) > + xori k0, (ST0_ERL | ST0_EXL) > mtc0 k0, CP0_STATUS > > /* CAUSE register */ > > Again, it's highy recommended to make sure U-Boot works fine under > interrupts enabled (CP0.Status.IE=1), before digging into UNCACHED_ > SDRAM problem. > > Shinya > Industrie Dial Face S.p.A. Luigi Mantellini R&D - Software Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI), Italy Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: [EMAIL PROTECTED]
<<attachment: idf_logo.gif>>
------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users