Saturday, December 09, 2006

Things getting better

Its a cold winter night here in Cambridge. I've been reading through context switching conventions on ARM. It's not too hard once you write some assembler, run it on the debugger and see how it behaves. I got my first inittask (extremely simple branch to itself task!) running by mapping its tables, giving it a pageful of stack and jumping to it. It's not complicated really. I had to write a pgd allocator first, change the page allocator to give back physical pages on request, create a correct ktcb etc. etc. I'm quite happy though that all this has worked in the first run with minor changes after compilation. No hard debugging times as I expected, because getting CPSR/SPSRs, user space permissions, flushing of caches/tlb at the correct place must be all done the right way, which I hadn't tried before. Perhaps nasty bugs will show up tomorrow. But let me commit this first. By the way it seems I should switch to STGIT, its no doubt more useful to manage your patches with git itself.

0 Comments:

Post a Comment

<< Home