Dobry den,<div><br></div><div>chcel by som sa opytat, ci je potrebne zaoberat sa pripadom, kedy by som mal vacsiu fyzicku pamat ako je adresovatelna pamat z rozsahu KSEG0. </div><div>Ak ano, je to mozne simulovat v MSIMe? Napriklad pri nastaveni velkosti pamate, ktora presahuje adresu kde je loader, chybaju potrebne instrukcie:</div>
<div><br></div><div><div>add rwm mainmem 0</div><div>mainmem generic 513M</div><div>mainmem fill 2</div><div>mainmem load "kernel/kernel.bin"</div><div><br></div><div>add rom startmem 0x1FC00000</div><div>startmem generic 1k</div>
<div>startmem load "kernel/loader.bin"</div></div><div> </div><div><div>$msim -i -t</div><div>[msim] </div><div> 0  BFC00000    srl   0, v0, 0x08       # cp0_status: 0x00000000->0x00400004, cp0_prid: 0x00000000->0x00000400</div>
<div>[msim] </div><div> 0  BFC00004    srl   0, v0, 0x08         </div><div>[msim] </div><div> 0  BFC00008    srl   0, v0, 0x08       </div></div><div><br></div><div>Kalisto zistuje velkost pamate zapisom hodnoty na adresu a jej opatovnym nacitanim. V pripade velkej pamate by som takymto sposobom mohol zapisovat aj do zariadeni, ktore su mapovane na adresy pristupne z KSEG0, napriklad klavesnica, dorder device a podobne. Zaroven by som musel prehladavat aj segmenty pristupne cez TLB. Je mozne ziskat velkost pamate aj inym sposobom?</div>
<div><br></div><div>Dakujem.</div><div><br></div><div>S pozdravom</div><div>Frantisek Kacmarik</div>