summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-10-01 14:37:18 +0200
committerMiguel <m.i@gmx.at>2018-10-01 14:37:18 +0200
commitb518f39803eaaf0b25b95baf951b12ef4d5a727e (patch)
treed595877fd1869b280ba33bc2256a3b3da8eb8c95 /kernel/interrupts.c
parent75433d155c152b809e9f25b1099fc06d6106308b (diff)
struggling with interrupts and scheduler
Diffstat (limited to 'kernel/interrupts.c')
-rw-r--r--kernel/interrupts.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index 8bff84b..49c0191 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -64,9 +64,7 @@ void interrupt_register(uint32_t irq, uint32_t func_addr)
*/
uint32_t interrupt_handler(uint32_t esp, uint32_t irq)
{
- uint32_t cpu=smp_get(SMP_APIC_ID);
uint32_t *stack;
- static uint32_t timer=0;
if(handlers[irq]!=0)
{
@@ -90,17 +88,7 @@ uint32_t interrupt_handler(uint32_t esp, uint32_t irq)
case INTERRUPT_APIC_TIMER: // frequency is configured in smp.c (100hz)
-
- if(cpu==0)
- {
- timer++;
- if(timer==10){
- compositor_swap_buffers();
- esp=scheduler_run(esp,-1);
- timer=0;
- }
- }
-
+ esp=scheduler_run(esp,-1);
apic_eoi();
break;