mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-12-23 01:53:46 +01:00
d9d628b000
correctly. It has the following code: if (class != PCIC_BRIDGE || subclass != PCIS_BRIDGE_HOST) return NULL; My 486 has an Integrated Micro Solutions PCI bridge which identifies itself as subclass PCIS_BRIDGE_OTHER, not PCIS_BRIDGE_HOST. Consequently, it gets ignored. In my opinion, the correct test should be: if ((class != PCIC_BRIDGE) && (subclass != PCIS_BRIDGE_HOST)) return NULL; That way the test still succeeds because the chip's class is PCIC_BRIDGE. Clearly it's not reasonable to expect all host to PCI bridges to always have a subclass of PCIS_BRIDGE_HOST since I've got one that doesn't. This way the sanity test should remain relatively sane while still allowing some oddball yet correct hardware to work. If somebody has a better way to do it, go ahead and tweak the test, but be aware that class == PCIC_BRIDGE and subclass == PCIS_BRIDGE_OTHER is a valid case. While I was here, I also added an explicit ID string for the IMS chipset. I also dealt with a minor style nit: it's bad karma not to have a default case for your switch statements, but the one in this routine doesn't have one. The default string of "Host to PCI bridge" is now assigned in a default case of the switch statement instead of initializing "s" with the string before the switch and then not having any default case. |
||
---|---|---|
.. | ||
alpha | ||
amd64 | ||
boot | ||
cam | ||
coda | ||
compat | ||
compile | ||
conf | ||
contrib | ||
ddb | ||
dev | ||
fs | ||
geom | ||
gnu | ||
i4b | ||
i386 | ||
isa | ||
isofs/cd9660 | ||
kern | ||
libkern | ||
miscfs | ||
modules | ||
msdosfs | ||
net | ||
netatalk | ||
netatm | ||
netinet | ||
netipx | ||
netkey | ||
netnatm | ||
netns | ||
nfs | ||
nfsclient | ||
nfsserver | ||
ntfs | ||
pc98 | ||
pccard | ||
pci | ||
posix4 | ||
powerpc | ||
rpc | ||
svr4 | ||
sys | ||
tools | ||
ufs | ||
vm | ||
Makefile |