Domanda

Ho una macchina Vista x64 con 6 GB di RAM, e sto cercando di verificare che un driver di periferica funzioni correttamente quando si fa DMA per gli indirizzi fisici sopra 4GB.

Ho trovato il AllocationPreference chiave di registro , che dovrebbe "forza allocazioni allocare indirizzi superiori prima indirizzi inferiori", ma la pagina non è chiaro se questo influisce indirizzi fisici o solo indirizzi virtuali. Sulla base del comportamento del mio codice, ho il sospetto che sia solo interessando indirizzi virtuali.

Ho anche incontrato l'opzione di avvio nolowmem, che dovrebbe caricare "il sistema operativo, driver di periferica, e tutte le applicazioni in indirizzi al di sopra del limite di 4 GB," ma sembra essere solo per le versioni a 32 bit Windows. Ho provato consentendo su Vista x64, ma la macchina non mi avviarsi. Ho appena creato questa macchina un paio di giorni fa, quindi non ha avuto alcun service pack; Attualmente sto installando quelli per vedere se questo è dovuto a un bug di Windows.

C'è un modo per forzare Windows per assegnare gli indirizzi virtuali di cui sopra 4GB garantiti da indirizzi fisici sopra 4GB?

È stato utile?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top