[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[microblaze-uclinux] boot fails because vectors get zeroed out by paging_init()




Hi all,

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,

_Ico


-- 
:wq
^X^Cy^K^X^C^C^C
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/