I was able to successfully implement other software interrupts on the code, though I have not fully tested it. Now the other thing I am looking forward to implement is to remove disabling of interrupts. Usually with every call to the OS functions there is entering of critical region which disables the interrupt.
Now what I need to confirm is
Is the interrupts disabled to prevent the timer interrupt from doing any context switch?? Can other interrupts be allowed to be processed by just disabling the timer interrupt in the critical region. What are the reasons for disabling the interrupts??
I ask this question because with ARM there is a semaphore instruction and if possible I am thinking of implementing it to prevent shared data problem in case of context switches and other OS function calls.
Thanks and regards,