"Bradley D. LaRonde" wrote:
>
> Here is my story. So far...
[snipped]
> It appears that my code in prom_init never gets called. I've even put some
> really simple code in prom_init that should just make an LED on the Clio
> flash. Still, nothing.
>
Are you shure you pass all stuff above prom_init ?
> I watch it, and my init.o code is getting linked in, so that's not the
> problem (it wouldn't link without it either).
>
> >From what I can tell, prom_init should get called from head.S before jal
> start_kernel. What am I missing?
>
> I'm getting stuck in trying to understand ld.script.little and head.S.
> Where can I go from here? Any suggestions? Any advice about
> understanding/working with head.S?
Your prom must call kernel_entry. Then cpu_probe is called, it shouldn't
get an exception, even if your cpu doesn't detected. You just have
CPU_UNKNOWN in the latter case. Then the kernel clears bss and calls
prom_init. The the kernel initializes mmu and calls start_kernel.
Perhaps, your bootloader doesn't set up the kernel sections correctly.
What I'd like to recommend is the following:
1. Found a way to print messages somewhere (at your display, over serial
line, etc.)
2. Write a simple function that prints messages and a standalone program
"hello world". The function should be written to be called from
kernel_entry. Look at arch/mips/baget/print.c
3. Test the program by loading it to your box. At that point, your print
fascility should be tested.
4. Hack kernel/printk.c to use your simple print function, not the
console stuff.
At that point you might add printks or your_arch_specific_printks to
display the kernel messages.
Regards,
Gleb.
|