[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] boot fails because vectors get zeroed out by paging_init()
I'm just taking a first look at uClinux for the microblaze; I just succeeded
generating my core, building a kernel, and I wrote a simple bootloader to
load the kernel in place and jump to the start address.
Execution starts, I get some banners and info on the console, but after the
first sti(), just before calibrate_delay(), things go wrong. Interrupts
ofcourse. A bit investigation shows that no interrupt vectors are in place
at adress 0x08, very strange.
After some singlestepping I just found out the following : in
mach_early_init(), the vectors are properly copied to the right locations,
but later on, they get zeroed out by a memset() in __alloc_bootmem_core(),
called from paging_init().
I guess this has something to do with improper configuration or something,
and I don't like the idea of getting lost in this alloc_bootmem stuff. Any
hints where too look ? Please let me know if I need to provide any more
information to get this solved...
Thanks a lot,
microblaze-uclinux mailing list
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/