ICU_IMR_OFFSET
outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); /* leave interrupts masked */
outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff);
outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff);
outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff);
outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff);
outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_OFFSET);
outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << ICU_IRQ_SLAVE);
outb(IO_ICU1 + ICU_IMR_OFFSET, auto_eoi | 1); /* 8086 mode */
outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); /* leave interrupts masked */
outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_OFFSET + 8);
outb(IO_ICU2 + ICU_IMR_OFFSET, ICU_IRQ_SLAVE);
outb(IO_ICU2 + ICU_IMR_OFFSET, 2 | 1); /* auto EOI, 8086 mode */
outb(IO_ICU2 + ICU_IMR_OFFSET, 1); /* 8086 mode */