IO_ICU1
if (bus_space_map(sio_iot, IO_ICU1, 2, 0, &sio_ioh_icu1) ||
outb(IO_ICU1, 0x11); /* reset; program device, four bytes */
outb(IO_ICU1+1, ICU_OFFSET); /* starting at this vector index */
outb(IO_ICU1+1, 1 << IRQ_SLAVE); /* slave on line 2 */
outb(IO_ICU1+1, 1); /* 8086 mode */
outb(IO_ICU1+1, 0xff); /* leave interrupts masked */
outb(IO_ICU1, 0x68); /* special mask mode (if available) */
outb(IO_ICU1, 0x0a); /* Read IRR by default. */
port = IO_ICU1 + 1;
port = IO_ICU1 + 1;
outb(IO_ICU1 + 1, i8259_imen);
outb %al,$IO_ICU1
outb %al,$IO_ICU1
outb %al,$IO_ICU1
outb %al,$IO_ICU1
#define SET_ICUS() (outb(IO_ICU1 + 1, imen), outb(IO_ICU2 + 1, imen >> 8))
outb %al,$IO_ICU1
outb(IO_ICU1, 0x11); /* reset; program device, four bytes */
outb(IO_ICU1+1, ICU_OFFSET); /* starting at this vector index */
outb(IO_ICU1+1, 1 << IRQ_SLAVE); /* slave on line 2 */
outb(IO_ICU1+1, 2 | 1); /* auto EOI, 8086 mode */
outb(IO_ICU1+1, 1); /* 8086 mode */
outb(IO_ICU1+1, 0xff); /* leave interrupts masked */
outb(IO_ICU1, 0x68); /* special mask mode (if available) */
outb(IO_ICU1, 0x0a); /* Read IRR by default. */
outb(IO_ICU1, 0xc0 | (3 - 1)); /* pri order 3-7, 0-2 (com2 first) */
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_OCW3) =
ocw1 = REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_OCW3);
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_ICW1) =
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_ICW2) = ICW2_VECTOR(0);
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_ICW3) = ICW3_CASCADE(2);
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_ICW4) = ICW4_8086;
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_OCW1) = 0xff;
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_OCW3) =
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_OCW3) = OCW3_SELECT | OCW3_RR;
REGVAL8(HTB_IO_BASE + IO_ICU1 + PIC_ICW1) = ICW1_SELECT | ICW1_IC4;
REGVAL8(HTB_IO_BASE + IO_ICU1 + PIC_ICW2) = ICW2_VECTOR(0);
REGVAL8(HTB_IO_BASE + IO_ICU1 + PIC_ICW3) = ICW3_CASCADE(IRQ_CASCADE);
REGVAL8(HTB_IO_BASE + IO_ICU1 + PIC_ICW4) = ICW4_8086;
REGVAL8(HTB_IO_BASE + IO_ICU1 + PIC_OCW1) = 0xff;
REGVAL8(HTB_IO_BASE + IO_ICU1 + PIC_OCW2) =
REGVAL8(HTB_IO_BASE + IO_ICU1 + PIC_OCW1) = imr1;
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + 1) = imr1;
REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + PIC_OCW2) =
imr1 = 0xff & ~REGVAL8(BONITO_PCIIO_BASE + IO_ICU1 + 1);
isr1 = 0xff & REGVAL8(BONITO_PCIIO_BASE + IO_ICU1);
case IO_ICU1:
case IO_ICU1 + 1:
if (port == IO_ICU1 + 1 || port == IO_ICU2 + 1)
case IO_ICU1:
case IO_ICU1 + 1:
if (port == IO_ICU1 + 1 || port == IO_ICU2 + 1)
ioports_map[IO_ICU1] = vcpu_exit_i8259;
ioports_map[IO_ICU1 + 1] = vcpu_exit_i8259;