I think this patch from yesterday:
----------------------------
revision 1.64
date: 2011/10/13 18:09:33; author: kettenis; state: Exp; lines: +5 -1
I'm sick and tired of people doing misalgned reads and writes to PCI config
space and not noticing because they only test on amd64. So enforce alignment
there as well, at least for a little while such that we find those bugs and
force people to fix them.
----------------------------
...produced the following when I built and booted today...looking through
the diff, I saw it added an assertion. If I disable viaagp, this kernel
will boot.
----------------------------
>>> viaagp probe returned 1
>>> viaagp probe won
viaagp0 at pchb0panic: kernel diagnostic assertion "(reg & 0x3) == 0" failed:
file "../../../../arch/i386/pci/pci_machdep.c", line 414
Stopped at Debugger+0x4: popl %ebp
Debugger(d08d3258,d0b91b54,d08b2a38,d0b91b54,d09ca308) at Debugger+0x4
panic(d08b2a38,d0837bce,d096ec99,d096ee90,19e) at panic+0x5d
__assert(d0837bce,d096ee90,19e,d096ec99,e4000008) at __assert+0x2e
pci_conf_read(0,80000000,fd,0,d14a2cc4) at pci_conf_read+0x147
agp_via_attach(d14a2d00,d14a2c80,d0b91ca8,d03e761b,0) at agp_via_attach+0x10f
config_attach(d14a2d00,d09b1680,d0b91ca8,d070ae10,0) at config_attach+0x1bb
pchbattach(d14a2e00,d14a2d00,d0b91d54,d03e761b,d059ec10) at pchbattach+0x19c
config_attach(d14a2e00,d09b1580,d0b91d54,d05a0d80,d0b91db4) at
config_attach+0x1bb
pci_probe_device(d14a2e00,80000000,0,0,4a2e00) at pci_probe_device+0x420
pci_enumerate_bus(d14a2e00,0,0,d03e761b,0) at
----------------------------
Here's my most recent "good" dmesg, including viaagp from my obsd kernel:
----------------------------
OpenBSD 5.0-current (GENERIC) #8: Fri Oct 7 17:28:00 EDT 2011
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD Sempron(tm) 2600+ ("AuthenticAMD" 686-class, 256KB L2 cache) 1.84 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE
real mem = 502792192 (479MB)
avail mem = 484511744 (462MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 01/07/05, BIOS32 rev. 0 @ 0xfb9b0, SMBIOS
rev. 2.2 @ 0xf0000 (44 entries)
bios0: vendor Phoenix Technologies, LTD version "ASUS A7VT ACPI BIOS Revision
1003" date 01/07/2005
bios0: ASUS A7VT
apm0 at bios0: Power Management spec V1.2 (slowidle)
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xf0000/0xda84
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfda10/112 (5 entries)
pcibios0: PCI Exclusive IRQs: 5 10 11 12
pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT82C596A ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0x7e00
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "VIA VT8378 PCI" rev 0x00
viaagp0 at pchb0: v3
agp0 at viaagp0: aperture at 0xe4000000, size 0xe800000
ppb0 at pci0 dev 1 function 0 "VIA VT8377 AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "VIA VT8378 VGA" rev 0x01
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
dc0 at pci0 dev 8 function 0 "Lite-On PNIC-II" rev 0x25: irq 10, address
00:a0:cc:e3:42:d6
dcphy0 at dc0 phy 31: internal PHY
uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x80: irq 11
uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x80: irq 10
uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x80: irq 12
ehci0 at pci0 dev 16 function 3 "VIA VT6202 USB" rev 0x82: irq 5
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "VIA EHCI root hub" rev 2.00/1.00 addr 1
viapm0 at pci0 dev 17 function 0 "VIA VT8235 ISA" rev 0x00: SMI
iic0 at viapm0
spdmem0 at iic0 addr 0x50: 512MB DDR SDRAM non-parity PC2700CL2.5
pciide0 at pci0 dev 17 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel
0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <ExcelStor Technology J880>
wd0: 16-sector PIO, LBA48, 78533MB, 160836480 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 6
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <LITE-ON, DVDRW SHW-160P6S, PS0C> ATAPI 5/cdrom
removable
wd1 at pciide0 channel 1 drive 1: <ST380011A>
wd1: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 4
wd1(pciide0:1:1): using PIO mode 4, Ultra-DMA mode 5
auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x50: irq 12
ac97: codec id 0x41445368 (Analog Devices AD1888)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auvia0
vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x74: irq 11, address
00:11:2f:85:b1:90
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 10: OUI
0x004063, model 0x0032
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "VIA UHCI root hub" rev 1.00/1.00 addr 1
isa0 at mainbus0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
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
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
wbsio0 at isa0 port 0x2e/2: W83697HF rev 0x12
lm1 at wbsio0 port 0x290/8: W83697HF
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
mtrr: Pentium Pro MTRR support
uhidev0 at uhub1 port 1 configuration 1 interface 0 "vendor 0x062a product
0x0000" rev 1.10/0.00 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z dir
wsmouse0 at ums0 mux 0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
sd0 at scsibus2 targ 1 lun 0: <OPENBSD, SR RAID 1, 005> SCSI2 0/direct fixed
sd0: 35839MB, 512 bytes/sector, 73400016 sectors
root on sd0a (e0835866b9a0c17e.a) swap on sd0b dump on sd0b