pciide_match() is a bit convoluted, we match anything claiming to be MASS_STORAGE subclass IDE regardless of id, and other ids depending on the subclass and a known id or a known id and the override flag.
pciide_match() is a bit convoluted, we match anything claiming
to be MASS_STORAGE subclass IDE regardless of id, and other
ids depending on the subclass and a known id or a known id
and the override flag.

We really want to check the subclass so we don't attach
pciide to the wrong function of a chip, which happened
last time around before the additional subclasses were
checked in the non override case and the overrides were pulled.

A bunch of the override flags were pulled after some common
subclasses (SATA/RAID) were added.  So if we have a known
id and a SATA/RAID subclass we would match.  Turns out some
Silicon Image SATA devices claim to be of subclass MISC
so add that as well.  Unbreaks one of hennings machines
with 3114 SATA and likely quite a few other machines.

'seems safe enough to me' miod@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars