{"push_id":981512771,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"b3b89c0acdd9e0b444011bdd3f9cd88e6b0eaaa2","before":"a677c338f0f185c4b3e286a27d0e9d6da0690c3c","commits":[{"sha":"b6dea192f5ba917b41e2a3d57469f0114c844cb1","author":{"email":"b0697ec0d65c9a1d465abd00361d1600aa862e32@gmail.com","name":"Nemanja Boric"},"message":"Fix save/restore asm routines\n\nPreviously, there was a wrong assumption that irq mode has it's own\nbank of r0-r12 registers. It doesn't. push {r0-r14}^ actually uses\nthe same r0-r12 set of registers + *user mode* *r13* and *r14*. That's\nwhy, the store/restore context is done in the following way:\n\n- In the start of IRQ, push {r0-12} registers to stack\n- Store address of the sp in memory because we will move it there\n  to get these registers in save context and to replace them in\n  restore context routines.\n- Now, if you want to save context, pop all these from the stack\n  at the place when sp was in the beginning of the irq, and save\n  them to PCB. Don't replace them with anything, as we're just saving.\n- In restore context, we just need to replace these with the value\n  in the bank, so it's inverse of the process.\n\nI belive this will not work with nested interrupts, but for now,\nthey are all still masked during entire irq.","distinct":true,"url":"https://api.github.com/repos/Burgos/micoos/commits/b6dea192f5ba917b41e2a3d57469f0114c844cb1"},{"sha":"46f048e818b6e259efb10e896e628a98f9bb45fa","author":{"email":"b0697ec0d65c9a1d465abd00361d1600aa862e32@gmail.com","name":"Nemanja Boric"},"message":"Make process body slightly more complex\n\nEach process now in loops print outs 'X' and the number betwen 0 and\n9, where 'X' is element of  {'A', 'B', 'C'}. This is needed for testing\nthe context switch.","distinct":true,"url":"https://api.github.com/repos/Burgos/micoos/commits/46f048e818b6e259efb10e896e628a98f9bb45fa"},{"sha":"b3b89c0acdd9e0b444011bdd3f9cd88e6b0eaaa2","author":{"email":"b0697ec0d65c9a1d465abd00361d1600aa862e32@gmail.com","name":"Nemanja Boric"},"message":"Don't save context of the non-existing process in scheduler\n\nWhen system runs for the first time, we shouldn't save the context\nto the first process, but we should just restore context of any\nprocess that's ready.","distinct":true,"url":"https://api.github.com/repos/Burgos/micoos/commits/b3b89c0acdd9e0b444011bdd3f9cd88e6b0eaaa2"}]}