[SOLVED] APIC issue after CALL Gate
Posted: Sun Jul 31, 2016 8:38 am
Hi,
After a user process calls back kernel (system call using CALL GATE), no IRQs are being fired (particularly TIMER) - while I have configured APIC which works fine before switching to user process
I recently started working on APIC. Though I haven't worked towards supporting multiple processors yet I got APIC working almost
I am able to configure APIC and also local timer to fire TIMER irq (0 -> mapped to 32)
Multiple (kernel) processes which all run in kernel space (ring0) run fine (scheduling works fine switching from one process to another upon timer irq)
However, when I do a task switch to a user process (ring3) and then when it calls back to kernel via a call gate, I notice that timer irq is not firing any more (actually no irqs) - and hence there is no context switch based on irq any more
With the same code base if I just switch back to using PIC then everything works fine
Can anyone please help !
[ This is on QEMU n I'm using hardware task switching ]
Regards,
- Prajwala
After a user process calls back kernel (system call using CALL GATE), no IRQs are being fired (particularly TIMER) - while I have configured APIC which works fine before switching to user process
I recently started working on APIC. Though I haven't worked towards supporting multiple processors yet I got APIC working almost
I am able to configure APIC and also local timer to fire TIMER irq (0 -> mapped to 32)
Multiple (kernel) processes which all run in kernel space (ring0) run fine (scheduling works fine switching from one process to another upon timer irq)
However, when I do a task switch to a user process (ring3) and then when it calls back to kernel via a call gate, I notice that timer irq is not firing any more (actually no irqs) - and hence there is no context switch based on irq any more
With the same code base if I just switch back to using PIC then everything works fine
Can anyone please help !
[ This is on QEMU n I'm using hardware task switching ]
Regards,
- Prajwala