blacklisting Intel 82441FX chipset for MSI on amd64.

2011-06-16 Thread Brad
At the moment its possible to have the same issue as VMware and end up with
an amd64 system with a prehistoric Intel host bridge so blacklist it as
well in amd64's pci_attach_hook() for the MSI check.

http://marc.info/?l=openbsd-miscm=130057771904424w=2
...
OpenBSD 4.9-current (GENERIC) #490: Fri Mar 18 21:01:23 MDT 2011
dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 535756800 (510MB)
avail mem = 507482112 (483MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xfbd3f (10 entries)
bios0: vendor QEMU version QEMU date 01/01/2007
acpi0 at bios0: rev 0
acpi0: sleep states S3 S4 S5
acpi0: tables DSDT FACP APIC
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
acpiprt0 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0
mpbios at bios0 not configured
vmt0 at mainbus0
vmware: open failed, eax=564d5868, ecx=001e, edx=5658
vmt0: failed to open backdoor RPC channel (TCLO protocol)
cpu0 at mainbus0: (uniprocessor)
cpu0: QEMU Virtual CPU version 0.9.1, 2667.09 MHz
cpu0:
FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SS
 \
E,SSE2,SSE3,NXE,LONG
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
64b/line 16-way L2 cache
cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 Intel 82441FX rev 0x02
pcib0 at pci0 dev 1 function 0 Intel 82371SB ISA rev 0x00
pciide0 at pci0 dev 1 function 1 Intel 82371SB IDE rev 0x00: DMA,
channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: QEMU HARDDISK
wd0: 16-sector PIO, LBA48, 10240MB, 20971520 sectors
atapiscsi0 at pciide0 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: QEMU, QEMU DVD-ROM, 0.9. ATAPI 5/cdrom
removable
wd0(pciide0:0:0): using PIO mode 0, DMA mode 2
cd0(pciide0:0:1): using PIO mode 0
atapiscsi1 at pciide0 channel 1 drive 0
scsibus1 at atapiscsi1: 2 targets
cd1 at scsibus1 targ 0 lun 0: QEMU, QEMU DVD-ROM, 0.9. ATAPI 5/cdrom
removable
cd1(pciide0:1:0): using PIO mode 0
uhci0 at pci0 dev 1 function 2 Intel 82371SB USB rev 0x01: irq 11
piixpm0 at pci0 dev 1 function 3 Intel 82371AB Power rev 0x03: irq 10
iic0 at piixpm0
iic0: addr 0x4c 48=00 words 00= 01= 02= 03= 04=
05= 06= 07=
iic0: addr 0x4e 48=00 words 00= 01= 02= 03= 04=
05= 06= 07=
vga1 at pci0 dev 2 function 0 Cirrus Logic CL-GD5446 rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
em0 at pci0 dev 3 function 0 Intel PRO/1000MT (82540EM) rev 0x03: irq
11, address 52:54:00:27:24:25
Qumranet Virtio Memory rev 0x00 at pci0 dev 4 function 0 not configured
Qumranet Virtio Console rev 0x00 at pci0 dev 5 function 0 not configured
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: probed fifo depth: 0 bytes
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: density unknown
fd1 at fdc0 drive 1: density unknown
usb0 at uhci0: USB revision 1.0
uhub0 at usb0 Intel UHCI root hub rev 1.00/1.00 addr 1
nvram: invalid checksum
mtrr: Pentium Pro MTRR support
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
clock: unknown CMOS layout


Index: pci_machdep.c
===
RCS file: /home/cvs/src/sys/arch/amd64/pci/pci_machdep.c,v
retrieving revision 1.49
diff -u -p -r1.49 pci_machdep.c
--- pci_machdep.c   5 Jun 2011 18:09:00 -   1.49
+++ pci_machdep.c   16 Jun 2011 18:25:12 -
@@ -178,11 +178,12 @@ pci_attach_hook(struct device *parent, s
switch (PCI_VENDOR(id)) {
case PCI_VENDOR_INTEL:
/*
-* In the land of VMWare you can have the latest
+* In the land of QEMU / VMWare you can have the latest
 * 64-bit AMD multicore CPU behind a prehistoric Intel
 * host bridge.  Give them what they deserve.
 */
switch (PCI_PRODUCT(id)) {
+   case PCI_PRODUCT_INTEL_82441FX:
case PCI_PRODUCT_INTEL_82443BX:
break;
default:

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



Re: blacklisting Intel 82441FX chipset for MSI on amd64.

2011-06-16 Thread Mark Kettenis
 Date: Thu, 16 Jun 2011 14:41:51 -0400
 From: Brad b...@comstyle.com
 
 At the moment its possible to have the same issue as VMware and end up with
 an amd64 system with a prehistoric Intel host bridge so blacklist it as
 well in amd64's pci_attach_hook() for the MSI check.

Thanks; committed with a slightly rephrased the comment.