Come back to the office and worked a busy day today.
I have fixed the kernel module loading problem by fixing the bootmemheap module. The kernel initialization code had changed the order. As the bootmemheap has to be setup before the slab is setup and after the mmu is initialized, we have find a proper place to setup the bootmemheap. It was setup in the timer initialization procedure, but now the timer initialization is moved after the slab initialization. So, we have to use a early boot parameter to initialize the bootmemheap. This fix is actually proposed by Dave and I ported it back from another branch to the 2.6.32 kernel.
I re-discovered the vmlinux.lds linker script and studied it again for the proper initialization order of the functions.
I have merged the changes from the main branch to the new chip supporting branch. Will upgrade the kernel for the new chip tomorrow.
No comments:
Post a Comment