ATPIC_SLAVE
bus_set_resource(child, SYS_RES_IOPORT, ATPIC_SLAVE, IO_ICU2, 2);
atpic_write(sc, icu, 1, (icu == ATPIC_SLAVE) ? 8 : 0);
atpic_write(sc, icu, 1, (icu == ATPIC_SLAVE) ? 2 : 4);
sc->sc_rid[ATPIC_SLAVE] = 1;
sc->sc_res[ATPIC_SLAVE] = bus_alloc_resource_any(dev, SYS_RES_IOPORT,
&sc->sc_rid[ATPIC_SLAVE], RF_ACTIVE);
if (sc->sc_res[ATPIC_SLAVE] == NULL)
atpic_init(sc, ATPIC_SLAVE);
if (sc->sc_res[ATPIC_SLAVE] != NULL)
sc->sc_rid[ATPIC_SLAVE], sc->sc_res[ATPIC_SLAVE]);
atpic_write(sc, ATPIC_SLAVE, 0, OCW3_SEL | OCW3_P);
irq = atpic_read(sc, ATPIC_SLAVE, 0) + 8;
atpic_write(sc, ATPIC_SLAVE, 0, OCW3_SEL | OCW3_RR);
atpic_write(sc, ATPIC_SLAVE, 0, OCW2_EOI);
sc->sc_mask[ATPIC_SLAVE] |= 1 << (irq - 8);
atpic_write(sc, ATPIC_SLAVE, 1, sc->sc_mask[ATPIC_SLAVE]);
sc->sc_mask[ATPIC_SLAVE] &= ~(1 << (irq - 8));
atpic_write(sc, ATPIC_SLAVE, 1, sc->sc_mask[ATPIC_SLAVE]);