[GSoC 2014 : ARM Port] Week #14

Blog post by dnivra on Sun, 2014-07-27 05:49

Over the last week, PulkoMandy and Ithamar helped me out in figuring out the problem why the kernel won’t start up - turns out that the kernel was overwriting the loader, which prevent further loading of the kernel. This was fixed(not yet merged into the main tree) by moving the entire memory map to a higher address. Once this was done, the next problem was a floating point exception raised when writing to CM_CLKSEL_DSS while setting up the clocks. The register does seem to be RW as per the OMAP35xx technical reference manual and thus I’m not sure what’s going wrong. PulkoMandy suggested disabling the framebuffer related code for now(again the changes haven’t been merged into the main Haiku tree).

Currently, there are two problems that arise after the fixes done above.

  1. The kernel tries to lock sSpinlock twice, which leads to a panic and dropping to KDL.
  2. KDL itself doesn’t work properly because the gARMPagingMethod is uninitialized for some reason and thus the call to IsKernelPageAccessible method of the gARMPagingMethod fails. I suppose the solution is to initialize gARMPagingMethod, which should solve the problem with KDL.