Skip to content

Commit 0bae3b1

Browse files
bors[bot]mkroeningstlankes
authored
Merge #196
196: Take ExceptionStackFrame by value r=stlankes a=mkroening Fixes #195. Co-authored-by: Martin Kröning <[email protected]> Co-authored-by: Stefan Lankes <[email protected]>
2 parents b1b470a + cdb3577 commit 0bae3b1

File tree

3 files changed

+56
-58
lines changed

3 files changed

+56
-58
lines changed

src/arch/x86_64/kernel/irq.rs

Lines changed: 53 additions & 55 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!(
@@ -412,28 +412,26 @@ extern "x86-interrupt" fn double_fault_exception(
412412
scheduler::abort();
413413
}
414414

415-
extern "x86-interrupt" fn coprocessor_segment_overrun_exception(
416-
stack_frame: &mut ExceptionStackFrame,
417-
) {
415+
extern "x86-interrupt" fn coprocessor_segment_overrun_exception(stack_frame: ExceptionStackFrame) {
418416
error!(
419417
"CoProcessor Segment Overrun (#MF) Exception: {:#?}",
420418
stack_frame
421419
);
422420
scheduler::abort();
423421
}
424422

425-
extern "x86-interrupt" fn invalid_tss_exception(stack_frame: &mut ExceptionStackFrame) {
423+
extern "x86-interrupt" fn invalid_tss_exception(stack_frame: ExceptionStackFrame) {
426424
error!("Invalid TSS (#TS) Exception: {:#?}", stack_frame);
427425
scheduler::abort();
428426
}
429427

430-
extern "x86-interrupt" fn segment_not_present_exception(stack_frame: &mut ExceptionStackFrame) {
428+
extern "x86-interrupt" fn segment_not_present_exception(stack_frame: ExceptionStackFrame) {
431429
error!("Segment Not Present (#NP) Exception: {:#?}", stack_frame);
432430
scheduler::abort();
433431
}
434432

435433
extern "x86-interrupt" fn stack_segment_fault_exception(
436-
stack_frame: &mut ExceptionStackFrame,
434+
stack_frame: ExceptionStackFrame,
437435
error_code: u64,
438436
) {
439437
error!(
@@ -444,7 +442,7 @@ extern "x86-interrupt" fn stack_segment_fault_exception(
444442
}
445443

446444
extern "x86-interrupt" fn general_protection_exception(
447-
stack_frame: &mut ExceptionStackFrame,
445+
stack_frame: ExceptionStackFrame,
448446
error_code: u64,
449447
) {
450448
error!(
@@ -459,32 +457,32 @@ extern "x86-interrupt" fn general_protection_exception(
459457
scheduler::abort();
460458
}
461459

462-
extern "x86-interrupt" fn floating_point_exception(stack_frame: &mut ExceptionStackFrame) {
460+
extern "x86-interrupt" fn floating_point_exception(stack_frame: ExceptionStackFrame) {
463461
error!("Floating-Point Error (#MF) Exception: {:#?}", stack_frame);
464462
scheduler::abort();
465463
}
466464

467-
extern "x86-interrupt" fn alignment_check_exception(stack_frame: &mut ExceptionStackFrame) {
465+
extern "x86-interrupt" fn alignment_check_exception(stack_frame: ExceptionStackFrame) {
468466
error!("Alignment Check (#AC) Exception: {:#?}", stack_frame);
469467
scheduler::abort();
470468
}
471469

472-
extern "x86-interrupt" fn machine_check_exception(stack_frame: &mut ExceptionStackFrame) {
470+
extern "x86-interrupt" fn machine_check_exception(stack_frame: ExceptionStackFrame) {
473471
error!("Machine Check (#MC) Exception: {:#?}", stack_frame);
474472
scheduler::abort();
475473
}
476474

477-
extern "x86-interrupt" fn simd_floating_point_exception(stack_frame: &mut ExceptionStackFrame) {
475+
extern "x86-interrupt" fn simd_floating_point_exception(stack_frame: ExceptionStackFrame) {
478476
error!("SIMD Floating-Point (#XM) Exception: {:#?}", stack_frame);
479477
scheduler::abort();
480478
}
481479

482-
extern "x86-interrupt" fn virtualization_exception(stack_frame: &mut ExceptionStackFrame) {
480+
extern "x86-interrupt" fn virtualization_exception(stack_frame: ExceptionStackFrame) {
483481
error!("Virtualization (#VE) Exception: {:#?}", stack_frame);
484482
scheduler::abort();
485483
}
486484

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

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)