[OSy] Adresy I/O zarizeni

Filip Pavliš f.pavlis at gmail.com
Tue Nov 13 21:02:29 CET 2012


Dobrý den,

rád bych se zeptal na jaké adresy bychom měli umístit I/O zařízení. Ve
chvíli, kdy chceme testovat fyzickou paměť za adresou 0x200.. tedy alokovat
si nad 500Mb, tak máme problém. Protože jak jsem si již vyzkoušel, tak
pokud se paměť překrývá s printerem, tak printer netiskne. Původní nápad
byl, nechat paměť i zařízení, aby se překrývali a pak jen vyloučit využití
rámce v němž se zařízení nachází. A to právě bohužel nejde z toho důvodu,
že paměť má prioritu před zařízením a bez jakéhokoliv studu krade tiskárně
písmenka. Další variantou tedy bylo vytvořit paměti dvě a mezi ně vsunout
zařízení. Otázkou je, zda je to rozumné a jak na to vůbec zareaguje msim?
Například kvůli zarovnání. Třetí variantou bylo, dát zařízení úplně na
konec virt. adresového prostoru, což by ale vedlo k využití TLB pro každý
zápis, a to jsme zavrhli jako první. Nakonec mě ještě napadlo posunout
kernel z adresy nula o něco dál a před něj dát zařízení, ale to není moc
škálovatelné a navíc i pracné. Budu vděčný za nějaký hint.

Děkuji,

s pozdravem F.Pavliš.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://d3s.mff.cuni.cz/pipermail/nswi004/attachments/20121113/7484b3ee/attachment.html>


More information about the NSWI004 mailing list