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/