Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

動かし方について: how to run #9

Open
yushoyamaguchi opened this issue May 10, 2023 · 5 comments
Open

動かし方について: how to run #9

yushoyamaguchi opened this issue May 10, 2023 · 5 comments

Comments

@yushoyamaguchi
Copy link

yushoyamaguchi commented May 10, 2023

ラボユースの発表資料から興味を持ち、自分もvmmでxv6を動かしてみたいと思いました。
もしよろしければ、やり方を教えていただいてもよろしいでしょうか?
また動かすにあたって、xv6自体に何らかの改造をする必要はあるでしょうか?

p.s. ここでのやり取りは日本語で大丈夫でしょうか?
念の為、英語も書いておきます。

I am interested from the Lab Youth presentation material and would like to run xv6 with vmm myself.
If you don't mind, could you tell me how to do this?
Also, do I need to make any modifications to xv6 itself in order to run it?

@tomoyasuzuki
Copy link
Owner

しばらく気づかずすみません。

動かし方については自分もかなり忘れてしまっている部分があるので、色々と見返しながらREADMEに追記できるようにします🙇‍♂️

また、完全な xv6 バイナリを動かすことはできてなくて、シングルコアでしか動作しなかった気がします。なので、xv6 からマルチコア周りの処理を削ったバイナリを用意する必要があります。この辺りも一度動かして確認してみます。

@yushoyamaguchi
Copy link
Author

ご返信ありがとうございます。
シングルコアのxv6風OSを試しに動かしてみたところ、kvmm上で無事動作しました。

@yushoyamaguchi
Copy link
Author

@tomoyasuzuki
マルチコア対応の追加実装をしようかなと考えているのですが、もし過去に試されて困難な点を経験されていましたら、簡単に教えていただけると嬉しいです。

@tomoyasuzuki
Copy link
Owner

tomoyasuzuki commented Oct 5, 2023

返信が遅れてすみません。

確か、EBDA にあるコアの設定情報を読み込む部分をエミュレートするのが面倒だったからだと思います。xv6 ではマルチコアの初期化時に EBDA を見る(参考 )んですが、この部分の処理を変更なしで動かすには(少なくとも当時の記憶では)自分でコアの情報を用意してそれを VM のメモリ領域に書き込む必要がありました。kvmm は基本的にトラップ & エミュレートするシンプルな構成にしたくて、ハイパーバイザー側でうまく設定を用意してあげないといけない部分は省略したかったんだと思います。

@yushoyamaguchi
Copy link
Author

なるほど。
ご回答ありがとうございました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants