diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-09-06 12:30:36 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-09-06 12:30:36 +0000 |
commit | 5f8ff62c17fcb046e956c1e9d04a80768e8ab52e (patch) | |
tree | cad68d2951339102a807bac9646e703adc5f0585 /sys/arch/hp300/dev | |
parent | c365f709e15aa72d00140412cea7eb6d080958a5 (diff) |
Some stupid hardware marks PCI BARs as prefetchable that aren't side-effect
free. Mapping those with BUS_SPACE_MAP_PREFETCHABLE can have disastrous
effects, like the NMIs observed by jsg@ with certain Intel 10Gb Ethernet
devices. So stop trusting the devices and instead require drivers to
explicitly pass the BUS_SPACE_MAP_PREFECTHABLE flag to pci_mapreg_map().
The pci_mapreg_info() call will continue to return BUS_SPACE_MAP_PREFECTHABLE
flags for prefetchable BARs as an easy way to figure out whether a BAR is
prefetchable. Since the vga_pci.c code uses this interface, all consumers
of VGA BARs will still use the BUS_SPACE_MAP_PREFETCHABLE flag when
appropriate.
ok oga@, jsg@
Diffstat (limited to 'sys/arch/hp300/dev')
0 files changed, 0 insertions, 0 deletions