The change of 5.7's sys/arch/i386/i386/bus_space.c and
sys/arch/i386/include/bus.h invokes the kernel crash at boot
when ignored (disabled) channel is detected.
In all ATA controllers, ignored (disabled) channel is still set cp->hwok = 1.
And pciide_mapregs_native() is not called, wdc_cp->cmd_iot is 0.
5.6 and before, cmd_iot = 0 is treated as I386_BUS_SPACE_IO,
so there is no problem to call bus_space_read_1() in wdcintr().
5.7 and after, cmd_iot is used as function pointer.
We have to initialize it with pciide_mapregs_native() or something,
otherwise set cp->hwok = 0 to prevent calling wdcintr().
When ignored (disabled) channel is found, default_chip_map() should set
cp->hwok = 0. So all controllers do same thing.
ok by deraadt@