Currently the bootloader masks all hardware interrupts: https://github.com/rust-osdev/bootloader/blob/bda13d807d0c7451b1ffe74c6c97f6369aef6ff9/src/second_stage.s#L68-L71 They shouldn't be masked when control is passed to the kernel.