entries for the IRQs used by the IDE controller, which aren't really
PCI IRQs (they're ISA compat IRQs), and thus have link values that
don't make a lot of sense.
patches, cleaned up and heavily reworked by me. Basic algorithm is
the same, although the code structure is now quite different.
Main differences:
- Initialization path is totally different.
- We use the `compat router' information, if present, to determine which
PCI ICU driver we should use.
- Fixup configuration headers on devices not on bus 0.
out from UCHIYAMA Yasushi's PCI BIOS patches, and fairly heavily reworked
by me.
Main differences:
- Only use the PCI BIOS to get the config mechanism and interrupt routing
info for now. No need to use the BIOS for PCI config access right now,
since the old mechanism works fine, and this keeps the code smaller.
- PCI BIOS initialization code path is much different.
- Always use the $PIR table if it exists, and only fallback to the
PCI BIOS 2.1 GetInterruptRouting call if it's not there.
This module does not include any of the fixup code; that is coming
in separate commits.
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.
Bump version number to 1.4O
- Rework ibus device configuration and interrupt handler assignment.
- Remove TC device exposure in 'mainbus.c'
- Squash 'ibus_{3100,5100}.c' into a file; it can not cope with 3max.
- 'struct confargs' -> 'struct mainbus_attach_args'
Now about to remove tc_slot_info[] and tc_enable_interrupt inherited from
4.4BSD.
initialization appears to have enabled IOASIC interrupts, and then used
a separate mask in the interrupt routine to decide which ones to process.
New initialization doesn't enable all the required interrupts, and the
device interrupt enable/disable routine wasn't changing the IOASIC mask).
Also fix a printf() format type.