Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
I have an issue with memmove function. When my OS run into memmove function. Everything works correctly if there is no interrupt happened. If there is interrupt happened, when the memmove's thread back, it raises exception General Protection. The context is saved correctly. Please help
Is it restored correctly? Clearly both can't be true.
Yep, but i handle interrupt in the same stack, can it change data in function stack? I see that the saved rbp is the same with saved rsp , so that when interruptHanler is call, it change the local in my function
If you are using a compiler that uses the SystemV AMD64 ABI, such as GCC, you must remember to disable the red zone for code that runs in kernel mode (-mno-red-zone on GCC), because it will be overwritten on every interrupt.
Gigasoft wrote:If you are using a compiler that uses the SystemV AMD64 ABI, such as GCC, you must remember to disable the red zone for code that runs in kernel mode (-mno-red-zone on GCC), because it will be overwritten on every interrupt.