Re: Rechner friert ein.

From: Bernd Walter <ticso(at)cicely8.cicely.de>
Date: Mon, 4 Nov 2002 01:25:14 +0100

On Mon, Nov 04, 2002 at 01:05:53AM +0100, Torsten Krah wrote:
> Also zum Bios Update habe ich ja grad was geschrieben, hat nix gebracht,
> grad getestet.

Was ist das für ein Boardhersteller?

> Zum Workaround, also beim Booten kommt die Meldung:
>
> "Correcting VIA config for southbridge data corruption bug

OK.

> Er mag zwar was korrigieren das hilft aber nix, laut ata-pci.c macht er das:
>
> -------------------------------------------------------------------------
> ata_via_southbridge_fixup(device_t dev)
> {
> device_t *children;
> int nchildren, i;
>
> if (device_get_children(device_get_parent(dev), &children, &nchildren))
> return;
>
> for (i = 0; i < nchildren; i++) {
> if (pci_get_devid(children[i]) == 0x03051106 || /* VIA VT8363 */
> pci_get_devid(children[i]) == 0x03911106 || /* VIA VT8371 */
> pci_get_devid(children[i]) == 0x31021106 || /* VIA VT8662 */
> pci_get_devid(children[i]) == 0x31121106) { /* VIA VT8361 */
> u_int8_t reg76 = pci_read_config(children[i], 0x76, 1);
>
> if ((reg76 & 0xf0) != 0xd0) {
> device_printf(dev,
> "Correcting VIA config for southbridge data corruption bug\n");
> pci_write_config(children[i], 0x75, 0x80, 1);
> pci_write_config(children[i], 0x76, (reg76 & 0x0f) | 0xd0, 1);
> }
> break;
> }
> }
> free(children, M_TEMP);
> }
> -------------------------------------------------------------------------
>
> Er macht wie ich was mit dem Register 76h (zusätzlich nochwas mit dem 75er,
> keine Ahnung was er da will).
> Schonmal gut zu wissen das es möglich ist sie zu verändern, wenn ich auch
> nen neuen Kernel für machen müsste.
>
> Also zum Register, was muss ich machen um an Register 76h eine 52h
> reinzuschreiben? Verstehe den Quelltext dort nicht ganz, bzw. macht er das
> schon ... denn wenn ja, wars die letzte Hoffnung die ich hatte.

Der setzt keinen festen Wert, sondern den modifizierten alten.
Das Ergebniss ist mit Sicherheit anders - keine Ahnung, was die
einzelnen Bits in dem Register bedeuten, aber man bekommt die Chipset
Dokumentation von der VIA Webseite als PDF.
Du kannst den festen Wert setzen, indem du die 0x76 wie die 0x75 Zeile
schreibst - halt nur mit 0x52 anstelle von 0x80 und natürlich mit 0x76.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso(at)cicely.de         Usergroup           info(at)cosmo-project.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 04 Nov 2002 - 01:25:26 CET

search this site