Subversion Repositories HelenOS

Rev

Rev 3788 | Rev 3851 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3788 Rev 3790
Line 92... Line 92...
92
static void trap_virtual_eoi(void)
92
static void trap_virtual_eoi(void)
93
{
93
{
94
    if (eoi_function)
94
    if (eoi_function)
95
        eoi_function();
95
        eoi_function();
96
    else
96
    else
97
        panic("no eoi_function\n");
97
        panic("No eoi_function.");
98
 
98
 
99
}
99
}
100
 
100
 
101
static void null_interrupt(int n, istate_t *istate)
101
static void null_interrupt(int n, istate_t *istate)
102
{
102
{
103
    fault_if_from_uspace(istate, "Unserviced interrupt: %d", n);
103
    fault_if_from_uspace(istate, "Unserviced interrupt: %d.", n);
104
    decode_istate(n, istate);
104
    decode_istate(n, istate);
105
    panic("Unserviced interrupt\n");
105
    panic("Unserviced interrupt.");
106
}
106
}
107
 
107
 
108
/** General Protection Fault. */
108
/** General Protection Fault. */
109
static void gp_fault(int n, istate_t *istate)
109
static void gp_fault(int n, istate_t *istate)
110
{
110
{
Line 124... Line 124...
124
             * the instruction.
124
             * the instruction.
125
             */
125
             */
126
            io_perm_bitmap_install();
126
            io_perm_bitmap_install();
127
            return;
127
            return;
128
        }
128
        }
129
        fault_if_from_uspace(istate, "General protection fault");
129
        fault_if_from_uspace(istate, "General protection fault.");
130
    }
130
    }
131
 
131
 
132
    decode_istate(n, istate);
132
    decode_istate(n, istate);
133
    panic("General protection fault\n");
133
    panic("General protection fault.");
134
}
134
}
135
 
135
 
136
static void ss_fault(int n, istate_t *istate)
136
static void ss_fault(int n, istate_t *istate)
137
{
137
{
138
    fault_if_from_uspace(istate, "Stack fault");
138
    fault_if_from_uspace(istate, "Stack fault.");
139
    decode_istate(n, istate);
139
    decode_istate(n, istate);
140
    panic("Stack fault\n");
140
    panic("Stack fault.");
141
}
141
}
142
 
142
 
143
static void nm_fault(int n, istate_t *istate)
143
static void nm_fault(int n, istate_t *istate)
144
{
144
{
145
#ifdef CONFIG_FPU_LAZY     
145
#ifdef CONFIG_FPU_LAZY     
146
    scheduler_fpu_lazy_request();
146
    scheduler_fpu_lazy_request();
147
#else
147
#else
148
    fault_if_from_uspace(istate, "FPU fault");
148
    fault_if_from_uspace(istate, "FPU fault.");
149
    panic("FPU fault");
149
    panic("FPU fault.");
150
#endif
150
#endif
151
}
151
}
152
 
152
 
153
static void tlb_shootdown_ipi(int n, istate_t *istate)
153
static void tlb_shootdown_ipi(int n, istate_t *istate)
154
{
154
{
Line 219... Line 219...
219
void trap_virtual_enable_irqs(uint16_t irqmask)
219
void trap_virtual_enable_irqs(uint16_t irqmask)
220
{
220
{
221
    if (enable_irqs_function)
221
    if (enable_irqs_function)
222
        enable_irqs_function(irqmask);
222
        enable_irqs_function(irqmask);
223
    else
223
    else
224
        panic("no enable_irqs_function\n");
224
        panic("No enable_irqs_function.");
225
}
225
}
226
 
226
 
227
void trap_virtual_disable_irqs(uint16_t irqmask)
227
void trap_virtual_disable_irqs(uint16_t irqmask)
228
{
228
{
229
    if (disable_irqs_function)
229
    if (disable_irqs_function)
230
        disable_irqs_function(irqmask);
230
        disable_irqs_function(irqmask);
231
    else
231
    else
232
        panic("no disable_irqs_function\n");
232
        panic("No disable_irqs_function.");
233
}
233
}
234
 
234
 
235
/** @}
235
/** @}
236
 */
236
 */