[OSy] Adresy I/O zarizeni

Petr Tůma petr.tuma at d3s.mff.cuni.cz
Tue Nov 13 22:11:02 CET 2012


Dobry vecer,

umisteni nekolika zarizeni (nebo zarizeni a pameti) na tytez adresy je 
obecne chyba konfigurace. V realnem hardware by takove zapojeni bylo 
spatne, ze to simulator nejak osetri je sice (svym zpusobem) fajn, 
nicmene stejne tak dobre by mohl jen ohlasit chybu konfigurace.

Ja bych tedy na vasem miste hledal pro zarizeni takove adresy, ktere co 
nejmene omezuji souvisly prostor pro pamet (a samozrejme nepridaji moc 
komplikaci s mapovanim).

Reseni s konfiguraci, ktera ma pamet ve vice blocich, je samozrejme take 
mozne. V takovem pripade je asi uzitecne zkusit definovat nejaka 
obecnejsi pravidla, kde vsude system bude pamet hledat. Zase premyslejte 
o hardware, napriklad je pravdepodobne, ze pametovy modul velikosti 2^X 
bude zacinat na adrese zarovnane na X bitu.

Petr Tuma


On 13/11/12 21:02, Filip Pavliš wrote:
> 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š.
>
>
> _______________________________________________
> OSy mailing list
> OSy at d3s.mff.cuni.cz
> https://d3s.mff.cuni.cz/mailman/listinfo/osy
>




More information about the NSWI004 mailing list