diff --git a/src/arch/x86_64/idt.rs b/src/arch/x86_64/idt.rs index 662cf2f..9c70db1 100644 --- a/src/arch/x86_64/idt.rs +++ b/src/arch/x86_64/idt.rs @@ -43,7 +43,7 @@ pub fn set_reserved(index: u8, reserved: bool) { } pub fn allocate_interrupt() -> Option { - for number in 50..=255 { + for number in 50..=254 { if ! is_reserved(number) { set_reserved(number, true); return Some(unsafe { NonZeroU8::new_unchecked(number) }); @@ -53,20 +53,7 @@ pub fn allocate_interrupt() -> Option { } pub fn available_irqs_iter() -> impl Iterator + 'static { - AvailableIrqsIter { index: Some(50) }.filter(|&index| !is_reserved(index)) -} - -struct AvailableIrqsIter { - index: Option, -} -impl Iterator for AvailableIrqsIter { - type Item = u8; - - fn next(&mut self) -> Option { - let index = self.index?; - self.index = index.checked_add(1); - Some(index) - } + (50..=254).filter(|&index| !is_reserved(index)) } macro_rules! use_irq( diff --git a/src/arch/x86_64/interrupt/irq.rs b/src/arch/x86_64/interrupt/irq.rs index 4d8f86c..72c2972 100644 --- a/src/arch/x86_64/interrupt/irq.rs +++ b/src/arch/x86_64/interrupt/irq.rs @@ -167,7 +167,6 @@ macro_rules! allocatable_irq( ); pub unsafe fn allocatable_irq_generic(number: u8) { - println!("generic irq: {}", number); irq_trigger(number - 32); lapic_eoi(); }