Hi,

after further investigation, I found out that my SMC problem is probably 
caused by cache issues.

> The SMC console works fine in U-Boot. 115200 8N1, no problem there.
>
> When booting a Linux 2.6.16 kernel, the processor doesn't print anything on
> the console and seems to hang. Further analysis with a BDI2000 reveals the
> following.
>
> - The CPU is stuck in cpm_uart_console_write, checking for
>
> while ((bdp->cbd_sc & BD_SC_READY) != 0);
>
>   At that point, most of the external and internal memory read as 0 (SDRAM,
> flash, ...). A few memory locations contain values different than 0, and I
> suspect those to come directly from the cache.

The only memory locations that aren't filled with 0 when read from the BDI are 
the ones present in D-cache lines. Accessing unmapped memory doesn't fail and 
returns 0.

> - If I break right before setting the BD_SC_READY flag and run using stepi,
> random characters are sent on the serial port. Measuring the baudrate using
> an oscilloscope confirms that it has been correctly configured. Only the
> data is wrong.

Reply via email to