> The problem is that after/when the kernel switches to the real console > from the boot console, printk() calls cpm_uart_console_write() to > print the first (?) message using the cpm_uart driver. But the > transmitter buffer never becomes ready. It's shown below with the gdb > session. > > Program received signal SIGSTOP, Stopped (signal). > 0xc00f3510 in cpm_uart_console_write (co=<value optimized out>, > s=0xc017703e "console [ttyCPM0] enabled, bootconsole disabled\n", > count=0x30) at /home/code/linux-2.6.33.5/arch/powerpc/include/asm/io.h:154 > (gdb) next > (gdb) x/4h bdbase > 0xfddfa020: 0xffff 0xffff 0xffff 0xffff > (gdb) > > Why would the TxBD be filled with all 0xF? Would it be possible that > the bdbase actually points somewhere else other than the TxBD?
The virtual address 0xfddfa000 is mapped to 0xfa202000. I suspect that the TxBD of my MPC870 may not start at 0xfa202020. I notice that for adder875, ep88xc and mpc885ads, the muram data's reg = <0 0x1c00> but for mgsuvd, its reg = <0x800 0x1800>. How does the kernel use muram for 885 family SoCs? How much muram should be reserved for data? My RCCR=0x1, meaning the first 512B is for microcode. So the data and the TxBD should really be starting at 0xfa202200? Then my muram data's reg should be <0x200 ?>? What size shall I specify? Scott, you instructed (http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-July/083788.html) me to change the buffer address to 0xfa203fb8 from 0xfa202008 for the bootwrapper's cpm-serial driver, assuming reg=<0 0x1c00>. If I need to change to the reg not starting at 0x0, how should I accordingly change this buffer address? Thanks a lot, -Shawn. I went back to 2.4.18 kernel and noticed that the _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev