Skip to content

Commit 8cc3cba

Browse files
committed
Take ExceptionStackFrame by value
Fixes #195.
1 parent b02a7ab commit 8cc3cba

File tree

3 files changed

+56
-56
lines changed

3 files changed

+56
-56
lines changed

src/arch/x86_64/kernel/irq.rs

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -218,175 +218,175 @@ fn unhandled_interrupt(irq_number: u8) {
218218
increment_irq_counter((32 + irq_number).into());
219219
}
220220

221-
extern "x86-interrupt" fn unhandled_interrupt0(_stack_frame: &mut ExceptionStackFrame) {
221+
extern "x86-interrupt" fn unhandled_interrupt0(_stack_frame: ExceptionStackFrame) {
222222
unhandled_interrupt(0);
223223
}
224224

225-
extern "x86-interrupt" fn unhandled_interrupt1(_stack_frame: &mut ExceptionStackFrame) {
225+
extern "x86-interrupt" fn unhandled_interrupt1(_stack_frame: ExceptionStackFrame) {
226226
unhandled_interrupt(1);
227227
}
228228

229-
extern "x86-interrupt" fn unhandled_interrupt2(_stack_frame: &mut ExceptionStackFrame) {
229+
extern "x86-interrupt" fn unhandled_interrupt2(_stack_frame: ExceptionStackFrame) {
230230
unhandled_interrupt(2);
231231
}
232232

233-
extern "x86-interrupt" fn unhandled_interrupt3(_stack_frame: &mut ExceptionStackFrame) {
233+
extern "x86-interrupt" fn unhandled_interrupt3(_stack_frame: ExceptionStackFrame) {
234234
unhandled_interrupt(3);
235235
}
236236

237-
extern "x86-interrupt" fn unhandled_interrupt4(_stack_frame: &mut ExceptionStackFrame) {
237+
extern "x86-interrupt" fn unhandled_interrupt4(_stack_frame: ExceptionStackFrame) {
238238
unhandled_interrupt(4);
239239
}
240240

241-
extern "x86-interrupt" fn unhandled_interrupt5(_stack_frame: &mut ExceptionStackFrame) {
241+
extern "x86-interrupt" fn unhandled_interrupt5(_stack_frame: ExceptionStackFrame) {
242242
unhandled_interrupt(5);
243243
}
244244

245-
extern "x86-interrupt" fn unhandled_interrupt6(_stack_frame: &mut ExceptionStackFrame) {
245+
extern "x86-interrupt" fn unhandled_interrupt6(_stack_frame: ExceptionStackFrame) {
246246
unhandled_interrupt(6);
247247
}
248248

249-
extern "x86-interrupt" fn unhandled_interrupt7(_stack_frame: &mut ExceptionStackFrame) {
249+
extern "x86-interrupt" fn unhandled_interrupt7(_stack_frame: ExceptionStackFrame) {
250250
unhandled_interrupt(7);
251251
}
252252

253-
extern "x86-interrupt" fn unhandled_interrupt8(_stack_frame: &mut ExceptionStackFrame) {
253+
extern "x86-interrupt" fn unhandled_interrupt8(_stack_frame: ExceptionStackFrame) {
254254
unhandled_interrupt(8);
255255
}
256256

257-
extern "x86-interrupt" fn unhandled_interrupt9(_stack_frame: &mut ExceptionStackFrame) {
257+
extern "x86-interrupt" fn unhandled_interrupt9(_stack_frame: ExceptionStackFrame) {
258258
unhandled_interrupt(9);
259259
}
260260

261-
extern "x86-interrupt" fn unhandled_interrupt10(_stack_frame: &mut ExceptionStackFrame) {
261+
extern "x86-interrupt" fn unhandled_interrupt10(_stack_frame: ExceptionStackFrame) {
262262
unhandled_interrupt(10);
263263
}
264264

265-
extern "x86-interrupt" fn unhandled_interrupt11(_stack_frame: &mut ExceptionStackFrame) {
265+
extern "x86-interrupt" fn unhandled_interrupt11(_stack_frame: ExceptionStackFrame) {
266266
unhandled_interrupt(11);
267267
}
268268

269-
extern "x86-interrupt" fn unhandled_interrupt12(_stack_frame: &mut ExceptionStackFrame) {
269+
extern "x86-interrupt" fn unhandled_interrupt12(_stack_frame: ExceptionStackFrame) {
270270
unhandled_interrupt(12);
271271
}
272272

273-
extern "x86-interrupt" fn unhandled_interrupt13(_stack_frame: &mut ExceptionStackFrame) {
273+
extern "x86-interrupt" fn unhandled_interrupt13(_stack_frame: ExceptionStackFrame) {
274274
unhandled_interrupt(13);
275275
}
276276

277-
extern "x86-interrupt" fn unhandled_interrupt14(_stack_frame: &mut ExceptionStackFrame) {
277+
extern "x86-interrupt" fn unhandled_interrupt14(_stack_frame: ExceptionStackFrame) {
278278
unhandled_interrupt(14);
279279
}
280280

281-
extern "x86-interrupt" fn unhandled_interrupt15(_stack_frame: &mut ExceptionStackFrame) {
281+
extern "x86-interrupt" fn unhandled_interrupt15(_stack_frame: ExceptionStackFrame) {
282282
unhandled_interrupt(15);
283283
}
284284

285-
extern "x86-interrupt" fn unhandled_interrupt16(_stack_frame: &mut ExceptionStackFrame) {
285+
extern "x86-interrupt" fn unhandled_interrupt16(_stack_frame: ExceptionStackFrame) {
286286
unhandled_interrupt(16);
287287
}
288288

289-
extern "x86-interrupt" fn unhandled_interrupt17(_stack_frame: &mut ExceptionStackFrame) {
289+
extern "x86-interrupt" fn unhandled_interrupt17(_stack_frame: ExceptionStackFrame) {
290290
unhandled_interrupt(17);
291291
}
292292

293-
extern "x86-interrupt" fn unhandled_interrupt18(_stack_frame: &mut ExceptionStackFrame) {
293+
extern "x86-interrupt" fn unhandled_interrupt18(_stack_frame: ExceptionStackFrame) {
294294
unhandled_interrupt(18);
295295
}
296296

297-
extern "x86-interrupt" fn unhandled_interrupt19(_stack_frame: &mut ExceptionStackFrame) {
297+
extern "x86-interrupt" fn unhandled_interrupt19(_stack_frame: ExceptionStackFrame) {
298298
unhandled_interrupt(19);
299299
}
300300

301-
extern "x86-interrupt" fn unhandled_interrupt20(_stack_frame: &mut ExceptionStackFrame) {
301+
extern "x86-interrupt" fn unhandled_interrupt20(_stack_frame: ExceptionStackFrame) {
302302
unhandled_interrupt(20);
303303
}
304304

305-
extern "x86-interrupt" fn unhandled_interrupt21(_stack_frame: &mut ExceptionStackFrame) {
305+
extern "x86-interrupt" fn unhandled_interrupt21(_stack_frame: ExceptionStackFrame) {
306306
unhandled_interrupt(21);
307307
}
308308

309-
extern "x86-interrupt" fn unhandled_interrupt22(_stack_frame: &mut ExceptionStackFrame) {
309+
extern "x86-interrupt" fn unhandled_interrupt22(_stack_frame: ExceptionStackFrame) {
310310
unhandled_interrupt(22);
311311
}
312312

313-
extern "x86-interrupt" fn unhandled_interrupt23(_stack_frame: &mut ExceptionStackFrame) {
313+
extern "x86-interrupt" fn unhandled_interrupt23(_stack_frame: ExceptionStackFrame) {
314314
unhandled_interrupt(23);
315315
}
316316

317-
extern "x86-interrupt" fn unhandled_interrupt24(_stack_frame: &mut ExceptionStackFrame) {
317+
extern "x86-interrupt" fn unhandled_interrupt24(_stack_frame: ExceptionStackFrame) {
318318
unhandled_interrupt(24);
319319
}
320320

321-
extern "x86-interrupt" fn unhandled_interrupt25(_stack_frame: &mut ExceptionStackFrame) {
321+
extern "x86-interrupt" fn unhandled_interrupt25(_stack_frame: ExceptionStackFrame) {
322322
unhandled_interrupt(25);
323323
}
324324

325-
extern "x86-interrupt" fn unhandled_interrupt26(_stack_frame: &mut ExceptionStackFrame) {
325+
extern "x86-interrupt" fn unhandled_interrupt26(_stack_frame: ExceptionStackFrame) {
326326
unhandled_interrupt(26);
327327
}
328328

329-
extern "x86-interrupt" fn unhandled_interrupt27(_stack_frame: &mut ExceptionStackFrame) {
329+
extern "x86-interrupt" fn unhandled_interrupt27(_stack_frame: ExceptionStackFrame) {
330330
unhandled_interrupt(27);
331331
}
332332

333-
extern "x86-interrupt" fn unhandled_interrupt28(_stack_frame: &mut ExceptionStackFrame) {
333+
extern "x86-interrupt" fn unhandled_interrupt28(_stack_frame: ExceptionStackFrame) {
334334
unhandled_interrupt(28);
335335
}
336336

337-
extern "x86-interrupt" fn unhandled_interrupt29(_stack_frame: &mut ExceptionStackFrame) {
337+
extern "x86-interrupt" fn unhandled_interrupt29(_stack_frame: ExceptionStackFrame) {
338338
unhandled_interrupt(29);
339339
}
340340

341-
extern "x86-interrupt" fn unhandled_interrupt30(_stack_frame: &mut ExceptionStackFrame) {
341+
extern "x86-interrupt" fn unhandled_interrupt30(_stack_frame: ExceptionStackFrame) {
342342
unhandled_interrupt(30);
343343
}
344344

345-
extern "x86-interrupt" fn unhandled_interrupt31(_stack_frame: &mut ExceptionStackFrame) {
345+
extern "x86-interrupt" fn unhandled_interrupt31(_stack_frame: ExceptionStackFrame) {
346346
unhandled_interrupt(31);
347347
}
348348

349-
extern "x86-interrupt" fn unknown_interrupt(_stack_frame: &mut ExceptionStackFrame) {
349+
extern "x86-interrupt" fn unknown_interrupt(_stack_frame: ExceptionStackFrame) {
350350
info!("Receive unknown interrupt");
351351
apic::eoi();
352352
}
353353

354-
extern "x86-interrupt" fn divide_error_exception(stack_frame: &mut ExceptionStackFrame) {
354+
extern "x86-interrupt" fn divide_error_exception(stack_frame: ExceptionStackFrame) {
355355
error!("Divide Error (#DE) Exception: {:#?}", stack_frame);
356356
scheduler::abort();
357357
}
358358

359-
extern "x86-interrupt" fn debug_exception(stack_frame: &mut ExceptionStackFrame) {
359+
extern "x86-interrupt" fn debug_exception(stack_frame: ExceptionStackFrame) {
360360
error!("Debug (#DB) Exception: {:#?}", stack_frame);
361361
scheduler::abort();
362362
}
363363

364-
extern "x86-interrupt" fn nmi_exception(stack_frame: &mut ExceptionStackFrame) {
364+
extern "x86-interrupt" fn nmi_exception(stack_frame: ExceptionStackFrame) {
365365
error!("Non-Maskable Interrupt (NMI) Exception: {:#?}", stack_frame);
366366
scheduler::abort();
367367
}
368368

369-
extern "x86-interrupt" fn breakpoint_exception(stack_frame: &mut ExceptionStackFrame) {
369+
extern "x86-interrupt" fn breakpoint_exception(stack_frame: ExceptionStackFrame) {
370370
error!("Breakpoint (#BP) Exception: {:#?}", stack_frame);
371371
scheduler::abort();
372372
}
373373

374-
extern "x86-interrupt" fn overflow_exception(stack_frame: &mut ExceptionStackFrame) {
374+
extern "x86-interrupt" fn overflow_exception(stack_frame: ExceptionStackFrame) {
375375
error!("Overflow (#OF) Exception: {:#?}", stack_frame);
376376
scheduler::abort();
377377
}
378378

379-
extern "x86-interrupt" fn bound_range_exceeded_exception(stack_frame: &mut ExceptionStackFrame) {
379+
extern "x86-interrupt" fn bound_range_exceeded_exception(stack_frame: ExceptionStackFrame) {
380380
error!("BOUND Range Exceeded (#BR) Exception: {:#?}", stack_frame);
381381
scheduler::abort();
382382
}
383383

384-
extern "x86-interrupt" fn invalid_opcode_exception(stack_frame: &mut ExceptionStackFrame) {
384+
extern "x86-interrupt" fn invalid_opcode_exception(stack_frame: ExceptionStackFrame) {
385385
error!("Invalid Opcode (#UD) Exception: {:#?}", stack_frame);
386386
scheduler::abort();
387387
}
388388

389-
extern "x86-interrupt" fn device_not_available_exception(_stack_frame: &mut ExceptionStackFrame) {
389+
extern "x86-interrupt" fn device_not_available_exception(_stack_frame: ExceptionStackFrame) {
390390
// We set the CR0_TASK_SWITCHED flag every time we switch to a task.
391391
// This causes the "Device Not Available" Exception (int #7) to be thrown as soon as we use the FPU for the first time.
392392

@@ -402,7 +402,7 @@ extern "x86-interrupt" fn device_not_available_exception(_stack_frame: &mut Exce
402402
}
403403

404404
extern "x86-interrupt" fn double_fault_exception(
405-
stack_frame: &mut ExceptionStackFrame,
405+
stack_frame: ExceptionStackFrame,
406406
error_code: u64,
407407
) {
408408
error!(
@@ -413,7 +413,7 @@ extern "x86-interrupt" fn double_fault_exception(
413413
}
414414

415415
extern "x86-interrupt" fn coprocessor_segment_overrun_exception(
416-
stack_frame: &mut ExceptionStackFrame,
416+
stack_frame: ExceptionStackFrame,
417417
) {
418418
error!(
419419
"CoProcessor Segment Overrun (#MF) Exception: {:#?}",
@@ -422,18 +422,18 @@ extern "x86-interrupt" fn coprocessor_segment_overrun_exception(
422422
scheduler::abort();
423423
}
424424

425-
extern "x86-interrupt" fn invalid_tss_exception(stack_frame: &mut ExceptionStackFrame) {
425+
extern "x86-interrupt" fn invalid_tss_exception(stack_frame: ExceptionStackFrame) {
426426
error!("Invalid TSS (#TS) Exception: {:#?}", stack_frame);
427427
scheduler::abort();
428428
}
429429

430-
extern "x86-interrupt" fn segment_not_present_exception(stack_frame: &mut ExceptionStackFrame) {
430+
extern "x86-interrupt" fn segment_not_present_exception(stack_frame: ExceptionStackFrame) {
431431
error!("Segment Not Present (#NP) Exception: {:#?}", stack_frame);
432432
scheduler::abort();
433433
}
434434

435435
extern "x86-interrupt" fn stack_segment_fault_exception(
436-
stack_frame: &mut ExceptionStackFrame,
436+
stack_frame: ExceptionStackFrame,
437437
error_code: u64,
438438
) {
439439
error!(
@@ -444,7 +444,7 @@ extern "x86-interrupt" fn stack_segment_fault_exception(
444444
}
445445

446446
extern "x86-interrupt" fn general_protection_exception(
447-
stack_frame: &mut ExceptionStackFrame,
447+
stack_frame: ExceptionStackFrame,
448448
error_code: u64,
449449
) {
450450
error!(
@@ -459,32 +459,32 @@ extern "x86-interrupt" fn general_protection_exception(
459459
scheduler::abort();
460460
}
461461

462-
extern "x86-interrupt" fn floating_point_exception(stack_frame: &mut ExceptionStackFrame) {
462+
extern "x86-interrupt" fn floating_point_exception(stack_frame: ExceptionStackFrame) {
463463
error!("Floating-Point Error (#MF) Exception: {:#?}", stack_frame);
464464
scheduler::abort();
465465
}
466466

467-
extern "x86-interrupt" fn alignment_check_exception(stack_frame: &mut ExceptionStackFrame) {
467+
extern "x86-interrupt" fn alignment_check_exception(stack_frame: ExceptionStackFrame) {
468468
error!("Alignment Check (#AC) Exception: {:#?}", stack_frame);
469469
scheduler::abort();
470470
}
471471

472-
extern "x86-interrupt" fn machine_check_exception(stack_frame: &mut ExceptionStackFrame) {
472+
extern "x86-interrupt" fn machine_check_exception(stack_frame: ExceptionStackFrame) {
473473
error!("Machine Check (#MC) Exception: {:#?}", stack_frame);
474474
scheduler::abort();
475475
}
476476

477-
extern "x86-interrupt" fn simd_floating_point_exception(stack_frame: &mut ExceptionStackFrame) {
477+
extern "x86-interrupt" fn simd_floating_point_exception(stack_frame: ExceptionStackFrame) {
478478
error!("SIMD Floating-Point (#XM) Exception: {:#?}", stack_frame);
479479
scheduler::abort();
480480
}
481481

482-
extern "x86-interrupt" fn virtualization_exception(stack_frame: &mut ExceptionStackFrame) {
482+
extern "x86-interrupt" fn virtualization_exception(stack_frame: ExceptionStackFrame) {
483483
error!("Virtualization (#VE) Exception: {:#?}", stack_frame);
484484
scheduler::abort();
485485
}
486486

487-
extern "x86-interrupt" fn reserved_exception(stack_frame: &mut ExceptionStackFrame) {
487+
extern "x86-interrupt" fn reserved_exception(stack_frame: ExceptionStackFrame) {
488488
error!("Reserved Exception: {:#?}", stack_frame);
489489
scheduler::abort();
490490
}

src/arch/x86_64/kernel/pic.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,11 @@ pub fn init() {
8181
}
8282
}
8383

84-
extern "x86-interrupt" fn spurious_interrupt_on_master(_stack_frame: &mut ExceptionStackFrame) {
84+
extern "x86-interrupt" fn spurious_interrupt_on_master(_stack_frame: ExceptionStackFrame) {
8585
debug!("Spurious Interrupt on Master PIC (IRQ7)");
8686
}
8787

88-
extern "x86-interrupt" fn spurious_interrupt_on_slave(_stack_frame: &mut ExceptionStackFrame) {
88+
extern "x86-interrupt" fn spurious_interrupt_on_slave(_stack_frame: ExceptionStackFrame) {
8989
debug!("Spurious Interrupt on Slave PIC (IRQ15)");
9090

9191
// As this is an interrupt forwarded by the master, we have to acknowledge it on the master

src/drivers/net/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ pub fn netwait(handle: usize, millis: Option<u64>) {
142142
}
143143

144144
#[cfg(target_arch = "x86_64")]
145-
pub extern "x86-interrupt" fn network_irqhandler(_stack_frame: &mut ExceptionStackFrame) {
145+
pub extern "x86-interrupt" fn network_irqhandler(_stack_frame: ExceptionStackFrame) {
146146
debug!("Receive network interrupt");
147147
apic::eoi();
148148

0 commit comments

Comments
 (0)