On 11/15/11 18:33, Miroslav Novotný:
Pokud nejde o chybu pri prepisovani prikazu, tak spravna verze prikazu je

pciconf -r -b pci0:5:0:0 0x3e

Neni nejaka moznost jak nastavit ten bit na PCI uz behem startu systemu?

Stavajicimi prostredky IMHO ne. Rekl bych, ze konfigurace bridge je spise ulohou BIOSu a OS se o to ani nesnazi. "Spravne" reseni je tedy jeho upgrade, ktery to udela spravne.

Ale jako hack to tam neni az takovy problem dodelat:

Ovladac PCI-PCI bridge je sys/dev/pci/pci_pci.c

V nem je klicova funkce pcib_attach_common()

No a do ni musis dat na vhodne misto dat sekvenci:

pci_write_config(dev, PCIR_BRIDGECTL_1, sc->bridgectl&~PCIB_BCR_ISA_ENABLE, 2);
sc->bridgectl = pci_read_config(dev, PCIR_BRIDGECTL_1, 2);


Co se toho "vhodneho mista" tyce - najdes tam "case" uvozeny poznamkou "Quirk handling" kde se resi specifika jednotlivych chipu (identifikovanych pomoci DEVID).

Jako hack specificky pro tvoji situaci by to melo stacit, genericky bych to ale v kernelu nenechaval, stejny chip muze byt pouzit i v jinem kontextu nez jako "interni bridge pro ctyrnasobnou sitovku" a tam uz to v poradku byt nemusi.

O neco cistejsi by bylo, kdyby se operace provadela jen pro ty chipy, kde si to explicitne vyzadas konfiguraci (vhodnym zapisem do device.hints), to uz ale urcite zvladnes v pripade zajmu naimplementovat sam ...

Dan


P.S. Kod shora uvedeny jsem psal "z ruky" - zadne ladeni, zadny pokus o preklad - presneji receno - vubec jsem ho nepsal do zdrojaku, jen rovnou do mailu. Nemusi tedy byt syntakticky spravne.

O moznosti, ze je funkcne nespravny a tvuj problem nevyresi nebo zpusobi jeste neco horsiho ani nemluvim.


--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem