message: irq: Replace ExceptionStackFrame with crate
diff: use alloc::collections::BTreeMap;
  use alloc::string::{String, ToString};
  use core::arch::asm;
  -use core::fmt;
  use hermit_sync::InterruptTicketMutex;
  use x86::irq::PageFaultError;
  @@ -14,45 +13,7 @@ use crate::scheduler;
  static IRQ_NAMES: InterruptTicketMutex<BTreeMap<u32, String>> =
  InterruptTicketMutex::new(BTreeMap::new());
  -// Derived from Philipp Oppermann's blog
  -// => https://github.com/phil-opp/blog_os/blob/master/src/interrupts/mod.rs
  -/// Represents the exception stack frame pushed by the CPU on exception entry.
  -#[repr(C)]
  -pub struct ExceptionStackFrame {
  - /// This value points to the instruction that should be executed when the interrupt
  - /// handler returns. For most interrupts, this value points to the instruction immediately
  - /// following the last executed instruction. However, for some exceptions (e.g., page faults),
  - /// this value points to the faulting instruction, so that the instruction is restarted on
  - /// return. See the documentation of the `Idt` fields for more details.
  - pub instruction_pointer: u64,
  - /// The code segment selector, padded with zeros.
  - pub code_segment: u64,
  - /// The flags register before the interrupt handler was invoked.
  - pub cpu_flags: u64,
  - /// The stack pointer at the time of the interrupt.
  - pub stack_pointer: u64,
  - /// The stack segment descriptor at the time of the interrupt (often zero in 64-bit mode).
  - pub stack_segment: u64,
  -}
  -
  -impl fmt::Debug for ExceptionStackFrame {
  - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  - struct Hex(u64);
  - impl fmt::Debug for Hex {
  - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  - write!(f, "{:#x}", self.0)
  - }
  - }
  -
  - let mut s = f.debug_struct("ExceptionStackFrame");
  - s.field("instruction_pointer", &Hex(self.instruction_pointer));
  - s.field("code_segment", &Hex(self.code_segment));
  - s.field("cpu_flags", &Hex(self.cpu_flags));
  - s.field("stack_pointer", &Hex(self.stack_pointer));
  - s.field("stack_segment", &Hex(self.stack_segment));
  - s.finish()
  - }
  -}
  +pub use x86_64::structures::idt::InterruptStackFrame as ExceptionStackFrame;
  /// Enable Interrupts
  #[inline]
  