Rev 2101 | Rev 2218 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2101 | Rev 2217 | ||
|---|---|---|---|
| Line 137... | Line 137... | ||
| 137 | return IRQ_ACCEPT; |
137 | return IRQ_ACCEPT; |
| 138 | } |
138 | } |
| 139 | 139 | ||
| 140 | static void l_apic_timer_irq_handler(irq_t *irq, void *arg, ...) |
140 | static void l_apic_timer_irq_handler(irq_t *irq, void *arg, ...) |
| 141 | { |
141 | { |
| - | 142 | /* |
|
| - | 143 | * Holding a spinlock could prevent clock() from preempting |
|
| - | 144 | * the current thread. In this case, we don't need to hold the |
|
| - | 145 | * irq->lock so we just unlock it and then lock it again. |
|
| - | 146 | */ |
|
| - | 147 | spinlock_unlock(&irq->lock); |
|
| 142 | clock(); |
148 | clock(); |
| - | 149 | spinlock_lock(&irq->lock); |
|
| 143 | } |
150 | } |
| 144 | 151 | ||
| 145 | /** Initialize APIC on BSP. */ |
152 | /** Initialize APIC on BSP. */ |
| 146 | void apic_init(void) |
153 | void apic_init(void) |
| 147 | { |
154 | { |