2009-07-20 7 views
3

J'ai une machine Vista x64 avec 6 Go de RAM, et j'essaie de tester qu'un pilote de périphérique fonctionne correctement lorsque vous faites du DMA à des adresses physiques supérieures à 4 Go.Un moyen d'allouer de la mémoire physique au-dessus de 4 Go sur Vista x64?

J'ai trouvé le AllocationPreference registry key, qui est censé "forcer les allocations à allouer des adresses plus élevées avant les adresses inférieures", mais la page n'est pas claire si cela affecte les adresses physiques ou seulement les adresses virtuelles. Basé sur le comportement de mon code, je soupçonne que cela n'affecte que les adresses virtuelles. Je suis également tombé sur l'option de démarrage nolowmem, qui est supposée charger "le système d'exploitation, les pilotes de périphériques et toutes les applications dans des adresses supérieures à la limite de 4 Go", mais il ne semble que pour 32 bits versions de Windows. J'ai essayé d'activer sur Vista x64, mais la machine ne démarre pas. Je viens de mettre en place cette machine il y a quelques jours, donc il n'y avait pas de service packs; J'installe actuellement ceux-ci pour voir si cela est dû à un bogue de Windows.

Existe-t-il un moyen de forcer Windows à allouer des adresses virtuelles supérieures à 4 Go soutenues par des adresses physiques supérieures à 4 Go?

+0

Est-ce un pilote de périphérique que vous développez ou essayez-vous de tester un pilote fourni avec le système? –

+0

En développement. Cependant, je suis encore un peu nouveau dans le développement des pilotes. – mmebane

+0

Voir: http://stackoverflow.com/questions/1156271/any-way-to-allocate-physical-memory-above-4gb-on-vista-x64/1156415#1156415 et ignorer ma réponse précédente ici. – MSN

Répondre

3
+0

Je pourrais utiliser cela. Cependant, il semble que la mise à jour de la machine vers SP2 lui permet de démarrer avec NOLOWMEM, et le gestionnaire de tâches ne rapporte que 1,6 Go de mémoire physique disponible. Donc je vais faire un peu de test avec ça en premier. – mmebane

Questions connexes