GPF when interruption occur in ring 3
Posted: Sun Jan 29, 2023 5:55 pm
Hello !
I am doing a little 64 bit kernel (so i am in long mode) and as said in the title I have a problem with interruptions after switching to ring 3. (But all is working before switch)
My gdt descriptors seems ok (null, kernel code, kernel data, user code, user data, tss). My tss is empty.
The switch is ok (with the fake stack and iretq), and the user program is an infinite loop that only bug when an interruption occur (the timer interruption or any other if i call int xx from ring 3 program).
Qemu is raising v=0xd and e=0x0000...so thats a general protection fault but without any supplement informations...
Sorry for no code snippet, i cant post it for the moment.
If you have an idea im taker !
Have a good day.
I am doing a little 64 bit kernel (so i am in long mode) and as said in the title I have a problem with interruptions after switching to ring 3. (But all is working before switch)
My gdt descriptors seems ok (null, kernel code, kernel data, user code, user data, tss). My tss is empty.
The switch is ok (with the fake stack and iretq), and the user program is an infinite loop that only bug when an interruption occur (the timer interruption or any other if i call int xx from ring 3 program).
Qemu is raising v=0xd and e=0x0000...so thats a general protection fault but without any supplement informations...
Sorry for no code snippet, i cant post it for the moment.
If you have an idea im taker !
Have a good day.