[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VRAM disk



In message <200102040657.f146vlB21841@mirage.ceres.dti.ne.jp> you write:
>本題の VRAM disk についてですが、個人的な感想としては
>余ってる VRAM をいきなりアドレス指定して md として
>使うというのはなんだか違和感があります。
>
>余ってるなら console の高速化のために使えないのだろうかとか、
>メモリとして使うなら VM に足せばいいんじゃないだろうかとか、
>ディスクとして使うなら fb の下になにかデバイスを attach して
>そこ経由で使うほうがいいんじゃないだろうかとか……
>(実装を見てないので、あくまでも感想です :-)

VRAM ってどうやらサスペンドから復帰した時にぐちゃぐちゃになるみたいで、
サスペンド前にどこかに退避してやる必要があります。とは言え、退避できる
場所があるくらいなら最初から RAM disk なんて要らないわけでして、
malloc()してメモリに退避するしかありません。

# ちなみに、mq200_hardpower() で RESUME 時に restore すると
# しばしば書き込みに失敗します。
#                delay(100000); /* XXX */
# の値を増やす必要があるのかも知れません。

でも、2M 弱の malloc()に必ず成功するとも限らないだろうし…、というわけ
で、RAM disk でひっそり使ってやるくらいが穏当ではないかと。

もっとも、MQ200 の power management についてあんまり理解してないので、
もしかしたら、もっと良い方法があるのかも知れません。

今の実装では、RAM disk を使いたい時に、画面モードをソフトスクロールし
かしないモードに変更して ioctl で pseudo device を作るという感じになっ
ています。detach して画面モードを元に戻せば、もとどおりになります。
---
井上義也