2017-11-06 6 views
0

XV6のユーザー容量は2 GB、カーネル容量は2 GBです。私はそれをユーザー空間の場合は3 GBに、カーネル空間の場合は1 GBに変更したいと考えています。この変更をどのように実装する必要がありますか? 私はmemlayout.hでKERNBASE + PHYSTOPを修正しようとしましたが、リンカースクリプトkernel.ldで開始アドレスを修正しました。しかしそれは失敗した。xv6のユーザースペースとカーネルスペースを変更するにはどうすればいいですか?

答えて

1

あなたのアプローチは間違っていません。 QEMUを使ってxv6を実行していますか?その場合は、Makefileを変更してメモリを4GB以上に増やしてください。 ファイルの215行目で-mオプションを使用してメモリを設定する場所があります。デフォルトは512 GBです。

QEMUOPTS = -drive file=fs.img,index=1,media=disk,format=raw -drive file=xv6.img,index=0,media=disk,format=raw -smp $(CPUS) -m 512 $(QEMUEXTRA) 

次に、memlayout.hファイルとkernel.ldファイルを変更します。 おそらく動作するはずです。 xv6が動作しない場合は、失敗した部分を教えてください。変更したmemlayout.hとkernel.ldファイルも表示してください。

関連する問題