2009-07-20 7 views
3

Ich habe eine Vista x64-Maschine mit 6 GB RAM, und ich versuche zu testen, dass ein Gerätetreiber ordnungsgemäß funktioniert, wenn DMA zu physischen Adressen über 4 GB.Gibt es eine Möglichkeit, physischen Speicher über 4 GB auf Vista x64 zuzuweisen?

Ich habe die AllocationPreference registry key gefunden, die "Zuweisungen von höheren Adressen vor niedrigeren Adressen zuweisen soll", aber die Seite ist nicht klar, ob dies physische Adressen oder nur virtuelle Adressen betrifft. Aufgrund des Verhaltens meines Codes vermute ich, dass dies nur virtuelle Adressen betrifft.

Ich habe auch die Nolowmem-Boot-Option gefunden, die "das Betriebssystem, Gerätetreiber und alle Anwendungen in Adressen über der Grenze von 4 GB laden soll", aber es scheint nur für 32-Bit zu sein Versionen von Windows. Ich habe versucht, auf Vista x64 zu aktivieren, aber die Maschine würde nicht hochfahren. Ich habe diese Maschine vor ein paar Tagen eingerichtet, also hatte sie keine Service Packs; Ich installiere gerade diese, um zu sehen, ob dies auf einen Windows-Fehler zurückzuführen ist.

Gibt es eine Möglichkeit, Windows zu zwingen, virtuelle Adressen über 4 GB zuzuweisen, die von physischen Adressen über 4 GB unterstützt werden?

+0

Ist dies ein Gerätetreiber, den Sie entwickeln, oder möchten Sie einen Treiber testen, der mit dem System geliefert wurde? –

+0

Entwickeln. Für die Treiberentwicklung bin ich allerdings noch ziemlich neu. – mmebane

+0

Siehe: http://StackOverflow.com/Questions/1156271/any-way-to-allocate-physical-memory-above-4gb-on-vista-x64/1156415#1156415 und ignorieren meine vorherige Antwort hier. – MSN

Antwort

3
+0

Ich könnte das verwenden. Es sieht jedoch so aus, als ob das Aktualisieren des Computers auf SP2 es ermöglicht, mit NOLOWMEM zu booten, und der Task-Manager meldet nur 1,6 GB verfügbaren physischen Arbeitsspeichers. Also werde ich ein bisschen testen mit diesem ersten. – mmebane

Verwandte Themen