Subject: Re: CVS commit: src/sys/arch/x86/pci
To: Julio M. Merino Vidal <jmerino@ac.upc.edu>
From: Matthias Scheler <tron@zhadum.org.uk>
List: source-changes
Date: 02/06/2008 19:29:56
On 4 Feb 2008, at 13:01, Julio M. Merino Vidal wrote:
> This breaks the mpt(4) driver and does not let NetBSD/amd64 boot
> successfully in VMware Fusion. The machine seems to emulate a
> 53C1030 chip, and sys/dev/pci/mpt_pci.c has:
>
> if ((PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SYMBIOS_1030) &&
> (PCI_REVISION(pa->pa_class) < 0x08)) {
> aprint_normal("%s: applying 1030 quirk\n",
> mpt->sc_dev.dv_xname);
> reg = pci_conf_read(pa->pa_pc, pa->pa_tag, 0x6a);
> reg &= 0x8f;
> pci_conf_write(pa->pa_pc, pa->pa_tag, 0x6a, reg);
> }
>
> Note the 0x6a register value in there, which will trigger the
> assertion you added. I've been looking around to see if that value
> is correct, but the only thing I found is the Linux code which does
> the same as us (maybe we borrowed the fix from there in the first
> place, or the other way around).
The fix came indeed from the Linux driver, see PR kern/30531 for
details.
Do I understand correctly that this won't work on all architectures
anyway?
Kind regards
--
Matthias Scheler http://zhadum.org.uk/