Port-i386 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: ehci panic
On Thu, Jul 20, 2017 at 12:43:26AM +0200, Jarom?r Dole?ek wrote:
> 0xe2 should be valid offset, spec says it must be >= 0x40, but nothing
> about it being necessarily 4-byte aligned.
>
> I've checked FreeBSD and Linux drivers, and there doesn't seem to be
> anything there checking or forcing this alignment, either. Their drivers
> even do some one byte reads into config space, so doesn't even seem to be
> PCI spec restriction.
>
> Can you try to remove the KASSERT()s in sys/arch/x86/pci/pci_machdep.c and
> see where it will get you? The KASSERT() was added in 2008, three years
> after the ehci bios handover handling code was added, so it's a bit long
> shot this is actually the root problem, but still worth trying.
I removed the 2 KASSERT((reg & 0x3) == 0); asserts, and now have a
successful boot:
ehci0 at pci0 dev 29 function 7: vendor 8086 product 24cd (rev. 0x03)
ehci0: interrupting at irq 11
ehci0: EHCI version f0.0
ehci0: wrong number of companions (14 != 3)
ehci0: 3 companion controllers, 15 ports each: uhci0 uhci1 uhci2
ehci0: reset timeout
ehci0: init failed, error=5
At least the laptop is usable now :-)
Cheers,
Patrick
Home |
Main Index |
Thread Index |
Old Index