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

Re: pool (was Re: options DIAGNOSTIC)



> pa == va とわかってるのに vtophys するのはもったいないなーというの

それはよ〜くわかります。が、 pa == va を暗黙的仮定にしてしまうのも
なんかイヤで ;-)

> と、マクロで隠すと pmreal == pmap というのが直接見えなくなるので
> pmreal を残したままにすることを正当化できる:-)というのが目的です。

ただ、 PMAP_UNMAP_POOLPAGE() を直接使うとまた別の文句が
出そうなので、「任意の va → BAT の va」なマクロをでっちあげて
それを pmap.h で PMAP_UNMAP_POOLPAGE() に定義して、もう一段
かぶせて見えなくするのがよい?

#正式には va が BAT の範囲じゃなかったら pmap_extract() を呼ぶ、
#みたいなマクロにすべきでしょうけど。

> >ところで、現状の pmreal に (malloc の返す) page で map されてる
> >va を渡しても問題なく動くんでしょうか。(速度は別にして)

> 軽く試してみたところ、割り込みが入る辺りで落ちました。例外処理
> などでアドレス変換無効にしているところがあるので、

物理アドレスが必要なところもあるということですね。
ならば pmreal は削れないと思います。

ただ va でアクセスできるところなのに pmreal で参照している
箇所は修正されるべきかも。(←しつこい)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp