From: Bryan R. <br...@ix...> - 2000-08-23 21:26:15
|
Hello linuxsh-dev, I have been working with the latest CVS kernel sources, putting in printk statements as reach points trying to figure out why the only thing I am getting in GDB is the kernel banner. It looks like the problem lies in setup_arch, called right after printk(linux_banner). That routine executes fine, until it calls paging_init (at the last line of setup_arch). As soon as the MMU is brought up, printk stops working: [from arch/sh/mm/init.c:paging_init] printk("paging here 1\n"); /* Enable MMU */ ctrl_outl(MMU_CONTROL_INIT, MMUCR); /* The manual suggests doing some nops after turning on the MMU */ asm volatile("nop;nop;nop;nop;nop;nop;"); printk("paging here 2\n"); All I get with GDB is "paging here 1" and then nothing else. As I mentioned before if I exit GDB and go into a terminal program, the sh-ipl menu is back up as if GDB mode exited (suggesting the kernel died/returned). Of course I have no way of knowing how much of the kernel executed since printk stops working. I am not passing a console parameter to the kernel. Is it normal for LinuxSH BIOS-based printk to break after bringing up the MMU? If so, how do I fix it--I would like all console output to go into GDB. And if I am having MMU problems, could that be the result of incorrect sh-ipl init_bsc code? Thanks, Bryan Rittmeyer mailto:br...@ix... [slowing getting this SH4 board running Linux] |