Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/interrupt.c

    rda1bafb ra000878c  
    9494{
    9595        fault_if_from_uspace(istate, "Unserviced interrupt: %d.", n);
    96        
     96
    9797        decode_istate(istate);
    9898        panic("Unserviced interrupt: %d.", n);
     
    102102{
    103103        fault_if_from_uspace(istate, "Divide error.");
    104        
     104
    105105        decode_istate(istate);
    106106        panic("Divide error.");
     
    111111{
    112112        if (TASK) {
    113                 irq_spinlock_lock(&TASK->lock, false);
    114                 size_t ver = TASK->arch.iomapver;
    115                 irq_spinlock_unlock(&TASK->lock, false);
     113                size_t ver;
    116114               
     115                spinlock_lock(&TASK->lock);
     116                ver = TASK->arch.iomapver;
     117                spinlock_unlock(&TASK->lock);
     118       
    117119                if (CPU->arch.iomapver_copy != ver) {
    118120                        /*
     
    128130                fault_if_from_uspace(istate, "General protection fault.");
    129131        }
    130        
     132
    131133        decode_istate(istate);
    132134        panic("General protection fault.");
     
    136138{
    137139        fault_if_from_uspace(istate, "Stack fault.");
    138        
     140
    139141        decode_istate(istate);
    140142        panic("Stack fault.");
     
    144146{
    145147        uint32_t mxcsr;
    146         asm volatile (
     148        asm (
    147149                "stmxcsr %[mxcsr]\n"
    148150                : [mxcsr] "=m" (mxcsr)
    149151        );
    150        
    151152        fault_if_from_uspace(istate, "SIMD FP exception(19), MXCSR: %#zx.",
    152153            (unative_t) mxcsr);
     
    157158}
    158159
    159 static void nm_fault(int n __attribute__((unused)),
    160     istate_t *istate __attribute__((unused)))
    161 {
    162 #ifdef CONFIG_FPU_LAZY
     160static void nm_fault(int n __attribute__((unused)), istate_t *istate __attribute__((unused)))
     161{
     162#ifdef CONFIG_FPU_LAZY     
    163163        scheduler_fpu_lazy_request();
    164164#else
     
    169169
    170170#ifdef CONFIG_SMP
    171 static void tlb_shootdown_ipi(int n __attribute__((unused)),
    172     istate_t *istate __attribute__((unused)))
     171static void tlb_shootdown_ipi(int n __attribute__((unused)), istate_t *istate __attribute__((unused)))
    173172{
    174173        trap_virtual_eoi();
     
    192191                 * The IRQ handler was found.
    193192                 */
    194                
     193                 
    195194                if (irq->preack) {
    196195                        /* Send EOI before processing the interrupt */
     
    199198                }
    200199                irq->handler(irq);
    201                 irq_spinlock_unlock(&irq->lock, false);
     200                spinlock_unlock(&irq->lock);
    202201        } else {
    203202                /*
Note: See TracChangeset for help on using the changeset viewer.