Werte in PCI Devices anpassen, wie mit Offset umgehen?

Knogle

Lieutenant
Registriert
Mai 2014
Beiträge
682
Ich gruesse euch.

Nun mal zu mir, ich beschaeftige mich seit einiger Zeit sehr tiefgehend mit dem Sockel 1366 und der Hardware.

Ich bastle nun seit etwa 3 Jahren viel daran rum, vorallem um nicht genutzte Funktionen zu nutzen, wie z.B. das Ersetzen des BCLKs durch alternative Takte oder "Freerun" Mode.

Nun stosse ich auf ein massiveres Problem, was sich fuer mich nicht so einfach loesen laesst.

Nun zur Vorgeschichte:

Ich moechte auf verschiedenen Boards overclocking betreiben, darunter ein MSI X58 Pro-E und Supermicro X8DTI-F.


Jedoch stosse ich aufgrund der hohen Multis des QPI Links, immer bei etwa 220MHz BCLK an die Grenze des QPIs bei etwa 4000MHz/8GT/s QPI Link Speed.

Ich wuerde gerne den QPI Link Speed anpassen, jedoch weiss ich nicht wo sich diser befindet

C1.png


Dort gibt es einen Register namens LINK_SPEED, jedoch bezweifle ich dass dieser irgendwas mit der Frequenz zutun hat, da es sich dabei nur um ein einzelnes Bit handelt.

Also Problem: Wie passe ich den QPI ausserhalb des BIOS, via Register an?

Taktgeber konnte ich bereits ausschliessen.

Nun das andere Problem
Ich habe zuvor nie in PCI Devices geschrieben, sonst nur Clock Generator, aber nun ist das Problem folgendes:

Wie kriege ich das mit den Offsets hin? Ich verstehe davon nicht viel was ich dann tun muss, wenn da zum Beispiel steht: Device 02 Bus FF Func 2,3 Offset 60h
Beispielsweise will ich in den PCI Device mit folgenden CMD schreiben

eWPCI16 <BDF> <offset> <value>
Write PCI word (16-bit) data (Note1)

BDF wird dabei durch folgendes ersetzt

(bus# * 0x100) + (dev# * 0x8) + fun#

Also ergibt sich aus meinem logischen Verstaendnis

bus# * 0xFF) + (dev# * 0x2) + (fun# *0x2) 0x60 und bei <value> weiss ich am Ende nicht mehr weiter, ob ich da nun Bits eintragen soll, oder das komplette Byte wie z.B. 1101010101 oder sowas wie FF ?

Naja weiter im Text



Weiterhin steht in der Anleitung zu RW. Everything folgendes:

"user may read or write all the registers"

Jedoch scheinen die Werte, den QPI betreffend, schreibgeschuetzt zu sein, da nach Aenderung wieder der alte Wert gesetzt wird, jedoch habe ich mal analysiert was sich in den Registern aendert wenn ich von Slow Mode, zu normalem 4,8GT/s wechsle


Siehe dazu
Unterschied.jpg
dort sind die veraenderten Werte rot markiert

Wenn ich die Werte uebernehmen will klappt es ebenfalls nicht, weshalb ich denke das es so ein "Lock Bit" gibt.

Ist es irgendwie moeglich dieses Bit zu finden, und ist der Rest auch machbar?


MfG
 
Zurück
Oben